yuanyiming 2 anos atrás
pai
commit
d34655ae5b

+ 45 - 48
src/components/tool/getWord.js

@@ -376,15 +376,15 @@ function MakerStudentWord(data,fund){
                 ing:data['typeName']==0?"√":"□", //创意组
                 ed:data['typeName']==0?"□":"√",  //初创组
                 // college:data['name'],//
-                mone:data['multiSelectProject'].indexOf(1)!=-1?"√":"□",    //优先支持项目
-                mtwo:data['multiSelectProject'].indexOf(2)!=-1?"√":"□",
-                mthree:data['multiSelectProject'].indexOf(3)!=-1?"√":"□",
-                mfour:data['multiSelectProject'].indexOf(4)!=-1?"√":"□",
+                mone:data['val.checkList'].indexOf(1)!=-1?"√":"□",    //优先支持项目
+                mtwo:data['val.checkList'].indexOf(2)!=-1?"√":"□",
+                mthree:data['val.checkList'].indexOf(3)!=-1?"√":"□",
+                mfour:data['val.checkList'].indexOf(4)!=-1?"√":"□",
 
-                sone:data['schoolRemould']==1?"√":"□", //美丽校园改造项目
-                stwo:data['schoolRemould']==2?"√":"□",
-                sthree:data['schoolRemould']==3?"√":"□",
-                sfour:data['schoolRemould']==4?"√":"□",
+                sone:data['schoolRadio']==1?"√":"□", //美丽校园改造项目
+                stwo:data['schoolRadio']==2?"√":"□",
+                sthree:data['schoolRadio']==3?"√":"□",
+                sfour:data['schoolRadio']==4?"√":"□",
 
                 stu:data['projectApplyperson']==1?"√":"□", //项目申请人
                 leg:data['projectApplyperson']==1?"□":"√",  
@@ -461,52 +461,49 @@ function getWord(val){
         let zip=new PizZip(content);
 
         let doc=new Docxtemplater().loadZip(zip);
-        return console.log(val);
-
-        let studentS=JSON.parse(val.course_student)
-        let teacherS=JSON.parse(val.course_teacher)
-        let introduce=JSON.parse(val.chapters)
-        let multiSelectProject=JSON.parse(val.multiSelectProject)
+        // return console.log(val);
 
+        // let FundAll=
+        // return console.log(val);
 
         //填写数据
         doc.setData({
             nowTime:getNowDate(1),//申请日期
-            projectName:val.title,
-            ing:val.typeName=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'√':'□',
-            ed:val.typeName=='f3068e26-f51d-11ed-a3f6-509a4c5b67cf'?'√':'□',
-            mone:multiSelectProject.includes('1')?'√':'□',
-            mtwo:multiSelectProject.includes('2')?'√':'□',
-            mthree:multiSelectProject.includes('3')?'√':'□',
-            mfour:multiSelectProject.includes('4')?'√':'□',
-            sone:val.schoolRemould.includes('1')?'√':'□',
-            stwo:val.schoolRemould.includes('2')?'√':'□',
-            sthree:val.schoolRemould.includes('3')?'√':'□',
-            sfour:val.schoolRemould.includes('4')?'√':'□',
-            stu:val.projectApplyperson.includes('1')?'√':'□',
-            leg:val.projectApplyperson.includes('2')?'√':'□',
-            appPeason:val.pro_leader,
-            school:val.name,
-            tel:val.phone,
-            begin_at:val.begin_at,
-            plannedEnd_at:val.plannedEnd_at,
-            allnum:studentS.length+teacherS.length,
-            snum:studentS.length,
-            tnum:teacherS.length,
-            student:studentS,
-            teacher:teacherS,
+            projectName:val.projectName,
+            ing:val.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'√':'□',
+            ed:val.radio=='f3068e26-f51d-11ed-a3f6-509a4c5b67cf'?'√':'□',
+            mone:val.checkList.includes('1')?'√':'□',
+            mtwo:val.checkList.includes('2')?'√':'□',
+            mthree:val.checkList.includes('3')?'√':'□',
+            mfour:val.checkList.includes('4')?'√':'□',
+            sone:val.schoolRadio.includes('1')?'√':'□',
+            stwo:val.schoolRadio.includes('2')?'√':'□',
+            sthree:val.schoolRadio.includes('3')?'√':'□',
+            sfour:val.schoolRadio.includes('4')?'√':'□',
+            stu:val.applyParsonRadio.includes('1')?'√':'□',
+            leg:val.applyParsonRadio.includes('2')?'√':'□',
+            appPeason:val.applyParsonName,
+            school:val.dp,
+            tel:val.tel,
+            begin_at:val.btime,
+            plannedEnd_at:val.etime,
+            allnum:val.studentS.length+val.teacherS.length,
+            snum:val.studentS.length,
+            tnum:val.teacherS.length,
+            student:val.studentS,
+            teacher:val.teacherS,
             brief:val.brief,
-            back:introduce.back,
-            innovate:introduce.innovate,
-            path:introduce.path,
-            scene:introduce.scene,
-            worth:introduce.worth,
-            team:introduce.team,
-            cost:introduce.cost,
-            expectResults:introduce.expectResults,
-            expectResultsTeacher:introduce.expectResultsTeacher,
-            expectConversion:introduce.expectConversion,
-            plan:introduce.plan,
+            back:val.introduce.back,
+            innovate:val.introduce.innovate,
+            path:val.introduce.path,
+            scene:val.introduce.scene,
+            worth:val.introduce.worth,
+            team:val.introduce.team,
+            cost:val.introduce.cost,
+            expectResults:val.introduce.expectResults,
+            expectResultsTeacher:val.introduce.expectResultsTeacher,
+            expectConversion:val.introduce.expectConversion,
+            plan:val.introduce.plan,
             total:val.total,
             facility:val.fund.facility,
             materials:val.fund.materials,

+ 2 - 2
src/config/config.js

@@ -23,8 +23,8 @@ const store = new Vuex.Store({
         // api: 'https://pbl.cocorobo.cn/api/pbl/',
         // socket: "https://poll.cocorobo.cn",
         // socket: "http://localhost:1473",
-        api: 'http://10.3.16.226:7003/api',
-        // api: 'http://127.0.0.1:7003/api',
+        // api: 'http://10.3.16.226:7003/api',
+        api: 'http://127.0.0.1:7003/api',
         // api: 'http://10.3.13.84:7003/api',
 
     },

+ 988 - 0
src/views/projectApply/components/studentProjectWordDetail.vue

@@ -0,0 +1,988 @@
+<template>
+    <div id="studentProjectWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="date">申请日期:{{wordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+    
+          <tr id="projectName">
+            <td colspan="2" ref="projectName">项目名称</td><td colspan="5" >
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  
+                  placeholder="请输入项目名称"
+                  v-model="wordData.projectName">
+                </el-input>
+            </td>
+          </tr>
+          <tr id="radio">
+            <td rowspan="2" colspan="2" ref="radio">项目分组</td><td>
+              <el-radio v-model="wordData.radio" label="ed917c55-f51d-11ed-a3f6-509a4c5b67cf">创意组</el-radio>
+            </td>
+            <td colspan="4">立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。</td>
+          </tr> 
+          <tr>
+            <td>
+              <el-radio v-model="wordData.radio" label="f3068e26-f51d-11ed-a3f6-509a4c5b67cf">初创组</el-radio>
+            </td>
+            <td colspan="4">立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。</td>
+          </tr> 
+          <tr id="checkList">
+            <td colspan="2" ref="checkList">优先支持项目(可多选)</td> <td colspan="5">
+              <el-checkbox-group v-model="wordData.checkList">
+                <el-checkbox label="1">大赛选拔项目</el-checkbox>
+                <el-checkbox label="2">大赛选拔项目</el-checkbox>
+                <el-checkbox label="3">社会征集项目</el-checkbox>
+                <el-checkbox label="4">产业命题项目</el-checkbox>
+              </el-checkbox-group>
+            </td>
+          </tr>
+          <tr id="schoolRadio">
+            <td colspan="2" ref="schoolRadio">美丽校园改造项目(特色项目)</td> <td colspan="5">
+              <el-radio v-model="wordData.schoolRadio" label="1">校园安全项目</el-radio>
+              <el-radio v-model="wordData.schoolRadio" label="2">环境治理项目</el-radio>
+              <el-radio v-model="wordData.schoolRadio" label="3">校园服务项目</el-radio>
+              <el-radio v-model="wordData.schoolRadio" label="4">文创装置项目</el-radio>
+            </td>
+          </tr>
+          <tr id="applyParsonRadio">
+            <td colspan="2" ref="applyParsonRadio" >项 目 申 请 人</td><td colspan="2">
+              <el-radio v-model="wordData.applyParsonRadio" label="1">在校学生</el-radio>
+            </td><td colspan="3">
+              <el-radio v-model="wordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio>
+            </td>
+          </tr>
+          <tr id="applyParsonName">
+            <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1">
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入姓名"
+                  v-model="wordData.applyParsonName">
+                </el-input>
+            </td>
+            <td ref="college">参与学院/公司</td>
+            <td>
+              <el-select v-model="wordData.college" style="width: 100%;" placeholder="请选择所在学院">
+                  <el-option
+                    v-for="item in DepartmentData"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id">
+                  </el-option>
+                </el-select>
+            </td><td ref="tel">联系电话</td><td>
+                <el-input type="number" v-model="wordData.tel"  @blur="getText(wordData.tel)" placeholder="请输入联系方式"></el-input>
+            </td>
+          </tr>
+          <tr id="beginTime">
+            <td colspan="2" ref="beginTime">项 目 起 始 时 间</td>
+            <td colspan="2">
+              <el-date-picker
+                  v-model="wordData.beginTime"
+                  type="date"
+                  placeholder="请选择项目计划完成时间"
+                  prefix-icon="none"
+                  value-format="yyyy-MM-dd">
+                  <!-- value-format="yyyy-MM-dd HH:mm:ss"> -->
+    
+                </el-date-picker></td>
+                <td ref="endTime">计划完成时间</td>
+                <td colspan="2">
+                  <el-date-picker
+                    v-model="wordData.endTime"
+                    type="date"
+                    placeholder="请选择项目计划完成时间"
+                    prefix-icon="none"
+                    value-format="yyyy-MM-dd">
+                    <!-- value-format="yyyy-MM-dd HH:mm:ss"> -->
+    
+                  </el-date-picker>
+              </td>
+          </tr>
+          <tr>
+            <td colspan="2">项 目 组 人 数</td>
+            <td>
+              
+                {{ wordData.studentS.length + wordData.teacherS.length }}
+    
+              </td>
+            <td>参与学生人数</td>
+            <td>
+              
+                {{ wordData.studentS.length }}
+              </td>
+              <td>参与教师人数</td>
+              <td>
+                {{ wordData.teacherS.length }}
+              </td>
+          </tr>
+          <tr id="studentS">
+            <td :rowspan="wordData.studentS.length+1" ref="studentS">项目组学生成员(至少2个学院以上学生构成,团队5人以上)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+          </tr>
+          <tr style="position: relative;" v-for="(item,index) in wordData.studentS" :key="index+'a'">
+            <td>
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入姓名"
+                  v-model="item.name">
+                </el-input>
+            </td>
+            <td colspan="2">
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入所在学院/部门/专业"
+                  v-model="item.collage">
+                </el-input>
+            </td>
+            <td colspan="3">
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入项目组角色分工"
+                  v-model="item.work">
+                </el-input>
+            </td>
+            <div class="operate">
+                    <el-button @click="addStudent" v-if="wordData.studentS.length==index+1" type="primary" size="mini">添加</el-button>
+                    <el-button v-if="wordData.studentS.length>6" @click="DelStudent(index)" type="primary" size="mini">删除</el-button>
+            </div>
+          </tr>
+          <tr id="teacherS">
+            <td :rowspan="wordData.teacherS.length+1" ref="teacherS">项目组指导教师(2个学院以上,团队2-3人)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+          </tr>
+          <tr style="position: relative !important;" v-for="(item,index) in wordData.teacherS" :key="index+'b'">
+            <td>
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入姓名"
+                  v-model="item.name">
+                </el-input>
+            </td>
+            <td colspan="2">
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入所在学院/部门/专业"
+                  v-model="item.collage">
+                </el-input>
+            </td>
+            <td colspan="3">
+              <el-input
+                  type="textarea"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="请输入项目组角色分工"
+                  v-model="item.work">
+                </el-input>
+            </td>
+            <div class="operate">
+                    <el-button @click="addTeacher" v-if="wordData.teacherS.length==index+1" type="primary" size="mini">添加</el-button>
+                    <el-button v-if="wordData.teacherS.length!=2" @click="DelTeacher(index)" type="primary" size="mini">删除</el-button>
+            </div>
+            <!-- <div style="position: absolute;">
+              <div>+</div>
+              <div>_</div>
+            </div> -->
+          </tr>
+          <tr id="brief">
+            <td rowspan="5" ref="brief">研发内容</td><td style="text-align: left;position: relative;" colspan="6" class="textLeft">
+              <p>项目简介(200-300字)</p>
+                <el-input
+                  type="textarea"
+                  :rows="6"
+                  resize="none"
+                  placeholder="请输入项目简介"
+                  style="width: 100%;"
+                  v-model="wordData.brief">
+                </el-input>
+                <div style="color: #ccc;position: absolute;right: 60px;bottom: 10px;">{{ wordData.brief.length }}/300</div>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目研发背景</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.back">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目创新点</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.innovate">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>技术研发路线</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.path">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目应用场景 </p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.scene">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td>商业模式及社会价值</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目商业模式/社会价值</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.worth">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td>团队优势</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>团队构成及优势</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.team">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td>研发成本</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>研发成本来源及构成</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.cost">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td rowspan="3">预期成果</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.expectResults">
+                </el-input>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>学生创客人才培养预期成果、数量(教师填写)</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.expectResultsTeacher">
+                </el-input>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>项目预期孵化、转化创业项目情况</p>
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.expectConversion">
+                </el-input>
+            </td>
+          </tr>
+          <tr>
+            <td>实施计划</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 6, maxRows: 20}"
+                  style="width: 100%;"
+                  resize="none"
+                  v-model="wordData.introduce.plan">
+                </el-input>
+            </td>
+          </tr>
+          <tr id="fund">
+            <td rowspan="12" ref="fund">预算经费</td><td>总经费</td><td colspan="5">
+                      {{ reversedMessage==0?'':reversedMessage}}元
+            </td>
+          </tr>
+          <tr>
+            <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
+          </tr>
+          <tr>
+            <td rowspan="5">直接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">小型仪器设备费</td>
+            <td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="小型仪器设备费"
+                  v-model="wordData.fund.facility">
+                </el-input>
+            </td><td colspan="2">
+              项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">材料费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="材料费"
+                  v-model="wordData.fund.materials">
+                </el-input>
+            </td><td colspan="2">
+              项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">测试化验加工费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="测试化验加工费"
+                  v-model="wordData.fund.process">
+                </el-input>
+            </td><td colspan="2">
+              项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">项目协作费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="项目协作费"
+                  v-model="wordData.fund.assist">
+                </el-input>
+            </td><td colspan="2">
+              按合同规定支付给协作单位的费用
+            </td>
+          </tr>
+    
+          <tr>
+            <td rowspan="5">间接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">项目成果鉴定费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="项目成果鉴定费"
+                  v-model="wordData.fund.authenticate">
+                </el-input>
+            </td><td colspan="2">
+              学术会务费、评审费、鉴定费、成果集制作费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">参展参赛费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="参展参赛费"
+                  v-model="wordData.fund.match">
+                </el-input>
+            </td><td colspan="2">
+              参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">创客交流活动费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="创客交流活动费"
+                  v-model="wordData.fund.activity">
+                </el-input>
+            </td><td colspan="2">
+              创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">知识产权事务费</td><td>
+              <el-input
+                  type="number"
+                  autosize
+                  style="width: 100%;"
+                  resize="none"
+                  placeholder="知识产权事务费"
+                  v-model="wordData.fund.affair">
+                </el-input>
+            </td><td colspan="2">
+              论文版面费、专利及其他知识产权事务等费用。
+            </td>
+          </tr>
+          <tr>
+            <td>所在学院/部门意见</td><td colspan="6" class="textLeft">
+              <el-input
+                  type="textarea"
+                  :rows="7"
+                  resize="none"
+                  disabled
+                  style="width: 100%;"
+                  v-model="input">
+                </el-input>
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>财务部门意见</td><td colspan="6" class="textLeft">
+              <el-input
+                  type="textarea"
+                  :rows="7"
+                  resize="none"
+                  disabled
+                  style="width: 100%;"
+                  v-model="input">
+                </el-input>
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>创新创业学院审核意见</td><td colspan="6" class="textLeft">
+              <el-input
+                  type="textarea"
+                  :rows="7"
+                  style="background-color: #fff;width: 100%;"
+                  resize="none"
+                  disabled
+                  v-model="input">
+                </el-input>
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
+            <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
+            <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
+                <el-button style="width: 120px;margin: 20px auto;" @click="test" type="primary">立即修改</el-button>
+                <el-button style="width: 120px;margin: 20px auto;" @click="downloadDig=true" type="primary">下载文档</el-button>
+            </div>
+          </div>
+          <!-- 立即修改开始 -->
+                <el-dialog
+                    title="立即修改"
+                    :visible.sync="updatedWordDig"
+                    width="600px"
+                    class="pageSubmitData">
+                    <div class="addDialogLogo">LOGO</div>
+                    <div class="deleteContent">确定提交修改?</div>
+                    <span slot="footer" class="dialog-footer">
+                        <el-button type="primary" @click="updatedWord" class="AllDialogBtn">确认</el-button>
+                        <el-button @click="updatedWordDig=false" class="AllDialogBtn" >取消</el-button>
+                    </span>
+                </el-dialog>
+            <!-- 立即修改结束-->
+
+            <!-- 立即修改开始 -->
+            <el-dialog
+                title="下载文档"
+                :visible.sync="downloadDig"
+                width="600px"
+                class="pageSubmitData">
+                <div class="addDialogLogo">LOGO</div>
+                <div class="deleteContent">确定下载文档?</div>
+                <span slot="footer" class="dialog-footer">
+                    <el-button type="primary" @click="downloadWord" class="AllDialogBtn">确认</el-button>
+                    <el-button @click="downloadDig=false" class="AllDialogBtn" >取消</el-button>
+                </span>
+            </el-dialog>
+            <!-- 立即修改结束-->
+    </div>
+    </template>
+      
+    <script>
+    import {getNowDate} from '@/components/tool/Date.js'
+    import { getWord } from '@/components/tool/getWord';
+      export default {
+        data() {
+          return {
+      
+            input:"",
+            DepartmentData:[], //部门学院
+            downloadDig:false,  //下载文档对话框
+            updatedWordDig:false, //立即修改对话框
+            downWordData:{},
+            wordData:{
+                applicationDate:getNowDate(1),//申请日期
+                projectName:'',
+                radio:'',
+                checkList:[],
+                schoolRadio:'',
+                applyParsonRadio:'',
+                applyParsonName:'',
+                college:'',
+                tel:'',
+                beginTime:'',
+                endTime:'',
+                studentS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                teacherS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                brief:'',
+                introduce:{
+                    back:'',
+                    innovate:'',
+                    path:'',
+                    scene:'',
+                    worth:'',
+                    team:'',
+                    cost:'',
+                    expectResults:'',
+                    expectResultsTeacher:'',
+                    expectConversion:'',
+                    plan:''
+                },
+                total:'',
+                fund:{
+                    facility:'',
+                    materials:'',
+                    process:'',
+                    assist:'',
+                    authenticate:'',
+                    match:'',
+                    activity:'',
+                    affair:''
+                }
+            }
+    
+            }
+        },
+        methods: {
+          getText(value) {     //电话验证
+              let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
+              let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
+              if(!result) return this.$message.error('请输入正确联系号码格式')
+            },
+          addTeacher(){        //添加老师
+            if (this.wordData.teacherS.length>=3) return this.$message.error('指导老师最多三人')
+            this.wordData.teacherS.push({name:"",collage:"",work:""});
+          },
+          DelTeacher(index){   //删除老师
+            this.wordData.teacherS.splice(index,1)
+          },
+          addStudent(){   //添加学生
+            this.wordData.studentS.push({name:"",collage:"",work:""});
+          },
+          DelStudent(index){   //删除学生
+            this.wordData.studentS.splice(index,1)
+          },
+          getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
+            this.ajax.get(this.$store.state.api+'/SelectAllDepartment',{
+              uid:this.$store.state.userInfo.userid
+            }).then(res=>{
+              this.DepartmentData = res.data[0]
+            },err=>{
+              console.log(err);
+            })
+          },
+          getData(){
+                let param={
+                    uid:this.$store.state.userInfo.userid,
+                    cid:this.$route.query['pid']
+                }
+               
+                this.ajax
+                .get(this.$store.state.api+'/studentProjectData',param)
+                .then(res=>{
+                    let data=res.data[0][0];
+                    // console.log(data);
+                    this.wordData.projectName=data.title;
+                    this.wordData.radio=data.typeName;
+                    this.wordData.checkList=JSON.parse(data.multiSelectProject);
+                    this.wordData.schoolRadio=data.schoolRemould;
+                    this.wordData.applyParsonRadio=data.projectApplyperson;
+                    this.wordData.applyParsonName=data.pro_leader;
+                    this.wordData.college=data.classid;
+                    this.wordData.tel=data.phone;
+                    this.wordData.beginTime=data.begin_at;
+                    this.wordData.endTime=data.plannedEnd_at;
+                    this.wordData.studentS=JSON.parse(data.course_student);
+                    this.wordData.teacherS=JSON.parse(data.course_teacher);
+                    this.wordData.brief=data.brief;
+                    this.wordData.introduce=JSON.parse(data.chapters)
+                    this.wordData.fund=JSON.parse(data.money)
+                    this.downWordData={...this.wordData,...{etime:data.eTime,btime:data.bTime,dp:data.className}}
+                },err=>{
+                    console.log(err);
+                })
+            },
+          test(){
+            const cEmpty = /^\s*$/g;
+            for (let i in this.wordData){
+              // console.log(this.wordData[i],i);
+              switch(i){
+                case 'projectName':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请输入项目名称')
+                      // this.$refs.projectName.style.background='rgb(236, 141, 141)'
+                      // setTimeout(() => {
+                      //   this.$refs.projectName.style.background='#ffffff'
+                      // }, 2000);
+                      document.querySelector('#projectName').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                  break;
+                case 'radio':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择项目分组')
+                      document.querySelector('#radio').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                  break;
+                case 'checkList':
+                    if (this.wordData[i].length==0) {
+                      this.$message.error('优先支持项目')
+                      document.querySelector('#checkList').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'schoolRadio':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择美丽校园改造项目')
+                      document.querySelector('#schoolRadio').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'applyParsonRadio':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择项目申请人')
+                      document.querySelector('#applyParsonRadio').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'applyParsonName':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请填写申请人姓名')
+                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'college':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择所在学院')
+                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'tel':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请填写联系方式')
+                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'beginTime':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择项目起始时间')
+                      document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'endTime':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请选择计划完成时间')
+                      document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'studentS':
+                      let snum = 0;
+                      this.wordData[i].forEach(item=>{
+                        for(let j in item){
+                          if(cEmpty.test(item[j])){
+                            snum++;
+                          }
+                        }
+                      })
+                      if(snum>0){
+                        this.$message.error("请填完学生信息");
+                        document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                    // }
+                break;
+                case 'teacherS':
+                      let num = 0;
+                      this.wordData[i].forEach(item=>{
+                        for(let j in item){
+                          if(cEmpty.test(item[j])){
+                            num++;
+                          }
+                        }
+                      })
+                      if(num>0){
+                        this.$message.error("请填完老师信息");
+                        document.querySelector('#teacherS').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                break;
+                case 'brief':
+                    if (cEmpty.test(this.wordData[i])) {
+                      this.$message.error('请填写项目简介')
+                      document.querySelector('#brief').scrollIntoView({ behavior: "smooth" });
+                      return false
+                    }
+                break;
+                case 'fund':
+                    let mon=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
+                    if(mon==0){
+                      document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
+                      return this.$message.error('请输入经费')
+                    }
+                break;
+              }
+            }
+            this.wordData['total']=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
+            this.updatedWordDig=true
+
+          },
+          updatedWord(){
+            let param={
+                  uid:this.$store.state.userInfo.userid,//用户ID
+                  cid:this.$route.query['pid'],
+                  tid:"5e21b204-c206-11ed-a4cd-509a4c5b67cf",//特色创客空间建设项目分类ID
+                  tit:this.wordData['projectName'],//项目名称
+                  radio:this.wordData['radio'],//项目分组
+                  checkList:JSON.stringify(this.wordData['checkList']),//优先支持项目
+                  schoolRadio:this.wordData['schoolRadio'],//美丽校园改造项目
+                  applyParsonRadio:this.wordData['applyParsonRadio'],//项 目 申 请 人
+                  applyParsonName:this.wordData['applyParsonName'],//申请人姓名
+                  coid:this.wordData['college'],//学院ID,
+                  tel:this.wordData['tel'],//联系电话
+                  beh:this.wordData['beginTime'],//项目开始时间,
+                  planEnd:this.wordData['endTime'],//计划完成时间,
+                  cs:JSON.stringify(this.wordData['studentS']),//学生组,
+                  ct:JSON.stringify(this.wordData['teacherS']),//教师组,
+                  bf:this.wordData['brief'],//项目简介
+                  introduce:JSON.stringify(this.wordData['introduce']),//项目详细
+                  mon:JSON.stringify(this.wordData['fund']),//预算经费
+                  f:this.wordData['total'],//总经费
+                  apply:this.wordData['applicationDate'],//申请日期
+            }
+            console.log(param);
+            // return console.log(param);
+                this.ajax
+                .post(this.$store.state.api+'/updateStudentProjectData',param)
+                .then(res=>{
+                    console.log(res);
+                },err=>{
+                    console.log(err);
+                })
+          },
+          downloadWord(){
+            this.wordData['total']=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
+            getWord(this.downWordData)
+            this.downloadDig=false;
+          }
+        },
+        computed:{   //经费总合
+          reversedMessage: function () {
+            return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)
+          }
+        },
+        mounted(){
+          this.getProjectDepartmentData()
+          this.getData()
+        //   console.log(this.$route.query['pid']);
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #studentProjectWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding:40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            border-top: solid 1px black;
+            border-right:  solid 1px black;
+            .textLeft{
+              :deep(.el-textarea__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+            tr td{
+              border: none;
+              border-bottom: solid 1px black;
+              border-left: solid 1px black;
+              height: 50px;
+              text-align: center;
+              line-height: 30px;
+              width: 14.3%;
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(input)::-webkit-outer-spin-button,
+              :deep(input)::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+              }
+              :deep(input)[type="number"]{
+                  -moz-appearance: textfield;
+              }
+            }
+            
+        }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+        
+    }
+       
+    .operate{
+        right:-85px;
+        width:85px;
+        height: 50px;
+        display:flex;
+        justify-content:space-between;
+        align-items:center;
+        position:absolute;
+        .el-button{
+          max-width:10px;
+          display:flex;
+          justify-content:center;
+          align-items:center;
+          margin-left:10px;
+        }
+    }
+    
+    </style>

+ 2 - 2
src/views/projectApply/newStudentProjectApply.vue

@@ -98,7 +98,7 @@
       };
     },
     methods:{
-      test(){
+      test(){    //验证
         const cEmpty = /^\s*$/g;
         for (let i in this.wordData){
           // console.log(this.wordData[i],i);
@@ -233,7 +233,7 @@
         this.submitHint=true;
       },
 
-      submitWord(){
+      submitWord(){  //提交
         getProjectNo("XM").then((result)=>{
                 let pram = {
                   uid:this.$store.state.userInfo.userid,//用户ID

+ 1 - 35
src/views/projectApply/projectApplication.vue

@@ -281,26 +281,6 @@
       </el-dialog>
 <!-- 立项审核对话框结束 -->
 
-<!-- 下载申请表开始 -->
-
-      <!-- <el-dialog
-        title="下载申请表"
-        :visible.sync="downloadWord"
-        width="600px"
-        class="pageSubmitData">
-        <div class="addDialogLogo">LOGO</div>
-        <div class="deleteContent">确定下载申请表?</div>
-        <span slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="downloadProjectWord" class="AllDialogBtn">下载</el-button>
-          <el-button @click="downloadWord=false" class="AllDialogBtn" >取消</el-button>
-        </span>
-      </el-dialog> -->
-
-<!-- 下载申请表结束 -->
-
-
-
-
 
 <!-- 删除通知开始 -->
       <el-dialog
@@ -316,20 +296,7 @@
       </span>
       </el-dialog>
 <!-- 删除通知结束-->
-      <!-- 文档预览开始 -->
-        <!-- <el-dialog
-        title="文档预览"
-        :visible.sync="WordPreview"
-        width="60%"
-        class="pageSubmitData">
-        <div class="addDialogLogo">LOGO</div>
-        <MakerSpaceWordPreview v-if="PreviewTid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf' && WordPreview " :data="PreviewData"/>
-        <studentMakerProjectPreview v-if="PreviewTid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf' && WordPreview" :data="PreviewData"/>
-        <span slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="downWord" class="AllDialogBtn">下载文档</el-button>
-          <el-button @click="WordPreview = false" class="AllDialogBtn" >取消</el-button>
-        </span>
-        </el-dialog> -->
+
   </div>
 </template>
 
@@ -538,7 +505,6 @@ import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.
         },
        
         lookDetail(val,tid){    //查看详情按钮
-          // console.log(tid);
           // localStorage.setItem("pid",JSON.stringify(val))
           this.$router.push(`/projectApplicationDetailMain?tid=${tid}&pid=${val}`)
         },

+ 9 - 26
src/views/projectApply/projectApplicationDetailMain.vue

@@ -6,27 +6,16 @@
             <div class="vfpHeader">
                 <div class="titleOne">项目立项详细</div>
                 <span class="smallTitle">创客空间</span>
-                <el-button @click="back()" type="primary" size="mini">返回</el-button>
+                <el-button @click="$router.back()" type="primary" size="mini">返回</el-button>
             </div>
             <hr>
-            <!-- <div class="AppBar">
-                <div v-for="(item,index) in bar" :key="index" @click="goto(index)" class="AppBarActive">
-                    {{ item.addresses }}
-                    <div :class="index==status?item.cl:''"></div>
-                </div>
-                
-            </div> -->
         </div>
 
-        <!-- <projectApplicationDetails v-if="$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf' && status==0"></projectApplicationDetails> -->
-        <!-- <projectApplication2 v-if="$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf' && status==1"></projectApplication2> -->
-        <!-- <projectApplicationDetails v-if="$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf' && status==0"></projectApplicationDetails> -->
-        <!-- <projectApplication2 v-if="$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf' && status==1"></projectApplication2> -->
-
         <!-- 特色创客空间建设项目 -->
         <MakerSpaceWordDetail v-if="$route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <!-- <projectApplicationMakerSpaceDetails v-if="$route.query['Id']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf' && status==0"/> -->
-        <!-- <projectApplicationMakerSpaceDetails2 v-if="$route.query['Id']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf' && status==1"/> -->
+
+        <!-- 学生创客项目 -->
+        <studentProjectWordDetail v-if="$route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
   </div>
 </template>
 
@@ -36,25 +25,19 @@
 // import projectApplicationMakerSpaceDetails from './components/projectApplicationMakerSpaceDetails.vue'
 // import projectApplicationMakerSpaceDetails2 from './components/projectApplicationMakerSpaceDetails2.vue'
 import MakerSpaceWordDetail from './components/MakerSpaceWordDetail.vue';
+import studentProjectWordDetail from './components/studentProjectWordDetail.vue'
     export default {
         // components:{projectApplicationDetails,projectApplication2,projectApplicationMakerSpaceDetails,projectApplicationMakerSpaceDetails2},
-        components:{MakerSpaceWordDetail},
+        components:{MakerSpaceWordDetail,studentProjectWordDetail},
         data() {
             return {
                 status:0,
-                // bar:[
-                //     {addresses:'项目基本内容',cl:'pr1TitBass'},
-                //     {addresses:'项目详情',cl:'pr1TitBass'},
-                // ],
+                
             }
         },
         methods:{
-            back(){
-                this.$router.push('/projectApplication')
-            },
-            // goto(val){
-            //     this.status=val
-            // },
+           
+            
             
         },
         mounted(){