Procházet zdrojové kódy

根据学生创客文档修改页面

SanHQin před 1 rokem
rodič
revize
3dbfc034cf
29 změnil soubory, kde provedl 1667 přidání a 443 odebrání
  1. binární
      public/file/2024年校级学生创新创业训练计划项目申报书模版2.docx
  2. 10 4
      src/App.vue
  3. 90 0
      src/components/tool/getWord.js
  4. 2 2
      src/config/config.js
  5. 34 31
      src/permission.js
  6. 17 11
      src/views/activityManage/makerActvity.vue
  7. 47 7
      src/views/activityManage/newMarkerActivity.vue
  8. 16 1
      src/views/commission/commission.vue
  9. 26 17
      src/views/commission/components/projectBook.vue
  10. 43 11
      src/views/commission/components/projectLookstudnt.vue
  11. 54 54
      src/views/home.vue
  12. 45 5
      src/views/projectApply/MakerSpaceApply.vue
  13. 4 3
      src/views/projectApply/components/MakerSpaceWord.vue
  14. 6 6
      src/views/projectApply/components/MakerSpaceWordShow.vue
  15. 341 44
      src/views/projectApply/components/studentProjectWord.vue
  16. 314 15
      src/views/projectApply/components/studentProjectWordDetail.vue
  17. 304 48
      src/views/projectApply/components/studentProjectWordShow.vue
  18. 71 18
      src/views/projectApply/newStudentProjectApply.vue
  19. 19 6
      src/views/projectApply/projectApplication.vue
  20. 16 1
      src/views/projectManage/ProjectManagement.vue
  21. 29 19
      src/views/projectManage/components/Closingstatement.vue
  22. 2 2
      src/views/projectManage/components/MakerSpaceWordShow.vue
  23. 35 69
      src/views/projectManage/components/studentProjectWordShow.vue
  24. 22 9
      src/views/projectSettlement/components/projectSettlementBook.vue
  25. 4 1
      src/views/projectSettlement/components/studentProjectWordShow.vue
  26. 59 44
      src/views/projectSettlement/components/studentProjectWordShowNew.vue
  27. 17 3
      src/views/projectSettlement/projectSettlement.vue
  28. 24 11
      src/views/resultShow/components/resultDetail_student.vue
  29. 16 1
      src/views/resultShow/resultsShow.vue

binární
public/file/2024年校级学生创新创业训练计划项目申报书模版2.docx


+ 10 - 4
src/App.vue

@@ -383,9 +383,9 @@ hr {
   margin-top: 150px;
   margin-bottom: 120px;
   font-size: 20px;
-  width: 1200px;
-  // min-width: 1200px;
-  // max-width: 1500px;
+  // width: 1200px;
+  min-width: 1400px;
+  max-width: 1400px;
   .jc {
     font-weight: 600;
   }
@@ -417,6 +417,7 @@ hr {
       transform: translate(400px);
     }
   }
+
   .notes {
     position: absolute;
     width: 100%;
@@ -424,7 +425,8 @@ hr {
     flex-direction: column;
   }
   .checkAreaBlc {
-    margin-left: 40px;
+		text-align: left;
+		margin: 5px 0 5px 40px;
   }
   .textLeft {
     text-align: left;
@@ -432,6 +434,9 @@ hr {
     position: relative;
     max-width: 100%;
     height: 300px;
+		.reviewComments{
+			margin:30px 30px 80px 30px;
+		}
     // white-space: nowrap;
     p:first-child {
       font-weight: 600;
@@ -465,6 +470,7 @@ hr {
       text-align: center;
       line-height: 30px;
       min-width: 160px;
+			max-width: 250px;
       box-sizing: border-box;
       padding: 5px;
       :deep(.el-select .el-input .el-select__caret) {

+ 90 - 0
src/components/tool/getWord.js

@@ -529,6 +529,95 @@ function getWord(val){
     })
 }
 
+// 新学生创业项目申请表下载模板word版
+function getWord2(val){
+	JSZipUtils.getBinaryContent('./file/2024年校级学生创新创业训练计划项目申报书模版2.docx',(err,content)=>{
+			if (err) {
+					return console.log(err);
+			}
+
+			let zip=new PizZip(content);
+
+			let doc=new Docxtemplater().loadZip(zip);
+			// return console.log(val);
+			// let FundAll=
+			// return console.log(val);
+			//填写数据
+			doc.setData({
+					nowTime:getNowDate(1),//申请日期
+					projectName:val.projectName,
+					itp:val.radio=='4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5'?'☑':'□',
+					etp:val.radio=='56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5'?'☑':'□',
+					ing:val.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'☑':'□',
+					mone:val.checkList.includes('1')?'☑':'□',
+					mtwo:val.checkList.includes('2')?'☑':'□',
+					mthree:val.checkList.includes('3')?'☑':'□',
+					mfour:val.checkList.includes('4')?'☑':'□',
+					mfive:val.checkList.includes('5')?'☑':'□',
+					msix:val.checkList.includes('6')?'☑':'□',
+					mseven:val.checkList.includes('7')?'☑':'□',
+					sone:val.schoolRadio.includes('1')?'☑':'□',
+					stwo:val.schoolRadio.includes('2')?'☑':'□',
+					sthree:val.schoolRadio.includes('3')?'☑':'□',
+					sfour:val.schoolRadio.includes('4')?'☑':'□',
+					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:val.introduce.back.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					innovate:val.introduce.innovate.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					path:val.introduce.path.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					scene:val.introduce.scene.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					worth:val.introduce.worth.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					team:val.introduce.team.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					cost:val.introduce.cost.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					expectResults:val.introduce.expectResults.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					expectResultsTeacher:val.introduce.expectResultsTeacher.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					expectConversion:val.introduce.expectConversion.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					plan:val.introduce.plan.replace(/<\/?.+?\/?>/g,"").replace(/&nbsp;/gi,' '),
+					total:val.fund.device*1 + val.fund.Material*1+val.fund.processing*1+ val.fund.Collaboration*1+val.fund.APPRAISAL*1+ val.fund.entery*1+val.fund.activities*1+val.fund.Transaction*1,
+					facility:val.fund.device,
+					materials:val.fund.Material,
+					process:val.fund.processing,
+					assist:val.fund.Collaboration,
+					authenticate:val.fund.APPRAISAL,
+					match:val.fund.entery,
+					activity:val.fund.activities,
+					affair:val.fund.Transaction,
+					signOne:val.signData.filter(i=>i.type==4)[0]?val.signData.filter(i=>i.type==4)[0].text:'',
+					signOnePerson:val.signData.filter(i=>i.type==4)[0]?val.signData.filter(i=>i.type==4)[0].username:'',
+					signOneTime:val.signData.filter(i=>i.type==4)[0]?val.signData.filter(i=>i.type==4)[0].time:'',
+
+					signTwo:val.signData.filter(i=>i.type==0)[0]?val.signData.filter(i=>i.type==0)[0].text:'',
+					signTwoPerson:val.signData.filter(i=>i.type==0)[0]?val.signData.filter(i=>i.type==0)[0].username:'',
+					signTwoTime:val.signData.filter(i=>i.type==0)[0]?val.signData.filter(i=>i.type==0)[0].time:'',
+
+					signThree:val.signData.filter(i=>i.type==3)[0]?val.signData.filter(i=>i.type==3)[0].text:'',
+					signThreePerson:val.signData.filter(i=>i.type==3)[0]?val.signData.filter(i=>i.type==3)[0].username:'',
+					signThreeTime:val.signData.filter(i=>i.type==3)[0]?val.signData.filter(i=>i.type==3)[0].time:'',
+			})
+
+			// 进行填充
+			doc.render()
+
+			let out=doc.getZip().generate({
+					type:'blob',
+					mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+			})
+
+			// fs.writeFileSync(path.resolve(__dirname, "output.docx"), buf);
+			saveAs(out,'2024年校级学生创新创业训练计划项目申报书.docx')
+
+	})
+}
+
 //活动管理的申请表
 function ActivityWord(data){
     let _url = "./file/附件 2:创客专项资金项目申请表创客活动模板.docx";
@@ -668,4 +757,5 @@ export{
     ActivityWord,
     getWord,
     makerActivityWord,
+		getWord2
 }

+ 2 - 2
src/config/config.js

@@ -24,9 +24,9 @@ const store = new Vuex.Store({
         // socket: "https://poll.cocorobo.cn",
         // socket: "http://localhost:1473",
         // api: 'http://10.3.16.226:7003/api',//qgt后端
-        api: 'https://cxcy.ssti.net.cn/api', //服务器
+        // api: 'https://cxcy.ssti.net.cn/api', //服务器
         // api: 'http://127.0.0.1:7003/api',
-        // api: 'http://10.3.13.84:7003/api',
+        api: 'http://10.3.16.59:7003/api',
 
     },
 

+ 34 - 31
src/permission.js

@@ -53,14 +53,15 @@ router.beforeEach(async(to, from, next) => {
 
     try {
         // throw Error('测试')
-        const response = await ajax.get('https://cxcy.ssti.net.cn/sso/api');
-        console.log(response);
-        let data = response.data.replaceAll("\'", "\"")
-        if (data && JSON.parse(data).uid) {
-            uid = JSON.parse(data).uid;
-            // uid = "1270";本地
-            setToken(btoa(md5(JSON.parse(data).uid)));
-            // setToken(btoa(md5("1270")));
+        // const response = await ajax.get('https://cxcy.ssti.net.cn/sso/api');
+        // console.log(response);
+        // let data = response.data.replaceAll("\'", "\"")
+        // if (data && JSON.parse(data).uid) {
+            // uid = JSON.parse(data).uid;
+            uid = "1270";//本地
+						// uid = "201901766";//本地
+            // setToken(btoa(md5(JSON.parse(data).uid)));
+            setToken(btoa(md5(uid)));
             // testApi();
             userLogin((isLogin) => {
                 getSystemState(to, () => {
@@ -71,33 +72,35 @@ router.beforeEach(async(to, from, next) => {
                 })
             });
 
-        } else {
-            // setToken('2021400203')//yym
-            // setToken("201901766");//qgt    
+        // } else {
+        //     // setToken('2021400203')//yym
+        //     // setToken("201901766");//qgt    
 
-            // userLogin((isLogin)=>{    
-            //   getSystemState(to,()=>{
-            //     if(!isLogin&&to.name!='resultShowDetail'){
-            //       store.commit('getPlanEndProjectData');
-            //     }
-            //     next()
-            //   })
-            // });
-            window.location.href = "https://cxcy.ssti.net.cn/sso/caslogin.jsp";
-        }
+        //     // userLogin((isLogin)=>{    
+        //     //   getSystemState(to,()=>{
+        //     //     if(!isLogin&&to.name!='resultShowDetail'){
+        //     //       store.commit('getPlanEndProjectData');
+        //     //     }
+        //     //     next()
+        //     //   })
+        //     // });
+        //     window.location.href = "https://cxcy.ssti.net.cn/sso/caslogin.jsp";
+        // }
     } catch {
+			uid = "1270";//本地
+			// uid = "201901766";//本地
         // setToken('2021400203')//yym
-        // setToken(btoa(md5("1270"))); //wyt
+        setToken(btoa(md5(uid))); //wyt
 
-        // userLogin((isLogin) => {
-        //     getSystemState(to, () => {
-        //         if (!isLogin && to.name != 'resultShowDetail') {
-        //             store.commit('getPlanEndProjectData');
-        //         }
-        //         next()
-        //     })
-        // });
-        window.location.href = "https://cxcy.ssti.net.cn/sso/caslogin.jsp";
+        userLogin((isLogin) => {
+            getSystemState(to, () => {
+                if (!isLogin && to.name != 'resultShowDetail') {
+                    store.commit('getPlanEndProjectData');
+                }
+                next()
+            })
+        });
+        // window.location.href = "https://cxcy.ssti.net.cn/sso/caslogin.jsp";
     }
     // determine whether the user has logged in
 

+ 17 - 11
src/views/activityManage/makerActvity.vue

@@ -92,6 +92,7 @@
         stripe
         class="fontSize"
         :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+				@cell-click="cellClick"
         >
         <el-table-column
           prop="ActivityNo"
@@ -473,17 +474,14 @@ import { ActivityWord } from '@/components/tool/getWord';
           this.rejectDialog=false;
         },
         
-        
-
-        // 驳回对话框确定
-        commit2(){
-          this.rejectDialog=false;
-          this.status++
-        },
-
-        controlActiveState(){    //控制活动状态
 
-        },
+				// 单元格被点击
+				cellClick(row, column, cell, event){
+					if(column.property!="operation"){
+						this.MADetails(row.acId)
+						// this.lookDetail(row.courseId,row.typeid)
+					}
+				},
 
 
         end(val){//完结按钮
@@ -679,11 +677,19 @@ import { ActivityWord } from '@/components/tool/getWord';
     }
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 .makerActvity{
   position: relative;
   width: 100%;
   height: 100%;
+	/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
 
   .dialogWidth{
       .el-input__inner{

+ 47 - 7
src/views/activityManage/newMarkerActivity.vue

@@ -8,6 +8,7 @@
     <!-- 创客专项资金及项目申请表(创客活动) -->
     <markeractivityWord :wordData="wordData" :total="total" />
     <div style="position: fixed; bottom: 5%; right: 2%">
+			<el-button type="primary" @click="saveDraft">保存草稿</el-button>
       <el-button type="primary" @click="test">提交活动</el-button>
     </div>
     <el-dialog
@@ -242,8 +243,8 @@ export default {
             if (result["data"] == 1) {
               this.$message.success("活动提交成功");
               //提交项目成功,查看sessionStore是否有数据,有则删
-              if (localStorage.getItem("makerActivityApplyData"))
-                localStorage.removeItem("makerActivityApplyData");
+              if (localStorage.getItem("makerActivityApplyData"))localStorage.removeItem("makerActivityApplyData");
+							this.ajax.post(this.$store.state.api+"/delDraft",{userid:this.$store.state.userInfo.userid,type:2})
               this.$router.push("/makerActvity");
             } else {
               this.$message.error("活动提交失败");
@@ -259,15 +260,54 @@ export default {
         "makerActivityApplyData",
         JSON.stringify(this.wordData)
       );
-    }
+    },
+		// 保存草稿
+		saveDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:2,
+				jsonData:encodeURIComponent(JSON.stringify(this.wordData))
+			}
+			this.ajax.post(this.$store.state.api + "/saveDraft",params).then(res=>{
+				if(res.data==1){
+					this.$message.success("保存成功")
+				}else{
+					this.$message.error("保存失败")
+				}
+				this.loading = false;
+			})
+		},
+		//获取草稿
+		getDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:2,
+			}
+			this.ajax.get(this.$store.state.api + "/getDraft",params).then(res=>{
+				if(res.data[0].length){
+					this.wordData = JSON.parse(res.data[0][0].json)
+				}else{
+					if (localStorage.getItem("makerActivityApplyData"))
+      		this.wordData = JSON.parse(
+      		  localStorage.getItem("makerActivityApplyData")
+      		);
+				}
+				this.loading = false;
+			})
+		}
   },
   mounted() {
     //跳转到此页面立刻获取数据
     //判断,如果sessionStore里有MakerSpaceApplyData这个字段,则存到this.wordData里
-    if (localStorage.getItem("makerActivityApplyData"))
-      this.wordData = JSON.parse(
-        localStorage.getItem("makerActivityApplyData")
-      );
+    // if (localStorage.getItem("makerActivityApplyData"))
+    //   this.wordData = JSON.parse(
+    //     localStorage.getItem("makerActivityApplyData")
+    //   );
+		this.getDraft();
     window.addEventListener("beforeunload", () => this.saveData());
   },
   destroyed() {

+ 16 - 1
src/views/commission/commission.vue

@@ -133,6 +133,7 @@
         stripe
         class="fontSize"
         @selection-change="handleSelectionChange"
+				@cell-click="cellProjectClick"
         :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
       >
         <el-table-column
@@ -291,6 +292,12 @@ export default {
     };
   },
   methods: {
+		// 单元格被点击
+		cellProjectClick(row, column, cell, event){
+			if(column.property!="operation"){
+				this.rsBtn(row.courseId,row.typeid)
+			}
+		},
     handleCurrentChange(val) {
       //当页数发生改变的时候调用获取列表数据请求
       // console.log(`当前页: ${val}`);
@@ -363,7 +370,15 @@ export default {
 };
 </script>
   
-  <style lang="less">
+  <style lang="less" scoped>
+	/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
 //   .resultsShow{
 
 //     // .pagination{

+ 26 - 17
src/views/commission/components/projectBook.vue

@@ -14,7 +14,7 @@
           class="title"
           v-if="bookData.typeid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf'"
         >
-          学生创客项目申报书
+				2024年校级学生创新创业训练计划项目申报书
         </div>
         <div class="dateCss">申请日期:{{ bookData.createAt }}</div>
       </div>
@@ -26,20 +26,20 @@
         <td colspan="2">{{ bookData.name }}</td>
       </tr>
       <tr>
-        <td rowspan="2" class="bold"><span>*</span>项目状态</td>
+        <td :rowspan="bookData.typeid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'?2:3" class="bold"><span>*</span>项目状态</td>
         <td v-if="bookData.typeid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'">
           {{
             bookData.typeName == "00a3aa2f-f51e-11ed-a3f6-509a4c5b67cf"
-              ? ""
+              ? ""
               : "□"
           }}已建设
         </td>
         <td v-if="bookData.typeid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf'">
           {{
-            bookData.typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"
-              ? ""
+            bookData.typeName == "4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"
+              ? ""
               : "□"
-          }}创意组
+          }}创新训练项目
         </td>
         <td
           colspan="6"
@@ -53,25 +53,25 @@
           colspan="6"
           v-if="bookData.typeid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf'"
         >
-          立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益
+					学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作
         </td>
       </tr>
       <tr>
         <td v-if="bookData.typeid == '5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'">
           {{
             bookData.typeName == "04692ef6-f51e-11ed-a3f6-509a4c5b67cf"
-              ? ""
+              ? ""
               : "□"
           }}
           待建设
         </td>
         <td v-if="bookData.typeid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf'">
           {{
-            bookData.typeName == "f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
-              ? ""
+            bookData.typeName == "56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"
+              ? ""
               : "□"
           }}
-          初创组
+          创业训练项目
         </td>
         <td
           colspan="6"
@@ -85,6 +85,15 @@
         >
           立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。
         </td>
+				<tr v-if="bookData.typeid == '5e21b204-c206-11ed-a4cd-509a4c5b67cf'">
+					<td>{{
+            bookData.typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"
+              ? "☑"
+              : "□"
+          }}
+          创业实践项目</td>
+					<td colspan="6">学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。</td>
+				</tr>
       </tr>
 
       <tr>
@@ -188,9 +197,9 @@
                   : qp.type == 2
                   ? "所在学院部门"
                   : "评审委员会意见"
-              }}审核,拟同意
+              }}审核,拟通过
             </div>
-            <div class="flowText" v-else>{{ qp.bm }}审核,不同意。</div>
+            <div class="flowText" v-else>{{ qp.bm }}审核,不通过。</div>
             <div class="flowReason" v-if="qp.isAgree == 2">{{ qp.text }}</div>
           </div>
         </div>
@@ -271,13 +280,13 @@
             </div>
             <div class="coPh">
               <div>公共常用语</div>
-              <div @click="setQpMessage(1, '审核,拟同意。')" class="phItem">
+              <div @click="setQpMessage(1, '审核,拟通过。')" class="phItem">
                 <div :class="phType == 1 ? 'isYuan' : 'yuan'"></div>
-                <div>审核,拟同意。</div>
+                <div>审核,拟通过。</div>
               </div>
-              <div @click="setQpMessage(2, '审核,不同意。')" class="phItem">
+              <div @click="setQpMessage(2, '审核,不通过。')" class="phItem">
                 <div :class="phType == 2 ? 'isYuan' : 'yuan'"></div>
-                <div>审核,不同意。</div>
+                <div>审核,不通过。</div>
               </div>
             </div>
           </div>

+ 43 - 11
src/views/commission/components/projectLookstudnt.vue

@@ -3,14 +3,14 @@
         <table border="1" cellspacing="0" class="table">
           <div id="title">
               <div class="school">深圳技师学院</div>
-              <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+              <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书模版</div>
               <div class="date">申请日期:{{downWordData.applyProjectTime}}</div>
           </div>
 
           <tr id="projectName">
             <td colspan="2" ref="projectName">项目名称</td><td colspan="5" v-text='downWordData.projectName'></td>
           </tr>
-          <tr id="radio">
+          <!-- <tr id="radio">
             <td rowspan="2" colspan="2" ref="radio">项目分组</td><td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'√ 创意组':'□ 创意组'">
             </td>
             <td colspan="4">立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。</td>
@@ -19,31 +19,63 @@
             <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'□ 初创组':'√ 初创组'">
             </td>
             <td colspan="4">立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。</td>
+          </tr>  -->
+					<tr id="radio">
+            <td rowspan="3" colspan="2" ref="radio"><span class="jc">大创项目</span></td>
+						<td v-text="downWordData.radio=='4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创新训练项目':'□ 创新训练项目'"></td>
+            <td colspan="4">学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作。</td>
           </tr> 
-          <tr id="checkList" class="checkArea">
+          <tr>
+            <td v-text="downWordData.radio=='56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创业训练项目':'□ 创业训练项目'"></td>
+            <td colspan="4">学生团队在导师指导下,团队中每个学生在项目实施过程中扮演一个或多个具体角色,完成商业计划书编制、可行性研究、企业模拟运行、撰写创业报告等工作。</td>
+          </tr>
+					<tr>
+            <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'☑ 创业实践项目':'□ 创业实践项目'"></td>
+            <td colspan="4">学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。</td>
+          </tr> 
+          <!-- <tr id="checkList" class="checkArea">
             <td colspan="2" ref="checkList">优先支持项目(可多选)</td> <td colspan="5">
               <span><span>{{ downWordData['checkList'].includes('1')?'√ ':'□' }}大赛选拔项目</span></span>
               <span><span>{{ downWordData['checkList'].includes('2')?'√ ':'□' }}落地注册项目</span></span>
               <span><span>{{ downWordData['checkList'].includes('3')?'√ ':'□' }}社会征集项目</span></span>
               <span><span>{{ downWordData['checkList'].includes('4')?'√ ':'□' }}产业命题项目</span></span>
             </td>
-          </tr>
+          </tr> -->
           <tr id="schoolRadio" class="checkArea">
             <td colspan="2" ref="schoolRadio">美丽校园改造项目(特色项目)</td> <td colspan="5">
-              <span><span v-text="downWordData['schoolRadio']=='1'?'√ ':'□ '"></span><span>校园安全项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='2'?'√ ':'□ '"></span><span>环境治理项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='3'?'√ ':'□ '"></span><span>校园服务项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='4'?'√ ':'□ '"></span><span>文创装置项目</span></span>
-             
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span>
             </td>
           </tr>
-          <tr id="applyParsonRadio">
+					<tr id="schoolRadio">
+            <td colspan="2" ref="schoolRadio">
+							<span class="jc">优先支持项目</span><br><span>(可多选)</span>
+						</td> <td colspan="5" style="padding: 20px 0;">
+							<div style="display: flex;flex-direction: column;align-items: flex-start;padding-left:20px ;">
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></span>
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('5')!=-1?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('6')!=-1?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('7')!=-1?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></span>
+							</div>
+							
+              <!-- <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span> -->
+            </td>
+          </tr>
+          <!-- <tr id="applyParsonRadio">
             <td colspan="2" ref="applyParsonRadio" >项 目 申 请 人</td><td colspan="2">
               <span v-text="downWordData['applyParsonRadio']=='1'?'√ ':'□ '"></span><span>在校学生</span>
             </td><td colspan="3">
               <span v-text="downWordData['applyParsonRadio']=='2'?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
             </td>
-          </tr>
+          </tr> -->
           <tr id="applyParsonName">
             <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1" v-text="downWordData.applyParsonName">
             </td>

+ 54 - 54
src/views/home.vue

@@ -312,38 +312,38 @@ export default {
         this.$store.state.userInfo.type == 2
       ) {
         this.navList.push(
-          // {
-          //   id: 1,
-          //   label: "事前申请",
-          //   goto: "/projectApplication",
-          //   icon: "iconfont icon-shuben",
-          //   group: [
-          //     {
-          //       id: 1,
-          //       label: "项目立项管理",
-          //       goto: "/projectApplication",
-          //       group: [
-          //         {
-          //           label: "创客项目申请",
-          //           goto: "/newStudentProjectApply",
-          //         },
-          //         { label: "创客空间申请", goto: "/MakerSpaceApply" },
-          //       ],
-          //     },
-          //     {
-          //       id: 1,
-          //       label: "创客活动管理",
-          //       goto: "/makerActvity",
-          //       group: [
-          //         {
-          //           label: "实践活动申请",
-          //           goto: "/newMarkerActivity",
-          //         },
-          //         // {label:"个人创客申请",power:false,goto:"/newNomMarkerActivity"},
-          //       ],
-          //     },
-          //   ],
-          // },
+          {
+            id: 1,
+            label: "事前申请",
+            goto: "/projectApplication",
+            icon: "iconfont icon-shuben",
+            group: [
+              {
+                id: 1,
+                label: "项目立项管理",
+                goto: "/projectApplication",
+                group: [
+                  {
+                    label: "创客项目申请",
+                    goto: "/newStudentProjectApply",
+                  },
+                  { label: "创客空间申请", goto: "/MakerSpaceApply" },
+                ],
+              },
+              {
+                id: 1,
+                label: "创客活动管理",
+                goto: "/makerActvity",
+                group: [
+                  {
+                    label: "实践活动申请",
+                    goto: "/newMarkerActivity",
+                  },
+                  // {label:"个人创客申请",power:false,goto:"/newNomMarkerActivity"},
+                ],
+              },
+            ],
+          },
           // {
           //   id: 2,
           //   label: "创客活动管理",
@@ -370,28 +370,28 @@ export default {
           //     },
           //   ],
           // },
-          {
-            id: 4,
-            label: "项目管理",
-            goto: "/ProjectManagement",
-            icon: "el-icon-receiving",
-            group: [],
-          },
-          {
-            id: 5,
-            label: "项目结项",
-            goto: "/projectSettlement",
-            icon: "iconfont icon-_yuanhuanchong",
-            group: [],
-          },
-          // {id:6,label:"学分登记",goto:"/credit",icon:"iconfont icon-yonghu"},
-          {
-            id: 7,
-            label: "成果展示",
-            goto: "/resultsShow",
-            icon: "iconfont icon-xiangmuguanli2",
-            group: [],
-          },
+          // {
+          //   id: 4,
+          //   label: "项目管理",
+          //   goto: "/ProjectManagement",
+          //   icon: "el-icon-receiving",
+          //   group: [],
+          // },
+          // {
+          //   id: 5,
+          //   label: "项目结项",
+          //   goto: "/projectSettlement",
+          //   icon: "iconfont icon-_yuanhuanchong",
+          //   group: [],
+          // },
+          // // {id:6,label:"学分登记",goto:"/credit",icon:"iconfont icon-yonghu"},
+          // {
+          //   id: 7,
+          //   label: "成果展示",
+          //   goto: "/resultsShow",
+          //   icon: "iconfont icon-xiangmuguanli2",
+          //   group: [],
+          // },
         );
       } else if (this.$store.state.userInfo.type == 0) {
         this.navList.push(

+ 45 - 5
src/views/projectApply/MakerSpaceApply.vue

@@ -8,6 +8,7 @@
     <MakerSpaceWord :wordData="wordData" :reversedMessage="reversedMessage" />
 
     <div style="position: fixed; bottom: 5%; right: 2%">
+			<el-button @click="saveDraft" type="primary">保存草稿</el-button>
       <el-button @click="test" type="primary">提交项目</el-button>
     </div>
     <el-dialog
@@ -353,8 +354,8 @@ export default {
             if (result["data"] == 1) {
               this.$message.success("项目提交成功");
               //提交项目成功,查看sessionStore是否有数据,有则删
-              if (localStorage.getItem("MakerSpaceApplyData"))
-                localStorage.removeItem("MakerSpaceApplyData");
+              if (localStorage.getItem("MakerSpaceApplyData"))localStorage.removeItem("MakerSpaceApplyData");
+							this.ajax.post(this.$store.state.api+"/delDraft",{userid:this.$store.state.userInfo.userid,type:1})
               this.$router.push("/projectApplication");
             } else {
               this.$message.error("项目提交失败");
@@ -371,6 +372,44 @@ export default {
         JSON.stringify(this.wordData)
       );
     },
+		// 保存草稿
+		saveDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:1,
+				jsonData:encodeURIComponent(JSON.stringify(this.wordData))
+			}
+			this.ajax.post(this.$store.state.api + "/saveDraft",params).then(res=>{
+				if(res.data==1){
+					this.$message.success("保存成功")
+				}else{
+					this.$message.error("保存失败")
+				}
+				this.loading = false;
+			})
+		},
+		//获取草稿
+		getDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:1,
+			}
+			this.ajax.get(this.$store.state.api + "/getDraft",params).then(res=>{
+				if(res.data[0].length){
+					this.wordData = JSON.parse(res.data[0][0].json)
+				}else{
+					if (localStorage.getItem("MakerSpaceApplyData"))
+      		this.wordData = JSON.parse(
+      		  localStorage.getItem("MakerSpaceApplyData")
+      		);
+				}
+				this.loading = false;
+			})
+		}
   },
   computed: {
     reversedMessage: function () {
@@ -391,9 +430,10 @@ export default {
     //   this.getData();     //获取表格数据
     // this.applyProject();
     //判断,如果sessionStore里有MakerSpaceApplyData这个字段,则存到this.wordData里
-    if (localStorage.getItem("MakerSpaceApplyData")) {
-      this.wordData = JSON.parse(localStorage.getItem("MakerSpaceApplyData"));
-    }
+    // if (localStorage.getItem("MakerSpaceApplyData")) {
+    //   this.wordData = JSON.parse(localStorage.getItem("MakerSpaceApplyData"));
+    // }
+		this.getDraft();
     window.addEventListener("beforeunload", () => this.saveData());
 
   },

+ 4 - 3
src/views/projectApply/components/MakerSpaceWord.vue

@@ -337,7 +337,7 @@
         </div>
         <div class="chaptersTable">
           <div class="chaptersValue" id="seven">
-            <span>项目简介</span><br />
+            <span>项目简介(200-300字)</span><br />
             <el-input
               type="textarea"
               class="noCenter"
@@ -811,12 +811,13 @@ export default {
   
 <style lang="less" scoped>
 #MakerSpaceWord {
-  width: 100%;
+  width: 1400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: white;
-  padding: 40px 100px;
+  padding: 40px 40px;
+	margin: auto;
   box-sizing: border-box;
   margin-bottom: 50px;
   #title {

+ 6 - 6
src/views/projectApply/components/MakerSpaceWordShow.vue

@@ -15,12 +15,12 @@
               <div class="ValueDescribe">
                 <div class="statusHan">
                   <div class="DescribeLabel">
-                    <span v-if="wordData['stateName']=='已建设'"></span><span v-else>□</span>已建设
+                    <span v-if="wordData['stateName']=='已建设'"></span><span v-else>□</span>已建设
                 </div><div class="DescribeValue">指二级学院已获得政府或学校资助(例:设计学院、信通学院、珠宝学院),已有双创空间(创客实践室)场地、设备设施并已投入运营,需对空间环境优化、规章制度建设、小型设施设备添置、创客项目物料增补,需拓展创客项目培训、辅导,创客讲座、沙龙、论坛,创客路演、竞赛、集市及成果参评、参展等方面的工作而提出的资助申请。</div>
                 </div>
                 <div class="statusHan">
                   <div class="DescribeLabel">
-                    <span v-if="wordData['stateName']=='待建设'"></span><span v-else>□</span>待建设
+                    <span v-if="wordData['stateName']=='待建设'"></span><span v-else>□</span>待建设
                 </div><div class="DescribeValue">指二级学院拟立项开展学院特色创客空间建设项目,需进行项目前期调研论证、场馆规划、空间图纸设计、设备选型等方面的工作而进行的资助申请。</div>
                 </div>
               </div>
@@ -324,7 +324,7 @@
 
       <tr>
         <td colspan="2" rowspan="2"><span class="jc">项目状态</span></td>
-        <td>{{ wordData["stateName"] == "已建设" ? "已建设" : "□已建设" }}</td>
+        <td>{{ wordData["stateName"] == "已建设" ? "已建设" : "□已建设" }}</td>
         <td colspan="5">
           指二级学院已获得政府或学校资助(例:设计学院、信通学院、珠宝学院)
           ,已有双创空间(创客实践室)场地、设备设施并已投入运营,需对空间环境优化、规章制度建设
@@ -334,7 +334,7 @@
       </tr>
 
       <tr>
-        <td>{{ wordData["stateName"] == "待建设" ? "待建设" : "□待建设" }}</td>
+        <td>{{ wordData["stateName"] == "待建设" ? "待建设" : "□待建设" }}</td>
         <td colspan="5">
           指二级学院拟立项开展学院特色创客空间建设项目,
           需进行项目前期调研论证、场馆规划、空间图纸设计、
@@ -701,12 +701,12 @@ export default {
       
     <style lang="less" scoped>
 #MakerSpaceWord {
-  width:1280px;
+  max-width:1400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: white;
-  padding: 40px 0px;
+  padding: 40px 40px;
   box-sizing: border-box;
   // #title{
   //     width: 100%;

+ 341 - 44
src/views/projectApply/components/studentProjectWord.vue

@@ -5,7 +5,7 @@
         <td colspan="7" style="border: none">
           <div id="title">
             <div class="school">深圳技师学院</div>
-            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书</div>
             <div class="date">申请日期:{{ wordData.applicationDate }}</div>
           </div>
         </td>
@@ -27,50 +27,48 @@
         </td>
       </tr>
       <tr id="radio">
-        <td rowspan="2" colspan="2" ref="radio" class="bold">
-          <span style="color: red">*</span>项目分组
+        <td rowspan="3" colspan="2" ref="radio" class="bold">
+          <span style="color: red">*</span>大创项目
         </td>
         <td>
           <el-radio
             v-model="wordData.radio"
-            label="ed917c55-f51d-11ed-a3f6-509a4c5b67cf"
-            >创意组</el-radio
+            label="4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"
+            >创新训练项目</el-radio
           >
         </td>
         <td colspan="4">
-          立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益
+          学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作
         </td>
       </tr>
-      <tr>
+			<tr>
         <td>
           <el-radio
             v-model="wordData.radio"
-            label="f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
-            >初创组</el-radio
+            label="56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"
+            >创业训练项目</el-radio
           >
         </td>
         <td colspan="4">
-          立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张
+          学生团队在导师指导下,团队中每个学生在项目实施过程中扮演一个或多个具体角色,完成商业计划书编制、可行性研究、企业模拟运行、撰写创业报告等工作
         </td>
       </tr>
-      <tr id="checkList">
-        <td colspan="2" ref="checkList" class="bold">
-          <!-- <span style="color: red">*</span>优先支持项目(可多选) -->
-          优先支持项目(可多选)
+      <tr>
+        <td>
+          <el-radio
+            v-model="wordData.radio"
+            label="ed917c55-f51d-11ed-a3f6-509a4c5b67cf"
+            >创业实践项目</el-radio
+          >
         </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 colspan="4">
+          学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。
         </td>
       </tr>
       <tr id="schoolRadio">
         <td colspan="2" ref="schoolRadio" class="bold">
           <!-- <span style="color: red">*</span>美丽校园改造项目(特色项目) -->
-          美丽校园改造项目(特色项目)
+          特色项目美丽校园改造计划
         </td>
         <td colspan="5">
           <el-checkbox-group v-model="wordData.schoolRadio">
@@ -81,7 +79,28 @@
           </el-checkbox-group>
         </td>
       </tr>
-      <tr id="applyParsonRadio">
+			<tr id="checkList">
+        <td colspan="2" ref="checkList" class="bold">
+          <!-- <span style="color: red">*</span>优先支持项目(可多选) -->
+          优先支持项目(可多选)
+        </td>
+        <td colspan="5">
+          <el-checkbox-group v-model="wordData.checkList" style="display: flex;flex-direction: column;align-items: flex-start;padding: 20px;">
+						<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 label="5">近两年内参与校级以上创新创业大赛并获奖的项目。</el-checkbox>
+            <el-checkbox label="6">美丽校园改造计划中的校园智能产品及文创产品的研发项目。</el-checkbox>
+            <el-checkbox label="7">企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</el-checkbox>
+            <!-- <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="applyParsonRadio">
         <td colspan="2" ref="applyParsonRadio" class="bold">
           <span style="color: red">*</span>项 目 申 请 人
         </td>
@@ -91,7 +110,7 @@
             <el-checkbox label="2">入驻学校孵化基地的初创企业法人</el-checkbox>
           </el-checkbox-group>
         </td>
-      </tr>
+      </tr> -->
       <tr id="applyParsonName">
         <td colspan="2" ref="applyParsonName" class="bold">
           <span style="color: red">*</span>申 请 人 姓 名
@@ -108,7 +127,7 @@
           </el-input>
         </td>
         <td ref="college" class="bold">
-          <span style="color: red">*</span>参与学院/公司
+          <span style="color: red">*</span>所在学院/班级
         </td>
         <td>
           <el-select
@@ -183,10 +202,12 @@
         </td>
       </tr>
       <tr id="studentS">
-        <td :rowspan="wordData.studentS.length + 1" ref="studentS">
-          <span class="bold">项目</span><br /><span class="bold"
+        <td :rowspan="wordData.studentS.length + 1" ref="studentS" style="padding: 20px;">
+          <!-- <span class="bold">项目</span><br /><span class="bold"
             >学生成员</span
-          ><br />
+          ><br /> -->
+					<span class="bold">项目学生成员</span><br/>
+					(至少2个学院以上学生构成,其中:1.创新项目、创业训练项目人数为5+3组成,其中不超过5名学生为项目主要成员,由初起二、三、四年级(高起一、二年级)学生组成,3名学生作为后备成员由一年级学生组成。2.创业实践项目人数为6+3组成,其中不超过6名学生为初起三、四、五年级(高起二、三年级)学生,3名学生作为后备成员由一年级学生组成。
           <!-- (至少2个学院以上学生构成,团队5人以上) -->
         </td>
         <td><span style="color: red">*</span>姓名</td>
@@ -249,10 +270,10 @@
         </div>
       </tr>
       <tr id="teacherS">
-        <td :rowspan="wordData.teacherS.length + 1" ref="teacherS">
-          <span class="bold">项目组</span><br /><span class="bold"
-            >指导教师</span
-          ><br />
+        <td :rowspan="wordData.teacherS.length + 1" ref="teacherS" style="padding: 20px">
+          <!-- <span class="bold">项目组</span><br /><span class="bold">指导教师</span><br/> -->
+					<span class="bold">项目组指导教师</span><br/>
+					(2个学院以上, 2-3名指导教师,指导教师须有中级以上职称或研究生以上学历,创业实践项目除配备2名以上校内指导教师外,还须配备1名企业指导教师。)
           <!-- (2个学院以上,团队2-3人) -->
         </td>
         <td><span style="color: red">*</span>姓名</td>
@@ -325,7 +346,7 @@
           colspan="6"
           class="textLeft"
         >
-          <p>项目简介</p>
+          <p>项目简介(200-300字)</p>
           <el-input
             type="textarea"
             :rows="6"
@@ -683,8 +704,11 @@
         <td colspan="2">论文版面费、专利及其他知识产权事务等费用。</td>
       </tr>
       <tr>
-        <td class="bold">所在学院/部门意见</td>
+        <td class="bold">所在学院/部门初审意见</td>
         <td colspan="6" class="textLeft" style="height: 200px">
+					<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==4).length>0">
+					{{ signData.filter(i=>i.type==4)[0].text }}
+				</div>
           <div
             style="
               text-align: right;
@@ -692,15 +716,127 @@
               width: 80%;
               margin-bottom: 20px;
             "
+          >
+            负责人签章:{{ signData&&signData.filter(i=>i.type==4).length?signData.filter(i=>i.type==4)[0].username:'' }}
+          </div>
+          <div style="text-align: right; font-size: 18px; width: 90%">
+						<div v-if="signData&&signData.filter(i=>i.type==4).length">{{ signData.filter(i=>i.type==4)[0].time }}</div>
+						<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+          </div>
+        </td>
+      </tr>
+			<tr>
+        <td class="bold">创新创业学院审核意见</td>
+        <td colspan="6" class="textLeft" style="height: 200px">
+				<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==0).length>0">
+					{{ signData.filter(i=>i.type==0)[0].text }}
+				</div>
+          <div
+            style="
+              text-align: right;
+              font-size: 18px;
+              width: 80%;
+              margin-bottom: 20px;
+            "
+          >
+            负责人签章:{{ signData&&signData.filter(i=>i.type==0).length?signData.filter(i=>i.type==0)[0].username:'' }}
+          </div>
+          <div style="text-align: right; font-size: 18px; width: 90%">
+            <div v-if="signData&&signData.filter(i=>i.type==0).length">{{ signData.filter(i=>i.type==0)[0].time}}</div>
+						<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+          </div>
+        </td>
+      </tr>
+			<tr>
+        <td class="bold">专家意见</td>
+        <td colspan="6" class="textLeft" style="height: 200px;position: relative;">
+					<!-- <el-button type="primary" style="position: absolute; right: 130px; top: 5px" v-if="![1,2].includes($store.state.userInfo.type) && wordData.courseId" @click="$emit('saveFile')">保存</el-button> -->
+							<beUpload
+              v-if="![1,2].includes($store.state.userInfo.type) && wordData.courseId"
+              style="position: absolute; right: 10px; top: 5px"
+              @getFile="getFile"
+              :navName="'上传文件'"
+              :accept="accept"
+              :progress="progress"
+            ></beUpload>
+						<el-progress
+              v-if="progress.show"
+              :percentage="progress.value"
+              :format="ProgressFormat"
+              style="width: 80%"
+            ></el-progress>
+						<div
+							v-if="wordData.opinion"
+              :class="
+                wordData.opinion.length > 0
+                  ? 'bigBlock'
+                  : 'noFileBox'
+              "
+							
+            >
+              <div
+                class="fileBlock"
+                v-for="(item, index) in wordData.opinion"
+                :key="index + 'l'"
+              >
+                <div class="fileBox">
+                  <div class="fileBoxLeft" @click="$emit('fileOption',item,index,'0')">
+										<!--  @click="checkFile(item.url)" -->
+                    <div class="chapter_upload_l_i3"></div>
+                    <div class="titName">{{ item.fileName }}</div>
+                  </div>
+                  <div class="fileBoxRight" v-if="![1,2].includes($store.state.userInfo.type)">
+                    <div class="chapter_upload_ud" style="z-index: 99">
+                      <div
+                        class="chapter_upload_up"
+												@click="$emit('fileOption',item,index,'1')"
+                      ></div>
+                      <div
+                        class="chapter_upload_down"
+												@click="$emit('fileOption',item,index,'2')"
+                      ></div>
+                    </div>
+                    <div
+                      class="chapter_upload_ic_edit"
+                      @click="$emit('fileOption',item,index,'3')"
+                    ></div>
+                    <div
+                      class="chapter_upload_ic_r"
+                      @click="$emit('fileOption',item,index,'4')"
+                    ></div>
+                  </div>
+                </div>
+              </div>
+            </div>
+          <!-- <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>
+          </div> -->
         </td>
       </tr>
-      <tr>
+			<tr>
+        <td class="bold">学校终审意见</td>
+        <td colspan="6" class="textLeft" style="height: 200px">
+					<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==3).length>0">
+								{{ signData.filter(i=>i.type==3)[0].text }}
+							</div>
+              <div style="position: absolute;bottom: 20px;right: 100px;">
+                <div style="transform: translate(-100px);">负责人签章:{{ signData&&signData.filter(i=>i.type==3).length?signData.filter(i=>i.type==3)[0].username:'' }}</div>
+                <div v-if="signData&&signData.filter(i=>i.type==3).length">{{ signData.filter(i=>i.type==3)[0].time }}</div>
+								<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+              </div>
+        </td>
+      </tr>
+      <!-- <tr>
         <td class="bold">财务部门意见</td>
         <td colspan="6" class="textLeft" style="height: 200px">
           <div
@@ -717,8 +853,8 @@
             年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日
           </div>
         </td>
-      </tr>
-      <tr>
+      </tr> -->
+      <!-- <tr>
         <td class="bold">创新创业学院审核意见</td>
         <td colspan="6" class="textLeft" style="height: 200px">
           <div
@@ -735,7 +871,7 @@
             年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日
           </div>
         </td>
-      </tr>
+      </tr> -->
       <!-- <tr style="border: none;"> -->
       <!-- <td colspan="7"  style="border: none;"> -->
       <div class="notes">
@@ -754,15 +890,33 @@
       
 <script>
 import EditorBar from "@/components/tool/wangEnduit";
+import beUpload from "@/components/tool/beUpload";
 export default {
-  components: { EditorBar },
-  props: ["wordData", "reversedMessage"],
+  components: { EditorBar,beUpload },
+  props: ["wordData", "reversedMessage",'signData'],
+	emit:["getFile","fileOption","saveFile"],
   data() {
     return {
+			accept:"*",
+			progress: {
+        value: 0,
+        show: false,
+      },
       DepartmentData: [], //部门学院
     };
   },
   methods: {
+		getFile(file){
+			this.$emit("getFile",file)
+			this.progress.show = false;
+		},
+		fileOption(file,index,opt){
+			
+		},
+		ProgressFormat(value) {
+      //进度条
+      return value == 100 ? "100%" : `${value}%`;
+    },
     checkTime() {
       var a = new Date(this.wordData.beginTime);
       var b = new Date(this.wordData.endTime);
@@ -824,13 +978,13 @@ export default {
       
     <style lang="less" scoped>
 #studentProjectWord {
-  width: 100%;
+  width: 1400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: #ffff;
-  margin: 0;
-  padding: 40px 100px;
+  margin: auto;
+  padding: 40px 40px;
   box-sizing: border-box;
   margin-bottom: 50px;
   .table {
@@ -840,6 +994,11 @@ export default {
     // margin-bottom: 30px;
     position: relative;
     .textLeft {
+			text-align: left;
+			height: 200px;
+			.reviewComments{
+				margin:30px 30px 80px 30px;
+			}
       :deep(.el-textarea__inner) {
         border: none;
         border-radius: 0px;
@@ -950,4 +1109,142 @@ export default {
     margin-left: 10px;
   }
 }
+.noFileBox {
+      width: 98%;
+      min-height: 200px;
+      display: flex;
+      flex-direction: column;
+      flex-wrap: nowrap;
+      align-items: flex-start;
+    }
+    .bigBlock {
+      width: 98%;
+      min-height: 200px;
+      display: flex;
+      flex-direction: column;
+      flex-wrap: nowrap;
+      align-items: flex-start;
+      border: 1px solid #cad1dc;
+      border-radius: 4px;
+      padding: 10px;
+      margin: 50px 0 0 0;
+      .fileBlock {
+        width: 98%;
+        margin-right: 20px;
+        position: relative;
+        border-radius: 5%;
+        padding: 5px 0 5px 0;
+        border-bottom: 1px solid #cad1dc;
+        .fileBox {
+          display: flex;
+          flex-direction: row;
+          flex-wrap: nowrap;
+          justify-content: space-between;
+          align-items: center;
+
+          .fileBoxLeft {
+            cursor: pointer;
+            display: flex;
+            flex-direction: row;
+            flex-wrap: nowrap;
+            align-items: center;
+            .chapter_upload_l_i3 {
+              width: 15px;
+              height: 15px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              background-image: url("../../../assets/img/u_video.png");
+            }
+            .titName {
+              width: calc(100% - 15px);
+              white-space: nowrap;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              word-break: break-word;
+              text-align: left;
+              margin-left: 10px;
+              max-width: 800px;
+            }
+          }
+          .fileBoxRight {
+            cursor: pointer;
+            display: flex;
+            flex-direction: row;
+            flex-wrap: nowrap;
+            align-items: center;
+            .chapter_upload_ud {
+              display: flex;
+              flex-direction: row;
+              justify-content: center;
+              margin: 0 10px 0 0;
+              .chapter_upload_up {
+                margin-right: 10px !important;
+              }
+              .chapter_upload_down,
+              .chapter_upload_up {
+                width: 20px;
+                height: 20px;
+                background: #e4eaf2;
+                cursor: pointer;
+                margin: 0 auto;
+                border-radius: 5px;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+              }
+            }
+            .chapter_upload_up::after,
+            .chapter_upload_down::after {
+              content: "";
+              background-image: url("../../../assets/img/downBtn.png");
+              width: 13px;
+              height: 13px;
+              background-size: 100% 100%;
+              display: block;
+            }
+
+            .chapter_upload_up::after {
+              background-image: url("../../../assets/img/upBtn.png") !important;
+            }
+            .chapter_upload_ic_edit {
+              width: 18px;
+              height: 18px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              margin-right: 10px;
+              background-image: url("../../../assets/img/edit_u.png");
+            }
+            .chapter_upload_ic_r {
+              width: 18px;
+              height: 18px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              background-image: url("../../../assets/img/delete_u.png");
+            }
+          }
+        }
+      }
+      .masking-out {
+        width: 100px;
+        height: 135px;
+        position: absolute;
+        top: 0;
+        left: 0;
+        display: none;
+        border-radius: 5%;
+        background: #00000053;
+        .delete {
+          cursor: pointer;
+          margin-left: 50%;
+          margin-top: 50%;
+          transform: translate(-50%, -50%);
+        }
+        .delete:hover {
+          color: #fff;
+        }
+      }
+      .fileBlock:hover .masking-out {
+        display: block;
+      }
+    }
 </style>

+ 314 - 15
src/views/projectApply/components/studentProjectWordDetail.vue

@@ -4,12 +4,20 @@
       v-if="isupload == 0"
       :wordData="wordData"
       :reversedMessage="reversedMessage"
+			:signData="signData"
+			@getFile="getFile"
+			@fileOption="fileOption"
+			@saveFile="saveFile"
     />
     <studentProjectWordShow
       ref="myChild"
       v-if="isupload != 0 || downloadDig"
       :downWordData="downWordData"
       :reversedMessage="reversedMessage"
+			:signData="signData"
+			@getFile="getFile"
+			@fileOption="fileOption"
+			@saveFile="saveFile"
     />
     <div
       style="
@@ -96,18 +104,94 @@
       </span>
     </el-dialog>
     <!-- 下载文档结束-->
+		<!-- 展示文件 -->
+		<el-dialog
+      title="展示文件"
+      :visible.sync="showFile"
+      top="1vh"
+      width="80vw"
+      append-to-body
+    >
+      <div class="showFileArea" style="height: 80vh">
+        <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
+        <div
+          class="workd_media"
+          style="width: 90%; height: 90%"
+          v-if="videoDetail.sources"
+        >
+          <video-player
+            class="video-player vjs-custom-skin"
+            :playsinline="true"
+            :options="videoDetail"
+            @play="onPlayerPlay($event)"
+            style="width: 90%; height: 90%; margin: 0 auto"
+          ></video-player>
+        </div>
+        <vword
+          style="width: 100%; height: 100%; overflow: auto"
+          class="fullStyle"
+          v-else-if="Wordss['type'] != 'pdf' && Wordss['name'] != '图片'"
+          :pdfUrl="
+            'https://view.officeapps.live.com/op/view.aspx?src=' + showFileUrl
+          "
+        ></vword>
+        <vpdf
+          style="width: 100%; height: 100%; overflow: auto"
+          class="fullStyle"
+          :pdfUrl="showFileUrl"
+          v-else-if="Wordss['type'] == 'pdf'"
+        ></vpdf>
+        <img
+          :src="showFileUrl"
+          alt="图片哦"
+          v-else-if="Wordss['name'] == '图片'"
+          style="width: auto; height: auto; max-width: 100%; max-height: 100%"
+        />
+      </div>
+      <!-- <el-button type="primary" size="mini" @click="downFile(showFileUrl)">下载文件</el-button> -->
+    </el-dialog>
+		<!-- 修改文件名称 -->
+		<el-dialog
+      title="修改名称"
+      :visible.sync="dialogVisibleUpdateFile"
+      :append-to-body="true"
+      width="500px"
+      class="dialog_diy"
+    >
+      <div
+        style="
+          width: 100%;
+          display: flex;
+          flex-direction: row;
+          flex-wrap: nowrap;
+          align-items: center;
+          justify-content: center;
+        "
+      >
+        <div style="min-width: fit-content">文件名称:</div>
+        <el-input
+          v-model="updateFile.fileName"
+          placeholder="请输入要修改的名称"
+        ></el-input>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisibleUpdateFile = false">取 消</el-button>
+        <el-button type="primary" @click="updateFileName">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
       
     <script>
 import { getNowDate } from "@/components/tool/Date.js";
-import { getWord } from "@/components/tool/getWord";
+import { getWord2 } from "@/components/tool/getWord";
 import studentProjectWord from "./studentProjectWord.vue";
 import studentProjectWordShow from "./studentProjectWordShow.vue";
 import { downloadPDF } from "@/components/tool/pdf";
-
+import vpdf from "@/components/vpdf.vue";
+import vword from "@/components/vword.vue";
 export default {
-  components: { studentProjectWord, studentProjectWordShow },
+  components: { studentProjectWord, studentProjectWordShow,vword,vpdf },
   data() {
     return {
       isupload: 1,
@@ -115,6 +199,8 @@ export default {
       downloadDig: false, //下载文档对话框
 			downloadWordDig:false,
       updatedWordDig: false, //立即修改对话框
+			showFile:false,// 展示文件弹窗
+			dialogVisibleUpdateFile:false,//修改文件弹窗
       downWordData: {
         applicationDate: getNowDate(1), //申请日期
         projectName: "",
@@ -164,6 +250,7 @@ export default {
           activities: "",
           entery: "",
         },
+				opinion:[],
       },
       wordData: {
         applicationDate: getNowDate(1), //申请日期
@@ -213,8 +300,113 @@ export default {
           Transaction: "",
           activities: "",
           entery: "",
+        },
+				opinion:[],
+      },
+			signData:[],
+			word: [
+        "DOC",
+        "DOCX",
+        "DOCM",
+        "DOTM",
+        "DOTX",
+        "PPTX",
+        "PPSX",
+        "PPT",
+        "PPS",
+        "PPTM",
+        "POTM",
+        "PPAM",
+        "POTX",
+        "PPSM",
+        "XLSX",
+        "XLS",
+      ],
+      pdf: ["PDF"],
+      image: [
+        "BMP",
+        "PJP",
+        "APNG",
+        "PNG",
+        "JPG",
+        "GIF",
+        "SVG",
+        "JPEG",
+        "JPG",
+        "ICO",
+        "PGPEG",
+        "AVIF",
+      ],
+      vedio: [
+        "AVI",
+        "NAVI",
+        "MPEG",
+        "ASF",
+        "MOV",
+        "WMV",
+        "3GP",
+        "RM",
+        "RMVB",
+        "FLV",
+        "F4V",
+        "H.264",
+        "H.265",
+        "REAL VIDEO",
+        "MKV",
+        "WebM",
+        "HDDVD",
+        "MP4",
+        "MPG",
+        "M4V",
+        "MGV",
+        "OGV",
+        "QTM",
+        "STR",
+        "AMC",
+        "DVX",
+        "EVO",
+        "DAT",
+        "OGG",
+        "OGM",
+      ],
+      playerOptions: {
+        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+        autoplay: false, //如果true,浏览器准备好时开始回放。
+        muted: false, // 默认情况下将会消除任何音频。
+        loop: false, // 导致视频一结束就重新开始。
+        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
+        language: "zh-CN",
+        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
+        sources: [
+          {
+            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
+            src: "", //url地址require("../../assets/media/aaa.mp4")
+          },
+        ],
+        // poster: require("../../assets/tu31.png"), //你的封面地址
+        // poster: dataRes.imgUrl, //你的封面地址
+        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
+        controlBar: {
+          timeDivider: true, //当前时间和持续时间的分隔符
+          durationDisplay: true, //显示持续时间
+          remainingTimeDisplay: false, //是否显示剩余时间功能
+          fullscreenToggle: true, //全屏按钮
         },
       },
+      playerO: {},
+      videoDetail: {},
+			Wordss:{},
+			showFileUrl:"",
+			canonical: {
+        Image:
+          /^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
+        File: /^https?:\/\/(.+\/)+.+(\.(docx|xlsx|ppt|pdf))$/i,
+      },
+			updateFile:{
+				url:"",
+				fileName:""
+			},
     };
   },
   methods: {
@@ -267,7 +459,6 @@ export default {
       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);
@@ -283,18 +474,27 @@ export default {
           this.wordData.brief = data.brief;
           this.wordData.introduce = JSON.parse(data.chapters);
           this.wordData.fund = JSON.parse(data.money);
+					this.wordData.opinion = data.opinion?JSON.parse(data.opinion):[];
           this.downWordData = {
             ...this.wordData,
             ...{ etime: data.eTime, btime: data.bTime, dp: data.className },
           };
           this.isupload = data["isupload"];
-          console.log(this.downWordData);
         },
         (err) => {
           console.log(err);
         }
       );
     },
+		//  获取评审数据
+		getSignData(){
+			let params = {
+				pid:this.$route.query['pid']
+			}
+			this.ajax.get(this.$store.state.api+'/selectSign',params).then(res=>{
+				this.signData = res.data[0]
+			})
+		},
     test() {
       //验证
       const cEmpty = /^\s*$/g;
@@ -341,15 +541,15 @@ export default {
           //     return false;
           //   }
           //   break;
-          case "applyParsonRadio":
-            if (cEmpty.test(this.wordData[i])) {
-              this.$message.error("请选择项目申请人");
-              document
-                .querySelector("#applyParsonRadio")
-                .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("请填写申请人姓名");
@@ -519,7 +719,7 @@ export default {
         );
     },
 		downloadWordFile(){
-			getWord(this.downWordData);
+			getWord2({...this.downWordData,signData:this.signData});
 			this.downloadWordDig = false;
 		},
     downloadPDFFile() {
@@ -549,6 +749,104 @@ export default {
 
       this.downloadDig = false;
     },
+		// 上传专家文件
+		getFile(file){
+			this.wordData.opinion.push(file);
+			this.saveFile();
+		},
+		// 对文件的操作
+		fileOption(file,index,opt){
+			if(opt=='0'){
+				this.checkFile(file.url)
+			}else if(opt=='1'){
+				if(index==0)return;
+				this.wordData.opinion.splice(index-1,0,this.wordData.opinion.splice(index,1)[0]);
+				this.saveFile();
+			}else if(opt=='2'){
+				if(index==this.wordData.opinion.length-1)return;
+				this.wordData.opinion.splice(index+1,0,this.wordData.opinion.splice(index,1)[0]);
+				this.saveFile();
+			}else if(opt=='3'){
+				this.updateFile = {...file,index:index}
+				this.dialogVisibleUpdateFile = true;
+				
+			}else if(opt=='4'){
+				this.$confirm("确定删除该文件?","提示",{
+					type:"error",
+					confirmButtonText:"确定删除",
+					cancelButtonText:"取消",
+				}).then(_=>{
+					this.wordData.opinion.splice(index,1);
+					this.saveFile();
+				})
+			}
+		},
+		// 上传文件函数
+		saveFile(){
+			let params = {
+				uid:this.$store.state.userInfo.userid,
+				pid:this.$route.query["pid"],
+				file:JSON.stringify(this.wordData.opinion)
+			}
+			this.ajax.post(this.$store.state.api+"/updateProjectOpinion",params).then(res=>{
+				if(res.data==1){
+					return this.getData();
+				}
+			})
+
+		},
+		//展示文件
+    checkFile(url) {
+      this.videoDetail = {};
+      if (
+        this.vedio.indexOf(
+          url.split(".")[url.split(".").length - 1].toLocaleUpperCase()
+        ) != -1
+      ) {
+        this.playerOptions.sources[0].src = url;
+        this.videoDetail = this.playerOptions;
+        this.showFile = true;
+      } else {
+        if (
+          this.word.indexOf(
+            url.split(".")[url.split(".").length - 1].toLocaleUpperCase()
+          ) == -1 &&
+          this.pdf.indexOf(
+            url.split(".")[url.split(".").length - 1].toLocaleUpperCase()
+          ) == -1 &&
+          this.image.indexOf(
+            url.split(".")[url.split(".").length - 1].toLocaleUpperCase()
+          ) == -1
+        ) {
+          this.downFile(url);
+          return;
+        }
+        this.showFileUrl = url;
+        this.showFile = true;
+        if (typeof url == "undefined") return { type: "", name: "" };
+        let urlSplit = url.split(".");
+        const type = urlSplit[urlSplit.length - 1];
+        if (this.canonical.Image.test(url)) {
+          this.Wordss = { type: type, name: "图片" };
+          return console.log(this.Wordss);
+        }
+        if (this.canonical.File.test(url)) {
+          this.Wordss = { type: type, name: "文档" };
+          return console.log(this.Wordss);
+        }
+        if (this.canonical.vedio.test(url)) {
+          this.Wordss = { type: type, name: "视频" };
+          return console.log(this.Wordss);
+        } else return (this.Wordss = { type: type, name: type });
+      }
+    },
+		// 修改文件名称
+		updateFileName(){
+			if(!this.updateFile.fileName)return this.$message.error("请输入文件名称");
+			this.wordData.opinion[this.updateFile.index].fileName = this.updateFile.fileName;
+			this.dialogVisibleUpdateFile = false;
+			this.saveFile();
+		}
 		// downloadWord2() {
     //   // downloadPDF(
     //   //   this.$refs.myChild.$refs.pdfShow,
@@ -596,6 +894,7 @@ export default {
   mounted() {
     this.getProjectDepartmentData();
     this.getData();
+		this.getSignData();
     //   console.log(this.$route.query['pid']);
   },
 };

+ 304 - 48
src/views/projectApply/components/studentProjectWordShow.vue

@@ -1,59 +1,74 @@
 <template>
     <div  ref="pdfShow" id="studentProjectWord">
-        
         <table border="1" cellspacing="0" class="pdfTable">
           <div class="pdfTit">
             <div class="school">深圳技师学院</div>
-            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书</div>
             <div class="date">申请日期:{{downWordData.applicationDate}}</div>
           </div>
           <tr id="projectName">
             <td colspan="2" ref="projectName"><span class="jc">项目名称</span></td><td colspan="5" v-text='downWordData.projectName'></td>
           </tr>
           <tr id="radio">
-            <td rowspan="2" colspan="2" ref="radio"><span class="jc">项目分组</span></td><td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'√ 创意组':'□ 创意组'">
-            </td>
-            <td colspan="4">立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。</td>
+            <td rowspan="3" colspan="2" ref="radio"><span class="jc">大创项目</span></td>
+						<td v-text="downWordData.radio=='4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创新训练项目':'□ 创新训练项目'"></td>
+            <td colspan="4">学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作。</td>
           </tr> 
           <tr>
-            <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'□ 初创组':'√ 初创组'">
-            </td>
-            <td colspan="4">立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。</td>
+            <td v-text="downWordData.radio=='56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创业训练项目':'□ 创业训练项目'"></td>
+            <td colspan="4">学生团队在导师指导下,团队中每个学生在项目实施过程中扮演一个或多个具体角色,完成商业计划书编制、可行性研究、企业模拟运行、撰写创业报告等工作。</td>
+          </tr>
+					<tr>
+            <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'☑ 创业实践项目':'□ 创业实践项目'"></td>
+            <td colspan="4">学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。</td>
           </tr> 
           <tr id="checkList" >
             <td colspan="2" ref="checkList">
-              <span class="jc">优先支持项目</span><br>
-              <span>(可多选)</span>
+              <span class="jc">特色项目美丽校园改造计划</span><br>
             </td> 
             <td colspan="5">
-              <span  class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'√ ':'□ '"></span><span>大赛选拔项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'√ ':'□ '"></span><span>落地注册项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'√ ':'□ '"></span><span>社会征集项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'√ ':'□ '"></span><span>产业命题项目</span></span>
+							<span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span>
+              <!-- <span  class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>大赛选拔项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>落地注册项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>社会征集项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>产业命题项目</span></span> -->
             </td>
           </tr>
           <tr id="schoolRadio">
-            <td colspan="2" ref="schoolRadio"><span class="jc">美丽校园改造项目</span><br><span>(特色项目)</span></td> <td colspan="5">
-              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'√ ':'□ '"></span><span>校园安全项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'√ ':'□ '"></span><span>环境治理项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'√ ':'□ '"></span><span>校园服务项目</span></span>
-              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'√ ':'□ '"></span><span>文创装置项目</span></span>
+            <td colspan="2" ref="schoolRadio">
+							<span class="jc">优先支持项目</span><br><span>(可多选)</span>
+						</td> <td colspan="5" style="padding: 20px 0;">
+							<div style="display: flex;flex-direction: column;align-items: flex-start;">
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></span>
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('5')!=-1?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('6')!=-1?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('7')!=-1?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></span>
+							</div>
+							
+              <!-- <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span> -->
             </td>
           </tr>
-          <tr id="applyParsonRadio">
+          <!-- <tr id="applyParsonRadio">
             <td colspan="2" ref="applyParsonRadio" ><span class="jc">项目申请人</span></td>
             <td colspan="3">
-              <span v-text="downWordData['applyParsonRadio'].indexOf('1')!=-1?'√ ':'□ '"></span><span>在校学生</span>
-              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="1">在校学生</el-radio> -->
+              <span v-text="downWordData['applyParsonRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>在校学生</span>
             </td><td colspan="3">
-              <span v-text="downWordData['applyParsonRadio'].indexOf('2')!=-1?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
-              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+              <span v-text="downWordData['applyParsonRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
             </td>
-          </tr>
+          </tr> -->
           <tr id="applyParsonName">
             <td colspan="2" ref="applyParsonName"><span class="jc">申 请 人 姓 名</span></td><td colspan="1" v-text="downWordData.applyParsonName">
             </td>
-            <td ref="college"><span class="jc">参与学院/公司</span></td><td v-text="downWordData.dp">
+            <td ref="college"><span class="jc">所在学院/班级</span></td><td v-text="downWordData.dp">
             </td><td ref="tel"><span class="jc">联系电话</span></td><td v-text="downWordData.tel"></td>
           </tr>
           <tr id="beginTime">
@@ -67,7 +82,13 @@
           </tr>
           <tr id="studentS">
             <!-- <td :rowspan="downWordData.studentS.length+1" ref="studentS"><span class="jc">项目组</span><br><span class="jc">学生成员</span><br> (至少2 <br>个学院以上<br> 学生构成<br>,团队 5人以上)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td> -->
-            <td :rowspan="downWordData.studentS.length+1" ref="studentS"><span class="jc">项目组</span><br><span class="jc">学生成员</span><br></td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+            <td :rowspan="downWordData.studentS.length+1" ref="studentS" style="padding: 20px;">
+							<span class="jc">项目学生成员</span><br>
+							(至少2个学院以上学生构成,其中:1.创新项目、创业训练项目人数为5+3组成,其中不超过5名学生为项目主要成员,由初起二、三、四年级(高起一、二年级)学生组成,3名学生作为后备成员由一年级学生组成。2.创业实践项目人数为6+3组成,其中不超过6名学生为初起三、四、五年级(高起二、三年级)学生,3名学生作为后备成员由一年级学生组成。
+						</td>
+						<td>姓名</td>
+						<td colspan="2">所在学院/部门/专业</td>
+						<td colspan="3">项目组角色分工</td>
           </tr>
           <tr style="position: relative;" v-for="(item,index) in downWordData.studentS" :key="index+'a'">
             <td v-text="item.name"></td>
@@ -76,7 +97,13 @@
           </tr>
           <tr id="teacherS">
             <!-- <td :rowspan="downWordData.teacherS.length+1" ref="teacherS"><span class="jc">项目组</span><br><span class="jc"> 指导教师</span><br> (2个学院以上, <br>团队2-3人)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td> -->
-            <td :rowspan="downWordData.teacherS.length+1" ref="teacherS"><span class="jc">项目组</span><br><span class="jc"> 指导教师</span><br></td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+            <td :rowspan="downWordData.teacherS.length+1" ref="teacherS" style="padding: 20px;">
+							<span class="jc">项目组指导教师</span><br>
+							(2个学院以上, 2-3名指导教师,指导教师须有中级以上职称或研究生以上学历,创业实践项目除配备2名以上校内指导教师外,还须配备1名企业指导教师。)
+						</td>
+						<td>姓名</td>
+						<td colspan="2">所在学院/部门/专业</td>
+						<td colspan="3">项目组角色分工</td>
           </tr>
           <tr style="position: relative !important;" v-for="(item,index) in downWordData.teacherS" :key="index+'b'">
             <td v-text="item.name"></td>
@@ -85,7 +112,7 @@
           </tr>
           <tr id="brief">
             <td rowspan="5" ref="brief"> <span class="jc">研发</span><br><br> <span class="jc">内容</span></td><td colspan="6" class="textLeft">
-              <p>项目简介</p>
+              <p>项目简介(200-300字)</p>
               <div style="word-wrap: break-word;word-break: break-all;" v-text="downWordData.brief"></div>
             </td>
           </tr>
@@ -222,33 +249,107 @@
             </td>
           </tr>
           <tr>
-            <td><span class="jc">所在学院/</span><br><br> <span class="jc">部门意见</span></td>
+            <td>
+							<span class="jc">所在学院/</span><br><br> <span class="jc">部门初审意见</span>
+						</td>
             <td colspan="6" class="textLeft">
-
+							<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==4).length>0">
+								{{ signData.filter(i=>i.type==4)[0].text }}
+							</div>
               <div style="position: absolute;bottom: 20px;right: 100px;">
-                <div style="transform: translate(-100px);">负责人签章:</div>
-                <div>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+                <div style="transform: translate(-100px);">负责人签章:{{ signData&&signData.filter(i=>i.type==4).length?signData.filter(i=>i.type==4)[0].username:'' }}</div>
+                <div v-if="signData&&signData.filter(i=>i.type==4).length">{{ signData.filter(i=>i.type==4)[0].time}}</div>
+								<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
               </div>
             </td>
           </tr>
           <tr>
-            <td><span class="jc">财务部门</span><br><br> <span class="jc">意见</span></td>
+            <td><span class="jc">创新创业学院</span><br><br> <span class="jc">审核意见</span></td>
             <td colspan="6" class="textLeft">
+							<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==0).length>0">
+								{{ signData.filter(i=>i.type==0)[0].text }}
+							</div>
               <div style="position: absolute;bottom: 20px;right: 100px;">
-                <div style="transform: translate(-100px);">负责人签章:</div>
-                <div>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+                <div style="transform: translate(-100px);">负责人签章:{{ signData&&signData.filter(i=>i.type==0).length?signData.filter(i=>i.type==0)[0].username:'' }}</div>
+                <div v-if="signData&&signData.filter(i=>i.type==0).length">{{ signData.filter(i=>i.type==0)[0].time }}</div>
+								<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
               </div>
             </td>
           </tr>
-          <tr>
-            <td><span class="jc">创新创业</span><br> <span class="jc">学院审核</span><br> <span class="jc">意见</span></td>
-              <td colspan="6" class="textLeft">
-              <div style="position: absolute;bottom: 20px;right: 100px;">
-                <div style="transform: translate(-100px);">负责人签章:</div>
-                <div>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+					<tr>
+            <td><span class="jc">专家意见</span></td>
+            <td colspan="6" class="textLeft">
+							<!-- <el-button type="primary" style="position: absolute; right: 130px; top: 5px" v-if="![1,2].includes($store.state.userInfo.type)" @click="$emit('saveFile')">保存</el-button> -->
+							<beUpload
+              v-if="![1,2].includes($store.state.userInfo.type)"
+              style="position: absolute; right: 10px; top: 5px"
+              @getFile="getFile"
+              :navName="'上传文件'"
+              :accept="accept"
+              :progress="progress"
+            ></beUpload>
+						<el-progress
+              v-if="progress.show"
+              :percentage="progress.value"
+              :format="ProgressFormat"
+              style="width: 80%"
+            ></el-progress>
+						<div
+              :class="
+                downWordData.opinion.length > 0
+                  ? 'bigBlock'
+                  : 'noFileBox'
+              "
+            >
+              <div
+                class="fileBlock"
+                v-for="(item, index) in downWordData.opinion"
+                :key="index + 'l'"
+              >
+                <div class="fileBox">
+                  <div class="fileBoxLeft" @click="$emit('fileOption',item,index,'0')">
+										<!--  @click="checkFile(item.url)" -->
+                    <div class="chapter_upload_l_i3"></div>
+                    <div class="titName">{{ item.fileName }}</div>
+                  </div>
+                  <div class="fileBoxRight" v-if="![1,2].includes($store.state.userInfo.type)">
+                    <div class="chapter_upload_ud" style="z-index: 99">
+                      <div
+                        class="chapter_upload_up"
+												@click="$emit('fileOption',item,index,'1')"
+                      ></div>
+                      <div
+                        class="chapter_upload_down"
+												@click="$emit('fileOption',item,index,'2')"
+                      ></div>
+                    </div>
+                    <div
+                      class="chapter_upload_ic_edit"
+                      @click="$emit('fileOption',item,index,'3')"
+                    ></div>
+                    <div
+                      class="chapter_upload_ic_r"
+                      @click="$emit('fileOption',item,index,'4')"
+                    ></div>
+                  </div>
+                </div>
               </div>
+            </div>
             </td>
           </tr>
+          <tr>
+            <td><span class="jc">学校终审意见</span></td>
+              <td colspan="6" class="textLeft">
+								<div class="reviewComments" v-if="signData && signData.filter(i=>i.type==3).length>0">
+									{{ signData.filter(i=>i.type==3)[0].text }}
+								</div>
+            	  <div style="position: absolute;bottom: 20px;right: 100px;">
+            	    <div style="transform: translate(-100px);">负责人签章:{{ signData&&signData.filter(i=>i.type==3).length?signData.filter(i=>i.type==3)[0].username:'' }}</div>
+            	    <div v-if="signData&&signData.filter(i=>i.type==3).length">{{ signData.filter(i=>i.type==3)[0].time }}</div>
+									<div v-else>年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            	  </div>
+            	</td>
+          </tr>
           <div class="notes">
             <span>备注:</span>
             <span>1.表格可顺延或另附页。</span>
@@ -263,22 +364,39 @@
     </template>
       
     <script>
+		import beUpload from "@/components/tool/beUpload";
+
   // import {downloadPDF} from '@/components/tool/pdf'
 
       export default {
-        props:['reversedMessage','downWordData'],
+				emit:["getFile","fileOption","saveFile"],
+        props:['reversedMessage','downWordData','signData'],
+				components:{
+					beUpload
+				},
         data() {
           return {
-
-            }
+						accept:"*",
+						progress: {
+      			  value: 0,
+      			  show: false,
+      			},
+          }
         },
         methods: {
+					getFile(file){
+						this.$emit("getFile",file)
+						this.progress.show = false;
+					},
+					ProgressFormat(value) {
+    			  //进度条
+    			  return value == 100 ? "100%" : `${value}%`;
+    			},
           // downpdf(){
           //     downloadPDF(this.$refs.pdf)
           // },
         },
         computed:{   //经费总合
-
         },
         mounted(){
 
@@ -288,13 +406,13 @@
       
     <style lang="less" scoped>
     #studentProjectWord{
-        width: 1200px;
+        width: 1400px;
         display: flex;
         flex-direction: column;
         align-items: center;
         background-color: #ffff;
         margin: 0;
-        padding: 40px 0px;
+        padding: 40px 100px;
         box-sizing:border-box;
         #title{
             width: 100%;
@@ -400,5 +518,143 @@
       // }
     .jc{
       font-weight: 600;
+    }
+		.noFileBox {
+      width: 98%;
+      min-height: 200px;
+      display: flex;
+      flex-direction: column;
+      flex-wrap: nowrap;
+      align-items: flex-start;
+    }
+    .bigBlock {
+      width: 98%;
+      min-height: 200px;
+      display: flex;
+      flex-direction: column;
+      flex-wrap: nowrap;
+      align-items: flex-start;
+      border: 1px solid #cad1dc;
+      border-radius: 4px;
+      padding: 10px;
+      margin: 50px 0 0 0;
+      .fileBlock {
+        width: 98%;
+        margin-right: 20px;
+        position: relative;
+        border-radius: 5%;
+        padding: 5px 0 5px 0;
+        border-bottom: 1px solid #cad1dc;
+        .fileBox {
+          display: flex;
+          flex-direction: row;
+          flex-wrap: nowrap;
+          justify-content: space-between;
+          align-items: center;
+
+          .fileBoxLeft {
+            cursor: pointer;
+            display: flex;
+            flex-direction: row;
+            flex-wrap: nowrap;
+            align-items: center;
+            .chapter_upload_l_i3 {
+              width: 15px;
+              height: 15px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              background-image: url("../../../assets/img/u_video.png");
+            }
+            .titName {
+              width: calc(100% - 15px);
+              white-space: nowrap;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              word-break: break-word;
+              text-align: left;
+              margin-left: 10px;
+              max-width: 800px;
+            }
+          }
+          .fileBoxRight {
+            cursor: pointer;
+            display: flex;
+            flex-direction: row;
+            flex-wrap: nowrap;
+            align-items: center;
+            .chapter_upload_ud {
+              display: flex;
+              flex-direction: row;
+              justify-content: center;
+              margin: 0 10px 0 0;
+              .chapter_upload_up {
+                margin-right: 10px !important;
+              }
+              .chapter_upload_down,
+              .chapter_upload_up {
+                width: 20px;
+                height: 20px;
+                background: #e4eaf2;
+                cursor: pointer;
+                margin: 0 auto;
+                border-radius: 5px;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+              }
+            }
+            .chapter_upload_up::after,
+            .chapter_upload_down::after {
+              content: "";
+              background-image: url("../../../assets/img/downBtn.png");
+              width: 13px;
+              height: 13px;
+              background-size: 100% 100%;
+              display: block;
+            }
+
+            .chapter_upload_up::after {
+              background-image: url("../../../assets/img/upBtn.png") !important;
+            }
+            .chapter_upload_ic_edit {
+              width: 18px;
+              height: 18px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              margin-right: 10px;
+              background-image: url("../../../assets/img/edit_u.png");
+            }
+            .chapter_upload_ic_r {
+              width: 18px;
+              height: 18px;
+              background-repeat: no-repeat;
+              background-size: 100% 100%;
+              background-image: url("../../../assets/img/delete_u.png");
+            }
+          }
+        }
+      }
+      .masking-out {
+        width: 100px;
+        height: 135px;
+        position: absolute;
+        top: 0;
+        left: 0;
+        display: none;
+        border-radius: 5%;
+        background: #00000053;
+        .delete {
+          cursor: pointer;
+          margin-left: 50%;
+          margin-top: 50%;
+          transform: translate(-50%, -50%);
+        }
+        .delete:hover {
+          color: #fff;
+        }
+      }
+      .fileBlock:hover .masking-out {
+        display: block;
+      }
     }
     </style>

+ 71 - 18
src/views/projectApply/newStudentProjectApply.vue

@@ -12,8 +12,8 @@
       :wordData="wordData"
       :reversedMessage="reversedMessage"
     />
-
     <div style="position: fixed; bottom: 5%; right: 2%">
+			<el-button @click="saveDraft" type="primary">保存草稿</el-button>
       <el-button @click="test" type="primary">提交项目</el-button>
     </div>
 
@@ -68,8 +68,23 @@ export default {
         tel: "",
         beginTime: "",
         endTime: "",
-        studentS: [{ name: "", collage: "", work: "" }],
-        teacherS: [{ name: "", collage: "", work: "" }],
+        studentS: [
+					{ name: "", collage: "", work: "" },
+					{ name: "", collage: "", work: "" },
+					{ name: "", collage: "", work: "" },
+					{ 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: "" },
+					{ name: "", collage: "", work: "" },
+					{ name: "", collage: "", work: "" }
+				],
         brief: "",
         introduce: {
           back: "",
@@ -95,6 +110,7 @@ export default {
           activities: "",
           Transaction: "",
         },
+				opinion:[],
       },
     };
   },
@@ -159,15 +175,15 @@ export default {
           //     return false;
           //   }
           //   break;
-          case "applyParsonRadio":
-            if (this.wordData[i].length == 0) {
-              this.$message.error("请选择项目申请人");
-              document
-                .querySelector("#applyParsonRadio")
-                .scrollIntoView({ behavior: "smooth" });
-              return false;
-            }
-            break;
+          // case "applyParsonRadio":
+          //   if (this.wordData[i].length == 0) {
+          //     this.$message.error("请选择项目申请人");
+          //     document
+          //       .querySelector("#applyParsonRadio")
+          //       .scrollIntoView({ behavior: "smooth" });
+          //     return false;
+          //   }
+          //   break;
           case "applyParsonName":
             if (cEmpty.test(this.wordData[i])) {
               this.$message.error("请填写申请人姓名");
@@ -336,8 +352,10 @@ export default {
               if (result["data"] == 1) {
                 this.$message.success("项目提交成功");
                 //提交项目成功,查看sessionStore是否有数据,有则删
-                if (localStorage.getItem("StudentProjectApplyData"))
-                  localStorage.removeItem("StudentProjectApplyData");
+                if (localStorage.getItem("StudentProjectApplyData")){
+									localStorage.removeItem("StudentProjectApplyData");
+								}
+                this.ajax.post(this.$store.state.api+"/delDraft",{userid:this.$store.state.userInfo.userid,type:0})
                 this.$router.push("/projectApplication");
               } else {
                 this.$message.error("项目提交失败");
@@ -358,12 +376,47 @@ export default {
         JSON.stringify(this.wordData)
       );
     },
+		// 保存草稿
+		saveDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:0,
+				jsonData:encodeURIComponent(JSON.stringify(this.wordData))
+			}
+			this.ajax.post(this.$store.state.api + "/saveDraft",params).then(res=>{
+				if(res.data==1){
+					this.$message.success("保存成功")
+				}else{
+					this.$message.error("保存失败")
+				}
+				this.loading = false;
+			})
+		},
+		//获取草稿
+		getDraft(){
+			if(this.loading)return this.$message.info('请稍等...');
+			this.loading = true;
+			let params = {
+				userid:this.$store.state.userInfo.userid,
+				type:0,
+			}
+			this.ajax.get(this.$store.state.api + "/getDraft",params).then(res=>{
+				if(res.data[0].length){
+					this.wordData = JSON.parse(res.data[0][0].json)
+				}else{
+					if (localStorage.getItem("StudentProjectApplyData"))
+      		this.wordData = JSON.parse(
+      		  localStorage.getItem("StudentProjectApplyData")
+      		);
+				}
+				this.loading = false;
+			})
+		}
   },
   mounted() {
-    if (localStorage.getItem("StudentProjectApplyData"))
-      this.wordData = JSON.parse(
-        localStorage.getItem("StudentProjectApplyData")
-      );
+		this.getDraft();
     window.addEventListener("beforeunload", () => this.saveData());
   },
 

+ 19 - 6
src/views/projectApply/projectApplication.vue

@@ -116,6 +116,7 @@
         class="fontSize"
         :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
         @selection-change="handleSelectionChange"
+				@cell-click="cellProjectClick"
       >
         <!-- selection-change批量选择功能后续可能用到 -->
         <!-- 
@@ -234,7 +235,7 @@
               <el-button
                 type="primary"
                 size="mini"
-                @click="lookDetail(scope.row.courseId, scope.row.typeid)"
+                @click.stop="lookDetail(scope.row.courseId, scope.row.typeid)"
                 class="btnClass"
                 >查看详情</el-button
               >
@@ -242,7 +243,7 @@
               <el-button
                 type="primary"
                 v-if="scope.row.isupload == 0"
-                @click="audit(scope.row, 0)"
+                @click.stop="audit(scope.row, 0)"
                 class="btnClass"
                 >提交</el-button
               >
@@ -299,7 +300,7 @@
                 type="primary"
                 size="mini"
                 class="btnClass"
-                @click="audit(scope.row, 1)"
+                @click.stop="audit(scope.row, 1)"
                 >审核</el-button
               >
 
@@ -337,7 +338,7 @@
                 type="primary"
                 class="btnClass"
                 size="mini"
-                @click="del(scope.row)"
+                @click.stop="del(scope.row)"
                 >删除</el-button
               >
             </div>
@@ -741,10 +742,14 @@ export default {
       // console.log(val);
       this.multipleSelection = val;
     },
+		// 单元格被点击
+		cellProjectClick(row, column, cell, event){
+			if(column.property!="operation"){
+				this.lookDetail(row.courseId,row.typeid)
+			}
+		},
 
     lookDetail(val, tid) {
-      //查看详情按钮
-      // localStorage.setItem("pid",JSON.stringify(val))
       this.$router.push(`/projectApplicationDetailMain?tid=${tid}&pid=${val}`);
     },
     // apply(){     //项目立项申请按钮
@@ -876,5 +881,13 @@ export default {
     max-width: 70px;
     min-width: 70px;
   }
+	/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
 }
 </style>

+ 16 - 1
src/views/projectManage/ProjectManagement.vue

@@ -142,6 +142,7 @@
         stripe
         class="fontSize"
         :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
+				@cell-click="cellProjectClick"
       >
         <el-table-column
           prop="ProjectNo"
@@ -1014,6 +1015,12 @@ export default {
         }, 500);
       }, 500);
     },
+		// 单元格被点击
+		cellProjectClick(row, column, cell, event){
+			if(column.property!="operation"){
+				this.scheduleDetail(row.courseId,row.typeid)
+			}
+		},
   },
 
   mounted() {
@@ -1022,8 +1029,16 @@ export default {
 };
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 .ProjectManagement {
+	/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
   // .pagination{
   //   float: right;
   //   margin: 0px 85px 10px;

+ 29 - 19
src/views/projectManage/components/Closingstatement.vue

@@ -61,13 +61,16 @@
         </td>
       </tr>
       <tr>
-        <td colspan="2">项目类型</td>
+        <td colspan="2">大创项目</td>
         <td>学生申报</td>
         <td colspan="2" style="padding: 0 30px; box-sizing: border-box">
-          <span
+					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创新训练项目</span>
+					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创业训练项目</span>
+					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"? "☑": "□") }}创业实践项目</span>
+          <!-- <span
             >{{
               (myArrayProp[0].typeName = "f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
-                ? "√"
+                ? ""
                 : "□")
             }}创意组</span
           >
@@ -75,9 +78,9 @@
             >{{
               (myArrayProp[0].typeName = "f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
                 ? "□"
-                : "")
+                : "")
             }}初创组</span
-          >
+          > -->
         </td>
         <td>学院申报</td>
         <td colspan="2"><span>□创客空间建设</span></td>
@@ -96,16 +99,23 @@
       </tr>
       <tr>
         <td colspan="2">优先支持项目 <br />(可多选)</td>
-        <td colspan="8" v-if="myArrayProp[0].multiSelectProject != null">
-          {{
-            myArrayProp[0].multiSelectProject.includes("1") ? "" : "□"
+        <td colspan="8" v-if="myArrayProp[0].multiSelectProject != null" style="height: auto;text-align: left;">
+          <!-- {{
+            myArrayProp[0].multiSelectProject.includes("1") ? "" : "□"
           }}大赛选拔项目
-          {{ myArrayProp[0].multiSelectProject.includes("2") ? "" : "□" }}
+          {{ myArrayProp[0].multiSelectProject.includes("2") ? "" : "□" }}
           落地注册项目
-          {{ myArrayProp[0].multiSelectProject.includes("3") ? "" : "□" }}
+          {{ myArrayProp[0].multiSelectProject.includes("3") ? "" : "□" }}
           社会征集项目
-          {{ myArrayProp[0].multiSelectProject.includes("4") ? "√" : "□" }}
-          产业命题项目
+          {{ myArrayProp[0].multiSelectProject.includes("4") ? "☑" : "□" }}
+          产业命题项目 -->
+					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('1')?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('2')?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('3')?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('4')?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></div>
+					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('5')?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('6')?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('7')?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></div>
         </td>
         <td colspan="8" v-if="myArrayProp[0].multiSelectProject == null">
           □大赛选拔项目 □落地注册项目 □ 社会征集项目 □产业命题项目
@@ -114,10 +124,10 @@
       <tr>
         <td colspan="2">美丽校园改造项目 <br />(单选)</td>
         <td colspan="8">
-          {{ myArrayProp[0].schoolRemould == "1" ? "√" : "□" }}校园安全项目
-          {{ myArrayProp[0].schoolRemould == "2" ? "√" : "□" }}环境治理项目
-          {{ myArrayProp[0].schoolRemould == "3" ? "√" : "□" }} 校园服务项目
-          {{ myArrayProp[0].schoolRemould == "4" ? "√" : "□" }} 文创装置项目
+          {{ myArrayProp[0].schoolRemould.includes("1") ? "☑" : "□" }}校园安全项目
+          {{ myArrayProp[0].schoolRemould.includes("2") ? "☑" : "□" }}环境治理项目
+          {{ myArrayProp[0].schoolRemould.includes("3") ? "☑" : "□" }} 校园服务项目
+          {{ myArrayProp[0].schoolRemould.includes("4") ? "☑" : "□" }} 文创装置项目
         </td>
       </tr>
       <tr>
@@ -1044,7 +1054,7 @@
       <tbody>
         <tr style="height: 350px">
           <td class="vertical">
-            所在学院/部门意见
+            所在学院/部门初审意见
           </td>
           <td colspan="7" style="position: relative">
             <div
@@ -1093,7 +1103,7 @@
       </tr> -->
       <tbody>
         <tr style="height: 350px">
-          <td class="vertical">双创学院意见</td>
+          <td class="vertical">创新创业学院审核意见</td>
           <td colspan="7" style="position: relative">
             <div
               v-if="qpList.length && qpList[1] && qpList[1].type == 3"
@@ -1159,7 +1169,7 @@
       </tbody>
       <tbody>
         <tr style="height: 350px">
-          <td class="vertical" style="height: 350px">学校审意见</td>
+          <td class="vertical" style="height: 350px">学校审意见</td>
           <td colspan="7">
             <div
               style="

+ 2 - 2
src/views/projectManage/components/MakerSpaceWordShow.vue

@@ -522,12 +522,12 @@ export default {
       
     <style lang="less" scoped>
 #MakerSpaceWord {
-  width: 100%;
+  width: 1400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: white;
-  padding: 40px 100px;
+  padding: 40px 40px;
   box-sizing: border-box;
   #title {
     width: 100%;

+ 35 - 69
src/views/projectManage/components/studentProjectWordShow.vue

@@ -3,7 +3,7 @@
     <table border="1" cellspacing="0" class="table">
       <div id="title">
         <div class="school">深圳技师学院</div>
-        <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+        <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书模版</div>
         <div class="date">申请日期:{{ downWordData.applyProjectTime }}</div>
       </div>
 
@@ -11,32 +11,20 @@
         <td colspan="2" ref="projectName">项目名称</td>
         <td colspan="5" v-text="downWordData.projectName"></td>
       </tr>
-      <tr id="radio">
-        <td rowspan="2" colspan="2" ref="radio">项目分组</td>
-        <td
-          v-text="
-            downWordData.radio == 'ed917c55-f51d-11ed-a3f6-509a4c5b67cf'
-              ? '√ 创意组'
-              : '□ 创意组'
-          "
-        ></td>
-        <td colspan="4">
-          立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。
-        </td>
-      </tr>
+			<tr id="radio">
+        <td rowspan="3" colspan="2" ref="radio"><span class="jc">大创项目</span></td>
+				<td v-text="downWordData.radio=='4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创新训练项目':'□ 创新训练项目'"></td>
+        <td colspan="4">学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作。</td>
+      </tr> 
       <tr>
-        <td
-          v-text="
-            downWordData.radio == 'ed917c55-f51d-11ed-a3f6-509a4c5b67cf'
-              ? '□ 初创组'
-              : '√ 初创组'
-          "
-        ></td>
-        <td colspan="4">
-          立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。
-        </td>
-      </tr>
-      <tr id="checkList" class="checkArea" v-if="downWordData['checkList'].length > 0">
+        <td v-text="downWordData.radio=='56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创业训练项目':'□ 创业训练项目'"></td>
+        <td colspan="4">学生团队在导师指导下,团队中每个学生在项目实施过程中扮演一个或多个具体角色,完成商业计划书编制、可行性研究、企业模拟运行、撰写创业报告等工作。</td>
+      </tr>
+			<tr>
+        <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'☑ 创业实践项目':'□ 创业实践项目'"></td>
+        <td colspan="4">学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。</td>
+      </tr> 
+      <!-- <tr id="checkList" class="checkArea" v-if="downWordData['checkList'].length > 0">
         <td colspan="2" ref="checkList">优先支持项目(可多选)</td>
         <td colspan="5">
           <span
@@ -68,51 +56,29 @@
             ></span
           >
         </td>
-      </tr>
+      </tr> -->
       <tr id="schoolRadio" class="checkArea" v-if="downWordData['schoolRadio'].length > 0">
         <td colspan="2" ref="schoolRadio">美丽校园改造项目(特色项目)</td>
         <td colspan="5">
-          <span
-            ><span
-              v-text="downWordData['schoolRadio'].indexOf('1') != -1 ? '√ ' : '□ '"
-            ></span
-            ><span>校园安全项目</span></span
-          >
-          <span
-            ><span
-              v-text="downWordData['schoolRadio'].indexOf('2') != -1 ? '√ ' : '□ '"
-            ></span
-            ><span>环境治理项目</span></span
-          >
-          <span
-            ><span
-              v-text="downWordData['schoolRadio'].indexOf('3') != -1 ? '√ ' : '□ '"
-            ></span
-            ><span>校园服务项目</span></span
-          >
-          <span
-            ><span
-              v-text="downWordData['schoolRadio'].indexOf('4') != -1 ? '√ ' : '□ '"
-            ></span
-            ><span>文创装置项目</span></span
-          >
+					<span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+          <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+          <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+          <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span>
         </td>
       </tr>
-      <tr id="applyParsonRadio" v-if="downWordData['applyParsonRadio'].length > 0">
-        <td colspan="2" ref="applyParsonRadio">项 目 申 请 人</td>
-        <td colspan="2">
-          <span
-            v-text="downWordData['applyParsonRadio'].indexOf('1') != -1 ? '√ ' : '□ '"
-          ></span
-          ><span>在校学生</span>
-          <!-- <el-radio v-model="downWordData.applyParsonRadio" label="1">在校学生</el-radio> -->
-        </td>
-        <td colspan="3">
-          <span
-            v-text="downWordData['applyParsonRadio'].indexOf('2') != -1 ? '√ ' : '□ '"
-          ></span
-          ><span>入驻学校孵化基地的初创企业法人</span>
-          <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+			<tr id="schoolRadio">
+        <td colspan="2" ref="schoolRadio">
+					<span class="jc">优先支持项目</span><br><span>(可多选)</span>
+				</td> <td colspan="5" style="padding: 20px 0;">
+					<div style="display: flex;flex-direction: column;align-items: flex-start;padding-left: 20px;">
+						<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></span>
+          	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></span>
+          	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></span>
+          	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></span>
+						<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('5')!=-1?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></span>
+          	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('6')!=-1?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></span>
+          	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('7')!=-1?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></span>
+					</div>
         </td>
       </tr>
       <tr id="applyParsonName">
@@ -436,13 +402,13 @@ export default {
       
     <style lang="less" scoped>
 #studentProjectWord {
-  width: 100%;
+  width: 1400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background-color: #ffff;
-  margin: 0;
-  padding: 40px 100px;
+  margin: auto;
+  padding: 40px 40px;
   box-sizing: border-box;
   #title {
     width: 100%;

+ 22 - 9
src/views/projectSettlement/components/projectSettlementBook.vue

@@ -74,13 +74,15 @@
         <td
           colspan="2"
           style="
-            text-align: justify;
-            text-align-last: justify;
+						text-align: left;
             padding: 0 30px;
             box-sizing: border-box;
           "
         >
-          <span
+				<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创新训练项目</span>
+				<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创业训练项目</span>
+				<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"? "☑": "□") }}创业实践项目</span>
+          <!-- <span
             >{{
               (myArrayProp[0].typeName = "f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
                 ? "√"
@@ -93,7 +95,7 @@
                 ? "□"
                 : "√")
             }}初创组</span
-          >
+          > -->
         </td>
         <td>学院申报</td>
         <td colspan="2"><span>□创客空间建设</span></td>
@@ -113,8 +115,15 @@
       </tr>
       <tr>
         <td colspan="2">优先支持项目 <br />(可多选)</td>
-        <td colspan="8" v-if="myArrayProp[0].multiSelectProject != null">
-          {{
+        <td colspan="8" v-if="myArrayProp[0].multiSelectProject != null" style="text-align:left">
+					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('1')?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('2')?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('3')?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('4')?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></div>
+					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('5')?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('6')?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></div>
+          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('7')?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></div>
+          <!-- {{
             myArrayProp[0].multiSelectProject.includes("1") ? "√" : "□"
           }}大赛选拔项目
           {{ myArrayProp[0].multiSelectProject.includes("2") ? "√" : "□" }}
@@ -122,7 +131,7 @@
           {{ myArrayProp[0].multiSelectProject.includes("3") ? "√" : "□" }}
           社会征集项目
           {{ myArrayProp[0].multiSelectProject.includes("4") ? "√" : "□" }}
-          产业命题项目
+          产业命题项目 -->
         </td>
         <td colspan="8" v-if="myArrayProp[0].multiSelectProject == null">
           □大赛选拔项目 □落地注册项目 □ 社会征集项目 □产业命题项目
@@ -131,10 +140,14 @@
       <tr>
         <td colspan="2">美丽校园改造项目 <br />(单选)</td>
         <td colspan="8">
-          {{ myArrayProp[0].schoolRemould == "1" ? "√" : "□" }}校园安全项目
+					{{ myArrayProp[0].schoolRemould.includes("1") ? "☑" : "□" }}校园安全项目
+          {{ myArrayProp[0].schoolRemould.includes("2") ? "☑" : "□" }}环境治理项目
+          {{ myArrayProp[0].schoolRemould.includes("3") ? "☑" : "□" }} 校园服务项目
+          {{ myArrayProp[0].schoolRemould.includes("4") ? "☑" : "□" }} 文创装置项目
+          <!-- {{ myArrayProp[0].schoolRemould == "1" ? "√" : "□" }}校园安全项目
           {{ myArrayProp[0].schoolRemould == "2" ? "√" : "□" }}环境治理项目
           {{ myArrayProp[0].schoolRemould == "3" ? "√" : "□" }} 校园服务项目
-          {{ myArrayProp[0].schoolRemould == "4" ? "√" : "□" }} 文创装置项目
+          {{ myArrayProp[0].schoolRemould == "4" ? "√" : "□" }} 文创装置项目 -->
         </td>
       </tr>
       <tr>

+ 4 - 1
src/views/projectSettlement/components/studentProjectWordShow.vue

@@ -2,7 +2,7 @@
     <div id="studentProjectWord" ref="downPDF">
         <div id="title">
             <div class="school">深圳技师学院11</div>
-            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书模版</div>
             <div class="date">申请日期:{{downWordData.applicationDate}}</div>
         </div>
         <table border="1" cellspacing="0" class="table">
@@ -329,6 +329,9 @@
               .then(res=>{
                   let data=res.data[0][0];
                   let wordData = {};
+									console.log("+++++++++++++++++++")
+									console.log(data)
+									wordData.applicationDate = data.applyProjectTime;
                   wordData.projectName=data.title;
                   wordData.radio=data.typeName;
                   wordData.checkList=JSON.parse(data.multiSelectProject);

+ 59 - 44
src/views/projectSettlement/components/studentProjectWordShowNew.vue

@@ -5,58 +5,72 @@
 
             <div id="title">
                 <div class="school">深圳技师学院</div>
-                <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+                <div class="wordTitle">2024年校级学生创新创业训练计划项目申报书模版</div>
                 <div class="date">申请日期:{{downWordData.applicationDate}}</div>
             </div>
           <tr id="projectName">
             <td colspan="2" ref="projectName">项目名称</td><td colspan="5" v-text='downWordData.projectName'></td>
           </tr>
-          <tr id="radio">
-            <td rowspan="2" colspan="2" ref="radio">项目分组</td><td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'√ 创意组':'□ 创意组'">
-            </td>
-            <td colspan="4">立项项目为新立项项目,项目成果应具有较好的创意和较为成型的产品原型或能提供较好的商业模式,产生较好的社会效益。</td>
+					<tr id="radio">
+            <td rowspan="3" colspan="2" ref="radio"><span class="jc">大创项目</span></td>
+						<td v-text="downWordData.radio=='4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创新训练项目':'□ 创新训练项目'"></td>
+            <td colspan="4">学生个人或团队,在导师指导下,自主完成创新性研究项目设计、研究条件准备和项目实施、研究报告撰写、成果(学术)交流等工作。</td>
           </tr> 
           <tr>
-            <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'□ 初创组':'√ 初创组'">
-            </td>
-            <td colspan="4">立项项目为学校已结题学生创客项目或已入驻学校创业孵化基地的学生初创企业项目(毕业两年内),项目成果应为原结题项目基础上的技术升级、企业注册、规模扩张。</td>
+            <td v-text="downWordData.radio=='56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5'?'☑ 创业训练项目':'□ 创业训练项目'"></td>
+            <td colspan="4">学生团队在导师指导下,团队中每个学生在项目实施过程中扮演一个或多个具体角色,完成商业计划书编制、可行性研究、企业模拟运行、撰写创业报告等工作。</td>
+          </tr>
+					<tr>
+            <td v-text="downWordData.radio=='ed917c55-f51d-11ed-a3f6-509a4c5b67cf'?'☑ 创业实践项目':'□ 创业实践项目'"></td>
+            <td colspan="4">学生团队在学校导师和企业导师共同指导下,采用创新训练项目或创新性实验等成果,提出具有市场前景的创新性产品或服务,以此为基础开展创业实践活动。</td>
           </tr> 
-          <tr id="checkList" class="checkArea">
+          <!-- <tr id="checkList" class="checkArea">
             <td colspan="2" ref="checkList">优先支持项目(可多选)</td> <td colspan="5">
-              <span><span v-text="downWordData['checkList'].indexOf('1')!=-1?'√ ':'□ '"></span><span>大赛选拔项目</span></span>
-              <span><span v-text="downWordData['checkList'].indexOf('2')!=-1?'√ ':'□ '"></span><span>落地注册项目</span></span>
-              <span><span v-text="downWordData['checkList'].indexOf('3')!=-1?'√ ':'□ '"></span><span>社会征集项目</span></span>
-              <span><span v-text="downWordData['checkList'].indexOf('4')!=-1?'√ ':'□ '"></span><span>产业命题项目</span></span>
-              
-              <!-- <el-checkbox-group v-model="downWordData.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> -->
+              <span><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>大赛选拔项目</span></span>
+              <span><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>落地注册项目</span></span>
+              <span><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>社会征集项目</span></span>
+              <span><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>产业命题项目</span></span>
             </td>
-          </tr>
+          </tr> -->
           <tr id="schoolRadio" class="checkArea">
             <td colspan="2" ref="schoolRadio">美丽校园改造项目(特色项目)</td> <td colspan="5">
-              <span><span v-text="downWordData['schoolRadio']=='1'?'√ ':'□ '"></span><span>校园安全项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='2'?'√ ':'□ '"></span><span>环境治理项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='3'?'√ ':'□ '"></span><span>校园服务项目</span></span>
-              <span><span v-text="downWordData['schoolRadio']=='4'?'√ ':'□ '"></span><span>文创装置项目</span></span>
+							<span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span>
               <!-- <el-radio v-model="downWordData.schoolRadio" label="1">校园安全项目</el-radio>
               <el-radio v-model="downWordData.schoolRadio" label="2">环境治理项目</el-radio>
               <el-radio v-model="downWordData.schoolRadio" label="3">校园服务项目</el-radio>
               <el-radio v-model="downWordData.schoolRadio" label="4">文创装置项目</el-radio> -->
             </td>
           </tr>
-          <tr id="applyParsonRadio">
+					<tr id="schoolRadio">
+            <td colspan="2" ref="schoolRadio">
+							<span class="jc">优先支持项目</span><br><span>(可多选)</span>
+						</td> <td colspan="5" style="padding: 20px 0;">
+							<div style="display: flex;flex-direction: column;align-items: flex-start;padding-left: 20px;">
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></span>
+								<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('5')!=-1?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('6')!=-1?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></span>
+              	<span class="checkAreaBlc"><span v-text="downWordData['checkList'].indexOf('7')!=-1?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></span>
+							</div>
+							
+              <!-- <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('1')!=-1?'☑ ':'□ '"></span><span>校园安全项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('2')!=-1?'☑ ':'□ '"></span><span>环境治理项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('3')!=-1?'☑ ':'□ '"></span><span>校园服务项目</span></span>
+              <span class="checkAreaBlc"><span v-text="downWordData['schoolRadio'].indexOf('4')!=-1?'☑ ':'□ '"></span><span>文创装置项目</span></span> -->
+            </td>
+          </tr>
+          <!-- <tr id="applyParsonRadio">
             <td colspan="2" ref="applyParsonRadio" >项 目 申 请 人</td><td colspan="2">
-              <span v-text="downWordData['applyParsonRadio']=='1'?'√ ':'□ '"></span><span>在校学生</span>
-              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="1">在校学生</el-radio> -->
+              <span v-text="downWordData['applyParsonRadio']=='1'?'☑ ':'□ '"></span><span>在校学生</span>
             </td><td colspan="3">
-              <span v-text="downWordData['applyParsonRadio']=='2'?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
-              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+              <span v-text="downWordData['applyParsonRadio']=='2'?'☑ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
             </td>
-          </tr>
+          </tr> -->
           <tr id="applyParsonName">
             <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1" v-text="downWordData.applyParsonName">
             </td>
@@ -73,7 +87,7 @@
             <td>参与教师人数</td><td v-text="downWordData.teacherS.length"></td>
           </tr>
           <tr id="studentS">
-            <td :rowspan="downWordData.studentS.length+1" ref="studentS">项目组学生成员(至少2个学院以上学生构成,团队5人以上)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+            <td :rowspan="downWordData.studentS.length+1" ref="studentS" style="padding:10px"><span style="margin-bottom: 5px;">项目组学生成员</span></td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
           </tr>
           <tr style="position: relative;" v-for="(item,index) in downWordData.studentS" :key="index+'a'">
             <td v-text="item.name"></td>
@@ -81,7 +95,7 @@
             <td colspan="3" v-text="item.work"></td>
           </tr>
           <tr id="teacherS">
-            <td :rowspan="downWordData.teacherS.length+1" ref="teacherS">项目组指导教师(2个学院以上,团队2-3人)</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
+            <td :rowspan="downWordData.teacherS.length+1" ref="teacherS">项目组指导教师</td><td>姓名</td><td colspan="2">所在学院/部门/专业</td><td colspan="3">项目组角色分工</td>
           </tr>
           <tr style="position: relative !important;" v-for="(item,index) in downWordData.teacherS" :key="index+'b'">
             <td v-text="item.name"></td>
@@ -177,25 +191,25 @@
           </tr>
           <tr>
             <td colspan="2">小型仪器设备费</td>
-            <td v-text="downWordData.fund.facility">
+            <td v-text="downWordData.fund.device">
             </td><td colspan="2">
               项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">材料费</td><td v-text="downWordData.fund.materials">
+            <td colspan="2">材料费</td><td v-text="downWordData.fund.Material">
             </td><td colspan="2">
               项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">测试化验加工费</td><td v-text="downWordData.fund.process">
+            <td colspan="2">测试化验加工费</td><td v-text="downWordData.fund.processing">
             </td><td colspan="2">
               项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">项目协作费</td><td v-text="downWordData.fund.assist">
+            <td colspan="2">项目协作费</td><td v-text="downWordData.fund.Collaboration">
             </td><td colspan="2">
               按合同规定支付给协作单位的费用
             </td>
@@ -205,25 +219,25 @@
             <td rowspan="5">间接费用</td>
           </tr>
           <tr>
-            <td colspan="2">项目成果鉴定费</td><td v-text="downWordData.fund.authenticate">
+            <td colspan="2">项目成果鉴定费</td><td v-text="downWordData.fund.APPRAISAL">
             </td><td colspan="2">
               学术会务费、评审费、鉴定费、成果集制作费等费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">参展参赛费</td><td v-text="downWordData.fund.match">
+            <td colspan="2">参展参赛费</td><td v-text="downWordData.fund.entery">
             </td><td colspan="2">
               参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">创客交流活动费</td><td v-text="downWordData.fund.activity">
+            <td colspan="2">创客交流活动费</td><td v-text="downWordData.fund.activities">
             </td><td colspan="2">
               创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
             </td>
           </tr>
           <tr>
-            <td colspan="2">知识产权事务费</td><td v-text="downWordData.fund.affair">
+            <td colspan="2">知识产权事务费</td><td v-text="downWordData.fund.Transaction">
             </td><td colspan="2">
               论文版面费、专利及其他知识产权事务等费用。
             </td>
@@ -331,6 +345,7 @@
               .then(res=>{
                   let data=res.data[0][0];
                   let wordData = {};
+									wordData.applicationDate = data.applyProjectTime
                   wordData.projectName=data.title;
                   wordData.radio=data.typeName;
                   wordData.checkList=JSON.parse(data.multiSelectProject);
@@ -367,13 +382,13 @@
       
     <style lang="less" scoped>
     #studentProjectWord{
-        width: 100%;
+        width: 1400px;
         display: flex;
         flex-direction: column;
         align-items: center;
         background-color: #ffff;
-        margin: 0;
-        padding: 40px 100px;
+        margin: auto;
+        padding: 40px 40px;
         box-sizing:border-box;
        
         .table{

+ 17 - 3
src/views/projectSettlement/projectSettlement.vue

@@ -89,6 +89,7 @@
         tooltip-effect="dark"
         class="fontSize"
         :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+				@cell-click="cellProjectClick"
         @selection-change="handleSelectionChange">
         <!-- <el-table-column
           type="selection"
@@ -319,7 +320,13 @@
         },
         handleSelectionChange(val) {
           this.multipleSelection = val;
-        }
+        },
+				// 单元格被点击
+				cellProjectClick(row, column, cell, event){
+					if(column.property!="operation"){
+						this.details(row)
+					}
+				},
       },
       mounted(){
         this.getData();
@@ -327,9 +334,16 @@
     }
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 .projectSettlement{
-
+	/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
 
   .pagination{   //分页
     float: right;

+ 24 - 11
src/views/resultShow/components/resultDetail_student.vue

@@ -142,7 +142,10 @@
         </div>
         <el-descriptions style="width: 100%" :column="2" border>
           <el-descriptions-item label="优先支持项目">
-            {{
+						<div v-for="(item,index) in TitleMessage.multiSelectProject" :key="index">
+							{{ classType[item] }}
+						</div>
+            <!-- {{
               TitleMessage.multiSelectProject.indexOf("1") != -1
                 ? "大赛选拔项目"
                 : ""
@@ -161,22 +164,23 @@
               TitleMessage.multiSelectProject.indexOf("4") != -1
                 ? "产业命题项目"
                 : ""
-            }}
+            }} -->
           </el-descriptions-item>
+					<el-descriptions-item label="联系电话">{{
+            TitleMessage.phone
+          }}</el-descriptions-item>
           <el-descriptions-item label="美丽校园改造项目">
-            {{ TitleMessage.schoolRemould == 1 ? "校园安全项目" : "" }}
-            {{ TitleMessage.schoolRemould == 2 ? "环境治理项目" : "" }}
-            {{ TitleMessage.schoolRemould == 3 ? "校园服务项目" : "" }}
-            {{ TitleMessage.schoolRemould == 4 ? "文创装置项目" : "" }}
+            <div>{{ TitleMessage.schoolRemould.includes('1') ? "校园安全项目" : "" }}</div>
+            <div>{{ TitleMessage.schoolRemould.includes('2') ? "环境治理项目" : "" }}</div>
+            <div>{{ TitleMessage.schoolRemould.includes('3') ? "校园服务项目" : "" }}</div>
+            <div>{{ TitleMessage.schoolRemould.includes('4') ? "文创装置项目" : "" }}</div>
           </el-descriptions-item>
-          <el-descriptions-item label="项目申请人">{{
+          <!-- <el-descriptions-item label="项目申请人">{{
             TitleMessage.projectApplyperson == 1
               ? "在校学生"
               : "入驻学校孵化基地的初创企业法人"
-          }}</el-descriptions-item>
-          <el-descriptions-item label="联系电话">{{
-            TitleMessage.phone
-          }}</el-descriptions-item>
+          }}</el-descriptions-item> -->
+  
         </el-descriptions>
       </div>
       <div class="brief">
@@ -743,6 +747,15 @@ export default {
     return {
       pageState: 0,
       loading: false,
+			classType:{
+				"0":"团队合作项目、跨学科合作项目。",
+				"1":"科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。",
+				"2":"企业真实生产经营项目或外包服务项目。",
+				"3":"社会征集项目、产业命题项目。",
+				"4":"近两年内参与校级以上创新创业大赛并获奖的项目。",
+				"5":"美丽校园改造计划中的校园智能产品及文创产品的研发项目。",
+				"6":"企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目"
+			},
       //头部信息   项目名称  负责人 学院牵头领导  封面图片  分类   所在部门  优先支持项目   联系电话   项目申请人   美丽校园改造项目
       TitleMessage: {
         title: "",

+ 16 - 1
src/views/resultShow/resultsShow.vue

@@ -120,6 +120,7 @@
         stripe
         class="fontSize"
         :header-cell-style="{ background: '#f2f2f2', color: '#000' }"
+				@cell-click="cellProjectClick"
       >
         <el-table-column
           prop="ProjectNo"
@@ -306,6 +307,12 @@ export default {
       // console.log(pid,tid)
       window.open(`/resultShowDetail?pid=${pid}&tid=${tid}`);
     },
+		// 单元格被点击
+		cellProjectClick(row, column, cell, event){
+			if(column.property!="operation"){
+				this.rsBtn(row.courseId,row.typeid)
+			}
+		},
     getData() {
       //获取渲染数据
       this.loading = true;
@@ -364,7 +371,15 @@ export default {
 };
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
+/deep/.el-table__row{
+		.el-table__cell{
+			cursor: pointer;
+		}
+		.el-table__cell:nth-last-child(1){
+			cursor: default;
+		}
+	}
 // .resultsShow{
 
 //   .pagination{