Преглед изворни кода

Merge branch 'master' of https://git.cocorobo.cn/CocoRoboLabs/ssti-CollegeManage

zengyicheng пре 1 година
родитељ
комит
ed3ba2392d
88 измењених фајлова са 8165 додато и 21200 уклоњено
  1. BIN
      public/file/学校创客专项资金使用申请表 (1).xlsx
  2. BIN
      public/file/附件 2:创客专项资金项目申请表(个人创客)模板.doc
  3. BIN
      public/file/附件 2:创客专项资金项目申请表(创客活动、个人创客)模板.docx
  4. BIN
      public/file/附件 2:创客专项资金项目申请表(创客活动)模板.doc
  5. BIN
      public/file/附件 5 :学校创客专项资金使用申请表.xlsx
  6. 10 2
      src/App.vue
  7. 1 3
      src/components/markeractivityWord.vue
  8. 19 39
      src/components/studentProjectWord.vue
  9. 160 5
      src/components/tool/downloadExcel.js
  10. 4 2
      src/components/tool/getProjectNo.js
  11. 72 1
      src/components/tool/getWord.js
  12. 18 45
      src/router/index.js
  13. 482 0
      src/views/activityManage/components/NomMarkerWord.vue
  14. 57 42
      src/views/activityManage/components/markeractivityWord.vue
  15. 293 0
      src/views/activityManage/components/markeractivityWordShow.vue
  16. 284 0
      src/views/activityManage/makerActivityWordDetail.vue
  17. 151 80
      src/views/activityManage/makerActvity.vue
  18. 0 364
      src/views/activityManage/makerActvityApply.vue
  19. 0 192
      src/views/activityManage/makerActvityApply2.vue
  20. 0 268
      src/views/activityManage/makerActvityApplyMain.vue
  21. 0 755
      src/views/activityManage/makerActvityDetails.vue
  22. 60 51
      src/views/activityManage/newMarkerActivity.vue
  23. 0 67
      src/views/activityManage/newNomMarker.vue
  24. 233 0
      src/views/activityManage/newNomMarkerActivity.vue
  25. 0 307
      src/views/credit/credit.vue
  26. 0 272
      src/views/credit/credit1.vue
  27. 3 3
      src/views/firm.vue
  28. 142 770
      src/views/fundManage/makerfund.vue
  29. 0 1356
      src/views/fundManage/makerfundApply.vue
  30. 293 1301
      src/views/fundManage/makerfundDetails.vue
  31. 229 328
      src/views/fundManage/newMarkerfundApply.vue
  32. 0 552
      src/views/fundManage/newMarkerfundDetails.vue
  33. 230 329
      src/views/fundManage/newNomMarkerFundApply.vue
  34. 12 20
      src/views/home.vue
  35. 4 4
      src/views/messageNotification.vue
  36. 105 85
      src/views/projectApply/MakerSpaceApply.vue
  37. 17 13
      src/views/projectApply/components/MakerSpaceWord.vue
  38. 86 83
      src/views/projectApply/components/MakerSpaceWordDetail.vue
  39. 8 57
      src/views/projectApply/components/MakerSpaceWordShow.vue
  40. 0 277
      src/views/projectApply/components/projectApplication2.vue
  41. 0 820
      src/views/projectApply/components/projectApplicationApply.vue
  42. 0 284
      src/views/projectApply/components/projectApplicationApply2.vue
  43. 0 874
      src/views/projectApply/components/projectApplicationApply3.vue
  44. 0 722
      src/views/projectApply/components/projectApplicationApplyMakerSpace.vue
  45. 0 247
      src/views/projectApply/components/projectApplicationApplyMakerSpace2.vue
  46. 0 844
      src/views/projectApply/components/projectApplicationDetails.vue
  47. 0 820
      src/views/projectApply/components/projectApplicationMakerSpaceDetails.vue
  48. 0 318
      src/views/projectApply/components/projectApplicationMakerSpaceDetails2.vue
  49. 677 0
      src/views/projectApply/components/studentProjectWord.vue
  50. 104 671
      src/views/projectApply/components/studentProjectWordDetail.vue
  51. 397 0
      src/views/projectApply/components/studentProjectWordShow.vue
  52. 57 39
      src/views/projectApply/newStudentProjectApply.vue
  53. 97 88
      src/views/projectApply/projectApplication.vue
  54. 0 659
      src/views/projectApply/projectApplicationApplyMain.vue
  55. 4 11
      src/views/projectApply/projectApplicationDetailMain.vue
  56. 128 58
      src/views/projectManage/ProjectManagement.vue
  57. 0 307
      src/views/projectManage/ProjectManagementFund1.vue
  58. 0 245
      src/views/projectManage/ProjectManagementFund2.vue
  59. 77 0
      src/views/projectManage/ProjectManagementFundDetail.vue
  60. 23 33
      src/views/projectManage/ProjectManagementMain.vue
  61. 156 0
      src/views/projectManage/components/FundDetail.vue
  62. 264 0
      src/views/projectManage/components/FundDetailList.vue
  63. 790 0
      src/views/projectManage/components/MakerSpaceWordShow.vue
  64. 0 848
      src/views/projectManage/components/ProjectManagement1.vue
  65. 0 812
      src/views/projectManage/components/ProjectManagement1_MakerSpace.vue
  66. 0 394
      src/views/projectManage/components/ProjectManagement2.vue
  67. 0 306
      src/views/projectManage/components/ProjectManagement2_MakerSpace.vue
  68. 0 555
      src/views/projectManage/components/ProjectManagement3_1.vue
  69. 0 368
      src/views/projectManage/components/ProjectManagement4.vue
  70. 5 8
      src/views/projectManage/components/ProjectManagementActivity.vue
  71. 107 0
      src/views/projectManage/components/ProjectManagementActivityDetail.vue
  72. 2 8
      src/views/projectManage/components/ProjectManagementEndProjectFile.vue
  73. 293 0
      src/views/projectManage/components/markeractivityWordShow.vue
  74. 488 0
      src/views/projectManage/components/studentProjectWordShow.vue
  75. 790 0
      src/views/projectSettlement/components/MakerSpaceWordShow.vue
  76. 0 304
      src/views/projectSettlement/components/projectSettlementDetailAnnex.vue
  77. 0 758
      src/views/projectSettlement/components/projectSettlementDetailBase_MakerSpace.vue
  78. 0 847
      src/views/projectSettlement/components/projectSettlementDetailBase_Student.vue
  79. 0 447
      src/views/projectSettlement/components/projectSettlementDetailComment.vue
  80. 1 1
      src/views/projectSettlement/components/projectSettlementDetailConclusion.vue
  81. 0 307
      src/views/projectSettlement/components/projectSettlementDetail_MakerSpace.vue
  82. 0 393
      src/views/projectSettlement/components/projectSettlementDetail_Student.vue
  83. 488 0
      src/views/projectSettlement/components/studentProjectWordShow.vue
  84. 18 6
      src/views/projectSettlement/projectSettlement.vue
  85. 26 24
      src/views/projectSettlement/projectSettlementDetailMain.vue
  86. 26 36
      src/views/resultShow/components/resultDetail_MakerSpace.vue
  87. 71 52
      src/views/resultShow/components/resultDetail_student.vue
  88. 103 13
      src/views/resultShow/resultsShow.vue

BIN
public/file/学校创客专项资金使用申请表 (1).xlsx


BIN
public/file/附件 2:创客专项资金项目申请表(个人创客)模板.doc


BIN
public/file/附件 2:创客专项资金项目申请表(创客活动、个人创客)模板.docx


BIN
public/file/附件 2:创客专项资金项目申请表(创客活动)模板.doc


BIN
public/file/附件 5 :学校创客专项资金使用申请表.xlsx


+ 10 - 2
src/App.vue

@@ -203,12 +203,15 @@
     .core_dialogue::-webkit-scrollbar-thumb {
       background-color: #929292;
       border-radius: 100px;
+
     }
     .core_dialogue::-webkit-scrollbar-thumb:hover {
       background-color: #bbb;
+
     }
   .core_dialogue::-webkit-scrollbar-corner {
     background-color: rgba(255, 255, 255, 0);
+
   }
 
 
@@ -541,7 +544,9 @@
         // margin-bottom: 60px;
         font-size: 16px !important;
         .operations{   //所有表格按钮栏
-          flex-shrink: 0;
+            display: flex;
+            justify-content: space-around;
+            flex-wrap: nowrap;
           [type='button']{
             width: 80px !important;
             font-size: 14px;
@@ -549,7 +554,7 @@
             box-sizing: border-box;
             border-radius: 5px;
             padding: 8px 0;
-            
+           
           }
         }
       }
@@ -608,6 +613,9 @@
           flex-wrap: wrap;
           align-items: center;
         }
+        .el-input.is-disabled .el-input__inner{
+          color: #000;
+        }
         .deleteContent{
           width: 100%;
           text-align: center;

+ 1 - 3
src/components/markeractivityWord.vue

@@ -140,7 +140,7 @@
                 </td>
                 <div class="operate">
                   <el-button @click="addPerson" v-if="wordData['member'].length-1==index" type="primary" size="mini">添加</el-button>
-                  <el-button @click="DelPerson(index)" type="primary" size="mini">删除</el-button>
+                  <el-button @click="DelPerson(index)"  type="primary" size="mini">删除</el-button>
                 </div>
             </tr>
             <tr class="textLeft">
@@ -445,8 +445,6 @@
                 {name:"",collage:"",work:""},
                 {name:"",collage:"",work:""},
                 {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
               ],
               activityPlan:"",//活动计划
               expectations:"",//预期目标

+ 19 - 39
src/components/studentProjectWord.vue

@@ -2,19 +2,19 @@
 <div id="studentProjectWord">
     <div id="title">
         <div class="school">深圳技师学院</div>
-        <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+        <div class="wordTitle">学 生 创 客 项 目 申 报 书0000</div>
         <div class="date">申请日期:{{wordData.applicationDate}}</div>
     </div>
     <table border="1" cellspacing="0" class="table">
 
       <tr id="projectName">
-        <td colspan="2" ref="projectName">项目名称</td><td colspan="5" >
+        <td colspan="2" ref="projectName">项目名称</td>
+        <td colspan="5" >
           <el-input
               type="textarea"
               autosize
               style="width: 100%;"
               resize="none"
-              
               placeholder="请输入项目名称"
               v-model="wordData.projectName">
             </el-input>
@@ -36,7 +36,7 @@
         <td colspan="2" ref="checkList">优先支持项目(可多选)</td> <td colspan="5">
           <el-checkbox-group v-model="wordData.checkList">
             <el-checkbox label="1">大赛选拔项目</el-checkbox>
-            <el-checkbox label="2">大赛选拔项目</el-checkbox>
+            <el-checkbox label="2">落地注册项目</el-checkbox>
             <el-checkbox label="3">社会征集项目</el-checkbox>
             <el-checkbox label="4">产业命题项目</el-checkbox>
           </el-checkbox-group>
@@ -207,7 +207,8 @@
         </div> -->
       </tr>
       <tr id="brief">
-        <td rowspan="5" ref="brief">研发内容</td><td style="text-align: left;position: relative;" colspan="6" class="textLeft">
+        <td rowspan="5" ref="brief">研发内容</td>
+        <td style="text-align: left;position: relative;" colspan="6" class="textLeft">
           <p>项目简介(200-300字)</p>
             <el-input
               type="textarea"
@@ -485,45 +486,22 @@
         </td>
       </tr>
       <tr>
-        <td>所在学院/部门意见</td><td colspan="6" class="textLeft">
-          <el-input
-              type="textarea"
-              :rows="7"
-              resize="none"
-              disabled
-              style="width: 100%;"
-              v-model="input">
-            </el-input>
-            <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
-            <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+        <td style="height: 300px;">所在学院/部门意见</td><td colspan="6" class="textLeft">
+            <div style="text-align: right;font-size: 18px;width: 80%;position: relative;bottom: -100px;">负责人签章:</div>
+            <div style="text-align: right;font-size: 18px;width: 90%;position: relative;bottom: -110px;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
         </td>
       </tr>
       <tr>
-        <td>财务部门意见</td><td colspan="6" class="textLeft">
-          <el-input
-              type="textarea"
-              :rows="7"
-              resize="none"
-              disabled
-              style="width: 100%;"
-              v-model="input">
-            </el-input>
-            <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
-            <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+        <td style="height: 300px;">财务部门意见</td><td colspan="6" class="textLeft">
+          
+            <div style="text-align: right;font-size: 18px;width: 80%;position: relative;bottom: -100px;">负责人签章:</div>
+            <div style="text-align: right;font-size: 18px;width: 90%;position: relative;bottom: -110px;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
         </td>
       </tr>
       <tr>
-        <td>创新创业学院审核意见</td><td colspan="6" class="textLeft">
-          <el-input
-              type="textarea"
-              :rows="7"
-              style="background-color: #fff;width: 100%;"
-              resize="none"
-              disabled
-              v-model="input">
-            </el-input>
-            <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
-            <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+        <td style="height: 300px;">创新创业学院审核意见</td><td colspan="6" class="textLeft">
+            <div style="text-align: right;font-size: 18px;width: 80%;position: relative;bottom: -100px;">负责人签章:</div>
+            <div style="text-align: right;font-size: 18px;width: 90%;position: relative;bottom: -110px;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
         </td>
       </tr>
     </table>
@@ -775,7 +753,6 @@ import {getNowDate} from '@/components/tool/Date.js'
             margin-bottom:40px ;
         }
         .date{
-
             font-size: 1em;
             position: absolute;
             bottom: 0;
@@ -795,6 +772,9 @@ import {getNowDate} from '@/components/tool/Date.js'
             font-size: 16px;
           }
         }
+        .jc{
+            font-weight: 600;
+          }
         tr td{
           border: none;
           border-bottom: solid 1px black;

+ 160 - 5
src/components/tool/downloadExcel.js

@@ -5,8 +5,8 @@ import FileSaver, { saveAs } from 'file-saver';
 import JSZipUtils from 'jszip-utils'
 import Pizzip from 'pizzip';
 
-function getExcel(val,intro){
-console.log(val,intro);
+function getExcel(val,intro,tit,ty){
+// return console.log(val,intro,tit,ty);
     // 下载Excel文件
     JSZipUtils.getBinaryContent('file/学校创客专项资金使用申请表 (1).xlsx', (err, data) => {
         if (err) {
@@ -31,6 +31,12 @@ console.log(val,intro);
             // thisApply   这次申请
             // remark     备注
 
+            worksheet.getCell("G2").value=`项目类型: 个人创客 ${ty==1?'√':'□'}     创客活动 ${ty==0?'√':'□'}   `
+            //项目名称
+            worksheet.getCell('G3').value=`项目名称:${tit}`;
+
+
+
             worksheet.getCell('C7').value=val[0].budget;
             worksheet.getCell('D7').value=val[0].havePaid;
             worksheet.getCell('E7').value=val[0].thisApply;
@@ -146,6 +152,155 @@ console.log(val,intro);
     });
 } 
 
-export default{
-    getExcel
-}
+function getExcel2(val,intro,tit,ty){
+    // return console.log(val,intro);
+        // 下载Excel文件
+        JSZipUtils.getBinaryContent('file/附件 5 :学校创客专项资金使用申请表.xlsx', (err, data) => {
+            if (err) {
+                console.error(err);
+                return;
+            }
+        
+            // 创建一个新的Excel工作簿
+            const workbook = new ExcelJS.Workbook();
+        
+            // 从Excel文件的Buffer中加载工作簿
+            workbook.xlsx.load(data)
+            .then(() => {
+                //获取第一个工作表
+                let worksheet = workbook.getWorksheet(1);
+    
+                // 添加一个工作表
+                // const sheet = workbook.addWorksheet('My Sheet');
+    
+                // budget   预算
+                // havePaid   已支付
+                // thisApply   这次申请
+                // remark     备注
+                
+                worksheet.getCell("G2").value=`项目类型: 个人创客 ${ty==1?'√':'□'}     创客活动 ${ty==0?'√':'□'}   `
+                //项目名称
+                worksheet.getCell('G3').value=`项目名称:${tit}`;
+
+
+                worksheet.getCell('C7').value=val[0].budget;
+                worksheet.getCell('D7').value=val[0].havePaid;
+                worksheet.getCell('E7').value=val[0].thisApply;
+                worksheet.getCell('F7').value=val[0].actualuse;
+                worksheet.getCell('H7').value=val[0].remark;
+    
+                worksheet.getCell('C8').value=val[1].budget;
+                worksheet.getCell('D8').value=val[1].havePaid;
+                worksheet.getCell('E8').value=val[1].thisApply;
+                worksheet.getCell('F8').value=val[1].actualuse;
+                worksheet.getCell('H8').value=val[1].remark;
+    
+                worksheet.getCell('C9').value=val[2].budget;
+                worksheet.getCell('D9').value=val[2].havePaid;
+                worksheet.getCell('E9').value=val[2].thisApply;
+                worksheet.getCell('F9').value=val[2].actualuse;
+                worksheet.getCell('H9').value=val[2].remark;
+    
+                worksheet.getCell('C10').value=val[3].budget;
+                worksheet.getCell('D10').value=val[3].havePaid;
+                worksheet.getCell('E10').value=val[3].thisApply;
+                worksheet.getCell('F10').value=val[3].actualuse;
+                worksheet.getCell('H10').value=val[3].remark;
+    
+                worksheet.getCell('C13').value=val[4].budget;
+                worksheet.getCell('D13').value=val[4].havePaid;
+                worksheet.getCell('E13').value=val[4].thisApply;
+                worksheet.getCell('F13').value=val[4].actualuse;
+                worksheet.getCell('H13').value=val[4].remark;
+    
+                worksheet.getCell('C14').value=val[5].budget;
+                worksheet.getCell('D14').value=val[5].havePaid;
+                worksheet.getCell('E14').value=val[5].thisApply;
+                worksheet.getCell('F14').value=val[5].actualuse;
+                worksheet.getCell('H14').value=val[5].remark;
+    
+                worksheet.getCell('C15').value=val[6].budget;
+                worksheet.getCell('D15').value=val[6].havePaid;
+                worksheet.getCell('E15').value=val[6].thisApply;
+                worksheet.getCell('F15').value=val[6].actualuse;
+                worksheet.getCell('H15').value=val[6].remark;
+    
+                worksheet.getCell('C16').value=val[7].budget;
+                worksheet.getCell('D16').value=val[7].havePaid;
+                worksheet.getCell('E16').value=val[7].thisApply;
+                worksheet.getCell('F16').value=val[7].actualuse;
+                worksheet.getCell('H16').value=val[7].remark;
+    
+                // worksheet.getCell('B18').value=val.intro;
+                worksheet.getCell("B18").value=intro;
+                worksheet.getCell('B18').alignment = { vertical: 'top', horizontal: 'left' };
+    
+    
+        //自动计算的单元格
+        //直接经费
+            //小型仪器设备费余额
+            worksheet.getCell("G7").value = {formula:"C7-D7-F7",result:worksheet.getCell("C7")-worksheet.getCell("D7")-worksheet.getCell("F7")}
+            //材料费余额
+            worksheet.getCell("G8").value = {formula:"C8-D8-F8",result:worksheet.getCell("C8")-worksheet.getCell("D8")-worksheet.getCell("F8")}
+            //测试化验加工费余额
+            worksheet.getCell("G9").value = {formula:"C9-D9-F9",result:worksheet.getCell("C9")-worksheet.getCell("D9")-worksheet.getCell("F9")}
+            //项目协作费余额
+            worksheet.getCell("G10").value = {formula:"C10-D10-F10",result:worksheet.getCell("C10")-worksheet.getCell("D10")-worksheet.getCell("F10")}
+            //其他支出余额
+            worksheet.getCell("G11").value = {formula:"C11-D11-F11",result:worksheet.getCell("C11")-worksheet.getCell("D11")-worksheet.getCell("F11")}
+            //总预算
+            worksheet.getCell("C6").value = {formula:"SUM(C7:C11)",result:worksheet.getCell("C7")*1+worksheet.getCell("C8")*1+worksheet.getCell("C9")*1+worksheet.getCell("C10")*1+worksheet.getCell("C11")*1}
+            //已支付
+            worksheet.getCell("D6").value = {formula:"SUM(D7:D11)",result:worksheet.getCell("D7")*1+worksheet.getCell("D8")*1+worksheet.getCell("D9")*1+worksheet.getCell("D10")*1+worksheet.getCell("D11")*1}
+            //本次申请
+            worksheet.getCell("E6").value = {formula:"SUM(E7:E11)",result:worksheet.getCell("E7")*1+worksheet.getCell("E8")*1+worksheet.getCell("E9")*1+worksheet.getCell("E10")*1+worksheet.getCell("E11")*1}
+            //实际使用
+            worksheet.getCell("F6").value = {formula:"SUM(F7:F11)",result:worksheet.getCell("F7")*1+worksheet.getCell("F8")*1+worksheet.getCell("F9")*1+worksheet.getCell("F10")*1+worksheet.getCell("F11")*1}
+            //余额
+            worksheet.getCell("G6").value = {formula:"C6-D6-F6",result:worksheet.getCell("C6")*1-worksheet.getCell("D6")*1-worksheet.getCell("F6")*1}
+        //间接经费
+            //项目成果鉴定费余额
+            worksheet.getCell("G13").value = {formula:"C13-D13-F13",result:worksheet.getCell("C13")-worksheet.getCell("D13")-worksheet.getCell("F13")}
+            //参展参赛费余额
+            worksheet.getCell("G14").value = {formula:"C14-D14-F14",result:worksheet.getCell("C14")-worksheet.getCell("D14")-worksheet.getCell("F14")}
+            //创客交流活动费余额
+            worksheet.getCell("G15").value = {formula:"C15-D15-F15",result:worksheet.getCell("C15")-worksheet.getCell("D15")-worksheet.getCell("F15")}
+            //知识产权事务费余额
+            worksheet.getCell("G16").value = {formula:"C16-D16-F16",result:worksheet.getCell("C16")-worksheet.getCell("D16")-worksheet.getCell("F16")}
+            //其他支出余额
+            worksheet.getCell("G17").value = {formula:"C17-D17-F17",result:worksheet.getCell("C17")-worksheet.getCell("D17")-worksheet.getCell("F17")}
+            //总预算
+            worksheet.getCell("C12").value = {formula:"SUM(C13:C17)",result:worksheet.getCell("C13")*1+worksheet.getCell("C14")*1+worksheet.getCell("C15")*1+worksheet.getCell("C16")*1+worksheet.getCell("C17")*1}
+            //已支付
+            worksheet.getCell("D12").value = {formula:"SUM(D13:D17)",result:worksheet.getCell("D13")*1+worksheet.getCell("D14")*1+worksheet.getCell("D15")*1+worksheet.getCell("D16")*1+worksheet.getCell("D17")*1}
+            //本次申请
+            worksheet.getCell("E12").value = {formula:"SUM(E13:E17)",result:worksheet.getCell("E13")*1+worksheet.getCell("E14")*1+worksheet.getCell("E15")*1+worksheet.getCell("E16")*1+worksheet.getCell("E17")*1}
+            //实际使用
+            worksheet.getCell("F12").value = {formula:"SUM(F13:F17)",result:worksheet.getCell("F13")*1+worksheet.getCell("F14")*1+worksheet.getCell("F15")*1+worksheet.getCell("F16")*1+worksheet.getCell("F17")*1}
+            //余额
+            worksheet.getCell("G12").value = {formula:"C12-D12-F12",result:worksheet.getCell("C12")*1-worksheet.getCell("D12")*1-worksheet.getCell("F12")*1}
+        //经费支出
+            //总预算
+            worksheet.getCell("C5").value = {formula:"SUM(C6+C12)",result:worksheet.getCell("C6")*1+worksheet.getCell("C12")*1}
+            //总支出
+            worksheet.getCell("D5").value=  {formula:"SUM(D6+D12)",result:worksheet.getCell("D6")*1+worksheet.getCell("D12")*1}
+            //总申请
+            worksheet.getCell("E5").value = {formula:"SUM(E6+E12)",result:worksheet.getCell("E6")*1+worksheet.getCell("E12")*1}
+            //总实际使用
+            worksheet.getCell("F5").value = {formula:"SUM(F6+F12)",result:worksheet.getCell("F6")*1+worksheet.getCell("F12")*1}
+            //总余额
+            worksheet.getCell("G5").value = {formula:"SUM(G6+G12)",result:worksheet.getCell("G6")*1+worksheet.getCell("G12")*1}
+    
+    
+                // 将工作簿保存为Excel文件
+                return workbook.xlsx.writeBuffer();
+            })
+            .then(buffer => {
+                // 将Excel文件保存到本地计算机
+                const excelBlob = new Blob([buffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' });
+                FileSaver.saveAs(excelBlob, '学校创客专项资金使用申请表.xlsx');
+            });
+        });
+    } 
+
+    export {getExcel,getExcel2}

+ 4 - 2
src/components/tool/getProjectNo.js

@@ -3,7 +3,8 @@ import store from '@/config/config' //vuex
 
 const TYPE_NO = {
     "XM":"/getProjectNo",
-    "HD":"/getActivity"
+    "HD":"/getActivityNo",
+    'ZJ':"/getFundNo",
 }
 
 export default function getProjectNo(str="XM"){
@@ -11,7 +12,8 @@ export default function getProjectNo(str="XM"){
         ajax.get(store.state.api+TYPE_NO[str],{
             uid:store.state.userInfo.userid,
         }).then(res=>{
-            if(res['data'][0].length==0)return resolve(`${str}0000001`)
+            console.log(res['data'])
+            if(res['data'][0].length==0||res['data'][0][0]['No']==null)return resolve(`${str}0000001`)
             let LastNo = res['data'][0][0]['No']
             let number = parseInt(LastNo.slice(-7));
             let newNumber = number+1;

+ 72 - 1
src/components/tool/getWord.js

@@ -590,11 +590,82 @@ function ActivityWord(data){
     x.send()
 }
 
+//创客活动的申请表
+function makerActivityWord(data,total){
+    let _url = "./file/附件 2:创客专项资金项目申请表(创客活动、个人创客)模板.docx";
+    const x = new XMLHttpRequest();
+    x.open("GET", _url, true);
+    x.responseType = "blob";
+    x.onload = function (e) {
+        const blob = x.response;
+        //转成binary
+        const reader = new FileReader();
+        reader.readAsArrayBuffer(blob);
+        reader.onload=function(a){
+            const buffer = reader.result;
+            const binary = new Uint8Array(buffer)
+            //创建一个PizZip实例
+            const zip = new PizZip(binary);
+            // 将模板内容加载到 Docxtemplater 中
+            const doc = new Docxtemplater().loadZip(zip);
+          
+            //模板数据
+            let wordData = {...data,total}
+            //处理数据
+            wordData['MP1'] = wordData['expenditureMothPlan'][0];
+            wordData['MP2'] = wordData['expenditureMothPlan'][1];
+            wordData['MP3'] = wordData['expenditureMothPlan'][2];
+            wordData['MP4'] = wordData['expenditureMothPlan'][3];
+            wordData['MP5'] = wordData['expenditureMothPlan'][4];
+            wordData['MP6'] = wordData['expenditureMothPlan'][5];
+            wordData['MP7'] = wordData['expenditureMothPlan'][6];
+            wordData['MP8'] = wordData['expenditureMothPlan'][7];
+            wordData['MP9'] = wordData['expenditureMothPlan'][8];
+            wordData['MP10'] = wordData['expenditureMothPlan'][9];
+            wordData['MP11'] = wordData['expenditureMothPlan'][10];
+            wordData['MP12'] = wordData['expenditureMothPlan'][11];
+            wordData['beTime'] = wordData['activityTime'][0].split(' ')[0]
+            wordData['edTime'] = wordData['activityTime'][1].split(' ')[0]
+            wordData['device'] = wordData['fund']['device']
+            wordData['Material'] = wordData['fund']['Material']
+            wordData['processing'] = wordData['fund']['processing']
+            wordData['Collaboration'] = wordData['fund']['Collaboration']
+            wordData['APPRAISAL'] = wordData['fund']['APPRAISAL']
+            wordData['entery'] = wordData['fund']['entery']
+            wordData['activities'] = wordData['fund']['activities']
+            wordData['Transaction'] = wordData['fund']['Transaction']
+            wordData['type'] = Boolean(wordData['type'])
+
+            doc.setData(wordData);
+
+            doc.render();
+
+            //获取渲染后的文本
+            const output = doc.getZip().generate({
+                type: "blob",
+                mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+                compression: "DEFLATE",
+            });
+            let link = document.createElement("a");
+            link.download = `附件 2:创客专项资金项目申请表(${wordData['type']?'个人创客':'创客活动'}).docx`;
+            link.style.display = "none";
+            let blob = new Blob([output]);
+            link.href = URL.createObjectURL(blob);
+            document.body.appendChild(link);
+            link.click();
+            document.body.removeChild(link);
+        }
+        return
+    }
+    x.send()
+}
+
 
 export{
     MakerSpaceWord,
     getMakerSpaceWord,
     MakerStudentWord,
     ActivityWord,
-    getWord
+    getWord,
+    makerActivityWord,
 }

+ 18 - 45
src/router/index.js

@@ -17,20 +17,6 @@ const routes = [{
             import ('@/views/login.vue'),
         meta: { isAuth: false }
     },
-    { //项目立项申请
-        name: "projectApplicationApplyMain",
-        path: "/projectApplicationApplyMain",
-        component: () =>
-            import ('@/views/projectApply/projectApplicationApplyMain.vue'),
-        meta: { isAuth: true }
-    },
-    { //活动管理
-        name: "makerActvityApplyMain",
-        path: "/makerActvityApplyMain",
-        component: () =>
-            import ('@/views/activityManage/makerActvityApplyMain.vue'),
-        meta: { isAuth: true }
-    },
 
     { //成果展示
         name: 'resultShowDetail',
@@ -40,7 +26,7 @@ const routes = [{
         meta: { isAuth: true }
 
     },
-    { //创客活动
+    { //测试
         name: 'test',
         path: '/test',
         component: () =>
@@ -48,7 +34,7 @@ const routes = [{
         meta: { isAuth: true }
 
     },
-    { //创客活动
+    { //测试2
         name: 'Word',
         path: '/Word',
         component: () =>
@@ -71,12 +57,11 @@ const routes = [{
 
             },
             { //创客活动详情
-                name: 'makerActvityDetails',
-                path: '/makerActvityDetails',
-                component: () =>import ('@/views/activityManage/makerActvityDetails.vue'),
+                name: 'makerActivityWordDetail',
+                path: '/makerActvityWordDetail',
+                component: () =>import ('@/views/activityManage/makerActivityWordDetail.vue'),
                 meta: { isAuth: true }
             },
-           
             { //项目立项申请
                 name: 'projectApplication',
                 path: '/projectApplication',
@@ -99,13 +84,13 @@ const routes = [{
 
             },
             { //新个人创客
-                name: 'newNomMarker',
-                path: '/newNomMarker',
-                component: () =>import ('@/views/activityManage/newNomMarker.vue'),
+                name: 'newNomMarkerActivity',
+                path: '/newNomMarkerActivity',
+                component: () =>import ('@/views/activityManage/newNomMarkerActivity.vue'),
                 meta: { isAuth: true }
 
             },
-            {
+            {   //项目查看详细
                 name: 'projectApplicationDetailMain',
                 path: '/projectApplicationDetailMain',
                 component: () =>import ('@/views/projectApply/projectApplicationDetailMain.vue'),
@@ -127,12 +112,6 @@ const routes = [{
                 meta: { isAuth: true }
 
             },
-            { //创客资金申请
-                name: 'makerfundApply',
-                path: '/makerfundApply',
-                component: () =>import ('@/views/fundManage/makerfundApply.vue'),
-                meta: { isAuth: true }
-            },
             { //新创客活动资金申请
                 name: 'newMarkerfundApply',
                 path: '/newMarkerfundApply',
@@ -152,12 +131,6 @@ const routes = [{
                 component: () =>import ('@/views/fundManage/makerfundDetails.vue'),
                 meta: { isAuth: true }
             },
-            { //创客资金详情
-                name: 'newMarkerfundDetails',
-                path: '/newMarkerfundDetails',
-                component: () =>import ('@/views/fundManage/newMarkerfundDetails.vue'),
-                meta: { isAuth: true }
-            },
             { //消息通知
                 name: 'messageNotification',
                 path: '/messageNotification',
@@ -183,19 +156,19 @@ const routes = [{
  
             
             { //项目资金管理
-                name: 'ProjectManagementFund1',
-                path: '/ProjectManagementFund1',
-                component: () =>import ('@/views/projectManage/ProjectManagementFund1.vue'),
+                name: 'ProjectManagementFundDetail',
+                path: '/ProjectManagementFundDetail',
+                component: () =>import ('@/views/projectManage/ProjectManagementFundDetail.vue'),
                 meta: { isAuth: true }
 
             },
-            { //项目资金管理
-                name: 'ProjectManagementFund2',
-                path: '/ProjectManagementFund2',
-                component: () =>import ('@/views/projectManage/ProjectManagementFund2.vue'),
-                meta: { isAuth: true }
+            // { //项目资金管理
+            //     name: 'ProjectManagementFund2',
+            //     path: '/ProjectManagementFund2',
+            //     component: () =>import ('@/views/projectManage/ProjectManagementFund2.vue'),
+            //     meta: { isAuth: true }
 
-            },
+            // },
             { //项目结项
                 name: 'projectSettlement',
                 path: '/projectSettlement',

+ 482 - 0
src/views/activityManage/components/NomMarkerWord.vue

@@ -0,0 +1,482 @@
+<template>
+    <div id="MarkeractivityWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">创客专项资金及项目申请表(个人创客)</div>
+            <div class="date">申请日期:{{wordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+            <tr id="two">
+                <td colspan="4" class="bold"><span style="color:red">*</span>活动名称</td>
+                <td colspan="5">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入活动名称"
+                        v-model="wordData['activityName']">
+                    </el-input>
+                </td>
+                <td colspan="3" class="bold">预算经费</td>
+                <td @click="goto('#fund')" colspan="4" v-text="total">
+                </td>
+            </tr>
+            <tr id="three">
+                <td colspan="4" class="bold"><span style="color:red">*</span>项目负责人</td><td colspan="3">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入负责人"
+                        v-model="wordData['pro_leader']">
+                    </el-input>
+                </td><td colspan="2" class="bold"><span style="color:red">*</span>所在部门</td><td colspan="3">
+                    <el-select v-model="wordData['college']" style="width: 100%;" placeholder="请选择所在学院">
+                      <el-option
+                        v-for="item in DepartmentData"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id">
+                      </el-option>
+                    </el-select>
+                </td><td colspan="2" class="bold"><span style="color:red">*</span>联系电话</td><td colspan="3">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入联系电话"
+                        v-model="wordData['tel']">
+                    </el-input>
+                </td>
+            </tr>
+            <tr id="four">
+                <td colspan="4" class="bold"><span style="color:red">*</span>活动时间</td>
+                <td colspan="5">
+                  <el-date-picker
+                    v-model="wordData['activityTime']"
+                    type="daterange"
+                    value-format="yyyy-MM-dd HH:mm:ss"
+                    range-separator="至"
+                    prefix-icon="none"
+                    start-placeholder="项目起始时间"
+                    end-placeholder="项目完成时间">
+                  </el-date-picker>
+                </td>
+                <td colspan="3" class="bold">参与学生人数</td><td colspan="5">
+                    <el-input
+                        type="number"
+                        autosize
+                        :min="0"
+                        style="width: 100%;"
+                        resize="none"
+                        placeholder="请输入参与学生人数"
+                        v-model.number="wordData['student']">
+                      </el-input>
+                </td>
+            </tr>
+            
+            <tr id="five">
+                <td colspan="2" :rowspan="wordData['member'].length+1"><p>活</p> <p>动</p> <p>指</p> <p>导</p> <p>老</p> <p>师</p></td><td colspan="2">姓名</td><td colspan="3">工作单位/部门</td><td colspan="9">项目分工</td>
+            </tr>
+            <tr v-for="(item,index) in wordData['member']" :key="index+'b'">
+                <td colspan="2" style="border-left: none;">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入姓名"
+                        v-model="item['name']">
+                    </el-input>
+                </td><td colspan="3">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入工作单位/部门"
+                        v-model="item['collage']">
+                    </el-input>
+                </td><td colspan="10">
+                    <el-input
+                        type="textarea"
+                        autosize
+                        resize="none"
+                        placeholder="请输入项目分工"
+                        v-model="item['work']">
+                    </el-input>
+                </td>
+                <div class="operate">
+                  <el-button @click="addPerson" v-if="wordData['member'].length-1==index" type="primary" size="mini">添加</el-button>
+                  <el-button @click="DelPerson(index)" v-if="wordData['member'].length>1" type="primary" size="mini">删除</el-button>
+                </div>
+            </tr>
+            <tr class="textLeft" id="six">
+                <td colspan="2"><p>活动</p><br> <p>计划</p></td><td style="text-align: left;" colspan="15">
+                    <el-input
+                      type="textarea"
+                      :rows="12"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="wordData['activityPlan']">
+                    </el-input>
+                </td>
+            </tr>
+            <tr class="textLeft" id="seven">
+                <td colspan="2"><p>预期</p><br><p>目标</p> </td><td colspan="15" style="text-align: left;">
+                    <el-input
+                      type="textarea"
+                      :rows="10"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="wordData['expectations']">
+                    </el-input>
+                </td>
+            </tr>
+            <tr class="textLeft" id="nine">
+                <td colspan="2"><p>活动受</p><br> <p>众面</p></td><td style="text-align: left;" colspan="15">
+                    <p>参与学生范围:</p>
+                    <el-input
+                      type="textarea"
+                      :rows="12"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="wordData['eventAudience']">
+                    </el-input>
+                </td>
+            </tr>
+            <tr class="textLeft" id="ten">
+                <td colspan="2"><p>经费</p><br><p>支出</p> <br><p>计划</p></td><td colspan="15" style="text-align: left;">
+                    <el-input
+                      type="textarea"
+                      :rows="10"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="wordData['fundingPlan']">
+                    </el-input>
+                </td>
+            </tr>
+            <tr id="fund">
+                <td rowspan="14"><p>预</p> <p>算</p> <p>经</p> <p>费</p></td>
+            </tr>
+            <tr>
+                <td rowspan="4" style="border-left: none;">总经费</td><td rowspan="4" colspan="2" >{{total}}元</td>
+            </tr>
+            <tr>
+                <td colspan="12" style="border-left: none;">经费月支出计划 (元)</td>
+            </tr>
+            <tr>
+              <td style="border-left: none;">第1个月</td><td>第2个月</td><td>第3个月</td><td>第4个月</td><td>第5个月</td><td>第6个月</td><td>第7个月</td><td>第8个月</td><td>第9个月</td><td>第10个月</td><td>第11个月</td><td>第12个月</td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in wordData['expenditureMothPlan']" :key="index" style="border-left: none;">
+                  <el-input
+                    type="number"
+                    autosize
+                    min="0"
+                    style="width: 100%;"
+                    resize="none"
+                    v-model.number="wordData['expenditureMothPlan'][index]"
+                    @input="checkExpenditureMothPlan(index)">
+                  </el-input>
+                </td>
+            </tr>
+            <tr>
+                <td colspan="4" style="border-left: none;">支出类别</td><td colspan="4">支出项目</td><td colspan="2">金额(元)</td><td colspan="5">备注</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">直接经费</td>
+              <td colspan="4">小型仪器设备费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="小型仪器设备费"
+                      v-model.number="wordData['fund']['device']"
+                      ></el-input>
+              </td>
+              <td colspan="5">
+                项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+              </td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">材料费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="材料费"
+                      v-model.number="wordData['fund']['Material']"></el-input>
+              </td>
+              <td colspan="5">项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">测试化验加工费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="测试化验加工费"
+                      v-model.number="wordData['fund']['processing']"></el-input>
+              </td>
+              <td colspan="5">项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">项目协作费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="项目协作费"
+                      v-model.number="wordData['fund']['Collaboration']"></el-input>
+              </td>
+              <td colspan="5">按合同规定支付给协作单位的费用</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">间接经费</td>
+              <td colspan="4">项目成果鉴定费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="项目成果鉴定费"
+                      v-model.number="wordData['fund']['APPRAISAL']"></el-input>
+              </td>
+              <td colspan="5">学术会务费、评审费、鉴定费、成果集制作费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">参展参赛费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="参展参赛费"
+                      v-model.number="wordData['fund']['entery']"></el-input>
+              </td>
+              <td colspan="5">参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">创客交流活动费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="创客交流活动费"
+                      v-model.number="wordData['fund']['activities']"></el-input>
+              </td>
+              <td colspan="5">创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">知识产权事务费</td>
+              <td colspan="2">
+                <el-input
+                      type="number"
+                      autosize
+                      resize="none"
+                      placeholder="知识产权事务费"
+                      v-model.number="wordData['fund']['Transaction']">
+                    </el-input>
+              </td>
+              <td colspan="5">论文版面费、专利及其他知识产权事务等费用。</td>
+            </tr>
+
+            <tr class="textLeft">
+                <td><p>所在部</p> <p>门意见</p></td><td colspan="15" style="height: 200px;">
+                 
+                    <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                    <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+                </td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in 16" :key="index+'c'" style="border: none;"></td>
+            </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>如表格不够可顺延或另附页。</span>
+          </div>
+    </div>
+    </template>
+      
+    <script>
+    
+      export default {
+        props:['wordData','total'],
+        data() {
+          return {
+            allFund:0,
+            DepartmentData:[],
+            }
+        },
+        methods: {
+          getText(value) {     //电话验证
+              let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
+              let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
+              if(!result) return this.$message.error('请输入正确联系号码格式')
+          },
+          addPerson(){   //添加老师
+            this.wordData['member'].push({name:"",collage:"",work:""});
+          },
+          DelPerson(index){   //删除老师
+            this.wordData['member'].splice(index,1)
+          },
+          getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
+            this.ajax.get(this.$store.state.api+'/SelectAllDepartment',{
+              uid:this.$store.state.userInfo.userid
+            }).then(res=>{
+              this.DepartmentData = res.data[0]
+            },err=>{
+              console.log(err);
+            })
+          },
+          checkExpenditureMothPlan(index){
+            let count = 0;
+            this.wordData['expenditureMothPlan'].forEach(item=>count+=Number(item))
+            if(count>this.total){
+              this.$message.error("总经费月支出计划不能大于总经费");
+              this.wordData['expenditureMothPlan'][index]=0;
+            }
+          },
+          goto(str){
+            document.querySelector(str).scrollIntoView({ behavior: "smooth" });
+          },
+        },
+        
+        computed:{   //经费总合
+
+        },
+        mounted(){
+          this.getProjectDepartmentData();
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+
+    
+    #MarkeractivityWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: 500;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            border-top: solid 1px black;
+           
+            tr{
+              position: relative;
+              .bold{
+                font-weight: 600;
+              }
+              td{
+                border: none;
+                border-bottom: solid 1px black;
+                border-right: solid 1px black;
+                height: 50px;
+                text-align: center;
+                line-height: 30px;
+                width: 80px;
+                &:nth-child(1){
+                  border-left:  solid 1px black;
+                }
+              
+                p{
+                  font-weight: 600;
+                }
+                :deep(.el-select .el-input .el-select__caret){
+                  display: none;
+                  font-family:Arial,"Microsoft Yahe","微软雅黑";
+                }
+                :deep(.el-textarea__inner){
+                  // padding: 0;
+                  border: none ;
+                  border-radius: 0px;
+                  text-align: center;
+                  font-size: 16px;
+                  font-family:Arial,"Microsoft Yahe","微软雅黑";
+                }
+                :deep(.el-input__inner){
+                  border: none ;
+                  font-family:Arial,"Microsoft Yahe","微软雅黑";
+                  &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{
+                    -webkit-appearance: none !important;
+                  }
+                  &[type='number'] {
+                    -moz-appearance: textfield;
+                  }
+                  
+                  border-radius: 0px;
+                  text-align: center;
+                  font-size: 16px;
+                }
+
+              }
+          }
+            .textLeft{
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+          }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+    }
+    .operate{
+        right:-85px;
+        width:85px;
+        height: 50px;
+        display:flex;
+        justify-content:space-between;
+        align-items:center;
+        position:absolute;
+        .el-button{
+          max-width:10px;
+          display:flex;
+          justify-content:center;
+          align-items:center;
+          margin-left:10px;
+        }
+    }
+    </style>

+ 57 - 42
src/views/activityManage/components/markeractivityWord.vue

@@ -7,9 +7,9 @@
         </div>
         <table border="1" cellspacing="0" class="table">
             <tr id="one">
-              <td colspan="4">关联项目</td>
+              <td colspan="4" class="bold"><span style="color:red">*</span>关联项目</td>
               <td colspan="12">
-                <el-select v-model="wordData['associatedProjects']" @change="checkProjectMoney()" style="width: 100%;" placeholder="请选择关联项目">
+                <el-select v-model="wordData['associatedProjects']" @change="getProjectFund()" style="width: 100%;" placeholder="请选择关联项目">
                   <el-option
                     v-for="item in ProjectData"
                     :key="item.courseId"
@@ -20,7 +20,7 @@
               </td>
             </tr>
             <tr id="two">
-                <td colspan="4">活动名称</td>
+                <td colspan="4" class="bold"><span style="color:red">*</span>活动名称</td>
                 <td colspan="5">
                     <el-input
                         type="textarea"
@@ -30,19 +30,13 @@
                         v-model="wordData['activityName']">
                     </el-input>
                 </td>
-                <td colspan="3">预算经费</td>
-                <td colspan="4" v-text="total">
-                    <!-- <el-input
-                        type="textarea"
-                        autosize
-                        resize="none"
-                        placeholder="请输入预算经费"
-                        v-model="total">
-                    </el-input> -->
+                <td colspan="3" class="bold">预算经费</td>
+                <td @click="goto('#fund')" colspan="4" v-text="total">
+                    
                 </td>
             </tr>
             <tr id="three">
-                <td colspan="4">项目负责人</td><td colspan="3">
+                <td colspan="4" class="bold"><span style="color:red">*</span>项目负责人</td><td colspan="3">
                     <el-input
                         type="textarea"
                         autosize
@@ -50,7 +44,7 @@
                         placeholder="请输入负责人"
                         v-model="wordData['pro_leader']">
                     </el-input>
-                </td><td colspan="2">所在部门</td><td colspan="3">
+                </td><td colspan="2" class="bold"><span style="color:red">*</span>所在部门</td><td colspan="3">
                     <!-- <el-input
                         type="textarea"
                         autosize
@@ -66,7 +60,7 @@
                         :value="item.id">
                       </el-option>
                     </el-select>
-                </td><td colspan="2">联系电话</td><td colspan="3">
+                </td><td colspan="2" class="bold"><span style="color:red">*</span>联系电话</td><td colspan="3">
                     <el-input
                         type="textarea"
                         autosize
@@ -77,7 +71,7 @@
                 </td>
             </tr>
             <tr id="four">
-                <td colspan="4">活动时间</td>
+                <td colspan="4" class="bold"><span style="color:red">*</span>活动时间</td>
                 <td colspan="5">
                   <el-date-picker
                     v-model="wordData['activityTime']"
@@ -89,11 +83,10 @@
                     end-placeholder="项目完成时间">
                   </el-date-picker>
                 </td>
-                <td colspan="3">参与学生人数</td><td colspan="5">
+                <td colspan="3" class="bold">参与学生人数</td><td colspan="5">
                     <el-input
                         type="number"
                         autosize
-                        :min="0"
                         style="width: 100%;"
                         resize="none"
                         placeholder="请输入参与学生人数"
@@ -133,7 +126,7 @@
                 </td>
                 <div class="operate">
                   <el-button @click="addPerson" v-if="wordData['member'].length-1==index" type="primary" size="mini">添加</el-button>
-                  <el-button @click="DelPerson(index)" type="primary" size="mini">删除</el-button>
+                  <el-button @click="DelPerson(index)" v-if="wordData['member'].length>1" type="primary" size="mini">删除</el-button>
                 </div>
             </tr>
             <tr class="textLeft" id="six">
@@ -195,7 +188,7 @@
                     </el-input>
                 </td>
             </tr>
-            <tr>
+            <tr id="fund">
                 <td rowspan="14"><p>预</p> <p>算</p> <p>经</p> <p>费</p></td>
             </tr>
             <tr>
@@ -336,9 +329,8 @@
 
             <tr class="textLeft">
                 <td><p>所在部</p> <p>门意见</p></td><td colspan="15" style="height: 200px;">
-                 
-                    <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 style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;position: relative;bottom: -50px;">负责人签章:</div>
+                    <div style="text-align: right;font-size: 18px;width: 90%;position: relative;bottom: -30px;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
                 </td>
             </tr>
             <tr>
@@ -363,6 +355,7 @@
         data() {
           return {
             allFund:0,
+            myselfFund:0,
             DepartmentData:[],
             ProjectData:[],
             }
@@ -402,6 +395,9 @@
               for(let i in this.wordData['fund'])this.wordData['fund'][i]='';
               return this.$message.error("请先选择关联项目");
             }
+            // if(this.myselfFund>this.total){
+            //   this.allFund+=this.myselfFund - this.total;
+            // }
             if(this.total>this.allFund){
               this.wordData['fund'][index]=0;
               return this.$message.error("活动总经费不能超过项目剩余总预算")
@@ -415,36 +411,49 @@
               this.wordData['expenditureMothPlan'][index]=0;
             }
           },
-          checkProjectMoney(){
-            this.wordData['expenditureMothPlan'] = ['','','','','','','','','','','',''];
-            this.wordData['fund'] = {
-                total:0,
-                device:"",
-                Material:"",
-                processing:"",
-                Collaboration:"",
-                APPRAISAL:"",
-                entery:"",
-                activities:"",
-                Transaction:"",
-              }
-              this.getProjectFund();
-          },
           getProjectFund(){
+            if(this.wordData['associatedProjects']=='')return;
             this.ajax.get(this.$store.state.api+"/getProjectFund",{
               uid:this.$store.state.userInfo.userid,
               pid:this.wordData['associatedProjects'],
             }).then(result=>{
-              console.log(result)
               let total = Number(result['data'][0][0]['fund']);
+              console.log(result['data'][0][0])
+              console.log(this.wordData)
+              this.wordData['college'] = result['data'][0][0]['classid'];
+              this.wordData['tel'] = result['data'][0][0]['phone'];
+              this.wordData['pro_leader'] = result['data'][0][0]['pro_leader'];
               let isUse = 0;
+              let myFund = 0;
               result['data'][1].forEach(item=>isUse+=Number(item['money']))
-              this.allFund = total -isUse;
+              this.allFund = total - isUse;
+              if(this.wordData['acId']){
+                result['data'][1].forEach(item=>item['acId']==this.wordData['acId']?myFund+=Number(item['money']):"");
+                this.myselfFund = myFund;
 
+              }
+              if(this.total>this.allFund+this.myselfFund){
+                this.wordData['expenditureMothPlan'] = ['','','','','','','','','','','',''];
+                  this.wordData['fund'] = {
+                    total:0,
+                    device:"",
+                    Material:"",
+                    processing:"",
+                    Collaboration:"",
+                    APPRAISAL:"",
+                    entery:"",
+                    activities:"",
+                    Transaction:"",
+                  }
+                  this.$message.error("活动总经费不能超过项目剩余总预算")
+              }
             }).catch(err=>{
               console.log(err)
             })
-          }
+          },
+          goto(str){
+            document.querySelector(str).scrollIntoView({ behavior: "smooth" });
+          },
         },
         
         computed:{   //经费总合
@@ -453,6 +462,7 @@
         mounted(){
           this.getProjectDepartmentData();
           this.getProjectData();
+          this.getProjectFund();
         }
       };
     </script>
@@ -498,7 +508,9 @@
         .table{
             border: none;
             border-top: solid 1px black;
-           
+            .bold{
+              font-weight: 600;
+            }
             tr{
               position: relative;
             td{
@@ -517,6 +529,7 @@
               }
               :deep(.el-select .el-input .el-select__caret){
                 display: none;
+                font-family:Arial,"Microsoft Yahe","微软雅黑";
               }
               :deep(.el-textarea__inner){
                 // padding: 0;
@@ -524,9 +537,11 @@
                 border-radius: 0px;
                 text-align: center;
                 font-size: 16px;
+                font-family:Arial,"Microsoft Yahe","微软雅黑";
               }
               :deep(.el-input__inner){
                 border: none ;
+                font-family:Arial,"Microsoft Yahe","微软雅黑";
                 &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{
                   -webkit-appearance: none !important;
                 }

+ 293 - 0
src/views/activityManage/components/markeractivityWordShow.vue

@@ -0,0 +1,293 @@
+<template>
+    <div id="MarkeractivityWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">创客专项资金及项目申请表({{wordData['type']==0?'创客活动':"个人创客"}})</div>
+            <div class="date">申请日期:{{wordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+            <tr id="one" v-if="wordData['type']==0">
+              <td colspan="4">关联项目</td>
+              <td colspan="12" v-text="wordData['ProjectName']"></td>
+            </tr>
+            <tr id="two">
+                <td colspan="4">活动名称</td>
+                <td colspan="5" v-text="wordData['activityName']"></td>
+                <td colspan="3">预算经费</td>
+                <td @click="goto('#fund')" colspan="4" v-text="total"></td>
+            </tr>
+            <tr id="three">
+                <td colspan="4">项目负责人</td><td colspan="3" v-text="wordData['pro_leader']"></td>
+                <td colspan="2">所在部门</td><td colspan="3" v-text="wordData['collegeName']"></td>
+                <td colspan="2">联系电话</td><td colspan="3" v-text="wordData['tel']"></td>
+            </tr>
+            <tr id="four">
+                <td colspan="4">活动时间</td>
+                <td colspan="5" v-text="wordData['activityTime'][0]+' 至 '+wordData['activityTime'][1]"></td>
+                <td colspan="3">参与学生人数</td><td colspan="5" v-text="wordData['student']"></td>
+            </tr>
+            
+            <tr id="five">
+                <td colspan="2" :rowspan="wordData['member'].length+1"><p>活</p> <p>动</p> <p>指</p> <p>导</p> <p>老</p> <p>师</p></td><td colspan="2">姓名</td><td colspan="3">工作单位/部门</td><td colspan="9">项目分工</td>
+            </tr>
+            <tr v-for="(item,index) in wordData['member']" :key="index+'b'">
+                <td colspan="2" style="border-left: none;" v-text="item['name']"></td>
+                <td colspan="3" v-text="item['collage']"></td>
+                <td colspan="10" v-text="item['work']"></td>
+            </tr>
+            <tr class="textLeft" id="six">
+                <td colspan="2"><p>活动</p><br> <p>计划</p></td><td style="text-align: left;vertical-align: top;height: 200px;" colspan="15" v-text="wordData['activityPlan']"></td>
+            </tr>
+            <tr class="textLeft" id="seven">
+                <td colspan="2"><p>预期</p><br><p>目标</p> </td><td colspan="15" style="text-align: left;vertical-align: top;height: 200px;" v-text="wordData['expectations']"></td>
+            </tr>
+            <tr class="textLeft" id="nine">
+                <td colspan="2"><p>活动受</p><br> <p>众面</p></td><td style="text-align: left;vertical-align: top;height: 200px;" colspan="15" >
+                    <p>参与学生范围:</p>
+                    <span v-text="wordData['eventAudience']"></span>
+                </td>
+            </tr>
+            <!-- <tr class="textLeft">
+                <td colspan="15" style="text-align: left;border-left: none;">
+                  <p>二、创新点</p>
+                    <el-input
+                      type="textarea"
+                      :rows="6"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="input">
+                    </el-input>
+                </td>
+            </tr> -->
+
+           
+            <tr class="textLeft" id="ten">
+                <td colspan="2"><p>经费</p><br><p>支出</p> <br><p>计划</p></td><td colspan="15" style="text-align: left;vertical-align: top;height: 200px;" v-text="wordData['fundingPlan']"></td>
+            </tr>
+            <tr id="fund">
+                <td rowspan="14"><p>预</p> <p>算</p> <p>经</p> <p>费</p></td>
+            </tr>
+            <tr>
+                <td rowspan="4" style="border-left: none;">总经费</td><td rowspan="4" colspan="2" >{{total}}元</td>
+            </tr>
+            <tr>
+                <td colspan="12" style="border-left: none;">经费月支出计划 (元)</td>
+            </tr>
+            <tr>
+              <td style="border-left: none;">第1个月</td><td>第2个月</td><td>第3个月</td><td>第4个月</td><td>第5个月</td><td>第6个月</td><td>第7个月</td><td>第8个月</td><td>第9个月</td><td>第10个月</td><td>第11个月</td><td>第12个月</td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in wordData['expenditureMothPlan']" :key="index" style="border-left: none;" v-text="wordData['expenditureMothPlan'][index]"></td>
+            </tr>
+            <tr>
+                <td colspan="4" style="border-left: none;">支出类别</td><td colspan="4">支出项目</td><td colspan="2">金额(元)</td><td colspan="5">备注</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">直接经费</td>
+              <td colspan="4">小型仪器设备费</td>
+              <td colspan="2" v-text="wordData['fund']['device']"></td>
+              <td colspan="5">
+                项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+              </td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">材料费</td>
+              <td colspan="2" v-text="wordData['fund']['Material']"></td>
+              <td colspan="5">项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">测试化验加工费</td>
+              <td colspan="2" v-text="wordData['fund']['processing']"></td>
+              <td colspan="5">项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">项目协作费</td>
+              <td colspan="2" v-text="wordData['fund']['Collaboration']"></td>
+              <td colspan="5">按合同规定支付给协作单位的费用</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">间接经费</td>
+              <td colspan="4">项目成果鉴定费</td>
+              <td colspan="2" v-text="wordData['fund']['APPRAISAL']"></td>
+              <td colspan="5">学术会务费、评审费、鉴定费、成果集制作费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">参展参赛费</td>
+              <td colspan="2" v-text="wordData['fund']['entery']"></td>
+              <td colspan="5">参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">创客交流活动费</td>
+              <td colspan="2" v-text="wordData['fund']['activities']"></td>
+              <td colspan="5">创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">知识产权事务费</td>
+              <td colspan="2" v-text="wordData['fund']['Transaction']"></td>
+              <td colspan="5">论文版面费、专利及其他知识产权事务等费用。</td>
+            </tr>
+
+            <tr class="textLeft">
+                <td><p>所在部</p> <p>门意见</p></td><td colspan="15" style="height: 200px;">
+                 
+                    <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                    <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+                </td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in 16" :key="index+'c'" style="border: none;"></td>
+            </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>如表格不够可顺延或另附页。</span>
+            <!-- <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
+                <el-button @click="applyButton" style="width: 120px;margin: 20px auto;"  type="primary">提交活动</el-button>
+                <el-button style="width: 120px;margin: 20px auto;" type="primary">下载表单</el-button>
+            </div> -->
+          </div>
+    </div>
+    </template>
+      
+    <script>
+    
+      export default {
+        props:['wordData','total'],
+        data() {
+          return {
+
+            }
+        },
+        methods: {
+          goto(str){
+            document.querySelector(str).scrollIntoView({ behavior: "smooth" });
+          },
+        },
+        
+        computed:{   //经费总合
+
+        },
+        mounted(){
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+
+    
+    #MarkeractivityWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: 500;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            border-top: solid 1px black;
+           
+            tr{
+              position: relative;
+            td{
+              border: none;
+              border-bottom: solid 1px black;
+              border-right: solid 1px black;
+              height: 50px;
+              text-align: center;
+              line-height: 30px;
+              width: 80px;
+              box-sizing: border-box;
+              padding: 5px;
+              &:nth-child(1){
+                border-left:  solid 1px black;
+              }
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{
+                  -webkit-appearance: none !important;
+                }
+                &[type='number'] {
+                  -moz-appearance: textfield;
+                }
+                
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+
+            }
+          }
+            .textLeft{
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+          }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+    }
+    .operate{
+        right:-85px;
+        width:85px;
+        height: 50px;
+        display:flex;
+        justify-content:space-between;
+        align-items:center;
+        position:absolute;
+        .el-button{
+          max-width:10px;
+          display:flex;
+          justify-content:center;
+          align-items:center;
+          margin-left:10px;
+        }
+    }
+    </style>

+ 284 - 0
src/views/activityManage/makerActivityWordDetail.vue

@@ -0,0 +1,284 @@
+<template>
+    <div id="makerActivityWordDetail" v-loading="loading">
+        <div class="projectApplication1">
+            <div class="vfpHeader">
+                <div class="titleOne">活动详细</div>
+                <el-button @click="back()" type="primary" size="mini">返回</el-button>
+            </div>
+            <hr>
+        </div>
+        <markeractivityWord v-if="wordData['type']==0 && wordData['state']==0" :wordData="wordData" :total="total"/>
+        <NomMarkerWord v-if="wordData['type']==1 && wordData['state']==0" :wordData="wordData" :total="total"/>
+        <markeractivityWordShow v-if="wordData['state']!=0" :wordData="wordData" :total="total"/>
+        <div>
+            <el-button type="primary" @click="getActivityWord">下载表单</el-button>
+            <el-button type="primary" v-if="wordData['state']==0" @click="test">立即修改</el-button>
+        </div>
+        <el-dialog
+          title="提示"
+          :visible.sync="submitHint"
+          width="600px"
+          class="pageSubmitData">
+          
+          <div class="deleteContent">确定修改“{{wordData['activityName']}}”活动?</div>
+          <span slot="footer" class="dialog-footer">
+            <el-button type="primary" @click="changeActivity" class="AllDialogBtn">确认提交</el-button>
+            <el-button @click="submitHint=false" class="AllDialogBtn">取消</el-button>
+          </span>
+        </el-dialog>
+    </div>
+  </template>
+  
+  <script>
+  import markeractivityWord from './components/markeractivityWord.vue'
+  import NomMarkerWord from './components/NomMarkerWord.vue'
+  import markeractivityWordShow from './components/markeractivityWordShow.vue'
+  import {makerActivityWord} from '@/components/tool/getWord'
+      export default {
+        components:{markeractivityWord,NomMarkerWord,markeractivityWordShow},
+        data() {
+              return {
+                loading:false,
+                submitHint:false,
+                wordData:{
+                  acId:"",//活动ID
+                  applicationDate:'',//申请日期
+                  associatedProjects:"",//关联项目
+                  ProjectName:"",//关联项目名称
+                  activityName:'',//活动名称
+                  pro_leader:"",//活动负责人
+                  college: '',//所在学院ID
+                  collegeName:"",//所在学院名称
+                  tel:'',//联系电话
+                  activityTime:"",//活动时间
+                  student:0,//参与学生人数
+                  member:[
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                  ],
+                  activityPlan:"",//活动计划
+                  expectations:"",//预期目标
+                  eventAudience:"",//活动受众面
+                  fundingPlan:"",//经费支出计划
+                  expenditureMothPlan:['','','','','','','','','','','',''],
+                  fund:{
+                    device:"",
+                    Material:"",
+                    processing:"",
+                    Collaboration:"",
+                    APPRAISAL:"",
+                    entery:"",
+                    activities:"",
+                    Transaction:"",
+                  },//预算经费
+                  type:0,//0 创客活动 1 个人创客
+                  state:1,//项目状态 0未审核 1待报销 2 已审核 3 已报销
+                }
+              }
+          },
+          methods:{
+              back(){
+                  this.$router.push('/makerActvity')
+              },
+              getData(){
+                this.loading = true;
+                let pram = {
+                    uid:this.$store.state.userInfo.userid,
+                    acid:this.$route.query['Id']
+                }
+                this.ajax.get(this.$store.state.api+"/getActivityWordData",pram).then(result=>{
+                    let data = result['data'][0][0]
+                    this.wordData['applicationDate'] = data['applicationDate'];
+                    this.wordData['associatedProjects'] = data['pid'];
+                    this.wordData['activityName'] = data['title'];
+                    this.wordData['pro_leader'] = data['pro_leader'];
+                    this.wordData['college'] = data['classid'];
+                    this.wordData['tel'] = data['phone']
+                    this.wordData['activityTime'] = JSON.parse(data['begin_at']);
+                    this.wordData['student'] = data['students'];
+                    this.wordData['member'] = JSON.parse(data['course_teacher']);
+                    this.wordData['expenditureMothPlan'] = JSON.parse(data['MothPlan']);
+                    this.wordData['fund'] = JSON.parse(data['fund']);
+                    this.wordData['type'] = data['type'];
+                    this.wordData['ProjectName'] = data['PName'];
+                    this.wordData['collegeName'] = data['CName'];
+                    this.wordData['acId'] = data['acId']
+                    this.wordData['state'] = data['state']
+                    this.wordData = {...this.wordData,...JSON.parse(data['chapters'])}
+                    this.loading = false;
+                }).catch(err=>{
+                    console.log(err)
+                })
+              },
+              test(){
+                const cEmpty = /^\s*$/g;
+                const checkPhone = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
+                for(let i in this.wordData){
+                  switch(i){
+                    case "associatedProjects":
+                      if(cEmpty.test(this.wordData[i]) && this.wordData['type']==0){
+                        this.$message.error("请选择关联项目")
+                        document.querySelector('#one').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                      break;
+                    case "activityName":
+                      if(cEmpty.test(this.wordData[i])){
+                        this.$message.error("请输入活动名称")
+                        document.querySelector('#two').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                      break;
+                    case "pro_leader":
+                      if(cEmpty.test(this.wordData[i])){
+                        this.$message.error("请输入活动负责人")
+                        document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                      break;
+                    case "college":
+                      if(cEmpty.test(this.wordData[i])){
+                        this.$message.error("请选择所在学院")
+                        document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                        return false;;
+                      }
+                      break;
+                    case "tel":
+                      if(cEmpty.test(this.wordData[i])){
+                        this.$message.error("请输入联系电话")
+                        document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }else if(!checkPhone.test(this.wordData[i])){
+                        this.$message.error("请输入正确的手机号");
+                        document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                        return false;
+                      }
+                      break;
+                    case "activityTime":
+                      if(cEmpty.test(this.wordData[i][0])){
+                        this.$message.error("请选择活动时间")
+                        document.querySelector('#four').scrollIntoView({ behavior: "smooth" });
+                        return false;;
+                      }
+                      break;
+                    // case "member":
+                    //     let num = 0;
+                    //     this.wordData[i].forEach(item=>{
+                    //       if(cEmpty.test(item['name']))num++;
+                    //       // for(let j in item){
+                    //       //   if(cEmpty.test(item[j])){
+                    //       //     num++;
+                    //       //   }
+                    //       // }
+                        
+                    //     })
+                    //     if(num>0){
+                    //       this.$message.error("请填完指导老师信息");
+                    //       document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
+                    //       return false;
+                    //     }
+                    //   break;
+                    // case "activityPlan":
+                    //   if(cEmpty.test(this.wordData[i][0])){
+                    //     this.$message.error("请输入活动计划");
+                    //     document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
+                    //     return false;
+                    //   }
+                    //   break;
+                    // case "expectations":
+                    //   if(cEmpty.test(this.wordData[i][0])){
+                    //     this.$message.error("预期目标");
+                    //     document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+                    //     return false;
+                    //   }
+                    //   break;
+                    // case "eventAudience":
+                    //   if(cEmpty.test(this.wordData[i][0])){
+                    //     this.$message.error("活动受众面")
+                    //     document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
+                    //     return false;
+                    //   }
+                    //   break;
+                    // case "fundingPlan":
+                    //   if(cEmpty.test(this.wordData[i][0])){
+                    //     this.$message.error("经费支出计划")
+                    //     document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
+                    //     return false;
+                    //   }
+                    //   break;
+                  }
+                }
+                this.submitHint = true;
+            },
+            changeActivity(){
+              let pram = {
+                uid:this.$store.state.userInfo.userid,//用户ID
+                aid:this.wordData['acId'],
+                tit:this.wordData['activityName'],//活动名称
+                courseId:this.wordData['associatedProjects'],//关联项目ID
+                pLeader:this.wordData['pro_leader'],//活动负责人
+                mon:this.total,//预算经费
+                st:this.wordData['student'],//参与学生人数
+                ct:JSON.stringify(this.wordData['member']),//活动指导老师
+                chp:JSON.stringify({
+                  activityPlan:this.wordData['activityPlan'],//活动计划
+                  expectations:this.wordData['expectations'],//预期目标
+                  eventAudience:this.wordData['eventAudience'],//活动受众面
+                  fundingPlan:this.wordData['fundingPlan'],//经费支出计划
+                }),//活动信息
+                cid:this.wordData['college'],//学院ID,
+                ph:this.wordData['tel'],//联系电话
+                beg:JSON.stringify(this.wordData['activityTime']),//活动时间
+                f:JSON.stringify(this.wordData['fund']),//预算经费明细
+                appltTime:this.wordData['applicationDate'],//申请日期
+                mp:JSON.stringify(this.wordData['expenditureMothPlan']),//月支出计划
+              }
+              this.ajax.post(this.$store.state.api+"/UpdateActivityWordData",pram).then(result=>{
+                if(result['data']==1){
+                  this.$message.success("活动修改成功");
+                  this.submitHint = false;
+                }else{
+                  this.$message.error("活动修改失败")
+                }
+                this.getData();
+              }).catch(err=>{
+                console.log(err)
+              })
+            },
+            getActivityWord(){
+              // if(this.wordData['type']==0){
+                // this.$message.info("正在下载创客活动表单");
+                makerActivityWord(this.wordData,this.total)
+              // }else if(this.wordData['type']==1){
+                // this.$message.info("正在下载个人创客表单")
+              // }
+            }
+          },
+          computed:{
+            total() {
+              let num = 0;
+              for(let i in this.wordData['fund'])num += Number(this.wordData['fund'][i]);
+              return num;
+              // return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.input*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)/10000
+            }
+          },
+          mounted(){
+            this.getData();
+          }
+      }
+  </script>
+  
+  <style lang="less">
+  #makerActivityWordDetail{
+    width: 100%;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    .projectApplication1{
+        width: 100%;
+    }
+  }
+  </style>

+ 151 - 80
src/views/activityManage/makerActvity.vue

@@ -2,60 +2,83 @@
   <!--创客活动 -->
   <div class="makerActvity" v-loading="loading">
     <div class="pAHeader">
-      <div class="pAHeader1">创客活动</div>
+      <div class="pAHeader1">活动申请</div>
       <!-- <el-button @click="makerActvityApply">创客活动申请</el-button> -->
     </div>
     <hr>
 
 <!-- 搜索框开始 -->
-    <div class="selects">
-      <div class="selectsBlock">
-        <div class="selectLabel">项目筛选</div>
-        <el-select v-model="pavalues.value" @change="getData" placeholder="请选择">
-          <el-option label="所有项目" value=""/>
-          <el-option
-            v-for="item in options"
-            :key="item.courseId"
-            :label="item.title"
-            :value="item.courseId">
-          </el-option>
-        </el-select>
+    <div class="selectInp">
+      <div class="manageSelects">
+        <div class="selectsBlock">
+          <div class="selectLabel">项目筛选</div>
+          <el-select v-model="pavalues.value" @change="getData" placeholder="请选择">
+            <el-option label="所有项目" value=""/>
+            <el-option
+              v-for="item in options"
+              :key="item.courseId"
+              :label="item.title"
+              :value="item.courseId">
+            </el-option>
+          </el-select>
+        </div>
+
+        <div class="selectsBlock">
+          <div class="selectLabel">分类</div>
+          <el-select v-model="pavalues.value4" @change="getData" placeholder="请选择">
+            <el-option label="所有分类" value=""/>
+            <el-option label="创客活动" :value="0"/>
+            <el-option label="个人创客" :value="1"/>
+            <!-- <el-option label="所有部门" value=""/>
+            <el-option
+              v-for="item in options1"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option> -->
+          </el-select>
+        </div>
+
+        <div class="selectsBlock">
+          <div class="selectLabel">所在部门</div>
+          <el-select v-model="pavalues.value1" @change="getData" placeholder="请选择">
+            <el-option label="所有部门" value=""/>
+            <el-option
+              v-for="item in options1"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
+        </div>
+
+        <div class="selectsBlock">
+          <div class="selectLabel">负责人</div>
+          <el-select v-model="pavalues.value2" @change="getData" placeholder="请选择">
+            <el-option label="所有负责人" value=""></el-option>
+            <el-option
+              v-for="item in options2"
+              :key="item.pro_leader"
+              :label="item.pro_leader"
+              :value="item.pro_leader">
+            </el-option>
+          </el-select>
+        </div>
+
+        <div class="selectsBlock">
+          <div class="selectLabel">状态</div>
+          <el-select v-model="pavalues.value3" @change="getData" placeholder="请选择">
+            <el-option label="所有状态" value=""/>
+            <el-option label="未审核" :value="0"/>
+            <el-option label="待审核" :value="1"/> 
+            <el-option label="已审核" :value="2"/> 
+            <el-option label="已报销" :value="3"/>
+          </el-select>
+        </div>
       </div>
-
-      <div class="selectsBlock">
-        <div class="selectLabel">所在部门</div>
-        <el-select v-model="pavalues.value1" @change="getData" placeholder="请选择">
-          <el-option label="所有部门" value=""/>
-          <el-option
-            v-for="item in options1"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
-          </el-option>
-        </el-select>
-      </div>
-
-      <div class="selectsBlock">
-        <div class="selectLabel">负责人</div>
-        <el-select v-model="pavalues.value2" @change="getData" placeholder="请选择">
-          <el-option label="所有负责人" value=""></el-option>
-          <el-option
-            v-for="item in options2"
-            :key="item.pro_leader"
-            :label="item.pro_leader"
-            :value="item.pro_leader">
-          </el-option>
-        </el-select>
-      </div>
-
-      <div class="selectsBlock">
-        <div class="selectLabel">状态</div>
-        <el-select v-model="pavalues.value3" @change="getData" placeholder="请选择">
-          <el-option label="所有状态" value=""/>
-          <el-option label="未审核" :value="0"/>
-          <el-option label="未报销" :value="1"/> 
-          <el-option label="已报销" :value="2"/>
-        </el-select>
+      <div class="ProjectManagementQuery">
+        <el-input v-model="input" placeholder="请输入项目名称/编号"></el-input>
+        <el-button type="primary" class="btn" size="mini" @click="getData">查询</el-button>
       </div>
 
     </div>
@@ -93,6 +116,11 @@
           align="center"
           label="关联项目"
           min-width="9%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.PName!=null||scope.row.PName==''?scope.row.PName:"-" }}
+            </div>
+          </template>
         </el-table-column>
         <el-table-column
           prop="money"
@@ -124,7 +152,9 @@
           label="活动时间"
           min-width="12%">
           <template #default="scope">
-            {{ GetTime(scope.row.begin_at)}}
+            {{ scope.row.createTime }}
+            <!-- {{ scope.row.createTime.split(' ')[0] }}<br/>{{ scope.row.createTime.split(' ')[1] }} -->
+            <!-- {{ GetTime(scope.row.begin_at)}} -->
           </template>
         </el-table-column>
         <el-table-column
@@ -137,13 +167,13 @@
               <div class="operations">
                         <el-button type="primary"  @click="MADetails(scope.row.acId)" size="mini">查看详情</el-button>
 
-                        <el-button type="primary" v-if="scope.row.state==0"  @click="audi(scope.row,0)" size="mini">审核</el-button>
-                        <el-button type="primary" disabled v-show="scope.row.state>=1" class="disa" size="mini">审核</el-button>
+                        <el-button type="primary" v-if="scope.row.state==0"  @click="audi(scope.row,0)" size="mini">提交</el-button>
+                        <el-button type="primary" disabled v-show="scope.row.state>=1" class="disa" size="mini">已提交</el-button>
 
                         <!-- <el-button type="primary"  @click="audi(scope.row,1)" size="mini">管理审核</el-button> -->
-                        <el-button type="primary"  v-show="scope.row.state==1" @click="audi(scope.row,1)" size="mini">审核</el-button>
-                        <el-button type="primary" disabled v-show="scope.row.state==2" class="disa" size="mini">审核</el-button>
-                        <el-button type="primary" disabled v-show="scope.row.state!=2 && scope.row.state!=1" class="disa" size="mini">管审核</el-button>
+                        <el-button type="primary"  v-show="scope.row.state==1" @click="audi(scope.row,1)" size="mini">审核1</el-button>
+                        <el-button type="primary" disabled v-show="scope.row.state==2" class="disa" size="mini">审核1</el-button>
+                        <el-button type="primary" disabled v-show="scope.row.state!=2 && scope.row.state!=1" class="disa" size="mini">已审核1</el-button>
 
                         
                         <!-- <el-button type="primary"  size="mini" @click="edit(scope.row.acId)">申请表</el-button> -->
@@ -163,7 +193,7 @@
           :visible.sync="auditDialog"
           class="dialogWidth"
           :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
+          
         
           <div class="diaTit">
               <div class="spans">项目名称:</div>
@@ -220,7 +250,7 @@
           class="dialogWidth"
           width="700px"
           :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
+          
         
           <div class="diaTit">
               <div class="spans">项目名称:</div>
@@ -279,7 +309,7 @@
       width="600px"
       class="endDialog"
       :before-close="init">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="deleteContent">"{{ endTable.title }}"项目活动,是否确定完结?</div>
       <div class="deleteContent1">活动完结报告</div>
       <div class="download" v-for="(item,index) in endTable.file" :key="index">
@@ -301,15 +331,36 @@
         <el-button @click="endDialog=false" class="AllDialogBtn">取消</el-button>
       </div>
     </el-dialog>
+
+    <!-- 未完结资金查看开始 -->
+    <el-dialog
+      title="提示"
+      :visible.sync="endFundDialog"
+      width="600px"
+      class="endDialog"
+      :before-close="init">
+      
+      <div class="deleteContent">"{{ endTable.title }}"项目活动还有资金未完结!</div>
+      <div class="deleteContent1">未完结资金编号</div>
+
+      <div class="download" v-for="(item,index) in endFundData" :key="item.fid">
+        <div>{{ item.fundNo }}</div>
+      </div>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="endFundDialog = false" class="AllDialogBtn">确认</el-button>
+        <el-button @click="endFundDialog=false" class="AllDialogBtn">取消</el-button>
+      </div>
+    </el-dialog>
+    <!-- 未完结资金查看结束 -->
     <!-- 完结对话框结束 -->
     <!-- 活动管理word文档预览开始 -->
-    <el-dialog
+    <!-- <el-dialog
       title="提示"
       :visible.sync="activityWord"
       width="65%"
       top="50px"
       class="endDialog">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="core_dialogue">
         <makerActivityWord :data="wordData"/>
       </div>
@@ -318,7 +369,7 @@
         <el-button @click="activityWord = false" class="AllDialogBtn">取消</el-button>
       </div>
 
-    </el-dialog>
+    </el-dialog> -->
     <!-- 活动管理word文档预览结束 -->
     <!-- 分页 -->
     <el-pagination
@@ -351,7 +402,9 @@ import { ActivityWord } from '@/components/tool/getWord';
           endDialog:false,  //完结对话框
           auditDialog:false,   //审核对话框
           rejectDialog:false,   //驳回对话框
-          activityWord:false,
+          endFundDialog:false,//未完结资金
+          endFundData:[],
+          // activityWord:false,
           rejectApplyText:'',//驳回数据
           options:[],
           options1:[],
@@ -364,6 +417,7 @@ import { ActivityWord } from '@/components/tool/getWord';
             value1:'',//部门ID
             value2:'',//负责人
             value3:'',//状态
+            value4:"",//分类
           },
           Page:{
             nowPage:1,
@@ -431,13 +485,28 @@ import { ActivityWord } from '@/components/tool/getWord';
 
 
         end(val){//完结按钮
-          this.endTable.title = val.title;
-          this.endTable.Id = val.acId;
-          this.endTable.file = val.reportFile==''||val.reportFile==null?[]:val.reportFile;
-          this.endDialog=true;
+          this.ajax.get(this.$store.state.api+'/getNoEndFundByActivity',{
+            uid:this.$store.state.userInfo.userid,
+            aid:val.acId
+          }).then(result=>{
+            console.log(result);
+            if(result['data'][0].length>0){
+              this.endTable.title = val.title;
+              this.endFundData = result['data'][0];
+              this.endFundDialog = true;
+            }else{
+              this.endTable.title = val.title;
+              this.endTable.Id = val.acId;
+              this.endTable.file = val.reportFile==''||val.reportFile==null?[]:val.reportFile;
+              this.endDialog=true;
+            }
+          }).catch(err=>{
+            console.log(err);
+          })
+   
         },
         ending(){   //完结提交
-          if(this.endTable.file.length<=0)return this.$message.error("请上传完结报告");
+          // if(this.endTable.file.length<=0)return this.$message.error("请上传完结报告");
           this.ajax.post(this.$store.state.api+"/UploadActivityFile",{
             uid:this.$store.state.userInfo.userid,
             aid:this.endTable.Id,
@@ -466,19 +535,19 @@ import { ActivityWord } from '@/components/tool/getWord';
           })
         },
         
-        edit(Id){ // 申请表按钮
-          this.ajax.get(this.$store.state.api+"/SelectActivityWord",{
-            uid:this.$store.state.userInfo.userid,
-            aid:Id
-          }).then(res=>{
-            // ActivityWord(res.data[0][0])
-            this.wordData = res.data[0][0];
-            this.activityWord = true;
-          }).catch(err=>{
-            this.$message.error("错误"+err.message)
-          })
-          // downloadFile('/file/附件 2:创客专项资金项目申请表(创客活动).doc',"创客专项资金项目申请表(创客活动).doc",(_b)=>this.loading = _b);
-        },
+        // edit(Id){ // 申请表按钮
+        //   this.ajax.get(this.$store.state.api+"/SelectActivityWord",{
+        //     uid:this.$store.state.userInfo.userid,
+        //     aid:Id
+        //   }).then(res=>{
+        //     // ActivityWord(res.data[0][0])
+        //     this.wordData = res.data[0][0];
+        //     this.activityWord = true;
+        //   }).catch(err=>{
+        //     this.$message.error("错误"+err.message)
+        //   })
+        //   // downloadFile('/file/附件 2:创客专项资金项目申请表(创客活动).doc',"创客专项资金项目申请表(创客活动).doc",(_b)=>this.loading = _b);
+        // },
 
         //下载申请表
         getWord(){
@@ -540,7 +609,7 @@ import { ActivityWord } from '@/components/tool/getWord';
         },
    
         MADetails(Id){   // 查看详情
-          this.$router.push(`/makerActvityDetails?Id=${Id}`)
+          this.$router.push(`/makerActvityWordDetail?Id=${Id}`)
         },
         CurrentChange(nowPage){
           this.Page.nowPage = nowPage;
@@ -554,6 +623,8 @@ import { ActivityWord } from '@/components/tool/getWord';
             cid:this.pavalues.value1,
             leader:this.pavalues.value2,
             state:this.pavalues.value3,
+            type:this.pavalues.value4,
+            inp:this.input,
             page:this.Page.nowPage,
             lim:this.Page.lim,
           }).then(res=>{

+ 0 - 364
src/views/activityManage/makerActvityApply.vue

@@ -1,364 +0,0 @@
-<template>
-  <!-- 创客创新-活动申请基础信息表单 -->
-    <div class="makerActvityApplyPAapply">
-      <div class="pAmid">
-        <!-- 左边栏导航区开始 -->
-        <div class="left">
-            <div class="sx">
-              <div class="qiu"></div>
-            </div>
-            <div class="leftTits">
-              <span @click="toPage(1)">活动信息填写</span>
-              <span @click="toPage(2)">活动指导老师</span>
-              <span @click="toPage(3)">活动介绍</span>
-              <span @click="toPage(4)">下一步</span>
-            </div>
-        </div>
-      <!-- 左边导航区结束 -->
-
-        <!-- 右边填写信息区域开始 -->
-        <div class="right">
-              <div id="a" class="vfpHeader">
-                  <div class="titleOne">创客创新-活动申请</div>
-                  <el-button type="primary" @click="$router.back()">返回</el-button>
-              </div>
-              <hr>
-
-              
-              <!-- 活动申请填写信息区域开始 -->
-                  <div class="select">
-                    <div class="selectTop">
-                      <div class="label">活动名称</div>
-                      <el-input v-model="data.select.activityName" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="selectMid">
-                      <div class="selectLeft">
-                          <div class="inpBlock">
-                              <div class="label">所属项目</div>
-                              <el-select v-model="data.select.pid" @change="checkProjectMoney(data.select.pid,data.select.fund)" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in data.project"
-                                  :key="item.courseId"
-                                  :label="item.title"
-                                  :value="item.courseId">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">预算经费</div>
-                              <el-input type="number" v-model.number="data.select.fund" @blur="checkProjectMoney(data.select.pid,data.select.fund)" placeholder="请输入内容"></el-input>
-                              <div style="position: absolute;right: -30px;top: 10px;">(元)</div>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">负责人</div>
-                              <el-input v-model="data.select.leader" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">所在部门</div>
-                              <el-select v-model="data.select.value" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in data.class"
-                                  :key="item.id"
-                                  :label="item.name"
-                                  :value="item.id">
-                                </el-option>
-                              </el-select>
-                          </div>
-
-                      </div>
-
-                      <div class="selectRight">
-                        <div class="inpBlock">
-                              <div class="label">活动时间</div>
-    
-                              <el-date-picker
-                                v-model="data.select.time"
-                                type="daterange"
-                                value-format="yyyy-MM-dd"
-                                style="width: 100%;"
-                                range-separator="至"
-                                start-placeholder="开始日期"
-                                end-placeholder="结束日期">
-                              </el-date-picker>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">参加学生人数</div>
-                              <el-input type="number" v-model.number="data.select.people" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">联系电话</div>
-                              <el-input v-model="data.select.tel" @blur="checkPhone(data.select.tel)" placeholder="请输入内容"></el-input>
-                          </div>
-                          
-                      </div>
-                    </div>
-                   
-              </div>
-              <!-- 活动申请填写信息区域结束 -->
-
-              <!-- 活动指导老师开始 -->
-              <div id="s" class="tabTit">
-                  <div><p>活动指导老师</p></div>
-                  <el-button type="primary" @click="addTeacher"  size="mini">添加教师</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="data.select.teacher"
-                tooltip-effect="dark"
-                stripe
-                class="fontSize"
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                >
-              
-                <el-table-column
-                  prop="Name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="work"
-                  label="工作单位"
-                  align="center"
-                  >
-                </el-table-column>
-  
-                <el-table-column
-                  prop="takeCharge"
-                  label="活动分工"
-                  align="center"
-                  >
-                </el-table-column>
-               
-                <el-table-column
-                  prop="operation"
-                  align="center"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                              <el-button type="primary" size="mini" @click="updateTeacher(scope.$index)">修改</el-button>
-                              <el-button type="primary" size="mini" @click="deleteRow(scope.$index)">删除</el-button>
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-              <!-- 活动指导老师结束 -->
-
-            <!-- 活动介绍区域开始 -->
-            <div id="d" class="tabTit">
-                  <div><p>活动介绍</p></div>
-            </div>
-            <hr>
-            <div class="textArea">
-              <el-input
-                type="textarea"
-                :rows="6"
-                resize="none"
-                class="textArea"
-                placeholder="请输入内容"
-                v-model="data.select.introduce">
-              </el-input>
-            </div>
-            <!-- 活动介绍区域结束 -->
-
-
-            <div id="f" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary"  @click="backBtn1" size:small>上一步</el-button>
-                <el-button type="primary"  @click="next()" size:small>下一步</el-button>
-              </div>
-            </div>
-        </div>
-        <!-- 右边填写信息区域结束 -->
-      </div>
-  
-        <!--添加成员dialog对话框开始 -->
-         <el-dialog
-            :title="isAddTeacher?'添加指导老师':'修改指导老师'"
-            :visible.sync="addMemberDialog"
-            class="AddMember"
-            :before-close="handleClose">
-
-              <div class="littleBlock">
-                <div class="dialogLabel">姓名</div>
-                <div>
-                  <el-input v-model="Member.Name"></el-input>
-                </div>
-              </div>
-
-              <div class="littleBlock">
-                <div class="dialogLabel">工作单位</div>
-                <div>
-                  <el-input v-model="Member.work"></el-input>
-                </div>
-              </div>
-
-              <div class="littleBlock">
-                <div class="dialogLabel">活动分工</div>
-                <div>
-                  <el-input v-model="Member.takeCharge"></el-input>
-                </div>
-              </div>
-              <div slot="footer" class="footer">
-                <el-button v-if="isAddTeacher" type="primary" @click="commit" class="AllDialogBtn" size="small">确认提交</el-button>
-                <el-button v-if="!isAddTeacher"  type="primary" @click="change" class="AllDialogBtn" size="small">确认修改</el-button>
-                <el-button @click="handleClose" class="AllDialogBtn" size="small">取消</el-button>
-              </div>
-        </el-dialog>
-      <!--添加成员dialog对话框结束 -->
-      <!-- 删除指导老师开始 -->
-      <el-dialog
-        title="提示"
-        :visible.sync="DelTeacherDialog"
-        width="600px"
-        class="MAputIn AddMember">
-        <div class="addDialogLogo">LOGO</div>
-        <div class="deleteContent">是否删除“{{ delTeacherTable.Name}}”指导老师?</div>
-        <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="DelTeacherYes" class="AllDialogBtn" size="small">确认删除</el-button>
-            <el-button @click="DelTeacherDialog=false;" class="AllDialogBtn" size="small">取消</el-button>
-        </span>
-      </el-dialog>
-      <!-- 删除指导老师结束 -->
-
-
-    </div>
-      
-  </template>
-  
-  <script>
-      export default {
-        props:["next","data","checkPhone","checkProjectMoney"],
-        data() {
-          return {
-            addMemberDialog:false,
-            Member:{
-              Name:'',
-              work:'',
-              takeCharge:''
-            },
-            isAddTeacher:true,
-            delTeacherTable:{
-              index:"",
-              Name:"",
-            },
-            DelTeacherDialog:false,
-          }
-        },
-        methods:{
-          handleSelectionChange(val) {
-            this.multipleSelection = val;
-          },
-          
-          addTeacher(){
-              this.addMemberDialog=true;
-          },
-          backBtn1(){
-            this.$router.push('/makerActvity')
-          },
-          commit(){
-            //判断是否全部填写
-            for(let a in this.Member)if(/^\s*$/g.test(this.Member[a]))return this.$message.error("请不要留空")
-            let pushData={};
-            Object.assign(pushData,this.Member)
-            this.data.select.teacher.push(pushData);
-            for(let i in this.Member)this.Member[i] = '';
-            this.addMemberDialog=false;
-            this.$message({
-              message:"添加成功",
-              type:"success"
-            });
-            this.isAddTeacher = true;
-          },
-          
-          handleClose(){
-            for(let i in this.Member)this.Member[i] = '';
-            this.addMemberDialog=false;
-            this.isAddTeacher = true;
-          },
-          updateTeacher(index){    //显示修改对话框
-            Object.assign(this.Member,this.data.select.teacher[index]);
-            this.Member['index'] = index;
-            this.isAddTeacher = false;
-            this.addMemberDialog = true;
-          },
-          change(){  //成员信息确定修改
-            if(this.isAddTeacher)return this.$message.error("错误");
-            for(let a in this.Member)if(/^\s*$/g.test(this.Member[a]))return this.$message.error("请不要留空")
-            Object.assign(this.data.select.teacher[this.Member.index],this.Member)
-            for(let i in this.Member)this.Member[i]='';
-            this.addMemberDialog = false;
-            this.isAddTeacher = true;
-          },
-          deleteRow(index){
-            this.delTeacherTable = this.data.select.teacher[index];
-            this.delTeacherTable["index"] = index;
-            this.DelTeacherDialog = true;
-          },
-          DelTeacherYes(){
-            this.data.select.teacher.splice(this.delTeacherTable["index"],1);
-            this.DelTeacherDialog = false;
-            this.$message.success("删除成功")
-          },
-          toPage(val){
-            if (val==1) {
-              document.getElementById("a").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("s").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("d").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("f").scrollIntoView({ behavior: "smooth" });
-            }
-          },
-
-        },
-      }
-  </script>
-  
-  <style lang="less">
-  .makerActvityApplyPAapply{
-      width: 100%;
-      position: relative;
-    }
-    .MAputIn{   //提交对话框样式
-  .deleteContent{
-    width: 100%;
-    text-align: center;
-    font-size: 25px;
-    color: #000;
-  }
-  .addDialogLogo{
-    width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-  }
- 
-  .el-dialog__title{
-    color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-  }
-  
-  .dialog-footer{
-    display: flex;
-    justify-content: center;
-  }
-}
-.littleBlock{
-  .dialogLabel{
-    width: 15% !important;
-  }
-}
-
-  </style>

+ 0 - 192
src/views/activityManage/makerActvityApply2.vue

@@ -1,192 +0,0 @@
-<template>
-  <!-- 创客创新-活动申请 详细信息表单 -->
-    <div class="makerActvityContent">
-      <div class="pAmid">
-
-        <!-- 左边栏导航区开始 -->
-        <div class="left">
-          <div class="sx">
-            <div class="qiu"></div>
-          </div>
-          <div class="leftTits">
-            <span @click="toPage(1)">活动计划</span>
-            <span @click="toPage(2)">预期目标</span>
-            <span @click="toPage(3)">活动受面</span>
-            <span @click="toPage(4)">经费支出计划</span>
-            <span @click="toPage(5)">完成</span>
-          </div>
-        </div>
-        <!-- 左边导航区结束 -->
-        
-        <!-- 右方数据展示区开始 -->
-        <div class="right">
-          <!-- 标题 -->
-          <div class="vfpHeader">
-              <div class="titleOne">活动申请</div>
-              <el-button type="primary" @click="back()">返回</el-button>
-          </div>
-            <hr>
-
-            <div id="z">
-              <p class="pTit">活动计划</p>
-              <div class="editor">
-                <vue-editor :editorToolbar="customToolbar" v-model="data[0]"></vue-editor>
-              </div>
-            </div>
-
-            <div id="x">
-                <p class="pTit">预期目标</p>
-                <div class="editor">
-                  <vue-editor :editorToolbar="customToolbar" v-model="data[1]"></vue-editor>
-                </div>
-              </div>
-
-              <div id="c">
-                <p class="pTit">活动受面</p>
-                <div class="editor">
-                  <vue-editor :editorToolbar="customToolbar" v-model="data[2]"></vue-editor>
-                </div>
-              </div>
-              <div id="v">
-                <p class="pTit">经费支出计划</p>
-                <div class="editor">
-                  <vue-editor :editorToolbar="customToolbar" v-model="data[3]"></vue-editor>
-                </div>
-              </div>
-              
-            <div id="b" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary" class="backBtn" @click="back()" size:small>上一步</el-button>
-                <el-button type="primary" class="backBtn" @click="putIn" size:small>提交</el-button>
-              </div>
-            </div>
-        </div>
-        <!-- 右方数据展示区结束-->
-
-
-      </div>
-
-      <!-- 提交对话框开始 -->
-      <el-dialog
-        title="提示"
-        :visible.sync="dialogVisible1"
-        width="600px"
-        class="MAputIn">
-        <div class="addDialogLogo">LOGO</div>
-        <div class="deleteContent">是否提交“{{activityName}}”项目活动?</div>
-        <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submit" class="AllDialogBtn" size="small">确认提交</el-button>
-            <el-button @click="dialogVisible1=false;" class="AllDialogBtn" size="small">取消</el-button>
-        </span>
-      </el-dialog>
-      <!-- 提交对话框结束 -->
-    </div>
-      
-  </template>
-  
-  <script>
-  import { VueEditor } from "vue2-editor";
-      export default {
-        props:["back","submit","activityName","data","check"],
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            dialogVisible1:false,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-          }
-        },
-        methods:{
-          putIn(){
-              if(this.check()==1)this.dialogVisible1=true;
-          },
-          backBtn1(){
-              this.$router.push('/makerActvityApply')
-          },
-          toPage(val){
-            if (val==1) {
-              document.getElementById("z").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("x").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("c").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("v").scrollIntoView({ behavior: "smooth" });
-            }else if(val==5){
-              document.getElementById("b").scrollIntoView({ behavior: "smooth" });
-            }
-          }
-        },
-      }
-  </script>
-  
-  <style lang="less">
-   .makerActvityContent{
-      width: 100%;
-      position: relative;
-
-      .el-dialog__header{
-        font-size: 18px;
-        background: #32455b;
-        justify-content: center;
-      }
-      .el-dialog{
-        border-radius: 5px;
-        overflow: hidden;
-      }
-
-    .pTit{
-      margin: 20px 5px 0px 0; 
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 18px;
-    }
-
-    .editor{
-      min-width: 700px;
-      box-sizing: border-box;
-      padding: 15px 20px 10px 0px;
-    }
-
-
-.MAputIn{   //提交对话框样式
-  .el-dialog__title{
-        color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-  }
-  .deleteContent{
-    width: 100%;
-    text-align: center;
-    font-size: 25px;
-    color: #000;
-  }
-  .addDialogLogo{
-        width: 60px;
-        height: 30px;
-        border-radius: 5px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-  }
- 
-  
-  
-  .dialog-footer{
-    display: flex;
-    justify-content: center;
-  }
-}
-   }
-  </style>

+ 0 - 268
src/views/activityManage/makerActvityApplyMain.vue

@@ -1,268 +0,0 @@
-<template>
-    <!-- 创客创新-活动申请 -->
-  <div>
-        <makerActvityApply :data="makerActvityApplyData" :checkProjectMoney="checkProjectMoney" :checkPhone="checkPhone"  :next="next"  v-if="status==0" />
-        <makerActvityApply2 :data="makerActvityApply2Data" :activityName="makerActvityApplyData.select.activityName" :check="check" :submit="submit" :back="back" v-if="status==1" />
-  </div>
-</template>
-
-<script>
-import makerActvityApply from './makerActvityApply.vue';
-import makerActvityApply2 from './makerActvityApply2.vue';
-    export default {
-        components:{makerActvityApply,makerActvityApply2},
-        data() {
-            return {
-                status:0,
-                makerActvityApplyData:{
-                    select:{
-                        activityName:'',
-                        pid:"",
-                        leader:'',
-                        tel:'',
-                        time:'',
-                        fund:0,
-                        people:0,
-                        value:'',
-                        teacher:[],
-                        introduce:'',
-                    },
-                    class:[],
-                    project:[],
-                },
-                makerActvityApply2Data:["","","","",]
-            }
-        },
-        methods:{
-            next(){
-                if(this.status>=1) return
-                this.status++
-            },
-            back(){
-                if(this.status==0) return
-                this.status--
-            },
-            submit(){
-                let data1 = this.makerActvityApplyData.select;
-                let param = {
-                    uid:this.$store.state.userInfo.userid,
-                    tit:data1['activityName'],
-                    con:data1['introduce'],
-                    leader:data1['leader'],
-                    money:data1['fund'],
-                    students:data1['people'],
-                    teacher:JSON.stringify(data1['teacher']),
-                    chapters:JSON.stringify(this.makerActvityApply2Data),
-                    pid:data1['pid'],
-                    cid:data1['value'],
-                    phone:data1['tel'],
-                    beginTime:JSON.stringify(data1['time']),
-                }
-                this.ajax.post(this.$store.state.api+"/CreateActivity",param).then(res=>{
-                    if(res.data==1){
-                        this.$message({message:"创建创客活动成功!",type:"success"})
-                        this.$router.push("/makerActvity")
-                    }else{
-                        this.$message.error(`创建创客活动失败:${res.data}`);
-                    }
-                    console.log(res)
-                }).catch(err=>{
-                    this.$message.error(err.message);
-                })
-
-            },
-            getAllClass(){
-                this.ajax.get(this.$store.state.api+"/SelectAllDepartment",{
-                    uid:this.$store.state.userInfo.userid,
-                }).then(res=>{
-                    this.makerActvityApplyData.class = res.data[0];
-                }).catch(err=>{
-                    this.$message.error(err.message)
-                })
-            },
-            getProject(){
-                this.ajax.get(this.$store.state.api+"/GetAllProjectName",{
-                    uid:this.$store.state.userInfo.userid,
-                }).then(res=>{
-                    this.makerActvityApplyData.project = res.data[0].filter(item=>item.isupload!=3 && item.isupload!=4 );
-                }).catch(err=>{
-                    this.$message.error(err.message)
-                })
-            },
-            check(){
-                let checkData = {...this.makerActvityApplyData.select,...this.makerActvityApply2Data}
-                const cEmpty = /^\s*$/g;
-                for(let i in checkData){
-                    switch(i){
-                        // case "0":
-                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动计划不能为空");
-                        //     break;
-                        // case "1":
-                        //     if(cEmpty.test(checkData[i]))return this.$message.error("预期目标不能为空");
-                        //     break;
-                        // case "2":
-                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动受面不能为空");
-                        //     break;
-                        // case "3":
-                        //     if(cEmpty.test(checkData[i]))return this.$message.error("经费支出计划不能为空");
-                        //     break;
-                        case "activityName":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("活动名称不能为空");
-                            break;
-                        case "teacher":
-                            if(checkData[i].length==0)return this.$message.error("请添加至少一名指导老师")
-                            break;
-                        case "fund":
-                            break;
-                        case "people":
-                            break;
-                        case "leader":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("负责人不能为空");
-                            break;
-                        case "pid":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("请选择所属项目");
-                            break;
-                        case "tel":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("电话号码不能为空");
-                            if(!this.checkPhone(checkData[i]))return;
-                            break;
-                        case "time":
-                            if(checkData[i].length<2)return this.$message.error("请选择项目开始时间");
-                            break;
-                        case "value":
-                            if(cEmpty.test(checkData[i]))return this.$message.error("请选择所在部门");
-                            break;
-                        // case "introduce":
-                        //     if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
-                        //     break;
-                    }
-                }
-                return 1;
-            },
-            checkPhone(val){
-                if(/^\s*$/g.test(val))return;
-                const cPhone = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/
-                if(!cPhone.test(val)){
-                    this.$message.error("电话号码格式不正确");
-                    return false;
-                }
-                return true;
-            },
-            checkProjectMoney(pid,aMoney){
-            if(aMoney==0){
-              return 1;
-            }else if(/^\s*$/g.test(pid) && aMoney!=0){
-              this.makerActvityApplyData.select.fund = 0;
-              return this.$message.info("请先选择所属项目");
-            } else if(!/^\s*$/g.test(pid) && aMoney!=0){
-              this.ajax.get(this.$store.state.api+"/GetAllActivityMoneyByProjectId",{
-                uid:this.$store.state.userInfo.userid,
-                projectid:pid
-              }).then(res=>{
-                console.log(res.data)
-                let PMoney = res.data[0][0]['PMoney'];
-                let AMoney = res.data[1][0]["AMoney"];
-                if(PMoney<(AMoney+aMoney)){
-                    this.makerActvityApplyData.select.fund = PMoney-AMoney;
-                    return this.$message.warning(`项目预算不足,项目预算只剩:${PMoney-AMoney}`);
-                }else{
-                  return 1;
-                }
-              }).catch(err=>{
-                console.log(err)
-              })
-            }
-          }
-        },
-        mounted() {
-            //获取部门
-            this.getAllClass();
-            //获取项目
-            this.getProject();
-        },
-    }
-</script>
-
-<style lang="less">
-        .back{  //返回按钮
-            padding-top: 15px;
-            color: #000;
-            cursor: pointer;
-        }
-
-
-        .pAmid{
-            position: absolute;
-            top: 20px;
-            width: 100%;
-            display: flex;
-            justify-content: center;
-            background: #e6eaf0;
-            box-sizing: border-box;
-            // padding-bottom: 30px;
-            .left{
-            width: 10%;
-            min-width: 130px;
-            height: 800px;
-            background: #32455b;
-            display: flex;
-            border-radius: 5px;
-            justify-content: center;
-            margin-right: 2%;
-            .leftTits{
-                display: flex;
-                flex-direction: column;
-                margin: 47px 0 0 15px;
-                span{
-                    cursor: pointer;
-                    color: #fff;
-                    margin-bottom: 30px;
-                }
-                span:hover{
-                    color: #ccc;
-                }
-            }
-            .sx{
-                margin-top: 50px;
-                width: 1px;
-                height: 400px;
-                background: #84888d;
-                .qiu{
-                width: 10px;
-                height: 10px;
-                background: #fff;
-                border-radius: 50px;
-                margin-left: -4.5px;
-                }
-            }
-            }
-            .right{
-                width: 83%;
-                background: #fff;
-                box-sizing: border-box;
-                padding: 20px 20px;
-                margin-bottom: 30px; 
-                border-radius: 5px;
-                .pAHeader{
-                    width: 85%;
-                    display: flex;
-                    justify-content:space-between;
-                    .pAHeader1{
-                        width: 200px;
-                        font-weight: 600;
-                        font-size: 22px;
-                        flex-shrink: 0;
-                    }
-                    .pAHeader2{
-                    padding-top: 15px;
-                    color: #000;
-                    cursor: pointer;
-                    }
-                }
-            }
-        }
-
-  
-
-
-</style>

+ 0 - 755
src/views/activityManage/makerActvityDetails.vue

@@ -1,755 +0,0 @@
-<template>
-  <!-- 创客创新-查看详细 -->
-     <div class="makerActvityDetails" v-loading="loading">
-
-            <div class="vfpHeader">
-              <div class="titleOne">活动详情</div>
-              <el-button type="primary" @click="$router.back()">返回</el-button>
-            </div>
-            <hr>
-            <!-- 活动基本信息开始 -->
-            <div class="tabTit">
-              <div><p>活动基本信息</p></div>
-            </div>
-          <!-- 活动申请填写信息区域开始 -->
-          <div class="select">
-                    <div class="selectTop">
-                      <div class="label">活动名称</div>
-                      <el-input v-model="tableData.title" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="selectMid">
-                      <div class="selectLeft">
-                          <div class="inpBlock" style="position: relative;">
-                              <div class="label">所属项目</div>
-                              <el-select v-model="tableData.pid" disabled style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in selectInput.project"
-                                  :key="item.courseId"
-                                  :label="item.title"
-                                  :value="item.courseId">
-                                </el-option>
-                              </el-select>
-                              <!-- <el-select v-model="tableData.pid" @change="checkProjectMoney(tableData.pid,tableData.money)" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in selectInput.project"
-                                  :key="item.courseId"
-                                  :label="item.title"
-                                  :value="item.courseId">
-                                </el-option>
-                              </el-select> -->
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">预算经费</div>
-                              <el-input type="number" v-model.number="tableData.money" @blur="checkProjectMoney(tableData.pid,tableData.money)" placeholder="请输入预算经费"></el-input>
-                              <div style="position: absolute;right: -28px;top:8px">(元)</div>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">负责人</div>
-                              <el-input v-model="tableData.pro_leader"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">所在部门</div>
-                               <el-select v-model="tableData.classid" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in selectInput.class"
-                                  :key="item.id"
-                                  :label="item.name"
-                                  :value="item.id">
-                                </el-option>
-                              </el-select>
-                          </div>
-                      </div>
-
-                      <div class="selectRight">
-                        <div class="inpBlock" style="position: relative;">
-                              <div class="label">活动时间</div>
-                              <el-date-picker
-                                v-model="tableData.begin_at"
-                                type="daterange"
-                                value-format="yyyy-MM-dd"
-                                style="width: 100%;"
-                                range-separator="至"
-                                start-placeholder="开始日期"
-                                end-placeholder="结束日期">
-                              </el-date-picker>
-                              <!-- <el-input v-model="data.fund" placeholder="请输入内容"></el-input>
-                              <div style="position: absolute;right: -28px;top:8px">(元)</div> -->
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">参与学生人数</div>
-                              <el-input type="number" v-model.number="tableData.students" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">联系电话</div>
-                              <el-input @blur="checkPhone(tableData.phone)" v-model="tableData.phone" placeholder="请输入内容"></el-input>
-                          </div>
-                      </div>
-                    </div>
-                   
-          </div>
-             
-            <!-- 活动完结报告开始 -->
-            <div class="tabTit">
-                <div><p>活动完结报告</p></div>
-            </div>
-            <div style="width: 85%" v-loading="downloadNow" element-loading-text="文件正在下载中">
-              <div style="display: flex;width: 100%;flex-direction: column;" >
-                  <div class="download" v-for="item in tableData.reportFile" :key="item.url">
-                      <span>{{ item.fileName }}</span>
-                      <div class="downloadBtn">
-                        <el-button type="primary" size="mini" @click="download(item)">下载文件</el-button>
-                        <el-button type="primary" @click="checkDelFile(item.url)" size="mini">删除文件</el-button>
-                      </div>
-                  </div>
-                  <el-progress style="margin-top:20px" v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-                  <div class="addMoneyBtn">
-                      <div class="jia">+</div>添加
-                      <div id="upFile">
-                        <beUpload @getFile="getFile" :navName="'上传文件'" :accept="accept" :progress="progress"> </beUpload>
-                      </div>
-                  </div>
-              </div>
-            </div>
-            <!-- 活动完结报告结束 -->
-
-            <!-- 活动指导老师开始 -->
-              <div class="tabTit">
-                <div>
-                  <p>活动指导老师</p>
-                </div>
-                <el-button type="primary"  @click="addTeacher" size="mini">添加教师</el-button>
-                <!-- <el-button type="primary" v-if="tableData.state==0" @click="addTeacher" size="mini">添加教师</el-button> -->
-                <!-- <el-button type="info" v-show="tableData.state==1 || tableData.state==2" disabled  size='small'>添加教师</el-button> -->
-              </div>
-              <hr>
-              <el-table
-                :data="tableData.course_teacher"
-                tooltip-effect="dark"
-                stripe
-                class="fontSize"
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                >
-                <!-- 数据根据prop进行遍历填充 -->
-                <el-table-column
-                  prop="Name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="work"
-                  label="工作单位"
-                  align="center"
-                  >
-                </el-table-column>
-  
-                <el-table-column
-                  prop="takeCharge"
-                  label="活动分工"
-                  align="center"
-                  >
-                </el-table-column>
-                
-                <el-table-column
-                  prop="operation"
-                  align="center"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" size="mini" @click="updateTeacher(scope.$index)" style="font-size: 14px;">修改</el-button>
-                              <el-button type="primary" size="mini" style="font-size: 14px;" @click="DeleteS(scope.$index)">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-            <!-- 活动指导老师结束 -->
-
-            <!-- 多行文本框部分开始 -->
-            <div class="tabTit">
-                 <div><p>活动介绍</p></div>
-            </div>
-              <el-input
-                type="textarea"
-                :rows="6"
-                placeholder="请输入内容"
-                v-model="tableData.brief">
-              </el-input>
-              <!-- <vue-editor  :editorToolbar="customToolbar" v-model="tableData.brief"></vue-editor> -->
-            <div class="tabTit">
-                 <div><p>活动计划</p></div>
-            </div>
-            <el-input
-              type="textarea"
-              :rows="6"
-              placeholder="请输入内容"
-              v-model="tableData.chapters[0]">
-            </el-input>
-              <!-- <vue-editor  :editorToolbar="customToolbar" v-model="tableData.chapters[0]"></vue-editor> -->
-            <div class="tabTit">
-                 <div><p>预期目标</p></div>
-            </div>
-            <el-input
-              type="textarea"
-              :rows="6"
-              placeholder="请输入内容"
-              v-model="tableData.chapters[1]">
-            </el-input>
-                <!-- <vue-editor  :editorToolbar="customToolbar" v-model="tableData.chapters[1]"></vue-editor> -->
-            <div class="tabTit">
-                 <div><p>活动受面</p></div>
-            </div>
-            <el-input
-              type="textarea"
-              :rows="6"
-              placeholder="请输入内容"
-              v-model="tableData.chapters[2]">
-            </el-input>
-              <!-- <vue-editor  :editorToolbar="customToolbar" v-model="tableData.chapters[2]"></vue-editor> -->
-            <div class="tabTit">
-                 <div><p>经费支出计划</p></div>
-            </div>
-            <el-input
-              type="textarea"
-              :rows="6"
-              placeholder="请输入内容"
-              v-model="tableData.chapters[3]">
-            </el-input>
-              <!-- <vue-editor  :editorToolbar="customToolbar" v-model="tableData.chapters[3]"></vue-editor> -->
-            <!-- 多行文本框部分结束 -->
-
-            <div class="baseBtn">
-              <div class="BtnStyle">
-                <el-button type="primary" v-show="tableData.state==0" @click="submit" size='small'>保存</el-button>
-                <el-button  type="info" v-show="tableData.state==1 || tableData.state==2" disabled size='small'>保存</el-button>
-                <el-button type="primary"  @click="getData" size='small'>重置</el-button>
-                <el-button v-if="tableData.state==0" type="primary" @click="processDialog = true" size='small'>立即审核</el-button>
-                <el-button type="info" v-show="tableData.state==1 || tableData.state==2" disabled size='small'>立即审核</el-button>
-              </div>
-            </div>
-
-
-            <!--修改成员dialog对话框开始 -->
-              <el-dialog
-                  :title="isAddTeacher?'添加指导老师':'修改指导老师信息'"
-                  :visible.sync="addMemberDialog"
-                  class="AddMember"
-                  :before-close="handleClose">
-
-                    <div class="littleBlock">
-                      <div class="dialogLabel">姓名</div>
-                      <div>
-                        <el-input v-model="Member.Name"></el-input>
-                      </div>
-                    </div>
-
-                    <div class="littleBlock">
-                      <div class="dialogLabel">工作单位</div>
-                      <div>
-                        <el-input v-model="Member.work"></el-input>
-                      </div>
-                    </div>
-
-                    <div class="littleBlock">
-                      <div class="dialogLabel">活动分工</div>
-                      <div>
-                        <el-input v-model="Member.takeCharge"></el-input>
-                      </div>
-                    </div>
-                    <div slot="footer" class="footer">
-                      <el-button v-if="isAddTeacher" type="primary" @click="commit" class="AllDialogBtn"  >确认提交</el-button>
-                      <el-button v-if="!isAddTeacher" type="primary" @click="change" class="AllDialogBtn"  >确认修改</el-button>
-                      <el-button @click="handleClose" class="AllDialogBtn" >取消</el-button>
-                    </div>
-              </el-dialog>
-            <!--修改成员dialog对话框结束 -->
-                  <!-- 提交对话框开始 -->
-                  <el-dialog
-                    title="提示"
-                    :visible.sync="dialogVisible1"
-                    width="600px"
-                    class="MAputIn AddMember">
-                    <div class="addDialogLogo">LOGO</div>
-                    <div class="deleteContent">是否修改“{{ tableData.title}}”项目活动?</div>
-                    <span slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="save" class="AllDialogBtn" >确认提交</el-button>
-                        <el-button @click="dialogVisible1=false;" class="AllDialogBtn" >取消</el-button>
-                    </span>
-                  </el-dialog>
-                  <!-- 删除文件对话框结束 -->
-                  <el-dialog
-                    title="提示"
-                    :visible.sync="DelFileDialog"
-                    width="600px"
-                    class="MAputIn AddMember">
-                    <div class="addDialogLogo">LOGO</div>
-                    <div class="deleteContent" >是否删除“{{DelFileData.fileName}}”文件?</div>
-                    <span slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="DelFileYes" class="AllDialogBtn" >确认删除</el-button>
-                        <el-button @click="DelFileDialog=false;" class="AllDialogBtn" >取消</el-button>
-                    </span>
-                  </el-dialog>
-                  <!-- 删除文件对话框结束 -->
-                  <!-- 审核对话框开始 -->
-                  <el-dialog
-                    title="提示"
-                    :visible.sync="processDialog"
-                    width="600px"
-                    class="MAputIn AddMember">
-                    <div class="addDialogLogo">LOGO</div>
-                    <div class="deleteContent">是否审核“{{ tableData.title}}”项目活动?</div>
-                    <span slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="process" class="AllDialogBtn" >确认审核</el-button>
-                        <el-button @click="processDialog=false;" class="AllDialogBtn">取消</el-button>
-                    </span>
-                  </el-dialog>
-                  <!-- 审核对话框结束 -->
-                  <!-- 删除老师对话框开始 -->
-                  <el-dialog
-                    title="提示"
-                    :visible.sync="DelTeacherDialog"
-                    width="600px"
-                    class="MAputIn AddMember">
-                    <!-- <div class="addDialogLogo">LOGO</div> -->
-                    <div class="deleteContent">是否删除“{{ delTeacherTable.Name}}”指导老师?</div>
-                    <span slot="footer" class="dialog-footer">
-                        <el-button type="primary" @click="DelTeacherYes" class="AllDialogBtn" >确认删除</el-button>
-                        <el-button @click="DelTeacherDialog=false;" class="AllDialogBtn" >取消</el-button>
-                    </span>
-                  </el-dialog>
-                  <!-- 删除老师对话框结束 -->
-      </div>
-</template>
-
-<script>
-import { VueEditor } from "vue2-editor";
-import BeUpload from '../../components/tool/beUpload.vue'
-import downloadFile from '@/components/tool/downloadFile.js'
-export default {
-  components:{
-    VueEditor,
-    BeUpload
-  },
-  data() {
-    return {
-      downloadNow:false,
-      accept:"*",
-      loading:false,
-      DelFileDialog:false,
-      dialogVisible1:false,
-      addMemberDialog:false,
-      processDialog:false,
-      DelTeacherDialog:false,
-      customToolbar: [
-        ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-        [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-        [{header:[false,1,2,3,4]}]
-      ],
-      tableData:{
-        acId:"",
-        title:"",
-        pid:"",
-        userid:"",
-        money:0,
-        pro_leader:"",
-        classid:"",
-        begin_at:[],
-        students:0,
-        state:0,
-        phone:"",
-        course_teacher:[],
-        brief:"",
-        chapters:["","","",""],
-        reportFile:"",
-      },
-      oldMoney:0,
-      selectInput:{
-        project:[],
-        class:[]
-      },
-      DelFileData:{
-        fid:"",
-        fileName:"",
-      },
-      delTeacherTable:{
-        Id:"",
-        name:"",
-      },
-      Member:{
-        Name:'',
-        work:'',
-        takeCharge:''
-      },
-      isAddTeacher:true,
-      progress:{
-        value:0,
-        show:false
-      }
-      }
-      
-  },
-  methods:{
-    download(item){
-      downloadFile(item['url'],item['fileName'],(_b)=>this.downloadNow = _b);
-    },
-    DelFileYes(){
-      let newFile = this.tableData.reportFile.filter(item=>item.url!=this.DelFileData.url);
-      this.ajax.post(this.$store.state.api+"/UploadActivityFile",{
-        uid:this.$store.state.userInfo.userid,
-        aid:this.$route.query['Id'],
-        file:JSON.stringify(newFile)
-      }).then(res=>{
-        if(res.data==1){
-          this.$message.success("删除成功");
-        }else{
-          this.$message.error("删除失败")
-        }
-        this.getData();
-        this.DelFileDialog = false;
-      }).catch(err=>{
-        this.$message.error(err.message)
-      })
-    },
-    checkDelFile(url){
-      this.DelFileData = this.tableData.reportFile.filter(item=>item.url==url)[0];
-      this.DelFileDialog = true;
-    },
-    getFile(val) {//上传文件
-      let newData = [...this.tableData.reportFile,val];
-      this.ajax.post(this.$store.state.api+"/UploadActivityFile",{
-        uid:this.$store.state.userInfo.userid,
-        aid:this.$route.query['Id'],
-        file:JSON.stringify(newData)
-      }).then(res=>{
-        if(res.data==1){
-          this.$message.success("添加成功");
-          this.getData();
-          this.progress.show = false;
-        }else{
-          this.$message.error("添加失败")
-        }
-      }).catch(err=>{
-        this.$message.error(err.message);
-      })
-    },
-    submit(){
-      if(this.check()!=1)return;
-      this.dialogVisible1 = true;
-    },
-    DeleteS(index){
-      this.delTeacherTable = this.tableData.course_teacher[index];
-      this.delTeacherTable.index = index;
-      this.DelTeacherDialog = true;
-    },
-    DelTeacherYes(){
-      this.tableData.course_teacher.splice(this.delTeacherTable.index);
-      this.DelTeacherDialog = false;
-
-    },
-    //保存修改
-    save(){
-      const data = this.tableData;
-
-      const param = {
-        uid:this.$store.state.userInfo.userid,
-        aid:data.acId,
-        tit:data.title,
-        con:data.brief,
-        leader:data.pro_leader,
-        mon:data.money,
-        stu:data.students,
-        teacher:JSON.stringify(data.course_teacher),
-        chap:JSON.stringify(data.chapters),
-        pid:data.pid,
-        cid:data.classid,
-        ph:data.phone,
-        beginTime:JSON.stringify(data.begin_at)
-      }
-      this.ajax.post(this.$store.state.api+"/UpdateActivity",param).then(res=>{
-        if(res.data==1){
-          this.$message.success("修改成功");
-          this.dialogVisible1=false
-          this.getData();
-        }else{
-          this.$message.error("修改失败"+res.data);
-        }
-      }).catch(err=>{
-        this.$message.error(err.message)
-      })
-    },
-    change(){
-      if(this.isAddTeacher)return this.$message.error("错误");
-      for(let a in this.Member)if(/^\s*$/g.test(this.Member[a]))return this.$message.error("请不要留空")
-      Object.assign(this.tableData.course_teacher[this.Member.index],this.Member)
-      for(let i in this.Member)this.Member[i]='';
-      this.addMemberDialog = false;
-    },
-    updateTeacher(index){      
-      Object.assign(this.Member,this.tableData.course_teacher[index])
-      this.Member.index = index;
-      this.isAddTeacher = false;
-      this.addMemberDialog = true;
-    },
-    
-    check(){   //检查整个表单
-        let checkData = this.tableData;
-        const cEmpty = /^\s*$/g;
-        for(let i in checkData){
-            switch(i){
-                // case "chapters":
-                //   for(let a in checkData[i]){
-                //     switch(a){
-                //         case "0":
-                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("活动计划不能为空");  
-                //           break;
-                //         case "1":
-                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("预期目标不能为空");
-                //           break;
-                //         case "2":
-                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("活动受面不能为空");
-                //           break;
-                //         case "3":
-                //           if(cEmpty.test(checkData[i][a]))return this.$message.error("经费支出计划不能为空");
-                //           break;
-                //     }
-                //   }
-                //     break;
-                case "title":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("活动名称不能为空");
-                    break;
-                case "course_teacher":
-                    if(checkData[i].length==0)return this.$message.error("请添加至少一名指导老师")
-                    break;
-                case "fund":
-                    break;
-                case "people":
-                    break;
-                case "pro_leader":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("负责人不能为空");
-                    break;
-                case "pid":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("请选择所属项目");
-                    break;
-                case "phone":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("电话号码不能为空");
-                    if(!this.checkPhone(checkData[i]))return;
-                    break;
-                case "begin_at":
-                    if(checkData[i]==null||checkData[i].length<2)return this.$message.error("请选择项目开始时间");
-                    break;
-                case "classid":
-                    if(cEmpty.test(checkData[i]))return this.$message.error("请选择所在部门");
-                    break;
-                // case "brief":
-                //     if(cEmpty.test(checkData[i]))return this.$message.error("活动介绍不能为空");
-                //     break;
-            }
-        }
-        return 1;
-    },
-   
-    checkPhone(val){     //检查手机号
-        if(/^\s*$/g.test(val))return;
-        const cPhone = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/
-        if(!cPhone.test(val)){
-            this.$message.error("电话号码格式不正确");
-            return false;
-        }
-        return true;
-    },
-    commit(){     //判断是否全部填写
-      
-      for(let a in this.Member)if(/^\s*$/g.test(this.Member[a]))return this.$message.error("请不要留空")
-      let pushData={};
-      delete this.Member.index
-      Object.assign(pushData,this.Member)
-      this.tableData.course_teacher.push(pushData);
-      for(let i in this.Member)this.Member[i] = '';
-      this.addMemberDialog=false;
-    },
-    handleClose(){
-      this.addMemberDialog=false;
-    },
-    addTeacher(){
-      this.isAddTeacher = true;
-      this.addMemberDialog=true;
-    },
-    getAllClass(){
-        this.ajax.get(this.$store.state.api+"/SelectAllDepartment",{
-            uid:this.$store.state.userInfo.userid,
-        }).then(res=>{
-            this.selectInput.class = res.data[0];
-        }).catch(err=>{
-            this.$message.error(err.message)
-        })
-    },
-    getProject(){
-      this.loading = true;
-        this.ajax.get(this.$store.state.api+"/GetAllProjectName",{
-            uid:this.$store.state.userInfo.userid,
-        }).then(res=>{
-          console.log(res)
-          this.selectInput.project = res.data[0].filter(item=>(item.courseId==this.tableData.pid||(item.isupload!=3 && item.isupload!=4 )));
-          this.loading = false
-        }).catch(err=>{
-            this.$message.error(err.message)
-        })
-    },
-    getData(){
-      this.loading = true;
-      this.ajax.get(this.$store.state.api+"/GetActivityDetail",{
-        uid:this.$store.state.userInfo.userid,
-        aId:this.$route.query["Id"]
-      }).then(res=>{
-        if(!res.data[0][0])return this.$message.error("错误")
-        let data = res.data[0][0];
-        data.begin_at = JSON.parse(data.begin_at);
-        data.course_teacher = JSON.parse(data.course_teacher);
-        data.chapters = JSON.parse(data.chapters)
-        data.reportFile = data.reportFile==''||data.reportFile==null?[]:JSON.parse(data.reportFile)
-        this.tableData = data;
-        this.oldMoney += Number(this.tableData.money)
-        this.getProject();
-        console.log(this.tableData)
-        this.loading = false;
-      }).catch(err=>{
-        this.$message.error(err.message)
-      })
-    },
-  
-    process(){     //立项审核
-      this.ajax.post(this.$store.state.api+"/UpdateActivityState",{
-        uid:this.$store.state.userInfo.userid,
-        aid:this.$route.query["Id"],
-        st:1,
-      }).then(res=>{
-        if(res.data==1){
-          this.$message.success("审核成功");
-          this.processDialog = false;
-        }else{
-          this.$message.error("审核失败")
-        }
-        this.getData();
-      }).catch(err=>{
-        this.$message.error(err.message)
-      })
-    },
-   
-    checkProjectMoney(pid,aMoney){    //检查经费是否超出
-      if(aMoney==0){
-        return 1;
-      }else if(/^\s*$/g.test(pid) && aMoney!=0){
-        this.tableData.money = 0;
-        return this.$message.info("请先选择所属项目");
-      } else if(!/^\s*$/g.test(pid) && aMoney!=0){
-        this.ajax.get(this.$store.state.api+"/GetAllActivityMoneyByProjectId",{
-          uid:this.$store.state.userInfo.userid,
-          projectid:pid
-        }).then(res=>{
-          let PMoney = res.data[0][0]['PMoney'];
-          let AMoney = res.data[1][0]["AMoney"];
-          if(PMoney<((AMoney-this.oldMoney)+aMoney)){
-            this.tableData.money = PMoney-AMoney+this.oldMoney;
-            return this.$message.warning(`项目预算不足,项目预算只剩:${PMoney-AMoney+this.oldMoney}`);
-          }else{
-            return 1;
-          }
-        }).catch(err=>{
-          console.log(err)
-        })
-      }
-    },
-    ProgressFormat(value){       
-      return value ==100?'100%':`${value}%`
-    }
-  },
-  mounted(){
-    this.getAllClass();
-
-    this.getData();
-  }
-}
-</script>
-
-<style lang="less">
-.makerActvityDetails{
-
-    
-  .download{   //pdf下载
-    margin: 10px 10px;
-    width: 500px;
-    line-height: 35px;
-    text-align: left;
-    font-size: 16px;
-    font-weight: bold;
-    color: #5391fd;
-    display: flex;
-    justify-content: space-between;
-    cursor: pointer;
-    span{
-      display: block;
-      max-width: 250px;
-      white-space: nowrap;
-      overflow: hidden;
-      text-overflow: ellipsis;
-    }
-  }
-
-    
-  textarea{
-    font-size: 16px;
-    resize: none;
-  }
-
-  }
-  .MAputIn{   //提交对话框样式
-  .deleteContent{
-    width: 100%;
-    text-align: center;
-    font-size: 22px;
-    color: #000;
-  }
-  .addDialogLogo{
-    width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-  }
- 
-  .el-dialog__title{
-    color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-  }
-  
-  .dialog-footer{
-    display: flex;
-    justify-content: center;
-    
-  }
-}
-.BtnStyle{
-  display: flex;
-  justify-content:space-between;
-  [type='button']{
-      color: #fff !important;
-      display: flex;
-      justify-content: center;
-      font-size: 16px;
-      width: 120px;
-      margin-left: 20px;
-      height: 40px;
-      align-items: center;
-    }
-}
-</style>

+ 60 - 51
src/views/activityManage/newMarkerActivity.vue

@@ -7,13 +7,15 @@
       <hr>
          <!-- 创客专项资金及项目申请表(创客活动) -->
         <markeractivityWord :wordData="wordData" :total="total"/>
-        <el-button type="primary" @click="test">提交项目</el-button>
+        <div style="position: fixed;bottom: 5%;right: 2%;">
+          <el-button type="primary" @click="test">提交活动</el-button>
+        </div>
         <el-dialog
           title="提示"
           :visible.sync="submitHint"
           width="600px"
           class="pageSubmitData">
-          <div class="addDialogLogo">LOGO</div>
+          
           <div class="deleteContent">确定提交“{{wordData['activityName']}}”创客活动?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="applyActivity" class="AllDialogBtn">确认提交</el-button>
@@ -42,14 +44,12 @@
           pro_leader:"",//活动负责人
           college: '',//所在学院
           tel:'',//联系电话
-          activityTime:"",//活动时间
+          activityTime:[],//活动时间
           student:0,//参与学生人数
           member:[
             {name:"",collage:"",work:""},
             {name:"",collage:"",work:""},
             {name:"",collage:"",work:""},
-            {name:"",collage:"",work:""},
-            {name:"",collage:"",work:""},
           ],
           activityPlan:"",//活动计划
           expectations:"",//预期目标
@@ -74,7 +74,6 @@
             let num = 0;
             for(let i in this.wordData['fund'])num += Number(this.wordData['fund'][i]);
             return num;
-            // return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.input*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)/10000
           }
     },
     methods: {
@@ -129,50 +128,51 @@
                   return false;;
                 }
                 break;
-              case "member":
-                  let num = 0;
-                  this.wordData[i].forEach(item=>{
-                    for(let j in item){
-                      if(cEmpty.test(item[j])){
-                        num++;
-                      }
-                    }
+              // case "member":
+              //     let num = 0;
+              //     this.wordData[i].forEach(item=>{
+              //       if(cEmpty.test(item['name']))num++;
+              //       // for(let j in item){
+              //       //   if(cEmpty.test(item[j])){
+              //       //     num++;
+              //       //   }
+              //       // }
                   
-                  })
-                  if(num>0){
-                    this.$message.error("请填完指导老师信息");
-                    document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
-                    return false;
-                  }
-                break;
-              case "activityPlan":
-                if(cEmpty.test(this.wordData[i][0])){
-                  this.$message.error("请输入活动计划");
-                  document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
-                  return false;
-                }
-                break;
-              case "expectations":
-                if(cEmpty.test(this.wordData[i][0])){
-                  this.$message.error("预期目标");
-                  document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
-                  return false;
-                }
-                break;
-              case "eventAudience":
-                if(cEmpty.test(this.wordData[i][0])){
-                  this.$message.error("活动受众面")
-                  document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
-                  return false;
-                }
-                break;
-              case "fundingPlan":
-                if(cEmpty.test(this.wordData[i][0])){
-                  this.$message.error("经费支出计划")
-                  document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
-                  return false;
-                }
-                break;
+              //     })
+              //     if(num>0){
+              //       this.$message.error("指导老师姓名不能为空");
+              //       document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
+              //       return false;
+              //     }
+              //   break;
+              // case "activityPlan":
+              //   if(cEmpty.test(this.wordData[i][0])){
+              //     this.$message.error("请输入活动计划");
+              //     document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
+              //     return false;
+              //   }
+              //   break;
+              // case "expectations":
+              //   if(cEmpty.test(this.wordData[i][0])){
+              //     this.$message.error("预期目标");
+              //     document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+              //     return false;
+              //   }
+              //   break;
+              // case "eventAudience":
+              //   if(cEmpty.test(this.wordData[i][0])){
+              //     this.$message.error("活动受众面")
+              //     document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
+              //     return false;
+              //   }
+              //   break;
+              // case "fundingPlan":
+              //   if(cEmpty.test(this.wordData[i][0])){
+              //     this.$message.error("经费支出计划")
+              //     document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
+              //     return false;
+              //   }
+              //   break;
             }
           }
           this.submitHint = true;
@@ -202,11 +202,11 @@
             mp:JSON.stringify(this.wordData['expenditureMothPlan']),
             t:0,//活动分类 0 创客活动
           }
-
-          console.log(pram)
           this.ajax.post(this.$store.state.api+'/ActivityApply',pram).then(result=>{
             if(result['data']==1){
               this.$message.success("活动提交成功");
+              //提交项目成功,查看sessionStore是否有数据,有则删
+              if(sessionStorage.getItem("makerActivityApplyData"))sessionStorage.removeItem('makerActivityApplyData');
               this.$router.push('/makerActvity');
             }else{
               this.$message.error("活动提交失败")
@@ -219,6 +219,15 @@
 
       },
     },
+    mounted(){      //跳转到此页面立刻获取数据
+      //判断,如果sessionStore里有MakerSpaceApplyData这个字段,则存到this.wordData里
+      if(sessionStorage.getItem('makerActivityApplyData'))this.wordData = JSON.parse(sessionStorage.getItem('makerActivityApplyData'))
+      },
+    beforeRouteLeave (to, from, next) {
+      //判断,如果还没提交然后切换页面了,则把数据存到sessionStore里;
+      if(!this.submitHint)sessionStorage.setItem('makerActivityApplyData',JSON.stringify(this.wordData));
+      next();
+    }
   };
   </script>
   

+ 0 - 67
src/views/activityManage/newNomMarker.vue

@@ -1,67 +0,0 @@
-<template>
-    <!-- 测试上传组件 -->
-    <div v-loading="loading" id="test">
-      <div id="word">
-         <!-- 学生项目立项 -->
-        <!-- <studentProjectWord />    -->
-
-  
-
-         <!-- 创客专项资金及项目申请表(创客活动) -->
-        <markeractivityWord/>
-      </div>
-     
-    </div>
-  </template>
-  
-  <script>
-  // import MakerSpaceWord from '../components/MakerSpaceWord.vue'
-  import BeUpload from "@/components/tool/beUpload.vue";
-  import getExcel from "@/components/tool/getExcel";
-  import studentProjectWord from '@/components/studentProjectWord.vue'
-  import markerFundWord from '@/components/markerFundWord.vue';
-  import markeractivityWord from '@/components/markeractivityWord.vue';
-  export default {
-    components: {
-      BeUpload,
-      studentProjectWord,
-      markerFundWord,
-      markeractivityWord
-    },
-    data() {
-      return {
-        accept: "*",
-        loading:false,
-
-      };
-    },
-    methods: {
-      getFile(val) {
-        console.log(val);
-      },
-      Excel(){
-        getExcel("数据")
-      }
-    },
-  };
-  </script>
-  
-  <style lang="less" scoped>
-  #test{
-    // width: 100vw;
-    display: flex;
-    justify-content: center;
-  }
-  #word{
-    width: 1550px;
-    height: auto;
-  }
-    //去除input number样式
-  input::-webkit-outer-spin-button,
-    input::-webkit-inner-spin-button {
-    -webkit-appearance: none;
-  }
-  input[type="number"]{
-      -moz-appearance: textfield;
-  }
-  </style>

+ 233 - 0
src/views/activityManage/newNomMarkerActivity.vue

@@ -0,0 +1,233 @@
+<template>
+  <!-- 测试上传组件 -->
+  <div v-loading="loading" id="MakerActivityWord">
+    <div class="pAHeader">
+      <div class="pAHeader1">个人创客申请</div>
+    </div>
+    <hr>
+       <!-- 创客专项资金及项目申请表(创客活动) -->
+      <NomMarkerWord :wordData="wordData" :total="total"/>
+      <div style="position: fixed;bottom: 5%;right: 2%;">
+          <el-button type="primary" @click="test">提交活动</el-button>
+        </div>
+      <el-dialog
+        title="提示"
+        :visible.sync="submitHint"
+        width="600px"
+        class="pageSubmitData">
+        
+        <div class="deleteContent">确定提交“{{wordData['activityName']}}”个人创客?</div>
+        <span slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="applyActivity" class="AllDialogBtn">确认提交</el-button>
+          <el-button @click="submitHint=false" class="AllDialogBtn">取消</el-button>
+        </span>
+      </el-dialog>
+  </div>
+</template>
+
+<script>
+import NomMarkerWord from './components/NomMarkerWord.vue';
+import {getNowDate} from '@/components/tool/Date.js'
+import getProjectNo from '@/components/tool/getProjectNo';
+export default {
+  components: {
+    NomMarkerWord
+  },
+  data() {
+    return {
+      loading:false,
+      submitHint:false,
+      wordData:{
+        applicationDate:getNowDate(1),//申请日期
+        // associatedProjects:"",//关联项目
+        activityName:'',//项目名称
+        pro_leader:"",//活动负责人
+        college: '',//所在学院
+        tel:'',//联系电话
+        activityTime:[],//活动时间
+        student:0,//参与学生人数
+        member:[
+          {name:"",collage:"",work:""},
+          {name:"",collage:"",work:""},
+          {name:"",collage:"",work:""},
+        ],
+        activityPlan:"",//活动计划
+        expectations:"",//预期目标
+        eventAudience:"",//活动受众面
+        fundingPlan:"",//经费支出计划
+        expenditureMothPlan:['','','','','','','','','','','',''],
+        fund:{
+          device:"",
+          Material:"",
+          processing:"",
+          Collaboration:"",
+          APPRAISAL:"",
+          entery:"",
+          activities:"",
+          Transaction:"",
+        },//预算经费
+      }
+    };
+  },
+  computed:{
+    total() {
+          let num = 0;
+          for(let i in this.wordData['fund'])num += Number(this.wordData['fund'][i]);
+          return num;
+          // return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.input*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)/10000
+        }
+  },
+  methods: {
+    test(){
+        const cEmpty = /^\s*$/g;
+        const checkPhone = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
+        for(let i in this.wordData){
+          switch(i){
+            case "activityName":
+              if(cEmpty.test(this.wordData[i])){
+                this.$message.error("请输入活动名称")
+                document.querySelector('#two').scrollIntoView({ behavior: "smooth" });
+                return false;
+              }
+              break;
+            case "pro_leader":
+              if(cEmpty.test(this.wordData[i])){
+                this.$message.error("请输入活动负责人")
+                document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                return false;
+              }
+              break;
+            case "college":
+              if(cEmpty.test(this.wordData[i])){
+                this.$message.error("请选择所在学院")
+                document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                return false;;
+              }
+              break;
+            case "tel":
+              if(cEmpty.test(this.wordData[i])){
+                this.$message.error("请输入联系电话")
+                document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                return false;
+              }else if(!checkPhone.test(this.wordData[i])){
+                this.$message.error("请输入正确的手机号");
+                document.querySelector('#three').scrollIntoView({ behavior: "smooth" });
+                return false;
+              }
+              break;
+            case "activityTime":
+              if(cEmpty.test(this.wordData[i][0])){
+                this.$message.error("请选择活动时间")
+                document.querySelector('#four').scrollIntoView({ behavior: "smooth" });
+                return false;;
+              }
+              break;
+            // case "member":
+            //     let num = 0;
+            //     this.wordData[i].forEach(item=>{
+            //       if(cEmpty.test(item['name']))num++;
+            //       // for(let j in item){
+            //       //   if(cEmpty.test(item[j])){
+            //       //     num++;
+            //       //   }
+            //       // }
+                
+            //     })
+            //     if(num>0){
+            //       this.$message.error("请填完指导老师信息");
+            //       document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
+            //       return false;
+            //     }
+            //   break;
+            // case "activityPlan":
+            //   if(cEmpty.test(this.wordData[i][0])){
+            //     this.$message.error("请输入活动计划");
+            //     document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
+            //     return false;
+            //   }
+            //   break;
+            // case "expectations":
+            //   if(cEmpty.test(this.wordData[i][0])){
+            //     this.$message.error("预期目标");
+            //     document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+            //     return false;
+            //   }
+            //   break;
+            // case "eventAudience":
+            //   if(cEmpty.test(this.wordData[i][0])){
+            //     this.$message.error("活动受众面")
+            //     document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
+            //     return false;
+            //   }
+            //   break;
+            // case "fundingPlan":
+            //   if(cEmpty.test(this.wordData[i][0])){
+            //     this.$message.error("经费支出计划")
+            //     document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
+            //     return false;
+            //   }
+            //   break;
+          }
+        }
+        this.submitHint = true;
+    },
+    applyActivity(){
+      getProjectNo("HD").then(result=>{
+        let pram = {
+          uid:this.$store.state.userInfo.userid,//用户ID
+          aNo:result,//活动编号
+          tit:this.wordData['activityName'],//活动名称
+          courseId:'',//关联项目ID
+          pLeader:this.wordData['pro_leader'],//活动负责人
+          mon:this.total,//预算经费
+          st:this.wordData['student'],//参与学生人数
+          ct:JSON.stringify(this.wordData['member']),//活动指导老师
+          chp:JSON.stringify({
+            activityPlan:this.wordData['activityName'],//活动计划
+            expectations:this.wordData['expectations'],//预期目标
+            eventAudience:this.wordData['eventAudience'],//活动受众面
+            fundingPlan:this.wordData['fundingPlan'],//经费支出计划
+          }),//活动信息
+          cid:this.wordData['college'],//学院ID,
+          ph:this.wordData['tel'],//联系电话
+          beg:JSON.stringify(this.wordData['activityTime']),//活动时间
+          f:JSON.stringify(this.wordData['fund']),//预算经费明细
+          appltTime:this.wordData['applicationDate'],//申请日期
+          mp:JSON.stringify(this.wordData['expenditureMothPlan']),
+          t:1,//活动分类 1 个人创客
+        }
+        this.ajax.post(this.$store.state.api+'/ActivityApply',pram).then(result=>{
+          if(result['data']==1){
+            this.$message.success("活动提交成功");
+            //提交项目成功,查看sessionStore是否有数据,有则删
+            if(sessionStorage.getItem("NomActivityApplyData"))sessionStorage.removeItem('NomActivityApplyData');
+            this.$router.push('/makerActvity');
+          }else{
+            this.$message.error("活动提交失败")
+          }
+        }).catch(err=>{
+          console.log(err)
+        })
+      })
+    },
+  },
+  mounted(){      //跳转到此页面立刻获取数据
+    //判断,如果sessionStore里有MakerSpaceApplyData这个字段,则存到this.wordData里
+    if(sessionStorage.getItem('NomActivityApplyData'))this.wordData = JSON.parse(sessionStorage.getItem('NomActivityApplyData'))
+    },
+  beforeRouteLeave (to, from, next) {
+    //判断,如果还没提交然后切换页面了,则把数据存到sessionStore里;
+    if(!this.submitHint)sessionStorage.setItem('NomActivityApplyData',JSON.stringify(this.wordData));
+    next();
+  }
+};
+</script>
+
+<style lang="less" scoped>
+#MakerActivityWord{
+width:100%;
+display: flex;
+flex-direction: column;
+align-items: center;
+}
+</style>

+ 0 - 307
src/views/credit/credit.vue

@@ -1,307 +0,0 @@
-<template>
-  <!-- 学分登记 -->
-  <div class="credit" v-loading="loading">
-    <div class="pAHeader">
-      <div class="pAHeader1">学分登记</div>
-    </div>
-    <hr>
-<!-- 搜索框开始 -->
-    <div class="selects">
-      <div class="selectsBlock">
-        <span class="selectLabel">项目筛选</span>
-        <el-select v-model="pavalues.value" @change="getData" placeholder="我的项目">
-          <el-option label="所有项目" value=""></el-option>
-          <el-option
-            v-for="item in options"
-            :key="item.courseId"
-            :label="item.title"
-            :value="item.courseId">
-          </el-option>
-        </el-select>
-      </div>
-
-      <div class="selectsBlock">
-        <span class="selectLabel">部门</span>
-        <el-select v-model="pavalues.value1" @change="getData" placeholder="请选择">
-          <el-option label="所有部门" value=""></el-option>
-          <el-option
-            v-for="item in options1"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
-          </el-option>
-        </el-select>
-      </div>
-
-      <div class="selectsBlock">
-        <span class="selectLabel">分类</span>
-        <el-select v-model="pavalues.value2" @change="getData" placeholder="请选择">
-          <el-option label="所有分类" value=""></el-option>
-          <el-option
-            v-for="item in options2"
-            :key="item.id"
-            :label="item.name"
-            :value="item.id">
-          </el-option>
-        </el-select>
-      </div>
-
-      <div class="selectsBlock">
-        <span class="selectLabel">负责人</span>
-        <el-select v-model="pavalues.value3" @change="getData" placeholder="请选择">
-          <el-option label="所有负责人" value=""></el-option>
-          <el-option
-            v-for="item in options3"
-            :key="item.pro_leader"
-            :label="item.pro_leader"
-            :value="item.pro_leader">
-          </el-option>
-        </el-select>
-      </div>
-    </div>
-<!-- 搜索框结束 -->
-
-<!-- 表格开始 -->
-    <div>
-      <el-table
-        :data="tableData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <!-- <el-table-column
-          type="selection"
-          min-width="20%">
-        </el-table-column> -->
-        <el-table-column
-          prop="title"
-          label="项目名称"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-        <el-table-column
-          prop="pro_leader"
-          label="项目负责人"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-
-        <el-table-column
-          prop="course_student.length"
-          label="小组成员"
-          align="center"
-          min-width="15%">
-        </el-table-column>
-
-        <el-table-column
-          prop="endProjectTime"
-          label="结题时间"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-        
-       
-        <el-table-column
-          prop="operation"
-          min-width="25%"
-          align="center"
-
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <el-button type="primary" class="bt1" size="mini" @click="queryScore(scope.row)">查看学分</el-button>
-                      <el-button type="primary" class="bt1" size="mini" @click="edit(scope.row.courseId)" style="width: 85px;">修改</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 查看学分弹窗START -->
-      <el-dialog
-        title="查看学分"
-        :visible.sync="queryScoreDialog"
-        width="800px"
-        class="MAputIn AddMember">
-        <div class="addDialogLogo">LOGO</div>
-        <!-- <div class="deleteContent">是否删除“{{ delTeacherTable.Name}}”指导老师?</div> -->
-        <el-table
-          :data="ScoreData"
-          tooltip-effect="dark"
-          stripe
-          class="fontSize core_dialogue"
-          style="height:65%;overflow: auto;"
-          :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="成员名称"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-        <el-table-column
-          prop="class"
-          label="班级"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-
-        <el-table-column
-          prop="phone"
-          label="联系电话"
-          align="center"
-          min-width="25%">
-        </el-table-column>
-
-        <el-table-column
-          prop="score"
-          label="学分"
-          align="center"
-          min-width="20%">
-        </el-table-column>
-        </el-table>
-        <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="queryScoreDialog = false" class="AllDialogBtn" size="small">确认</el-button>
-        </span>
-      </el-dialog>
-      <!-- 查看学分弹窗END -->
-      <el-pagination
-        @current-change="CurrentChange"
-        :page-size="Page.lim"
-        layout=" prev, pager, next"
-        background
-        class="paginations"
-        :total="Page.total">
-      </el-pagination>
-    </div>
-<!-- 表格结束 -->
-
-  </div>
-</template>
-
-<script>
-    export default {
-      data() {
-        return {
-          options:[],
-          options1:[],
-          options2:[],
-          options3:[],
-          options4:[],
-          tableData:[],
-          ScoreData:[],
-          queryScoreDialog:false,
-          loading:false,
-          pavalues:{
-            value:'',
-            value1:'',
-            value2:'',
-            value3:'',
-            value4:'',
-          },
-          Page:{
-            nowPage:1,
-            total:10,
-            lim:10
-          },
-        }
-      },
-      methods:{
-        edit(Id){
-            this.$router.push(`/credit1?Id=${Id}`)
-        },
-        handleSelectionChange(val) {
-          this.multipleSelection = val;
-        },
-        getData(){
-          this.loading = true;
-          this.ajax.get(this.$store.state.api+"/GetProjectIsEndProject",{
-            uid:this.$store.state.userInfo.userid,
-            pid:this.pavalues.value,
-            cid:this.pavalues.value1,
-            tid:this.pavalues.value2,
-            leader:this.pavalues.value3,
-            page:this.Page.nowPage,
-            lim:this.Page.lim,
-          }).then(res=>{
-            let data = res.data[0];
-            data.forEach(item=>item["course_student"] = JSON.parse(item['course_student']));
-            this.options = res.data[1]
-            this.options1 = res.data[2]
-            this.options2 = res.data[3]
-            this.options3 = res.data[4]
-            this.Page.total = res.data[5][0]['total']
-            this.tableData = data;
-            this.loading = false;
-          }).catch(err=>{
-            console.log(err)
-          })
-        },
-        CurrentChange(nowPage){
-          this.Page.nowPage = nowPage;
-          this.getData();
-        },
-        queryScore(row){
-          this.ScoreData = row['course_student'];
-          this.queryScoreDialog = true;
-        }
-      },
-      mounted(){
-        this.getData()
-      }
-    }
-</script>
-
-<style lang="less">
-.credit{
-  width: 100%;
-  height: 100%;
-  position: relative;
-}
-.pagination{
-    position: absolute;
-    // float: right;
-    bottom: 0;
-    right: 0;
-    margin: 20px 35px 10px;
-  }
-  .MAputIn{   //提交对话框样式
-  .deleteContent{
-    width: 100%;
-    text-align: center;
-    font-size: 25px;
-    color: #000;
-  }
-  .addDialogLogo{
-    width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-  }
- 
-  .el-dialog__title{
-    display: flex;
-    justify-content: center;
-    color:rgb(246, 247, 246);
-    font-size: 18px;
-    position: relative;
-    top: -2px;
-  }
-  
-  .dialog-footer{
-    display: flex;
-    justify-content: center;
-    .btn5{
-      // background: #0e72e6;
-      height: 40px;
-      width: 200px;
-      font-size: 16px;
-    }
-  }
-}
-</style>

+ 0 - 272
src/views/credit/credit1.vue

@@ -1,272 +0,0 @@
-<template>
-  <!-- 学分登记修改 -->
-    <div class="credit1" v-loading="loading">
-
-      <div class="vfpHeader">
-        <div class="titleOne">学分登记</div>
-        <el-button type="primary" @click="$router.back()">返回</el-button>
-      </div>
-
-      <hr>
-         <!-- 活动申请填写信息区域开始 -->
-         <div class="select">
-                <div class="selectTop">
-                  <div class="label">项目名称</div>
-                  <el-input disabled v-model="tableData.title"></el-input>
-                </div>
-                <div class="selectMid">
-                  <div class="selectLeft">
-                      <div class="inpBlock">
-                          <div class="label">项目负责人</div>
-                          <el-input disabled v-model="tableData.pro_leader"></el-input>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">所在部门</div>
-                          <el-input disabled v-model="tableData.class"></el-input>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">联系电话</div>
-                          <el-input disabled v-model="tableData.phone"></el-input>
-                      </div>
-                  </div>
-
-                  <div class="selectRight">
-                    <div class="inpBlock">
-                          <div class="label">项目开始时间</div>
-                          <el-date-picker
-                            disabled
-                            v-model="tableData.begin_at"
-                            type="date"
-                            style="width: 100%;">
-                          </el-date-picker>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">预算总经费</div>
-                          <el-input disabled v-model="tableData.money"></el-input>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">分类</div>
-                          <el-input disabled v-model="tableData.type"></el-input>
-                      </div>
-                  </div>
-                </div>
-      </div>
-      <!-- 活动申请填写信息区域结束 -->
-
-      <!-- 成员学分登记开始 -->
-        <div class="tabTit">
-          <div><p>成员学分登记</p></div>
-          <el-button @click="selectProject" type="primary" size="mini">项目详情</el-button>
-        </div>
-        <hr>
-        <el-table
-          :data="tableData.course_student"
-          tooltip-effect="dark"
-          stripe
-          class="fontSize"
-          :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-          >
-          <el-table-column
-            prop="name"
-            label="姓名"
-            align="center"
-            >
-          </el-table-column>
-          <el-table-column
-            prop="class"
-            label="班级"
-            align="center"
-            >
-          </el-table-column>
-  
-          <el-table-column
-            prop="phone"
-            label="电话"
-            align="center"
-            >
-          </el-table-column>
-  
-          <el-table-column
-            prop="score"
-            label="学分"
-            align="center"
-            >
-          </el-table-column>
-          
-          <el-table-column
-            prop="operation"
-            label="操作"
-            
-            >
-            <template #default="scope">
-                <div class="operations">
-                        <el-button type="primary" @click="setCredit(scope.row)" size="mini">设置学分</el-button>
-                </div>
-            </template>
-          </el-table-column>
-        </el-table>
-      <!-- 成员学分登记结束 -->
-
-
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <el-button type="primary" @click="$router.back()">返回</el-button>
-        </div>
-      </div>
-      <el-dialog
-        title="查看学分"
-        :visible.sync="changeScoreDialog"
-        width="600px"
-        class="MAputIn AddMember">
-        <div class="addDialogLogo">LOGO</div>
-        <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input disabled  v-model="changeScoreTable.name"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">班级</div>
-              <div>
-                <el-input disabled v-model="changeScoreTable.class"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">电话</div>
-              <div>
-                <el-input disabled type="number" class="inputNumber" v-model="changeScoreTable.phone"></el-input>
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">分数</div>
-              <div>
-                <el-input type="number" class="inputNumber" v-model.number="changeScoreTable.score"></el-input>
-              </div>
-            </div>
-        <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="changeScore" class="AllDialogBtn" size="small">修改</el-button>
-            <el-button @click="changeScoreDialog = false" class="AllDialogBtn" size="small">取消</el-button>
-        </span>
-      </el-dialog>
-    </div>
-
-  </template>
-  
-  <script>
-      export default {
-        data() {
-          return {
-            changeScoreDialog:false,
-            loading:false,
-            changeScoreTable:{
-              id:"",
-              class:"",
-              name:"",
-              phone:"",
-              score:"",
-            },
-            tableData:{
-              title:"",
-              type:"",
-              pro_leader:"",
-              phone:"",
-              money:"",
-              course_student:[],
-              class:"",
-              begin_at:"",
-            },
-          }
-        },
-        methods:{
-          selectProject(){
-            localStorage.setItem('pid',JSON.stringify(this.$route.query["Id"]))
-            this.$router.push(`/ProjectManagement1`)
-          },
-          setCredit(row){
-            this.changeScoreTable = row;
-            this.changeScoreDialog = true;
-          },
-          getData(){
-            this.loading = true;
-            this.ajax.get(this.$store.state.api+"/GetProjectEndByID",{
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query["Id"]
-            }).then(res=>{
-              let data = res.data[0][0]
-              data['course_student'] = JSON.parse(data['course_student'])
-              this.tableData = data;
-              this.loading = false;
-            }).catch(err=>{
-              console.log(err)
-            })
-          },
-          changeScore(){
-            if(this.changeScoreTable.score<0||this.changeScoreTable.score>100)return this.$message.warning("学分只在0~100之间")
-            let newData = [...this.tableData.course_student];
-            newData.forEach(item=>item = item.id==this.changeScoreTable.id?this.changeScoreTable:item);
-            this.ajax.post(this.$store.state.api+"/UpdateStudentScore",{
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query["Id"],
-              st:JSON.stringify(newData)
-            }).then(res=>{
-              if(res.data==1){
-                this.$message.success("修改分数成功")
-                this.changeScoreDialog = false;
-              }else{
-                this.$message.error("修改分数失败")
-              }
-              this.getData();
-            }).catch(err=>{
-              console.log(err)
-            })
-          }
-        },
-        mounted(){
-          this.getData();
-        }
-      }
-  </script>
-  
-  <style lang="less">
-    .MAputIn{   //提交对话框样式
-  .deleteContent{
-    width: 100%;
-    text-align: center;
-    font-size: 25px;
-    color: #000;
-  }
-  .addDialogLogo{
-    width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-  }
- 
-  .el-dialog__title{
-    color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-  }
-  
-  .dialog-footer{
-    display: flex;
-    justify-content: center;
-    // .btn5{
-    //   // background: #0e72e6;
-    //   height: 40px;
-    //   width: 200px;
-    //   font-size: 16px;
-    // }
-  }
-}
-  </style>

+ 3 - 3
src/views/firm.vue

@@ -63,7 +63,7 @@
           prop="operation"
           label="操作"
           align="center"
-          min-width="30%"
+          width="200"
         >
           <template #default="scope">
             <div class="operations">
@@ -108,7 +108,7 @@
       width="600px"
       class="addDialog"
     >
-      <div class="addDialogLogo">LOGO</div>
+      
       <span class="deleteContent">确定删除文件?</span>
       <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="commitDel" class="AllDialogBtn">确认删除</el-button>
@@ -124,7 +124,7 @@
       width="70vw"
       class="addDialog showDialog"
     >
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="showFileArea">
         
         <vword

Разлика између датотеке није приказан због своје велике величине
+ 142 - 770
src/views/fundManage/makerfund.vue


+ 0 - 1356
src/views/fundManage/makerfundApply.vue

@@ -1,1356 +0,0 @@
-<template>
-    <!-- 创客资金申请表单 -->
-  <div class="makerfundApply">
-    <div class="vfpHeader">
-        <div class="titleOne">创客资金申请</div>
-        <el-button type="primary" @click="$router.back()">返回</el-button>
-    </div>
-    <hr>
-
-
-    <!-- 项目名称、类型开始 -->
-    <div class="Apply1">
-        <div class="inpInterval">项目名称</div>
-        <el-select v-model="selects.projectName"  style="width: 30%;" placeholder="请选择">
-            <el-option
-            v-for="item in projectFilter"
-            :key="item.id"
-            :label="item.title"
-            :value="item.id">
-            </el-option>
-        </el-select>
-    </div>
-    <div class="Apply1">
-        <div class="inpInterval">项目类型</div>
-        <el-select v-model="selects.projectType" placeholder="请选择">
-            <el-option
-            v-for="item in projectType"
-            :key="item.id"
-            :label="item.name"
-            :value="item.name">
-            </el-option>
-        </el-select>
-    </div>
-    <!-- 项目名称、类型结束 -->
-
-
-
-
-    <div class="tabTit">
-            <div>
-                <p>经费支出类别(单位:元)</p>
-            </div>
-    </div>
-    <hr>
-    <div class="moneyBlock" v-for="(item,index) in directFundBlock" :key="index">          <!-- 直接经费 -->
-        <div class="howMoneyFlex">
-            <div style="width: 100%;display: flex;">
-                <div class="howMoney">
-                    <div class="inpInterval">直接经费</div>
-                    <el-select v-model="item.directFundData" @change="directFundDataSelectChange()" placeholder="请选择">
-                        <el-option
-                        v-for="item in item.directFundSelects"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                        </el-option>
-                    </el-select>
-                </div>
-                <div class="howMoney">
-                    <div class="inpInterval twoStyle">预算</div>
-                    <el-input v-model="item.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                </div>
-                <div class="howMoney">
-                    <div class="inpInterval">已支付</div>
-                    <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                </div>
-            </div>
-            <div style="width: 100%;display: flex;flex-wrap: wrap;">
-          
-                <div class="howMoney">
-                    <div class="inpInterval twoStyle">本次申请</div>
-                    <el-input v-model="item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                </div>
-                <div class="howMoney">
-                    <div class="inpInterval twoStyle">实际使用</div>
-                    <el-input v-model="item.reality" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                </div>
-                <div class="howMoney">
-                    <div class="inpInterval twoStyle">余额</div>
-                    <el-input disabled :value="item.budget - item.usedFund -item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                </div>
-            </div>
-        </div>
-        <div class="howMoney" >
-            <div class="inpInterval" style="position: relative;top:-20px">事由</div>
-            <el-input
-            type="textarea"
-            :rows="3"
-            class="textArea"
-            resize="none"
-            style="width:800px"
-            placeholder="请输入内容"
-            v-model="item.reason">
-            </el-input>
-            <span class="delText" v-show="index!=0"  @click="delDerData(index)">删除</span>
-
-            <!-- <el-button v-show="index!=0" type="primary" style="font-size: 16px;height: 40px;margin-left: 10px; line-height: 0;" @click="delDerData(index)">删除</el-button> -->
-
-        </div>
-    </div>
-    <div>
-        <div class="addMoneyBtn" @click="addDirectFund">
-            <div class="jia">+</div>添加
-        </div>
-    </div>
-
-
-    <div>                                                                                  <!-- 间接经费 -->
-        <div class="moneyBlock" v-for="(item,i) in indirectFundBlock" :key="i">       
-            <div class="howMoneyFlex">
-                <div style="width: 100%;display: flex;">
-                    <div class="howMoney">
-                        <div class="inpInterval">间接经费</div>
-                        <el-select v-model="item.indirectFundData" @change="indirectFundSelectChange" placeholder="请选择">
-                            <el-option
-                            v-for="item in item.indirectFundSelects"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value">
-                            </el-option>
-                        </el-select>
-                    </div>
-                    <div class="howMoney">
-                        <div class="inpInterval twoStyle">预算</div>
-                        <el-input v-model="item.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                    </div>
-                    <div class="howMoney">
-                        <div class="inpInterval">已支付</div>
-                        <el-input v-model="item.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                    </div>
-                </div>
-
-                <div style="width: 100%;display: flex;flex-wrap: wrap;">
-                    <div class="howMoney">
-                        <div class="inpInterval twoStyle">本次申请</div>
-                        <el-input v-model="item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                    </div>
-                    <div class="howMoney">
-                        <div class="inpInterval twoStyle">实际使用</div>
-                        <el-input v-model="item.reality" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                    </div>
-                    <div class="howMoney">
-                        <div class="inpInterval twoStyle">余额</div>
-                        <el-input disabled :value="item.budget - item.usedFund -item.apply" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-                    </div>
-                </div>
-            </div>
-            <div class="howMoney">
-                <div class="inpInterval" style="position: relative;top:-20px">事由</div> 
-                <el-input
-                type="textarea"
-                :rows="3"
-                class="textArea"
-                resize="none"
-                style="width:800px"
-                placeholder="请输入内容"
-                v-model="item.reason">
-                </el-input>
-                <span class="delText" v-show="i!=0"  @click="delInDerData(i)">删除</span>
-
-                <!-- <el-button v-show="i!=0" type="primary" style="font-size: 16px;height: 40px;line-height: 0;margin-left: 10px;" @click="delInDerData(i)">删除</el-button> -->
-            </div>
-           
-        </div>
-    </div>
-    <div>
-        <div class="addMoneyBtn" @click="addIndirectFund">
-            <div class="jia">+</div>添加
-        </div>
-    </div>
-
-
-<!-- 其他经费 -->
-    <div class="moneyBlock">          
-        <!-- <div class="howMoneyFlex">
-            <div class="howMoney">
-                <div class="inpInterval" >其他</div>
-                <el-input v-model="residue.elseReason" placeholder="请输入内容"></el-input>
-            </div>
-            <div class="howMoney">
-                <div class="inpInterval twoStyle">预算</div>
-                <el-input v-model="residue.budget" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-            </div>
-            <div class="howMoney">
-                <div class="inpInterval twoStyle">已支付</div>
-                <el-input v-model="residue.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-            </div>
-            <div class="howMoney">
-                <div class="inpInterval twoStyle">余额</div>
-                <el-input disabled :value="residue.budget - residue.usedFund" type="number" class="inputNumber howMoneyInp" placeholder="金额"></el-input>
-            </div>
-        </div> -->
-        <div class="howMoney">
-            <div class="inpInterval" style="position: relative;top:-20px">备注</div>
-            <el-input
-            type="textarea"
-            :rows="3"
-            resize="none"
-            class="textArea"
-            style="width:800px"
-            placeholder="请输入内容"
-            v-model="residue.reason">
-            </el-input>
-        </div>
-
-    </div>
-
-
-    <div>                            <!-- 附件上传 -->
-        <div class="tabTit">
-            <div><p>附件上传</p></div>
-        </div>
-        <hr>
-        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <div style="display: flex;flex-wrap: wrap;width: 100%;margin-bottom: 45px;">
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                style="position: relative;margin-left: 10px;"
-                disabled
-                :on-remove="handleRemove">
-                <BeUpload @getFile="getFile" :progress="progress" style="position: absolute;left: 0;width: 147px;height: 100%;opacity: 0;" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-                <i class="el-icon-plus"></i>
-                </el-upload>
-
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                class="delUpload"
-                style="position: relative;"
-                v-show="file[0]"
-                disabled
-                v-for="(item,index) in this.file" :key="index"
-                >   
-                    <!-- <span class="delUploadBtnSty" ">×</span> -->
-                    <img style="position: absolute;left: -1px;top:-1px;width: 149px;height: 101%;border-radius: 5px;" :src="dialogImageUrl" alt="">
-                    <div class="maskLayer">
-                        <i @click="delUploadBtn(index)" class="maskLayerI el-icon-close"></i>
-                    </div>             
-                    <div style="position: absolute;left: -20%;bottom: -30px;width: 200px;height: 30px;color: #000;line-height: 30px;display: flex;justify-content: center;">{{ item.fileName }}</div>
-                <!-- <img v-if="imageUrl" :src="imageUrl" class="avatar"> -->
-                </el-upload>
-               
-        </div>
-    </div>
-
-
-
-    <div class="baseBtn">
-        <div class="blockWidth">
-            <el-button type="primary" @click="createFrom">生成表单</el-button>
-            <el-button type="primary" @click="uploadData">提交</el-button>
-        </div>
-    </div>
-
-        <!-- 提交对话框开始 -->
-        <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="pageSubmitData"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定提交?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 提交对话框结束 -->
-      <!-- 生成表单对话框开始 -->
-      <el-dialog
-          title="表单"
-          :visible.sync="createFromDialog"
-          width="60%"
-          style="top: -150px;"
-          class="createFromDialogSty"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">
-            <table class="tableStyle" width="100%" border="1">
-                <caption style="height: 40px;font-size: 22px;">学校创客专项资金使用申请表(单位:元)</caption>
-                <caption style="height: 30px;text-align: left;">
-                    <div style="display: flex;">
-                        <div style="margin-right: 10px;margin-top: -5px;"> 项目类型:</div>
-                        <el-radio-group disabled v-model="selects.projectType">
-                          <el-radio label="创客空间">创客空间</el-radio>
-                          <el-radio label="创客实践室">创客实践室</el-radio>
-                          <el-radio label="个人创客">个人创客</el-radio>
-                          <el-radio label="创客活动">创客活动</el-radio>
-                        </el-radio-group>
-                    </div>
-                    
-                </caption>
-                <caption style="height: 30px;text-align: left;">项目名称:<span style="margin-left:30%;font-weight: bold;font-size: 16px;">{{ residue.PName }}</span></caption>
-                <tr>
-                    <td>序号</td>
-                    <td>经济支出类别(A)</td>
-                    <td>预算</td>
-                    <td>已支付</td>
-                    <td>本次申请</td>
-                    <td>实际使用</td>
-                    <td>余额</td>
-                    <td style="width: 20%;">事由</td>
-                </tr>
-                <tr>
-                    <td>01</td>
-                    <td style="text-align: left;">一.经费支出</td>
-                    <td>{{ AllFund.budget }}</td>
-                    <td>{{ AllFund.expended }}</td>
-                    <td>{{ AllFund.application }}</td>
-                    <td>实际使用</td>
-                    <td>{{ AllFund.surplus }}</td>
-                    <td style="width: 20%;"></td>
-                </tr>
-                <tr>
-                    <td>02</td>
-                    <td style="text-align: left;">(一)直接费用</td>
-                    <td>{{ IndirectFunding.budget }}</td>
-                    <td>{{ IndirectFunding.expended }}</td>
-                    <td>{{IndirectFunding.application}}</td>
-                    <td>实际使用</td>
-                    <td>{{ IndirectFunding.surplus }}</td>
-                    <td style="width: 20%;"></td>
-                </tr>
-                <tr>
-                    <td>03</td>
-                    <td style="text-align: left;">小型仪器设备费</td>
-                    <td>{{ directData.facility==0?'':directData.facility }}</td>
-                    <td>{{ usedDirectData.facility==0?'':usedDirectData.facility }}</td>
-                    <td>{{ applicationDirectData.facility==0?'':applicationDirectData.facility }}</td>
-                    <td>实际使用</td>
-                    <td>{{ directData.facility-usedDirectData.facility-applicationDirectData.facility }}</td>
-                    <td style="width: 20%;">{{ directDataReason.reason }}</td>
-                </tr>
-                <tr>
-                    <td>04</td>
-                    <td style="text-align: left;">材料费</td>
-                    <td>{{ directData.cl==0?'':directData.cl }}</td>
-                    <td>{{ usedDirectData.cl==0?'':usedDirectData.cl }}</td>
-                    <td>{{ applicationDirectData.cl==0?'':applicationDirectData.cl }}</td>
-                    <td>实际使用</td>
-                    <td>{{ directData.cl-usedDirectData.cl-applicationDirectData.cl }}</td>
-                    <td style="width: 20%;">{{ directDataReason.reason1 }}</td>
-                </tr>
-                <tr>
-                    <td>05</td>
-                    <td style="text-align: left;">测试化验加工费</td>
-                    <td>{{ directData.jg==0?'':directData.jg }}</td>
-                    <td>{{ usedDirectData.jg==0?'':usedDirectData.jg }}</td>
-                    <td>{{ applicationDirectData.jg==0?'':applicationDirectData.jg }}</td>
-                    <td>实际使用</td>
-                    <td>{{ directData.jg-usedDirectData.jg-applicationDirectData.jg }}</td>
-                    <td style="width: 20%;">{{ directDataReason.reason2 }}</td>
-                </tr>
-                <tr>
-                    <td>06</td>
-                    <td style="text-align: left;">项目协作费</td>
-                    <td>{{ directData.xz==0?'':directData.xz }}</td>
-                    <td>{{ usedDirectData.xz==0?'':usedDirectData.xz }}</td>
-                    <td>{{ applicationDirectData.xz==0?'':applicationDirectData.xz }}</td>
-                    <td>实际使用</td>
-                    <td>{{ directData.xz-usedDirectData.xz-applicationDirectData.xz }}</td>
-                    <td style="width: 20%;">{{ directDataReason.reason3 }}</td>
-                </tr>
-                <tr>
-                    <td>07</td>
-                    <td style="text-align: left;">其他支出</td>
-                    <td>{{ directData.qt==0?'':directData.qt }}</td>
-                    <td>{{ usedDirectData.qt==0?'':usedDirectData.qt }}</td>
-                    <td>{{ applicationDirectData.qt==0?'':applicationDirectData.qt }}</td>
-                    <td>实际使用</td>
-                    <td>{{ directData.qt- usedDirectData.qt-applicationDirectData.qt}}</td>
-                    <td style="width: 20%;">{{ directDataReason.reason4 }}</td>
-                </tr>
-                <tr>
-                    <td>08</td>
-                    <td style="text-align: left;">(二)间接费用</td>
-                    <td>{{ Expenditure['budget'] }}</td>
-                    <td>{{ Expenditure['expended'] }}</td>
-                    <td>{{ Expenditure['application'] }}</td>
-                    <td>实际使用</td>
-                    <td>{{ Expenditure['surplus'] }}</td>
-                    <td style="width: 20%;"></td>
-                </tr>
-                <tr>
-                    <td>03</td>
-                    <td style="text-align: left;">项目成果鉴定费</td>
-                    <td>{{ indirectData.facility==0?'':indirectData.facility }}</td>
-                    <td>{{ usedInDirectData.facility==0?'':usedInDirectData.facility }}</td>
-                    <td>{{ applicationInDirectData.facility==0?'':applicationInDirectData.facility }}</td>
-                    <td>实际使用</td>
-                    <td>{{ indirectData.facility-usedInDirectData.facility-applicationInDirectData.facility }}</td>
-                    <td style="width: 20%;">{{ indirectDataReason.reason }}</td>
-                </tr>
-                <tr>
-                    <td>04</td>
-                    <td style="text-align: left;">参展参赛费</td>
-                    <td>{{ indirectData.cl==0?'':indirectData.cl }}</td>
-                    <td>{{ usedInDirectData.cl==0?'':usedInDirectData.cl }}</td>
-                    <td>{{ applicationInDirectData.cl==0?'':applicationInDirectData.cl }}</td>
-                    <td>实际使用</td>
-                    <td>{{ indirectData.cl-usedInDirectData.cl-applicationInDirectData.cl }}</td>
-                    <td style="width: 20%;">{{ indirectDataReason.reason1 }}</td>
-                </tr>
-                <tr>
-                    <td>05</td>
-                    <td style="text-align: left;">创客交流活动费</td>
-                    <td>{{ indirectData.jg==0?'':indirectData.jg }}</td>
-                    <td>{{ usedInDirectData.jg==0?'':usedInDirectData.jg }}</td>
-                    <td>{{ applicationInDirectData.jg==0?'':applicationInDirectData.jg }}</td>
-                    <td>实际使用</td>
-                    <td>{{ indirectData.jg-usedInDirectData.jg-applicationInDirectData.jg }}</td>
-                    <td style="width: 20%;">{{ indirectDataReason.reason2 }}</td>
-                </tr>
-                <tr>
-                    <td>06</td>
-                    <td style="text-align: left;">知识产权事务费</td>
-                    <td>{{ indirectData.xz==0?'':indirectData.xz }}</td>
-                    <td>{{ usedInDirectData.xz==0?'':usedInDirectData.xz }}</td>
-                    <td>{{ applicationInDirectData.xz==0?'':applicationInDirectData.xz }}</td>
-                    <td>实际使用</td>
-                    <td>{{ indirectData.xz-usedInDirectData.xz-applicationInDirectData.xz }}</td>
-                    <td style="width: 20%;">{{ indirectDataReason.reason3 }}</td>
-                </tr>
-                <tr>
-                    <td>07</td>
-                    <td style="text-align: left;">其他支出</td>
-                    <td>{{ indirectData.qt==0?'':indirectData.qt }}</td>
-                    <td>{{ usedInDirectData.qt==0?'':usedInDirectData.qt }}</td>
-                    <td>{{ applicationInDirectData.qt==0?'':applicationInDirectData.qt }}</td>
-                    <td>实际使用</td>
-                    <td>{{ indirectData.qt-usedInDirectData.qt-applicationInDirectData.qt }}</td>
-                    <td style="width: 20%;">{{ indirectDataReason.reason4 }}</td>
-                </tr>
-                <!-- <tr v-for="(item,index) in items" :key="index">
-                    <td>{{ index+1 }}</td>
-                    <td style="text-align: left;">{{ item.fromSort }}</td>
-                    <td>{{ item.fromBudget }}</td>
-                    <td>{{ item.fromUsed }}</td>
-                    <td>{{ item.fromApp }}</td>
-                    <td>{{ item.fromBalance }}</td>
-                    <td style="width: 20%;">{{ item.fromReason }}</td>
-                </tr> -->
-                <tr>
-                    <td style="height: 80px;">备注</td>
-                    <td colspan="6" style="text-align:left;">{{ residue.reason }}</td>
-                </tr>
-            </table>
-          </div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitCreateFrom"  class="AllDialogBtn">确认</el-button>
-            <el-button @click="createFromDialog = false" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 生成表单对话框结束 -->
-  </div>
-</template>
-
-<script>
-    import BeUpload from "../../components/tool/beUpload.vue";
-    import getExcel from "@/components/tool/getExcel";
-export default {
-
-    components: {
-        BeUpload,
-      },
-    data() {
-        return {
-            // items:[
-            //     {num:'01',fromSort:'一.经费支出',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
-            //     {num:'02',fromSort:'(一)直接费用',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
-            //     {num:'03',fromSort:'小型仪器设备费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'04',fromSort:'材料费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'05',fromSort:'测试化验加工费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'06',fromSort:'项目协作费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'07',fromSort:'其他支出',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'08',fromSort:'(二)间接费用',fromBudget:'0',fromUsed:'0',fromApp:'0',fromBalance:'0',fromReason:''},
-            //     {num:'09',fromSort:'项目成果鉴定费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'10',fromSort:'参展参赛费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'11',fromSort:'创客交流活动费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'12',fromSort:'知识产权事务费',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            //     {num:'13',fromSort:'其他支出',fromBudget:'',fromUsed:'',fromApp:'',fromBalance:'0',fromReason:''},
-            // ], 
-            checkList: [],
-            accept:"*",
-            submitHint:false,   //提交按钮
-            createFromDialog:false,  //生成表单
-            dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
-            disabled: false,
-            file:[],
-            selects:{             //所选名称,类型id
-                projectName:'',
-                projectType:''
-            },
-            progress:{   //进度条
-                value:0,
-                show:false
-            },  
-            projectFilter:[],    //项目名称
-            projectType:[     //项目类型
-                {
-                    id:1,
-                    name:'创客空间'
-                },
-                {
-                    id:2,
-                    name:'创客实践室'
-                },
-                {
-                    id:3,
-                    name:'个人创客'
-                },
-                {
-                    id:4,
-                    name:'创客活动'
-                },
-            ],      
-            directFundBlock:[   //直接经费
-                {
-                    directFundData:'',
-                    directFundSelects:[
-                        {
-                            value:1,
-                            label:'小型仪器设备费'
-                        },
-                        {
-                            value:2,
-                            label:'材料费'
-                        },
-                        {
-                            value:3,
-                            label:'测试化验加工费'
-                        },
-                        {
-                            value:4,
-                            label:'项目协作费'
-                        },
-                        {
-                            value:5,
-                            label:'其他支出'
-                        },
-                    ],
-                    budget:'',         //预算
-                    usedFund:'',       //已使用
-                    apply:'',          //本次申请
-                    reality:"",        //实际使用
-                    reason:''          //理由
-                }
-            ], 
-            newDirectFundBlock:{     //添加直接经费
-                directFundData:'',
-                directFundSelects:[
-                        {
-                            value:1,
-                            label:'小型仪器设备费'
-                        },
-                        {
-                            value:2,
-                            label:'材料费'
-                        },
-                        {
-                            value:3,
-                            label:'测试化验加工费'
-                        },
-                        {
-                            value:4,
-                            label:'项目协作费'
-                        },
-                        {
-                            value:5,
-                            label:'其他支出'
-                        },
-                ],
-                budget:'',         //预算
-                usedFund:'',       //已使用
-                apply:'',          //本次申请
-                reality:"",        //实际使用
-                reason:''          //理由
-            },
-
-            indirectFundBlock:[    //间接经费
-                {
-                    indirectFundData:'',
-                    indirectFundSelects:[
-                        {
-                            value:1,
-                            label:'项目成功鉴定费'
-                        },
-                        {
-                            value:2,
-                            label:'参展参赛费'
-                        },
-                        {
-                            value:3,
-                            label:'创客交流活动费'
-                        },
-                        {
-                            value:4,
-                            label:'知识产权事务费'
-                        },
-                        {
-                            value:5,
-                            label:'其他支出'
-                        },
-                    ],
-                    budget:'',         //预算
-                    usedFund:'',       //已使用
-                    apply:'',          //本次申请
-                    reality:"",        //实际使用
-                    reason:''          //理由
-                }
-            ], 
-            newIndirectFundBlock:{    //添加间接经费
-                indirectFundData:'',
-                indirectFundSelects:[
-                        {
-                            value:1,
-                            label:'项目成功鉴定费'
-                        },
-                        {
-                            value:2,
-                            label:'参展参赛费'
-                        },
-                        {
-                            value:3,
-                            label:'创客交流活动费'
-                        },
-                        {
-                            value:4,
-                            label:'知识产权事务费'
-                        },
-                        {
-                            value:5,
-                            label:'其他支出'
-                        },
-                ],
-                budget:'',         //预算
-                usedFund:'',       //已使用
-                apply:'',          //本次申请
-                reality:"",        //实际使用
-                reason:''          //理由
-            },
-            
-
-            residue:{                 //其他
-                    PName:"",//项目名称
-                    elseReason:'',
-                    budget:'',
-                    usedFund:'',
-                    reason:'',
-                }
-            ,
-            directData:{     //直接经费预算
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            directDataReason:{     //直接经费理由
-                reason:'',
-                reason1:'',
-                reason2:'',
-                reason3:'',
-                reason4:''
-            },
-            usedDirectData:{     //直接经费已支出
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            applicationDirectData:{    //直接经费本次申请
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            indirectData:{     //间接经费预算
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            indirectDataReason:{   //间接理由
-                reason:'',
-                reason1:'',
-                reason2:'',
-                reason3:'',
-                reason4:''
-            },
-            usedInDirectData:{     //间接经费已支出
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            applicationInDirectData:{   //间接经费本次申请
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            },
-            DirectFunding:{ //直接经费汇总
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            },
-            IndirectFunding:{//间接经费汇总
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            },
-            Expenditure:{//经费支出汇总
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            },
-            AllFund:{ //经费支出
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            }
-        }
-    },
-    methods:{
-        AllEquipment(){                             //填写表单数据
-           this.directFundBlock.forEach((e,i)=>{
-                switch(e.directFundData)
-                {
-                    case 1:
-                        this.directData.facility+=e.budget*1;
-                        this.usedDirectData.facility+=e.usedFund*1;
-                        this.directDataReason.reason=e.reason;
-                        this.applicationDirectData.facility = e.apply*1
-                        break;
-                    case 2:
-                        this.directData.cl+=e.budget*1;
-                        this.usedDirectData.cl+=e.usedFund*1;
-                        this.directDataReason.reason1=e.reason;
-                        this.applicationDirectData.cl = e.apply*1
-                        break;
-                    case 3:
-                        this.directData.jg=e.budget*1;
-                        this.usedDirectData.jg+=e.usedFund*1;
-                        this.directDataReason.reason2=e.reason;
-                        this.applicationDirectData.jg = e.apply*1
-                        break;
-                    case 4:
-                        this.directData.xz=e.budget*1;
-                        this.usedDirectData.xz+=e.usedFund*1;
-                        this.directDataReason.reason3=e.reason;
-                        this.applicationDirectData.xz = e.apply*1
-                        break;
-                    case 5:
-                        this.directData.qt=e.budget*1;
-                        this.usedDirectData.qt+=e.usedFund*1;
-                        this.directDataReason.reason4=e.reason;
-                        this.applicationDirectData.qt = e.apply*1
-                        break;
-                }
-           })
-           this.indirectFundBlock.forEach((e,i)=>{
-                switch(e.indirectFundData)
-                {
-                    case 1:
-                        this.indirectData.facility+=e.budget*1;
-                        this.usedInDirectData.facility+=e.usedFund*1;
-                        this.indirectDataReason.reason=e.reason;
-                        this.applicationInDirectData.facility = e.apply*1;
-                        // console.log(this.directData.facility);
-                        break;
-                    case 2:
-                        this.indirectData.cl+=e.budget*1;
-                        this.usedInDirectData.cl+=e.usedFund*1;
-                        this.indirectDataReason.reason1=e.reason;
-                        this.applicationInDirectData.cl = e.apply*1;
-                        // console.log(this.directData.cl);
-                        break;
-                    case 3:
-                        this.indirectData.jg=e.budget*1;
-                        this.usedInDirectData.jg+=e.usedFund*1;
-                        this.indirectDataReason.reason2=e.reason;
-                        this.applicationInDirectData.jg = e.apply*1;
-                        break;
-                    case 4:
-                        this.indirectData.xz=e.budget*1;
-                        this.usedInDirectData.xz+=e.usedFund*1;
-                        this.indirectDataReason.reason3=e.reason;
-                        this.applicationInDirectData.xz = e.apply*1;
-                        break;
-                    case 5:
-                        this.indirectData.qt=e.budget*1;
-                        this.usedInDirectData.qt+=e.usedFund*1;
-                        this.indirectDataReason.reason4=e.reason;
-                        this.applicationInDirectData.qt = e.apply*1;
-                        break;
-                }
-           })
-        //    this.DirectFunding.budget = this.
-            //直接费用全部预算
-            for(let i in this.directData)this.IndirectFunding['budget']+=this.directData[i];
-            //直接费用全部已支出
-            for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
-            //直接费用本次申请
-            for(let b in this.applicationDirectData)this.IndirectFunding['application']+=this.applicationDirectData[b]
-            //直接费用余额
-            this.IndirectFunding['surplus'] = this.IndirectFunding['budget']-this.IndirectFunding['expended']-this.IndirectFunding['application']
-
-            //间接费用
-            //间接费用全部预算
-            for(let c in this.indirectData)this.Expenditure['budget']+=this.indirectData[c];
-            //间接费用全部已支出
-            for(let d in this.usedInDirectData)this.Expenditure['expended']+=this.usedInDirectData[d];
-            //间接费用本次申请
-            for(let e in this.applicationInDirectData)this.Expenditure['application']+=this.applicationInDirectData[e];
-            //间接费用余额
-            this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
-
-            //经费支出
-            //预算
-            this.AllFund.budget =this.Expenditure['budget']+this.IndirectFunding['budget'];
-            //已支出
-            this.AllFund.expended = this.Expenditure['expended']+this.IndirectFunding['expended'];
-            //本次申请
-            this.AllFund.application = this.Expenditure['application']+this.IndirectFunding['application']
-            //余额
-            this.AllFund.surplus = this.AllFund['budget']-this.AllFund['expended']-this.AllFund['application'];
-
-            //项目名称
-            this.residue.PName = this.projectFilter.filter(item=>item.id==this.selects.projectName).length!=0?this.projectFilter.filter(item=>item.id==this.selects.projectName)[0]['title']:'';
-
-        },
-        createFrom(){   // 显示表单对话框
-            this.directData={     //直接经费预算
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0
-            },
-            this.usedDirectData={     //直接经费已支出
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0
-            },
-            this.indirectData={     //间接经费预算
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0
-            },
-            this.usedInDirectData={     //间接经费已支出
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0
-            },
-            this.directDataReason={
-                reason:'',
-                reason1:'',
-                reason2:'',
-                reason3:'',
-                reason4:''
-            },
-            this.IndirectFunding = { //直接经费汇总
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            },
-            this.Expenditure={//经费支出汇总
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            }
-            this.AllFund={ //经费支出
-                budget:0,       //预算
-                expended:0,     //已支付
-                application:0,  //本次申请
-                surplus:0,      //余额
-            }
-            this.applicationInDirectData={   //间接经费本次申请
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            }
-            this.applicationDirectData={    //直接经费本次申请
-                facility:0,
-                cl:0,
-                jg:0,
-                xz:0,
-                qt:0,
-            }
-            this.AllEquipment();
-            this.createFromDialog=true;
-        },
-        submitCreateFrom(){   //生成表单
-            getExcel({
-                PName:this.residue.PName,   //项目名称
-                remarks:this.residue.reason,//备注
-                type:this.selects.projectType,//项目类型
-                direct:{
-                    budget:this.directData,
-                    expended:this.usedDirectData,
-                    apply:this.applicationDirectData,
-                    reason:this.directDataReason,
-                },
-                indirect:{
-                    budget:this.indirectData,
-                    expended:this.usedInDirectData,
-                    apply:this.applicationInDirectData,
-                    reason:this.indirectDataReason
-                }
-            })
-            
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        delInDerData(index){                       //删除间接经费
-            this.indirectFundBlock.splice(index,1)
-        },
-        delDerData(index){                   //删除直接经费
-            console.log(index);
-            this.directFundBlock.splice(index,1)
-        },
-        delUploadBtn(index){           //删除上传文件
-            console.log(index);
-            this.file.splice(index,1)
-            this.$message.success('删除成功')
-        },
-        handleRemove(index) {
-            console.log(index);
-        },
-        uploadData(){
-            this.submitHint=true;
-        },
-        submitAll(){           //提交创客资金申请
-            if(this.selects.projectName=='') return this.$message.error('请选择项目名称')
-            if(this.selects.projectType=='') return this.$message.error('请选择项目类型')
-
-            let dirSum = this.directFundBlock.reduce((per,cur)=>{
-                return per*1+cur.budget*1
-            },0)
-            let indirSum =this.indirectFundBlock.reduce((per,cur)=>{
-                return per*1+cur.budget*1 
-            },0)
-            let allSum=dirSum+indirSum+this.residue.budget*1
-
-            let usedDirSum = this.directFundBlock.reduce((per,cur)=>{
-                return per*1+cur.usedFund*1
-            },0)
-            let usedIndirSum =this.indirectFundBlock.reduce((per,cur)=>{
-                return per*1+cur.usedFund*1
-            },0)
-
-            let usedApplyDirSum = this.directFundBlock.reduce((per,cur)=>{
-                return per*1+cur.apply*1
-            },0)
-            let usedApplyIndirSum =this.indirectFundBlock.reduce((per,cur)=>{
-                return per*1+cur.apply*1
-            },0)
-            // return console.log(usedApplyDirSum,usedApplyIndirSum);
-            let usedAllSum=usedDirSum+usedIndirSum+usedApplyDirSum+usedApplyIndirSum;
-            // return console.log(usedAllSum);
-
-            if (usedAllSum>allSum) return this.$message.error('使用金额大于预算')
-            let param={
-                uid:this.$store.state.userInfo.userid,            //用户id
-                cid:this.selects.projectName,                    //项目id
-                type:this.selects.projectType,                     //项目类型
-                dir:JSON.stringify(this.directFundBlock),           //所有直接经费
-                indir:JSON.stringify(this.indirectFundBlock),      //所有间接经费
-                elseFund:JSON.stringify(this.residue),              //
-                file:JSON.stringify(this.file),                     //文件
-                AllSum:allSum,                                      //所有钱总和
-                usedSum:usedAllSum                                  //已花费金额
-            }
-            // return console.log(param);
-            this.ajax
-                .post(this.$store.state.api+'/insertMakerFund',param)
-                .then(res=>{
-                    console.log(res);
-                    if (res.data==1) {
-                       this.$router.push('/makerfund')
-                       return this.$message.success('创建成功')
-                    }else{
-                        this.$message.error('创建失败')
-                    }
-                },err=>{
-                    console.log(err);
-                })
-        },
-        getFile(val) {       //上传文件
-            this.file.push(val)
-            this.progress.show = false;
-            // this.imageUrl=require("../../assets/img/jj.jpg")
-        },
-        getData(){         //获取活动经费的项目名称
-            let param={
-                uid:this.$store.state.userInfo.userid,
-                fid:''
-            }
-            this.ajax
-                .get(this.$store.state.api+'/SelectMakerFundSelects',param)
-                .then(res=>{
-                    this.projectFilter=res.data[1]
-                    console.log(this.projectFilter);
-                },err=>{
-                    console.log(err);
-                })
-        },
-        addDirectFund(){           //添加直接经费
-            //判断如果已经写满
-            if(this.directFundBlock.length==this.newDirectFundBlock.directFundSelects.length)return this.$message.warning("已无法继续添加")
-            let oldArr={};
-            Object.assign(oldArr,this.newDirectFundBlock)
-            // console.log(oldArr);
-            oldArr.directFundSelects = oldArr.directFundSelects.filter(item=>this.directFundBlock.filter(dItem=>dItem.directFundData==item.value).length==0)
-            // console.log(oldArr.directFundSelects);
-            this.directFundBlock.push(oldArr)
-            for(let k in this.newDirectFundBlock) return this.newDirectFundBlock[k]=''
-        },
-        addIndirectFund(){         //添加间接经费
-            //判断如果已经写满
-            if(this.indirectFundBlock.length==this.newIndirectFundBlock.indirectFundSelects.length)return this.$message.warning("已无法继续添加")
-            let oldArr={};
-            Object.assign(oldArr,this.newIndirectFundBlock)
-            oldArr.indirectFundSelects = oldArr.indirectFundSelects.filter(item=>this.indirectFundBlock.filter(dItem=>dItem.indirectFundData==item.value).length==0)
-            this.indirectFundBlock.push(oldArr)
-            for(let k in this.newIndirectFundBlock) return this.newIndirectFundBlock[k]=''
-        },
-        init(){
-            //重置
-            this.submitHint=false;
-            this.createFromDialog=false;
-        },
-        directFundDataSelectChange(){//直接经费全部下拉框
-            
-            let directFundBlockSelect = [
-                    {
-                        value:1,
-                        label:'小型仪器设备费'
-                    },
-                    {
-                        value:2,
-                        label:'材料费'
-                    },
-                    {
-                        value:3,
-                        label:'测试化验加工费'
-                    },
-                    {
-                        value:4,
-                        label:'项目协作费'
-                    },
-                    {
-                        value:5,
-                        label:'其他支出'
-                    },
-                ]
-            let oneself=[];
-            this.directFundBlock.forEach(item=>{
-                // return console.log(item.directFundData);
-                // console.log(directFundBlockSelect.filter(sItem=>sItem.value==item.directFundData));
-                //获取他本身自己的下拉框
-                oneself.push(directFundBlockSelect.filter(sItem=>sItem.value==item.directFundData)[0])
-                // console.log(oneself);
-                //获取未选择的
-                directFundBlockSelect = directFundBlockSelect.filter(sItem=>sItem.value!=item.directFundData)
-            })
-            //再遍历一遍
-            this.directFundBlock.forEach((item,index)=>{
-                // console.log(index);
-                let oneSelect = [];
-                directFundBlockSelect.forEach(item=>oneSelect.push(item));
-                // console.log(oneself[index]);
-                if(oneself[index]!=undefined)oneSelect.push(oneself[index])
-                // console.log(oneSelect);
-                item.directFundSelects = oneSelect;
-                // console.log(item.directFundSelects);
-            })
-            //遍历所有的直接经费
-
-        },
-        indirectFundSelectChange(){//间接经费全部下拉框
-            
-            let indirectFundSelect = [
-                    {
-                        value:1,
-                        label:'项目成功鉴定费'
-                    },
-                    {
-                        value:2,
-                        label:'参展参赛费'
-                    },
-                    {
-                        value:3,
-                        label:'创客交流活动费'
-                    },
-                    {
-                        value:4,
-                        label:'知识产权事务费'
-                    },
-                    {
-                        value:5,
-                        label:'其他支出'
-                    },
-            ];
-            let oneself=[];
-            this.indirectFundBlock.forEach(item=>{
-                //获取他本身自己的下拉框
-                oneself.push(indirectFundSelect.filter(sItem=>sItem.value==item.indirectFundData)[0])
-                //获取未选择的
-                indirectFundSelect = indirectFundSelect.filter(sItem=>sItem.value!=item.indirectFundData)
-            })
-            //再遍历一遍
-            this.indirectFundBlock.forEach((item,index)=>{
-                let oneSelect = [];
-                indirectFundSelect.forEach(item=>oneSelect.push(item));
-                if(oneself[index]!=undefined)oneSelect.push(oneself[index])
-                item.directFundSelects = oneSelect;
-            })
-            //遍历所有的直接经费
-
-        },
-    },
-    mounted(){
-        this.getData()
-    }
-}
-</script>
-
-<style lang="less">
-.makerfundApply{
-
-    .maskLayer{
-        background: #000;position: absolute;left: 0;top: 0;opacity: .4; width: 100%;height: 100%;border-radius: 5px;
-        display: none;
-    }
-
-
-    .delUpload{
-        width: 147px;
-        margin-left: 60px;
-        margin-bottom: 62px;
-    }
-    .maskLayerI:hover{
-        color: #fff;
-    }
-    .delUpload:hover .maskLayer{
-        display: block;
-    }
-
-
-
-
-    .delUploadBtnSty{
-        position: absolute;
-        right: 0;top: 0px;
-        line-height: 20px;
-        display: flex;
-        justify-content: center;
-        width: 20px;
-        height: 20px;
-        font-size: 35px;
-        z-index: 10;
-        color: #fff;
-        // background: #fff;
-    }
-
-    .avatar-uploader .el-upload {         //文件上传
-        border: 1px dashed #d9d9d9;
-        border-radius: 6px;
-        cursor: pointer;
-        position: relative;
-        overflow: hidden;
-    }
-
-    .avatar-uploader-icon {
-        font-size: 28px;
-        color: #8c939d;
-        width: 178px;
-        height: 178px;
-        line-height: 178px;
-        text-align: center;
-    }
-    .avatar {
-        width: 178px;
-        height: 178px;
-        display: block;
-    }
-
-
-    .createFromDialogSty{        //生成表单
-        .el-dialog__header{
-        display: flex;
-        justify-content: center;
-        }
-        .el-dialog{
-            border-radius: 5px;
-            overflow: hidden;
-
-            top: 10%;
-        }
-        
-        .deleteContent{
-            width: 100%;
-            text-align: center;
-            font-size: 22px;
-            color: #000;
-        }
-        .addDialogLogo{
-            width: 60px;
-            height: 30px;
-            border-radius: 5px;
-            display: flex;
-            justify-content: center;
-            line-height: 30px;
-            background: #f2f2f2;
-            position: absolute;
-            left: 20px; top: 15px; 
-        }
-        .el-dialog__header{
-            background: #32455b;
-        }
-        .el-dialog__title{
-            color:#fff;
-            display: flex;
-            justify-content: center;
-            font-size: 18px;
-            position: relative;
-            top: -2px;
-        }
-        .addDialogMid{
-            box-sizing: border-box;
-            padding:0 60px 0 10px;
-        .addDialogTit{
-            display: flex;
-            span{
-            width: 80px;
-            line-height: 40px;
-            text-align: left;
-            }
-        }
-        .addDialogTit1{
-            display: flex;
-            justify-content: space-between;
-            margin-bottom: 15px;
-        }
-        .addDialogTit2{
-            margin-top: 10px;
-            font-size: 18px;
-            color: #000;
-            text-indent: 2em;
-        }
-        .addDialogCon{
-            margin-top: 20px;
-        }
-        }
-        .dialog-footer{
-            display: flex;
-            justify-content: center;
-        }
-    }
-
-  .Apply1{         //顶部两个下拉框
-    height: 45px;
-    width: 100%;
-    display: flex;
-    justify-content: flex-start;
-    margin-top: 20px;
-    .inpName{
-        height: 40px;
-        outline:none ;
-        width: 600px;
-        border: #ccc 1px solid;
-        border-radius: 5px;
-        box-sizing: border-box;
-        padding: 1px 15px;
-    }
-  }
-
-
-
-  .moneyBlock{
-    max-width: 100%;
-    margin-bottom: 20px;
-    .howMoneyFlex{
-        display: flex;
-        flex-wrap: wrap;
-    }
-    .howMoney{
-        display: flex;
-        margin-right: 40px;
-        margin-bottom: 10px;
-        justify-content: flex-start;
-        .howMoneyInp{
-            .el-input__inner{
-                width: 170px;
-            }
-        }
-        
-    }
-  }
-    .inpInterval{    //label
-        min-width: 70px;
-        display: inline-block;
-        text-align: justify;
-        text-justify:distribute-all-lines;
-        text-align-last: justify;
-        transform: translate(0,22%);
-        padding-right: 15px;
-        font-size: 16px;
-    }
-
-    .addMoneyBtn{   //添加样式
-            margin: 15px 85px 30px;
-    }
-
-}
-.tableStyle{
-     border-collapse:collapse;
-     font-size: 16px;
-     td{
-        // align-content: center;
-        height: 35px;
-     }
-}
-.delText{
-    margin-left: 20px;cursor: pointer;
-    width: 40px;
-}
-.delText:hover{
-    color: blue;
-}
-</style>

Разлика између датотеке није приказан због своје велике величине
+ 293 - 1301
src/views/fundManage/makerfundDetails.vue


+ 229 - 328
src/views/fundManage/newMarkerfundApply.vue

@@ -1,15 +1,17 @@
 <template>
     <!-- 创客资金申请表单 -->
   <div>
-    <div class="vfpHeader">
+    <!-- <div class="vfpHeader">
         <div class="titleOne">创客活动资金申请</div>
-        <!-- <el-button type="primary" @click="$router.back()">返回</el-button> -->
-    </div>
+    </div> -->
+    <div class="pAHeader">
+        <div class="pAHeader1">创客活动资金申请</div>
+      </div>
     <hr>
     <!-- 项目名称、类型开始 -->
     <div class="Apply1">
-        <div class="inpInterval">项目名称</div>
-        <el-select v-model="selects.projectName"  style="width: 30%;" placeholder="请选择">
+        <div class="inpInterval">活动名称</div>
+        <el-select v-model="projectName"  style="width: 30%;" placeholder="请选择">
             <el-option
             v-for="item in projectFilter"
             :key="item.id"
@@ -18,17 +20,6 @@
             </el-option>
         </el-select>
     </div>
-    <!-- <div class="Apply1">
-        <div class="inpInterval">项目类型</div>
-        <el-select v-model="selects.projectType" placeholder="请选择">
-            <el-option
-            v-for="item in projectType"
-            :key="item.id"
-            :label="item.name"
-            :value="item.name">
-            </el-option>
-        </el-select>
-    </div> -->
 
     <div class="tabTit">
             <div>
@@ -36,7 +27,6 @@
             </div>
     </div>
     <hr>
-
     <table border="1" cellspacing="0" class="table">
        
         <tr>
@@ -50,14 +40,14 @@
             <td>
                 {{item.havePaid}}
             </td>
-            <td>
+            <td style="background-color: rgb(234, 252, 186);">
                 <el-input
                 type="number"
                 autosize
                 style="width: 100%;"
                 resize="none"
                 onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
-                placeholder="本次申请"
+                placeholder="请填写金额(元)"
                 v-model="item.thisApply">
                 </el-input>
             </td>
@@ -76,7 +66,7 @@
                 :autosize="{ minRows: 6, maxRows: 20}"
                 style="width: 100%;"
                 resize="none"
-                placeholder=""
+                placeholder="请输入事由"
                 v-model="intro">
                 </el-input>
             </td>
@@ -86,330 +76,240 @@
         </tr>
         
     </table>
-
-
-
-    <!-- 经费支出类别开始 -->
-    <!-- <div v-for="(item,index) in fundList" :key="index" class="fundType">
-        <div style="font-size: 18px;font-weight: bold;margin-bottom: 10px;">{{ item.fundName }}:</div>
-        <div style="width: 100%; display: flex;flex-wrap: wrap;justify-content: space-between;">
-            <div class="fundInp">
-                <div class="inpInterval">预算</div> <el-input type="number" disabled v-model="item.budget" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">已支付</div> <el-input type="number" disabled v-model="item.havePaid" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">本次申请</div> <el-input type="number" v-model="item.thisApply" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">余额</div> <el-input type="number" disabled v-model="textarea" placeholder="金额"></el-input>
-            </div>
-        </div>
-        <div class="fundInp">
-            <div class="inpInterval" style="position: relative;top: -10px;">备注</div>
-            <el-input
-                type="textarea"
-                :rows="3"
-                resize="none"
-                placeholder="请输入内容"
-                v-model="item.remark">
-            </el-input>
-        </div>
-    </div> -->
-    <!-- 经费支出类别结束-->
-
-
-
-
-    <!-- 附件上传开始 -->
-    <!-- <div>                           
-        <div class="tabTit">
-            <div><p>附件上传</p></div>
+    <div class="baseBtn">
+        <div class="blockWidth">
+            <el-button type="primary" @click="download">生成表单</el-button>
+            <el-button type="primary" @click="submitData">提交</el-button>
         </div>
-        <hr>
-        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <div style="display: flex;flex-wrap: wrap;width: 100%;margin-bottom: 45px;">
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                style="position: relative;margin-left: 10px;"
-                disabled
-                :on-remove="handleRemove">
-                <BeUpload @getFile="getFile" :progress="progress" style="position: absolute;left: 0;width: 147px;height: 100%;opacity: 0;" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-                <i class="el-icon-plus"></i>
-                </el-upload>
+    </div>
 
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                class="delUpload"
-                style="position: relative;"
-                v-show="file[0]"
-                disabled
-                v-for="(item,index) in this.file" :key="index"
-                >   
-                    <img style="position: absolute;left: -1px;top:-1px;width: 149px;height: 101%;border-radius: 5px;" :src="dialogImageUrl" alt="">
-                    <div class="maskLayer">
-                        <i @click="delUploadBtn(index)" class="maskLayerI el-icon-close"></i>
-                    </div>             
-                    <div style="position: absolute;left: -20%;bottom: -30px;width: 200px;height: 30px;color: #000;line-height: 30px;display: flex;justify-content: center;">{{ item.fileName }}</div>
-                </el-upload>
-               
-        </div>
-    </div> -->
-    <!-- 附件上传结束 -->
 
+    <!-- 下载文档开始 -->
+    <el-dialog
+      title="生成Excel"
+      :visible.sync="downLoadExcelDig"
+      width="600px"
+      class="pageSubmitData"
+    >
+      
+      <span class="deleteContent">确定生成Excel?</span>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="downLoadExcel" class="AllDialogBtn">确认</el-button>
+        <el-button @click="downLoadExcelDig = false" class="AllDialogBtn">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 下载文档结束-->
 
+    <!-- 提交文档开始 -->
+    <el-dialog
+      title="提交"
+      :visible.sync="submitDataDig"
+      width="600px"
+      class="pageSubmitData"
+    >
+      
+      <span class="deleteContent">确定提交?</span>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认</el-button>
+        <el-button @click="submitDataDig = false" class="AllDialogBtn">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 提交文档结束-->
 
-    <div class="baseBtn">
-        <div class="blockWidth">
-            <el-button type="primary" @click="submitCreateFrom">生成表单</el-button>
-            <el-button type="primary" @click="submitAll">提交</el-button>
-        </div>
-    </div>
 
   </div>
 </template>
 
 <script>
+    import getFundNo from '@/components/tool/getProjectNo';
     import BeUpload from "../../components/tool/beUpload.vue";
     // import getExcel from "@/components/tool/getExcel";
-    import getExcel from '@/components/tool/downloadExcel'
+    import {getExcel} from '@/components/tool/downloadExcel'
 export default {
     components: {
         BeUpload,
       },
     data() {
         return {
+            projectFilter:[],    //项目名称列表            
+            projectName:'',      //所选名称
+            downLoadExcelDig:false,//下载Excel对话框
+            submitDataDig:false,//提交对话框
+            allFund:'',//总经费
             fundList:[
-                {fundName:'小型仪器设备费',budget:30,havePaid:10,thisApply:10,remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
-                {fundName:'材料费',budget:100,havePaid:10,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
-                {fundName:'测试化验加工费',budget:100,havePaid:10,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
-                {fundName:'项目协作费',budget:100,havePaid:10,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
-                {fundName:'项目成功鉴定费',budget:100,havePaid:10,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
-                {fundName:'参展参赛费',budget:100,havePaid:10,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
-                {fundName:'创客交流活动费',budget:100,havePaid:10,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
-                {fundName:'知识产权事务费',budget:100,havePaid:10,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
+                {fundName:'小型仪器设备费',budget:'',havePaid:0,thisApply:'',remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
+                {fundName:'材料费',budget:'',havePaid:0,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
+                {fundName:'测试化验加工费',budget:'',havePaid:0,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
+                {fundName:'项目协作费',budget:'',havePaid:0,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
+                {fundName:'项目成功鉴定费',budget:'',havePaid:0,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
+                {fundName:'参展参赛费',budget:'',havePaid:0,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
+                {fundName:'创客交流活动费',budget:'',havePaid:0,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
+                {fundName:'知识产权事务费',budget:'',havePaid:0,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
             ],
-            intro:'诶嘿嘿',   //事由
-            submitHint:false,   //提交按钮
-
-            textarea:'',
-            selects:{             //所选名称,类型id
-                projectName:'',
-                projectType:''
-            },
-            // progress:{   //进度条
-            //     value:0,
-            //     show:false
-            // },  
-            projectFilter:[],    //项目名称
-            // projectType:[     //项目类型
-            //     {
-            //         id:1,
-            //         name:'创客活动'
-            //     },
-            //     {
-            //         id:2,
-            //         name:'个人创客'
-            //     },
-            // ],  
-            // file:[],
-            // accept:"*",
-            // disabled: false,
-            // createFromDialog:false,  //生成表单
-            // dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
+            intro:'',   //事由
+            tit:'',
+            ty:''
         }
     },
     methods:{
         getData(){         //获取活动经费的项目名称
             let param={
                 uid:this.$store.state.userInfo.userid,
-                fid:''
+                type:0
             }
             this.ajax
                 .get(this.$store.state.api+'/SelectMakerFundSelects',param)
                 .then(res=>{
-                    let data=res.data[1]
-                    console.log(data);
+                    let data=res.data[0]
+                    // console.log(data);
                     this.projectFilter=data
-                    // let arr=[];
-                    // let newOption={
-                    //     value:'',
-                    //     label:'',
-                    //     children: [{
-                    //         value: '1',
-                    //         label: '个人创客',
-                    //     }, {
-                    //         value: '2',
-                    //         label: '活动创客',
-                    //     }]
-                    // }
-       
-                    // data.forEach(i => {
-                    //     newOption.value=i.id;
-                    //     newOption.label=i.title;
-                    //     this.options.push(newOption)
-                    // });
-                    // console.log(arr);
-             
+                   
                 },err=>{
                     console.log(err);
                 })
         },
-        submitCreateFrom(){   //生成表单
-            getExcel(this.fundList,this.intro)
-        },
-        handleChange(value) {
-            console.log(value);
-        },
-        submitAll(){           //提交创客资金申请
-           
-        },
-        // delABC(event){
-        //     return (/[\d]/.test(String.fromCharCode(event.keyCode)))
-        // },
-        // AllEquipment(){                             //填写表单数据
-        //    this.directFundBlock.forEach((e,i)=>{
-        //         switch(e.directFundData)
-        //         {
-        //             case 1:
-        //                 this.directData.facility+=e.budget*1;
-        //                 this.usedDirectData.facility+=e.usedFund*1;
-        //                 this.directDataReason.reason=e.reason;
-        //                 this.applicationDirectData.facility = e.apply*1
-        //                 break;
-        //             case 2:
-        //                 this.directData.cl+=e.budget*1;
-        //                 this.usedDirectData.cl+=e.usedFund*1;
-        //                 this.directDataReason.reason1=e.reason;
-        //                 this.applicationDirectData.cl = e.apply*1
-        //                 break;
-        //             case 3:
-        //                 this.directData.jg=e.budget*1;
-        //                 this.usedDirectData.jg+=e.usedFund*1;
-        //                 this.directDataReason.reason2=e.reason;
-        //                 this.applicationDirectData.jg = e.apply*1
-        //                 break;
-        //             case 4:
-        //                 this.directData.xz=e.budget*1;
-        //                 this.usedDirectData.xz+=e.usedFund*1;
-        //                 this.directDataReason.reason3=e.reason;
-        //                 this.applicationDirectData.xz = e.apply*1
-        //                 break;
-        //             case 5:
-        //                 this.directData.qt=e.budget*1;
-        //                 this.usedDirectData.qt+=e.usedFund*1;
-        //                 this.directDataReason.reason4=e.reason;
-        //                 this.applicationDirectData.qt = e.apply*1
-        //                 break;
-        //         }
-        //    })
-        //    this.indirectFundBlock.forEach((e,i)=>{
-        //         switch(e.indirectFundData)
-        //         {
-        //             case 1:
-        //                 this.indirectData.facility+=e.budget*1;
-        //                 this.usedInDirectData.facility+=e.usedFund*1;
-        //                 this.indirectDataReason.reason=e.reason;
-        //                 this.applicationInDirectData.facility = e.apply*1;
-        //                 // console.log(this.directData.facility);
-        //                 break;
-        //             case 2:
-        //                 this.indirectData.cl+=e.budget*1;
-        //                 this.usedInDirectData.cl+=e.usedFund*1;
-        //                 this.indirectDataReason.reason1=e.reason;
-        //                 this.applicationInDirectData.cl = e.apply*1;
-        //                 // console.log(this.directData.cl);
-        //                 break;
-        //             case 3:
-        //                 this.indirectData.jg=e.budget*1;
-        //                 this.usedInDirectData.jg+=e.usedFund*1;
-        //                 this.indirectDataReason.reason2=e.reason;
-        //                 this.applicationInDirectData.jg = e.apply*1;
-        //                 break;
-        //             case 4:
-        //                 this.indirectData.xz=e.budget*1;
-        //                 this.usedInDirectData.xz+=e.usedFund*1;
-        //                 this.indirectDataReason.reason3=e.reason;
-        //                 this.applicationInDirectData.xz = e.apply*1;
-        //                 break;
-        //             case 5:
-        //                 this.indirectData.qt=e.budget*1;
-        //                 this.usedInDirectData.qt+=e.usedFund*1;
-        //                 this.indirectDataReason.reason4=e.reason;
-        //                 this.applicationInDirectData.qt = e.apply*1;
-        //                 break;
-        //         }
-        //    })
-        // //    this.DirectFunding.budget = this.
-        //     //直接费用全部预算
-        //     for(let i in this.directData)this.IndirectFunding['budget']+=this.directData[i];
-        //     //直接费用全部已支出
-        //     for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
-        //     //直接费用本次申请
-        //     for(let b in this.applicationDirectData)this.IndirectFunding['application']+=this.applicationDirectData[b]
-        //     //直接费用余额
-        //     this.IndirectFunding['surplus'] = this.IndirectFunding['budget']-this.IndirectFunding['expended']-this.IndirectFunding['application']
-
-        //     //间接费用
-        //     //间接费用全部预算
-        //     for(let c in this.indirectData)this.Expenditure['budget']+=this.indirectData[c];
-        //     //间接费用全部已支出
-        //     for(let d in this.usedInDirectData)this.Expenditure['expended']+=this.usedInDirectData[d];
-        //     //间接费用本次申请
-        //     for(let e in this.applicationInDirectData)this.Expenditure['application']+=this.applicationInDirectData[e];
-        //     //间接费用余额
-        //     this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
-
-        //     //经费支出
-        //     //预算
-        //     this.AllFund.budget =this.Expenditure['budget']+this.IndirectFunding['budget'];
-        //     //已支出
-        //     this.AllFund.expended = this.Expenditure['expended']+this.IndirectFunding['expended'];
-        //     //本次申请
-        //     this.AllFund.application = this.Expenditure['application']+this.IndirectFunding['application']
-        //     //余额
-        //     this.AllFund.surplus = this.AllFund['budget']-this.AllFund['expended']-this.AllFund['application'];
+         
+        getFundData(){
+            // console.log(this.projectName);
+            //total:总经费     
+            //小型仪器设备费:device        deviceRemarks
+            //材料费:Material             MaterialRemarks
+            //测试化验加工费:processing    processingRemarks
+            //项目协作费:Collaboration     CollaborationRemarks
+            //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
+            //参展参赛费:entery            enteryRemarks
+            //创客交流活动费:activities    activitiesRemarks
+            //知识产权事务费:Transaction   TransactionRemarks
+            let param={
+                uid:this.$store.state.userInfo.userid,
+                aid:this.projectName,
+            }
+            this.ajax
+            .get(this.$store.state.api+'/selectMarkerFundData',param)
+            .then(res=>{
+                console.log(res.data);
+                let data=JSON.parse(res.data[0][0]['fund']);
+                // let usedFund=JSON.parse(res.data[0][0]['usedFund']);
+                // console.log(data);
+                this.fundList[0].budget=data.device
+                this.fundList[1].budget=data.Material
+                this.fundList[2].budget=data.processing 
+                this.fundList[3].budget=data.Collaboration 
+                this.fundList[4].budget=data.APPRAISAL
+                this.fundList[5].budget=data.entery 
+                this.fundList[6].budget=data.activities 
+                this.fundList[7].budget=data.Transaction
+                this.tit=res.data[0][0].title
+                this.ty=res.data[0][0].type
 
-        //     //项目名称
-        //     this.residue.PName = this.projectFilter.filter(item=>item.id==this.selects.projectName).length!=0?this.projectFilter.filter(item=>item.id==this.selects.projectName)[0]['title']:'';
 
-        // },
+                this.fundList.forEach(e=>{
+                    e.havePaid=0
+                })
 
 
-        // ProgressFormat(value){        //进度条
-        //   return value ==100?'100%':`${value}%`
-        // },
-       
-        // delUploadBtn(index){           //删除上传文件
-        //     console.log(index);
-        //     this.file.splice(index,1)
-        //     this.$message.success('删除成功')
-        // },
-        // handleRemove(index) {
-        //     console.log(index);
-        // },
-        // uploadData(){
-        //     this.submitHint=true;
-        // },
+                res['data'][1].filter(e=>{
+                   if (e.actualuse==null) {
+                        e.actualuse=e.applyfund
+                   }
+                })
+                // console.log(arr);
 
-        // getFile(val) {       //上传文件
-        //     this.file.push(val)
-        //     this.progress.show = false;
-        //     // this.imageUrl=require("../../assets/img/jj.jpg")
-        // },
-        
+                let arr= res['data'][1].filter(e=>{
+                    return e.actualuse!=null
+                })
+                if (arr) {
+                    arr.forEach(item=>{
+                    let JP = JSON.parse(item['actualuse']);
+                        this.fundList[0]['havePaid']+=Number(JP['device']);
+                        this.fundList[1]['havePaid']+=Number(JP['Material']);
+                        this.fundList[2]['havePaid']+=Number(JP['processing']);
+                        this.fundList[3]['havePaid']+=Number(JP['Collaboration']);
+                        this.fundList[4]['havePaid']+=Number(JP['APPRAISAL']);
+                        this.fundList[5]['havePaid']+=Number(JP['entery']);
+                        this.fundList[6]['havePaid']+=Number(JP['activities']);
+                        this.fundList[7]['havePaid']+=Number(JP['Transaction']);
+                    })
+                }
 
-        init(){
-            //重置
-            this.submitHint=false;
-            this.createFromDialog=false;
+                this.allFund=res.data[0][0]['money']
+            },err=>{
+                console.log(err);
+            })
         },
-        
-      
+        download(){
+            if(!this.projectName) return this.$message.error('请选择活动名称')
+            let data= this.fundList.filter(e=>{
+                return e.thisApply==''
+            })
+            if (data.length==8) return this.$message.error('请填写本次申请金额')
+            this.downLoadExcelDig=true
+        },
+        downLoadExcel(){   //生成表单
+            getExcel(this.fundList,this.intro,this.tit,this.ty)
+            this.downLoadExcelDig=false
+        },
+        submitData(){
+            if(!this.projectName) return this.$message.error('请选择活动名称')
+            let data= this.fundList.filter(e=>{
+                return e.thisApply==''
+            })
+            if (data.length==8) return this.$message.error('请填写本次申请金额')
+            let arr=[this.fundList[0].thisApply,this.fundList[1].thisApply,this.fundList[2].thisApply,this.fundList[3].thisApply,this.fundList[4].thisApply,this.fundList[5].thisApply,this.fundList[6].thisApply,this.fundList[7].thisApply]
+            let arr2=[this.fundList[0].havePaid,this.fundList[1].havePaid,this.fundList[2].havePaid,this.fundList[3].havePaid,this.fundList[4].havePaid,this.fundList[5].havePaid,this.fundList[6].havePaid,this.fundList[7].havePaid]
+            
+            let fund=arr.reduce((prev,cur,index,arr) => {
+                return prev + cur*1;
+            },0); 
+            let fund2=arr2.reduce((prev,cur,index,arr) => {
+                return prev + cur*1;
+            },0); 
+            // return console.log(fund,fund2);
+            if (fund+fund2>this.allFund) return this.$message.error('申请金额已大于预算')
+            this.submitDataDig=true
+        },
+        submitAll(){           //提交创客资金申请
+           getFundNo("ZJ").then((result)=>{
+                let param={
+                    uid:this.$store.state.userInfo.userid,
+                    aid:this.projectName,
+                    fNo:result, //项目编号
+                    intro:this.intro,
+                    f:JSON.stringify({
+                        device:this.fundList[0].thisApply,
+                        Material:this.fundList[1].thisApply,
+                        processing:this.fundList[2].thisApply,
+                        Collaboration:this.fundList[3].thisApply,
+                        APPRAISAL:this.fundList[4].thisApply,
+                        entery:this.fundList[5].thisApply,
+                        activities:this.fundList[6].thisApply,
+                        Transaction:this.fundList[7].thisApply,
+                    })
+                }
+                this.ajax
+                .post(this.$store.state.api+'/insertFundApply',param)
+                .then(res=>{
+                    console.log(res);
+                    if(res.data==1){
+                        this.$message.success('提交成功')
+                        this.submitDataDig=false
+                        this.$router.push('/makerfund')
+                    }else{
+                        this.$message.error('提交失败')
+                    }
+                },err=>{
+                    console.log(err);
+                })
+            })
+        },
+    },
+    watch:{
+        projectName:{
+            handler(){
+                immediate:true
+                this.getFundData()
+            }
+        }
     },
     mounted(){
         this.getData()
@@ -436,34 +336,34 @@ export default {
         margin-top: 20px;
     }
 
-    .fundType{
-        width: 80%;
-        margin-top: 30px;
-        :deep(.el-input__inner){
-            width: 200px;
-            &::-webkit-outer-spin-button,
-            &::-webkit-inner-spin-button {
-                -webkit-appearance: none;
-            }
-            &[type="number"]{
-                -moz-appearance: textfield;
-            }
-        }
-        :deep(.el-textarea__inner){
-            width: 80%;
-        }
-        .fundInp{
-            display: flex;
-            margin-bottom: 10px;
-        }
+    // .fundType{
+    //     width: 80%;
+    //     margin-top: 30px;
+    //     :deep(.el-input__inner){
+    //         width: 200px;
+    //         &::-webkit-outer-spin-button,
+    //         &::-webkit-inner-spin-button {
+    //             -webkit-appearance: none;
+    //         }
+    //         &[type="number"]{
+    //             -moz-appearance: textfield;
+    //         }
+    //     }
+    //     :deep(.el-textarea__inner){
+    //         width: 80%;
+    //     }
+    //     .fundInp{
+    //         display: flex;
+    //         margin-bottom: 10px;
+    //     }
         
-    }
+    // }
 
     .table{ 
         border: none;
         border-top: solid 1px black;
         // border-right:  solid 1px black;
-        width: 80%;
+        width: 85%;
         margin: auto;
         margin-top: 30px;
         .textLeft{
@@ -478,10 +378,10 @@ export default {
             border: none;
             border-bottom: solid 1px black;
             border-right: solid 1px black;
-          height: 50px;
-          text-align: center;
-          line-height: 30px;
-          width: 9%;
+            height: 50px;
+            text-align: center;
+            line-height: 30px;
+            width: 100px;
            
           &:nth-child(1){
                 border-left:  solid 1px black;
@@ -501,6 +401,7 @@ export default {
           }
           :deep(.el-input__inner){
             border: none ;
+            background: rgb(234, 252, 186);
             border-radius: 0px;
             text-align: center;
             font-size: 16px;

+ 0 - 552
src/views/fundManage/newMarkerfundDetails.vue

@@ -1,552 +0,0 @@
-<template>
-    <!-- 创客资金申请表单 -->
-  <div>
-    <div class="vfpHeader">
-        <div class="titleOne">创客资金申请</div>
-        <el-button type="primary" @click="$router.back()">返回</el-button>
-    </div>
-    <hr>
-    <!-- 项目名称、类型开始 -->
-    <div class="Apply1">
-        <div class="inpInterval">项目名称</div>
-        <el-select v-model="selects.projectName"  style="width: 30%;" placeholder="请选择">
-            <el-option
-            v-for="item in projectFilter"
-            :key="item.id"
-            :label="item.title"
-            :value="item.id">
-            </el-option>
-        </el-select>
-    </div>
-    <div class="Apply1">
-        <div class="inpInterval">项目类型</div>
-        <el-select v-model="selects.projectType" placeholder="请选择">
-            <el-option
-            v-for="item in projectType"
-            :key="item.id"
-            :label="item.name"
-            :value="item.name">
-            </el-option>
-        </el-select>
-    </div>
-    <!-- 项目名称、类型结束 -->
-
-    <div class="tabTit">
-            <div>
-                <p>经费支出类别(单位:元)</p>
-            </div>
-    </div>
-    <hr>
-
-    <table border="1" cellspacing="0" class="table">
-       
-        <tr>
-            <td colspan="2">经济支出类别</td><td>预算</td><td>已支付</td><td>本次申请</td><td>实际使用</td><td>余额</td><td colspan="3">备注</td>
-        </tr>
-        <tr v-for="(item,index) in fundList" :key="index">
-            <td colspan="2">{{ item.fundName }}</td>
-            <td>
-                {{item.budget}}
-            </td>
-            <td>
-                {{item.havePaid}}
-            </td>
-            <td>
-                <el-input
-                type="number"
-                autosize
-                style="width: 100%;"
-                resize="none"
-                onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
-                placeholder="本次申请"
-                v-model="item.thisApply">
-                </el-input>
-            </td>
-            <td>
-                
-            </td>
-            <td>
-                {{ item.budget-item.havePaid-item.thisApply }}
-            </td>
-            <td colspan="3" style="box-sizing: border-box;padding: 0 10px;">
-                {{ item.remark }}
-            </td>
-        </tr>
-        <tr>
-            <td>事由</td>
-            <td colspan="10" class="textLeft">
-                <el-input
-                type="textarea"
-                :autosize="{ minRows: 6, maxRows: 20}"
-                style="width: 100%;"
-                resize="none"
-                placeholder=""
-                v-model="intro">
-                </el-input>
-            </td>
-        </tr>
-        <tr>
-            <td v-for="(i,k) in 10" :key="k" style="border: none;"></td>
-        </tr>
-        
-    </table>
-
-
-
-    <!-- 经费支出类别开始 -->
-    <!-- <div v-for="(item,index) in fundList" :key="index" class="fundType">
-        <div style="font-size: 18px;font-weight: bold;margin-bottom: 10px;">{{ item.fundName }}:</div>
-        <div style="width: 100%; display: flex;flex-wrap: wrap;justify-content: space-between;">
-            <div class="fundInp">
-                <div class="inpInterval">预算</div> <el-input type="number" disabled v-model="item.budget" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">已支付</div> <el-input type="number" disabled v-model="item.havePaid" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">本次申请</div> <el-input type="number" v-model="item.thisApply" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">余额</div> <el-input type="number" disabled v-model="textarea" placeholder="金额"></el-input>
-            </div>
-        </div>
-        <div class="fundInp">
-            <div class="inpInterval" style="position: relative;top: -10px;">备注</div>
-            <el-input
-                type="textarea"
-                :rows="3"
-                resize="none"
-                placeholder="请输入内容"
-                v-model="item.remark">
-            </el-input>
-        </div>
-    </div> -->
-    <!-- 经费支出类别结束-->
-
-
-
-
-    <!-- 附件上传开始 -->
-    <div>                            <!-- 附件上传 -->
-        <div class="tabTit">
-            <div><p>附件上传</p></div>
-        </div>
-        <hr>
-        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <div style="display: flex;flex-wrap: wrap;width: 100%;margin-bottom: 45px;">
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                style="position: relative;margin-left: 10px;"
-                disabled
-                :on-remove="handleRemove">
-                <BeUpload @getFile="getFile" :progress="progress" style="position: absolute;left: 0;width: 147px;height: 100%;opacity: 0;" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-                <i class="el-icon-plus"></i>
-                </el-upload>
-
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                class="delUpload"
-                style="position: relative;"
-                v-show="file[0]"
-                disabled
-                v-for="(item,index) in this.file" :key="index"
-                >   
-                    <img style="position: absolute;left: -1px;top:-1px;width: 149px;height: 101%;border-radius: 5px;" :src="dialogImageUrl" alt="">
-                    <div class="maskLayer">
-                        <i @click="delUploadBtn(index)" class="maskLayerI el-icon-close"></i>
-                    </div>             
-                    <div style="position: absolute;left: -20%;bottom: -30px;width: 200px;height: 30px;color: #000;line-height: 30px;display: flex;justify-content: center;">{{ item.fileName }}</div>
-                </el-upload>
-               
-        </div>
-    </div>
-    <!-- 附件上传结束 -->
-
-
-
-    <div class="baseBtn">
-        <div class="blockWidth">
-            <el-button type="primary" @click="createFrom">生成表单</el-button>
-            <el-button type="primary" @click="uploadData">提交</el-button>
-        </div>
-    </div>
-
-  </div>
-</template>
-
-<script>
-    import BeUpload from "../../components/tool/beUpload.vue";
-    import getExcel from "@/components/tool/getExcel";
-export default {
-    components: {
-        BeUpload,
-      },
-    data() {
-        return {
-            fundList:[
-                {fundName:'小型仪器设备费',budget:30,havePaid:10,thisApply:10,remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
-                {fundName:'材料费',budget:100,havePaid:10,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
-                {fundName:'测试化验加工费',budget:100,havePaid:10,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
-                {fundName:'项目协作费',budget:100,havePaid:10,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
-                {fundName:'项目成功鉴定费',budget:100,havePaid:10,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
-                {fundName:'参展参赛费',budget:100,havePaid:10,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
-                {fundName:'创客交流活动费',budget:100,havePaid:10,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
-                {fundName:'知识产权事务费',budget:100,havePaid:10,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
-            ],
-            intro:'诶嘿嘿',   //事由
-
-            accept:"*",
-            submitHint:false,   //提交按钮
-            createFromDialog:false,  //生成表单
-            dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
-            disabled: false,
-            file:[],
-            textarea:'',
-            selects:{             //所选名称,类型id
-                projectName:'',
-                projectType:''
-            },
-            progress:{   //进度条
-                value:0,
-                show:false
-            },  
-            projectFilter:[],    //项目名称
-            projectType:[     //项目类型
-                {
-                    id:1,
-                    name:'创客活动'
-                },
-                {
-                    id:2,
-                    name:'个人创客'
-                },
-            ],      
-        }
-    },
-    methods:{
-        delABC(event){
-            return (/[\d]/.test(String.fromCharCode(event.keyCode)))
-        },
-        AllEquipment(){                             //填写表单数据
-           this.directFundBlock.forEach((e,i)=>{
-                switch(e.directFundData)
-                {
-                    case 1:
-                        this.directData.facility+=e.budget*1;
-                        this.usedDirectData.facility+=e.usedFund*1;
-                        this.directDataReason.reason=e.reason;
-                        this.applicationDirectData.facility = e.apply*1
-                        break;
-                    case 2:
-                        this.directData.cl+=e.budget*1;
-                        this.usedDirectData.cl+=e.usedFund*1;
-                        this.directDataReason.reason1=e.reason;
-                        this.applicationDirectData.cl = e.apply*1
-                        break;
-                    case 3:
-                        this.directData.jg=e.budget*1;
-                        this.usedDirectData.jg+=e.usedFund*1;
-                        this.directDataReason.reason2=e.reason;
-                        this.applicationDirectData.jg = e.apply*1
-                        break;
-                    case 4:
-                        this.directData.xz=e.budget*1;
-                        this.usedDirectData.xz+=e.usedFund*1;
-                        this.directDataReason.reason3=e.reason;
-                        this.applicationDirectData.xz = e.apply*1
-                        break;
-                    case 5:
-                        this.directData.qt=e.budget*1;
-                        this.usedDirectData.qt+=e.usedFund*1;
-                        this.directDataReason.reason4=e.reason;
-                        this.applicationDirectData.qt = e.apply*1
-                        break;
-                }
-           })
-           this.indirectFundBlock.forEach((e,i)=>{
-                switch(e.indirectFundData)
-                {
-                    case 1:
-                        this.indirectData.facility+=e.budget*1;
-                        this.usedInDirectData.facility+=e.usedFund*1;
-                        this.indirectDataReason.reason=e.reason;
-                        this.applicationInDirectData.facility = e.apply*1;
-                        // console.log(this.directData.facility);
-                        break;
-                    case 2:
-                        this.indirectData.cl+=e.budget*1;
-                        this.usedInDirectData.cl+=e.usedFund*1;
-                        this.indirectDataReason.reason1=e.reason;
-                        this.applicationInDirectData.cl = e.apply*1;
-                        // console.log(this.directData.cl);
-                        break;
-                    case 3:
-                        this.indirectData.jg=e.budget*1;
-                        this.usedInDirectData.jg+=e.usedFund*1;
-                        this.indirectDataReason.reason2=e.reason;
-                        this.applicationInDirectData.jg = e.apply*1;
-                        break;
-                    case 4:
-                        this.indirectData.xz=e.budget*1;
-                        this.usedInDirectData.xz+=e.usedFund*1;
-                        this.indirectDataReason.reason3=e.reason;
-                        this.applicationInDirectData.xz = e.apply*1;
-                        break;
-                    case 5:
-                        this.indirectData.qt=e.budget*1;
-                        this.usedInDirectData.qt+=e.usedFund*1;
-                        this.indirectDataReason.reason4=e.reason;
-                        this.applicationInDirectData.qt = e.apply*1;
-                        break;
-                }
-           })
-        //    this.DirectFunding.budget = this.
-            //直接费用全部预算
-            for(let i in this.directData)this.IndirectFunding['budget']+=this.directData[i];
-            //直接费用全部已支出
-            for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
-            //直接费用本次申请
-            for(let b in this.applicationDirectData)this.IndirectFunding['application']+=this.applicationDirectData[b]
-            //直接费用余额
-            this.IndirectFunding['surplus'] = this.IndirectFunding['budget']-this.IndirectFunding['expended']-this.IndirectFunding['application']
-
-            //间接费用
-            //间接费用全部预算
-            for(let c in this.indirectData)this.Expenditure['budget']+=this.indirectData[c];
-            //间接费用全部已支出
-            for(let d in this.usedInDirectData)this.Expenditure['expended']+=this.usedInDirectData[d];
-            //间接费用本次申请
-            for(let e in this.applicationInDirectData)this.Expenditure['application']+=this.applicationInDirectData[e];
-            //间接费用余额
-            this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
-
-            //经费支出
-            //预算
-            this.AllFund.budget =this.Expenditure['budget']+this.IndirectFunding['budget'];
-            //已支出
-            this.AllFund.expended = this.Expenditure['expended']+this.IndirectFunding['expended'];
-            //本次申请
-            this.AllFund.application = this.Expenditure['application']+this.IndirectFunding['application']
-            //余额
-            this.AllFund.surplus = this.AllFund['budget']-this.AllFund['expended']-this.AllFund['application'];
-
-            //项目名称
-            this.residue.PName = this.projectFilter.filter(item=>item.id==this.selects.projectName).length!=0?this.projectFilter.filter(item=>item.id==this.selects.projectName)[0]['title']:'';
-
-        },
-        createFrom(){   // 显示表单对话框
-            
-        },
-        submitCreateFrom(){   //生成表单
-            
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-       
-        delUploadBtn(index){           //删除上传文件
-            console.log(index);
-            this.file.splice(index,1)
-            this.$message.success('删除成功')
-        },
-        handleRemove(index) {
-            console.log(index);
-        },
-        uploadData(){
-            this.submitHint=true;
-        },
-        submitAll(){           //提交创客资金申请
-           
-        },
-        getFile(val) {       //上传文件
-            this.file.push(val)
-            this.progress.show = false;
-            // this.imageUrl=require("../../assets/img/jj.jpg")
-        },
-        getData(){         //获取活动经费的项目名称
-            let param={
-                uid:this.$store.state.userInfo.userid,
-                fid:''
-            }
-            this.ajax
-                .get(this.$store.state.api+'/SelectMakerFundSelects',param)
-                .then(res=>{
-                    this.projectFilter=res.data[1]
-                    console.log(this.projectFilter);
-                },err=>{
-                    console.log(err);
-                })
-        },
-      
-        init(){
-            //重置
-            this.submitHint=false;
-            this.createFromDialog=false;
-        },
-        
-      
-    },
-    mounted(){
-        this.getData()
-    }
-}
-</script>
-
-<style lang="less" scoped>
-    .inpInterval{    //label
-        min-width: 80px;
-        display: inline-block;
-        text-align: justify;
-        text-justify:distribute-all-lines;
-        text-align-last: justify;
-        transform: translate(0,22%);
-        padding-right: 15px;
-        font-size: 16px;
-    }
-    .Apply1{         //顶部两个下拉框
-        height: 45px;
-        width: 100%;
-        display: flex;
-        justify-content: flex-start;
-        margin-top: 20px;
-        .inpName{
-            height: 40px;
-            outline:none ;
-            width: 600px;
-            border: #ccc 1px solid;
-            border-radius: 5px;
-            box-sizing: border-box;
-            padding: 1px 15px;
-        }
-    }
-
-    .fundType{
-        width: 80%;
-        margin-top: 30px;
-        :deep(.el-input__inner){
-            width: 200px;
-            &::-webkit-outer-spin-button,
-            &::-webkit-inner-spin-button {
-                -webkit-appearance: none;
-            }
-            &[type="number"]{
-                -moz-appearance: textfield;
-            }
-        }
-        :deep(.el-textarea__inner){
-            width: 80%;
-        }
-        .fundInp{
-            display: flex;
-            margin-bottom: 10px;
-        }
-        
-    }
-
-    .table{ 
-        border: none;
-        border-top: solid 1px black;
-        // border-right:  solid 1px black;
-        width: 80%;
-        margin: auto;
-        margin-top: 30px;
-        .textLeft{
-          :deep(.el-textarea__inner){
-            border: none ;
-            border-radius: 0px;
-            text-align: left !important;
-            font-size: 16px;
-          }
-        }
-        tr td{
-            border: none;
-            border-bottom: solid 1px black;
-            border-right: solid 1px black;
-          height: 50px;
-          text-align: center;
-          line-height: 30px;
-          width: 9%;
-           
-          &:nth-child(1){
-                border-left:  solid 1px black;
-              }
-          p{
-            font-weight: 600;
-          }
-          :deep(.el-select .el-input .el-select__caret){
-            display: none;
-          }
-          :deep(.el-textarea__inner){
-            // padding: 0;
-            border: none ;
-            border-radius: 0px;
-            text-align: center;
-            font-size: 16px;
-          }
-          :deep(.el-input__inner){
-            border: none ;
-            border-radius: 0px;
-            text-align: center;
-            font-size: 16px;
-             //去除input number样式
-            &::-webkit-outer-spin-button,
-            &::-webkit-inner-spin-button {
-                -webkit-appearance: none;
-            }
-            &[type="number"]{
-                -moz-appearance: textfield;
-            }
-          }
-        }
-        
-    }
-    .textLeft{
-          :deep(.el-textarea__inner){
-            border: none ;
-            border-radius: 0px;
-            text-align: left !important;
-            font-size: 16px;
-          }
-        }
-
-    .delUpload{    //文件上传
-        width: 147px;
-        margin-left: 60px;
-        margin-bottom: 62px;
-        &:hover .maskLayer{
-            display: block;
-        }
-        .maskLayer{
-            background: #000;position: absolute;left: 0;top: 0;opacity: .4; width: 100%;height: 100%;border-radius: 5px;
-            display: none;
-        }
-        .maskLayerI:hover{
-            color: #fff;
-        }
-        :deep(.avatar-uploader .el-upload) {         //文件上传
-            border: 1px dashed #d9d9d9;
-            border-radius: 6px;
-            cursor: pointer;
-            position: relative;
-            overflow: hidden;
-        }
-
-        :deep(.avatar-uploader-icon) {
-            font-size: 28px;
-            color: #8c939d;
-            width: 178px;
-            height: 178px;
-            line-height: 178px;
-            text-align: center;
-        }
-        :deep(.avatar) {
-            width: 178px;
-            height: 178px;
-            display: block;
-        }
-    }
-
-</style>

+ 230 - 329
src/views/fundManage/newNomMarkerFundApply.vue

@@ -1,15 +1,17 @@
 <template>
     <!-- 创客资金申请表单 -->
   <div>
-    <div class="vfpHeader">
-        <div class="titleOne">个人创客资金申请</div>
-        <!-- <el-button type="primary" @click="$router.back()">返回</el-button> -->
-    </div>
+    <!-- <div class="vfpHeader">
+        <div class="titleOne">创客活动资金申请</div>
+    </div> -->
+    <div class="pAHeader">
+        <div class="pAHeader1">创客活动资金申请</div>
+      </div>
     <hr>
     <!-- 项目名称、类型开始 -->
     <div class="Apply1">
-        <div class="inpInterval">项目名称</div>
-        <el-select v-model="selects.projectName"  style="width: 30%;" placeholder="请选择">
+        <div class="inpInterval">活动名称</div>
+        <el-select v-model="projectName"  style="width: 30%;" placeholder="请选择">
             <el-option
             v-for="item in projectFilter"
             :key="item.id"
@@ -18,17 +20,6 @@
             </el-option>
         </el-select>
     </div>
-    <!-- <div class="Apply1">
-        <div class="inpInterval">项目类型</div>
-        <el-select v-model="selects.projectType" placeholder="请选择">
-            <el-option
-            v-for="item in projectType"
-            :key="item.id"
-            :label="item.name"
-            :value="item.name">
-            </el-option>
-        </el-select>
-    </div> -->
 
     <div class="tabTit">
             <div>
@@ -36,7 +27,6 @@
             </div>
     </div>
     <hr>
-
     <table border="1" cellspacing="0" class="table">
        
         <tr>
@@ -50,14 +40,14 @@
             <td>
                 {{item.havePaid}}
             </td>
-            <td>
+            <td style="background-color: rgb(234, 252, 186);">
                 <el-input
                 type="number"
                 autosize
                 style="width: 100%;"
                 resize="none"
                 onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
-                placeholder="本次申请"
+                placeholder="请填写金额(元)"
                 v-model="item.thisApply">
                 </el-input>
             </td>
@@ -76,7 +66,7 @@
                 :autosize="{ minRows: 6, maxRows: 20}"
                 style="width: 100%;"
                 resize="none"
-                placeholder=""
+                placeholder="请输入事由"
                 v-model="intro">
                 </el-input>
             </td>
@@ -86,330 +76,240 @@
         </tr>
         
     </table>
-
-
-
-    <!-- 经费支出类别开始 -->
-    <!-- <div v-for="(item,index) in fundList" :key="index" class="fundType">
-        <div style="font-size: 18px;font-weight: bold;margin-bottom: 10px;">{{ item.fundName }}:</div>
-        <div style="width: 100%; display: flex;flex-wrap: wrap;justify-content: space-between;">
-            <div class="fundInp">
-                <div class="inpInterval">预算</div> <el-input type="number" disabled v-model="item.budget" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">已支付</div> <el-input type="number" disabled v-model="item.havePaid" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">本次申请</div> <el-input type="number" v-model="item.thisApply" placeholder="金额"></el-input>
-            </div>
-            <div class="fundInp">
-                <div class="inpInterval">余额</div> <el-input type="number" disabled v-model="textarea" placeholder="金额"></el-input>
-            </div>
-        </div>
-        <div class="fundInp">
-            <div class="inpInterval" style="position: relative;top: -10px;">备注</div>
-            <el-input
-                type="textarea"
-                :rows="3"
-                resize="none"
-                placeholder="请输入内容"
-                v-model="item.remark">
-            </el-input>
-        </div>
-    </div> -->
-    <!-- 经费支出类别结束-->
-
-
-
-
-    <!-- 附件上传开始 -->
-    <!-- <div>                           
-        <div class="tabTit">
-            <div><p>附件上传</p></div>
+    <div class="baseBtn">
+        <div class="blockWidth">
+            <el-button type="primary" @click="download">生成表单</el-button>
+            <el-button type="primary" @click="submitData">提交</el-button>
         </div>
-        <hr>
-        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <div style="display: flex;flex-wrap: wrap;width: 100%;margin-bottom: 45px;">
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                style="position: relative;margin-left: 10px;"
-                disabled
-                :on-remove="handleRemove">
-                <BeUpload @getFile="getFile" :progress="progress" style="position: absolute;left: 0;width: 147px;height: 100%;opacity: 0;" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-                <i class="el-icon-plus"></i>
-                </el-upload>
+    </div>
 
-                <el-upload
-                action="#"
-                list-type="picture-card"
-                class="delUpload"
-                style="position: relative;"
-                v-show="file[0]"
-                disabled
-                v-for="(item,index) in this.file" :key="index"
-                >   
-                    <img style="position: absolute;left: -1px;top:-1px;width: 149px;height: 101%;border-radius: 5px;" :src="dialogImageUrl" alt="">
-                    <div class="maskLayer">
-                        <i @click="delUploadBtn(index)" class="maskLayerI el-icon-close"></i>
-                    </div>             
-                    <div style="position: absolute;left: -20%;bottom: -30px;width: 200px;height: 30px;color: #000;line-height: 30px;display: flex;justify-content: center;">{{ item.fileName }}</div>
-                </el-upload>
-               
-        </div>
-    </div> -->
-    <!-- 附件上传结束 -->
 
+    <!-- 下载文档开始 -->
+    <el-dialog
+      title="生成Excel"
+      :visible.sync="downLoadExcelDig"
+      width="600px"
+      class="pageSubmitData"
+    >
+      
+      <span class="deleteContent">确定生成Excel?</span>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="downLoadExcel" class="AllDialogBtn">确认</el-button>
+        <el-button @click="downLoadExcelDig = false" class="AllDialogBtn">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 下载文档结束-->
 
+    <!-- 提交文档开始 -->
+    <el-dialog
+      title="提交"
+      :visible.sync="submitDataDig"
+      width="600px"
+      class="pageSubmitData"
+    >
+      
+      <span class="deleteContent">确定提交?</span>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认</el-button>
+        <el-button @click="submitDataDig = false" class="AllDialogBtn">取消</el-button>
+      </span>
+    </el-dialog>
+    <!-- 提交文档结束-->
 
-    <div class="baseBtn">
-        <div class="blockWidth">
-            <el-button type="primary" @click="submitCreateFrom">生成表单</el-button>
-            <el-button type="primary" @click="submitAll">提交</el-button>
-        </div>
-    </div>
 
   </div>
 </template>
 
 <script>
+    import getFundNo from '@/components/tool/getProjectNo';
     import BeUpload from "../../components/tool/beUpload.vue";
     // import getExcel from "@/components/tool/getExcel";
-    import downloadExcel from '@/components/tool/downloadExcel'
+    import {getExcel} from '@/components/tool/downloadExcel'
 export default {
     components: {
         BeUpload,
       },
     data() {
         return {
+            projectFilter:[],    //项目名称列表            
+            projectName:'',      //所选名称
+            downLoadExcelDig:false,//下载Excel对话框
+            submitDataDig:false,//提交对话框
+            allFund:'',//总经费
             fundList:[
-                {fundName:'小型仪器设备费',budget:30,havePaid:10,thisApply:10,remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
-                {fundName:'材料费',budget:100,havePaid:10,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
-                {fundName:'测试化验加工费',budget:100,havePaid:10,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
-                {fundName:'项目协作费',budget:100,havePaid:10,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
-                {fundName:'项目成功鉴定费',budget:100,havePaid:10,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
-                {fundName:'参展参赛费',budget:100,havePaid:10,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
-                {fundName:'创客交流活动费',budget:100,havePaid:10,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
-                {fundName:'知识产权事务费',budget:100,havePaid:10,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
+                {fundName:'小型仪器设备费',budget:'',havePaid:0,thisApply:'',remark:'项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。'},
+                {fundName:'材料费',budget:'',havePaid:0,thisApply:'',remark:'项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。'},
+                {fundName:'测试化验加工费',budget:'',havePaid:0,thisApply:'',remark:'项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。'},
+                {fundName:'项目协作费',budget:'',havePaid:0,thisApply:'',remark:'按合同规定支付给协作单位的费用'},
+                {fundName:'项目成功鉴定费',budget:'',havePaid:0,thisApply:'',remark:'学术会务费、评审费、鉴定费、成果集制作费等费用。'},
+                {fundName:'参展参赛费',budget:'',havePaid:0,thisApply:'',remark:'参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。'},
+                {fundName:'创客交流活动费',budget:'',havePaid:0,thisApply:'',remark:'创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。'},
+                {fundName:'知识产权事务费',budget:'',havePaid:0,thisApply:'',remark:'论文版面费、专利及其他知识产权事务等费用。'},
             ],
-            intro:'诶嘿嘿',   //事由
-            submitHint:false,   //提交按钮
-
-            textarea:'',
-            selects:{             //所选名称,类型id
-                projectName:'',
-                projectType:''
-            },
-            // progress:{   //进度条
-            //     value:0,
-            //     show:false
-            // },  
-            projectFilter:[],    //项目名称
-            // projectType:[     //项目类型
-            //     {
-            //         id:1,
-            //         name:'创客活动'
-            //     },
-            //     {
-            //         id:2,
-            //         name:'个人创客'
-            //     },
-            // ],  
-            // file:[],
-            // accept:"*",
-            // disabled: false,
-            // createFromDialog:false,  //生成表单
-            // dialogImageUrl:require('../../assets/img/zzpic426.jpg'),
+            intro:'',   //事由
+            tit:'',
+            ty:''
         }
     },
     methods:{
         getData(){         //获取活动经费的项目名称
             let param={
                 uid:this.$store.state.userInfo.userid,
-                fid:''
+                type:1
             }
             this.ajax
                 .get(this.$store.state.api+'/SelectMakerFundSelects',param)
                 .then(res=>{
-                    let data=res.data[1]
-                    console.log(data);
+                    let data=res.data[0]
+                    // console.log(data);
                     this.projectFilter=data
-                    // let arr=[];
-                    // let newOption={
-                    //     value:'',
-                    //     label:'',
-                    //     children: [{
-                    //         value: '1',
-                    //         label: '个人创客',
-                    //     }, {
-                    //         value: '2',
-                    //         label: '活动创客',
-                    //     }]
-                    // }
-       
-                    // data.forEach(i => {
-                    //     newOption.value=i.id;
-                    //     newOption.label=i.title;
-                    //     this.options.push(newOption)
-                    // });
-                    // console.log(arr);
-             
+                   
                 },err=>{
                     console.log(err);
                 })
         },
-        submitCreateFrom(){   //生成表单
-            downloadExcel(this.fundList,this.intro)
-        },
-        handleChange(value) {
-            console.log(value);
-        },
-        submitAll(){           //提交创客资金申请
-           
-        },
-        // delABC(event){
-        //     return (/[\d]/.test(String.fromCharCode(event.keyCode)))
-        // },
-        // AllEquipment(){                             //填写表单数据
-        //    this.directFundBlock.forEach((e,i)=>{
-        //         switch(e.directFundData)
-        //         {
-        //             case 1:
-        //                 this.directData.facility+=e.budget*1;
-        //                 this.usedDirectData.facility+=e.usedFund*1;
-        //                 this.directDataReason.reason=e.reason;
-        //                 this.applicationDirectData.facility = e.apply*1
-        //                 break;
-        //             case 2:
-        //                 this.directData.cl+=e.budget*1;
-        //                 this.usedDirectData.cl+=e.usedFund*1;
-        //                 this.directDataReason.reason1=e.reason;
-        //                 this.applicationDirectData.cl = e.apply*1
-        //                 break;
-        //             case 3:
-        //                 this.directData.jg=e.budget*1;
-        //                 this.usedDirectData.jg+=e.usedFund*1;
-        //                 this.directDataReason.reason2=e.reason;
-        //                 this.applicationDirectData.jg = e.apply*1
-        //                 break;
-        //             case 4:
-        //                 this.directData.xz=e.budget*1;
-        //                 this.usedDirectData.xz+=e.usedFund*1;
-        //                 this.directDataReason.reason3=e.reason;
-        //                 this.applicationDirectData.xz = e.apply*1
-        //                 break;
-        //             case 5:
-        //                 this.directData.qt=e.budget*1;
-        //                 this.usedDirectData.qt+=e.usedFund*1;
-        //                 this.directDataReason.reason4=e.reason;
-        //                 this.applicationDirectData.qt = e.apply*1
-        //                 break;
-        //         }
-        //    })
-        //    this.indirectFundBlock.forEach((e,i)=>{
-        //         switch(e.indirectFundData)
-        //         {
-        //             case 1:
-        //                 this.indirectData.facility+=e.budget*1;
-        //                 this.usedInDirectData.facility+=e.usedFund*1;
-        //                 this.indirectDataReason.reason=e.reason;
-        //                 this.applicationInDirectData.facility = e.apply*1;
-        //                 // console.log(this.directData.facility);
-        //                 break;
-        //             case 2:
-        //                 this.indirectData.cl+=e.budget*1;
-        //                 this.usedInDirectData.cl+=e.usedFund*1;
-        //                 this.indirectDataReason.reason1=e.reason;
-        //                 this.applicationInDirectData.cl = e.apply*1;
-        //                 // console.log(this.directData.cl);
-        //                 break;
-        //             case 3:
-        //                 this.indirectData.jg=e.budget*1;
-        //                 this.usedInDirectData.jg+=e.usedFund*1;
-        //                 this.indirectDataReason.reason2=e.reason;
-        //                 this.applicationInDirectData.jg = e.apply*1;
-        //                 break;
-        //             case 4:
-        //                 this.indirectData.xz=e.budget*1;
-        //                 this.usedInDirectData.xz+=e.usedFund*1;
-        //                 this.indirectDataReason.reason3=e.reason;
-        //                 this.applicationInDirectData.xz = e.apply*1;
-        //                 break;
-        //             case 5:
-        //                 this.indirectData.qt=e.budget*1;
-        //                 this.usedInDirectData.qt+=e.usedFund*1;
-        //                 this.indirectDataReason.reason4=e.reason;
-        //                 this.applicationInDirectData.qt = e.apply*1;
-        //                 break;
-        //         }
-        //    })
-        // //    this.DirectFunding.budget = this.
-        //     //直接费用全部预算
-        //     for(let i in this.directData)this.IndirectFunding['budget']+=this.directData[i];
-        //     //直接费用全部已支出
-        //     for(let a in this.usedDirectData)this.IndirectFunding['expended']+=this.usedDirectData[a];
-        //     //直接费用本次申请
-        //     for(let b in this.applicationDirectData)this.IndirectFunding['application']+=this.applicationDirectData[b]
-        //     //直接费用余额
-        //     this.IndirectFunding['surplus'] = this.IndirectFunding['budget']-this.IndirectFunding['expended']-this.IndirectFunding['application']
-
-        //     //间接费用
-        //     //间接费用全部预算
-        //     for(let c in this.indirectData)this.Expenditure['budget']+=this.indirectData[c];
-        //     //间接费用全部已支出
-        //     for(let d in this.usedInDirectData)this.Expenditure['expended']+=this.usedInDirectData[d];
-        //     //间接费用本次申请
-        //     for(let e in this.applicationInDirectData)this.Expenditure['application']+=this.applicationInDirectData[e];
-        //     //间接费用余额
-        //     this.Expenditure['surplus'] = this.Expenditure['budget']-this.Expenditure['expended']-this.Expenditure['application']
-
-        //     //经费支出
-        //     //预算
-        //     this.AllFund.budget =this.Expenditure['budget']+this.IndirectFunding['budget'];
-        //     //已支出
-        //     this.AllFund.expended = this.Expenditure['expended']+this.IndirectFunding['expended'];
-        //     //本次申请
-        //     this.AllFund.application = this.Expenditure['application']+this.IndirectFunding['application']
-        //     //余额
-        //     this.AllFund.surplus = this.AllFund['budget']-this.AllFund['expended']-this.AllFund['application'];
+         
+        getFundData(){
+            // console.log(this.projectName);
+            //total:总经费     
+            //小型仪器设备费:device        deviceRemarks
+            //材料费:Material             MaterialRemarks
+            //测试化验加工费:processing    processingRemarks
+            //项目协作费:Collaboration     CollaborationRemarks
+            //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
+            //参展参赛费:entery            enteryRemarks
+            //创客交流活动费:activities    activitiesRemarks
+            //知识产权事务费:Transaction   TransactionRemarks
+            let param={
+                uid:this.$store.state.userInfo.userid,
+                aid:this.projectName,
+            }
+            this.ajax
+            .get(this.$store.state.api+'/selectMarkerFundData',param)
+            .then(res=>{
+                console.log(res.data);
+                let data=JSON.parse(res.data[0][0]['fund']);
+                // let usedFund=JSON.parse(res.data[0][0]['usedFund']);
+                // console.log(data);
+                this.fundList[0].budget=data.device
+                this.fundList[1].budget=data.Material
+                this.fundList[2].budget=data.processing 
+                this.fundList[3].budget=data.Collaboration 
+                this.fundList[4].budget=data.APPRAISAL
+                this.fundList[5].budget=data.entery 
+                this.fundList[6].budget=data.activities 
+                this.fundList[7].budget=data.Transaction
+                this.tit=res.data[0][0].title
+                this.ty=res.data[0][0].type
 
-        //     //项目名称
-        //     this.residue.PName = this.projectFilter.filter(item=>item.id==this.selects.projectName).length!=0?this.projectFilter.filter(item=>item.id==this.selects.projectName)[0]['title']:'';
 
-        // },
+                this.fundList.forEach(e=>{
+                    e.havePaid=0
+                })
 
 
-        // ProgressFormat(value){        //进度条
-        //   return value ==100?'100%':`${value}%`
-        // },
-       
-        // delUploadBtn(index){           //删除上传文件
-        //     console.log(index);
-        //     this.file.splice(index,1)
-        //     this.$message.success('删除成功')
-        // },
-        // handleRemove(index) {
-        //     console.log(index);
-        // },
-        // uploadData(){
-        //     this.submitHint=true;
-        // },
+                res['data'][1].filter(e=>{
+                   if (e.actualuse==null) {
+                        e.actualuse=e.applyfund
+                   }
+                })
+                // console.log(arr);
 
-        // getFile(val) {       //上传文件
-        //     this.file.push(val)
-        //     this.progress.show = false;
-        //     // this.imageUrl=require("../../assets/img/jj.jpg")
-        // },
-        
+                let arr= res['data'][1].filter(e=>{
+                    return e.actualuse!=null
+                })
+                if (arr) {
+                    arr.forEach(item=>{
+                    let JP = JSON.parse(item['actualuse']);
+                        this.fundList[0]['havePaid']+=Number(JP['device']);
+                        this.fundList[1]['havePaid']+=Number(JP['Material']);
+                        this.fundList[2]['havePaid']+=Number(JP['processing']);
+                        this.fundList[3]['havePaid']+=Number(JP['Collaboration']);
+                        this.fundList[4]['havePaid']+=Number(JP['APPRAISAL']);
+                        this.fundList[5]['havePaid']+=Number(JP['entery']);
+                        this.fundList[6]['havePaid']+=Number(JP['activities']);
+                        this.fundList[7]['havePaid']+=Number(JP['Transaction']);
+                    })
+                }
 
-        init(){
-            //重置
-            this.submitHint=false;
-            this.createFromDialog=false;
+                this.allFund=res.data[0][0]['money']
+            },err=>{
+                console.log(err);
+            })
         },
-        
-      
+        download(){
+            if(!this.projectName) return this.$message.error('请选择活动名称')
+            let data= this.fundList.filter(e=>{
+                return e.thisApply==''
+            })
+            if (data.length==8) return this.$message.error('请填写本次申请金额')
+            this.downLoadExcelDig=true
+        },
+        downLoadExcel(){   //生成表单
+            getExcel(this.fundList,this.intro,this.tit,this.ty)
+            this.downLoadExcelDig=false
+        },
+        submitData(){
+            if(!this.projectName) return this.$message.error('请选择活动名称')
+            let data= this.fundList.filter(e=>{
+                return e.thisApply==''
+            })
+            if (data.length==8) return this.$message.error('请填写本次申请金额')
+            let arr=[this.fundList[0].thisApply,this.fundList[1].thisApply,this.fundList[2].thisApply,this.fundList[3].thisApply,this.fundList[4].thisApply,this.fundList[5].thisApply,this.fundList[6].thisApply,this.fundList[7].thisApply]
+            let arr2=[this.fundList[0].havePaid,this.fundList[1].havePaid,this.fundList[2].havePaid,this.fundList[3].havePaid,this.fundList[4].havePaid,this.fundList[5].havePaid,this.fundList[6].havePaid,this.fundList[7].havePaid]
+            
+            let fund=arr.reduce((prev,cur,index,arr) => {
+                return prev + cur*1;
+            },0); 
+            let fund2=arr2.reduce((prev,cur,index,arr) => {
+                return prev + cur*1;
+            },0); 
+            // return console.log(fund,fund2);
+            if (fund+fund2>this.allFund) return this.$message.error('申请金额已大于预算')
+            this.submitDataDig=true
+        },
+        submitAll(){           //提交创客资金申请
+           getFundNo("ZJ").then((result)=>{
+                let param={
+                    uid:this.$store.state.userInfo.userid,
+                    aid:this.projectName,
+                    fNo:result, //项目编号
+                    intro:this.intro,
+                    f:JSON.stringify({
+                        device:this.fundList[0].thisApply,
+                        Material:this.fundList[1].thisApply,
+                        processing:this.fundList[2].thisApply,
+                        Collaboration:this.fundList[3].thisApply,
+                        APPRAISAL:this.fundList[4].thisApply,
+                        entery:this.fundList[5].thisApply,
+                        activities:this.fundList[6].thisApply,
+                        Transaction:this.fundList[7].thisApply,
+                    })
+                }
+                this.ajax
+                .post(this.$store.state.api+'/insertFundApply',param)
+                .then(res=>{
+                    console.log(res);
+                    if(res.data==1){
+                        this.$message.success('提交成功')
+                        this.submitDataDig=false
+                        this.$router.push('/makerfund')
+                    }else{
+                        this.$message.error('提交失败')
+                    }
+                },err=>{
+                    console.log(err);
+                })
+            })
+        },
+    },
+    watch:{
+        projectName:{
+            handler(){
+                immediate:true
+                this.getFundData()
+            }
+        }
     },
     mounted(){
         this.getData()
@@ -436,34 +336,34 @@ export default {
         margin-top: 20px;
     }
 
-    .fundType{
-        width: 80%;
-        margin-top: 30px;
-        :deep(.el-input__inner){
-            width: 200px;
-            &::-webkit-outer-spin-button,
-            &::-webkit-inner-spin-button {
-                -webkit-appearance: none;
-            }
-            &[type="number"]{
-                -moz-appearance: textfield;
-            }
-        }
-        :deep(.el-textarea__inner){
-            width: 80%;
-        }
-        .fundInp{
-            display: flex;
-            margin-bottom: 10px;
-        }
+    // .fundType{
+    //     width: 80%;
+    //     margin-top: 30px;
+    //     :deep(.el-input__inner){
+    //         width: 200px;
+    //         &::-webkit-outer-spin-button,
+    //         &::-webkit-inner-spin-button {
+    //             -webkit-appearance: none;
+    //         }
+    //         &[type="number"]{
+    //             -moz-appearance: textfield;
+    //         }
+    //     }
+    //     :deep(.el-textarea__inner){
+    //         width: 80%;
+    //     }
+    //     .fundInp{
+    //         display: flex;
+    //         margin-bottom: 10px;
+    //     }
         
-    }
+    // }
 
     .table{ 
         border: none;
         border-top: solid 1px black;
         // border-right:  solid 1px black;
-        width: 80%;
+        width: 85%;
         margin: auto;
         margin-top: 30px;
         .textLeft{
@@ -478,10 +378,10 @@ export default {
             border: none;
             border-bottom: solid 1px black;
             border-right: solid 1px black;
-          height: 50px;
-          text-align: center;
-          line-height: 30px;
-          width: 9%;
+            height: 50px;
+            text-align: center;
+            line-height: 30px;
+            width: 100px;
            
           &:nth-child(1){
                 border-left:  solid 1px black;
@@ -501,6 +401,7 @@ export default {
           }
           :deep(.el-input__inner){
             border: none ;
+            background: rgb(234, 252, 186);
             border-radius: 0px;
             text-align: center;
             font-size: 16px;

+ 12 - 20
src/views/home.vue

@@ -3,20 +3,13 @@
     <el-container class="homePage">
 
       <el-container class="homeBody">
-        <el-aside width="12%" class="aside">
-            <!-- <div class="btns" v-for="item in navList" :key="item.id" @click="goto(item.goto)" :style="{background: !$route.path.indexOf(item.goto)?'#3D67BC':'',color:!$route.path.indexOf(item.goto)?'#fff':''}">
-              <span>
-                <i :class="item.icon"></i>
-                {{ item.label }}
-              </span>
-            </div> -->
+        <el-aside width="12%" class="aside core_dialogue">
               <el-col :span="12">
                 <el-menu
-                  default-active="2"
                   class="el-menu-vertical-demo"
                   @open="handleOpen"
                   @close="handleClose"
-                  :unique-opened="true">
+                  :unique-opened="false">
                   <div class="submenu" v-for="(item,ind) in navList" :key="ind">
                     <el-submenu v-if="item['group'].length" :index='ind.toString()' >
                       <template slot="title">
@@ -74,20 +67,19 @@
 </template>
 
 <script>
-// import { BackgroundClass } from 'quill';
-// import App from '../App.vue'
     export default {
       data() {
         return {
           navList:[
-            {id:1,label:"项目立项申请",goto:"/projectApplication",icon:"iconfont icon-shuben",group:[
-              {label:"创客空间",goto:"/MakerSpaceApply"},
-              {label:"创客项目",goto:"/newStudentProjectApply"},
-              {label:"活动申请",icon:"el-icon-wind-power",goto:"/makerActvity",group:[
-                {label:"创客活动",icon:"iconfont icon-shuben",goto:"/newMarkerActivity"},
-                {label:"个人创客",icon:"iconfont icon-shuben",goto:"/newNomMarker"},
-              ]}]},
-            {id:2,label:"事后汇总",goto:"/newMarkerfundApply",icon:"iconfont icon-zijinguanli",group:[
+            {id:1,label:"项目立项管理",goto:"/projectApplication",icon:"iconfont icon-shuben",group:[
+              {label:"创客空间申请",goto:"/MakerSpaceApply"},
+              {label:"创客项目申请",goto:"/newStudentProjectApply"},
+            ]},
+            {id:2,label:"活动申请",icon:"el-icon-wind-power",goto:"/makerActvity",group:[
+                {label:"创客活动申请",goto:"/newMarkerActivity"},
+                {label:"个人创客申请",goto:"/newNomMarkerActivity"},
+            ]},
+            {id:2,label:"事后汇总",goto:"/makerfund",icon:"iconfont icon-zijinguanli",group:[
               {label:"创客活动资金申请",goto:"/newMarkerfundApply"},
               {label:"个人创客资金申请",goto:"/newNomMarkerFundApply"}
             ]},
@@ -106,7 +98,7 @@
         goto(url){
           // console.log(this.$route.path);
           this.$router.push(url)
-          console.log('1111')
+          // console.log('1111')
         },
         homeExit(){
         // console.log(this.$route.path)

+ 4 - 4
src/views/messageNotification.vue

@@ -52,7 +52,7 @@
         prop="operation"
         label="操作"
         align="center"
-        min-width="30%"
+        width="200"
         >
         <template #default="scope">
             <div class="operations">
@@ -84,7 +84,7 @@
       :visible.sync="dialogVisible"
       width="1000px"
       class="addDialog">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="addDialogMid">
         <div class="addDialogTit">
           <div class="addLabel">通知标题</div>
@@ -109,7 +109,7 @@
       :visible.sync="dialogVisible1"
       width="600px"
       class="delDialog">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="deleteContent">确定删除通知?</div>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="confirmDel" class="AllDialogBtn">确认删除</el-button>
@@ -124,7 +124,7 @@
       :visible.sync="dialogVisible2"
       width="800px"
       class="addDialog">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="addDialogMid">
         <div class="addDialogTit1">
           <div style="font-size:18px;color:#000">{{ messageCon.title }}</div>

+ 105 - 85
src/views/projectApply/MakerSpaceApply.vue

@@ -2,17 +2,18 @@
     <!-- 项目立项申请 -->
     <div id="MakerSpaceApply" v-loading="loading">
       <div class="pAHeader">
-        <div class="pAHeader1">创客空间项目申请</div>
+        <div class="pAHeader1">创客空间申请</div>
       </div>
       <hr>
       <MakerSpaceWord :wordData="wordData"/>
-      <el-button type="primary" @click="test">提交项目</el-button>
+      <div style="position: fixed;bottom: 5%;right: 2%;">
+            <el-button  @click="test" type="primary">提交项目</el-button>
+        </div>
       <el-dialog
           title="提示"
           :visible.sync="submitHint"
           width="600px"
           class="pageSubmitData">
-          <div class="addDialogLogo">LOGO</div>
           <div class="deleteContent">确定提交“{{wordData['projectName']}}”项目立项?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="applyProject" class="AllDialogBtn">确认提交</el-button>
@@ -148,15 +149,16 @@
                     }else{
                       let num = 0;
                       this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            num++;
-                          }
-                        }
+                        if(cEmpty.test(item['name']))num++;
+                        // for(let j in item){
+                        //   if(cEmpty.test(item[j])){
+                        //     num++;
+                        //   }
+                        // }
                     
                       })
                       if(num>0){
-                        this.$message.error("请填完教师信息");
+                        this.$message.error("教师姓名请不要留空");
                         document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
                         return false;
                       }
@@ -171,88 +173,96 @@
                     }else{
                       let num = 0;
                       this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            num++;
-                          }
-                        }
+                        if(cEmpty.test(item['name']))num++;
+                        // for(let j in item){
+                        //   if(cEmpty.test(item[j])){
+                        //     num++;
+                        //   }
+                        // }
                       })
                       if(num>0){
-                        this.$message.error("请填完学生信息");
+                        this.$message.error("学生姓名请不要留空");
                         document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
                         return false;
                       }
                     }
                     break;
-                  case "brief":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写项目简介");
-                      document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }else{
-                      if(this.wordData[i].length<200||this.wordData>300){
-                        this.$message.error("项目简介需要200-300字")
-                        document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
-                        return false;
+                    case 'fund':
+                      if(this.wordData['fund']['total']==0){
+                        // console.log(document.querySelector('#fund'))
+                        document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
+                        return this.$message.error('请输入预算经费');
                       }
-                    }
-                    break;
-                  case "Construction":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写建设内容");
-                      document.querySelector('#eight').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "ProjectBasis":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写立项依据");
-                      document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "development":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写创客空间物理环境、制度建设及软件设施建设情况");
-                      document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studio":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客工作室建设情况");
-                      document.querySelector('#eleven').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studentTeam":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客团队(人才)培养预期成果、数量");
-                      document.querySelector('#twelve').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studentActivities":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客活动组织实施情况");
-                      document.querySelector('#thirteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "Transforming":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客团队孵化、转化创业项目情况");
-                      document.querySelector('#fourteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "condition":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写基础条件");
-                      document.querySelector('#fifteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break
+                      break;
+                  // case "brief":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写项目简介");
+                  //     document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }else{
+                  //     if(this.wordData[i].length<200||this.wordData>300){
+                  //       this.$message.error("项目简介需要200-300字")
+                  //       document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+                  //       return false;
+                  //     }
+                  //   }
+                  //   break;
+                  // case "Construction":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写建设内容");
+                  //     document.querySelector('#eight').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "ProjectBasis":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写立项依据");
+                  //     document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "development":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写创客空间物理环境、制度建设及软件设施建设情况");
+                  //     document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studio":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客工作室建设情况");
+                  //     document.querySelector('#eleven').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studentTeam":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客团队(人才)培养预期成果、数量");
+                  //     document.querySelector('#twelve').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studentActivities":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客活动组织实施情况");
+                  //     document.querySelector('#thirteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "Transforming":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客团队孵化、转化创业项目情况");
+                  //     document.querySelector('#fourteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "condition":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写基础条件");
+                  //     document.querySelector('#fifteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break
                 }
               }
               this.submitHint = true;
@@ -292,6 +302,8 @@
                   console.log(result)
                   if(result['data']==1){
                     this.$message.success("项目提交成功");
+                    //提交项目成功,查看sessionStore是否有数据,有则删
+                    if(sessionStorage.getItem("MakerSpaceApplyData"))sessionStorage.removeItem('MakerSpaceApplyData');
                     this.$router.push('/projectApplication')
                   }else{
                     this.$message.error("项目提交失败");
@@ -305,8 +317,14 @@
         mounted(){      //跳转到此页面立刻获取数据
         //   this.getData();     //获取表格数据
           // this.applyProject();
+          //判断,如果sessionStore里有MakerSpaceApplyData这个字段,则存到this.wordData里
+          if(sessionStorage.getItem('MakerSpaceApplyData'))this.wordData = JSON.parse(sessionStorage.getItem('MakerSpaceApplyData'))
+        },
+        beforeRouteLeave (to, from, next) {
+          //判断,如果还没提交然后切换页面了,则把数据存到sessionStore里;
+          if(!this.submitHint)sessionStorage.setItem('MakerSpaceApplyData',JSON.stringify(this.wordData));
+          next();
         }
-  
       }
   </script>
   
@@ -314,6 +332,8 @@
     #MakerSpaceApply{
         display: flex;
         flex-direction: column;
-        align-items: center;
+        // align-items: flex-end;
+        // justify-content: flex-end;
+        position: relative;
     }
   </style>

+ 17 - 13
src/views/projectApply/components/MakerSpaceWord.vue

@@ -7,7 +7,7 @@
     </div>
     <div id="table">
         <div class="han" id="one">
-          <div class="label">项目名称</div><div class="value">
+          <div class="label"><span style="color:red">*</span>项目名称</div><div class="value">
             <el-input
               type="textarea"
               autosize
@@ -16,7 +16,7 @@
               v-model="wordData['projectName']">
             </el-input>
         </div>
-          <div class="label">所在学院</div><div class="value">
+          <div class="label"><span style="color:red">*</span>所在学院</div><div class="value">
             <el-select v-model="wordData['college']" style="width: 100%;" placeholder="请选择所在学院">
               <el-option
                 v-for="item in DepartmentData"
@@ -28,7 +28,7 @@
         </div>
         </div>
         <div class="status" id="two">
-          <div class="statusLabel">项目状态</div>
+          <div class="statusLabel"><span style="color:red">*</span>项目状态</div>
           <div class="ValueDescribe">
             <div class="statusHan">
               <div class="DescribeLabel">
@@ -43,7 +43,7 @@
           </div>
         </div>
         <div class="han" id="three">
-          <div class="label">项目起始时间</div><div class="value">
+          <div class="label"><span style="color:red">*</span>项目起始时间</div><div class="value">
             <el-date-picker
               v-model="wordData['begin_at']"
               type="date"
@@ -52,7 +52,7 @@
               value-format="yyyy-MM-dd HH:mm:ss">
             </el-date-picker>
           </div>
-          <div class="label">计划完成时间</div><div class="value">
+          <div class="label"><span style="color:red">*</span>计划完成时间</div><div class="value">
             <el-date-picker
               v-model="wordData['plannedEnd_at']"
               type="date"
@@ -63,7 +63,7 @@
           </div>
         </div>
         <div class="han" id="four">
-          <div class="label">项目负责人</div><div class="value">
+          <div class="label"><span style="color:red">*</span>项目负责人</div><div class="value">
             <el-input
               type="textarea"
               autosize
@@ -72,7 +72,7 @@
               v-model="wordData['pro_leader']">
             </el-input>
           </div>
-          <div class="label">学院牵头领导</div><div class="value">
+          <div class="label"><span style="color:red">*</span>学院牵头领导</div><div class="value">
             <el-input
               type="textarea"
               autosize
@@ -97,7 +97,7 @@
           </div>
           <div class="memberTable" :style="wordData['teacher'].length<4?'border-bottom:solid 1px black':''">
             <div class="memberHan">
-              <div class="memberValue">姓名</div>
+              <div class="memberValue"><span style="color:red">*</span>姓名</div>
               <div class="memberValue">专业</div>
               <div class="memberValue">职称</div>
               <div class="memberValue">学历</div>
@@ -177,7 +177,7 @@
           </div>
           <div class="memberTable" :style="wordData['student'].length<4?'border-bottom:solid 1px black':''">
             <div class="memberHan">
-              <div class="memberValue">姓名</div>
+              <div class="memberValue"><span style="color:red">*</span>姓名</div>
               <div class="memberValue">班级</div>
               <div class="memberValue">年龄</div>
               <div class="memberValue">项目组角色分工</div>
@@ -244,8 +244,6 @@
                   class="noCenter"
                   :autosize="{minRows: 6}"
                   resize="none"
-                  show-word-limit
-                  maxlength="300"
                   v-model="wordData['brief']">
                 </el-input>
               </div>
@@ -376,8 +374,8 @@
         </div>
 
         <div class="fund">
-          <div class="fundTitle">
-            预算<br/>经费
+          <div class="fundTitle" id="fund">
+            <span style="color:red">*</span>预算<br/>经费
           </div>
           <div class="fundTable">
             <div class="fundTotal">
@@ -962,6 +960,8 @@
     box-sizing: border-box;
     border: none;
     outline: none;
+    font-family:Arial,"Microsoft Yahe","微软雅黑";
+    // font-family: '微软雅黑';
     &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{
       -webkit-appearance: none !important;
     }
@@ -980,6 +980,7 @@
     box-sizing: border-box;
     border: none;
     overflow: hidden;
+    font-family:Arial,"Microsoft Yahe","微软雅黑";
   }
   .noCenter{
     :deep(.el-textarea__inner ){
@@ -989,9 +990,11 @@
   :deep(.el-date-editor){
     width: 100%;
     height: 100%;
+    font-family:Arial,"Microsoft Yahe","微软雅黑";
   }
   :deep(.el-input__suffix){
     display:none;
+    font-family:Arial,"Microsoft Yahe","微软雅黑";
   }
   //去除input number样式
   input::-webkit-outer-spin-button,
@@ -1002,6 +1005,7 @@
     -moz-appearance: textfield;
   }
   .fontBold{
+    font-family:Arial,"Microsoft Yahe","微软雅黑";
     font-weight:bold;
   }
 }

+ 86 - 83
src/views/projectApply/components/MakerSpaceWordDetail.vue

@@ -3,15 +3,15 @@
         <MakerSpaceWord :wordData="wordData" v-if="state==0"/>
         <MakerSpaceWordShow :wordData="wordData" v-if="state!=0"/>
         <div>
-            <el-button type="primary" @click="test" v-if="state==0">立即修改</el-button>
             <el-button type="primary" @click="getWord">下载表格</el-button>
+            <el-button type="primary" @click="test" v-if="state==0">立即修改</el-button>
         </div>
         <el-dialog
           title="提示"
           :visible.sync="submitHint"
           width="600px"
           class="pageSubmitData">
-          <div class="addDialogLogo">LOGO</div>
+          
           <div class="deleteContent">确定修改“{{wordData['projectName']}}”项目?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="changeWord" class="AllDialogBtn">确认修改</el-button>
@@ -214,15 +214,10 @@
                     }else{
                       let num = 0;
                       this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            num++;
-                          }
-                        }
-                    
+                        if(cEmpty.test(item['name']))num++;
                       })
                       if(num>0){
-                        this.$message.error("请填完教师信息");
+                        this.$message.error("教师姓名请不要留空");
                         document.querySelector('#five').scrollIntoView({ behavior: "smooth" });
                         return false;
                       }
@@ -237,88 +232,96 @@
                     }else{
                       let num = 0;
                       this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            num++;
-                          }
-                        }
+                        if(cEmpty.test(item['name']))num++;
+                        // for(let j in item){
+                        //   if(cEmpty.test(item[j])){
+                        //     num++;
+                        //   }
+                        // }
                       })
                       if(num>0){
-                        this.$message.error("请填完学生信息");
+                        this.$message.error("学生姓名请不要留空");
                         document.querySelector('#six').scrollIntoView({ behavior: "smooth" });
                         return false;
                       }
                     }
                     break;
-                  case "brief":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写项目简介");
-                      document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }else{
-                      if(this.wordData[i].length<200||this.wordData>300){
-                        this.$message.error("项目简介需要200-300字")
-                        document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
-                        return false;
+                    case 'fund':
+                      if(this.wordData['fund']['total']==0){
+                        // console.log(document.querySelector('#fund'))
+                        document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
+                        return this.$message.error('请输入预算经费');
                       }
-                    }
-                    break;
-                  case "Construction":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写建设内容");
-                      document.querySelector('#eight').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "ProjectBasis":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写立项依据");
-                      document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "development":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写创客空间物理环境、制度建设及软件设施建设情况");
-                      document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studio":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客工作室建设情况");
-                      document.querySelector('#eleven').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studentTeam":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客团队(人才)培养预期成果、数量");
-                      document.querySelector('#twelve').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "studentActivities":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客活动组织实施情况");
-                      document.querySelector('#thirteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "Transforming":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写学生创客团队孵化、转化创业项目情况");
-                      document.querySelector('#fourteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break;
-                  case "condition":
-                    if(cEmpty.test(this.wordData[i])){
-                      this.$message.error("请填写基础条件");
-                      document.querySelector('#fifteen').scrollIntoView({ behavior: "smooth" });
-                      return false;
-                    }
-                    break
+                      break;
+                  // case "brief":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写项目简介");
+                  //     document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }else{
+                  //     if(this.wordData[i].length<200||this.wordData>300){
+                  //       this.$message.error("项目简介需要200-300字")
+                  //       document.querySelector('#seven').scrollIntoView({ behavior: "smooth" });
+                  //       return false;
+                  //     }
+                  //   }
+                  //   break;
+                  // case "Construction":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写建设内容");
+                  //     document.querySelector('#eight').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "ProjectBasis":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写立项依据");
+                  //     document.querySelector('#nine').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "development":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写创客空间物理环境、制度建设及软件设施建设情况");
+                  //     document.querySelector('#ten').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studio":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客工作室建设情况");
+                  //     document.querySelector('#eleven').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studentTeam":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客团队(人才)培养预期成果、数量");
+                  //     document.querySelector('#twelve').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "studentActivities":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客活动组织实施情况");
+                  //     document.querySelector('#thirteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "Transforming":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写学生创客团队孵化、转化创业项目情况");
+                  //     document.querySelector('#fourteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break;
+                  // case "condition":
+                  //   if(cEmpty.test(this.wordData[i])){
+                  //     this.$message.error("请填写基础条件");
+                  //     document.querySelector('#fifteen').scrollIntoView({ behavior: "smooth" });
+                  //     return false;
+                  //   }
+                  //   break
                 }
               }
               this.submitHint = true;

+ 8 - 57
src/views/projectApply/components/MakerSpaceWordShow.vue

@@ -252,13 +252,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">小型仪器设备费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['device']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="小型仪器设备费"
-                          v-model.number="wordData['fund']['device']"
-                          @change="convertNumber('device',wordData['fund']['device'])"></el-input> -->
+                      
                       </div>
                       <div class="fundDataValue"><span>项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。</span></div>
                     </div>
@@ -266,13 +260,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">材料费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['Material']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="材料费"
-                          v-model.number="wordData['fund']['Material']"
-                          @change="convertNumber('Material',wordData['fund']['Material'])"></el-input> -->
+                        
                       </div>
                       <div class="fundDataValue"><span>项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</span></div>
                     </div>
@@ -280,13 +268,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">测试化验加工费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['processing']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="测试化验加工费"
-                          v-model.number="wordData['fund']['processing']"
-                          @change="convertNumber('processing',wordData['fund']['processing'])"></el-input> -->
+                       
                       </div>
                       <div class="fundDataValue"><span>项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</span></div>
                     </div>
@@ -294,13 +276,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">项目协作费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['Collaboration']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="项目协作费"
-                          v-model.number="wordData['fund']['Collaboration']"
-                          @change="convertNumber('Collaboration',wordData['fund']['Collaboration'])"></el-input> -->
+                       
                       </div>
                       <div class="fundDataValue"><span>按合同规定支付给协作单位的费用</span></div>
                     </div>
@@ -314,13 +290,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">项目成果鉴定费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['APPRAISAL']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="项目成果鉴定费"
-                          v-model.number="wordData['fund']['APPRAISAL']"
-                          @change="convertNumber('APPRAISAL',wordData['fund']['APPRAISAL'])"></el-input> -->
+                       
                       </div>
                       <div class="fundDataValue"><span>学术会务费、评审费、鉴定费、成果集制作费等费用。</span></div>
                     </div>
@@ -328,13 +298,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">参展参赛费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['entery']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="参展参赛费"
-                          v-model.number="wordData['fund']['entery']"
-                          @change="convertNumber('entery',wordData['fund']['entery'])"></el-input> -->
+                        
                       </div>
                       <div class="fundDataValue"><span>参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</span></div>
                     </div>
@@ -342,13 +306,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">创客交流活动费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['activities']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="创客交流活动费"
-                          v-model.number="wordData['fund']['activities']"
-                          @change="convertNumber('activities',wordData['fund']['activities'])"></el-input> -->
+                        
                       </div>
                       <div class="fundDataValue"><span>创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</span></div>
                     </div>
@@ -356,14 +314,7 @@
                     <div class="fundDataLie">
                       <div class="fundDataValue">知识产权事务费</div>
                       <div class="fundDataValue" v-text="wordData['fund']['Transaction']">
-                        <!-- <el-input
-                          type="textarea"
-                          autosize
-                          resize="none"
-                          placeholder="知识产权事务费"
-                          v-model.number="wordData['fund']['Transaction']"
-                          @change="convertNumber('Transaction',wordData['fund']['Transaction'])">
-                        </el-input> -->
+                        
                       </div>
                       <div class="fundDataValue"><span>论文版面费、专利及其他知识产权事务等费用。</span></div>
                     </div>

+ 0 - 277
src/views/projectApply/components/projectApplication2.vue

@@ -1,277 +0,0 @@
-<template>
-  <!-- 项目立项申请查看详细项目详细 -->
-    <div class="projectApplication2">
-
-      <div id="w">
-              <p class="pTit">研发内容</p>
-              <div>
-                <p class="pTit2">一、项目研发背景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.back">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.back"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、项目创新点</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.innovate">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.innovate"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、技术研发路线</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.path">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.path"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">四、项目应用场景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.scene">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.scene"></vue-editor> -->
-                </div>
-              </div>
-              <!-- <div class="editor">
-                <vue-editor  :editorToolbar="customToolbar" v-model="content.contentOne"></vue-editor>
-              </div> -->
-            </div>
-            <div>
-              <p class="pTit">商业模式及社会价值</p>
-              <div>
-                <p class="pTit2">一、项目商业模式/社会价值</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.worth">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.worth"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div>
-              <p class="pTit">团队优势</p>
-              <div>
-                <p class="pTit2">一、团队构成及优势</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.team">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.team"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-
-            <div>
-              <p class="pTit">研发成本</p>
-              <div>
-                <p class="pTit2">一、研发成本来源及构成</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.cost">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.cost"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="e">
-              <p class="pTit">预期成果</p>
-              <div>
-                <p class="pTit2">一、项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectResults">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResults"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、学生创客人才培养预期成果、数量(教师填写)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectResultsTeacher">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResultsTeacher"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、项目预期孵化、转化创业项目情况</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectConversion">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectConversion"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div>
-              <p class="pTit" style="margin-bottom: 0;">实施计划</p>
-              <div class="editor">
-                <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.plan">
-                  </el-input>
-                <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.plan"></vue-editor> -->
-              </div>
-            </div>
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <el-button type="primary" v-show="isupload==0" @click="audit">立即修改</el-button>
-          <el-button type="primary" v-show="isupload!=0"  class="disa">立即修改</el-button>
-
-        </div>
-      </div>
-      <!-- 修改对话框开始 -->
-      <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="pageSubmitData"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-    </div>
-  </template>
-  
-  <script>
-import { VueEditor } from "vue2-editor";
-
-      export default {
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            isUpload:'',
-            endProject:'',
-            apIsupload:0,
-            data:[["","","","",""],[]],
-            submitHint:false,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-            content:'',
-          }
-        },
-        methods:{
-          audit(){   //立即修改按钮
-            this.submitHint=true
-          },
-          submitAll(){
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:JSON.parse(localStorage.getItem('pid')),
-              message:JSON.stringify(this.content)
-            }
-              this.ajax
-                  .post(this.$store.state.api+'/updateProjectApplication2Student',param)
-                  .then(res=>{
-                    // console.log(res);
-                    this.$message.success('修改成功')
-                    this.init()
-                  },err=>{
-                    console.log(err);
-                  })
-          },
-          init(){
-            this.submitHint=false
-          },
-
-          getData(){
-                let param={
-                    uid:this.$store.state.userInfo.userid,
-                    pid:JSON.parse(localStorage.getItem('pid'))
-                }
-                this.ajax
-                    .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                    .then(res=>{
-                        let data=res.data[0][0]
-                        console.log(data);
-                        this.isUpload=data.isupload
-                        this.endProject=data.endProject
-                        this.content=JSON.parse(data.chapters)
-                        this.apIsupload=data.apIsupload
-                        // console.log(this.content);
-                    },err=>{
-                        console.log(err);
-                    })
-            },
-        },
-        mounted(){
-          this.getData();
-        }
-      }
-  </script>
-  
-  <style lang="less">
-
-  </style>

+ 0 - 820
src/views/projectApply/components/projectApplicationApply.vue

@@ -1,820 +0,0 @@
-<template>
-  <!-- 项目立项申请立项检查消息表达 -->
-    <div class="projectApplicationApply">
-  <!-- 左边导航区开始 -->
-        <div class="left">
-          <div class="sx">
-            <div class="qiu"></div>
-          </div>
-          <div class="leftTits">
-            <div  @click="toPage(1)">基本信息填写</div>
-            <div @click="toPage(2)">封面上传</div>
-            <div @click="toPage(3)">教师项目成员</div>
-            <div @click="toPage(4)">学生项目成员</div>
-            <div @click="toPage(5)">简介</div>
-            <div @click="toPage(6)">下一步</div>
-          </div>
-        </div>
-  <!-- 左边导航区结束 -->
-        
-
-  <!-- 右边填写信息区域开始 -->
-        <div id="one" class="right">
-            <div  class="vfpHeader">
-              <div class="titleOne">项目立项申请</div>
-              <div class="smallTitle">申请开放时间为2023年4月4日9:00 &nbsp;  截止时间为2023年12月31日18:00</div>
-              <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
-            </div>
-            <hr>
-
-                <!-- 活动申请填写信息区域开始 -->
-                <div id="1" class="select">
-                    <div class="selectTop">
-                      <div class="label">项目名称</div>
-                      <el-input v-model="data.select.projectName" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="selectMid">
-                      <div class="selectLeft">
-                          <div class="inpBlock">
-                              <div class="label" style="width: 50px;font-size: 14px;">项目申请人姓名</div>
-                              <el-input v-model="data.select.leader" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">所在部门</div>
-                              <el-select v-model="data.select.department" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in data.departmentOptions"
-                                  :key="item.id"
-                                  :label="item.name"
-                                  :value="item.id">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label" style="width: 50px;font-size: 14px;position: relative;top: -8px;">优先支持项目(可多选)</div>
-                              <el-select style="width: 100%;" v-model="data.select.MultiSelectProjectNameS" multiple placeholder="请选择">
-                                <el-option
-                                  v-for="item in MultiSelectProject"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">联系电话</div>
-                              <el-input type="number" v-model="data.select.tel"  @blur="getText(data.select.tel)" placeholder="请输入联系方式"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">选择分类</div>
-                              <el-cascader v-model="pageType" style="width: 100%;" disabled :options="data.sortOptions" clearable></el-cascader>
-                          </div>
-                      </div>
-
-                      <div class="selectRight">
-                        <div class="inpBlock">
-                              <div class="label">项目开始时间</div>
-                              <el-date-picker
-                                v-model="data.select.projectDate"
-                                type="daterange"
-                                value-format="yyyy-MM-dd HH:mm:ss"
-                                range-separator="至"
-                                start-placeholder="开始日期"
-                                end-placeholder="结束日期">
-                              </el-date-picker>
-                          </div>
-                          <div class="inpBlock" style="position: relative;">
-                              <div class="label">预算总经费</div>
-                              <el-input type="number"  v-model="data.select.fund" placeholder="请输入内容"></el-input>
-                              <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label" style="font-size: 14px;max-width: 50px;position: relative;top: -8px;">美丽校园改造项目(特色项目)</div>
-                              <el-select v-model="data.select.schoolRemould" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in schoolRemouldOptions"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">项目申请人</div>
-                              <el-select v-model="data.select.projectApplyPerson" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in personType"
-                                  :key="item.value"
-                                  :label="item.label"
-                                  :value="item.value">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <!-- <div class="inpBlock">
-                              <div class="label">选择分类</div>
-                              <el-cascader v-model="data.select.sort" :options="data.sortOptions" clearable></el-cascader>
-                          </div> -->
-                      </div>
-                    </div>
-                   
-              </div>
-              <!-- 活动申请填写信息区域结束 -->
-
-          <!-- 项目封面上传开始 -->
-          <div id="2" style="height: 260px;">
-              <div id="two" class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="data.dialogImageUrl" :src="data.dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position: absolute;width: 301px;height: 180px; opacity: 0;z-index: 333;left: 0;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-            </div>
-
-          <!-- 项目封面上传开始结束 -->
-
-
-  <!-- 老师项目成员表格开始 -->
-              <div id="3" class="tabTit">
-                <div><p>项目组-老师成员<span>(2个学院以上,团队2-3人)</span> </p></div>
-                <el-button type="primary" @click="addTeacherMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="data.tableTeacherData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendTeacherDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelTeacher(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-
-          <!--添加修改老师成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加老师成员':'修改老师成员'"
-                :visible.sync="addTeacherMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input  v-model="Member.division" ></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddTeacher" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendTeacher" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改老师成员dialog对话框结束 -->
-
-          <!-- 删除老师成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delTeacherMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="addDialogLogo">LOGO</div>
-              <div class="deleteContent">确定删除老师成员?</div>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelTeacherMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delTeacherMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除老师成员对话框结束 -->
-  <!-- 老师项目成员表格结束 -->
-
-
-
-
-
-
-  <!-- 学生项目成员表格开始 -->
-              <div id="4" class="tabTit">
-                <div><p>项目组-学生成员<span>(至少2个学院以上学生构成,团队5人以上)</span> </p></div>
-                <el-button type="primary" @click="addStudentMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="data.tableStudentData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendStudentDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-
-          <!--添加修改学生成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加学生成员':'修改学生成员'"
-                :visible.sync="addStudentMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input v-model="Member.division"></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddStudent" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendStudent" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改学生成员dialog对话框结束 -->
-
-          <!-- 删除学生成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delStudentMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="addDialogLogo">LOGO</div>
-              <div class="deleteContent">确定删除学生成员?</div>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudentMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delStudentMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除学生成员对话框结束 -->
-  <!-- 学生项目成员表格结束 -->
-
-
-  <!-- 项目简介开始 -->
-            <div id="5" class="tabTit">
-                <div><p>项目简介<span>(200-300字)</span></p></div>
-            </div>
-            <hr>
-              <el-input
-                type="textarea"
-                :rows="6"
-                resize="none"
-                class="textArea"
-                placeholder="请输入内容"
-                v-model="data.textarea">
-              </el-input>
-  <!-- 项目简介结束 -->
- <!-- 结束按钮开始 -->
-         <div id="6" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary"  @click="backBtn1" size:small>上一步</el-button>
-                <el-button type="primary"  @click="backBtn" size:small>下一步</el-button>
-              </div>
-            </div>
-  <!-- 结束按钮结束 -->
-
-        </div>
-  <!-- 右边填写信息区域结束 -->
-    </div>
-  
-</template>
-
-<script>
-    import BeUpload from "@/components/tool/beUpload.vue";
-    export default { 
-      props:["data","next",'pageType','addPerson'],
-      components: {
-        BeUpload,
-      },
-      data() {
-        return {
-          // dialogImageUrl: '',
-          accept:"image/*",
-          isAddMember:1,   //判断是添加成员还是修改成员
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          // fileList: [],
-          // dialogVisible: false,
-          addStudentMemberDialog:false,   //添加修改学生对话框
-          addTeacherMemberDialog:false,   //添加修改老师对话框
-          delStudentMember:false,         //删除学生对话框
-          delTeacherMember:false,         //删除老师对话框
-          index:'',
-          Member:{    //添加、修改成员
-              name:'',
-              class:'',
-              division:'',
-              score:'0'
-          },
-          MultiSelectProject:[   //优先支持项目下拉框数据
-                    {
-                      value: 1,
-                      label: '大赛选拔项目'
-                    }, {
-                      value: 2,
-                      label: '落地注册项目'
-                    }, {
-                      value: 3,
-                      label: '社会征集项目'
-                    }, {
-                      value: 4,
-                      label: '产业命题项目'
-                    }
-          ],
-          schoolRemouldOptions:[   //美丽校园下拉框数据
-                    {
-                      value: 1,
-                      label: '校园安全项目'
-                    }, {
-                      value: 2,
-                      label: '环境治理项目'
-                    }, {
-                      value: 3,
-                      label: '校园服务项目'
-                    }, {
-                      value: 4,
-                      label: '文创装置项目'
-                    }
-          ],
-          personType:[     //项目申请人下拉框数据
-                    {
-                      value: 1,
-                      label: '在校学生'
-                    }, {
-                      value: 2,
-                      label: '入驻学校孵化基地的初创企业法人'
-                    }
-          ],
-          // sortOptions: [      //选择分类下拉框数据
-          //           {
-          //             value:"",
-          //             label: '',
-          //             children: [{
-          //               value: 0,
-          //               label: '创意组',
-          //             },
-          //              {
-          //               value: 1,
-          //               label: '初创组',
-          //             }
-          //           ]}, 
-          //           {
-          //           value:"",
-          //           label: '',
-          //           children: [{
-          //             value: 0,
-          //             label: '已建设',
-          //           }, {
-          //             value: 1,
-          //             label: '待建设',
-          //           }]
-          //         }],
-        }
-      },
-      
-      methods:{
-        getFile(val) {       //上传封面
-            // console.log(val);
-            this.progress.show = false;
-            this.data.dialogImageUrl=val.url
-            this.$message.success('封面上传成功')
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        // submitUpload() {
-        //   this.$refs.upload.submit();
-        // },
-        // handleRemove(file, fileList) {
-        //   console.log(file, fileList);
-        // },
-        // handlePictureCardPreview(file) {
-        //     this.dialogImageUrl = file.url;
-        //     this.dialogVisible = true;
-        // },
-        getText(value) {     //电话验证
-          let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
-          let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
-          // if(!result && value != "") {
-            // debugger
-          if(!result) {
-            if (value == this.data.select.tel) {
-                this.$message.error('请输入正确联系号码格式')
-                return  this.data.telVerify=false;
-            }
-          }else{
-            if (value == this.data.select.tel) {
-                 this.data.telVerify=true;
-            }
-          }
-        },
-        
-        init(){
-          this.addStudentMemberDialog=false;
-          // this.data.amendMemberDialog=false
-          this.delStudentMember=false
-          this.addTeacherMemberDialog=false
-        },
-
-        // 项目组学生成员方法开始
-                  addStudentMember(){   //添加项目成员对话框显示
-                    this.addStudentMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelStudent(val){    //删除对话框显示
-                    this.delStudentMember=true;
-                    this.index=val
-                  },
-                  amendStudentDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.data.tableStudentData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addStudentMemberDialog=true
-                  },
-                  commitAddStudent(){   //确定添加成员  
-                        // console.log(this.Member.name);
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入项目组角色分工')
-
-                        // this.addPerson();
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.data.tableStudentData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        console.log(this.data.tableStudentData)
-                        this.init()
-                  },
-
-                  commitAmendStudent(){   //确定修改成员
-                        Object.assign(this.data.tableStudentData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addStudentMemberDialog=false;
-                        this.$message.success('修改成功')
-
-                        console.log(this.data.tableData);
-                  },
-
-                  commitDelStudentMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.data.tableStudentData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delStudentMember=false;
-                  },
-        // 项目组学生成员方法开始
-
-
-        // 项目组老师成员方法开始
-                addTeacherMember(){   //添加项目成员对话框显示
-                    this.addTeacherMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelTeacher(val){    //删除对话框显示
-                    this.delTeacherMember=true;
-                    this.index=val
-                  },
-                  amendTeacherDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.data.tableTeacherData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addTeacherMemberDialog=true
-                  },
-                  commitAddTeacher(){   //确定添加成员  
-                        // console.log(this.Member.name);
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入项目组角色分工')
-                        // this.addPerson();
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.data.tableTeacherData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        console.log(this.data.tableTeacherData)
-                        this.init()
-                  },
-
-                  commitAmendTeacher(){   //确定修改成员
-                        Object.assign(this.data.tableTeacherData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addTeacherMemberDialog=false;
-                        this.$message.success('修改成功')
-
-                        console.log(this.data.tableTeacherData);
-                  },
-
-                  commitDelTeacherMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.data.tableTeacherData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delTeacherMember=false;
-                  },
-        // 项目组老师成员方法开始
-
-        backBtn1(){  // 上一步
-          this.$router.push('/projectApplication')
-        },
-         
-        backBtn(){   // 下一步
-            this.next();
-        },
-
-        // getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-        //       let param={
-        //         uid:this.$store.state.userInfo.userid
-        //       }
-        //         this.ajax
-        //               .get(this.$store.state.api+'/SelectAllType',param)
-        //               .then(res=>{
-        //                 // console.log(res.data[0]);
-        //                 let p=res.data[0]
-        //                 this.sortOptions[0].value=p[0].id
-        //                 this.sortOptions[0].label=p[0].name
-        //                 this.sortOptions[1].value=p[1].id
-        //                 this.sortOptions[1].label=p[1].name
-        //                 // console.log(pageType);
-        //               },err=>{
-        //                 console.log(err);
-        //               })
-        //     },
-            //立项基础信息页面删除功能在它自己页面人员信息
-        toPage(val){
-            if (val==1) {
-              document.getElementById("1").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("2").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("3").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("4").scrollIntoView({ behavior: "smooth" });
-            }else if(val==5){
-              document.getElementById("5").scrollIntoView({ behavior: "smooth" });
-            }else if(val==6){
-              document.getElementById("6").scrollIntoView({ behavior: "smooth" });
-            }
-        }
-      },
-      mounted(){
-        // this.getProjectTypeData()
-      }
-    }
-</script>
-
-<style lang="less">
-
-
-.avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    z-index: -10;
-    // position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 300px;
-    // height: 50%;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 300px;
-    height:180px !important;
-    display: block;
-  }
-.projectApplicationApply{
-    margin-top: 30px;
-    width: 100%;
-    display: flex;
-    justify-content: center;
-    .uploadPic{
-      position: absolute;
-      top: -8px;right: 0;
-      width: 100px;
-      box-sizing: border-box;
-      padding: 9px 0;
-      font-size: 16px;
-      background-color: #0e72e6;
-      border-radius:5px
-    }
-        // 右边栏标题
-        .projectApplicationApplypAHeader{
-            width: 100%;
-            display: flex;
-            justify-content:flex-start;
-            position: relative;
-            margin-bottom: 15px;
-            .pAHeader1{
-              font-weight: 600;
-              font-size: 22px;
-              flex-shrink: 0;
-            }
-            .pAHeader2{
-              position: absolute;
-              top:8px;
-              left: 160px;
-              font-size: 16px;
-              background: repeating-linear-gradient();
-            }
-            .pAHeader3{
-              background: #0e72e6 !important;
-              color: #fff !important;
-              display: flex;
-              position: absolute;
-              right: 0;
-              justify-content: center;
-              font-size: 16px;
-              width: 100px;
-              height: 30px;
-              align-items: center;
-            }
-        }
-
-
-
-        .delMemberDialog{
-            font-size: 18px;
-            .el-dialog{
-              border-radius: 5px;
-              overflow: hidden;
-            }
-            .deleteContent{
-              margin: 30px 0;
-              font-size: 22px;
-              color: #000;
-            }
-            .el-dialog__header{
-              background: #32455b;
-              display: flex;
-              justify-content: center;
-            }
-            .el-dialog__title{
-              color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-            }
-            .el-dialog__body{
-              display: flex;
-              justify-content: center;
-            }
-            // .addDialogMid{
-            //   box-sizing: border-box;
-            //   padding:0 60px 0 10px;
-            //   .addDialogTit{
-            //     display: flex;
-            //     span{
-            //       width: 80px;
-            //       font-size: 16px;
-            //       line-height: 40px;
-            //       text-align: left;
-                  
-            //     }
-            //   }
- 
-            // }
-            .dialog-footer{
-              display: flex;
-              justify-content: center;
-              box-sizing: border-box;
-            }
-          }
-}
-</style>

+ 0 - 284
src/views/projectApply/components/projectApplicationApply2.vue

@@ -1,284 +0,0 @@
-<template>
-  <!-- 项目立项申请项目内容表达 -->
-      <div class="projectApplicationApply2">
-        <div class="left">
-          <div class="sx">
-            <div class="qiu"></div>
-          </div>
-          <div class="leftTits">
-            <div @click="toPage(1)">研发内容</div>
-            <div @click="toPage(2)" style="position: relative;right: 5px;">
-              <el-tooltip class="item" effect="light" content="预期取得的成果" placement="bottom-start">
-                <p>商业模式及社会价值</p>
-              </el-tooltip>
-            </div>
-            <!-- <div @click="toPage(3)">商业模式及社会价值</div> -->
-            <div @click="toPage(3)">团队优势</div>
-            <div @click="toPage(4)">研发成本</div>
-            <div @click="toPage(5)">预期成果</div>
-            <div @click="toPage(6)">预期成果</div>
-            <div @click="toPage(7)">下一步</div>
-          </div>
-        </div>
-        <div class="right">
-            <div class="vfpHeader">
-              <div class="titleOne">项目立项申请</div>
-              <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
-            </div>
-            <hr>
-            <div id="1">
-              <p class="pTit">研发内容</p>
-              <div>
-                <p class="pTit2">一、项目研发背景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.back">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.back"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、项目创新点</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.innovate">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.innovate"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、技术研发路线</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.path">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.path"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">四、项目应用场景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.scene">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.scene"></vue-editor> -->
-                </div>
-              </div>
-              <!-- <div class="editor">
-                <vue-editor  :editorToolbar="customToolbar" v-model="data.contentOne"></vue-editor>
-              </div> -->
-            </div>
-            <div id="2">
-              <p class="pTit">商业模式及社会价值</p>
-              <div>
-                <p class="pTit2">一、项目商业模式/社会价值</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.worth">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.worth"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="3">
-              <p class="pTit">团队优势</p>
-              <div>
-                <p class="pTit2">一、团队构成及优势</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.team">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.team"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-
-            <div id="4">
-              <p class="pTit">研发成本</p>
-              <div>
-                <p class="pTit2">一、研发成本来源及构成</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.cost">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.cost"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="5">
-              <p class="pTit">预期成果</p>
-              <div>
-                <p class="pTit2">一、项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.expectResults">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.expectResults"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、学生创客人才培养预期成果、数量(教师填写)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.expectResultsTeacher">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.expectResultsTeacher"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、项目预期孵化、转化创业项目情况</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.expectConversion">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.expectConversion"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="6">
-              <p class="pTit">实施计划</p>
-              <div class="editor">
-                <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.plan">
-                  </el-input>
-                <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.plan"></vue-editor> -->
-              </div>
-            </div>
-            <div id="7" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary" class="backBtn" @click="backBtn1" size:small>上一步</el-button>
-                <el-button type="primary" class="backBtn" @click="backBtn" size:small>下一步</el-button>
-              </div>
-            </div>
-        </div>
-      </div>
-  </template>
-  
-  <script>
-  import { VueEditor } from "vue2-editor";
-      export default {
-        props:["data","next",'back'],
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            content:'',
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-          }
-        },
-        methods:{
-          backBtn(){
-            this.next();
-          },
-          backBtn1(){
-            this.back();
-          },
-          toPage(val){
-            if (val==1) {
-              document.getElementById("1").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("2").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("3").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("4").scrollIntoView({ behavior: "smooth" });
-            }else if(val==5){
-              document.getElementById("5").scrollIntoView({ behavior: "smooth" });
-            }else if(val==6){
-              document.getElementById("6").scrollIntoView({ behavior: "smooth" });
-            }else if(val==7){
-              document.getElementById("7").scrollIntoView({ behavior: "smooth" });
-            }
-          }
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .projectApplicationApply2{
-    margin-top: 30px;
-    width: 100%;
-    display: flex;
-    justify-content: center;
-    // margin-bottom: 100px;
-
-    .item {
-      margin: 4px;
-    }
-    
-  }
-
-
-    .pTit{
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 18px;
-    }
-    .pTit2{
-      margin-top: 15px;
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 16px;
-    }
-
-  </style>

+ 0 - 874
src/views/projectApply/components/projectApplicationApply3.vue

@@ -1,874 +0,0 @@
-<template>
-  <!-- 项目立项申请预算经费表单 -->
-    <div class="proBudgetFund">
-      <!-- 左边栏 -->
-      <div class="left">
-        <div class="sx"> <!--圆球和竖线 -->
-          <div class="qiu"></div>
-        </div>
-      <!-- 左边栏内容开始 -->
-        <div class="leftTits">
-          <div>月支出计划</div>
-          <div>支出明细</div>
-          <div>完成</div>
-        </div>
-      <!-- 左边栏内容结束 -->
-      </div>
-
-      <!-- 右边栏 -->
-      <div class="right">
-
-          <!-- 预算经费金额开始 -->
-          <div class="vfpHeader">
-            <div class="titleOne">预算经费</div>
-            <el-button @click="back()" type="primary" size="mini">返回</el-button>
-          </div>
-          <hr>
-          <div class="totalFund">
-            <div class="totalFundLabel">预算总经费</div>
-            <el-input type="number" class="inputNumber" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" v-model.number="data2.select.fund" style="width: 180px;" placeholder="请输入内容"></el-input>
-            <div style="line-height: 38px;margin-left: 5px;">(万)</div>
-          </div>
-          <!-- 预算经费金额结束 -->
-
-          <!-- 设置经费和表格开始 -->
-            <div class="tabTit">
-              <div><p>经费月支出计划(元)</p></div>
-              <el-button @click="setFundBtn" type="primary">设置经费</el-button>
-            </div>
-            <div class="monthFund">
-            <el-table
-              :data="data.tableData"
-              tooltip-effect="dark"
-              stripe
-              show-overflow-tooltip="true"
-              :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-              >             
-              <el-table-column
-                v-for="(item,index) in mouthItems"
-                :key="index"
-                :prop="item.prop"
-                :label="item.label"
-                align="center"
-                min-width="8%"
-                >
-              </el-table-column>
-            </el-table>
-          </div>
-
-          <!-- 设置经费和表格结束 -->
-
-
-
-          <!-- 经费明细和表格开始 -->
-            <div class="tabTit">
-              <div><p>经费明细</p></div>
-              <el-button type="primary" @click="addBtn">添加</el-button>
-            </div>
-            <el-table
-              :data="data.tableData2"
-              tooltip-effect="dark"
-              stripe
-              class="fontSize"
-              :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-              >
-              <el-table-column
-                prop="type"
-                label="支出类别"
-                align="center"
-                >
-                <template #default="scope">
-                  <div v-if=" scope.row.type==1">直接经费</div>
-                  <div v-if=" scope.row.type==2">间接经费</div>
-
-                </template>
-              </el-table-column>
-              <el-table-column
-                prop="disburseProject"
-                label="支出项目"
-                align="center"
-                >
-                <template #default="scope">
-                  <div v-if="scope.row.disburseProject==1 && scope.row.type==1">小型仪器设备费</div>
-                  <div v-if="scope.row.disburseProject==2 && scope.row.type==1">材料费</div>
-                  <div v-if="scope.row.disburseProject==3 && scope.row.type==1">测试化验加工费</div>
-                  <div v-if="scope.row.disburseProject==4 && scope.row.type==1">项目协作费</div>
-
-                  <div v-if="scope.row.disburseProject==1 && scope.row.type==2">小型仪器设备费</div>
-                  <div v-if="scope.row.disburseProject==2 && scope.row.type==2">材料费</div>
-                  <div v-if="scope.row.disburseProject==3 && scope.row.type==2">测试化验加工费</div>
-                  <div v-if="scope.row.disburseProject==4 && scope.row.type==2">项目协作费</div>
-                </template>
-              </el-table-column>
-              <el-table-column
-                prop="fund"
-                label="金额(元)"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="textarea"
-                label="备注"
-                align="center"
-                width="150">
-              </el-table-column>
-              <el-table-column
-                  align="center"
-                  prop="operation"
-                  width="200"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                              <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="del(scope.$index)"  size="mini">删除</el-button>
-                      </div>
-                  </template>
-              </el-table-column>
-            </el-table>
-          <!-- 经费明细和表格结束 -->
-
-
-          <div class="baseBtn">
-            <div class="blockWidth">
-              <el-button type="primary" class="backBtn" @click="back()">上一步</el-button>
-              <el-button type="primary" class="backBtn"  @click="submit" >提交</el-button>
-            </div>
-          </div>
-      </div>
-
-
-    <!-- 经费明细添加按钮开始 -->
-    <el-dialog
-      title="经费明细"
-      :visible.sync="addFundDialog"
-      width="950px"
-      class="fundDetail"
-      :before-close="init">
-
-      <div class="dialogTop">
-          <div class="dagSpan">项目名称</div>
-          <el-select v-model="data2.select.projectName" disabled style="width: 100%;" placeholder="请选择">
-            <el-option
-              v-for="item in data2.options"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-      </div>
-      <div class="dialogTop">
-          <div class="dagSpan">项目类型</div>
-          <el-select v-model="data2.select.sort"  disabled style="width: 30%;" placeholder="请选择">
-            <el-option
-              v-for="item in data2.sortOptions"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id">
-            </el-option>
-          </el-select>
-      </div>
-
-
-      <div class="tabTit">
-        <div><p>添加经费明细</p></div>
-      </div>
-      <div class="dagInpS">
-        <div class="dagInpS1">
-          <div class="dagSpan">支出类别</div>
-          <!-- <el-input v-model="data.dialog.type"  placeholder="请输入内容"></el-input> -->
-          <el-select v-model="data.dialog.type"  placeholder="请选择">
-              <el-option
-              v-for="item in expendType"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value">
-              </el-option>
-          </el-select>
-        </div>
-        <div class="dagInpS1">
-          <div class="dagSpan">支出项目</div>
-          <!-- <el-input v-model="data.dialog.disburseProject" placeholder="请输入内容"></el-input> -->
-          <el-select v-model="data.dialog.disburseProject"  placeholder="请选择">
-              <el-option
-              v-for="item in data.dialog.type==1?expendProject:expendProject2"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value">
-              </el-option>
-          </el-select>
-        </div>
-        <div class="dagInpS1">
-          <div class="dagSpan">金额(元)</div>
-          <el-input type="number" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))" class="inputNumber" v-model.number="data.dialog.fund" placeholder="请输入内容"></el-input>
-        </div>
-      </div>
-
-      <div class="dagInpS1">
-          <div class="dagSpan" style="position:relative;top: -90px;">备注</div>
-          <el-input
-            type="textarea"
-            :rows="5"
-            resize="none"
-            style="width: 80%;"
-            placeholder="请输入内容"
-            v-model="data.dialog.textarea">
-          </el-input>
-      </div>
-
-      <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="finish" class="AllDialogBtn">完成</el-button>
-      </div>
-    </el-dialog>
-    <!-- 经费明细添加按钮结束 -->
-
-      <!--设置经费dialog对话框开始 -->
-      <el-dialog
-          title="设置经费"
-          :visible.sync="setFund"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddFund"
-          :before-close="init">
-          <div style="position: absolute;top:10px;font-size: 18px;left: 95px;">经费月支出计划(元)</div>
-            <div class="littleBlock">
-              <div class="dialogLabel">一月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"   class="inputNumber" v-model.number="data.items.one"></el-input>
-                <span class="yuan">(元)</span>
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">二月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.two"></el-input>
-                <span class="yuan">(元)</span>
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">三月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.three"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">四月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.four"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">五月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.five"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">六月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.six"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">七月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.seven"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">八月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.eight"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">九月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.nine"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">十月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.ten"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">十一月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.eleven"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock">
-              <div class="dialogLabel">十二月</div>
-              <div class="littleBlockInp">
-                <el-input type="number"  v-model="data.items.twelve"></el-input>
-                <span class="yuan">(元)</span>
-
-              </div>
-            </div>
-            <div class="littleBlock" style="width: 100%;position: relative;left: -5px;">
-              <div class="dialogLabel" style="position: relative;top: -20px;">备注</div>
-              <div style="width: 86%;">
-                <!-- <el-input type="textarea" :row="6" resize="none" v-model="data.items.remark" style="width: 100%;"></el-input> -->
-                <el-input
-                  type="textarea"
-                  :rows="3"
-                  resize="none"
-                  v-model="data.items.remark">
-                </el-input>
-
-              </div>
-            </div>
-            <div slot="footer" class="footer">
-              <el-button type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-              <el-button @click="init" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--设置经费dialog对话框结束 -->
-
-      <!-- 删除成员对话框开始 -->
-      <el-dialog
-              title="删除"
-              :visible.sync="delFundDetail"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除此经费明细?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDel" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="init" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除成员对话框结束 -->
-  </div>
-    
-</template>
-
-<script>
-import { VueEditor } from "vue2-editor";
-    export default {
-      // 接收父组件传递回来的方法
-      props:["data","next",'back','submitBtn','data2','confirmSetFund'],
-      components:{
-        VueEditor
-      },
-      data() {
-        return {
-          iid:'',
-          delFundDetail:false,   //删除经费明细对话框
-          addFundDialog:false,       //经费明细对话框
-          setFund:false,         //设置月支出计划
-          recompose:0,             //判断是否是修改  0 修改  1 添加
-          projectFundDetailInput:{
-                fund:'',
-                type:'',
-                disburseProject:'',
-                textarea:''
-          },
-          mouthItems:[      //表格基础
-            {prop:'one',label:'一月'},
-            {prop:'two',label:'二月'},
-            {prop:'three',label:'三月'},
-            {prop:'four',label:'四月'},
-            {prop:'five',label:'五月'},
-            {prop:'six',label:'六月'},
-            {prop:'seven',label:'七月'},
-            {prop:'eight',label:'八月'},
-            {prop:'nine',label:'九月'},
-            {prop:'ten',label:'十月'},
-            {prop:'eleven',label:'十一月'},
-            {prop:'twelve',label:'十二月'},
-            {prop:'remark',label:'备注'},
-          ],
-          
-          // 经费明细添加按钮对话框下拉框
-          expendType:[
-              {
-                  value:1,
-                  label:'直接费用'
-              },
-              {
-                  value:2,
-                  label:'间接费用'
-              },
-          ],
-          expendProject:[
-              {
-                  value:1,
-                  label:'小型仪器设备费'
-              },
-              {
-                  value:2,
-                  label:'材料费'
-              },
-              {
-                  value:3,
-                  label:'测试化验加工费'
-              },
-              {
-                  value:4,
-                  label:'项目协作费'
-              },
-              // {
-              //     value:5,
-              //     label:'其他支出'
-              // },
-          ],
-          expendProject2:[
-              {
-                  value:1,
-                  label:'项目成果鉴定费'
-              },
-              {
-                  value:2,
-                  label:'参展参赛费'
-              },
-              {
-                  value:3,
-                  label:'创客交流活动费'
-              },
-              {
-                  value:4,
-                  label:'知识产权事务费'
-              },
-              // {
-              //     value:5,
-              //     label:'其他支出'
-              // },
-          ],
-        }
-      },
-      methods:{
-        directFundDataSelectChange(){//直接经费全部下拉框
-          
-          
-            let directFundBlockSelect = [
-                    {
-                        value:1,
-                        label:'小型仪器设备费'
-                    },
-                    {
-                        value:2,
-                        label:'材料费'
-                    },
-                    {
-                        value:3,
-                        label:'测试化验加工费'
-                    },
-                    {
-                        value:4,
-                        label:'项目协作费'
-                    },
-                    // {
-                    //     value:5,
-                    //     label:'其他支出'
-                    // },
-                ]
-            let oneself=[];
-            this.data.tableData2.forEach(item=>{
-                //获取他本身自己的下拉框
-                oneself.push(directFundBlockSelect.filter(sItem=>sItem.value==item.disburseProject)[0])  //filter返的是数组所以用[0]
-                //获取未选择的
-                directFundBlockSelect = directFundBlockSelect.filter(sItem=>sItem.value!=item.disburseProject)
-                console.log(directFundBlockSelect);
-                this.expendProject=directFundBlockSelect
-                // Object.assign(this.expendProject,directFundBlockSelect)
-
-            })
-
-            // console.log(this.expendProject);
-            //再遍历一遍
-            // this.data.tableData2.forEach((item,index)=>{
-            //     let oneSelect = [];
-            //     directFundBlockSelect.forEach(item=>oneSelect.push(item));
-            //     if(oneself[index]!=undefined)oneSelect.push(oneself[index])
-            //     item.directFundSelects = oneSelect;
-            //     console.log(item.directFundSelects);
-            // })
-            //遍历所有的直接经费
-
-        },
-        indirectFundSelectChange(){//间接经费全部下拉框
-            
-            let indirectFundSelect = [
-                    {
-                        value:1,
-                        label:'项目成功鉴定费'
-                    },
-                    {
-                        value:2,
-                        label:'参展参赛费'
-                    },
-                    {
-                        value:3,
-                        label:'创客交流活动费'
-                    },
-                    {
-                        value:4,
-                        label:'知识产权事务费'
-                    },
-                    {
-                        value:5,
-                        label:'其他支出'
-                    },
-            ];
-            let oneself=[];
-            this.indirectFundBlock.forEach(item=>{
-                //获取他本身自己的下拉框
-                oneself.push(indirectFundSelect.filter(sItem=>sItem.value==item.indirectFundData)[0])
-                //获取未选择的
-                indirectFundSelect = indirectFundSelect.filter(sItem=>sItem.value!=item.indirectFundData)
-            })
-            //再遍历一遍
-            this.indirectFundBlock.forEach((item,index)=>{
-                let oneSelect = [];
-                indirectFundSelect.forEach(item=>oneSelect.push(item));
-                if(oneself[index]!=undefined)oneSelect.push(oneself[index])
-                item.directFundSelects = oneSelect;
-            })
-            //遍历所有的直接经费
-
-        },
-        judge(event){
-          console.log(event);
-          // console.log(111);
-          // return (/[\d]/.test(String.fromCharCode(event.keyCode)));
-        },
-        init(){
-          this.addFundDialog=false
-          this.setFund=false;
-          this.delFundDetail=false;
-        },
-        
-        backBtn1(){    //上一步
-          this.back();
-        },
-        submit(){    //提交按钮
-          this.submitBtn();
-        },
-        addBtn(){    //经费明细添加对话框显示
-          this.addFundDialog=true;
-        },
-        amendDialogData(val){   //修改经费明细数据对话框显示
-          this.recompose=1   
-          Object.assign(this.data.dialog,this.data.tableData2[val])
-          this.data.dialog['index']=val
-          this.addFundDialog=true;      
-          // this.data.dialog=val
-          // this.iid=val
-        },
-        finish(){    //添加经费明细对话框完成按钮
-            if(this.recompose){                //修改
-              if (this.data.dialog.type=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支类别')
-              if (this.data.dialog.disburseProject=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支出项目')
-              if (this.data.dialog.fund=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入金额')
-              let oldMoney = this.data.tableData2.reduce((prev,cur)=>{   //默认第一次为0,
-                console.log(prev,cur["fund"]);
-                return prev+cur["fund"]
-              },0);  //默认值第一次运算为0
-              // console.log(oldMoney);     第一次0  
-              oldMoney+=this.data.dialog.fund;   //因为本次的数据还未添加到列表中,所以直接在这里进行相加判断
-              if(oldMoney>(this.data2.select.fund)*10000) return this.$message.error('经费明细超出预算总金额');
-              Object.assign(this.data.tableData2[this.data.dialog['index']],this.data.dialog)
-              for(let k in this.data.dialog) this.data.dialog[k]=''
-              return this.addFundDialog=false;
-            }
-            let oldDia={}   //添加数据防止污染
-            // 添加
-            if(this.data2.select.fund == '' || this.data2.select.fund==undefined )return this.$message.error('请输入项目预算总经费')
-            if (this.data.dialog.type=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支类别')
-            if (this.data.dialog.disburseProject=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入支出项目')
-            if (this.data.dialog.fund=="" || this.data2.select.fund==undefined ) return this.$message.error('请输入金额')
-
-
-            let oldMoney = this.data.tableData2.reduce((prev,cur)=>{   //默认第一次为0,
-              // console.log(prev,cur["fund"]);
-              return prev+cur["fund"]
-            },0);  //默认值第一次运算为0
-            // console.log(oldMoney);
-
-            oldMoney+=this.data.dialog.fund;   //因为本次的数据还未添加到列表中,所以直接在这里进行相加判断
-
-            if(oldMoney>(this.data2.select.fund)*10000)return this.$message.error('经费明细超出预算总金额');
-           
-            Object.assign(oldDia,this.data.dialog)
-            this.data.tableData2.push(oldDia);
-            for(let k in this.data.dialog) this.data.dialog[k]='';
-            this.addFundDialog=false;
-            if (!this.data.tableData2.length){
-              return console.log(1);
-            }else{
-              console.log(2);
-            }
-            // this.data.dialog.type==1?this.directFundDataSelectChange():this.indirectFundSelectChange()
-
-        },
-        setFundBtn(){    //经费月支出计划设置经费对话框显示
-          // console.log(this.data2.value);
-            this.setFund=true
-        },
-        commit(){  //经费月支出计划设置经费对话框确定按钮
-          let p=0
-          for(let key in this.data.items){
-              if ( this.data.items[key] !== '' && this.data.items[key]!='-') {
-                  if (key != 'remark') {
-                    // console.log(this.data.items[key])
-                    p+=Number(this.data.items[key])
-                  }
-                }
-          }
-          // console.log(p)
-          // console.log(this.data2.select.fund);
-          if(p > this.data2.select.fund*10000) return this.$message.error('金额大于总预算')
-          this.confirmSetFund()
-          this.init()
-        },
-       
-        del(val){                     //删除经费明细对话框显示
-          this.delFundDetail=true;
-          this.iid=val
-        },
-        commitDel(){      //确定删除
-          this.data.tableData2.splice(this.iid,1)
-          this.delFundDetail=false;
-
-          // this.data.tableData2.forEach((e,i,arr)=>{
-          //       if (e.id == this.iid.id) {
-          //           arr.splice(i,1)
-          //           this.delFundDetail=false;
-          //       }
-          //   })
-        }
-      }
-    }
-</script>
-
-<style lang="less">
-//对话框样式
-
-  // .el-input__inner{
-  //   color: #000;
-  //   font-size: 16px;
-  // }
-  // .el-textarea__inner{
-  //   color: #000;
-  //   font-size: 16px;
-  // }
-  // .el-input.is-disabled .el-input__inner{
-  //   color: #3a3838;
-  // }
-  .totalFundLabel{
-    width:90px;
-    line-height: 38px;
-    margin-right: 10px;
-    text-justify:distribute-all-lines;
-    text-align-last: justify;
-  }
-  .proBudgetFund{
-    margin-top: 30px;
-    width: 100%;
-    display: flex;
-    justify-content: center;
-    box-sizing: border-box;
-    .totalFund{   //预算总经费金额填写
-      display: flex;
-      width: 400px;
-      line-height: 25px;
-      margin: 15px 5px 30px;
-    }
-
-
-
-    .fundDetail{ //经费明细添加对话框,防止冲突
-        .el-dialog__title{    
-          font-size: 18px;
-          font-weight: 600;
-        }
-        .el-dialog__body{
-          padding-top: 0px;
-        }
-        .dialogTop{   //对话框,名称、类型
-            margin: 15px 0;
-            display: flex;
-            width: 80%;
-        }
-        .dagSpan{     // 对话框label
-          min-width: 84px;
-          font-size: 16px;
-          margin-right: 10px;
-          display: inline-block;
-          text-align: justify;
-          text-justify:distribute-all-lines;
-          text-align-last: justify;
-          transform: translate(0,22%);
-          margin-bottom: 10px;
-        }
-          //经费明细dialog的样式
-        .dagInpS{
-            display: flex;
-            width: 90%;
-            margin-top: 20px;
-          .dagInpS1{
-            font-size: 16px;
-            display: flex;
-            margin-right: 25px;
-            margin-bottom: 20px;
-          }
-        }
-        
-        // .btn5{
-        //   width: 130px;
-        //   margin-right: 50px;
-        // }
-    }
-
-
-    .AddFund{    //月支出计划添加对话框
-      .el-input__inner{
-          width: 100%;
-      }
-      .el-dialog{
-          width: 700px;
-          border-radius: 5px;
-          overflow: hidden;
-        }
-
-        .el-dialog__body{
-          display: flex;
-          align-items: center;
-          position: relative;
-          justify-content: space-between;
-          flex-wrap: wrap;
-          align-items: center;
-          margin-top: 30px;
-          box-sizing: border-box;
-          padding-right: 10%;
-          padding-left: 10%;
-        }
-        
-        .el-dialog__header{
-          background: #32455b;
-          text-align: center;
-        }
-        .el-dialog__title{
-          color: #fff;
-          position: relative;
-          top: -2px;
-          font-size: 18px;
-        }
-        .littleBlock{   //添加对话框 label和input框
-            display: flex;
-            margin-top: 20px;
-            box-sizing: border-box;
-            padding: 0 5%;
-            flex-shrink: 0;
-            width: 45%;
-            display: flex;
-            justify-content: flex-end;
-            .littleBlockInp{
-              position: relative;
-              box-sizing: border-box;
-              padding-right: 30px;
-              .yuan{
-                position: absolute;
-                top: 7px;
-                right: 0px;
-                font-size: 16px;
-              }
-            }
-            .dialogLabel{     //label
-              min-width: 55px;
-              font-size: 16px;
-              margin-right: 10px;
-              display: inline-block;
-              text-align: justify;
-              text-justify:distribute-all-lines;
-              text-align-last: justify;
-              transform: translate(0,22%);
-            }
-            input::-webkit-outer-spin-button,
-            input::-webkit-inner-spin-button {
-              -webkit-appearance: none !important;
-            }
-            input[type='number'] {
-              -moz-appearance: textfield;
-            }
-          .el-input__inner{
-              line-height: 1px!important;
-            }
-          }
-        .footer{
-          width: 100%;
-          display: flex;
-          justify-content: center;
-          [type="button"]{
-            font-size: 16px;
-          }
-
-        }
-    }
-  }
-
-
-  .delMemberDialog{    //删除经费明细对话框样式
-            font-size: 18px;
-            .el-dialog{
-              border-radius: 5px;
-              overflow: hidden;
-            }
-            .deleteContent{
-              margin: 30px 0;
-              font-size: 22px;
-              color: #000;
-            }
-            .el-dialog__header{
-              background: #32455b;
-              display: flex;
-              justify-content: center;
-            }
-            .el-dialog__title{
-              color:#fff;
-              display: flex;
-              justify-content: center;
-              font-size: 18px;
-              position: relative;
-              top: -2px;
-            }
-            .el-dialog__body{
-              display: flex;
-              justify-content: center;
-            }
-            .el-dialog__body{
-              padding: 0;
-            }
-            .dialog-footer{
-              display: flex;
-              justify-content: center;
-              box-sizing: border-box;
-            }
-          }
-.monthFund{
-  .el-table .cell{
-        // 不换行
-        white-space:nowrap !important;
-    }
-  }
-</style>

+ 0 - 722
src/views/projectApply/components/projectApplicationApplyMakerSpace.vue

@@ -1,722 +0,0 @@
-<template>
-  <!-- 项目立项申请立项检查消息表达 -->
-    <div class="projectApplicationApply">
-  <!-- 左边导航区开始 -->
-        <div class="left">
-          <div class="sx">
-            <div class="qiu"></div>
-          </div>
-          <div class="leftTits">
-            <div  @click="toPage(1)">基本信息填写</div>
-            <div @click="toPage(2)">项目成员</div>
-            <div @click="toPage(3)">简介</div>
-            <div @click="toPage(4)">下一步</div>
-          </div>
-        </div>
-  <!-- 左边导航区结束 -->
-        
-
-  <!-- 右边填写信息区域开始 -->
-        <div id="one" class="right">
-            <div  class="vfpHeader">
-              <div class="titleOne">项目立项申请</div>
-              <div class="smallTitle">申请开放时间为2023年4月4日9:00 &nbsp;  截止时间为2023年12月31日18:00</div>
-              <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
-            </div>
-            <hr>
-
-                <!-- 活动申请填写信息区域开始 -->
-                <div class="select">
-                    <div class="selectTop">
-                      <div class="label">项目名称</div>
-                      <el-input v-model="data.select.projectName" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="selectMid">
-                      <div class="selectLeft">
-                          
-
-                          <div class="inpBlock">
-                              <div class="label">项目负责人</div>
-                              <el-input v-model="data.select.person" placeholder="请输入内容"></el-input>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">所在部门</div>
-                              <el-select v-model="data.select.value" style="width: 100%;" placeholder="请选择">
-                                <el-option
-                                  v-for="item in data.options"
-                                  :key="item.id"
-                                  :label="item.name"
-                                  :value="item.id">
-                                </el-option>
-                              </el-select>
-                          </div>
-                          <div class="inpBlock">
-                            <div class="label">学院牵头领导</div>
-                            <el-input v-model="data.select.leader" placeholder="请输入学院牵头领导"></el-input>
-                          </div>
-                      </div>
-
-                      <div class="selectRight">
-                        <div class="inpBlock">
-                              <div class="label">项目时间</div>
-                              <el-date-picker
-                                v-model="data.select.Data"
-                                type="daterange"
-                                value-format="yyyy-MM-dd HH:mm:ss"
-                                range-separator="至"
-                                start-placeholder="项目起始时间"
-                                end-placeholder="项目完成时间">
-                              </el-date-picker>
-                          </div>
-                          <div class="inpBlock" style="position: relative;">
-                              <div class="label">预算总经费</div>
-                              <el-input type="number"  v-model.number="data.select.fund" placeholder="请输入内容"></el-input>
-                              <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
-                          </div>
-                          <div class="inpBlock">
-                              <div class="label">选择分类</div>
-                              <el-cascader v-model="type" :options="option" disabled></el-cascader>
-                          </div>
-                      </div>
-                    </div>
-                   
-              </div>
-              <!-- 活动申请填写信息区域结束 -->
-
-          <!-- 项目封面上传开始 -->
-          <div style="height: 260px;">
-              <div id="three" class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="data.dialogImageUrl" :src="data.dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position: absolute;width: 301px;height: 180px; opacity: 0;z-index: 333;left: 0;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-            </div>
-
-          <!-- 项目封面上传开始结束 -->
-
-
-
-            <!-- <div> -->
-  <!-- 项目成员表格开始 -->
-              <div id="two" class="tabTit">
-                <div><p>项目组-教师团队</p><span>(团队3人以上,至少应包含1名教研室主任)</span></div>
-                <el-button type="primary" @click="addMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="data.teacherData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="speciality"
-                  label="专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="title"
-                  label="职称"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="education"
-                  label="学历"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="section"
-                  label="所在教研室"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="work"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations" style="display:flex">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="Del(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-
-              <div id="four" class="tabTit">
-                <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
-                <el-button type="primary" @click="addMemberStudent"  size="mini">添加学生</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="data.studentData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="班级"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="age"
-                  label="年龄"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="work"
-                  label="项目组任务分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="updateStudent(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-  <!-- 项目成员表格结束 -->
-
-
-  <!-- 项目简介开始 -->
-            <div id="three" class="tabTit">
-                <div><p>项目简介</p></div>
-            </div>
-            <hr>
-              <el-input
-                type="textarea"
-                :rows="6"
-                resize="none"
-                class="textArea"
-                placeholder="项目简介(200-300字)"
-                v-model="data.textarea">
-              </el-input>
-  <!-- 项目简介结束 -->
- <!-- 结束按钮开始 -->
-         <div id="five" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary"  @click="backBtn1" size:small>上一步</el-button>
-                <el-button type="primary"  @click="backBtn" size:small>下一步</el-button>
-              </div>
-            </div>
-  <!-- 结束按钮结束 -->
-
-
- 
-        </div>
-  <!-- 右边填写信息区域结束 -->
-
-      <!--添加成员dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddMember==1?'添加教师':'修改教师'"
-          :visible.sync="addMemberDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember"
-          :before-close="init">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="teacher.name" placeholder="请输入教师姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">专业</div>
-              <div>
-                <el-input v-model="teacher.speciality" placeholder="请输入教师专业"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">职称</div>
-              <div>
-                <el-input v-model="teacher.title" placeholder="请输入教师职称"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">学历</div>
-              <div>
-                <el-input v-model="teacher.education" placeholder="请输入教师学历"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">所在教研室</div>
-              <div>
-                <el-input v-model="teacher.section" placeholder="请输入所在教研室"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="teacher.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddMember==1" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddMember==2" type="primary" @click="commit2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="init" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--添加成员dialog对话框结束 -->
-
-      <!--添加学生成员dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddStudent==1?'添加学生':'修改学生'"
-          :visible.sync="addStudentDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember"
-          :before-close="init">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="student.name" placeholder="请输入学生姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">班级</div>
-              <div>
-                <el-input v-model="student.class" placeholder="请输入学生班级"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">年龄</div>
-              <div>
-                <el-input v-model="student.age" placeholder="请输入学生年龄"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="student.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddStudent==1" type="primary" @click="commitStudent" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddStudent==2" type="primary" @click="commitStudent2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="init" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--添加学生成员dialog对话框结束 -->
-
-      <!-- 删除教师成员对话框开始 -->
-            <el-dialog
-              title="删除教师成员"
-              :visible.sync="delMember"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该教师成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="init" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除教师成员对话框结束 -->
-
-      <!-- 删除学生成员对话框开始 -->
-      <el-dialog
-              title="删除学生成员"
-              :visible.sync="DelStudentDialog"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该学生成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudent" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="init" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除学生成员对话框结束 -->
-    </div>
-  
-</template>
-
-<script>
-import BeUpload from "@/components/tool/beUpload.vue";
-    export default { 
-      props:["data","next",'back','addPerson','type','option'],
-      components: {
-        BeUpload,
-      },
-      data() {
-        return {
-          // dialogImageUrl: '',
-          accept:"image/*",
-          isAddMember:1,
-          isAddStudent:1,
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          // fileList: [],
-          dialogVisible: false,
-          addMemberDialog:false,
-          addStudentDialog:false,
-          delMember:false,
-          DelStudentDialog:false,
-          index:'',
-          teacher:{ //添加老师团队表
-            name:"",  //姓名
-            speciality:"",//专业
-            title:"",//职称
-            education:"",//学历
-            section:"",//所在教研室
-            work:"",//项目组角色分工
-          },
-          student:{ //添加学生团队表
-            name:"",//姓名
-            class:"",//班级
-            age:"",//年龄
-            work:'',//项目组任务分工
-          }
-        }
-      },
-      
-      methods:{
-        getFile(val) {       //上传封面
-            // console.log(val);
-            this.progress.show = false;
-            this.data.dialogImageUrl=val.url
-            this.$message.success('封面上传成功')
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        // submitUpload() {
-        //   this.$refs.upload.submit();
-        // },
-        handleRemove(file, fileList) {
-          console.log(file, fileList);
-        },
-        handlePictureCardPreview(file) {
-            this.dialogImageUrl = file.url;
-            this.dialogVisible = true;
-        },
-        // getText(value) {     //电话验证
-        //   let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
-        //   let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
-        //   // if(!result && value != "") {
-        //     // debugger
-        //   if(!result) {
-        //     if (value == this.data.select.tel) {
-        //         this.$message.error('请输入正确联系号码格式')
-        //         return  this.data.telVerify=false;
-        //     }
-        //     if (value == this.data.Member.phone) {
-        //         return  this.data.telVerify2=false;
-        //     }
-        //   }else{
-        //     if (value == this.data.select.tel) {
-        //          this.data.telVerify=true;
-        //     }
-        //     if (value == this.data.Member.phone) {
-        //       return  this.data.telVerify2=true;
-        //     }
-        //   }
-        // },
-        
-        init(){
-          this.addMemberDialog=false;
-          this.delMember=false;
-          this.addStudentDialog = false;
-          this.DelStudentDialog = false;
-        },
-        addMember(){   //添加项目组-教师成员
-          this.isAddMember=1;
-          this.addMemberDialog=true
-        },
-        addMemberStudent(){//添加项目组-学生成员
-          this.isAddStudent=1;
-          this.addStudentDialog = true;
-        },
-        amendDialogData(val){   //修改老师信息对话框显示
-          Object.assign(this.teacher,this.data.teacherData[val])
-          this.isAddMember=2;
-          this.index=val;
-          this.addMemberDialog=true;
-        },
-        updateStudent(val){ //修改学生信息
-          Object.assign(this.student,this.data.studentData[val]);
-          this.isAddStudent=2;
-          this.index=val;
-          this.addStudentDialog = true;
-        },
-        commit2(){   //确定修改老师
-            Object.assign(this.data.teacherData[this.index],this.teacher)
-            for(let k in this.teacher) this.teacher[k]=''
-            this.addMemberDialog=false;
-            this.$message.success('修改成功')
-        },
-        Del(val){    //删除对话框显示
-          this.delMember=true;
-          this.index=val
-        },
-        DelStudent(val){//删除学生对话框
-          this.index = val;
-          this.DelStudentDialog=true;
-        },
-        commitDelMember(){   //对话框确定删除教师成员
-          let a=this.index;
-          this.data.teacherData.splice(a,1);
-          this.$message.success('删除成功');
-          this.delMember=false;
-        
-        },
-        commitDelStudent(){ //对话框确定删除学生成员
-          this.data.studentData.splice(this.index,1);
-          this.$message.success('删除成功');
-          this.DelStudentDialog=false;
-        },
-        backBtn1(){  // 上一步
-          this.$router.push('/projectApplication')
-        },
-         
-        backBtn(){   // 下一步
-            this.next();
-        },
-        commit(){   //确定添加教师
-              for(let i in this.teacher){if(this.teacher[i]==''||this.teacher[i]==undefined)return this.$message.error("请填完所有内容");}
-              let newData = {};
-              for(let a in this.teacher)newData[a] = this.teacher[a];
-              this.data.teacherData.push(newData);
-              this.$message.success('添加成功');
-              this.init();
-              for(let j in this.teacher)this.teacher[j]='';
-        },
-        commitStudent(){//确定添加学生
-            for(let i in this.student){if(this.student[i]==''||this.student[i]==undefined)return this.$message.error("请填完所有内容");}
-            let newData={};
-            for(let a in this.student)newData[a] = this.student[a];
-            this.data.studentData.push(newData);
-            this.$message.success("添加成功");
-            this.init();
-            //清空表单
-            for(let j in this.student)this.student[j]='';
-        },
-        commitStudent2(){//确定修改学生
-            Object.assign(this.data.studentData[this.index],this.student)
-            this.addStudentDialog=false;
-            for(let k in this.student) this.student[k]=''
-            this.$message.success('修改成功')
-        },
-        toPage(val){
-            if (val==1) {
-              document.getElementById("one").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("two").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("three").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("four").scrollIntoView({ behavior: "smooth" });
-            }
-        }
-      },
-    }
-</script>
-
-<style lang="less">
-
-
-.avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    z-index: -10;
-    // position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 300px;
-    // height: 50%;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 300px;
-    height:180px !important;
-    display: block;
-  }
-.projectApplicationApply{
-    margin-top: 30px;
-    width: 100%;
-    display: flex;
-    justify-content: center;
-    .uploadPic{
-      position: absolute;
-      top: -8px;right: 0;
-      width: 100px;
-      box-sizing: border-box;
-      padding: 9px 0;
-      font-size: 16px;
-      background-color: #0e72e6;
-      border-radius:5px
-    }
-        // 右边栏标题
-        .projectApplicationApplypAHeader{
-            width: 100%;
-            display: flex;
-            justify-content:flex-start;
-            position: relative;
-            margin-bottom: 15px;
-            .pAHeader1{
-              font-weight: 600;
-              font-size: 22px;
-              flex-shrink: 0;
-            }
-            .pAHeader2{
-              position: absolute;
-              top:8px;
-              left: 160px;
-              font-size: 16px;
-              background: repeating-linear-gradient();
-            }
-            .pAHeader3{
-              background: #0e72e6 !important;
-              color: #fff !important;
-              display: flex;
-              position: absolute;
-              right: 0;
-              justify-content: center;
-              font-size: 16px;
-              width: 100px;
-              height: 30px;
-              align-items: center;
-            }
-        }
-
-
-
-        .delMemberDialog{
-            font-size: 18px;
-            .el-dialog{
-              border-radius: 5px;
-              overflow: hidden;
-            }
-            .deleteContent{
-              margin: 30px 0;
-              font-size: 22px;
-              color: #000;
-            }
-            .el-dialog__header{
-              background: #32455b;
-              display: flex;
-              justify-content: center;
-            }
-            .el-dialog__title{
-              color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-            }
-            .el-dialog__body{
-              display: flex;
-              justify-content: center;
-            }
-            // .addDialogMid{
-            //   box-sizing: border-box;
-            //   padding:0 60px 0 10px;
-            //   .addDialogTit{
-            //     display: flex;
-            //     span{
-            //       width: 80px;
-            //       font-size: 16px;
-            //       line-height: 40px;
-            //       text-align: left;
-                  
-            //     }
-            //   }
- 
-            // }
-            .dialog-footer{
-              display: flex;
-              justify-content: center;
-              box-sizing: border-box;
-            }
-          }
-}
-#four{
-  margin-top: 60px;
-}
-</style>

+ 0 - 247
src/views/projectApply/components/projectApplicationApplyMakerSpace2.vue

@@ -1,247 +0,0 @@
-<template>
-  <!-- 项目立项申请项目内容表达 -->
-      <div class="projectApplicationApply2">
-        <div class="left">
-          <div class="sx">
-            <div class="qiu"></div>
-          </div>
-          <div class="leftTits">
-            <div @click="toPage(1)" style="position: relative;right: 5px;">
-              <el-tooltip class="item" effect="light" content="项目建设内容及目标" placement="bottom-start">
-                <p>项目建设内容及目标</p>
-              </el-tooltip>
-            </div>
-            <div @click="toPage(2)" style="position: relative;right: 5px;">
-              <el-tooltip class="item" effect="light" content="预期取得的成果" placement="bottom-start">
-                <p>预项目建设论证报告</p>
-              </el-tooltip>
-            </div>
-            <div @click="toPage(3)">预期成果</div>
-            <div @click="toPage(5)" style="position: relative;right: 5px;">
-              <el-tooltip class="item" effect="light" content="立项基础及条件" placement="bottom-start">
-                <p>立项基础及条件</p>
-              </el-tooltip>
-            </div>
-            <div @click="toPage(4)">下一步</div>
-          </div>
-        </div>
-        <div class="right">
-            <div id="l" class="vfpHeader">
-              <div class="titleOne">项目立项申请</div>
-              <el-button @click="backBtn1" type="primary" size="mini">返回</el-button>
-            </div>
-            <hr>
-            <div id="w">
-              <p class="pTit">项目建设内容及目标</p>
-              <div>
-                <p class="pTit2">一、建设内容<span>(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span></p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.Construction">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Construction"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="a">
-              <p class="pTit">预项目建设论证报告</p>
-              <div>
-                <p class="pTit2">一、立项依据<span> (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span></p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.ProjectBasis">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.ProjectBasis"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="q">
-              <p class="pTit">预期成果</p>
-              <div>
-                <p class="pTit2">一、创客空间物理环境、制度建设及软件设施建设情况<span>(环境优化/制度完善/设施改造)</span></p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.customToolbar">
-                  </el-input>
-                  <!-- <vue-editor  v-model="data.development" :editorToolbar="customToolbar"></vue-editor> -->
-                </div>
-              </div>
-
-              <div>
-                <p class="pTit2">二、学生创客工作室建设情况<span>(工作室数量及活动开展情况)</span></p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.studio">
-                  </el-input>
-                  <!-- <vue-editor :editorToolbar="customToolbar" v-model="data.studio"></vue-editor> -->
-                </div>
-              </div>
-
-              <div>
-                <p class="pTit2">三、学生创客团队(人才)培养预期成果、数量</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.studentTeam">
-                  </el-input>
-                  <!-- <vue-editor :editorToolbar="customToolbar" v-model="data.studentTeam"></vue-editor> -->
-                </div>
-              </div>
-
-              <div>
-                <p class="pTit2">四、学生创客活动组织实施情况</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.studentActivities">
-                  </el-input>
-                  <!-- <vue-editor :editorToolbar="customToolbar" v-model="data.studentActivities"></vue-editor> -->
-                </div>
-              </div>
-
-              <div>
-                <p class="pTit2">五、学生创客团队孵化、转化创业项目情况</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.Transforming">
-                  </el-input>
-                  <!-- <vue-editor :editorToolbar="customToolbar" v-model="data.Transforming"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="p">
-              <p class="pTit">立项基础及条件</p>
-              <div>
-                <p class="pTit2">一、基础条件<span>(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span></p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="data.condition">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.condition"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="r" class="baseBtn">
-              <div class="blockWidth">
-                <el-button type="primary" class="backBtn" @click="backBtn1" size:small>上一步</el-button>
-                <el-button type="primary" class="backBtn" @click="backBtn" size:small>下一步</el-button>
-              </div>
-            </div>
-        </div>
-      </div>
-  </template>
-  
-  <script>
-  import { VueEditor } from "vue2-editor";
-      export default {
-        props:["data","next",'back'],
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            content:'',
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-          }
-        },
-        methods:{
-          backBtn(){
-            this.next();
-          },
-          backBtn1(){
-            this.back();
-          },
-          toPage(val){
-            if (val==1) {
-              document.getElementById("w").scrollIntoView({ behavior: "smooth" });
-            }else if(val==2){
-              document.getElementById("a").scrollIntoView({ behavior: "smooth" });
-            }else if(val==3){
-              document.getElementById("q").scrollIntoView({ behavior: "smooth" });
-            }else if(val==4){
-              document.getElementById("r").scrollIntoView({ behavior: "smooth" });
-            }else if(val==5){
-              document.getElementById("p").scrollIntoView({ behavior:"smooth"})
-            }
-          }
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .projectApplicationApply2{
-    margin-top: 30px;
-    width: 100%;
-    display: flex;
-    justify-content: center;
-    // margin-bottom: 100px;
-
-    .item {
-      margin: 4px;
-    }
-    
-  }
-
-
-    .pTit{
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 18px;
-    }
-    .pTit2{
-      margin-top: 15px;
-      color: #3994ff;
-      font-weight: 550;
-      font-size: 16px;
-      span{
-        font-size: 14px;
-      }
-    }
-    .editor{
-      width: 100%;
-      box-sizing: border-box;
-      padding: 15px 0px 10px 0px;
-    }
-  </style>

+ 0 - 844
src/views/projectApply/components/projectApplicationDetails.vue

@@ -1,844 +0,0 @@
-<template>
-  <!-- 项目立项申请查看详细项目基本内容 -->
-  <div class="projectApplication1">
-
-     <!-- 活动申请填写信息区域开始 -->
-     <div class="select">
-        <div class="selectTop">
-          <div class="label">项目名称</div>
-          <el-input v-model="content.select.projectName" placeholder="请输入内容"></el-input>
-        </div>
-        <div class="selectMid">
-          <div class="selectLeft">
-              <div class="inpBlock">
-                  <div class="label">项目负责人</div>
-                  <el-input v-model="content.select.leader" placeholder="请输入内容"></el-input>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">所在部门</div>
-                  <el-select v-model="content.select.department" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.departmentOptions"
-                      :key="item.id"
-                      :label="item.name"
-                      :value="item.id">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label" style="width: 50px;font-size: 14px;position: relative;top: -8px;">优先支持项目(可多选)</div>
-                  <el-select style="width: 100%;" v-model="content.select.MultiSelectProjectNameS" multiple placeholder="请选择">
-                    <el-option
-                      v-for="item in this.MultiSelectProject"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">联系电话</div>
-                  <el-input type="number" v-model="content.select.tel"  @blur="getText(content.select.tel)" placeholder="请输入联系方式"></el-input>
-              </div>
-              <div class="inpBlock">
-                <div class="label">选择分类</div>
-                <!-- <el-cascader v-model="pageType" :options="projectApplicationApply1.sortOptions" clearable></el-cascader> -->
-                <el-cascader disabled v-model="pageType" style="width: 100%;" :options="sortOptions" clearable></el-cascader>
-              </div>
-          </div>
-
-          <div class="selectRight">
-            <div class="inpBlock">
-                  <div class="label">项目开始时间</div>
-                  <el-date-picker
-                    v-model="content.select.projectDate"
-                    type="daterange"
-                    disabled
-                    style="width: 100%;"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    range-separator="至"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期">
-                  </el-date-picker>
-              </div>
-              <div class="inpBlock" style="position: relative;">
-                  <div class="label">预算总经费</div>
-                  <el-input type="number" disabled v-model="content.select.fund" placeholder="请输入内容"></el-input>
-                  <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
-              </div>
-              <div class="inpBlock">
-                  <div class="label" style="font-size: 14px;max-width: 50px;position: relative;top: -8px;">美丽校园改造项目(特色项目)</div>
-                  <el-select v-model="content.select.schoolRemould" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.schoolRemouldOptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">项目申请人</div>
-                  <el-select v-model="content.select.projectApplyPerson" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.personType"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <!-- <div class="inpBlock">
-                  <div class="label">选择分类</div>
-                  <el-cascader v-model="data.select.sort" :options="data.sortOptions" clearable></el-cascader>
-              </div> -->
-          </div>
-        </div>
-        
-  </div>
-        <!-- 活动申请填写信息区域结束 -->
-
-
-        <!-- 项目封面修改上传开始 -->
-        <div style="height: 260px;">
-              <div class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">修改项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="content.dialogImageUrl" :src="content.dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-        </div>
-        <!-- 项目封面修改上传开始结束 -->
-
-      <!-- 老师项目成员表格开始 -->
-      <div id="two" class="tabTit">
-                <div><p>项目组-老师成员<span>(2个学院以上,团队2-3人)</span> </p></div>
-                <el-button type="primary" @click="addTeacherMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="content.tableTeacherData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendTeacherDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelTeacher(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-
-          <!--添加修改老师成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加老师成员':'修改老师成员'"
-                :visible.sync="addTeacherMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input  v-model="Member.division" ></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddTeacher" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendTeacher" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改老师成员dialog对话框结束 -->
-
-          <!-- 删除老师成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delTeacherMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="addDialogLogo">LOGO</div>
-              <span class="deleteContent">确定删除老师成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelTeacherMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delTeacherMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除老师成员对话框结束 -->
-  <!-- 老师项目成员表格结束 -->
-
-    <!-- 学生项目成员表格开始 -->
-    <div id="two" class="tabTit">
-                <div><p>项目组-学生成员<span>(至少2个学院以上学生构成,团队5人以上)</span> </p></div>
-                <el-button type="primary" @click="addStudentMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="content.tableStudentData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendStudentDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-   <!-- 学生项目成员表格结束 -->
-
-
-          <!-- 项目简介开始 -->
-            <div class="tabTit">
-                  <div><p>项目简介</p></div>
-            </div>
-            <hr>
-            <el-input
-              type="textarea"
-              :rows="6"
-              resize="none"
-              class="textArea"
-              placeholder="请输入内容"
-              v-model="content.textarea">
-            </el-input>
-          <!-- 项目简介结束 -->
-
-          <!--添加修改学生成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加学生成员':'修改学生成员'"
-                :visible.sync="addStudentMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input v-model="Member.division"></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddStudent" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendStudent" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改学生成员dialog对话框结束 -->
-
-          <!-- 删除学生成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delStudentMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="addDialogLogo">LOGO</div>
-              <div class="deleteContent">确定删除学生成员?</div>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudentMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delStudentMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除学生成员对话框结束 -->
-  <!-- 学生项目成员表格结束 -->
-
-
-
-            
-    <div class="baseBtn">
-      <div class="blockWidth">
-        <el-button type="primary" v-show="isupload==0" @click="audit">立即修改</el-button>
-        <el-button type="primary" v-show="isupload!=0"  class="disa">立即修改</el-button>
-      </div>
-    </div>
-
-
-
-   <!-- 提交对话框开始 -->
-        <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="pageSubmitData"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 提交对话框结束 -->
-
-
-
-
-
-  </div>
-</template>
-
-<script>
-  import BeUpload from "@/components/tool/beUpload.vue";
-    export default {
-      components: {
-        BeUpload,
-      },
-      data() {
-        return {
-          accept:"image/*",
-          isAddMember:1,  //判断是添加学生还是修改学生
-          apIsupload:0,   //判断是否能修改 0可以 1不可以
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          pageType:[], //选择分类
-          
-          delMember:false,
-          amendMemberDialog:false,
-          addMemberDialog:false,
-          submitHint:false,          
-
-          delTeacherMember:false,  //删除老师对话框
-          addTeacherMemberDialog:false,   //添加修改对话框
-
-          addStudentMemberDialog:false,   //添加学生对话框
-          delStudentMember:false,      //删除学生对话框
-
-          textarea:'',   //项目简介
-          tableData:[],   //成员列表数据
-
-          isupload:'',
-          endProject:'',
-
-          content:{
-            dialogImageUrl:"",  //封面!!!!!!!!
-            tableStudentData:[],  //学生成员成员列表!!!!!!!!
-            tableTeacherData:[],  //老师成员成员列表!!!!!!!
-            textarea:'',   //项目简介!!!!!!!
-            select:{    //要提交的数据!!!!!!!!!!!!!!!!!!!!!!!
-                projectName:'',     //项目名称
-                leader:'',          //项目负责人
-                projectDate:[],   //开始结束日期
-                department:"",   //部门
-                fund:'',         //资金
-                MultiSelectProjectNameS:[],   //优先支持项目
-                schoolRemould:'',        //校园改造项目
-                tel:'',  //电话
-                projectApplyPerson:'',  //项目申请人
-            },
-          },
-
-
-          departmentOptions: [],  //部门下拉框
-          Member:{    //添加、修改成员对话框数据
-              name:'',
-              class:'',
-              division:'',
-              score:'0'
-          },
-          MultiSelectProject:[   //优先支持项目下拉框数据
-                    {
-                      value: 1,
-                      label: '大赛选拔项目'
-                    }, {
-                      value: 2,
-                      label: '落地注册项目'
-                    }, {
-                      value: 3,
-                      label: '社会征集项目'
-                    }, {
-                      value: 4,
-                      label: '产业命题项目'
-                    }
-          ],
-          schoolRemouldOptions:[   //美丽校园下拉框数据
-              {
-                value: '1',
-                label: '校园安全项目'
-              }, {
-                value: '2',
-                label: '环境治理项目'
-              }, {
-                value: '3',
-                label: '校园服务项目'
-              }, {
-                value: '4',
-                label: '文创装置项目'
-              }
-          ],
-          personType:[     //项目申请人下拉框数据
-              {
-                value: '1',
-                label: '在校学生'
-              }, {
-                value: '2',
-                label: '入驻学校孵化基地的初创企业法人'
-              }
-          ],
-          sortOptions: [      //选择分类下拉框数据
-              {
-                value:"",
-                label: '',
-                children: [{
-                  value: 0,
-                  label: '创意组',
-                },
-                  {
-                  value: 1,
-                  label: '初创组',
-                }
-              ]}, 
-              {
-              value:"",
-              label: '',
-              children: [{
-                value: 0,
-                label: '已建设',
-              }, {
-                value: 1,
-                label: '待建设',
-              }]
-            }],
-            
-        }
-      },
-      methods:{
-        getText(value) {     //电话验证
-          let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
-          let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
-          if(result){
-            return result;
-          }else{
-            this.$message.error("请输入正确的手机号格式")
-            return false;
-          }
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        getFile(val) {       //上传封面
-            console.log(val);
-            this.progress.show = false;
-            this.content.dialogImageUrl=val.url
-            this.$message.success('上传成功')
-        },
-
-
-
-        // 项目组老师成员方法开始
-                  addTeacherMember(){   //添加项目成员对话框显示
-                    this.addTeacherMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelTeacher(val){    //删除对话框显示
-                    this.delTeacherMember=true;
-                    this.index=val
-                  },
-                  amendTeacherDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.content.tableTeacherData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addTeacherMemberDialog=true
-                  },
-                  commitAddTeacher(){   //确定添加成员  
-                        console.log(this.Member.name);
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.division=="" ||this.Member.division==undefined) return this.$message.error('请输入项目组角色分工')
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.content.tableTeacherData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        this.init()
-                  },
-
-                  commitAmendTeacher(){   //确定修改成员
-                        Object.assign(this.content.tableTeacherData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addTeacherMemberDialog=false;
-                        this.$message.success('修改成功')
-                  },
-
-                  commitDelTeacherMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.content.tableTeacherData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delTeacherMember=false;
-                  },
-        // 项目组老师成员方法开始
-
-            // 项目组学生成员方法开始
-                addStudentMember(){   //添加项目成员对话框显示
-                    this.addStudentMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelStudent(val){    //删除对话框显示
-                    this.delStudentMember=true;
-                    this.index=val
-                  },
-                  amendStudentDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.content.tableStudentData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addStudentMemberDialog=true
-                  },
-                  commitAddStudent(){   //确定添加成员  
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入项目组角色分工')
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.content.tableStudentData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        this.addStudentMemberDialog=false;
-                  },
-
-                  commitAmendStudent(){   //确定修改成员
-                        Object.assign(this.content.tableStudentData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addStudentMemberDialog=false;
-                        this.$message.success('修改成功')
-
-                        console.log(this.content.tableData);
-                  },
-
-                  commitDelStudentMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.content.tableStudentData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delStudentMember=false;
-                  },
-        // 项目组学生成员方法开始
-
-
-
-
-        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        this.departmentOptions=res.data[0];
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-
-
-
-            getData(){     //过去基础数据
-                let param={
-                    uid:this.$store.state.userInfo.userid,
-                    pid:JSON.parse(localStorage.getItem('pid'))
-                }
-                this.ajax
-                    .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                    .then(res=>{
-                        let data=res.data[0][0]
-               
-                        // console.log(data.multiSelectProject);
-                        this.content.select.projectName=data.title
-                        this.content.select.leader=data.leader
-                        this.content.select.projectDate=[data.startTime,data.endTime]
-                        this.content.select.department=data.classid
-                        this.content.select.fund=data.fund
-                        this.content.select.MultiSelectProjectNameS=JSON.parse(data.multiSelectProject)
-                        this.content.select.schoolRemould=data.schoolRemould
-                        this.content.select.tel=data.phone
-                        this.content.select.projectApplyPerson=data.projectApplyperson
-                        this.content.select.dialogImageUrl=data.image
-                        this.content.tableStudentData=JSON.parse(data.course_student)
-                        this.content.tableTeacherData=JSON.parse(data.course_teacher)                       
-                        this.content.textarea=data.brief
-                        this.content.dialogImageUrl=data.image
-                        this.pageType=[data.typeid,data.typeName]
-                        this.isupload=data.isupload
-                        this.endProject=data.endProject
-                        // console.log(this.content);
-                        // console.log(this.apIsupload);
-                    },err=>{
-                        console.log(err);
-                    })
-            },
-
-            getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-              let TypeList = [];
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllType',param)
-                      .then(res=>{
-                        //获取主分类
-                        let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        this.sortOptions = TypeList
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-
-        audit(){   //提交对话框显示
-          this.submitHint=true
-        },
-
-        submitAll(){   //提交修改数据
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:JSON.parse(localStorage.getItem('pid')),
-            tit:this.content.select.projectName,
-            lea:this.content.select.leader,
-            cla:this.content.select.department,
-            mul:JSON.stringify(this.content.select.MultiSelectProjectNameS),
-            pho:this.content.select.tel,
-            sch:this.content.select.schoolRemould,
-            per:this.content.select.projectApplyPerson,
-            img:this.content.dialogImageUrl,
-            cot:JSON.stringify(this.content.tableTeacherData),
-            cos:JSON.stringify(this.content.tableStudentData),
-            bri:this.content.textarea,
-          }
-
-          const cEmpty = /^\s*$/g;
-              for(let i in param){
-                switch(i){
-                  case 'tit':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                    break;
-                  case 'lea':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                    break;
-                  case 'cla':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                    break;
-                  case 'mul':
-                    console.log(111);
-                    if(!JSON.parse(param[i]).length) return this.$message.error("请选择优先支持项目")
-                    break;
-                  case 'sch':
-                    if(!param[i])return this.$message.error("请选择美丽校园改造项目")
-                    break;
-                  case "pho":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入联系方式")
-                    break;
-                  case 'person':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目申请人")
-                    break;
-                  case 'img':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                    break;
-                  case 'cot':
-                    if(JSON.parse(param[i]).length<2 || JSON.parse(param[i]).length>3)return this.$message.error("需要教师团队2-3人,至少应包含1名教研室主任")
-                    break;
-                  case 'cos':
-                    if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                    break;
-                  case 'bri':
-                    console.log();
-                    if(param[i].length<200 || param[i].length>300)return this.$message.error("项目简介需要200-300字")
-                    break;
-                }
-              }
-            this.ajax
-                  .post(this.$store.state.api+'/updateProjectApplyDetailStudent',param)
-                  .then(res=>{
-                    console.log(res);
-                    if (res.data==1) {
-                      this.$message.success('修改成功')
-                      this.submitHint=false
-                      this.getData()
-                      return
-                    }
-                    this.$message.error('修改失败')
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-        init(){
-          this.addStudentMemberDialog=false;
-          this.submitHint=false;
-          this.addTeacherMemberDialog=false;
-        },
-
-      },
-      mounted(){    //数据加载完成后触发
-        this.getProjectDepartmentData()
-        this.getProjectTypeData()
-        this.getData()
-      },
-    }
-</script>
-
-<style lang="less">
-.projectApplication1{
-
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    // position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 300px;
-    // height: 100%;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 300px;
-    height:178px !important;
-    display: block;
-  }
-
-}
-</style>

+ 0 - 820
src/views/projectApply/components/projectApplicationMakerSpaceDetails.vue

@@ -1,820 +0,0 @@
-<template>
-  <!-- 项目立项申请查看详细项目基本内容 -->
-  <div class="projectApplication1" v-loading="loading">
-     <!-- 活动申请填写信息区域开始 -->
-     <div class="select">
-              <div class="selectTop">
-                <div class="label">项目名称</div>
-                <el-input v-model="select.project" placeholder="请输入内容"></el-input>
-              </div>
-              <div class="selectMid">
-                <div class="selectLeft">
-                 
-                    <div class="inpBlock">
-                        <div class="label">负责人</div>
-                        <el-input v-model="select.person" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">所在部门</div>
-                        <el-select v-model="select.departmentData" style="width: 100%;" placeholder="请选择">
-                          <el-option
-                            v-for="item in select.department"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                          </el-option>
-                        </el-select>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">学院牵头领导</div>
-                        <el-input v-model="select.lead_leader" placeholder="请输入学院牵头领导"></el-input>
-                    </div>
-                </div>
-
-                <div class="selectRight">
-                  <div class="inpBlock">
-                        <div class="label">项目时间</div>
-                        <el-date-picker
-                          v-model="select.Date"
-                          type="daterange"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          range-separator="至"
-                          start-placeholder="项目起始时间"
-                          end-placeholder="项目完成时间">
-                          
-                        </el-date-picker>
-                        <!-- <el-date-picker
-                          v-model="select.Date"
-                          type="datetime"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          placeholder="选择日期">
-                        </el-date-picker> -->
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">预算总经费</div>
-                        <el-input type="number" v-model.number="select.Fund" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">选择分类</div>
-                        <el-cascader disabled="" v-model="select.sort" :options="select.sortOptions" clearable></el-cascader>
-
-                    </div>
-                </div>
-              </div>
-              
-        </div>
-        <!-- 活动申请填写信息区域结束 -->
-
-
-         <!-- 项目封面修改上传开始 -->
-         <div style="height: 260px;">
-              <div class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">修改项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="dialogImageUrl" :src="dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-            </div>
-
-          <!-- 项目封面修改上传开始结束 -->
-
-
-
-
-      <!-- 项目教师开始 -->
-      <div class="tabTit">
-          <div><p>项目组-教师团队</p><span>(团队3人以上,至少应包含1名教研室主任)</span></div>
-          <el-button type="primary" @click="addMember"  size="mini">添加教师</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="teacherData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="speciality"
-          label="专业"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="title"
-          label="职称"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="education"
-          label="学历"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="section"
-          label="所在教研室"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <!-- <el-button type="primary" @click="lookDetail(scope)" size="mini">查看详情</el-button> -->
-                      <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="Del(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目教师结束 -->
-
-      <!-- 项目学生开始 -->
-      <div class="tabTit">
-        <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
-          <el-button type="primary" @click="addMemberStudent"  size="mini">添加学生</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="studentData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="class"
-          label="班级"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="age"
-          label="年龄"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <el-button type="primary" @click="updateStudent(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目学生结束 -->
-
-
-      <!-- 项目简介开始 -->
-    <div class="tabTit">
-          <div><p>项目简介</p></div>
-    </div>
-    <hr>
-      <el-input
-        type="textarea"
-        :rows="6"
-        resize="none"
-        class="textArea"
-        placeholder="请输入内容"
-        v-model="textarea">
-      </el-input>
-    <!-- 项目简介结束 -->
-
-
-    <div class="baseBtn">
-      <div class="blockWidth">
-        <!-- <el-button type="primary" class="backBtn" @click="audit">立即修改</el-button> -->
-
-        <el-button v-show="isUpload==0" type="primary" class="backBtn" @click="submitHint=true">立即修改</el-button>
-        <!-- <el-button v-show="isUpload==1" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button> -->
-        <el-button v-show="isUpload!=0" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button>
-
-      </div>
-    </div>
-      <!--添加教师dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddMember==1?'添加教师':'修改教师'"
-          :visible.sync="addMemberDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="teacher.name" placeholder="请输入教师姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">专业</div>
-              <div>
-                <el-input v-model="teacher.speciality" placeholder="请输入教师专业"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">职称</div>
-              <div>
-                <el-input v-model="teacher.title" placeholder="请输入教师职称"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">学历</div>
-              <div>
-                <el-input v-model="teacher.education" placeholder="请输入教师学历"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">所在教研室</div>
-              <div>
-                <el-input v-model="teacher.section" placeholder="请输入所在教研室"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="teacher.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddMember==1" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddMember==2" type="primary" @click="commit2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addMemberDialog = false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--添加教师dialog对话框结束 -->
-
-      <!-- 添加学生dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddStudent==1?'添加学生':'修改学生'"
-          :visible.sync="addStudentDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="student.name" placeholder="请输入学生姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">班级</div>
-              <div>
-                <el-input v-model="student.class" placeholder="请输入学生班级"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">年龄</div>
-              <div>
-                <el-input v-model="student.age" placeholder="请输入学生年龄"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="student.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddStudent==1" type="primary" @click="commitStudent" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddStudent==2" type="primary" @click="commitStudent2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addStudentDialog=false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!-- 添加学生dialog对话框结束 -->
-       <!-- 删除教师对话框开始 -->
-      <el-dialog
-              title="删除教师"
-              :visible.sync="delMember"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该教师?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-      </el-dialog>
-      <!-- 删除教师对话框结束 -->
-      <!-- 删除学生成员对话框开始 -->
-            <el-dialog
-              title="删除学生成员"
-              :visible.sync="DelStudentDialog"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该学生成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudent" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="DelStudentDialog = false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除学生成员对话框结束 -->
-
-       <!-- 修改对话框开始 -->
-       <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="submitHint = false" size="small" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-  </div>
-</template>
-
-<script>
-  import BeUpload from "@/components/tool/beUpload.vue";
-    export default {
-      components: {
-        BeUpload,
-      },
-      data() {
-        return {
-          iid:'',
-          isUpload:'',
-          accept:"image/*",
-          isAddMember:1,
-          isAddStudent:1,
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          dialogImageUrl:'',  //图片地址
-          index:0,
-          delMember:false,
-          DelStudentDialog:false,
-          amendMemberDialog:false,
-          addMemberDialog:false,
-          addStudentDialog:false,
-          submitHint:false,
-          loading:false,
-          select:{    //数据详情框数据
-            project:'',   
-            person:'',
-            departmentData:"",  //部门框值
-            sort:[],     //分类值
-            tel:'',
-            Date:'',
-            Fund:'',
-            sortOptions: [],//分类
-            department:[],
-          },
-          textarea:'',   //项目简介
-
-          teacherData:[],   //成员列表数据
-          studentData:[],
-          addTabMember:{       //添加项目成员
-            // id:'',
-            name:'',
-            class:'',
-            phone:'',
-            score:0
-          },
-          teacher:{ //添加老师团队表
-            name:"",  //姓名
-            speciality:"",//专业
-            title:"",//职称
-            education:"",//学历
-            section:"",//所在教研室
-            work:"",//项目组角色分工
-          },
-          student:{ //添加学生团队表
-            name:"",//姓名
-            class:"",//班级
-            age:"",//年龄
-            work:'',//项目组任务分工
-          }
-        }
-      },
-      methods:{
-        addMemberStudent(){//添加项目组-学生成员
-          this.isAddStudent=1;
-          this.addStudentDialog = true;
-        },
-        commitStudent(){//确定添加学生
-            for(let i in this.student){if(this.student[i]==''||this.student[i]==undefined)return this.$message.error("请填完所有内容");}
-            let newData={};
-            for(let a in this.student)newData[a] = this.student[a];
-            this.studentData.push(newData);
-            this.$message.success("添加成功");
-            this.addStudentDialog = false;
-            //清空表单
-            for(let j in this.student)this.student[j]='';
-        },
-        updateStudent(val){ //修改学生信息
-          Object.assign(this.student,this.studentData[val]);
-          this.isAddStudent=2;
-          this.index=val;
-          this.addStudentDialog = true;
-        },
-        commitStudent2(){//确定修改学生
-            Object.assign(this.studentData[this.index],this.student)
-            this.addStudentDialog=false;
-            for(let k in this.student) this.student[k]=''
-            this.$message.success('修改成功')
-        },
-        DelStudent(val){//删除学生对话框
-          this.index = val;
-          this.DelStudentDialog=true;
-        },
-        commitDelStudent(){ //对话框确定删除学生成员
-          this.studentData.splice(this.index,1);
-          this.$message.success('删除成功');
-          this.DelStudentDialog=false;
-        },
-        addMember(){    //添加教师按钮,显示对话框
-            this.addMemberDialog=true;
-            this.isAddMember=1;
-        },
-        commit(){   //确定添加教师
-              for(let i in this.teacher){if(this.teacher[i]==''||this.teacher[i]==undefined)return this.$message.error("请填完所有内容");}
-              let newData = {};
-              for(let a in this.teacher)newData[a] = this.teacher[a];
-              this.teacherData.push(newData);
-              this.$message.success('添加成功');
-              this.addMemberDialog = false;
-              for(let j in this.teacher)this.teacher[j]='';
-        },
-        amendDialogData(val){   //修改项目成员信息对话框显示
-          Object.assign(this.teacher,this.teacherData[val])
-          this.isAddMember=2;
-          this.index=val;
-          this.addMemberDialog=true;
-        },
-        commit2(){   //确定修改老师
-            Object.assign(this.teacherData[this.index],this.teacher)
-            for(let k in this.teacher) this.teacher[k]=''
-            this.addMemberDialog=false;
-            this.$message.success('修改成功')
-        },
-        Del(val){ //删除老师按钮
-          this.index=val;   
-          this.delMember=true;
-        },
-        commitDelMember(){  //确定删除老师按钮
-          this.teacherData.splice(this.index,1)
-          this.$message.success('删除成功')
-          this.delMember=false;
-        },
-
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        getFile(val) {       //上传封面
-            this.progress.show = false;
-            this.dialogImageUrl=val.url
-        },
-        audit(){    //立即修改对话框显示
-          this.submitHint=true
-        },
-        submitAll(){
-
-          let param = {
-            uid:this.$store.state.userInfo.userid,
-            pid:JSON.parse(localStorage.getItem('pid')),
-            title:this.select.project,
-            pro_leader:this.select.person,
-            lead_leader:this.select.lead_leader,
-            startTime:this.select.Date[0],
-            endTime:this.select.Date[1],
-            cid:this.select.departmentData,
-            fund:this.select.Fund,
-            img:this.dialogImageUrl,
-            teacher:JSON.stringify(this.teacherData),
-            student:JSON.stringify(this.studentData),
-            brief:this.textarea,
-          }
-          //判断数据
-          const cEmpty = /^\s*$/g;
-          for(let i in param){
-            switch(i){
-              case 'title':
-                if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                break;
-              case 'pro_leader':
-                if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                break;
-              case 'startTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目开始时间")
-                break;
-              case 'endTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目计划结束时间")
-                break
-              case 'cid':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                break;
-              case "lead_leader":
-                if(cEmpty.test(param[i]))return this.$message.error("请输入学院牵头领导")
-                break;
-              case 'img':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                break;
-              case 'teacher':
-                if(JSON.parse(param[i]).length<3)return this.$message.error("需要教师团队3人以上,至少应包含1名教研室主任")
-                break;
-              case 'student':
-                if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                break;
-              case 'brief':
-                if(param[i].length<200&&param[i]<=300)return this.$message.error("项目简介需要200-300字")
-                break;
-            }
-          }
-          this.ajax.post(this.$store.state.api+'/UpdateProjectMakerSpaceBase',param).then(res=>{
-            if(res.data==1){
-              this.$message.success("修改项目信息成功")
-            }else{
-              this.$message.error('修改项目信息失败')
-            }
-            this.submitHint = false;
-            this.getData();
-          }).catch(err=>{
-            console.log(err)
-          })
-        },
-        getData(){   //初始化完成获取基本数据进行填充
-          this.loading = true;
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:JSON.parse(localStorage.getItem('pid'))
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectProjectMakerSpace',param)
-                  .then(res=>{
-                    let data=res.data[0][0]
-                    this.select.project=data.title;
-                    this.select.Fund=data.fund;
-                    this.select.person=data.pro_leader;
-                    this.select.Date=[data.begintime,data.planTime];
-                    this.textarea=data.brief;
-                    this.dialogImageUrl=data.image;
-                    this.select.departmentData = data['classid']
-                    this.select.sort = [data['typeid'],data['typeName']]
-                    this.isUpload=data['isupload']
-                    this.select.lead_leader = data['lead_leader']
-                    this.teacherData = JSON.parse(data['course_teacher'])
-                    this.studentData = JSON.parse(data['course_student'])
-                    this.loading = false;
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        this.select.department=res.data[0]
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-        getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-          let TypeList = [];
-          let param={
-            uid:this.$store.state.userInfo.userid
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectAllType',param)
-                  .then(res=>{
-                        //获取主分类
-                        let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        this.select.sortOptions = TypeList;
-                        console.log(this.select)
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-      },
-      mounted(){    //数据加载完成后触发
-        this.getData();
-        this.getProjectDepartmentData();
-        this.getProjectTypeData();
-      },
-    }
-</script>
-
-<style lang="less">
-.projectApplication1{
-
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    // position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 300px;
-    // height: 100%;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 300px;
-    height:178px !important;
-    display: block;
-  }
-
-
-  .delMemberDialog{      //删除对话框
-      .el-dialog{
-        border-radius: 5px;
-        overflow: hidden;
-      }
-      .deleteContent{
-        margin: 30px 0;
-        font-size: 22px;
-        color: #000;
-      }
-      .el-dialog__header{
-        background: #32455b;
-        display: flex;
-        justify-content: center;
-      }
-      .el-dialog__title{
-        color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-      }
-      .el-dialog__body{
-        display: flex;
-        justify-content: center;
-      }
-      .dialog-footer{
-        display: flex;
-        justify-content: center;
-        box-sizing: border-box;
-
-      }
-    }
-
-
-  //项目修改对话框开始
-  .projectApplicationfundAddDialog{  
- 
-        .el-dialog__header{
-            background: #32455b;
-
-        }
-        .el-dialog{
-          border-radius:5px ;
-          overflow: hidden;
-        }
-        
-        .deleteContent{
-          width: 100%;
-          text-align: center;
-          font-size: 22px;
-          color: #000;
-        }
-        .addDialogLogo{
-                width: 60px;
-                height: 30px;
-                border-radius: 5px;
-                display: flex;
-                justify-content: center;
-                line-height: 30px;
-                background: #f2f2f2;
-                position: absolute;
-                left: 20px; top: 15px; 
-        }
-
-        .el-dialog__title{
-                color:#fff;
-                display: flex;
-                justify-content: center;
-                font-size: 18px;
-                position: relative;
-                top: -2px;
-        }
-        .addDialogMid{
-          box-sizing: border-box;
-          padding:0 60px 0 10px;
-          .addDialogTit{
-            display: flex;
-            span{
-              width: 80px;
-              line-height: 40px;
-              text-align: left;
-            }
-          }
-        .addDialogTit1{
-          display: flex;
-          justify-content: space-between;
-          margin-bottom: 15px;
-        }
-        .addDialogTit2{
-          margin-top: 10px;
-          font-size: 18px;
-          color: #000;
-          text-indent: 2em;
-        }
-        .addDialogCon{
-          margin-top: 20px;
-        }
-        }
-        .dialog-footer{
-        display: flex;
-        justify-content: center;
-
-        }
-    }
-}
-</style>

+ 0 - 318
src/views/projectApply/components/projectApplicationMakerSpaceDetails2.vue

@@ -1,318 +0,0 @@
-<template>
-  <!-- 项目立项申请查看详细项目详细 -->
-    <div class="projectApplication2" v-loading="loading">
-      <!-- <div class="PA2textArea">
-        <div class="PA2textAreaTit">项目创新点</div>
-        <vue-editor  :editorToolbar="customToolbar" v-model="data[0][0]"></vue-editor>
-      </div> -->
-
-      <div class="PA2mid">项目建设内容及目标</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、建设内容<span>(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span></div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.Construction">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Construction"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">预项目建设论证报告</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、立项依据<span> (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span></div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.ProjectBasis">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.ProjectBasis"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">预期成果</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、创客空间物理环境、制度建设及软件设施建设情况<span>(环境优化/制度完善/设施改造)</span></div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.development">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.development"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">二、学生创客工作室建设情况<span>(工作室数量及活动开展情况)</span></div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.studio">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studio"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">三、学生创客团队(人才)培养预期成果、数量</div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.studentTeam">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentTeam"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">四、学生创客活动组织实施情况</div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.studentActivities">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentActivities"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">五、学生创客团队孵化、转化创业项目情况</div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.Transforming">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Transforming"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">立项基础及条件</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、基础条件<span>(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span></div>
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="data.condition">
-        </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.condition"></vue-editor> -->
-      </div>
-
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <el-button type="primary" v-show="isUpload==0"  @click="submitHint=true">立即修改</el-button>
-          <el-button type="primary" disabled v-show="isUpload!=0" style="background: #ccc !important;border: none;">立即修改</el-button>
-          <!-- <el-button type="primary" disabled style="background: #ccc !important;border: none;" v-show="isUpload==2">立即修改</el-button> -->
-
-        </div>
-      </div>
-      <!-- 修改对话框开始 -->
-      <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="submitHint = false" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-    </div>
-  </template>
-  
-  <script>
-import { VueEditor } from "vue2-editor";
-
-      export default {
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            isUpload:0,
-            loading:false,
-            submitHint:false,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-            data:{
-                Construction:"",//建设内容
-                ProjectBasis:"",//立项依据
-                development:"",//创客空间物理环境、制度建设及软件设施建设情况
-                studio:"",//学生创客工作室建设情况
-                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
-                studentActivities:"",//学生创客活动组织实施情况
-                Transforming:"",//学生创客团队孵化、转化创业项目情况
-                condition:"",//立 项基 础及条 件
-
-            },
-          }
-        },
-        methods:{
-          submitAll(){
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:JSON.parse(localStorage.getItem('pid')),
-              chapters:JSON.stringify(this.data)
-            }
-            this.ajax.post(this.$store.state.api+"/UpdateProjectChaptersMakerSpace",param).then(res=>{
-              if(res.data==1){
-                this.$message.success("修改成功")
-              }else{
-                this.$message.error("修改失败")
-              }
-              this.submitHint = false;
-              this.getData();
-            }).catch(err=>{
-              console.log(err)
-            })
-          },
-          getData(){   //初始化完成获取基本数据进行填充
-            this.loading = true;
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:JSON.parse(localStorage.getItem('pid'))
-            }
-              this.ajax
-                    .get(this.$store.state.api+'/SelectProjectChapterMakerSpace',param)
-                    .then(res=>{
-                      this.isUpload = res.data[0][0]['isupload']
-                      this.data = JSON.parse(res.data[0][0]['chapters']);
-                      console.log(this.data)
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-        },
-        mounted(){
-          this.getData();
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .projectApplication2{
-
- .projectApplicationfundAddDialog{    //项目修改对话框开始
- 
-
- .el-dialog{
-   border-radius:5px ;
-   overflow: hidden;
- }
- 
- .deleteContent{
-   width: 100%;
-   text-align: center;
-   font-size: 22px;
-   color: #000;
- }
- .addDialogLogo{
-  width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
- }
- .el-dialog__header{
- background: #32455b;
- }
- .el-dialog__title{
-  color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
- }
- .addDialogMid{
-   box-sizing: border-box;
-   padding:0 60px 0 10px;
-   .addDialogTit{
-     display: flex;
-     span{
-       width: 80px;
-       line-height: 40px;
-       text-align: left;
-     }
-   }
- .addDialogTit1{
-   display: flex;
-   justify-content: space-between;
-   margin-bottom: 15px;
- }
- .addDialogTit2{
-   margin-top: 10px;
-   font-size: 18px;
-   color: #000;
-   text-indent: 2em;
- }
- .addDialogCon{
-   margin-top: 20px;
- }
-}
-.dialog-footer{
- display: flex;
- justify-content: center;
-//  .btn5{
-//    height: 40px;
-//    font-size: 16px;
-//    background: #0e72e6;
-//    width: 200px;
-//  }
-}
-}
-//项目修改对话框结束
-    .PA2textArea{     //标题栏
-        margin: 15px 0;
-        .PA2textAreaTit{
-            width: 80%;
-            text-align: left;
-            font-size: 18px;
-            font-weight: 550;
-            margin-bottom: 15px;
-            color: #2387ff;
-        }
-        .ql-toolbar.ql-snow{
-          display: flex;
-        }
-        .PA2textAreaTit2{
-            font-size: 16px;
-        }
-        .el-textarea__inner{
-            background: #f2f2f2;
-        }
-    }
-    
-    .PA2mid{    //预期取得成果单独一栏
-        width: 100%;
-        text-align: left;
-        font-size: 18px;
-        font-weight: 550;
-        margin-bottom: 10px;
-        color: #2387ff;
-    }
-  }
-  </style>

+ 677 - 0
src/views/projectApply/components/studentProjectWord.vue

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

+ 104 - 671
src/views/projectApply/components/studentProjectWordDetail.vue

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

+ 397 - 0
src/views/projectApply/components/studentProjectWordShow.vue

@@ -0,0 +1,397 @@
+<template>
+    <div id="studentProjectWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="date">申请日期:{{downWordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+    
+          <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> 
+          <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 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> -->
+            </td>
+          </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>
+              <!-- <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">
+            <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> -->
+            </td><td colspan="3">
+              <span v-text="downWordData['applyParsonRadio']=='2'?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
+              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+            </td>
+          </tr>
+          <tr id="applyParsonName">
+            <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1" v-text="downWordData.applyParsonName">
+            </td>
+            <td ref="college">参与学院/公司</td><td v-text="downWordData.dp">
+            </td><td ref="tel">联系电话</td><td v-text="downWordData.tel"></td>
+          </tr>
+          <tr id="beginTime">
+            <td colspan="2" ref="beginTime">项 目 起 始 时 间</td><td colspan="2" v-text="downWordData.beginTime.split(' ')[0]"></td>
+            <td ref="endTime">计划完成时间</td><td colspan="2" v-text="downWordData.endTime.split(' ')[0]"></td>
+          </tr>
+          <tr>
+            <td colspan="2">项 目 组 人 数</td><td v-text="downWordData.studentS.length + downWordData.teacherS.length"></td>
+            <td>参与学生人数</td><td v-text='downWordData.studentS.length'> </td>
+            <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>
+          </tr>
+          <tr style="position: relative;" v-for="(item,index) in downWordData.studentS" :key="index+'a'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <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>
+          </tr>
+          <tr style="position: relative !important;" v-for="(item,index) in downWordData.teacherS" :key="index+'b'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <td colspan="3" v-text="item.work"></td>
+          </tr>
+          <tr id="brief">
+            <td rowspan="5" ref="brief">研发内容</td><td colspan="6" class="textLeft">
+              <p>项目简介(200-300字)</p>
+              <div style="word-wrap: break-word;word-break: break-all;" v-text="downWordData.brief"></div>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目研发背景</p>
+              <span v-text="downWordData.introduce.back"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目创新点</p>
+              <span v-text="downWordData.introduce.innovate"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>技术研发路线</p>
+              <span v-text="downWordData.introduce.path"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目应用场景 </p>
+              <span v-text="downWordData.introduce.scene"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>商业模式及社会价值</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目商业模式/社会价值</p>
+              <span v-text="downWordData.introduce.worth"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>团队优势</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>团队构成及优势</p>
+              <span v-text='downWordData.introduce.team'></span>
+            </td>
+          </tr>
+          <tr>
+            <td>研发成本</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>研发成本来源及构成</p>
+              <span v-text="downWordData.introduce.cost"></span>
+            </td>
+          </tr>
+          <tr>
+            <td rowspan="3">预期成果</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
+              <span v-text="downWordData.introduce.expectResults"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>学生创客人才培养预期成果、数量(教师填写)</p>
+              <span v-text="downWordData.introduce.expectResultsTeacher"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>项目预期孵化、转化创业项目情况</p>
+              <span v-text="downWordData.introduce.expectConversion"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>实施计划</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <span v-text="downWordData.introduce.plan"></span>
+            </td>
+          </tr>
+          <tr id="fund">
+            <td rowspan="12" ref="fund">预算经费</td><td>总经费</td><td colspan="5" v-text="reversedMessage==0?'':reversedMessage"></td>
+          </tr>
+          <tr>
+            <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
+          </tr>
+          <tr>
+            <td rowspan="5">直接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">小型仪器设备费</td>
+            <td v-text="downWordData.fund.facility">
+            </td><td colspan="2">
+              项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">材料费</td><td v-text="downWordData.fund.materials">
+            </td><td colspan="2">
+              项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">测试化验加工费</td><td v-text="downWordData.fund.process">
+            </td><td colspan="2">
+              项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">项目协作费</td><td v-text="downWordData.fund.assist">
+            </td><td colspan="2">
+              按合同规定支付给协作单位的费用
+            </td>
+          </tr>
+    
+          <tr>
+            <td rowspan="5">间接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">项目成果鉴定费</td><td v-text="downWordData.fund.authenticate">
+            </td><td colspan="2">
+              学术会务费、评审费、鉴定费、成果集制作费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">参展参赛费</td><td v-text="downWordData.fund.match">
+            </td><td colspan="2">
+              参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">创客交流活动费</td><td v-text="downWordData.fund.activity">
+            </td><td colspan="2">
+              创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">知识产权事务费</td><td v-text="downWordData.fund.affair">
+            </td><td colspan="2">
+              论文版面费、专利及其他知识产权事务等费用。
+            </td>
+          </tr>
+          <tr>
+            <td>所在学院/部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>财务部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>创新创业学院审核意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
+            <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
+          </div>
+    </div>
+    </template>
+      
+    <script>
+      export default {
+        props:['reversedMessage','downWordData'],
+        data() {
+          return {
+
+            }
+        },
+        methods: {
+
+        },
+        computed:{   //经费总合
+
+        },
+        mounted(){
+
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #studentProjectWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            border-top: solid 1px black;
+            border-right:  solid 1px black;
+            border-left:  solid 1px black;
+            .textLeft{
+              text-align: left ;
+              vertical-align: top;
+              position: relative;
+              max-width:100% ;
+              height: 200px;
+              // white-space: nowrap;
+              span{
+                // white-space: nowrap
+                word-wrap: break-word;
+                word-break: break-all;
+              }
+              :deep(.el-textarea__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+            tr{
+              position: relative;
+              td{
+                border: none;
+                border-bottom: solid 1px black;
+                border-right: solid 1px black;
+                height: 50px;
+                text-align: center;
+                line-height: 30px;
+                min-width: 80px;
+                box-sizing: border-box;
+                padding: 5px;
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(input)::-webkit-outer-spin-button,
+              :deep(input)::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+              }
+              :deep(input)[type="number"]{
+                  -moz-appearance: textfield;
+              }
+            }
+          }
+            
+        }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+        
+    }
+      .checkArea{
+        td{
+          span{
+          margin-left: 50px;
+          span{
+            margin: 0;
+          }
+        }
+        }
+
+      }
+    
+    </style>

+ 57 - 39
src/views/projectApply/newStudentProjectApply.vue

@@ -7,9 +7,10 @@
       <hr>
     
          <!-- 学生项目立项 -->
-        <studentProjectWord :wordData="wordData"/>   
-        <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
-            <el-button style="width: 120px;margin: 20px auto;" @click="test" type="primary">提交项目</el-button>
+        <studentProjectWord :wordData="wordData" :reversedMessage="reversedMessage"/>   
+
+        <div style="position: fixed;bottom: 5%;right: 2%;">
+            <el-button  @click="test" type="primary">提交项目</el-button>
         </div>
 
         <el-dialog
@@ -17,7 +18,7 @@
           :visible.sync="submitHint"
           width="600px"
           class="pageSubmitData">
-          <div class="addDialogLogo">LOGO</div>
+          
           <div class="deleteContent">确定提交“{{wordData['projectName']}}”项目立项?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="submitWord" class="AllDialogBtn">确认提交</el-button>
@@ -31,14 +32,14 @@
   // import MakerSpaceWord from '../components/MakerSpaceWord.vue'
   import getProjectNo from '@/components/tool/getProjectNo';
   import {getNowDate} from '@/components/tool/Date.js'
-  import studentProjectWord from '@/components/studentProjectWord.vue'
-  import markerFundWord from '@/components/markerFundWord.vue';
-  import markeractivityWord from '@/components/markeractivityWord.vue';
+  import studentProjectWord from './components/studentProjectWord.vue'
+  // import markerFundWord from '@/components/markerFundWord.vue';
+  // import markeractivityWord from '@/components/markeractivityWord.vue';
   export default {
     components: {
       studentProjectWord,
-      markerFundWord,
-      markeractivityWord
+      // markerFundWord,
+      // markeractivityWord
     },
     data() {
       return {
@@ -47,14 +48,14 @@
         submitHint:false,
         wordData:{
           applicationDate:getNowDate(1),//申请日期
-          projectName:'元宇宙',
-          radio: '1',
-          checkList:['1','2'],
-          schoolRadio:'1',
-          applyParsonRadio:'1',
-          applyParsonName:'袁一鸣',
+          projectName:'',
+          radio: '',
+          checkList:[],
+          schoolRadio:'',
+          applyParsonRadio:'',
+          applyParsonName:'',
           college:'',
-          tel:'16625153232',
+          tel:'',
           beginTime:'',
           endTime:'',
           studentS:[
@@ -97,6 +98,11 @@
         }
       };
     },
+    computed:{
+      reversedMessage: function () {
+        return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)
+      }
+    },
     methods:{
       test(){    //验证
         const cEmpty = /^\s*$/g;
@@ -180,14 +186,15 @@
             case 'studentS':
                   let snum = 0;
                   this.wordData[i].forEach(item=>{
-                    for(let j in item){
-                      if(cEmpty.test(item[j])){
-                        snum++;
-                      }
-                    }
+                    if(cEmpty.test(item['name']))snum++;
+                    // for(let j in item){
+                    //   if(cEmpty.test(item[j])){
+                    //     snum++;
+                    //   }
+                    // }
                   })
                   if(snum>0){
-                    this.$message.error("请填完学生信息");
+                    this.$message.error("学生姓名请不要留空");
                     document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
                     return false;
                   }
@@ -196,29 +203,30 @@
             case 'teacherS':
                   let num = 0;
                   this.wordData[i].forEach(item=>{
-                    for(let j in item){
-                      if(cEmpty.test(item[j])){
-                        num++;
-                      }
-                    }
+                    if(cEmpty.test(item['name']))num++;
+                    // for(let j in item){
+                    //   if(cEmpty.test(item[j])){
+                    //     num++;
+                    //   }
+                    // }
                   })
                   if(num>0){
-                    this.$message.error("请填完老师信息");
+                    this.$message.error("老师姓名请不要留空");
                     document.querySelector('#teacherS').scrollIntoView({ behavior: "smooth" });
                     return false;
                   }
             break;
-            case 'brief':
-                if (cEmpty.test(this.wordData[i])) {
-                  this.$message.error('请填写项目简介')
-                  // this.$refs.brief.style.background='rgb(236, 141, 141)'
-                  // setTimeout(() => {
-                  //   this.$refs.brief.style.background='#ffffff'
-                  // }, 2000);
-                  document.querySelector('#brief').scrollIntoView({ behavior: "smooth" });
-                  return false
-                }
-            break;
+            // case 'brief':
+            //     if (cEmpty.test(this.wordData[i])) {
+            //       this.$message.error('请填写项目简介')
+            //       // this.$refs.brief.style.background='rgb(236, 141, 141)'
+            //       // setTimeout(() => {
+            //       //   this.$refs.brief.style.background='#ffffff'
+            //       // }, 2000);
+            //       document.querySelector('#brief').scrollIntoView({ behavior: "smooth" });
+            //       return false
+            //     }
+            // break;
             case 'fund':
                 let mon=this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.wordData.fund.assist*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
                 if(mon==0){
@@ -263,6 +271,8 @@
                   console.log(result);
                   if(result['data']==1){
                     this.$message.success("项目提交成功");
+                    //提交项目成功,查看sessionStore是否有数据,有则删
+                    if(sessionStorage.getItem("StudentProjectApplyData"))sessionStorage.removeItem('StudentProjectApplyData');
                     this.$router.push('/projectApplication')
                   }else{
                     this.$message.error("项目提交失败");
@@ -274,6 +284,14 @@
                 })
             })
       }
+    },
+    mounted(){
+      if(sessionStorage.getItem('StudentProjectApplyData'))this.wordData = JSON.parse(sessionStorage.getItem('StudentProjectApplyData'))
+    },
+    beforeRouteLeave (to, from, next) {
+      //判断,如果还没提交然后切换页面了,则把数据存到sessionStore里;
+      if(!this.submitHint)sessionStorage.setItem('StudentProjectApplyData',JSON.stringify(this.wordData));
+      next();
     }
   };
   </script>

+ 97 - 88
src/views/projectApply/projectApplication.vue

@@ -2,80 +2,86 @@
   <!-- 项目立项申请 -->
   <div class="projectApplication" v-loading="loading">
     <div class="pAHeader">
-      <div class="pAHeader1">项目立项申请</div>
+      <div class="pAHeader1">项目立项管理</div>
       <!-- <el-button  style="font-size: 16px;" @click="apply">项目立项申请</el-button> -->
     </div>
     <hr>
 
 <!-- 搜索框开始 -->
-    <div class="selects">
-      <div class="selectsBlock">
-        <div class="selectLabel">项目筛选</div>
-        <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
-          <el-option label="所有项目"  value=""></el-option>
-          <el-option
-            v-for="item in options.projectFilter"
-            :key="item.courseId"
-            :label="item.title"
-            :value="item.courseId">
-          </el-option>
-        </el-select>
-      </div>
+    <div class="selectInp">
+      <div class="manageSelects">
+        <div class="selectsBlock">
+          <div class="selectLabel">项目筛选</div>
+          <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
+            <el-option label="所有项目"  value=""></el-option>
+            <el-option
+              v-for="item in options.projectFilter"
+              :key="item.courseId"
+              :label="item.title"
+              :value="item.courseId">
+            </el-option>
+          </el-select>
+        </div>
 
-      <div class="selectsBlock">
-        <div class="selectLabel">部门</div>
-        <el-select v-model="selectInp.department" @change="getData" placeholder="请选择">
-          <el-option label="所有部门" value=""></el-option>
-          <el-option
-            v-for="item in options.department"
-            :key="item.classid"
-            :label="item.name"
-            :value="item.classid">
-          </el-option>
-        </el-select>
-      </div>
+        <div class="selectsBlock">
+          <div class="selectLabel">部门</div>
+          <el-select v-model="selectInp.department" @change="getData" placeholder="请选择">
+            <el-option label="所有部门" value=""></el-option>
+            <el-option
+              v-for="item in options.department"
+              :key="item.classid"
+              :label="item.name"
+              :value="item.classid">
+            </el-option>
+          </el-select>
+        </div>
 
-      <div class="selectsBlock">
-        <div class="selectLabel">分类</div>
-        <el-select v-model="selectInp.sort" @change="getData" placeholder="请选择">
-          <el-option label="所有分类" value=""></el-option>
-          <el-option
-            v-for="item in options.sort"
-            :key="item.typeid"
-            :label="item.name"
-            :value="item.typeid">
-          </el-option>
-        </el-select>
-      </div>
-      <!-- <div class="selectInp">
-        <div class="ProjectManagementQuery">
-          <el-input v-model="selectText" @change="getData" placeholder="请输入项目名称"></el-input>
-          <el-button type="primary" class="btn" @click="getData" size="mini">查询</el-button>
+        <div class="selectsBlock">
+          <div class="selectLabel">分类</div>
+          <el-select v-model="selectInp.sort" @change="getData" placeholder="请选择">
+            <el-option label="所有分类" value=""></el-option>
+            <el-option
+              v-for="item in options.sort"
+              :key="item.typeid"
+              :label="item.name"
+              :value="item.typeid">
+            </el-option>
+          </el-select>
+        </div>
+        <!-- <div class="selectInp">
+          <div class="ProjectManagementQuery">
+            <el-input v-model="selectText" @change="getData" placeholder="请输入项目名称"></el-input>
+            <el-button type="primary" class="btn" @click="getData" size="mini">查询</el-button>
+          </div>
+        </div> -->
+        <div class="selectsBlock">
+          <div class="selectLabel">负责人</div>
+          <el-select v-model="selectInp.person" @change="getData" placeholder="请选择">
+            <el-option label="所有负责人" value=""></el-option>
+            <el-option
+              v-for="(item,index) in options.person"
+              :key="index"
+              :label="item.pro_leader"
+              :value="item.pro_leader">
+            </el-option>
+          </el-select>
         </div>
-      </div> -->
-      <div class="selectsBlock">
-        <div class="selectLabel">负责人</div>
-        <el-select v-model="selectInp.person" @change="getData" placeholder="请选择">
-          <el-option label="所有负责人" value=""></el-option>
-          <el-option
-            v-for="(item,index) in options.person"
-            :key="index"
-            :label="item.pro_leader"
-            :value="item.pro_leader">
-          </el-option>
-        </el-select>
-      </div>
 
-      <div class="selectsBlock">
-        <div class="selectLabel">状态</div>
-        <el-select v-model="selectInp.state" @change="getData" placeholder="请选择">
-          <el-option
-            v-for="item in options.state"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
-          </el-option>
-        </el-select>
+        <div class="selectsBlock">
+          <div class="selectLabel">状态</div>
+          <el-select v-model="selectInp.state" @change="getData" placeholder="请选择">
+            <el-option
+              v-for="item in options.state"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+      </div>
+      <div class="ProjectManagementQuery">
+        <el-input v-model="input" placeholder="请输入项目名称/编号"></el-input>
+        <el-button type="primary" class="btn" size="mini" @click="getData">查询</el-button>
       </div>
     </div>
     
@@ -142,10 +148,15 @@
           </template>
         </el-table-column>
         <el-table-column
-          prop="startTime"
+          prop="createTime"
           align="center"
-          label="开始时间"
+          label="创建时间"
           min-width="9%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.createTime.split(' ')[0]}}<br/>{{ scope.row.createTime.split(' ')[1]}}
+            </div>
+          </template>
         </el-table-column>
         <el-table-column
           prop="phone"
@@ -179,7 +190,7 @@
         </el-table-column>
         <el-table-column
           prop="operation"
-          width="500"
+          width="360"
           align="center"
           label="操作"
           >
@@ -188,20 +199,18 @@
                 <!-- {{ scope.row.isupload }} -->
                         <el-button type="primary"  size="mini" @click="lookDetail(scope.row.courseId,scope.row.typeid)">查看详情</el-button>
 
-                        <el-button type="primary" v-show="scope.row.isupload==0" @click="audit(scope.row,0)"  size="mini" >审核</el-button> <!--0申请人审核 -->
-                        <el-button type="primary" v-show="scope.row.isupload==1 " class="disa" size="mini" >审核中</el-button>
+                        <el-button type="primary" v-show="scope.row.isupload==0" @click="audit(scope.row,0)">提交</el-button> <!--0申请人审核 -->
+                        <el-button type="primary" v-show="scope.row.isupload==1 " class="disa">已提交</el-button>
                         <el-button type="primary" v-show="scope.row.isupload==2"  class="disa"  size="mini">已审核</el-button>
                         <el-button type="primary" v-show="scope.row.isupload==3" class="disa" size="mini">待结项</el-button>
                         <el-button type="primary" v-show="scope.row.isupload==4" class="disa" size="mini">已结项</el-button>
 
                         
-                        <el-button  v-show="scope.row.isupload==0" type="primary" class="disa" size="mini">审核</el-button>   <!--1管理员审核 -->
+                        <el-button  v-show="scope.row.isupload==0" type="primary" class="disa" size="mini">审核1</el-button>   <!--1管理员审核 -->
                         <el-button  v-show="scope.row.isupload==1" type="primary" size="mini" @click="audit(scope.row,1)">审核1</el-button>
-                        <el-button  v-show="scope.row.isupload==2" type="primary" class="disa" size="mini">已审核</el-button>
-                        <el-button  v-show="scope.row.isupload==3" type="primary" class="disa" size="mini">待结项</el-button>
-                        <el-button  v-show="scope.row.isupload==4" type="primary" class="disa" size="mini">已结项</el-button>
-
-
+                        <el-button  v-show="scope.row.isupload==2" type="primary" class="disa" size="mini">已审核1</el-button>
+                        <el-button  v-show="scope.row.isupload==3" type="primary" class="disa" size="mini">待结项1</el-button>
+                        <el-button  v-show="scope.row.isupload==4" type="primary" class="disa" size="mini">已结项1</el-button>
 
                         <!-- <el-button type="primary"  size="mini" @click="appTable(scope.row.typeid,scope.row.courseId)" >申请表</el-button> -->
 
@@ -233,7 +242,7 @@
           :before-close="init">
         
           <div class="diaTit">
-              <div class="addDialogLogo">LOGO</div>
+              
               <div class="spans">项目名称:</div>
               <div class="spanCon">{{ auditDialog.projectName }}</div>
               <div class="spans">项目负责人:</div>
@@ -288,7 +297,7 @@
       :visible.sync="dialogVisible2"
       width="600px"
       class="pageSubmitData">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="deleteContent">确定删除项目?</div>
       <span slot="footer" class="dialog-footer">
         <el-button type="primary" @click="dialogDel" class="AllDialogBtn">确认删除</el-button>
@@ -301,11 +310,11 @@
 </template>
 
 <script>
-import {MakerSpaceWord,MakerStudentWord,getWord} from '@/components/tool/getWord.js'
-import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
-import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.vue'
+// import {MakerSpaceWord,MakerStudentWord,getWord} from '@/components/tool/getWord.js'
+// import MakerSpaceWordPreview from '@/components/MakerSpaceWordPreview.vue';
+// import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.vue'
     export default {
-      components:{MakerSpaceWordPreview,studentMakerProjectPreview},
+      // components:{MakerSpaceWordPreview,studentMakerProjectPreview},
       data() {
         return {
           iid:'',
@@ -521,7 +530,7 @@ import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.
             leader:this.selectInp.person,  //负责人
             st:this.selectInp.state,  //审核状态
             year:"",
-            textInp:'',
+            textInp:this.input,
             page:this.table.currentPage,  //当前页
             lim:this.table.packageSize  //限制获取几条数据
           }
@@ -531,7 +540,7 @@ import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.
             .get(this.$store.state.api+'/SelectAllProject',param)
               .then(res=>{
                 let data=res.data;
-                console.log(data);
+                console.log(data)
                 if (data[0].length==0 && data[5][0]['total'] != 0) {
                   this.table.currentPage=1
                   return this.getData()
@@ -609,13 +618,13 @@ import studentMakerProjectPreview from '@/components/studentMakerProjectPreview.
     }
 </script>
 
-<style lang="less">
+<style lang="less" scoped>
 .projectApplication{
 
 
-  .el-table::before{
-    height: 0;
-  }
+  // .el-table::before{
+  //   height: 0;
+  // }
 
  
 }

+ 0 - 659
src/views/projectApply/projectApplicationApplyMain.vue

@@ -1,659 +0,0 @@
-<template>
-  <!-- 项目立项申请表单区域 -->
-    <div class="projectApplicationApplyPAapply">
-      
-      <!-- 上方导航区开始 -->
-      <div class="PAheader">   
-          <div class="PAheaderBlock" :style="{opacity: status!=0?0.8:1}" @click="status=0">
-            <img src="@/assets/vector/first.png" class="vector" alt="">
-            立项基础信息
-          </div>
-          <div class="PAheaderBlock" :style="{opacity: status!=1?0.8:1}" @click="status=1">
-            <img src="@/assets/vector/second.png" class="vector" alt="">
-            项目内容
-          </div>
-          <div class="PAheaderBlock" :style="{opacity: status!=2?0.8:1}" @click="status=2">
-            <img src="@/assets/vector/fouth.png" class="vector" alt="">
-            预算经费
-          </div>
-      </div>
-      <!-- 上方导航区结束-->
-
-      <!--下方内容区开始-->
-      <div class="Main_area">
-        <!-- 学生创客项目 5e21b204-c206-11ed-a4cd-509a4c5b67cf -->
-        <!-- 特色创客空间建设项目 5f7a66d5-c206-11ed-a4cd-509a4c5b67cf -->
-        <!-- <projectApplicationApply :data="projectApplicationApply1" :next="next"  :back="back"/> -->
-        <projectApplicationApply :data="projectApplicationApply1" :next="next"  :pageType="pageType" v-if="status==0 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <projectApplicationApply2 :data="projectApplicationApply2" :next="next" :back="back" v-if="status==1 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <projectApplicationApply3 :data="projectApplicationApply3" :confirmSetFund="confirmSetFund" :data2="pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'?projectApplicationApply1:MakerSpace" :next="next" :back="back" :submitBtn="submitBtn" v-show="status==2"/> 
-
-        <!-- 特色创客空间建设项目 -->
-        <projectApplicationApplyMakerSpace :data="MakerSpace" :type="pageType" :option="projectApplicationApply1.sortOptions" :next="next" :back="back" v-if="status==0 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <projectApplicationApplyMakerSpace2 :data="MakerSpace2" :next="next" :back="back" v-if="status==1 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <!-- <projectApplicationApply :data="projectApplicationApply1" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/> -->
-        <!-- <projectApplicationApplyMakerSpace :data="MakerSpace" :next="next"  :back="back" v-if="status==0 && pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/> -->
-      </div>
-       <!--下方内容区结束-->
-
-      <!-- 提交对话框开始 -->
-        <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="pageSubmitData"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定提交“{{pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'?projectApplicationApply1.select.projectName:MakerSpace.select.projectName}}”项目立项?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 提交对话框结束 -->
-
-      <!-- 选择分类开始 -->
-      <el-dialog
-          title="选择分类"
-          :visible.sync="selectType"
-          width="600px"
-          class="pageSubmitData"
-          :close-on-click-modal='false'
-          :close-on-press-escape="false"
-          :show-close="false"
-          >
-          <!-- <div class="addDialogLogo">LOGO</div> -->
-          <div class="TypeBox">
-            <div class="selectType" v-for="(item,index) in projectApplicationApply1.sortOptions" :key="index">
-              <el-tooltip class="item" v-for="(item2,index2) in item['children']" :key="index2" effect="dark" :content="item.label+'('+item2.label+')'" placement="top">
-              <div class="TypeCard" @click="changeType(item.value,item2.value)">
-                <img src="@/assets/img/file.png" alt="">
-                <span>{{item.label}}</span>
-                <span>({{ item2.label }})</span>
-              </div>
-              </el-tooltip>
-         
-            </div>
-              <!-- <div style="margin-right: 10px;">选择分类</div> -->
-              <!-- <el-cascader v-model="pageType" :options="projectApplicationApply1.sortOptions" clearable></el-cascader> -->
-          </div>
-
-          <span slot="footer" class="dialog-footer">
-            <!-- <el-button type="primary" @click="selectTypeButton" class="AllDialogBtn">确定</el-button> -->
-            <el-button @click="$router.back()" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 选择分类结束 -->
-  </div>
-  </template>
-  
-  <script>
-  // 引入项目详情三个页面
-  // import { uuid } from 'vue-uuid';
-  //学生创业项目
-  import projectApplicationApply from './components/projectApplicationApply.vue';
-  import projectApplicationApply2 from './components/projectApplicationApply2.vue';
-  import projectApplicationApply3 from './components/projectApplicationApply3.vue';
-  //创客空间建设项目立项申报
-  import projectApplicationApplyMakerSpace from './components/projectApplicationApplyMakerSpace.vue';
-  import projectApplicationApplyMakerSpace2 from './components/projectApplicationApplyMakerSpace2.vue'
-      export default {
-        // 进行注册使用
-        components:{
-          projectApplicationApply,
-          projectApplicationApply2,
-          projectApplicationApply3,
-          projectApplicationApplyMakerSpace,
-          projectApplicationApplyMakerSpace2,
-        },
-        data() {
-          return {
-            // selectType:true,     //选择分类对话框
-            selectType:true,     //选择分类对话框
-            pageType:[],         //判断页面显示分类   学生创客项目    学院特色创客空间   
-            status:0,   //判断顶部导航跳转
-            submitHint:false,   //提交按钮
-
-            //创客空间建设项目立项申报数据
-            MakerSpace:{
-                dialogImageUrl:"",  //封面
-                select:{    //基本信息数据框
-                  projectName:'', //项目名称
-                  person:'',  //项目负责人
-                  Data:[],  //项目时间
-                  value:"",   //部门
-                  fund:0,  //预算总经费
-                  leader:"",//学院牵头领导
-                },
-                options: [],  //部门下拉框
-                textarea:'',   //项目简介
-                teacherData:[],//教师组
-                studentData:[],//学生组
-            },
-            //创客空间建设项目立项申报项目内容数据
-            MakerSpace2:{
-                Construction:"",//建设内容
-                ProjectBasis:"",//立项依据
-                development:"",//创客空间物理环境、制度建设及软件设施建设情况
-                studio:"",//学生创客工作室建设情况
-                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
-                studentActivities:"",//学生创客活动组织实施情况
-                Transforming:"",//学生创客团队孵化、转化创业项目情况
-                condition:"",//立 项基 础及条 件
-
-            },
-
-            projectApplicationApply1:{   //立项基础信息页面
-                amendMemberDialog:false,  //修改人员对话框显示判断
-                telVerify:true,    //判断基础信息里联系电话
-
-                dialogImageUrl:"",  //封面!!!!!!!!
-                tableStudentData:[],  //学生成员成员列表!!!!!!!!
-                tableTeacherData:[],  //老师成员成员列表!!!!!!!
-                textarea:'',   //项目简介!!!!!!!
-                select:{    //要提交的数据!!!!!!!!!!!!!!!!!!!!!!!
-                  projectName:'',     //项目名称
-                  leader:'',          //项目负责人
-                  projectDate:'',   //开始结束日期
-                  department:"",   //部门
-                  fund:'',         //资金
-                  MultiSelectProjectNameS:[],   //优先支持项目
-                  schoolRemould:'',        //校园改造项目
-                  tel:'',  //电话
-                  projectApplyPerson:'',  //项目申请人
-                },
-                departmentOptions: [],  //部门下拉框
-                sortOptions: []//分类下拉框,
-
-            },
-
-            projectApplicationApply2:{  //项目内容页面
-                  back:'',
-                  innovate:'',
-                  path:'',
-                  scene:'',
-                  worth:'',
-                  team:'',
-                  cost:'',
-                  expectResults:'',
-                  expectResultsTeacher:'',
-                  expectConversion:'',
-                  plan:''
-            },
-            projectApplicationApply3:{  //预算经费页面
-                tableData:  // 经费月支出计划列表数据默认显示数据
-                [
-                  {
-                    one:'-',
-                    two:'-',
-                    three:'-',
-                    four:'-',
-                    five:'-',
-                    six:'-',
-                    seven:'-',
-                    eight:'-',
-                    nine:'-',
-                    ten:'-',
-                    eleven:'-',
-                    twelve:'-',
-                    remark:'-'
-                  }
-                ],
-                items:{   //经费月支出计划dialog对话框要提交的数据
-                    one:'',
-                    two:'',
-                    three:'',
-                    four:'',
-                    five:'',
-                    six:'',
-                    seven:'',
-                    eight:'',
-                    nine:'',
-                    ten:'',
-                    eleven:'',
-                    twelve:'',
-                    remark:''
-                },
-                items2:{}, //复制items,可以确定后清除数据
-                tableData2:[],// 经费明细列表数据
-               
-                dialog:{     //经费明细添加对话框
-                  // id:'',
-                  fund:'',  //金额
-                  type:'',  //支出类别
-                  disburseProject:'',  //支出项目
-                  textarea:'',  //备注
-                  isOk:''
-                },
-            }
-          }
-        },
-        methods:{ 
-          
-          selectTypeButton(){            //分类选项 学生 学校
-            // this.$message.error('请选择分类')
-            // console.log(this.pageType[0]==false);
-            if (!this.pageType[0]) return this.$message.error('请选择分类')
-            this.selectType=false
-          },
-          next(){   //顶部导航栏页面下一条跳转
-                if(this.status>=2)return;
-                this.status++;
-            },
-            back(){  //顶部导航栏页面上一条
-                if(this.status==0)return;
-                this.status--;
-            },
-            getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        console.log(res.data[0]);
-                        let p=res.data[0]
-                        let a=this.projectApplicationApply1
-                        a.options=p
-                        this.MakerSpace.options = p;
-                        this.projectApplicationApply1.departmentOptions=p;
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-            getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-              let TypeList = [];
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllType',param)
-                      .then(res=>{
-                        console.log(res.data);
-                        //获取主分类
-                        let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                        // console.log(master);
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        // console.log(TypeList);
-                        this.projectApplicationApply1.sortOptions = TypeList;
-                        
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-            //立项基础信息页面删除功能在它自己页面人员信息
-            changeType(type1,type2){//修改分类信息
-              this.pageType = [type1,type2];
-              this.selectType = false;
-            },
-
-            init(){
-                //重置
-                this.submitHint=false;
-                // this.selectType=false
-                
-            },
-            confirmSetFund(){   //预算经费经费月支出计划对话框提交
-              let data=this.projectApplicationApply3;
-              for(let key in data.items){
-                if (data.items[key]=='') {
-                  data.items[key]='-'
-                }
-              }
-               Object.assign(data.tableData[0],data.items) 
-               this.$message.success('设置经费成功')             
-              },
-
-            submitBtn(){   //预算经费页面提交显示对话框
-                //先判断项目名称是否为空
-                if(this.pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'){//学生创客项目
-                    if(this.projectApplicationApply1.select.projectName=='')return this.$message.error("请先输入项目名称")
-                    this.submitHint = true;
-                }else if(this.pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){//特色创客空间建设项目
-                  if(this.MakerSpace.select.projectName=="")return this.$message.error("请先输入项目名称");
-                    this.submitHint = true;
-                }else{
-                  return this.$message.error("项目分类错误")
-                }
-            },
-            submitAll(){
-              if(this.pageType[0]=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'){//学生创客项目
-                //在这里判断数据
-              this.submitData()
-
-              }else if(this.pageType[0]=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'){//特色创客空间建设项目
-                //在这里判断项目
-                this.InsertProjectMakerSpace();
-              }
-            },
-            submitData(){  //提交学生创业项目
-
-              let a=this.projectApplicationApply1;
-              let b=this.projectApplicationApply2;
-              let c=this.projectApplicationApply3
-
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                tit:a.select.projectName,
-                leader:a.select.leader,
-                begDate:a.select.projectDate[0],
-                endDate:a.select.projectDate[1],
-                department:a.select.department,
-                fund:a.select.fund,
-                imgsrc:a.dialogImageUrl,
-                teacher:JSON.stringify(a.tableTeacherData),
-                student:JSON.stringify(a.tableStudentData),
-                con:a.textarea,
-                chapters:JSON.stringify(b),
-                tid:this.pageType[0],
-                tName:this.pageType[1],
-                // message:JSON.stringify([d,[newData1,c.tableData2]]),
-                mon:JSON.stringify(this.projectApplicationApply3),//预算经费,
-                tel:a.select.tel,
-                Mul:JSON.stringify(a.select.MultiSelectProjectNameS),
-                schoolRemould:a.select.schoolRemould,
-                person:a.select.projectApplyPerson,
-              }
-              const cEmpty = /^\s*$/g;
-              for(let i in param){
-                switch(i){
-                  case 'leader':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                    break;
-                  case 'begDate':
-                    if(!param[i])return this.$message.error("请选择项目开始时间")
-                    break;
-                  case 'department':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                    break;
-                  case "fund":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入预算经费")
-                    break;
-                  case 'Mul':
-                    if(!JSON.parse(param[i]).length) return this.$message.error("请选择优先支持项目")
-                    break;
-                  case 'schoolRemould':
-                    if(!param[i])return this.$message.error("请选择美丽校园改造项目")
-                    break;
-                  case "tel":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入联系方式")
-                    break;
-                  case 'person':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目申请人")
-                    break;
-                  case 'imgsrc':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                    break;
-                  case 'teacher':
-                    if(JSON.parse(param[i]).length<2 || JSON.parse(param[i]).length>3)return this.$message.error("需要教师团队2-3人,至少应包含1名教研室主任")
-                    break;
-                  case 'student':
-                    if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                    break;
-                  case 'con':
-                    console.log(param[i].length);
-                    if(param[i].length<200 || param[i].length>=300)return this.$message.error("项目简介需要200-300字")
-                    break;
-                }
-              }
-              // return console.log(param);
-                this.ajax
-                      .post(this.$store.state.api+'/InsertProjectStudent',param)
-                      .then(res=>{
-                        console.log(res)
-                        if(res.data==1){
-                          this.$message.success("创建成功")
-                          this.$router.push('projectApplication')
-                        }else{
-                          this.$message.error("创建失败")
-                        }
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-            //添加特色创客空间建设项目立项申报
-            InsertProjectMakerSpace(){
-              let param = {
-                uid:this.$store.state.userInfo.userid,//用户ID,
-                title:this.MakerSpace.select.projectName,//项目名称
-                pro_leader:this.MakerSpace.select.person,//项目负责人
-                startTime:this.MakerSpace.select.Data[0],//项目开始时间
-                endTime:this.MakerSpace.select.Data[1],//项目结束时间
-                classid:this.MakerSpace.select.value,//部门ID
-                fund:this.MakerSpace.select.fund,//预算总经费
-                lead_leader:this.MakerSpace.select.leader,//学院牵头领导
-                image:this.MakerSpace.dialogImageUrl,//项目封面
-                course_teacher:JSON.stringify(this.MakerSpace.teacherData),//教师团队
-                course_student:JSON.stringify(this.MakerSpace.studentData),//学生团队
-                brief:this.MakerSpace.textarea,//项目简介
-                chapters:JSON.stringify(this.MakerSpace2),//项目内容
-                typeid:this.pageType[0],//分类一级ID
-                typeName:this.pageType[1],//分类二级
-                mon:JSON.stringify(this.projectApplicationApply3),//预算经费,
-              }
-              //判断数据
-              const cEmpty = /^\s*$/g;
-              for(let i in param){
-                switch(i){
-                  case 'pro_leader':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                    break;
-                  case 'startTime':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目开始时间")
-                    break;
-                  case 'endTime':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目计划结束时间")
-                    break
-                  case 'classid':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                    break;
-                  case "lead_leader":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入学院牵头领导")
-                    break;
-                  case 'image':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                    break;
-                  case 'course_teacher':
-                    if(JSON.parse(param[i]).length<3)return this.$message.error("需要教师团队3人以上,至少应包含1名教研室主任")
-                    break;
-                  case 'course_student':
-                    if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                    break;
-                  case 'brief':
-                    if(param[i].length<200&&param[i]<=300)return this.$message.error("项目简介需要200-300字")
-                    break;
-                }
-              }
-              this.ajax.post(this.$store.state.api+"/InsertProjectMakerSpace",param).then(res=>{
-                if(res.data==1){
-                  this.$message.success("提交成功")
-                  this.$router.push('/projectApplication')
-                }else{
-                  this.$message.error("提交失败")
-                }
-              }).catch(err=>{
-                console.log(err)
-              })
-            }
-           
-        },
-        created(){      //实例初始化完成后调用
-            this.getProjectDepartmentData()   //获取项目立项申请基础信息页面所在部门数据
-            this.getProjectTypeData()   //获取项目立项申请基础信息页面分类数据
-            // this.submitData()
-            // if(this.$route.query["id"]){
-            //   //弹窗
-            // }else{
-            //   // this.$route.push(`/projectApplicationApplyMain?id=`)
-            // }
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .projectApplicationApplyPAapply{
-      width: 100%;
-      background: #e6eaf0;
-      display: flex;
-      flex-direction: column;
-      align-items: center;
-
-
-
-  // 顶部导航区开始
-      .PAheader{
-        width: 71.4%;
-        height: 70px;
-        position: relative;
-        top: 15px;
-        border-radius: 5px;
-        background: #ffffff;
-        display: flex;
-        justify-content: center;
-        align-items: center;
-    
-          .PAheaderBlock{
-            background: #4a83d0;
-            width: 13%;
-            height: 70%;
-            border-radius: 10px;
-            display: flex;
-            justify-content: center;
-            align-items: center;
-            color: #fff;
-            font-size: 16px;
-            cursor: pointer;
-          }
-          .PAheaderBlock:nth-of-type(2){
-            margin: 10%;
-          }
-      }  
-      .vector{  //矢量图大小
-          height: 50%;
-          margin-top: 5px;
-        }
-        .Main_area{  //宽度
-          width: 75%;
-          min-height: 80%;
-          margin-bottom: 20px;
-        }
-  // 顶部导航区结束
-
-
-
-   .right{
-        width: 83%;
-        background: #fff;
-        box-sizing: border-box;
-        padding: 15px 30px;
-        min-height: 740px;
-        // margin-bottom: 60px;
-        border-radius: 5px;
-   }
-
-  // 左边栏开始
-  .left{
-      width: 10%;
-      min-width: 110px;
-      height: 740px;
-      background: #32455b;
-      display: flex;
-      justify-content: center;
-      margin-right: 2%;
-      box-sizing: border-box;
-      padding: 0 10px;
-      border-radius: 5px;
-      .leftTits{
-        display: flex;
-        flex-direction: column;
-        margin: 50px 0 0 10px;
-        div{
-          width: 97px;
-          color: #fff;
-          cursor: pointer;
-          margin-bottom: 30px;
-          p{
-            white-space: nowrap;
-            overflow: hidden;
-            text-overflow:ellipsis;
-          }
-        }
-      }
-      div:hover{
-        color: #ccc;
-      }
-      .sx{
-        margin-top: 53.5px;
-        margin-left: 8px;
-        width: 1px;
-        height: 400px;
-        background: #84888d;
-        .qiu{
-          width: 10px;
-          height: 10px;
-          background: #fff;
-          border-radius: 50px;
-          margin-left: -4.5px;
-        }
-      }
-    }
-  // 左边栏结束
-  .TypeBox{
-    display: flex;
-    align-items: flex-start;
-    .selectType{
-      display: flex;
-      justify-content: center;
-      align-items: center;
-      .TypeCard{
-        display: flex;
-        flex-direction: column;
-        justify-content: center;
-        align-items: center;
-        width: 90px;
-        padding: 10px;
-        cursor: pointer;
-        span{
-          width: 100%;
-          display: block;
-          overflow: hidden;
-          text-overflow: ellipsis;
-          white-space: nowrap;
-          &:nth-child(3){
-            display: flex;
-            justify-content: center;
-          }
-        }
-        img{
-          width: 50px;
-          height: 50px;
-        }
-        &:hover{
-          background-color: #d4dde1;
-        }
-      }
-    }
-  }
-
-}
-
-
-  </style>

+ 4 - 11
src/views/projectApply/projectApplicationDetailMain.vue

@@ -1,12 +1,10 @@
   <template>
   <div>
         <!-- 项目立项申请查看详细项目基本内容 -->
-        <!-- <div class="projectApplication1" v-loading="loading"> -->
         <div class="projectApplication1">
             <div class="vfpHeader">
                 <div class="titleOne">项目立项详细</div>
-                <span class="smallTitle">创客空间</span>
-                <el-button @click="$router.back()" type="primary" size="mini">返回</el-button>
+                <el-button @click="back()" type="primary" size="mini">返回</el-button>
             </div>
             <hr>
         </div>
@@ -20,14 +18,9 @@
 </template>
 
 <script>
-// import projectApplicationDetails from './components/projectApplicationDetails.vue'
-// import projectApplication2 from './components/projectApplication2.vue'
-// import projectApplicationMakerSpaceDetails from './components/projectApplicationMakerSpaceDetails.vue'
-// import projectApplicationMakerSpaceDetails2 from './components/projectApplicationMakerSpaceDetails2.vue'
 import MakerSpaceWordDetail from './components/MakerSpaceWordDetail.vue';
 import studentProjectWordDetail from './components/studentProjectWordDetail.vue'
     export default {
-        // components:{projectApplicationDetails,projectApplication2,projectApplicationMakerSpaceDetails,projectApplicationMakerSpaceDetails2},
         components:{MakerSpaceWordDetail,studentProjectWordDetail},
         data() {
             return {
@@ -36,9 +29,9 @@ import studentProjectWordDetail from './components/studentProjectWordDetail.vue'
             }
         },
         methods:{
-           
-            
-            
+           back(){
+            this.$router.push('/projectApplication')
+           }
         },
         mounted(){
             // console.log(this.$route.query['Id'])

+ 128 - 58
src/views/projectManage/ProjectManagement.vue

@@ -89,48 +89,124 @@
 
       </div>
       <div class="ProjectManagementQuery">
-        <el-input v-model="selectText" placeholder="请输入项目名称"></el-input>
-        <el-button type="primary" class="btn" size="mini">查询</el-button>
+        <el-input v-model="selectText" placeholder="请输入项目名称/编号"></el-input>
+        <el-button type="primary" class="btn" size="mini" @click="getData">查询</el-button>
       </div>
     </div>
 <!-- 搜索栏结束 -->
       
-      
-<!-- 循环展示框列表开始 -->
-    <div class="projectBlock core_dialogue">
-      <div class="classBlock" v-for="(item,index) in items" :key="index">
-        <div class="projectBlockPosition">
-          <!-- {{ item.isupload }} -->
-          <span v-if="item.isupload==2">进行中</span>
-          <span v-if="item.isupload==3">待结题</span>
-          <span v-if="item.isupload==4">已结题</span>
+      <!-- 表格开始 -->
+    <div>
+      <el-table
+        ref="multipleTable"
+        :data="items"
+        tooltip-effect="dark"
+        stripe
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }">
+        <el-table-column
+          prop="ProjectNo"
+          label="项目编号"
+          align="center"
+          min-width="9%">
+        </el-table-column>
+        <el-table-column
+          prop="title"
+          label="项目名称"
+          align="center"
+          min-width="10%">
+        </el-table-column>
+        <el-table-column
+          prop="pro_leader"
+          align="center"
+          label="项目负责人"
+          min-width="9%">
+        </el-table-column>
 
-        </div>
-        <img :src="item.image" alt="">
-        <div class="classBlock1">
-            <div class="classBlock2">{{ item.title }}</div>
-            <div class="classBlock3">
-              <div><span style="color: #000;">创建日期:</span>{{ item.createTime }}</div>
+        <el-table-column
+          prop="dName"
+          align="center"
+          label="所在部门"
+          min-width="10%">
+          
+        </el-table-column>
+        <el-table-column
+          prop="tName"
+          align="center"
+          label="分类"
+          min-width="10%">
+        </el-table-column>
+        <el-table-column
+          prop="fund"
+          label="预算(万)"
+          align="center"
+          min-width="8%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.fund/10000 }}
             </div>
-            <div class="classBlock3">
-              <div><span style="color: #000;">修改日期:</span>{{ item.updateTime}}</div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="startTime"
+          align="center"
+          label="开始时间"
+          min-width="9%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.startTime.split(' ')[0] }}
             </div>
-        </div>
-
-            <div class="classBlockBtn">
-              <span @click="scheduleDetail(item.courseId,item.typeid)">进度详细</span>
-              <span @click="fundStatus(item.courseId)">资金情况</span>
-              <!-- <span v-show="item.isupload==0"  @click="$message.error('请先进行项目立项审核')">结项</span> -->
-              <span v-show="item.isupload==2"  @click="finish(item.courseId,item.title)">结项</span>
-              <span v-show="item.isupload==3"  @click="amendFinish(item.courseId,item.title)" >修改结项</span>
-              <span v-show="item.isupload==4" style="color: gray;cursor: no-drop;">已结项</span>
-        
-                          
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="phone"
+          align="center"
+          label="联系电话"
+          min-width="10%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.phone!=null||scope.row.phone==''?scope.row.phone:"-" }}
             </div>
-       
-      </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="state"
+          label="状态"
+          align="center"
+          min-width="6%">
+          <template #default="scope">
+                <div>
+                    <!-- {{scope.row.name + (scope.row.status==0?"":"(已屏蔽)")}} -->
+                    <!-- {{ (scope.row.isupload==0?"未审核": scope.row.data==1?"正在审核":"已审核")  }} -->
+
+                    <span v-if="scope.row.isupload==0">未审核</span>
+                    <span v-if="scope.row.isupload==1">审核中</span>
+                    <span v-if="scope.row.isupload==2">进行中</span>
+                    <span v-if="scope.row.isupload==3">待结项</span>
+                    <span v-if="scope.row.isupload==4">已结项</span>
+
+                </div>
+            </template>
+        </el-table-column>
+        <el-table-column
+          prop="operation"
+          width="300"
+          align="center"
+          label="操作"
+          >
+          <template #default="scope">
+              <div class="operations">
+                <el-button type="primary" @click="scheduleDetail(scope.row.courseId,scope.row.typeid)"   size="mini" >进度详细</el-button>
+                <el-button type="primary" @click="fundStatus(scope.row.courseId)"  size="mini" >资金情况</el-button>
+                <el-button type="primary" v-show="scope.row.isupload==2"  @click="finish(scope.row.courseId,scope.row.title)"   size="mini">结项</el-button>
+                <el-button type="primary" v-show="scope.row.isupload==3"  @click="amendFinish(scope.row.courseId,scope.row.title)" size="mini">修改结项</el-button>
+                <el-button type="primary" v-show="scope.row.isupload==4" disabled class="disa" size="mini">已结项</el-button>
+              </div>
+          </template>
+        </el-table-column>
+      </el-table>
     </div>
-<!-- 循环展示框列表结束 -->
+<!-- 表结束 -->
 
     <!-- 完结对话框开始 -->
     <el-dialog
@@ -139,11 +215,11 @@
       width="600px"
       class="endDialog"
       :before-close="init">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="deleteContent">"{{ tit }}"项目,是否确定完结?</div>
       <div class="download checkActivity" v-show="checkFundEndData.length>0">
-            <span style="color: black;">剩余资金:</span><span style="cursor: pointer;" @click="fundDetail(item.id)" v-for="(item,index) in checkFundEndData" :key="index" >{{ item.type }}/{{ item.fund - item.usedFund }}
-              (元)</span>
+            <span style="color: black;">剩余资金:</span>
+            <!-- <span style="cursor: pointer;" @click="fundDetail(item.id)" v-for="(item,index) in checkFundEndData" :key="index" >{{ item.type }}/{{ item.fund - item.usedFund }}(元)</span> -->
       </div>
       <div class="deleteContent1">活动完结报告</div>
         <div class="download" v-for="item in file" :key="item.fid">
@@ -173,14 +249,14 @@
       width="600px"
       class="endDialog"
       :before-close="init">
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="deleteContent">"{{ tit }}"项目</div>
       <div class="download checkActivity" v-show="checkActivityFinishData.length>0">
             <span style="color: black;">未完结活动:</span><span v-for="(item,index) in checkActivityFinishData" :key="index">{{ item.title }}</span>
       </div>
       <div class="download checkActivity" v-show="checkFundFinishData.length>0">
-            <span style="color: black;">未完结资金:</span><span style="cursor: pointer;" @click="fundDetail(item.id)" v-for="(item,index) in checkFundFinishData" :key="index" >{{ item.type }}/{{ item.fund - item.usedFund }}
-              (元)</span>
+            <span style="color: black;">未完结资金:</span>
+            <!-- <span style="cursor: pointer;" @click="fundDetail(item.id)" v-for="(item,index) in checkFundFinishData" :key="index" >{{ item.type }}/{{ item.fund - item.usedFund }}(元)</span> -->
       </div>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="init" class="AllDialogBtn">确认</el-button>
@@ -206,7 +282,6 @@
 
 <script>
 import beUpload from '../../components/tool/beUpload'
-import { getNowDate } from '@/components/tool/Date';
     export default {
       components:{beUpload},
       data() {
@@ -295,13 +370,14 @@ import { getNowDate } from '@/components/tool/Date';
             uid:this.$store.state.userInfo.userid,
             pid:val
           }).then(res=>{
-            this.checkFundEndData = res.data[1].filter(i=>{
-              return (i.fund !=i.usedFund)
-            })
+            console.log(res);
+            // this.checkFundEndData = res.data[1].filter(i=>{
+            //   return (i.fund !=i.usedFund)
+            // })
 
-            this.checkFundEndData=res.data[1].filter(i=>{
-                  return (i.fund != i.usedFund)
-            })
+            // this.checkFundEndData=res.data[1].filter(i=>{
+            //       return (i.fund != i.usedFund)
+            // })
 
             let data=JSON.parse(res.data[0][0].endFile)
             this.file=data;
@@ -314,8 +390,8 @@ import { getNowDate } from '@/components/tool/Date';
           })
         },
         ending(){   //完结提交
-          console.log(this.file.length);
-          if(this.file.length<1)return this.$message.error("请上传完结报告");
+          // console.log(this.file.length);
+          // if(this.file.length<1)return this.$message.error("请上传完结报告");
           this.ajax.post(this.$store.state.api+"/UploadProjectManageFile",{
             uid:this.$store.state.userInfo.userid,
             cid:this.iid,
@@ -335,12 +411,12 @@ import { getNowDate } from '@/components/tool/Date';
           })
           this.endDialog=false;
         },
-        scheduleDetail(val,tid){           //进度详情
+        scheduleDetail(val,tid){//进度详情
           this.$router.push(`/ProjectManagementMain?Id=${tid}&pid=${val}`)
         },
-        fundStatus(Id){     //资金情况
+        fundStatus(Id){//资金情况
           // localStorage.setItem('pid',JSON.stringify(Id))
-          this.$router.push(`/ProjectManagementFund1?pid=${Id}`)
+          this.$router.push(`/ProjectManagementFundDetail?pid=${Id}`)
         },
         init(){       //对话框重置
           this.endDialog=false;
@@ -396,6 +472,7 @@ import { getNowDate } from '@/components/tool/Date';
             .get(this.$store.state.api+'/SelectAllProjectManagement',param)
               .then(res=>{
                 let data=res.data;
+                console.log(data)
                 if (data[0].length==0 && data[5][0]['total'] != 0&&this.table.currentPage!=1) {
                   this.table.currentPage=1
                   return this.getData()
@@ -418,13 +495,6 @@ import { getNowDate } from '@/components/tool/Date';
         }
      },
      watch:{    //监视选择框的变化,实施刷新表格数据
-      selectText:{
-            handler(){
-              immediate:true
-              deep:true
-              this.getData()
-            }
-          }
       },
      mounted(){
       this.getData()   //页面加载完成后自动获取渲染数据

+ 0 - 307
src/views/projectManage/ProjectManagementFund1.vue

@@ -1,307 +0,0 @@
-<template>
-  <!-- 项目管理 项目资金使用情况 -->
-  <div class="ProjectManagementFund1" v-loading="loading">
-        <div class="vfpHeader">
-            <div class="titleOne">预算经费</div>
-            <el-button type="primary" @click="back">返回</el-button>
-        </div>
-          <hr>
-
-
-          <!-- 跳转导航开始 -->
-          <div class="AppBar">
-              <div @click="content" class="AppBarActive">
-                项目资金使用详情
-                <div class='pr1TitBass'></div>
-              </div>
-              <div @click="remark">资金申报明细</div>
-          </div>
-
-          <!-- 三个输入框开始 -->
-          <div class="totalFund">
-            <div class="totalFund1">
-                <div class="totalFundLabel">预算总经费</div>
-                <el-input v-model="allFund" placeholder="请输入内容"></el-input><span>(万)</span>
-            </div>
-            <div class="totalFund1">
-                <div class="totalFundLabel" style="display: flex;justify-content: flex-end;">已经支出</div>
-                <el-input v-model="useFund" placeholder="请输入内容"></el-input><span>(万)</span>
-            </div>
-            <div class="totalFund1">
-                <div class="totalFundLabel" style="display: flex;justify-content: flex-end;">剩余</div>
-                <el-input v-model="remainFund" placeholder="请输入内容"></el-input><span>(万)</span>
-            </div>
-          </div>
-          <!-- 三个输入框结束 -->
-
-          <!-- 经费月支出计划开始 -->
-            <div class="tabTit">
-              <div><p>经费月支出计划(元)</p></div>
-            </div>
-            <el-table
-              :data="tableData"
-              tooltip-effect="dark"
-              stripe
-              class="fontSize core_dialogue"
-              :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-              >
-              <el-table-column
-                prop="one"
-                label="1月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="two"
-                label="2月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="three"
-                label="3月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="four"
-                label="4月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="five"
-                label="5月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="six"
-                label="6月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="seven"
-                label="7月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="eight"
-                label="8月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="nine"
-                label="9月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="ten"
-                label="10月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="eleven"
-                label="11月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="twelve"
-                label="12月"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="remark"
-                label="备注"
-                align="center"
-                width="100">
-
-              </el-table-column>
-            </el-table>
-          <!-- 经费月支出计划结束-->
-
-          <!-- 经费明细开始 -->
-            <div class="tabTit">
-              <div><p>经费明细</p></div>
-              <!-- <el-button type="primary" @click="addBtn" >设置</el-button> -->
-            </div>
-
-            <el-table
-              :data="tableData2"
-              tooltip-effect="dark"
-              stripe
-              class="fontSize"
-              style="height: 360px;"
-              :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-              >
-              <el-table-column
-                prop="type"
-                label="支出类别"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="disburseProject"
-                label="支出项目"
-                align="center"
-                >
-              </el-table-column>
-              <el-table-column
-                prop="fund"
-                label="金额(元)"
-                align="center"
-                >
-              </el-table-column>
-<!--               
-              <el-table-column
-                prop="state"
-                label="状态"
-                align="center"
-                >
-              </el-table-column> -->
-              <el-table-column
-                prop="textarea"
-                label="备注"
-                align="center"
-               >
-              </el-table-column>
-              <!-- <el-table-column
-                prop="operation"
-                align="center"
-                label="操作"
-                >
-                <template #default="scope">
-                    <div class="operations">
-                            <el-button type="primary" @click="lookDetail(scope)" size="mini">明细查看</el-button>
-                    </div>
-                </template>
-                </el-table-column> -->
-            </el-table>
-          <!-- 经费明细结束 -->
-            
-          <!-- <div class="pmFund1Footer">
-            <el-pagination
-            background
-            layout="prev, pager, next"
-            :total="1">
-            </el-pagination>
-          </div> -->
-</div>
-</template>
-
-<script>
-    export default {
-      data() {
-        return {
-          dialogVisible1:false,
-          fundDetail:false,
-          allFund:0,  //总经费
-          useFund:0,   //已使用
-          remainFund:0,  //剩余多少钱
-          tableData:[],  //经费月支出经费计划
-          tableData2:[],  //经费明细
-          textarea:'',
-          input:'',
-          value: '',
-          loading:false,
-        }
-      },
-      methods:{
-        getData(){   //初始化完成获取基本数据进行填充
-          this.loading = true;
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query['pid']
-            }
-              this.ajax
-                    .get(this.$store.state.api+'/GetProjectDetailMessage',param)
-                    .then(res=>{
-                      let data = res.data[0][0]
-                      let fund = JSON.parse(data['money'])
-                      this.tableData = fund['tableData']
-                      this.tableData2 = fund['tableData2']
-                      this.allFund = data['fund']
-                      this.tableData2.forEach((e)=>{
-                        this.useFund=this.useFund+e.fund
-                      })
-                      this.useFund=this.useFund / 10000
-                      this.remainFund=this.allFund - this.useFund
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-        content(){
-          this.$router.push(`/ProjectManagementFund1?pid=${this.$route.query['pid']}`)
-        },
-        remark(){
-          this.$router.push(`/ProjectManagementFund2?pid=${this.$route.query['pid']}`)
-        },
-        back(){
-          this.$router.push('/ProjectManagement')
-        }
-      },
-      mounted(){
-        this.getData()
-      }
-    }
-</script>
-
-<style lang="less">
-.ProjectManagementFund1{
-
-
-
-  .pmFund1Footer{
-      float: right;
-      margin-top: 30px;
-  }
-
-  .totalFund{  //输入框样式  
-    width: 85%;
-    display: flex;
-    justify-content: space-between;
-    line-height: 25px;
-    margin: 20px 0 30px;
-    .totalFundLabel{
-      min-width: 80px;
-      display: inline-block;
-      text-align: justify;
-      text-justify:distribute-all-lines;
-      text-align-last: justify;
-      padding-right: 10px;
-      font-size: 16px;
-    }
-    .totalFund1{
-      width:320px;
-      display: flex;
-      align-items: center;
-      position: relative;
-      margin-right: 40px;
-      span{
-        position: absolute;
-        top: 8px;
-        right: -30px;
-      }
-    }
-  
-  }
-.el-table .cell{
-        // 不换行
-        white-space:nowrap !important;
-    }
-  
-
-  .newWidth{
-    width: 150px;
-  }
-
-}
-</style>

+ 0 - 245
src/views/projectManage/ProjectManagementFund2.vue

@@ -1,245 +0,0 @@
-<template>
-  <!-- 项目管理 资金申报明细 -->
-    <div class="ProjectManagementFund2" v-loading="loading">
-        <div class="vfpHeader">
-            <div class="titleOne">预算经费</div>
-            <el-button type="primary" @click="$router.push('/ProjectManagement')">返回</el-button>
-        </div>
-          <hr>
-         <!-- 跳转导航开始 -->
-         <div class="AppBar">
-              <div @click="content">项目资金使用详情</div>
-              <div @click="remark" class="AppBarActive">
-                资金申报明细
-                <div class='pr1TitBass'></div>
-              </div>
-          </div>
-          <!-- 跳转导航结束 -->
-              
-
-      <!-- 表格开始 -->
-      <el-table
-        ref="multipleTable"
-        :data="tableData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        
-        <el-table-column
-          prop="title"
-          align="center"
-          label="活动名称"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="pro_leader"
-          align="center"
-          label="负责人"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="type"
-          align="center"
-
-          label="项目类型"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="fund"
-          align="center"
-          label="申请经费(元)"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="name"
-          align="center"
-          label="所在部门"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="dateTime"
-          align="center"
-          label="申请时间"
-         >
-        </el-table-column>
-      </el-table>
-      <!-- 表格结束 -->
-
-
-        <el-pagination
-        background
-        class="paginations"
-        layout="prev, pager, next"
-        :total="1">
-        </el-pagination>
-
-  </div>
-  </template>
-  
-  <script>
-      export default {
-        data() {
-          return {
-            tableData:[],
-            loading:false,
-          }
-        },
-        methods:{
-          content(){
-            this.$router.push(`/ProjectManagementFund1?pid=${this.$route.query['pid']}`)
-          },
-          remark(){
-            this.$router.push(`/ProjectManagementFund2?pid=${this.$route.query['pid']}`)
-          },
-          getData(){
-            this.loading = true;
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              cid:this.$route.query['pid']
-            }
-            // console.log(param);
-            // return
-            this.ajax
-                .get(this.$store.state.api+'/SelectFundDetail',param)
-                .then(res=>{
-                    console.log(res.data[0]);
-                    this.tableData=res.data[0]
-                    this.loading = false;
-                },err=>{
-                    console.log(err);
-                })
-          },
-        },
-        mounted(){
-          this.getData()
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .ProjectManagementFund2{
- 
-     .right{
-      width: 100%;
-     }
-    .pmFund1Footer{   //分页
-       display: flex;
-       justify-content: flex-end;
-       margin: 20px 50px 0 0;
-    }
-
-
-  .projectApplicationfundAddDialog2{
-
-
-    .el-header {
-      background-color: #3d67bc;
-      color: #333;
-      text-align: center;
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-    }
-    .el-select-dropdown__item{
-      text-align: left;
-    }
-    .el-dialog__title{
-      color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-    }
-    font-size: 16px !important;
-    .el-dialog__header{
-      display: flex;
-      font-weight: bold;
-      justify-content: flex-start;
-    }
-    .el-dialog__body{
-      padding-top: 0px;
-    }
-    .dagSpan{
-      min-width: 65px;
-      max-width: 65px;
-      display: flex;
-      justify-content:flex-end;
-      margin-right: 9px;
-      align-items: center;
-      font-size: 16px;
-    }
-    .deleteContent1{
-      width: 55%;
-      margin-bottom: 10px;
-      display: flex;
-    }
-
-    .dagRemark{
-      display: flex;
-      margin: 20px 0px;
-      font-size: 16px;
-      font-weight: 550;
-    }
-    .dagInpS{
-      // width: 100%;
-      display: flex;
-      font-size: 16px;
-
-      justify-content: space-between;
-      .dagInpS1{
-        display: flex;
-        min-width: 23%;
-        max-width: 23%;
-        font-size: 16px;
-
-      }
-      .dagInpS1:nth-child(1){
-        min-width: 30%;
-        max-width: 30%;
-        .dagSpan{
-          font-size: 16px;
-          display: inline-block;
-          text-align: justify;
-          text-justify:distribute-all-lines;
-          text-align-last: justify;
-          transform: translate(0,22%);
-        }
-      }
-      .dagInpSf1:nth-child(n+2) .dagSpan{
-        font-size: 16px;
-        min-width: 50px;
-        max-width: 50px;
-
-      }
-    }
-    .dagInpS2{
-        margin:20px 0 20px 0;
-        display: flex;
-        font-size: 16px;
-
-        .dagSpan2{
-          font-size: 16px;
-
-          max-width: 65px;
-          min-width: 65px;
-          margin-right: 10px;
-          // text-align: right;
-          display: inline-block;
-          text-align: justify;
-          text-justify:distribute-all-lines;
-          text-align-last: justify;
-        }
-    }
-  }
-
-  .newWidth{
-    width: 150px;
-  }
-
-
-  }
-  </style>

+ 77 - 0
src/views/projectManage/ProjectManagementFundDetail.vue

@@ -0,0 +1,77 @@
+<template>
+  <!-- 项目管理 项目资金使用情况 -->
+  <div class="ProjectManagementFundDetail" v-loading="loading">
+        <div class="vfpHeader">
+            <div class="titleOne">预算经费</div>
+            <el-button type="primary" @click="back">返回</el-button>
+        </div>
+          <hr>
+          <!-- 跳转导航开始 -->
+          <div class="AppBar">
+              <div @click="state=0" class="AppBarActive">项目资金使用详情<div v-if="state==0" class='pr1TitBass'></div></div>
+              <div @click="state=1">资金申报明细<div v-if="state==1" class='pr1TitBass'></div></div>
+          </div>
+          <div id="ShowArea">
+            <fundDetail v-if="state==0"/>
+            <FundDetailList v-if="state==1"/>
+          </div>
+
+         
+</div>
+</template>
+
+<script>
+import fundDetail from './components/FundDetail.vue'
+import FundDetailList from './components/FundDetailList.vue'
+    export default {
+      components:{fundDetail,FundDetailList},
+      data() {
+        return {
+          state:0,
+          loading:false,
+        }
+      },
+      methods:{
+        // getData(){   //初始化完成获取基本数据进行填充
+        //   this.loading = true;
+        //     let param={
+        //       uid:this.$store.state.userInfo.userid,
+        //       pid:this.$route.query['pid']
+        //     }
+        //       this.ajax
+        //             .get(this.$store.state.api+'/GetProjectDetailMessage',param)
+        //             .then(res=>{
+        //               let data = res.data[0][0]
+        //               let fund = JSON.parse(data['money'])
+        //               this.tableData = fund['tableData']
+        //               this.tableData2 = fund['tableData2']
+        //               this.allFund = data['fund']
+        //               this.tableData2.forEach((e)=>{
+        //                 this.useFund=this.useFund+e.fund
+        //               })
+        //               this.useFund=this.useFund / 10000
+        //               this.remainFund=this.allFund - this.useFund
+        //               this.loading = false;
+        //             },err=>{
+        //               console.log(err);
+        //             })
+        //   },
+        back(){
+          this.$router.push('/ProjectManagement')
+        }
+      },
+      mounted(){
+        // this.getData()
+      }
+    }
+</script>
+
+<style lang="less">
+.ProjectManagementFundDetail{
+  width: 100%;
+  height: 100%;
+  #ShowArea{
+    width: 100%;
+  }
+}
+</style>

+ 23 - 33
src/views/projectManage/ProjectManagementMain.vue

@@ -3,64 +3,54 @@
         <div class="vfpHeader">
             <div class="titleOne">项目管理</div>
             <div class="smallTitle" style="left: 100px;">项目进展详情</div>
-            <el-button type="primary" @click="$router.back()">返回</el-button>
+            <el-button type="primary" @click="$router.push('/ProjectManagement')">返回</el-button>
         </div>
         <hr>
 
     <!-- 跳转导航开始 -->
         <div class="AppBar">
-            <!-- <div v-for="(item,index) in items" :key="index" @click="goto(index)" class="AppBarActive">{{ item.tit }}</div> -->
             <div v-for="(item,index) in items" :key="index" @click="goto(index)" class="AppBarActive">
                 {{ item.tit }}
                 <div :class="index==show?item.cl:''"></div>
             </div>
         </div>
-        <ProjectManagement1 v-if="show==0 && this.$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"></ProjectManagement1>
-        <ProjectManagement2 v-if="show==1 && this.$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"></ProjectManagement2>
-
+        <!-- 创客项目 -->
+        <studentProjectWordShow v-if="show==0 && this.$route.query['Id']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
         <!-- 特色创客空间建设 -->
-        <ProjectManagement1_MakerSpace v-if="show==0 && this.$route.query['Id']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <ProjectManagement2_MakerSpace v-if="show==1 && this.$route.query['Id']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"></ProjectManagement2_MakerSpace>
-
-
-        <ProjectManagement3 :changeShow="goto" v-if="show==2"></ProjectManagement3>
-        <ProjectManagement3_1 v-if="show==5"/>
-        <ProjectManagement4 v-if="show==3"></ProjectManagement4>
-        <ProjectManagement5 v-if="show==4"></ProjectManagement5>
+        <MakerSpaceWordShow v-if="show==0 && this.$route.query['Id']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <!-- 活动开展 -->
+        <ProjectManagementActivity :changeShow="goto" v-if="show==1"/>
+        <!-- 活动开展详细 -->
+        <ProjectManagementActivityDetail v-if="show==5"/>
+        <!-- 项目结题文件 -->
+        <ProjectManagementEndProjectFile v-if="show==2"/>
     </div>
 </template>
 
 <script>
-    import ProjectManagement1 from './components/ProjectManagement1.vue'
-    import ProjectManagement2 from './components/ProjectManagement2.vue'
-    import ProjectManagement3 from './components/ProjectManagement3.vue'
-    import ProjectManagement3_1 from './components/ProjectManagement3_1.vue'
-    import ProjectManagement4 from './components/ProjectManagement4.vue'
-    import ProjectManagement5 from './components/ProjectManagement5.vue'
 
-    //特色创客空间建设
-    import ProjectManagement1_MakerSpace from './components/ProjectManagement1_MakerSpace.vue'
-    import ProjectManagement2_MakerSpace from './components/ProjectManagement2_MakerSpace.vue'
+    import ProjectManagementActivity from './components/ProjectManagementActivity.vue'
+    import ProjectManagementActivityDetail from './components/ProjectManagementActivityDetail.vue'
+    import ProjectManagementEndProjectFile from './components/ProjectManagementEndProjectFile.vue'
 
+    // //特色创客空间建设
+    import MakerSpaceWordShow from './components/MakerSpaceWordShow.vue'
+    //创客空间
+    import studentProjectWordShow from './components/studentProjectWordShow.vue'
     export default {
         components:{
-            ProjectManagement1,
-            ProjectManagement2,
-            ProjectManagement3,
-            ProjectManagement3_1,
-            ProjectManagement4,
-            ProjectManagement5,
-            ProjectManagement1_MakerSpace,
-            ProjectManagement2_MakerSpace,
+            MakerSpaceWordShow,
+            ProjectManagementActivity,
+            ProjectManagementActivityDetail,
+            ProjectManagementEndProjectFile,
+            studentProjectWordShow,
         },
         data() {
             return {
                 show:0,
                 items:[
-                    {tit:'项目基本内容',cl:'pr1TitBass'},
-                    {tit:'项目详情',cl:'pr1TitBass'},
+                    {tit:'项目详细',cl:'pr1TitBass'},
                     {tit:'活动开展',cl:'pr1TitBass'},
-                    {tit:'项目附件',cl:'pr1TitBass'},
                     {tit:'项目结题附件',cl:'pr1TitBass'},
                 ]
             }

+ 156 - 0
src/views/projectManage/components/FundDetail.vue

@@ -0,0 +1,156 @@
+<template>
+  <div id="fundDetail" v-loading="loading">
+      <table border="1" cellspacing="0" class="table">
+          <tr id="fund">
+          <td rowspan="12" ref="fund" style="white-space: ;">实际使用经费</td><td>总经费</td><td colspan="5" v-text="total+' 元'"></td>
+        </tr>
+        <tr>
+          <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
+        </tr>
+        <tr>
+          <td rowspan="5">直接费用</td>
+        </tr>
+        <tr>
+          <td colspan="2">小型仪器设备费</td>
+          <td v-text="data['device']">
+          </td><td colspan="2">
+            项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">材料费</td><td v-text="data['Material']">
+          </td><td colspan="2">
+            项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">测试化验加工费</td><td v-text="data['processing']">
+          </td><td colspan="2">
+            项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">项目协作费</td><td v-text="data['Collaboration']">
+          </td><td colspan="2">
+            按合同规定支付给协作单位的费用
+          </td>
+        </tr>
+  
+        <tr>
+          <td rowspan="5">间接费用</td>
+        </tr>
+        <tr>
+          <td colspan="2">项目成果鉴定费</td><td v-text="data['APPRAISAL']">
+          </td><td colspan="2">
+            学术会务费、评审费、鉴定费、成果集制作费等费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">参展参赛费</td><td v-text="data['entery']">
+          </td><td colspan="2">
+            参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">创客交流活动费</td><td v-text="data['activities']">
+          </td><td colspan="2">
+            创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
+          </td>
+        </tr>
+        <tr>
+          <td colspan="2">知识产权事务费</td><td v-text="data['Transaction']">
+          </td><td colspan="2">
+            论文版面费、专利及其他知识产权事务等费用。
+          </td>
+        </tr>
+      </table>
+  </div>
+</template>
+
+<script>
+export default {
+data() {
+  return {
+      loading:false,
+      data:{
+        device:"",
+        Material:"",
+        processing:"",
+        Collaboration:"",
+        APPRAISAL:"",
+        entery:"",
+        activities:"",
+        Transaction:"",
+      }
+  }
+},
+methods:{
+  getData(){   //初始化完成获取基本数据进行填充
+    this.loading = true;
+    for(let i in this.data)this.data[i]=0;
+    let param={
+      uid:this.$store.state.userInfo.userid,
+      pid:this.$route.query['pid']
+    }
+    this.ajax.get(this.$store.state.api+'/getProjectActivityFundIsUseDetail',param).then(res=>{
+        let isUse = res['data'][0];
+        isUse.forEach(item=>{
+          let JP = JSON.parse(item['actualuse']);
+          this.data['device']+=Number(JP['device']);
+          this.data['Material']+=Number(JP['Material']);
+          this.data['processing']+=Number(JP['processing']);
+          this.data['Collaboration']+=Number(JP['Collaboration']);
+          this.data['APPRAISAL']+=Number(JP['APPRAISAL']);
+          this.data['entery']+=Number(JP['entery']);
+          this.data['activities']+=Number(JP['activities']);
+          this.data['Transaction']+=Number(JP['Transaction']);
+        })
+        this.loading = false;
+      }).catch(err=>{
+        console.log(err);
+      })
+    },
+},
+computed:{
+  total(){
+    let num = 0;
+    for(let i in this.data)num+=Number(this.data[i]);
+    return num;
+  }
+},
+mounted(){
+  this.getData()
+}
+}
+</script>
+
+<style lang="less" scoped>
+#fundDetail{
+  width: 100%;
+  height: 100%;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  .table{
+      width: 100%;
+      border: none;
+      border-top: solid 1px black;
+      border-right:  solid 1px black;
+      border-left:  solid 1px black;
+      tr{
+        position: relative;
+        td{
+          border: none;
+          border-bottom: solid 1px black;
+          border-right: solid 1px black;
+          height: 65px;
+          text-align: center;
+          line-height: 30px;
+          min-width: 80px;
+          box-sizing: border-box;
+          padding: 5px;
+          }
+      }      
+  }
+}
+</style>

+ 264 - 0
src/views/projectManage/components/FundDetailList.vue

@@ -0,0 +1,264 @@
+<template>
+  <!-- 项目管理 资金申报明细 -->
+    <div class="FundDetailList" v-loading="loading">
+      <!-- 表格开始 -->
+      <el-table
+        ref="multipleTable"
+        :data="tableData"
+        tooltip-effect="dark"
+        stripe
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
+        >
+        <el-table-column
+          prop="fundNo"
+          align="center"
+          label="资金编号"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="title"
+          align="center"
+          label="活动名称"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="pro_leader"
+          align="center"
+          label="负责人"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="name"
+          align="center"
+          label="所在部门"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="apply"
+          align="center"
+          label="申请经费(元)"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="isUse"
+          align="center"
+          label="实际使用(元)"
+          >
+        </el-table-column>
+        <el-table-column
+          prop="create_at"
+          align="center"
+          label="申请时间"
+         >
+        </el-table-column>
+        <el-table-column
+          prop="state"
+          align="center"
+          label="资金状态"
+         >
+         <template #default="scope">
+          <div>
+            {{ scope.row.state==0?'未审核':""}}
+            {{ scope.row.state==1?'未报销':""}}
+            {{ scope.row.state==2?'已报销':""}}
+          </div>
+         </template>
+        </el-table-column>
+      </el-table>
+      <!-- 表格结束 -->
+
+
+      <el-pagination
+      @current-change="handleCurrentChange"
+      :current-page="PageData.currentPage"
+      :page-size="PageData.packageSize"
+      layout=" prev, pager, next"
+      background
+      class="paginations"
+      :total="PageData.total">
+    </el-pagination>
+  </div>
+  </template>
+  
+  <script>
+      export default {
+        data() {
+          return {
+            tableData:[],
+            loading:false,
+            PageData:{         // 分页数据
+              total:0,
+              packageSize:5,
+              currentPage:1
+            }, 
+          }
+        },
+        methods:{
+          handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
+            this.PageData.currentPage=val
+            this.getData()
+          },
+          getData(){
+            this.loading = true;
+            let param={
+              uid:this.$store.state.userInfo.userid,
+              cid:this.$route.query['pid'],
+              nowPage:this.PageData.currentPage,
+              lim:this.PageData.packageSize,
+            }
+            this.ajax
+                .get(this.$store.state.api+'/getProjectActivityAllFund',param)
+                .then(res=>{
+                  let data = res['data'][0];
+                  console.log(data)
+                  this.tableData = data;
+                  this.PageData.total = res['data'][1][0]['total']
+                  console.log(this.tableData)
+                  this.tableData.forEach(item=>{
+                    let actualuse = JSON.parse(item['actualuse']);
+                    let applyfund = item['applyfund']?JSON.parse(item['applyfund']):[];
+                    let isUse = 0;
+                    let apply = 0;
+                    for(let i in actualuse)isUse+=Number(actualuse[i]);
+                    for(let j in applyfund)apply+=Number(applyfund[j]);
+                    item['isUse'] = isUse;
+                    item['apply'] = apply;
+                  })
+                  //后面还有申请经费和实际使用的计算
+                  this.loading = false;
+                },err=>{
+                    console.log(err);
+                })
+          },
+        },
+        mounted(){
+          this.getData();
+        }
+      }
+  </script>
+  
+  <style lang="less">
+  .FundDetailList{
+ 
+     .right{
+      width: 100%;
+     }
+    .pmFund1Footer{   //分页
+       display: flex;
+       justify-content: flex-end;
+       margin: 20px 50px 0 0;
+    }
+
+
+  // .projectApplicationfundAddDialog2{
+
+
+  //   .el-header {
+  //     background-color: #3d67bc;
+  //     color: #333;
+  //     text-align: center;
+  //     display: flex;
+  //     justify-content: space-between;
+  //     align-items: center;
+  //   }
+  //   .el-select-dropdown__item{
+  //     text-align: left;
+  //   }
+  //   .el-dialog__title{
+  //     color:#fff;
+  //       display: flex;
+  //       justify-content: center;
+  //       font-size: 18px;
+  //       position: relative;
+  //       top: -2px;
+  //   }
+  //   font-size: 16px !important;
+  //   .el-dialog__header{
+  //     display: flex;
+  //     font-weight: bold;
+  //     justify-content: flex-start;
+  //   }
+  //   .el-dialog__body{
+  //     padding-top: 0px;
+  //   }
+  //   .dagSpan{
+  //     min-width: 65px;
+  //     max-width: 65px;
+  //     display: flex;
+  //     justify-content:flex-end;
+  //     margin-right: 9px;
+  //     align-items: center;
+  //     font-size: 16px;
+  //   }
+  //   .deleteContent1{
+  //     width: 55%;
+  //     margin-bottom: 10px;
+  //     display: flex;
+  //   }
+
+  //   .dagRemark{
+  //     display: flex;
+  //     margin: 20px 0px;
+  //     font-size: 16px;
+  //     font-weight: 550;
+  //   }
+  //   .dagInpS{
+  //     // width: 100%;
+  //     display: flex;
+  //     font-size: 16px;
+
+  //     justify-content: space-between;
+  //     .dagInpS1{
+  //       display: flex;
+  //       min-width: 23%;
+  //       max-width: 23%;
+  //       font-size: 16px;
+
+  //     }
+  //     .dagInpS1:nth-child(1){
+  //       min-width: 30%;
+  //       max-width: 30%;
+  //       .dagSpan{
+  //         font-size: 16px;
+  //         display: inline-block;
+  //         text-align: justify;
+  //         text-justify:distribute-all-lines;
+  //         text-align-last: justify;
+  //         transform: translate(0,22%);
+  //       }
+  //     }
+  //     .dagInpSf1:nth-child(n+2) .dagSpan{
+  //       font-size: 16px;
+  //       min-width: 50px;
+  //       max-width: 50px;
+
+  //     }
+  //   }
+  //   .dagInpS2{
+  //       margin:20px 0 20px 0;
+  //       display: flex;
+  //       font-size: 16px;
+
+  //       .dagSpan2{
+  //         font-size: 16px;
+
+  //         max-width: 65px;
+  //         min-width: 65px;
+  //         margin-right: 10px;
+  //         // text-align: right;
+  //         display: inline-block;
+  //         text-align: justify;
+  //         text-justify:distribute-all-lines;
+  //         text-align-last: justify;
+  //       }
+  //   }
+  // }
+
+  .newWidth{
+    width: 150px;
+  }
+
+
+  }
+  </style>

+ 790 - 0
src/views/projectManage/components/MakerSpaceWordShow.vue

@@ -0,0 +1,790 @@
+<template>
+    <div id="MakerSpaceWord" v-loading="loading">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">二级学院特色创客空间建设项目立项申报书</div>
+            <div class="date">申请日期: {{ wordData['applicationDate'] }}</div>
+        </div>
+        <div id="table">
+            <div class="han" id="one">
+              <div class="label">项目名称</div><div class="value" v-text="wordData['projectName']"></div>
+              <div class="label">所在学院</div><div class="value" v-text="wordData['collegeName']"></div>
+            </div>
+            <div class="status" id="two">
+              <div class="statusLabel">项目状态</div>
+              <div class="ValueDescribe">
+                <div class="statusHan">
+                  <div class="DescribeLabel">
+                    <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>待建设
+                </div><div class="DescribeValue">指二级学院拟立项开展学院特色创客空间建设项目,需进行项目前期调研论证、场馆规划、空间图纸设计、设备选型等方面的工作而进行的资助申请。</div>
+                </div>
+              </div>
+            </div>
+            <div class="han" id="three">
+              <div class="label">项目起始时间</div><div class="value" v-text="wordData['begin_at']"></div>
+              <div class="label">计划完成时间</div><div class="value" v-text="wordData['plannedEnd_at']"></div>
+            </div>
+            <div class="han" id="four">
+              <div class="label">项目负责人</div><div class="value" v-text="wordData['pro_leader']"></div>
+              <div class="label">学院牵头领导</div><div class="value" v-text="wordData['lead_leader']"></div>
+            </div>
+            <div class="han">
+              <div class="label">项目组人数</div><div class="value">{{ wordData['teacher'].length+wordData['student'].length }}</div>
+              <div class="label">参与教师人数</div><div class="value">{{wordData['teacher'].length}}</div>
+              <div class="label">参与学生人数</div><div class="value">{{wordData['student'].length }}</div>
+            </div>
+            <div class="member" id="five">
+              <div class="memberLabel">
+                <span class="fontBold">项目组</span>
+                <span class="fontBold">教师团队</span>
+                <span>(团队3人以上,</span>
+                <span>至少应包含1名教</span>
+                <span>研室主任)</span>
+              </div>
+              <div class="memberTable" :style="wordData['teacher'].length<4?'border-bottom:solid 1px black':''">
+                <div class="memberHan">
+                  <div class="memberValue">姓名</div>
+                  <div class="memberValue">专业</div>
+                  <div class="memberValue">职称</div>
+                  <div class="memberValue">学历</div>
+                  <div class="memberValue">所在教研室</div>
+                  <div class="memberValue">项目组角色分工</div>
+                </div>
+                <div class="memberHan" v-for="(item,index) in wordData['teacher']" :key="index">
+                  <div class="memberValue" v-text="item['name']"></div>
+                  <div class="memberValue" v-text="item['speciality']"></div>
+                  <div class="memberValue" v-text="item['title']"></div>
+                  <div class="memberValue" v-text="item['education']"></div>
+                  <div class="memberValue" v-text="item['section']"></div>
+                  <div class="memberValue" v-text="item['work']"></div>
+                </div>
+              </div>
+            </div>
+            <div class="member" id="six">
+              <div class="memberLabel">
+                <span class="fontBold">项目组</span>
+                <span class="fontBold">学生团队</span>
+                <span>(团队5人以上,</span>
+                <span>学生团队年级结构</span>
+                <span>安排合理)</span>
+              </div>
+              <div class="memberTable" :style="wordData['student'].length<4?'border-bottom:solid 1px black':''">
+                <div class="memberHan">
+                  <div class="memberValue">姓名</div>
+                  <div class="memberValue">班级</div>
+                  <div class="memberValue">年龄</div>
+                  <div class="memberValue">项目组角色分工</div>
+                </div>
+                <div class="memberHan" v-for="(item,index) in wordData['student']" :key="index">
+                  <div class="memberValue" v-text="item['name']"></div>
+                  <div class="memberValue" v-text="item['class']"></div>
+                  <div class="memberValue" v-text="item['age']"></div>
+                  <div class="memberValue" v-text="item['work']"></div>
+                </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">项目</span>
+                <span class="fontBold">建设</span>
+                <span class="fontBold">内容</span>
+                <span class="fontBold">及</span>
+                <span class="fontBold">目标</span>
+                <span>(说明项目建设内</span><span>容、拟解决的关键</span><span>问题、创新之处、</span><span>主要建设指标)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="seven">
+                    <span>项目简介(200-300字)</span><br/>
+                    <p v-text="wordData['brief']"></p>
+                  </div>
+                  <div class="chaptersValue" id="eight">
+                    <span>建设内容(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span><br/>
+                    <p v-text="wordData['Construction']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel fontBold">
+                <span>项目</span>
+                <span>建设</span>
+                <span>论证</span>
+                <span>报告</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="nine">
+                    <span>立项依据(说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span><br/>
+                    <p v-text="wordData['ProjectBasis']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">预期</span>
+                <span class="fontBold">成果</span>
+                <span>(项目预期成果、</span><span>数量及形式,结题</span><span>时:须附项目研究</span><span>报告)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="ten">
+                    <span>创客空间物理环境、制度建设及软件设施建设情况(环境优化/制度完善/设施改造)</span><br/>
+                    <p v-text="wordData['development']"></p>
+                  </div>
+                  <div class="chaptersValue" id="eleven">
+                    <span>学生创客工作室建设情况(工作室数量及活动开展情况)</span><br/>
+                    <p v-text="wordData['studio']"></p>
+                  </div>
+                  <div class="chaptersValue" id="twelve">
+                    <span>学生创客团队(人才)培养预期成果、数量</span><br/>
+                    <p v-text="wordData['studentTeam']"></p>
+                  </div>
+                  <div class="chaptersValue" id="thirteen">
+                    <span>学生创客活动组织实施情况</span><br/>
+                    <p v-text="wordData['studentActivities']"></p>
+                  </div>
+                  <div class="chaptersValue" id="fourteen">
+                    <span>学生创客团队孵化、转化创业项目情况</span><br/>
+                    <p v-text="wordData['Transforming']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">立项</span>
+                <span class="fontBold">基础</span>
+                <span class="fontBold">及</span>
+                <span class="fontBold">条件</span>
+                <span>(说明已开展的相</span>
+                <span>关研究及基础准备</span>
+                <span>工作,已具备的设</span>
+                <span>备场地条件和技术</span>
+                <span>力量,尚缺少的条</span>
+                <span>件和拟解决的途</span>
+                <span>径)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="fifteen">
+                    <span>基础条件(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span><br/>
+                    <p v-text="wordData['condition']"></p>
+                  </div>
+              </div>
+            </div>
+    
+            <div class="fund">
+              <div class="fundTitle">
+                预算<br/>经费
+              </div>
+              <div class="fundTable">
+                <div class="fundTotal">
+                  <div class="fundLabel">总经费</div>
+                  <div class="fundValue">{{wordData['fund']['total']}}元</div>
+                </div>
+                <div class="fundHeader">
+                  <div class="HeaderLabel">支出类别</div>
+                  <div class="HeaderLabel">支出项目</div>
+                  <div class="HeaderLabel">金额(元)</div>
+                  <div class="HeaderLabel">备注</div>
+                </div>
+                <div class="fundData">
+                  <div class="fundDataLabel">直接费用</div>
+                  <div class="fundDataHan">
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">小型仪器设备费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['device']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">材料费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Material']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">测试化验加工费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['processing']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">项目协作费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Collaboration']">
+                      </div>
+                      <div class="fundDataValue"><span>按合同规定支付给协作单位的费用</span></div>
+                    </div>
+                   
+                  </div>
+                </div>
+    
+                <div class="fundData">
+                  <div class="fundDataLabel">间接费用</div>
+                  <div class="fundDataHan">
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">项目成果鉴定费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['APPRAISAL']">
+                      </div>
+                      <div class="fundDataValue"><span>学术会务费、评审费、鉴定费、成果集制作费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">参展参赛费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['entery']">
+                      </div>
+                      <div class="fundDataValue"><span>参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">创客交流活动费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['activities']">
+                      </div>
+                      <div class="fundDataValue"><span>创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">知识产权事务费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Transaction']">
+                      </div>
+                      <div class="fundDataValue"><span>论文版面费、专利及其他知识产权事务等费用。</span></div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="opinion">
+              <div class="opinionLabel">所在学院/部门<br/> 意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+            <div class="opinion">
+              <div class="opinionLabel">财务部门<br/>意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+            <div class="opinion">
+              <div class="opinionLabel">创新创业学院<br/>审 核 意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+          </div>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.项目申报需附相关佐证材料。</span>
+          </div>
+          <el-button type="primary" @click="getWord">下载表格</el-button>
+    </div>
+    </template>
+      
+    <script>
+    import {getMakerSpaceWord} from '@/components/tool/getWord'
+      export default {
+        data() {
+          return {
+            loading:false,
+            wordData:{
+                applicationDate:"",//申请日期
+                projectName:"",//项目名称
+                college:"",//所在学院
+                collegeName:"",
+                begin_at:"",//项目开始时间
+                state:"",//项目状态
+                stateName:"",//项目状态名称
+                plannedEnd_at:"",//计划完成时间
+                pro_leader:"",//项目负责人
+                lead_leader:"",//学院牵头领导
+                teacher:[
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                ],   //教师组//name:姓名  speciality:专业  title:职称 education:学历    section:所在教研室    work:项目组角色分工
+                student:[
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                ],   //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
+                brief:"",//项目简介
+                Construction:"",//建设内容
+                ProjectBasis:"",//立项依据
+                development:"",//创客空间物理环境、制度建设及软件设施建设情况
+                studio:"",//学生创客工作室建设情况
+                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
+                studentActivities:"",//学生创客活动组织实施情况
+                Transforming:"",//学生创客团队孵化、转化创业项目情况
+                condition:"",//立 项基 础及条 件
+                fund:{
+                  total:"",
+                  device:"",
+                  Material:"",
+                  processing:"",
+                  Collaboration:"",
+                  APPRAISAL:"",
+                  entery:"",
+                  activities:"",
+                  Transaction:"",
+                },
+              },
+          };
+        },
+        methods: {
+            getWord(){
+              this.$message.info("正在下载表格")
+              getMakerSpaceWord(this.wordData);
+            },
+            getData(){
+                this.loading = true;
+                this.ajax.get(this.$store.state.api+'/getMakerSpaceWordData',{
+                    uid:this.$store.state.userInfo.userid,
+                    pid:this.$route.query['pid']
+                }).then(result=>{
+                    let data = result['data'][0][0]
+                    this.wordData['projectName'] = data['title'];
+                    this.wordData['applicationDate'] = data['applyProjectTime'];
+                    this.wordData['college'] = data['classid'];
+                    this.wordData['collegeName'] = data['cName']
+                    this.wordData['begin_at'] = data['begintime'];
+                    this.wordData['state'] = data['typeName'];
+                    this.wordData['stateName'] = data['tName']
+                    this.wordData['plannedEnd_at'] = data['planTime'];
+                    this.wordData['pro_leader'] = data['pro_leader'];
+                    this.wordData['lead_leader'] = data['lead_leader'];
+                    this.wordData['teacher'] = JSON.parse(data['course_teacher']);
+                    this.wordData['student'] = JSON.parse(data['course_student']);
+                    this.wordData['brief'] = data['brief'];
+                    this.wordData['fund'] = JSON.parse(data['money']);
+                    this.state = data['isupload']
+                    this.wordData = {...this.wordData,...JSON.parse(data['chapters'])}
+                    this.loading = false;
+                }).catch(err=>{
+                    console.log(err);
+                })
+            },
+        },
+        mounted(){
+            this.getData();
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #MakerSpaceWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: white;
+        padding:40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+                margin-bottom:5px;
+            }
+        }
+        #table{
+        box-sizing: border-box;
+        border: solid 1px black;
+        border-bottom: none;
+        display: flex;
+        flex-direction: column;
+        .han{
+          display: flex;
+          height: auto;
+          box-sizing: border-box;
+          border-bottom:solid 1px black;
+          .label{
+            position: relative;
+            flex:1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            min-height: 50px;
+            border-right: solid 1px black;
+            font-weight:bold;
+          }
+          .value{
+            flex: 2;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            min-height: 50px;
+            &:not(:nth-last-child(1)){
+              border-right: solid 1px black;
+            }
+          }
+          &:nth-child(5){
+            .label{
+              flex: 1;
+            }
+            .value{
+              flex: 1;
+            }
+          }
+        }
+        .status{
+          display: flex;
+          height: auto;
+          box-sizing: border-box;
+          .statusLabel{
+            flex:1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .ValueDescribe{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .statusHan{
+              display: flex;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+    
+              .DescribeLabel{
+                flex: 1;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                box-sizing: border-box;
+                // min-height: 200px;
+                padding:40px 10px;
+                border-right: solid 1px black;
+              }
+              &:nth-child(2){
+                .DescribeLabel{
+                    min-height: 100px;
+                }
+              }
+              .DescribeValue{
+                flex: 5;
+                box-sizing: border-box;
+                padding: 15px;
+              }
+            }
+          }
+        }
+        .member{
+          display: flex;
+          .memberLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            min-height: 200px;
+          }
+          .memberTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .memberHan{
+              display: flex;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              position:relative;
+              .memberValue{
+                box-sizing: border-box;
+                flex: 1;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                border-right: solid 1px black;
+                min-height: 45px;
+                &:nth-last-child(1){
+                  border-right: none;
+                  flex: 3;
+                }
+              }
+          }
+        }
+    }
+        .chapters{
+          display: flex;
+          .chaptersLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            padding: 20px 0;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+          }
+          .chaptersTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .chaptersValue{
+              flex: 1;
+              min-height:200px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              padding: 5px;
+              span{
+                font-weight: bold;
+              }
+            }
+          }
+        }
+        .fund{
+          display: flex;
+          .fundTitle{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .fundTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            box-sizing: border-box;
+            .fundTotal{
+              height: 60px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              display: flex;
+              div{
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                font-weight: bold;
+              }
+              .fundLabel{
+                flex: 1;
+                box-sizing: border-box;
+                border-right:solid 1px black;
+              }
+              .fundValue{
+                flex: 4;
+              }
+            }
+            .fundHeader{
+              min-height: 40px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              display: flex;
+              font-weight:bold;
+              .HeaderLabel{
+                flex: 1;
+                display: flex;
+                box-sizing: border-box;
+                justify-content: center;
+                align-items: center;
+                border-right: solid 1px black;
+                &:nth-last-child(1){
+                  flex: 2;
+                  border: none;
+                }
+              }
+            }
+            .fundData{
+              display: flex;
+              .fundDataLabel{
+                flex:1;
+                box-sizing: border-box;
+                border-right: solid 1px black;
+                border-bottom: solid 1px black;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                font-weight:bold;
+              }
+              .fundDataHan{
+                flex: 4;
+                display: flex;
+                flex-direction: column;
+                .fundDataLie{
+                  display: flex;
+                  min-height: 40px;
+                  flex: 4;
+                  box-sizing: border-box;
+                  border-bottom: solid 1px black;
+                  .fundDataValue{
+                    flex: 1;
+                    min-height: 40px;
+                    display: flex;
+                    box-sizing: border-box;
+                    justify-content: center;
+                    align-items: center;
+                    border-right: solid 1px black;
+                    &:nth-last-child(1){
+                      flex:2;
+                      border: none;
+                      justify-content: flex-start;
+                      span{
+                        padding: 10px 20px;
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // .fundTable{
+        //   tr{
+        //     td{
+        //       height: 50px;
+        //     }
+        //     &:nth-child(1){
+        //       flex: 1;
+        //     }
+        //   }
+        // }
+        .opinion{
+          display: flex;
+          .opinionLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            // padding: 3.5px;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .opinionValue{
+            flex: 5;
+            min-height: 200px;
+            position: relative;
+            box-sizing:border-box;
+            border-bottom: solid 1px black;
+            .opinionImport{
+              display: flex;
+              width: 30%;
+              height:40%;
+              flex-direction: column;
+              position:absolute;
+              bottom: 0px;
+              right: 20px;
+              justify-content: space-between;
+              .opinionDate{
+                display: flex;
+                justify-content: flex-end;
+                font-size: 18px;
+              }
+            }
+          }
+        }
+      }
+      .notes{
+        width: 100%;
+        display: flex;
+        flex-direction:column;
+      }
+      :deep(.el-input__inner){
+        height: 100%;
+        border-radius: 0;
+        width: 100%;
+        background: none;
+        color: black;
+        text-align: center;
+        font-size: 16px;
+        box-sizing: border-box;
+        border: none;
+        outline: none;
+      }
+      :deep(.el-textarea__inner){
+        height: 100%;
+        border-radius: 0;
+        width: 100%;
+        background: none;
+        color: black;
+        text-align: center;
+        font-size: 16px;
+        box-sizing: border-box;
+        border: none;
+        overflow: hidden;
+      }
+      .noCenter{
+        :deep(.el-textarea__inner ){
+          text-align:left;
+        }
+      }
+      :deep(.el-date-editor){
+        width: 100%;
+        height: 100%;
+      }
+      :deep(.el-input__suffix){
+        display:none;
+      }
+      // .InputDiv{
+      //   width: 100%;
+      //   height: 100%;
+      //   word-break: break-all;
+      //   display: flex;
+      //   justify-content: center;
+      //   align-items: center;
+      //   box-sizing: border-box;
+      //   padding: 10px;
+      //   outline: none;
+      //   &:focus{
+      //     border:solid 1px #409eff ;
+      //   }
+      // }
+      .fontBold{
+        font-weight:bold;
+      }
+    }
+    </style>

+ 0 - 848
src/views/projectManage/components/ProjectManagement1.vue

@@ -1,848 +0,0 @@
-<template>
-  <!-- 项目管理 项目基本内容 -->
-  <div class="ProjectManagement1" v-loading="loading">
-
- <!-- 活动申请填写信息区域开始 -->
- <div class="select">
-        <div class="selectTop">
-          <div class="label">项目名称</div>
-          <el-input v-model="content.select.projectName" placeholder="请输入内容"></el-input>
-        </div>
-        <div class="selectMid">
-          <div class="selectLeft">
-              <div class="inpBlock">
-                  <div class="label">项目负责人</div>
-                  <el-input v-model="content.select.leader" placeholder="请输入内容"></el-input>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">所在部门</div>
-                  <el-select v-model="content.select.department" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.departmentOptions"
-                      :key="item.id"
-                      :label="item.name"
-                      :value="item.id">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label" style="width: 50px;font-size: 14px;position: relative;top: -8px;">优先支持项目(可多选)</div>
-                  <el-select style="width: 100%;" v-model="content.select.MultiSelectProjectNameS" multiple placeholder="请选择">
-                    <el-option
-                      v-for="item in this.MultiSelectProject"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">联系电话</div>
-                  <el-input type="number" v-model="content.select.tel"  @blur="getText(content.select.tel)" placeholder="请输入联系方式"></el-input>
-              </div>
-              <div class="inpBlock">
-                <div class="label">选择分类</div>
-                <!-- <el-cascader v-model="pageType" :options="projectApplicationApply1.sortOptions" clearable></el-cascader> -->
-                <el-cascader disabled style="width: 100%;" v-model="pageType" :options="sortOptions" clearable></el-cascader>
-              </div>
-          </div>
-
-          <div class="selectRight">
-            <div class="inpBlock">
-                  <div class="label">项目开始时间</div>
-                  <el-date-picker
-                    v-model="content.select.projectDate"
-                    type="daterange"
-                    disabled
-                    style="width: 100%;"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    range-separator="至"
-                    start-placeholder="开始日期"
-                    end-placeholder="结束日期">
-                  </el-date-picker>
-              </div>
-              <div class="inpBlock" style="position: relative;">
-                  <div class="label">预算总经费</div>
-                  <el-input type="number" disabled v-model="content.select.fund" placeholder="请输入内容"></el-input>
-                  <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
-              </div>
-              <div class="inpBlock">
-                  <div class="label" style="font-size: 14px;max-width: 50px;position: relative;top: -8px;">美丽校园改造项目(特色项目)</div>
-                  <el-select v-model="content.select.schoolRemould" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.schoolRemouldOptions"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <div class="inpBlock">
-                  <div class="label">项目申请人</div>
-                  <el-select v-model="content.select.projectApplyPerson" style="width: 100%;" placeholder="请选择">
-                    <el-option
-                      v-for="item in this.personType"
-                      :key="item.value"
-                      :label="item.label"
-                      :value="item.value">
-                    </el-option>
-                  </el-select>
-              </div>
-              <!-- <div class="inpBlock">
-                  <div class="label">选择分类</div>
-                  <el-cascader v-model="data.select.sort" :options="data.sortOptions" clearable></el-cascader>
-              </div> -->
-          </div>
-        </div>
-        
-  </div>
-        <!-- 活动申请填写信息区域结束 -->
-
-
-        <!-- 项目封面修改上传开始 -->
-        <!-- <div style="height: 260px;">
-              <div class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">修改项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="content.dialogImageUrl" :src="content.dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-        </div> -->
-        <!-- 项目封面修改上传开始结束 -->
-
-      <!-- 老师项目成员表格开始 -->
-      <div class="tabTit">
-                <div><p>项目组-老师成员<span>(2个学院以上,团队2-3人)</span> </p></div>
-                <el-button type="primary" @click="addTeacherMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="content.tableTeacherData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendTeacherDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelTeacher(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-
-          <!--添加修改老师成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加老师成员':'修改老师成员'"
-                :visible.sync="addTeacherMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input  v-model="Member.division" ></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddTeacher" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendTeacher" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改老师成员dialog对话框结束 -->
-
-          <!-- 删除老师成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delTeacherMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="deleteContent">确定删除老师成员?</div>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelTeacherMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delTeacherMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除老师成员对话框结束 -->
-  <!-- 老师项目成员表格结束 -->
-
-    <!-- 学生项目成员表格开始 -->
-    <div id="two" class="tabTit">
-                <div><p>项目组-学生成员<span>(至少2个学院以上学生构成,团队5人以上)</span> </p></div>
-                <el-button type="primary" @click="addStudentMember"  size="mini">添加成员</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="content.tableStudentData"
-                tooltip-effect="dark"
-                stripe
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                class="fontSize"
-                >
-              
-                <el-table-column
-                  prop="name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="class"
-                  label="所在学院/部门/专业"
-                  align="center"
-                  >
-                </el-table-column>
-
-                <el-table-column
-                  prop="division"
-                  label="项目组角色分工"
-                  align="center"
-                  >
-                </el-table-column>
-
-              
-                
-                <el-table-column
-                  align="center"
-                  prop="operation"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                          <!-- <el-button type="primary" > -->
-                              <el-button type="primary" @click="amendStudentDialogData(scope.$index)" size="mini">修改</el-button>
-                              <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-                          <!-- </el-button> -->
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-   <!-- 学生项目成员表格结束 -->
-
-
-          <!-- 项目简介开始 -->
-            <div class="tabTit">
-                  <div><p>项目简介</p></div>
-            </div>
-            <hr>
-            <el-input
-              type="textarea"
-              :rows="6"
-              resize="none"
-              class="textArea"
-              placeholder="请输入内容"
-              v-model="content.textarea">
-            </el-input>
-          <!-- 项目简介结束 -->
-
-          <!--添加修改学生成员dialog对话框开始 -->
-            <el-dialog
-                :title= "isAddMember==1?'添加学生成员':'修改学生成员'"
-                :visible.sync="addStudentMemberDialog"
-                :modal="true"
-                :close-on-click-modal="true"
-                class="AddMember"
-                :before-close="init">
-                  <div class="littleBlock">
-                    <div class="dialogLabel">姓名</div>
-                    <div>
-                      <el-input v-model="Member.name"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">所在学院/部门/专业</div>
-                    <div>
-                      <el-input v-model="Member.class"></el-input>
-                    </div>
-                  </div>
-
-                  <div class="littleBlock">
-                    <div class="dialogLabel">项目组角色分工</div>
-                    <div>
-                      <el-input v-model="Member.division"></el-input>
-                    </div>
-                  </div>
-                  <div slot="footer" class="footer">
-                    <el-button v-show="isAddMember==1" type="primary" @click="commitAddStudent" class="AllDialogBtn" >确认提交</el-button>
-                    <el-button v-show="isAddMember==2" type="primary" @click="commitAmendStudent" class="AllDialogBtn" >确认修改</el-button>
-
-                    <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                  </div>
-            </el-dialog>
-          <!--添加修改学生成员dialog对话框结束 -->
-
-          <!-- 删除学生成员对话框开始 -->
-          <el-dialog
-              title="删除成员"
-              :visible.sync="delStudentMember"
-              width="600px"
-              class="pageSubmitData">
-              <div class="deleteContent">确定删除学生成员?</div>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudentMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delStudentMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-          <!-- 删除学生成员对话框结束 -->
-  <!-- 学生项目成员表格结束 -->
-
-
-
-            
-    <div class="baseBtn">
-      <div class="blockWidth">
-        <!-- <el-button type="primary" v-show="isUpload==2"  @click="audit">立即修改</el-button> -->
-        <!-- <el-button type="primary" v-show="isUpload==3 || isUpload==4" class="disa">立即修改</el-button> -->
-        <!-- <el-button type="primary" v-show="apIsupload==2" class="disa">立即修改</el-button> -->
-      </div>
-    </div>
-
-
-
-   <!-- 提交对话框开始 -->
-        <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="pageSubmitData"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 提交对话框结束 -->
-
-
-
-
-
-  </div>
-</template>
-
-<script>
-    export default {
-      data() {
-        return {
-          accept:"image/*",
-          isAddMember:1,  //判断是添加学生还是修改学生
-          apIsupload:0,  //判断是否可以修改
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-            pageType:[], //选择分类
-
-          loading:false,
-          delMember:false,
-          amendMemberDialog:false,
-          addMemberDialog:false,
-          submitHint:false,          
-
-          delTeacherMember:false,  //删除老师对话框
-          addTeacherMemberDialog:false,   //添加修改对话框
-
-          addStudentMemberDialog:false,   //添加学生对话框
-          delStudentMember:false,      //删除学生对话框
-          isUpload:'',
-          endProject:'',
-          textarea:'',   //项目简介
-          tableData:[],   //成员列表数据
-
-          content:{
-            dialogImageUrl:"",  //封面!!!!!!!!
-            tableStudentData:[],  //学生成员成员列表!!!!!!!!
-            tableTeacherData:[],  //老师成员成员列表!!!!!!!
-            textarea:'',   //项目简介!!!!!!!
-            select:{    //要提交的数据!!!!!!!!!!!!!!!!!!!!!!!
-                projectName:'',     //项目名称
-                leader:'',          //项目负责人
-                projectDate:[],   //开始结束日期
-                department:"",   //部门
-                fund:'',         //资金
-                MultiSelectProjectNameS:[],   //优先支持项目
-                schoolRemould:'',        //校园改造项目
-                tel:'',  //电话
-                projectApplyPerson:'',  //项目申请人
-            },
-          },
-
-
-          departmentOptions: [],  //部门下拉框
-          Member:{    //添加、修改成员对话框数据
-              name:'',
-              class:'',
-              division:'',
-              score:'0'
-          },
-          MultiSelectProject:[   //优先支持项目下拉框数据
-                    {
-                      value: 1,
-                      label: '大赛选拔项目'
-                    }, {
-                      value: 2,
-                      label: '落地注册项目'
-                    }, {
-                      value: 3,
-                      label: '社会征集项目'
-                    }, {
-                      value: 4,
-                      label: '产业命题项目'
-                    }
-          ],
-          schoolRemouldOptions:[   //美丽校园下拉框数据
-              {
-                value: '1',
-                label: '校园安全项目'
-              }, {
-                value: '2',
-                label: '环境治理项目'
-              }, {
-                value: '3',
-                label: '校园服务项目'
-              }, {
-                value: '4',
-                label: '文创装置项目'
-              }
-          ],
-          personType:[     //项目申请人下拉框数据
-              {
-                value: '1',
-                label: '在校学生'
-              }, {
-                value: '2',
-                label: '入驻学校孵化基地的初创企业法人'
-              }
-          ],
-          sortOptions: [      //选择分类下拉框数据
-              {
-                value:"",
-                label: '',
-                children: [{
-                  value: 0,
-                  label: '创意组',
-                },
-                  {
-                  value: 1,
-                  label: '初创组',
-                }
-              ]}, 
-              {
-              value:"",
-              label: '',
-              children: [{
-                value: 0,
-                label: '已建设',
-              }, {
-                value: 1,
-                label: '待建设',
-              }]
-            }],
-            
-        }
-      },
-      methods:{
-        getText(value) {     //电话验证
-          let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
-          let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
-          if(result){
-            return result;
-          }else{
-            this.$message.error("请输入正确的手机号格式")
-            return false;
-          }
-          // if()
-          // return verify.test(value.trim())
-          // if(!result && value != "") {
-          // if(!result) {
-          //       return false;
-          // }else{
-          //   return true;
-          // }
-        },
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        // getFile(val) {       //上传封面
-        //     // console.log(val);
-        //     this.progress.show = false;
-        //     this.content.dialogImageUrl=val.url
-        //     this.$message.success('上传成功')
-        // },
-
-
-
-        // 项目组老师成员方法开始
-                  addTeacherMember(){   //添加项目成员对话框显示
-                    this.addTeacherMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelTeacher(val){    //删除对话框显示
-                    this.delTeacherMember=true;
-                    this.index=val
-                  },
-                  amendTeacherDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.content.tableTeacherData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addTeacherMemberDialog=true
-                  },
-                  commitAddTeacher(){   //确定添加成员  
-                        console.log(this.Member.name);
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.division=="" ||this.Member.division==undefined) return this.$message.error('请输入项目组角色分工')
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.content.tableTeacherData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        this.init()
-                  },
-
-                  commitAmendTeacher(){   //确定修改成员
-                        Object.assign(this.content.tableTeacherData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addTeacherMemberDialog=false;
-                        this.$message.success('修改成功')
-                  },
-
-                  commitDelTeacherMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.content.tableTeacherData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delTeacherMember=false;
-                  },
-        // 项目组老师成员方法开始
-
-            // 项目组学生成员方法开始
-                addStudentMember(){   //添加项目成员对话框显示
-                    this.addStudentMemberDialog=true
-                    for(let i in this.Member){
-                      if(i=='score')this.Member[i] = "0"
-                      else this.Member[i] = "";
-                    }
-                    this.isAddMember=1;
-                  },
-                  DelStudent(val){    //删除对话框显示
-                    this.delStudentMember=true;
-                    this.index=val
-                  },
-                  amendStudentDialogData(val){   //修改项目成员信息对话框显示
-                    Object.assign(this.Member,this.content.tableStudentData[val])
-                    this.isAddMember=2;
-                    this.Member['index']=val    //为下面修改提供下标
-                    // console.log(this.Member['index']);
-                    this.addStudentMemberDialog=true
-                  },
-                  commitAddStudent(){   //确定添加成员  
-                        if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                        if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入项目组角色分工')
-                        let newData = {};
-                        for(let j in this.Member)newData[j] = this.Member[j];
-                        this.content.tableStudentData.push(newData);
-                        this.$message.success('添加成功')
-                        for(let i in this.Member){      
-                          if(i=='score')this.Member[i] = "0"
-                          else this.Member[i] = "";
-                        }
-                        this.addStudentMemberDialog=false;
-                  },
-
-                  commitAmendStudent(){   //确定修改成员
-                        Object.assign(this.content.tableStudentData[this.Member['index']],this.Member)
-                        for(let k in this.Member) this.Member[k]=''
-                        this.addStudentMemberDialog=false;
-                        this.$message.success('修改成功')
-
-                        console.log(this.content.tableData);
-                  },
-
-                  commitDelStudentMember(){   //对话框确定删除成员
-                    let a=this.index;
-                    this.content.tableStudentData.splice(a,1);
-                    this.$message.success('删除成功');
-                    this.delStudentMember=false;
-                  },
-        // 项目组学生成员方法开始
-
-
-
-
-        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        this.departmentOptions=res.data[0];
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-
-
-
-            getData(){     //过去基础数据
-              this.loading = true;
-                let param={
-                    uid:this.$store.state.userInfo.userid,
-                    pid:this.$route.query["pid"]
-                }
-                this.ajax
-                    .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                    .then(res=>{
-                      // console.log(data.);
-                        console.log(res.data);
-                        let data=res.data[0][0]
-    
-                        // console.log(data.multiSelectProject);
-                        this.content.select.projectName=data.title
-                        this.content.select.leader=data.leader
-                        this.content.select.projectDate=[data.startTime,data.endTime]
-                        this.content.select.department=data.classid
-                        this.content.select.fund=data.fund
-                        this.content.select.MultiSelectProjectNameS=JSON.parse(data.multiSelectProject)
-                        this.content.select.schoolRemould=data.schoolRemould
-                        this.content.select.tel=data.phone
-                        this.content.select.projectApplyPerson=data.projectApplyperson
-                        this.content.select.dialogImageUrl=data.image
-                        this.content.tableStudentData=JSON.parse(data.course_student)
-                        this.content.tableTeacherData=JSON.parse(data.course_teacher)                       
-                        this.content.textarea=data.brief
-                        this.content.dialogImageUrl=data.image
-                        this.pageType=[data.typeid,data.typeName]
-                        this.isUpload=data.isupload
-                        this.loading = false;
-                        this.apIsupload=data.apIsupload
-                        // console.log(this.content);
-                    },err=>{
-                        console.log(err);
-                    })
-            },
-
-            getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-              let TypeList = [];
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllType',param)
-                      .then(res=>{
-                       //获取主分类
-                    let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        this.sortOptions = TypeList;
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-            audit(){   //提交对话框显示
-              this.submitHint=true
-            },
-
-        submitAll(){   //提交修改数据
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:this.$route.query['pid'],
-            tit:this.content.select.projectName,
-            lea:this.content.select.leader,
-            cla:this.content.select.department,
-            mul:JSON.stringify(this.content.select.MultiSelectProjectNameS),
-            pho:this.content.select.tel,
-            sch:this.content.select.schoolRemould,
-            per:this.content.select.projectApplyPerson,
-            img:this.content.dialogImageUrl,
-            cot:JSON.stringify(this.content.tableTeacherData),
-            cos:JSON.stringify(this.content.tableStudentData),
-            bri:this.content.textarea,
-          }
-
-          const cEmpty = /^\s*$/g;
-              for(let i in param){
-                switch(i){
-                  case 'tit':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                    break;
-                  case 'lea':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                    break;
-                  case 'cla':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                    break;
-                  case 'mul':
-                    console.log(111);
-                    if(!JSON.parse(param[i]).length) return this.$message.error("请选择优先支持项目")
-                    break;
-                  case 'sch':
-                    if(!param[i])return this.$message.error("请选择美丽校园改造项目")
-                    break;
-                  case "pho":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入联系方式")
-                    break;
-                  case 'person':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目申请人")
-                    break;
-                  case 'img':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                    break;
-                  case 'cot':
-                    if(JSON.parse(param[i]).length<2 || JSON.parse(param[i]).length>3)return this.$message.error("需要教师团队2-3人,至少应包含1名教研室主任")
-                    break;
-                  case 'cos':
-                    if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                    break;
-                  case 'bri':
-                    if(param[i].length<200 || param[i].length>=300)return this.$message.error("项目简介需要200-300字")
-                    break;
-                }
-              }
-            this.ajax
-                  .post(this.$store.state.api+'/updateProjectApplyDetailStudent',param)
-                  .then(res=>{
-                    // console.log(res);
-                    if (res.data==1) {
-                      this.$message.success('修改成功')
-                      this.submitHint=false
-                      this.getData()
-                      return
-                    }
-                    this.$message.error('修改失败')
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-        init(){
-          this.addStudentMemberDialog=false;
-          this.submitHint=false;
-          this.addTeacherMemberDialog=false;
-        },
-
-      },
-      mounted(){    //数据加载完成后触发
-        this.getProjectDepartmentData()
-        this.getData()
-        this.getProjectTypeData()
-      },
-    }
-</script>
-
-<style lang="less">
-.projectApplication1{
-
-  .avatar-uploader .el-upload {
-    border: 1px dashed #d9d9d9;
-    border-radius: 6px;
-    cursor: pointer;
-    // position: relative;
-    overflow: hidden;
-  }
-  .avatar-uploader .el-upload:hover {
-    border-color: #409EFF;
-  }
-  .avatar-uploader-icon {
-    font-size: 28px;
-    color: #8c939d;
-    width: 300px;
-    // height: 100%;
-    line-height: 178px;
-    text-align: center;
-  }
-  .avatar {
-    width: 300px;
-    height:178px !important;
-    display: block;
-  }
-}
-</style>

+ 0 - 812
src/views/projectManage/components/ProjectManagement1_MakerSpace.vue

@@ -1,812 +0,0 @@
-<template>
-    <!-- 项目管理 项目基本内容 -->
-    <div class="ProjectManagement1" v-loading="loading">
-  
-   <!-- 活动申请填写信息区域开始 -->
-   <div class="select">
-              <div class="selectTop">
-                <div class="label">项目名称</div>
-                <el-input v-model="select.project" placeholder="请输入内容"></el-input>
-              </div>
-              <div class="selectMid">
-                <div class="selectLeft">
-                 
-                    <div class="inpBlock">
-                        <div class="label">负责人</div>
-                        <el-input v-model="select.person" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">所在部门</div>
-                        <el-select v-model="select.departmentData" style="width: 100%;" placeholder="请选择">
-                          <el-option
-                            v-for="item in select.department"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                          </el-option>
-                        </el-select>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">学院牵头领导</div>
-                        <el-input v-model="select.lead_leader" placeholder="请输入学院牵头领导"></el-input>
-                    </div>
-                </div>
-
-                <div class="selectRight">
-                  <div class="inpBlock">
-                        <div class="label">项目时间</div>
-                        <el-date-picker
-                          v-model="select.Date"
-                          type="daterange"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          range-separator="至"
-                          start-placeholder="项目起始时间"
-                          end-placeholder="项目完成时间">
-                          
-                        </el-date-picker>
-                        <!-- <el-date-picker
-                          v-model="select.Date"
-                          type="datetime"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          placeholder="选择日期">
-                        </el-date-picker> -->
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">预算总经费</div>
-                        <el-input type="number" v-model.number="select.Fund" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">选择分类</div>
-                        <el-cascader disabled="" v-model="select.sort" :options="select.sortOptions" clearable></el-cascader>
-
-                    </div>
-                </div>
-              </div>
-              
-        </div>
-        <!-- 活动申请填写信息区域结束 -->
-
-
-         <!-- 项目封面修改上传开始 -->
-         <!-- <div style="height: 260px;">
-              <div class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">修改项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="dialogImageUrl" :src="dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-            </div> -->
-
-          <!-- 项目封面修改上传开始结束 -->
-
-
-
-
-      <!-- 项目教师开始 -->
-      <div class="tabTit">
-          <div><p>项目组-教师团队</p><span>(团队3人以上,至少应包含1名教研室主任)</span></div>
-          <el-button type="primary" @click="addMember"  size="mini">添加教师</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="teacherData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="speciality"
-          label="专业"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="title"
-          label="职称"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="education"
-          label="学历"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="section"
-          label="所在教研室"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <!-- <el-button type="primary" @click="lookDetail(scope)" size="mini">查看详情</el-button> -->
-                      <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="Del(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目教师结束 -->
-
-      <!-- 项目学生开始 -->
-      <div class="tabTit">
-        <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
-          <el-button type="primary" @click="addMemberStudent"  size="mini">添加学生</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="studentData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="class"
-          label="班级"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="age"
-          label="年龄"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <el-button type="primary" @click="updateStudent(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目学生结束 -->
-
-
-      <!-- 项目简介开始 -->
-    <div class="tabTit">
-          <div><p>项目简介</p></div>
-    </div>
-    <hr>
-      <el-input
-        type="textarea"
-        :rows="6"
-        resize="none"
-        class="textArea"
-        placeholder="请输入内容"
-        v-model="textarea">
-      </el-input>
-    <!-- 项目简介结束 -->
-
-
-    <div class="baseBtn">
-      <div class="blockWidth">
-        <!-- <el-button type="primary" class="backBtn" @click="audit">立即修改</el-button> -->
-
-        <!-- <el-button v-show="isUpload==2 || isUpload ==3" type="primary" class="backBtn" @click="submitHint=true">立即修改</el-button> -->
-        <!-- <el-button v-show="isUpload==1" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button> -->
-        <!-- <el-button v-show="isUpload==4" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button> -->
-
-      </div>
-    </div>
-      <!--添加教师dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddMember==1?'添加教师':'修改教师'"
-          :visible.sync="addMemberDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="teacher.name" placeholder="请输入教师姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">专业</div>
-              <div>
-                <el-input v-model="teacher.speciality" placeholder="请输入教师专业"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">职称</div>
-              <div>
-                <el-input v-model="teacher.title" placeholder="请输入教师职称"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">学历</div>
-              <div>
-                <el-input v-model="teacher.education" placeholder="请输入教师学历"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">所在教研室</div>
-              <div>
-                <el-input v-model="teacher.section" placeholder="请输入所在教研室"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="teacher.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddMember==1" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddMember==2" type="primary" @click="commit2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addMemberDialog = false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--添加教师dialog对话框结束 -->
-
-      <!-- 添加学生dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddStudent==1?'添加学生':'修改学生'"
-          :visible.sync="addStudentDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="student.name" placeholder="请输入学生姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">班级</div>
-              <div>
-                <el-input v-model="student.class" placeholder="请输入学生班级"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">年龄</div>
-              <div>
-                <el-input v-model="student.age" placeholder="请输入学生年龄"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="student.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddStudent==1" type="primary" @click="commitStudent" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddStudent==2" type="primary" @click="commitStudent2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addStudentDialog=false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!-- 添加学生dialog对话框结束 -->
-       <!-- 删除教师对话框开始 -->
-      <el-dialog
-              title="删除教师"
-              :visible.sync="delMember"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该教师?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-      </el-dialog>
-      <!-- 删除教师对话框结束 -->
-      <!-- 删除学生成员对话框开始 -->
-            <el-dialog
-              title="删除学生成员"
-              :visible.sync="DelStudentDialog"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该学生成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudent" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="DelStudentDialog = false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除学生成员对话框结束 -->
-
-       <!-- 修改对话框开始 -->
-       <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="submitHint = false" size="small" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-  </div>
-</template>
-
-<script>
-    export default {
-      data() {
-        return {
-          iid:'',
-          isUpload:'',
-          accept:"image/*",
-          isAddMember:1,
-          isAddStudent:1,
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          dialogImageUrl:'',  //图片地址
-          index:0,
-          delMember:false,
-          DelStudentDialog:false,
-          amendMemberDialog:false,
-          addMemberDialog:false,
-          addStudentDialog:false,
-          submitHint:false,
-          loading:false,
-          select:{    //数据详情框数据
-            project:'',   
-            person:'',
-            departmentData:"",  //部门框值
-            sort:[],     //分类值
-            tel:'',
-            Date:'',
-            Fund:'',
-            sortOptions: [],
-            department:[],
-          },
-          textarea:'周四福利大放送',   //项目简介
-
-          teacherData:[],   //成员列表数据
-          studentData:[],
-          addTabMember:{       //添加项目成员
-            // id:'',
-            name:'',
-            class:'',
-            phone:'',
-            score:0
-          },
-          teacher:{ //添加老师团队表
-            name:"",  //姓名
-            speciality:"",//专业
-            title:"",//职称
-            education:"",//学历
-            section:"",//所在教研室
-            work:"",//项目组角色分工
-          },
-          student:{ //添加学生团队表
-            name:"",//姓名
-            class:"",//班级
-            age:"",//年龄
-            work:'',//项目组任务分工
-          }
-        }
-      },
-      methods:{
-        addMemberStudent(){//添加项目组-学生成员
-          this.isAddStudent=1;
-          this.addStudentDialog = true;
-        },
-        commitStudent(){//确定添加学生
-            for(let i in this.student){if(this.student[i]==''||this.student[i]==undefined)return this.$message.error("请填完所有内容");}
-            let newData={};
-            for(let a in this.student)newData[a] = this.student[a];
-            this.studentData.push(newData);
-            this.$message.success("添加成功");
-            this.addStudentDialog = false;
-            //清空表单
-            for(let j in this.student)this.student[j]='';
-        },
-        updateStudent(val){ //修改学生信息
-          Object.assign(this.student,this.studentData[val]);
-          this.isAddStudent=2;
-          this.index=val;
-          this.addStudentDialog = true;
-        },
-        commitStudent2(){//确定修改学生
-            Object.assign(this.studentData[this.index],this.student)
-            this.addStudentDialog=false;
-            for(let k in this.student) this.student[k]=''
-            this.$message.success('修改成功')
-        },
-        DelStudent(val){//删除学生对话框
-          this.index = val;
-          this.DelStudentDialog=true;
-        },
-        commitDelStudent(){ //对话框确定删除学生成员
-          this.studentData.splice(this.index,1);
-          this.$message.success('删除成功');
-          this.DelStudentDialog=false;
-        },
-        addMember(){    //添加教师按钮,显示对话框
-            this.addMemberDialog=true;
-            this.isAddMember=1;
-        },
-        commit(){   //确定添加教师
-              for(let i in this.teacher){if(this.teacher[i]==''||this.teacher[i]==undefined)return this.$message.error("请填完所有内容");}
-              let newData = {};
-              for(let a in this.teacher)newData[a] = this.teacher[a];
-              this.teacherData.push(newData);
-              this.$message.success('添加成功');
-              this.addMemberDialog = false;
-              for(let j in this.teacher)this.teacher[j]='';
-        },
-        amendDialogData(val){   //修改项目成员信息对话框显示
-          Object.assign(this.teacher,this.teacherData[val])
-          this.isAddMember=2;
-          this.index=val;
-          this.addMemberDialog=true;
-        },
-        commit2(){   //确定修改老师
-            Object.assign(this.teacherData[this.index],this.teacher)
-            for(let k in this.teacher) this.teacher[k]=''
-            this.addMemberDialog=false;
-            this.$message.success('修改成功')
-        },
-        Del(val){ //删除老师按钮
-          this.index=val;   
-          this.delMember=true;
-        },
-        commitDelMember(){  //确定删除老师按钮
-          this.teacherData.splice(this.index,1)
-          this.$message.success('删除成功')
-          this.delMember=false;
-        },
-
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        audit(){    //立即修改对话框显示
-          this.submitHint=true
-        },
-        submitAll(){
-
-          let param = {
-            uid:this.$store.state.userInfo.userid,
-            pid:this.$route.query['pid'],
-            title:this.select.project,
-            pro_leader:this.select.person,
-            lead_leader:this.select.lead_leader,
-            startTime:this.select.Date[0],
-            endTime:this.select.Date[1],
-            cid:this.select.departmentData,
-            fund:this.select.Fund,
-            img:this.dialogImageUrl,
-            teacher:JSON.stringify(this.teacherData),
-            student:JSON.stringify(this.studentData),
-            brief:this.textarea,
-          }
-          //判断数据
-          const cEmpty = /^\s*$/g;
-          for(let i in param){
-            switch(i){
-              case 'title':
-                if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                break;
-              case 'pro_leader':
-                if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                break;
-              case 'startTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目开始时间")
-                break;
-              case 'endTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目计划结束时间")
-                break
-              case 'cid':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                break;
-              case "lead_leader":
-                if(cEmpty.test(param[i]))return this.$message.error("请输入学院牵头领导")
-                break;
-              case 'img':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                break;
-              case 'teacher':
-                if(JSON.parse(param[i]).length<3)return this.$message.error("需要教师团队3人以上,至少应包含1名教研室主任")
-                break;
-              case 'student':
-                if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                break;
-              case 'brief':
-                if(param[i].length<200&&param[i]<=300)return this.$message.error("项目简介需要200-300字")
-                break;
-            }
-          }
-          this.ajax.post(this.$store.state.api+'/UpdateProjectMakerSpaceBase',param).then(res=>{
-            if(res.data==1){
-              this.$message.success("修改项目信息成功")
-              this.submitHint = false;
-            }else{
-              this.$message.error('修改项目信息失败')
-            }
-            this.getData();
-          }).catch(err=>{
-            console.log(err)
-          })
-        },
-        getData(){   //初始化完成获取基本数据进行填充
-          this.loading = true;
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:this.$route.query['pid']
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectProjectMakerSpace',param)
-                  .then(res=>{
-                    let data=res.data[0][0]
-                    this.select.project=data.title;
-                    this.select.Fund=data.fund;
-                    this.select.person=data.pro_leader;
-                    this.select.Date=[data.begintime,data.planTime];
-                    this.textarea=data.brief;
-                    this.dialogImageUrl=data.image;
-                    this.select.departmentData = data['classid']
-                    this.select.sort = [data['typeid'],data['typeName']]
-                    this.isUpload=data['isupload']
-                    this.select.lead_leader = data['lead_leader']
-                    this.teacherData = JSON.parse(data['course_teacher'])
-                    this.studentData = JSON.parse(data['course_student'])
-                    this.loading = false;
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        this.select.department=res.data[0]
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-        getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-          let TypeList = [];
-          let param={
-            uid:this.$store.state.userInfo.userid
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectAllType',param)
-                  .then(res=>{
-                    //获取主分类
-                    let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        this.select.sortOptions = TypeList;
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-      },
-      mounted(){    //数据加载完成后触发
-        this.getData();
-        this.getProjectDepartmentData();
-        this.getProjectTypeData();
-      },
-      }
-  </script>
-  
-  <style lang="less">
-  .ProjectManagement1{
-
-.avatar-uploader .el-upload {
-  border: 1px dashed #d9d9d9;
-  border-radius: 6px;
-  cursor: pointer;
-  // position: relative;
-  overflow: hidden;
-}
-.avatar-uploader .el-upload:hover {
-  border-color: #409EFF;
-}
-.avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 300px;
-  // height: 100%;
-  line-height: 178px;
-  text-align: center;
-}
-.avatar {
-  width: 300px;
-  height:178px !important;
-  display: block;
-}
-
-
-.delMemberDialog{      //删除对话框
-    .el-dialog{
-      border-radius: 5px;
-      overflow: hidden;
-    }
-    .deleteContent{
-      margin: 30px 0;
-      font-size: 22px;
-      color: #000;
-    }
-    .el-dialog__header{
-      background: #32455b;
-      display: flex;
-      justify-content: center;
-    }
-    .el-dialog__title{
-      color:#fff;
-      display: flex;
-      justify-content: center;
-      font-size: 18px;
-      position: relative;
-      top: -2px;
-    }
-    .el-dialog__body{
-      display: flex;
-      justify-content: center;
-    }
-    .dialog-footer{
-      display: flex;
-      justify-content: center;
-      box-sizing: border-box;
-
-    }
-  }
-
-
-//项目修改对话框开始
-.projectApplicationfundAddDialog{  
-
-      .el-dialog__header{
-          background: #32455b;
-
-      }
-      .el-dialog{
-        border-radius:5px ;
-        overflow: hidden;
-      }
-      
-      .deleteContent{
-        width: 100%;
-        text-align: center;
-        font-size: 22px;
-        color: #000;
-      }
-      .addDialogLogo{
-              width: 60px;
-              height: 30px;
-              border-radius: 5px;
-              display: flex;
-              justify-content: center;
-              line-height: 30px;
-              background: #f2f2f2;
-              position: absolute;
-              left: 20px; top: 15px; 
-      }
-
-      .el-dialog__title{
-              color:#fff;
-              display: flex;
-              justify-content: center;
-              font-size: 18px;
-              position: relative;
-              top: -2px;
-      }
-      .addDialogMid{
-        box-sizing: border-box;
-        padding:0 60px 0 10px;
-        .addDialogTit{
-          display: flex;
-          span{
-            width: 80px;
-            line-height: 40px;
-            text-align: left;
-          }
-        }
-      .addDialogTit1{
-        display: flex;
-        justify-content: space-between;
-        margin-bottom: 15px;
-      }
-      .addDialogTit2{
-        margin-top: 10px;
-        font-size: 18px;
-        color: #000;
-        text-indent: 2em;
-      }
-      .addDialogCon{
-        margin-top: 20px;
-      }
-      }
-      .dialog-footer{
-      display: flex;
-      justify-content: center;
-
-      }
-  }
-}
-  </style>

+ 0 - 394
src/views/projectManage/components/ProjectManagement2.vue

@@ -1,394 +0,0 @@
-<template>
-  <!-- 项目管理 项目详细 -->
-    <div class="ProjectManagement2">
-   
-      <div id="w">
-              <p class="pTit">研发内容</p>
-              <div>
-                <p class="pTit2">一、项目研发背景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.back">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.back"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、项目创新点</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.innovate">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.innovate"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、技术研发路线</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.path">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.path"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">四、项目应用场景</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.scene">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.scene"></vue-editor> -->
-                </div>
-              </div>
-              <!-- <div class="editor">
-                <vue-editor  :editorToolbar="customToolbar" v-model="content.contentOne"></vue-editor>
-              </div> -->
-            </div>
-            <div>
-              <p class="pTit">商业模式及社会价值</p>
-              <div>
-                <p class="pTit2">一、项目商业模式/社会价值</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.worth">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.worth"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div>
-              <p class="pTit">团队优势</p>
-              <div>
-                <p class="pTit2">一、团队构成及优势</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.team">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.team"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-
-            <div>
-              <p class="pTit">研发成本</p>
-              <div>
-                <p class="pTit2">一、研发成本来源及构成</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.cost">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.cost"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div id="e">
-              <p class="pTit">预期成果</p>
-              <div>
-                <p class="pTit2">一、项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectResults">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResults"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">二、学生创客人才培养预期成果、数量(教师填写)</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectResultsTeacher">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResultsTeacher"></vue-editor> -->
-                </div>
-              </div>
-              <div>
-                <p class="pTit2">三、项目预期孵化、转化创业项目情况</p>
-                <div class="editor">
-                  <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.expectConversion">
-                  </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectConversion"></vue-editor> -->
-                </div>
-              </div>
-            </div>
-            <div>
-              <p class="pTit" style="margin-bottom: 0;">实施计划</p>
-              <div class="editor">
-                <el-input
-                    type="textarea"
-                    :rows="6"
-                    resize="none"
-                    class="textArea"
-                    placeholder="请输入内容"
-                    v-model="content.plan">
-                  </el-input>
-                <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.plan"></vue-editor> -->
-              </div>
-            </div>
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <!-- <el-button type="primary" v-show="isUpload==2"  @click="audit">立即修改</el-button> -->
-          <!-- <el-button type="primary" v-show="isUpload==3 || isUpload ==4" class="disa">立即修改</el-button> -->
-
-        </div>
-      </div>
-      <!-- 修改对话框开始 -->
-      <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog"
-          :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="init" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-    </div>
-  </template>
-  
-  <script>
-import { VueEditor } from "vue2-editor";
-
-      export default {
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            isUpload:'',
-            apIsupload:0,
-            data:[["","","","",""],[]],
-            submitHint:false,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-            content:'',
-          }
-        },
-        methods:{
-          // content(){      //导航栏项目详情跳转
-          //   this.$router.push('/projectApplicationDetails')
-          // },
-         
-          // backBtn(){
-          //   this.$router.push('/projectApplicationApply2')
-          // },
-          audit(){   //立即修改按钮
-            this.submitHint=true
-          },
-          submitAll(){
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query['pid'],
-              message:JSON.stringify(this.content)
-            }
-              this.ajax
-                  .post(this.$store.state.api+'/updateProjectApplication2Student',param)
-                  .then(res=>{
-                    // console.log(res);
-                    this.$message.success('修改成功')
-                    this.init()
-                  },err=>{
-                    console.log(err);
-                  })
-          },
-          init(){
-            this.submitHint=false
-          },
-          // getData(){   //初始化完成获取基本数据进行填充
-          //   let param={
-          //     uid:this.$store.state.userInfo.userid,
-          //     pid:this.$route.query['pid']
-          //   }
-          //     this.ajax
-          //           .get(this.$store.state.api+'/GetProjectDetailMessage',param)
-          //           .then(res=>{
-          //             this.isUpload=res.data[0][0].isupload;
-          //             let GetData=JSON.parse(res.data[0][0].chapters)
-          //             this.data=GetData;
-          //           },err=>{
-          //             console.log(err);
-          //           })
-          // },
-          getData(){
-                let param={
-                    uid:this.$store.state.userInfo.userid,
-                    pid:this.$route.query['pid']
-                }
-                this.ajax
-                    .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                    .then(res=>{
-                        let data=res.data[0][0]
-                        this.isUpload=data.isupload
-                        // console.log(data.chapters);
-                        this.content=JSON.parse(data.chapters)
-                        this.apIsupload=data.apIsupload
-                        // console.log(this.content);
-                    },err=>{
-                        console.log(err);
-                    })
-            },
-        },
-        mounted(){
-          this.getData();
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  // .projectApplication2{
- .projectApplicationfundAddDialog{    //项目修改对话框开始
- 
-
- .el-dialog{
-   border-radius:5px ;
-   overflow: hidden;
- }
- 
- .deleteContent{
-   width: 100%;
-   text-align: center;
-   font-size: 22px;
-   color: #000;
- }
- .addDialogLogo{
-  width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
- }
- .el-dialog__header{
- background: #32455b;
- }
- .el-dialog__title{
-  color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
- }
- .addDialogMid{
-   box-sizing: border-box;
-   padding:0 60px 0 10px;
-   .addDialogTit{
-     display: flex;
-     span{
-       width: 80px;
-       line-height: 40px;
-       text-align: left;
-     }
-   }
- .addDialogTit1{
-   display: flex;
-   justify-content: space-between;
-   margin-bottom: 15px;
- }
- .addDialogTit2{
-   margin-top: 10px;
-   font-size: 18px;
-   color: #000;
-   text-indent: 2em;
- }
- .addDialogCon{
-   margin-top: 20px;
- }
-}
-.dialog-footer{
- display: flex;
- justify-content: center;
-//  .btn5{
-//    height: 40px;
-//    font-size: 16px;
-//    background: #0e72e6;
-//    width: 200px;
-//  }
-}
-}
-
-    .PA2textArea{     //标题栏
-        margin: 15px 0;
-        .PA2textAreaTit{
-            width: 80%;
-            text-align: left;
-            font-size: 18px;
-            font-weight: 550;
-            margin-bottom: 15px;
-            color: #2387ff;
-        }
-        .ql-toolbar.ql-snow{
-          display: flex;
-        }
-        .PA2textAreaTit2{
-            font-size: 16px;
-        }
-        .el-textarea__inner{
-            background: #f2f2f2;
-        }
-    }
-    
-
-
-  // }
-  </style>

+ 0 - 306
src/views/projectManage/components/ProjectManagement2_MakerSpace.vue

@@ -1,306 +0,0 @@
-<template>
-    <!-- 项目立项申请查看详细项目详细 -->
-      <div class="projectApplication2" v-loading="loading">
-        <div class="PA2mid">项目建设内容及目标</div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">一、建设内容<span>(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.Construction">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Construction"></vue-editor> -->
-        </div>
-  
-        <div class="PA2mid">预项目建设论证报告</div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">一、立项依据<span> (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.ProjectBasis">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.ProjectBasis"></vue-editor> -->
-        </div>
-  
-        <div class="PA2mid">预期成果</div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">一、创客空间物理环境、制度建设及软件设施建设情况<span>(环境优化/制度完善/设施改造)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.development">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.development"></vue-editor> -->
-        </div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">二、学生创客工作室建设情况<span>(工作室数量及活动开展情况)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studio">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studio"></vue-editor> -->
-        </div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">三、学生创客团队(人才)培养预期成果、数量</div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studentTeam">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentTeam"></vue-editor> -->
-        </div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">四、学生创客活动组织实施情况</div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studentActivities">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentActivities"></vue-editor> -->
-        </div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">五、学生创客团队孵化、转化创业项目情况</div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.Transforming">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Transforming"></vue-editor> -->
-        </div>
-  
-        <div class="PA2mid">立项基础及条件</div>
-        <div class="PA2textArea">
-          <div class="PA2textAreaTit PA2textAreaTit2">一、基础条件<span>(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.condition">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.condition"></vue-editor> -->
-        </div>
-  
-        <div class="baseBtn">
-          <div class="blockWidth">
-            <!-- <el-button type="primary" v-show="isUpload==2 || isUpload==3"  @click="submitHint=true">立即修改</el-button> -->
-            <!-- <el-button type="primary" disabled v-show="isUpload ==4" style="background: #ccc !important;border: none;">立即修改</el-button> -->
-            <!-- <el-button type="primary" disabled style="background: #ccc !important;border: none;" v-show="isUpload==2">立即修改</el-button> -->
-  
-          </div>
-        </div>
-        <!-- 修改对话框开始 -->
-        <el-dialog
-            title="提示"
-            :visible.sync="submitHint"
-            width="600px"
-            class="projectApplicationfundAddDialog">
-            <div class="addDialogLogo">LOGO</div>
-            <div class="deleteContent">确定修改项目基本信息?</div>
-            <span slot="footer" class="dialog-footer">
-              <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-              <el-button @click="submitHint = false" class="AllDialogBtn" size="small">取消</el-button>
-            </span>
-          </el-dialog>
-        <!-- 修改对话框结束 -->
-      </div>
-    </template>
-    
-    <script>
-  import { VueEditor } from "vue2-editor";
-  
-        export default {
-          components:{
-            VueEditor
-          },
-          data() {
-            return {
-              isUpload:0,
-              loading:false,
-              submitHint:false,
-              customToolbar: [
-                ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-                [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-                [{header:[false,1,2,3,4]}]
-              ],
-              data:{
-                  Construction:"",//建设内容
-                  ProjectBasis:"",//立项依据
-                  development:"",//创客空间物理环境、制度建设及软件设施建设情况
-                  studio:"",//学生创客工作室建设情况
-                  studentTeam:"",//学生创客团队(人才)培养预期成果、数量
-                  studentActivities:"",//学生创客活动组织实施情况
-                  Transforming:"",//学生创客团队孵化、转化创业项目情况
-                  condition:"",//立 项基 础及条 件
-              },
-            }
-          },
-          methods:{
-            submitAll(){
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid'],
-                chapters:JSON.stringify(this.data)
-              }
-              this.ajax.post(this.$store.state.api+"/UpdateProjectChaptersMakerSpace",param).then(res=>{
-                if(res.data==1){
-                  this.$message.success("修改成功")
-                }else{
-                  this.$message.error("修改失败")
-                }
-                this.submitHint = false;
-                this.getData();
-              }).catch(err=>{
-                console.log(err)
-              })
-            },
-            getData(){   //初始化完成获取基本数据进行填充
-              this.loading = true;
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid']
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectProjectChapterMakerSpace',param)
-                      .then(res=>{
-                        this.isUpload = res.data[0][0]['isupload']
-                        this.data = JSON.parse(res.data[0][0]['chapters']);
-                        console.log(this.data)
-                        this.loading = false;
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-          },
-          mounted(){
-            this.getData();
-          }
-        }
-    </script>
-    
-    <style lang="less">
-    .projectApplication2{
-  
-   .projectApplicationfundAddDialog{    //项目修改对话框开始
-   
-  
-   .el-dialog{
-     border-radius:5px ;
-     overflow: hidden;
-   }
-   
-   .deleteContent{
-     width: 100%;
-     text-align: center;
-     font-size: 22px;
-     color: #000;
-   }
-   .addDialogLogo{
-    width: 60px;
-          height: 30px;
-          display: flex;
-          justify-content: center;
-          line-height: 30px;
-          border-radius: 5px;
-          background: #f2f2f2;
-          position: absolute;
-          left: 20px; top: 15px; 
-   }
-   .el-dialog__header{
-   background: #32455b;
-   }
-   .el-dialog__title{
-    color:#fff;
-          display: flex;
-          justify-content: center;
-          font-size: 18px;
-          position: relative;
-          top: -2px;
-   }
-   .addDialogMid{
-     box-sizing: border-box;
-     padding:0 60px 0 10px;
-     .addDialogTit{
-       display: flex;
-       span{
-         width: 80px;
-         line-height: 40px;
-         text-align: left;
-       }
-     }
-   .addDialogTit1{
-     display: flex;
-     justify-content: space-between;
-     margin-bottom: 15px;
-   }
-   .addDialogTit2{
-     margin-top: 10px;
-     font-size: 18px;
-     color: #000;
-     text-indent: 2em;
-   }
-   .addDialogCon{
-     margin-top: 20px;
-   }
-  }
-  .dialog-footer{
-   display: flex;
-   justify-content: center;
-  }
-  }
-  //项目修改对话框结束
-      .PA2textArea{     //标题栏
-          margin: 15px 0;
-          .PA2textAreaTit{
-              width: 80%;
-              text-align: left;
-              font-size: 18px;
-              font-weight: 550;
-              margin-bottom: 15px;
-              color: #2387ff;
-          }
-          .ql-toolbar.ql-snow{
-            display: flex;
-          }
-          .PA2textAreaTit2{
-              font-size: 16px;
-          }
-          .el-textarea__inner{
-              background: #f2f2f2;
-          }
-      }
-      
-      .PA2mid{    //预期取得成果单独一栏
-          width: 100%;
-          text-align: left;
-          font-size: 18px;
-          font-weight: 550;
-          margin-bottom: 10px;
-          color: #2387ff;
-      }
-    }
-    </style>

+ 0 - 555
src/views/projectManage/components/ProjectManagement3_1.vue

@@ -1,555 +0,0 @@
-<template>
-  <!-- 项目管理 活动开展 查看详细-->
-    <div class="ProjectManagement3_1" v-loading="loading">
-     <!-- 活动申请填写信息区域开始 -->
-      <div class="select">
-                <div class="selectTop">
-                  <div class="label">项目名称</div>
-                  <el-input v-model="selects.projectName" placeholder="请输入内容"></el-input>
-                </div>
-                <div class="selectMid">
-                  <div class="selectLeft">
-                      <div class="inpBlock" style="position: relative;">
-                          <div class="label">预算经费</div>
-                          <el-input v-model="selects.fund" disabled placeholder="请输入内容"></el-input>
-                          <div style="position: absolute;top: 8px;right: -30px;">(万)</div>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">负责人</div>
-                          <el-input v-model="selects.leader" placeholder="请输入内容"></el-input>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">所在部门</div>
-                          <el-select v-model="selects.department" style="width: 100%;" placeholder="请选择">
-                            <el-option
-                              v-for="item in selectInput"
-                              :key="item.id"
-                              :label="item.name"
-                              :value="item.id">
-                            </el-option>
-                          </el-select>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">联系电话</div>
-                          <el-input v-model="selects.tel" placeholder="请输入内容"></el-input>
-                      </div>
-                  </div>
-
-                  <div class="selectRight">
-                    <div class="inpBlock">
-                          <div class="label">项目开始时间</div>
-                          <el-date-picker
-                            v-model="selects.beginDate"
-                            type="datetime"
-                            style="width: 100%;"
-                            placeholder="选择日期">
-                          </el-date-picker>
-                      </div>
-                      <div class="inpBlock">
-                          <div class="label">参与学生人数</div>
-                          <el-input v-model="selects.studentNum" placeholder="请输入内容"></el-input>
-                      </div>
-                      
-                  </div>
-                </div>
-      </div>
-      <!-- 活动申请填写信息区域结束 -->
-
-
-
-   <!-- 活动指导老师开始 -->
-   <div class="tabTit">
-                <div>
-                  <p>活动指导老师</p>
-                </div>
-                <el-button type="primary" @click="addTeacher" size="mini">添加教师</el-button>
-              </div>
-              <hr>
-              <el-table
-                :data="tableData"
-                tooltip-effect="dark"
-                stripe
-                class="fontSize"
-                :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                >
-                <!-- 数据根据prop进行遍历填充 -->
-                <el-table-column
-                  prop="Name"
-                  label="姓名"
-                  align="center"
-                  >
-                </el-table-column>
-                <el-table-column
-                  prop="work"
-                  label="工作单位"
-                  align="center"
-                  >
-                </el-table-column>
-  
-                <el-table-column
-                  prop="takeCharge"
-                  label="活动分工"
-                  align="center"
-                  >
-                </el-table-column>
-                
-                <el-table-column
-                  prop="operation"
-                  align="center"
-                  label="操作"
-                  >
-                  <template #default="scope">
-                      <div class="operations">
-                              <el-button type="primary" size="mini" @click="updateTeacher(scope.$index)" style="font-size: 14px;">修改</el-button>
-                              <el-button type="primary" size="mini" style="font-size: 14px;" @click="deleteRow(scope.$index)">删除</el-button>
-                      </div>
-                  </template>
-                </el-table-column>
-              </el-table>
-            <!-- 活动指导老师结束 -->
-
-
-    <!-- 多行文本框区域开始 -->
-      
-    <div class="tabTit">
-                 <div><p>活动介绍</p></div>
-            </div>
-              <el-input
-                type="textarea"
-                :rows="6"
-                resize="none"
-                style="color: black;font-size: 16px;font-weight: 600;"
-                placeholder="请输入内容"
-                v-model="selects.brief">
-              </el-input>
-      <div class="tabTit">
-            <div><p>活动计划</p></div>
-      </div>
-      <div class="textArea">
-        <vue-editor  :editorToolbar="customToolbar" v-model="textareaS[0]"></vue-editor>
-      </div>
-      <div class="tabTit">
-            <div><p>预期目标</p></div>
-      </div>
-      <div class="textArea">
-        <vue-editor  :editorToolbar="customToolbar" v-model="textareaS[1]"></vue-editor>
-
-      </div>
-      <div class="tabTit">
-            <div><p>活动受面</p></div>
-      </div>
-      <div class="textArea">
-        <vue-editor  :editorToolbar="customToolbar" v-model="textareaS[2]"></vue-editor>
-
-      </div>
-      <div class="tabTit">
-            <div><p>经费支出计划</p></div>
-      </div>
-      <div class="textArea">
-        <vue-editor  :editorToolbar="customToolbar" v-model="textareaS[3]"></vue-editor>
-      </div>
-    <!-- 多行文本框区域结束 -->
-    <div class="baseBtn">
-            <div class="blockWidth">
-              <el-button v-show="state==0" type="primary" class="backBtn"  @click="updateActivityDialog" >上传修改</el-button>
-              <el-button v-show="state!=0" disabled style="background: #ccc !important;border: 0;" type="primary" class="backBtn"  @click="updateActivityDialog" >上传修改</el-button>
-            </div>
-          </div>
-
-     <!--添加成员dialog对话框开始 -->
-     <el-dialog
-            :title="isAddMember?'添加指导老师':'修改指导老师'"
-            :visible.sync="addMemberDialog"
-            class="AddMember"
-            :before-close="handleClose">
-
-              <div class="littleBlock">
-                <div class="dialogLabel">姓名</div>
-                <div>
-                  <el-input v-model="Member.Name"></el-input>
-                </div>
-              </div>
-
-              <div class="littleBlock">
-                <div class="dialogLabel">工作单位</div>
-                <div>
-                  <el-input v-model="Member.work"></el-input>
-                </div>
-              </div>
-
-              <div class="littleBlock">
-                <div class="dialogLabel">活动分工</div>
-                <div>
-                  <el-input v-model="Member.takeCharge"></el-input>
-                </div>
-              </div>
-              <div slot="footer" class="footer">
-                <el-button v-show="isAddMember" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-                <el-button v-show="!isAddMember"  type="primary" @click="change" class="AllDialogBtn" >确认修改</el-button>
-                <el-button @click="handleClose" class="AllDialogBtn">取消</el-button>
-              </div>
-        </el-dialog>
-      <!--添加成员dialog对话框结束 -->
-      <!-- 修改对话框框开始 -->
-      <el-dialog
-          title="提示"
-          :visible.sync="updateActivity"
-          width="600px"
-          class="projectApplicationfundAddDialog"
-          :before-close="handleClose">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="handleClose"  class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 提交对话框结束 -->
-      <!-- 删除成员对话框开始 -->
-      <el-dialog
-              title="删除指导老师"
-              :visible.sync="delMember"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除指导老师?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="handleClose" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除成员对话框结束 -->
-
-
-
-
-    </div>
-</template>
-
-  <script>
-  import { VueEditor } from "vue2-editor";
-  // import { uuid } from 'vue-uuid';
-      export default {
-        components:{
-          VueEditor,
-        },
-        data() {
-          return {
-            updateActivity:false,
-            loading:false,
-            isAddMember:1,
-            state:0,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-            iid:'',        //为删除框储存id
-          delMember:false,   //删除对话框
-          addMemberDialog:false,
-          tableData:[],  //活动指导老师列表
-          selects:{      //基础信息
-            projectName:'',
-            fund:'',
-            leader:'',
-            department:'',
-            tel:'',
-            beginDate:'',
-            studentNum:'',
-            brief:'',
-            classid:"",
-
-          },
-
-          textareaS:[],
-          selectInput: [], //部门下拉框
-          Member:{
-              // Id:"",
-              Name:'',
-              work:'',
-              takeCharge:''
-          },
-          }
-        },
-        methods:{
-        
-              getData(){       //获取基础信息
-                this.loading = true;
-                this.ajax.get(this.$store.state.api+"/GetActivityDetail",{
-                  uid:this.$store.state.userInfo.userid,
-                  // aId:this.$route.query["Id"]
-                  aId:this.$route.query["aid"]
-                }).then(res=>{
-                  if(!res.data[0][0])return this.$message.error("错误")
-                  let data = res.data[0][0];
-                  // console.log(data);
-                  this.selects.projectName=data.title;
-                  this.selects.fund=data.money;
-                  this.selects.leader=data.pro_leader;
-                  this.selects.tel=data.phone;
-                  this.selects.brief=data.brief
-                  this.selects.classid=data.classid
-                  this.selects.beginDate=data.create_at;
-                  this.selects.studentNum=data.students;
-                  this.selects.department=data.classid;
-                  this.tableData=JSON.parse(data.course_teacher)
-                  this.textareaS=JSON.parse(data.chapters)
-                  this.state=data.state
-                  this.loading = false;
-                }).catch(err=>{
-                  this.$message.error(err.message)
-                })
-              },
-              getAllClass(){
-                    this.ajax.get(this.$store.state.api+"/SelectAllDepartment",{
-                        uid:this.$store.state.userInfo.userid,
-                    }).then(res=>{
-                        this.selectInput = res.data[0];
-                    }).catch(err=>{
-                        this.$message.error(err.message)
-                    })
-                },
-                handleClose(){
-                    this.addMemberDialog=false
-                    this.updateActivity=false
-                    this.delMember=false
-                    for(let i in this.Member)this.Member[i]='';
-                },
-                addTeacher(){    //添加老师对话框
-                  this.isAddMember=1;
-                  this.addMemberDialog=true;
-                },
-                commit(){  //确定添加老师
-                    if(this.Member.Name=='')return this.$message.error('请输入姓名')
-                    if(this.Member.work=='')return this.$message.error('请输入工作单位')
-                    if(this.Member.takeCharge=='')return this.$message.error('请输入活动分工')
-                    let k={}
-                    this.addMemberDialog=false;
-                    Object.assign(k,this.Member)
-                    this.tableData.push(k);
-                    this.$message.success('添加成功')
-                    for(let i in this.Member)this.Member[i]='';
-              },
-
-              updateTeacher(index){    //修改对话框出现
-                Object.assign(this.Member,this.tableData[index])
-                this.Member['index']=index      //在data中赋值这样谁都可以取到了
-                this.isAddMember=0;
-                this.addMemberDialog = true;
-              },
-              change(){    //确定修改老师
-                if(this.Member.Name=='')return this.$message.error('请输入姓名')
-                if(this.Member.work=='')return this.$message.error('请输入工作单位')
-                if(this.Member.takeCharge=='')return this.$message.error('请输入活动分工')
-
-                Object.assign(this.tableData[this.Member['index']],this.Member)     //this.Member['index']在显示框出现的时候赋值了
-                for(let i in this.Member)this.Member[i]='';
-                this.addMemberDialog = true;
-                this.$message({message:"修改成功",type:"success"})
-                this.addMemberDialog = false;
-              },
-
-              deleteRow(index){   //删除对话框出现
-                this.delMember=true
-                this.iid=index
-              },
-              commitDelMember(){    //确定删除老师
-                this.tableData.splice(this.iid,1)
-                // this.tableData = this.tableData.filter(item=>item.Id!=this.iid);
-                this.$message({message:"删除成功",type:"success"})
-                this.delMember=false
-              },
-              updateActivityDialog(){   //显示修改提交对话框
-                this.updateActivity=true
-              },
-              submitAll(){      //确定提交修改
-                  //保存修改
-                    const param = {
-                      uid:this.$store.state.userInfo.userid,
-                      aid:this.$route.query["aid"],
-                      tit:this.selects.projectName,
-                      con:this.selects.brief,
-                      leader:this.selects.leader,
-                      mon:this.selects.fund,
-                      stu:this.selects.studentNum,
-                      teacher:JSON.stringify(this.tableData),
-                      chap:JSON.stringify(this.textareaS),
-                      pid:this.$route.query['pid'],
-                      cid:this.selects.classid,
-                      ph:this.selects.tel,
-                      beginTime:JSON.stringify(this.selects.beginDate)
-                    }
-
-                    this.ajax.post(this.$store.state.api+"/UpdateActivity",param).then(res=>{
-                      if(res.data==1){
-                        this.$message.success("修改成功");
-                        this.updateActivity=false
-                        this.getData();
-                      }else{
-                        this.$message.error("修改失败"+res.data);
-                      }
-                    }).catch(err=>{
-                      this.$message.error(err.message)
-                    })
-                    console.log(this.tableData)
-              },
-              content(){
-                this.$router.push(`/ProjectManagement1?Id=${this.$route.query['Id']}&pid=${this.$route.query['pid']}`)
-              },
-              remark(){
-                this.$router.push(`/ProjectManagement2?Id=${this.$route.query['Id']}&pid=${this.$route.query['pid']}`)
-              },
-              remark2(){
-                this.$router.push(`/ProjectManagement3?Id=${this.$route.query['Id']}&pid=${this.$route.query['pid']}`)
-              },
-              remark4(){
-                this.$router.push(`/ProjectManagement4?Id=${this.$route.query['Id']}&pid=${this.$route.query['pid']}`)
-              },
-              remark5(){
-                this.$router.push(`/ProjectManagement5?Id=${this.$route.query['Id']}&pid=${this.$route.query['pid']}`)
-              },
-              backBtn2(){
-                this.$router.push('/ProjectManagement1')
-              },
-              // handleSelectionChange(val) {
-              //   this.multipleSelection = val;
-              // },
-         
-        },
-        mounted(){
-          this.getData();
-          this. getAllClass();
-          // console.log(this.$route.query["Id"]);
-        }
-      }
-  </script>
-
-  <style lang="less">
-   
-    .projectApplicationfundAddDialog{  //提交对话框开始
- 
-      .el-dialog{
-        border-radius:5px ;
-        overflow: hidden;
-      }
-      
-      .deleteContent{
-        width: 100%;
-        text-align: center;
-        font-size: 22px;
-        color: #000;
-      }
-      .addDialogLogo{
-        width: 60px;
-        height: 30px;
-        border-radius: 5px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-      }
-      .el-dialog__header{
-        background: #32455b;
-      }
-      .el-dialog__title{
-        color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-      }
-      .addDialogMid{
-        box-sizing: border-box;
-        padding:0 60px 0 10px;
-        .addDialogTit{
-          display: flex;
-          span{
-            width: 80px;
-            line-height: 40px;
-            text-align: left;
-          }
-        }
-      .addDialogTit1{
-        display: flex;
-        justify-content: space-between;
-        margin-bottom: 15px;
-      }
-      .addDialogTit2{
-        margin-top: 10px;
-        font-size: 18px;
-        color: #000;
-        text-indent: 2em;
-      }
-      .addDialogCon{
-        margin-top: 20px;
-      }
-      }
-      .dialog-footer{
-      display: flex;
-      justify-content: center;
-      // .btn5{
-      //   height: 40px;
-      //   font-size: 16px;
-      //   background: #0e72e6;
-      //   width: 200px;
-      // }
-      }
-      }
-
-    .delMemberDialog{    //删除对话框
-            font-size: 18px;
-            .el-dialog{
-              border-radius: 5px;
-              overflow: hidden;
-            }
-            .deleteContent{
-              font-size: 22px;
-              color: #000;
-            }
-            .el-dialog__header{
-              background: #32455b;
-              display: flex;
-              justify-content: center;
-            }
-            .el-dialog__title{
-              color:#fff;
-              display: flex;
-              justify-content: center;
-              font-size: 18px;
-              position: relative;
-              top: -2px;
-            }
-            .el-dialog__body{
-              display: flex;
-              justify-content: center;
-            }
-            // .addDialogMid{
-            //   box-sizing: border-box;
-            //   padding:0 60px 0 10px;
-            //   .addDialogTit{
-            //     display: flex;
-            //     span{
-            //       width: 80px;
-            //       font-size: 16px;
-            //       line-height: 40px;
-            //       text-align: left;
-                  
-            //     }
-            //   }
- 
-            // }
-            .dialog-footer{
-              display: flex;
-              justify-content: center;
-              box-sizing: border-box;
-              // .btn5{
-              //   font-size: 16px;
-              // }
-            }
-          }
-  </style>
-
-  
-  

+ 0 - 368
src/views/projectManage/components/ProjectManagement4.vue

@@ -1,368 +0,0 @@
-<template>
-  <!-- 项目管理 项目附件 -->
-    <div class="ProjectManagement4" v-loading="loading">
-
-      <div class="pmInp">
-          <!-- <el-button type="primary" class="btn"  size="mini">上传文件</el-button> -->
-          <beUpload @getFile="getFile" v-show="state==2 || state==3"  :navName="'上传文件'" :accept="accept" :progress="progress"></beUpload>
-          <!-- <beUpload @getFile="getFile"  v-show="state==1" :navName="'上传文件'" :accept="accept" :progress="progress"></beUpload> -->
-          <el-button v-show="state==4"  style="background: #ccc !important;cursor: no-drop;color: #fff !important;border: 0;font-size: 16px;height: 40px;">上传文件</el-button>
-        </div>
-        <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <!-- 表格开始 -->
-        <el-table
-        :data="tableData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-       
-
-        <!-- <el-table-column
-          prop="title"
-          label="活动名称"
-          align="center"
-          >
-        </el-table-column> -->
-
-        <el-table-column
-          prop="fileName"
-          label="活动中期报告"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="size"
-          label="大小"
-          align="center"
-          >
-        </el-table-column>
-       
-        <el-table-column
-          prop="uploadTime"
-          label="时间"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                  <el-button type="primary" class="bt1" size="mini" @click="checkFile(scope.row.url)"  style="background: #477edd">详情查看</el-button>
-                  <el-button type="primary" class="bt1" size="mini" @click="DelFile(scope.$index)"  style="background: #477edd">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-        </el-table>
-        <!-- 表格结束 -->
-      <!-- 展示文档开始 -->
-      <el-dialog
-            title="展示文件"
-            :visible.sync="showFile"
-            width="80vw"
-            class="addDialog showDialog"
-          >
-      <div class="addDialogLogo">LOGO</div>
-      <div class="showFileArea">
-        <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
-        <vword
-            style="width: 100%; height: 100%; overflow: auto"
-            class="fullStyle"
-            v-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-if="Wordss['type']=='pdf'"
-        ></vpdf>
-        <img :src="showFileUrl" alt="图片哦" v-if="Wordss['name']=='图片'" style="width: auto;height: auto;max-width: 100%;max-height: 100%;">
-      </div>
-    </el-dialog>
-    <!-- 展示文档结束 -->
-        <!-- 分页 -->
-        <!-- <el-pagination
-            @current-change="handleCurrentChange"
-            :current-page="table.currentPage"
-            :page-size="table.packageSize"
-            layout=" prev, pager, next"
-            background
-            class="paginations"
-            :total="table.total">
-          </el-pagination> -->
-        <!-- 分页结束 -->
-    </div>
-  </template>
-  
-  <script>
-  import beUpload from '@/components/tool/beUpload'
-  import vpdf from "@/components/vpdf.vue";
-  import vword from "@/components/vword.vue";
-      export default {
-        components: { beUpload, vpdf, vword },
-        data() {
-          return {
-          accept:"*",
-            // table:{         // 分页数据
-            //   total:0,
-            //   packageSize:2,
-            //   currentPage:1
-            // }, 
-            loading:false,
-            state:'',
-            showFile:false,
-            showFileType: 0,
-            showFileUrl: "",
-            Wordss:{type:"",name:""},
-            canonical:{
-                Image:/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
-                File:/^https?:\/\/(.+\/)+.+(\.(docx|xlsx|ppt|pdf))$/i
-            },
-            tableData:[],
-            progress:{
-              value:0,
-              show:false
-            },  
-          }
-        },
-        methods:{
-          DelFile(index){
-            this.$confirm("你确定要删除该文件吗?",'删除文件确认').then(res=>{
-              this.tableData.splice(index,1)
-              this.ajax.post(this.$store.state.api+"/AddProjectFile",{
-                uid:this.$store.state.userInfo.userid,
-                cid:this.$route.query['pid'],
-                file:JSON.stringify(this.tableData)
-              }).then(res=>{
-                if(res.data==1){
-                  this.$message.success("删除成功")
-                }else{
-                  this.$message.error("删除失败")
-                }
-                this.getData();
-              }).catch(err=>{
-                console.log(err)
-              })
-            }).catch(err=>{
-              console.log("取消删除文件")
-            })
-   
-          },
-          ProgressFormat(value){        //进度条
-            return value ==100?'100%':`${value}%`
-          },
-          //展示文件
-          checkFile(url) {
-            this.showFileUrl = url;
-            this.showFile = true;
-            // console.log(url);
-            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);
-                }
-                else return this.Wordss={type:type,name:type}
-          },
-          getFile(val) {    //上传文件
-            console.log(val);
-            this.file = val;
-            let oldData = [];
-            if (this.tableData!=null) {
-              this.tableData.forEach(item=>oldData.push(item))
-              oldData.push(val)
-            }else{
-                oldData.push(val)
-            }
-          
-            let param={
-                uid:this.$store.state.userInfo.userid,
-                cid:this.$route.query['pid'],
-                projectFile:JSON.stringify(oldData)
-            }
-            this.ajax
-                  .post(this.$store.state.api+'/AddProjectFile',param)
-                  .then(res=>{
-                    // console.log(res);
-                    if (res.data==1) {
-                      this.$message.success('上传成功')
-                      this.getData()
-                      this.progress.show = false;
-                    }else{
-                      this.$message.error('上传失败')
-                    }
-                    
-                  },err=>{
-                    console.log(err);
-                  })
-          },
-        //   handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
-        //   // console.log(`当前页: ${val}`);
-        //   this.table.currentPage=val
-        //   this.getData()
-        // },
-          getData(){       //获取基础信息
-            this.loading = true;
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid'],
-                // page:this.table.currentPage,
-                // lim:this.table.packageSize
-              }
-              // console.log(param);
-              this.ajax
-                    .get(this.$store.state.api+'/SelectProjectFile',param)
-                    .then(res=>{
-                      console.log(res.data[0][0]);
-                      this.state=res.data[0][0].isupload;
-                      let k=[]
-                      res.data[0].forEach((e,i) => {
-                        let { projectFile: l } = e;
-                        k=JSON.parse(l)
-                      });
-                      this.tableData=k
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-          content(){
-            this.$router.push('/ProjectManagement1')
-          },
-          remark(){
-            this.$router.push('/ProjectManagement2')
-          },
-          remark2(){
-            this.$router.push('/ProjectManagement3')
-          },
-      
-          remark5(){
-            this.$router.push('/ProjectManagement5')
-          },
-          
-          backBtn2(){
-            this.$router.push('/ProjectManagement1')
-          },
-          lookDetails(){
-            console.log(111);
-          },
-          back(){
-            this.$router.push('/ProjectManagement')
-          },
-        },
-        mounted(){
-          this.getData()
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .ProjectManagement4{
-    .pagination{
-      float: right;
-      margin: 20px 55px 10px;
-    }
-  
-    .addDialog {
-        font-size: 18px;
-        .el-dialog {
-          border-radius: 5px;
-          overflow: hidden;
-        }
-        .deleteContent {
-          width: 100%;
-          margin: 30px 0;
-          font-size: 22px;
-          color: #000;
-        }
-        .addDialogLogo {
-          width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-        }
-        .el-dialog__header {
-          display: flex;
-          justify-content: center;
-          background: #32455b;
-        }
-        .el-dialog__title {
-          color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-        }
-        .addDialogMid {
-          box-sizing: border-box;
-          padding: 0 60px 0 10px;
-          .addDialogTit {
-            display: flex;
-            span {
-              width: 80px;
-              font-size: 16px;
-              line-height: 40px;
-              text-align: left;
-            }
-          }
-          .addDialogTit1 {
-            display: flex;
-            justify-content: space-between;
-            margin-bottom: 15px;
-          }
-          .addDialogTit2 {
-            margin-top: 10px;
-            font-size: 16px;
-            color: #000;
-            text-indent: 2em;
-          }
-          .addDialogCon {
-            margin-top: 20px;
-          }
-        }
-        .dialog-footer {
-          display: flex;
-          justify-content: center;
-          box-sizing: border-box;
-         
-        }
-      }
-   
-    
-    .pmInp{
-      width: 100%;
-      display: flex;
-      margin: 10px 0 10px 0;
-      justify-content: flex-end;
-
-      // .btn{
-      //   width: 120px !important;
-      //   height: 40px !important;
-      //   font-size: 16px !important;
-      //   margin-left: 10px;
-      // }
-    }
-    
-  }
-   
-  </style>

+ 5 - 8
src/views/projectManage/components/ProjectManagement3.vue → src/views/projectManage/components/ProjectManagementActivity.vue

@@ -83,7 +83,7 @@
           <template #default="scope">
               <div class="operations">
                       <el-button type="primary"  size="mini" @click="detail(scope.row.acId)" style="background: #477edd">查看详情</el-button>
-                      <el-button type="primary"  size="mini" @click='sqb' style="background: #477edd">申请表</el-button>
+                      <!-- <el-button type="primary"  size="mini" @click='sqb' style="background: #477edd">申请表</el-button> -->
               </div>
           </template>
         </el-table-column>
@@ -106,7 +106,6 @@
   </template>
   
   <script>
-  import downloadFile from '@/components/tool/downloadFile.js'
       export default {
         props:['changeShow'],
         data() {
@@ -121,9 +120,6 @@
           }
         },
         methods:{
-          sqb(){
-            downloadFile("/file/附件 2:创客专项资金项目申请表(创客活动).doc","创客专项资金项目申请表(创客活动).doc",(_b)=>this.loading = _b)
-          },
           getData(){
             this.loading = true;
             let param={
@@ -132,6 +128,8 @@
               cid:"",
               leader:'',
               state:"",
+              type:0,
+              input:"",
               page:this.table.currentPage,
               lim:this.table.packageSize
             }
@@ -139,7 +137,6 @@
             this.ajax
                   .get(this.$store.state.api+'/GetAllActivity',param)
                   .then(res=>{
-                    console.log(res.data);
                     this.tableData=res.data[0]
                     this.table.total=res.data[4][0].total
                     this.loading = false;
@@ -150,8 +147,8 @@
           GetTime(data){
           let cdata = JSON.parse(data);
           if(cdata[0]==cdata[1])return cdata[0];
-          let sp1 = cdata[0].split('-')
-          let sp2  =cdata[1].split('-')
+          let sp1 = cdata[0].split(" ")[0].split('-')
+          let sp2  =cdata[1].split(" ")[0].split('-')
           if(sp1[0]==sp2[0]){
             if(sp1[1]==sp2[1]){
               return `${sp1[0]}-${sp1[1]}-${sp1[2]} 至 ${sp2[2]}`

+ 107 - 0
src/views/projectManage/components/ProjectManagementActivityDetail.vue

@@ -0,0 +1,107 @@
+<template>
+  <!-- 项目管理 活动开展 查看详细-->
+    <div class="ProjectManagement3_1" v-loading="loading">
+        <markeractivityWordShow :wordData="wordData" :total="total"/>
+    </div>
+</template>
+
+  <script>
+  // import { uuid } from 'vue-uuid';
+  import markeractivityWordShow from './markeractivityWordShow.vue'
+      export default {
+        components:{markeractivityWordShow},
+        data() {
+          return {
+            loading:false,
+            wordData:{
+                  acId:"",//活动ID
+                  applicationDate:'',//申请日期
+                  associatedProjects:"",//关联项目
+                  ProjectName:"",//关联项目名称
+                  activityName:'',//活动名称
+                  pro_leader:"",//活动负责人
+                  college: '',//所在学院ID
+                  collegeName:"",//所在学院名称
+                  tel:'',//联系电话
+                  activityTime:"",//活动时间
+                  student:0,//参与学生人数
+                  member:[
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                    {name:"",collage:"",work:""},
+                  ],
+                  activityPlan:"",//活动计划
+                  expectations:"",//预期目标
+                  eventAudience:"",//活动受众面
+                  fundingPlan:"",//经费支出计划
+                  expenditureMothPlan:['','','','','','','','','','','',''],
+                  fund:{
+                    device:"",
+                    Material:"",
+                    processing:"",
+                    Collaboration:"",
+                    APPRAISAL:"",
+                    entery:"",
+                    activities:"",
+                    Transaction:"",
+                  },//预算经费
+                  type:0,//0 创客活动 1 个人创客
+                  state:1,//项目状态 0未审核 1待报销 2 已审核 3 已报销
+                }
+          }
+        },
+        methods:{
+          getData(){
+                this.loading = true;
+                let pram = {
+                    uid:this.$store.state.userInfo.userid,
+                    acid:this.$route.query['aid']
+                }
+                this.ajax.get(this.$store.state.api+"/getActivityWordData",pram).then(result=>{
+                    let data = result['data'][0][0]
+                    this.wordData['applicationDate'] = data['applicationDate'];
+                    this.wordData['associatedProjects'] = data['pid'];
+                    this.wordData['activityName'] = data['title'];
+                    this.wordData['pro_leader'] = data['pro_leader'];
+                    this.wordData['college'] = data['classid'];
+                    this.wordData['tel'] = data['phone']
+                    this.wordData['activityTime'] = JSON.parse(data['begin_at']);
+                    this.wordData['student'] = data['students'];
+                    this.wordData['member'] = JSON.parse(data['course_teacher']);
+                    this.wordData['expenditureMothPlan'] = JSON.parse(data['MothPlan']);
+                    this.wordData['fund'] = JSON.parse(data['fund']);
+                    this.wordData['type'] = data['type'];
+                    this.wordData['ProjectName'] = data['PName'];
+                    this.wordData['collegeName'] = data['CName'];
+                    this.wordData['acId'] = data['acId']
+                    this.wordData['state'] = data['state']
+                    this.wordData = {...this.wordData,...JSON.parse(data['chapters'])}
+                    this.loading = false;
+                }).catch(err=>{
+                    console.log(err)
+                })
+              },
+             
+        },
+        computed:{
+            total() {
+              let num = 0;
+              for(let i in this.wordData['fund'])num += Number(this.wordData['fund'][i]);
+              return num;
+              // return (this.wordData.fund.facility*1 + this.wordData.fund.materials*1+this.wordData.fund.process*1+ this.input*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1)/10000
+            }
+        },
+        mounted(){
+          this.getData();
+        }
+      }
+  </script>
+
+  <style lang="less">
+   
+  </style>
+
+  
+  

+ 2 - 8
src/views/projectManage/components/ProjectManagement5.vue → src/views/projectManage/components/ProjectManagementEndProjectFile.vue

@@ -3,10 +3,8 @@
     <div class="ProjectManagement5" v-loading="loading">
 
       <div class="pmInp">
-          <!-- <el-button type="primary" class="btn" @click="addFile" size="mini">上传文件</el-button> -->
-          <beUpload  @getFile="getFile" v-show="state==2|| state==3" :navName="'上传文件'" :accept="accept" :progress="progress"></beUpload>
+          <beUpload  @getFile="getFile" v-show="state!==4" :navName="'上传文件'" :accept="accept" :progress="progress"></beUpload>
           <el-button  v-show="state==4" style="background: #ccc !important;cursor: no-drop;color: #fff !important;border: 0;font-size: 16px;">上传文件</el-button>
-          <!-- <el-button v-show="state==1" style="background: #ccc !important;cursor: no-drop;color: #fff !important;border: 0;font-size: 16px;">上传文件</el-button> -->
 
         </div>
         <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
@@ -71,7 +69,7 @@
             width="80vw"
             class="addDialog showDialog"
           >
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="showFileArea">
         <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
         <vword
@@ -197,12 +195,10 @@
             this.ajax
                   .post(this.$store.state.api+'/AddProjectManageFile',param)
                   .then(res=>{
-                    console.log(res);
                     if (res.data==1) {
                       this.getData()
                       this.$message.success('上传成功')
                       this.progress.show = false;
-
                     }else{
                       this.$message.error('上传失败')
                     }
@@ -226,9 +222,7 @@
               this.ajax
                     .get(this.$store.state.api+'/SelectProjectManageFile',param)
                     .then(res=>{
-                      console.log(res.data[0][0]);
                       this.state=res.data[0][0].isupload;
-                      console.log(res.data[0][0])
                       let file = JSON.parse(res.data[0][0]['endFile']);
                       this.tableData=file
                       this.loading = false;

+ 293 - 0
src/views/projectManage/components/markeractivityWordShow.vue

@@ -0,0 +1,293 @@
+<template>
+    <div id="MarkeractivityWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">创客专项资金及项目申请表({{wordData['type']==0?'创客活动':"个人创客"}})</div>
+            <div class="date">申请日期:{{wordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+            <tr id="one" v-if="wordData['type']==0">
+              <td colspan="4">关联项目</td>
+              <td colspan="12" v-text="wordData['ProjectName']"></td>
+            </tr>
+            <tr id="two">
+                <td colspan="4">活动名称</td>
+                <td colspan="5" v-text="wordData['activityName']"></td>
+                <td colspan="3">预算经费</td>
+                <td @click="goto('#fund')" colspan="4" v-text="total"></td>
+            </tr>
+            <tr id="three">
+                <td colspan="4">项目负责人</td><td colspan="3" v-text="wordData['pro_leader']"></td>
+                <td colspan="2">所在部门</td><td colspan="3" v-text="wordData['collegeName']"></td>
+                <td colspan="2">联系电话</td><td colspan="3" v-text="wordData['tel']"></td>
+            </tr>
+            <tr id="four">
+                <td colspan="4">活动时间</td>
+                <td colspan="5" v-text="wordData['activityTime'][0]+' 至 '+wordData['activityTime'][1]"></td>
+                <td colspan="3">参与学生人数</td><td colspan="5" v-text="wordData['student']"></td>
+            </tr>
+            
+            <tr id="five">
+                <td colspan="2" :rowspan="wordData['member'].length+1"><p>活</p> <p>动</p> <p>指</p> <p>导</p> <p>老</p> <p>师</p></td><td colspan="2">姓名</td><td colspan="3">工作单位/部门</td><td colspan="9">项目分工</td>
+            </tr>
+            <tr v-for="(item,index) in wordData['member']" :key="index+'b'">
+                <td colspan="2" style="border-left: none;" v-text="item['name']"></td>
+                <td colspan="3" v-text="item['collage']"></td>
+                <td colspan="10" v-text="item['work']"></td>
+            </tr>
+            <tr class="textLeft" id="six">
+                <td colspan="2"><p>活动</p><br> <p>计划</p></td><td style="text-align: left;vertical-align: top;height: 200px;" colspan="15" v-text="wordData['activityPlan']"></td>
+            </tr>
+            <tr class="textLeft" id="seven">
+                <td colspan="2"><p>预期</p><br><p>目标</p> </td><td colspan="15" style="text-align: left;vertical-align: top;height: 200px;" v-text="wordData['expectations']"></td>
+            </tr>
+            <tr class="textLeft" id="nine">
+                <td colspan="2"><p>活动受</p><br> <p>众面</p></td><td style="text-align: left;vertical-align: top;height: 200px;" colspan="15" >
+                    <p>参与学生范围:</p>
+                    <span v-text="wordData['eventAudience']"></span>
+                </td>
+            </tr>
+            <!-- <tr class="textLeft">
+                <td colspan="15" style="text-align: left;border-left: none;">
+                  <p>二、创新点</p>
+                    <el-input
+                      type="textarea"
+                      :rows="6"
+                      style="width: 100%;"
+                      resize="none"
+                      v-model="input">
+                    </el-input>
+                </td>
+            </tr> -->
+
+           
+            <tr class="textLeft" id="ten">
+                <td colspan="2"><p>经费</p><br><p>支出</p> <br><p>计划</p></td><td colspan="15" style="text-align: left;vertical-align: top;height: 200px;" v-text="wordData['fundingPlan']"></td>
+            </tr>
+            <tr id="fund">
+                <td rowspan="14"><p>预</p> <p>算</p> <p>经</p> <p>费</p></td>
+            </tr>
+            <tr>
+                <td rowspan="4" style="border-left: none;">总经费</td><td rowspan="4" colspan="2" >{{total}}元</td>
+            </tr>
+            <tr>
+                <td colspan="12" style="border-left: none;">经费月支出计划 (元)</td>
+            </tr>
+            <tr>
+              <td style="border-left: none;">第1个月</td><td>第2个月</td><td>第3个月</td><td>第4个月</td><td>第5个月</td><td>第6个月</td><td>第7个月</td><td>第8个月</td><td>第9个月</td><td>第10个月</td><td>第11个月</td><td>第12个月</td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in wordData['expenditureMothPlan']" :key="index" style="border-left: none;" v-text="wordData['expenditureMothPlan'][index]"></td>
+            </tr>
+            <tr>
+                <td colspan="4" style="border-left: none;">支出类别</td><td colspan="4">支出项目</td><td colspan="2">金额(元)</td><td colspan="5">备注</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">直接经费</td>
+              <td colspan="4">小型仪器设备费</td>
+              <td colspan="2" v-text="wordData['fund']['device']"></td>
+              <td colspan="5">
+                项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+              </td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">材料费</td>
+              <td colspan="2" v-text="wordData['fund']['Material']"></td>
+              <td colspan="5">项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">测试化验加工费</td>
+              <td colspan="2" v-text="wordData['fund']['processing']"></td>
+              <td colspan="5">项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">项目协作费</td>
+              <td colspan="2" v-text="wordData['fund']['Collaboration']"></td>
+              <td colspan="5">按合同规定支付给协作单位的费用</td>
+            </tr>
+            <tr>
+              <td rowspan="4" colspan="4" style="border-left: none;">间接经费</td>
+              <td colspan="4">项目成果鉴定费</td>
+              <td colspan="2" v-text="wordData['fund']['APPRAISAL']"></td>
+              <td colspan="5">学术会务费、评审费、鉴定费、成果集制作费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">参展参赛费</td>
+              <td colspan="2" v-text="wordData['fund']['entery']"></td>
+              <td colspan="5">参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">创客交流活动费</td>
+              <td colspan="2" v-text="wordData['fund']['activities']"></td>
+              <td colspan="5">创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</td>
+            </tr>
+            <tr>
+              <td colspan="4" style="border-left: none;">知识产权事务费</td>
+              <td colspan="2" v-text="wordData['fund']['Transaction']"></td>
+              <td colspan="5">论文版面费、专利及其他知识产权事务等费用。</td>
+            </tr>
+
+            <tr class="textLeft">
+                <td><p>所在部</p> <p>门意见</p></td><td colspan="15" style="height: 200px;">
+                 
+                    <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                    <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+                </td>
+            </tr>
+            <tr>
+                <td v-for="(item,index) in 16" :key="index+'c'" style="border: none;"></td>
+            </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>如表格不够可顺延或另附页。</span>
+            <!-- <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
+                <el-button @click="applyButton" style="width: 120px;margin: 20px auto;"  type="primary">提交活动</el-button>
+                <el-button style="width: 120px;margin: 20px auto;" type="primary">下载表单</el-button>
+            </div> -->
+          </div>
+    </div>
+    </template>
+      
+    <script>
+    
+      export default {
+        props:['wordData','total'],
+        data() {
+          return {
+
+            }
+        },
+        methods: {
+          goto(str){
+            document.querySelector(str).scrollIntoView({ behavior: "smooth" });
+          },
+        },
+        
+        computed:{   //经费总合
+
+        },
+        mounted(){
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+
+    
+    #MarkeractivityWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: 500;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            border-top: solid 1px black;
+           
+            tr{
+              position: relative;
+            td{
+              border: none;
+              border-bottom: solid 1px black;
+              border-right: solid 1px black;
+              height: 50px;
+              text-align: center;
+              line-height: 30px;
+              width: 80px;
+              box-sizing: border-box;
+              padding: 5px;
+              &:nth-child(1){
+                border-left:  solid 1px black;
+              }
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                &::-webkit-outer-spin-button,&::-webkit-inner-spin-button{
+                  -webkit-appearance: none !important;
+                }
+                &[type='number'] {
+                  -moz-appearance: textfield;
+                }
+                
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+
+            }
+          }
+            .textLeft{
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+          }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+    }
+    .operate{
+        right:-85px;
+        width:85px;
+        height: 50px;
+        display:flex;
+        justify-content:space-between;
+        align-items:center;
+        position:absolute;
+        .el-button{
+          max-width:10px;
+          display:flex;
+          justify-content:center;
+          align-items:center;
+          margin-left:10px;
+        }
+    }
+    </style>

+ 488 - 0
src/views/projectManage/components/studentProjectWordShow.vue

@@ -0,0 +1,488 @@
+<template>
+    <div id="studentProjectWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="date">申请日期:{{downWordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+    
+          <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> 
+          <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 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> -->
+            </td>
+          </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>
+              <!-- <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">
+            <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> -->
+            </td><td colspan="3">
+              <span v-text="downWordData['applyParsonRadio']=='2'?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
+              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+            </td>
+          </tr>
+          <tr id="applyParsonName">
+            <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1" v-text="downWordData.applyParsonName">
+            </td>
+            <td ref="college">参与学院/公司</td><td v-text="downWordData.dp">
+            </td><td ref="tel">联系电话</td><td v-text="downWordData.tel"></td>
+          </tr>
+          <tr id="beginTime">
+            <td colspan="2" ref="beginTime">项 目 起 始 时 间</td><td colspan="2" v-text="downWordData.beginTime.split(' ')[0]"></td>
+            <td ref="endTime">计划完成时间</td><td colspan="2" v-text="downWordData.endTime.split(' ')[0]"></td>
+          </tr>
+          <tr>
+            <td colspan="2">项 目 组 人 数</td><td v-text="downWordData.studentS.length + downWordData.teacherS.length"></td>
+            <td>参与学生人数</td><td v-text='downWordData.studentS.length'> </td>
+            <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>
+          </tr>
+          <tr style="position: relative;" v-for="(item,index) in downWordData.studentS" :key="index+'a'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <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>
+          </tr>
+          <tr style="position: relative !important;" v-for="(item,index) in downWordData.teacherS" :key="index+'b'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <td colspan="3" v-text="item.work"></td>
+          </tr>
+          <tr id="brief">
+            <td rowspan="5" ref="brief">研发内容</td><td colspan="6" class="textLeft">
+              <p>项目简介(200-300字)</p>
+              <span>
+                {{ downWordData.brief }}
+              </span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目研发背景</p>
+              <span v-text="downWordData.introduce.back"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目创新点</p>
+              <span v-text="downWordData.introduce.innovate"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>技术研发路线</p>
+              <span v-text="downWordData.introduce.path"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目应用场景 </p>
+              <span v-text="downWordData.introduce.scene"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>商业模式及社会价值</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目商业模式/社会价值</p>
+              <span v-text="downWordData.introduce.worth"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>团队优势</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>团队构成及优势</p>
+              <span v-text='downWordData.introduce.team'></span>
+            </td>
+          </tr>
+          <tr>
+            <td>研发成本</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>研发成本来源及构成</p>
+              <span v-text="downWordData.introduce.cost"></span>
+            </td>
+          </tr>
+          <tr>
+            <td rowspan="3">预期成果</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
+              <span v-text="downWordData.introduce.expectResults"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>学生创客人才培养预期成果、数量(教师填写)</p>
+              <span v-text="downWordData.introduce.expectResultsTeacher"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>项目预期孵化、转化创业项目情况</p>
+              <span v-text="downWordData.introduce.expectConversion"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>实施计划</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <span v-text="downWordData.introduce.plan"></span>
+            </td>
+          </tr>
+          <tr id="fund">
+            <td rowspan="12" ref="fund">预算经费</td><td>总经费</td><td colspan="5" v-text="reversedMessage==0?'':reversedMessage"></td>
+          </tr>
+          <tr>
+            <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
+          </tr>
+          <tr>
+            <td rowspan="5">直接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">小型仪器设备费</td>
+            <td v-text="downWordData.fund.facility">
+            </td><td colspan="2">
+              项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">材料费</td><td v-text="downWordData.fund.materials">
+            </td><td colspan="2">
+              项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">测试化验加工费</td><td v-text="downWordData.fund.process">
+            </td><td colspan="2">
+              项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">项目协作费</td><td v-text="downWordData.fund.assist">
+            </td><td colspan="2">
+              按合同规定支付给协作单位的费用
+            </td>
+          </tr>
+    
+          <tr>
+            <td rowspan="5">间接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">项目成果鉴定费</td><td v-text="downWordData.fund.authenticate">
+            </td><td colspan="2">
+              学术会务费、评审费、鉴定费、成果集制作费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">参展参赛费</td><td v-text="downWordData.fund.match">
+            </td><td colspan="2">
+              参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">创客交流活动费</td><td v-text="downWordData.fund.activity">
+            </td><td colspan="2">
+              创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">知识产权事务费</td><td v-text="downWordData.fund.affair">
+            </td><td colspan="2">
+              论文版面费、专利及其他知识产权事务等费用。
+            </td>
+          </tr>
+          <tr>
+            <td>所在学院/部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>财务部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>创新创业学院审核意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
+            <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
+          </div>
+          <el-button style="margin-top:20px" type="primary" @click="work">下载表格</el-button>
+    </div>
+    </template>
+      
+    <script>
+      import {getWord} from '@/components/tool/getWord'
+      export default {
+        data() {
+          return {
+              downWordData:{
+                applicationDate:'',//申请日期
+                projectName:'',
+                radio:'',
+                checkList:[],
+                schoolRadio:'',
+                applyParsonRadio:'',
+                applyParsonName:'',
+                college:'',
+                tel:'',
+                beginTime:'',
+                endTime:'',
+                studentS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                teacherS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                brief:'',
+                introduce:{
+                    back:'',
+                    innovate:'',
+                    path:'',
+                    scene:'',
+                    worth:'',
+                    team:'',
+                    cost:'',
+                    expectResults:'',
+                    expectResultsTeacher:'',
+                    expectConversion:'',
+                    plan:''
+                },
+                total:'',
+                fund:{
+                    facility:'',
+                    materials:'',
+                    process:'',
+                    assist:'',
+                    authenticate:'',
+                    match:'',
+                    activity:'',
+                    affair:''
+                }
+              },
+              
+            }
+        },
+        methods: {
+          work(){
+            this.$message.info("正在下载表格")
+            getWord(this.downWordData)
+          },
+          getData(){
+              let param={
+                  uid:this.$store.state.userInfo.userid,
+                  pid:this.$route.query['pid']
+              }
+              this.ajax
+              .get(this.$store.state.api+'/studentProjectData',param)
+              .then(res=>{
+                  let data=res.data[0][0];
+                  let wordData = {};
+                  wordData.projectName=data.title;
+                  wordData.radio=data.typeName;
+                  wordData.checkList=JSON.parse(data.multiSelectProject);
+                  wordData.schoolRadio=data.schoolRemould;
+                  wordData.applyParsonRadio=data.projectApplyperson;
+                  wordData.applyParsonName=data.pro_leader;
+                  wordData.college=data.classid;
+                  wordData.tel=data.phone;
+                  wordData.beginTime=data.bTime;
+                  wordData.endTime=data.eTime;
+                  wordData.studentS=JSON.parse(data.course_student);
+                  wordData.teacherS=JSON.parse(data.course_teacher);
+                  wordData.brief=data.brief;
+                  wordData.introduce=JSON.parse(data.chapters)
+                  wordData.fund=JSON.parse(data.money)
+                  this.downWordData={...wordData,...{etime:data.eTime,btime:data.bTime,dp:data.className}}
+              },err=>{
+                  console.log(err);
+              })
+          },
+        },
+        computed:{   //经费总合
+          reversedMessage: function () {
+            let num = 0;
+            for(let i in this.downWordData.fund)num+=Number(this.downWordData.fund[i]);
+            return num;
+          }
+        },
+        mounted(){
+          this.getData();
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #studentProjectWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            width: 100%;
+            border-top: solid 1px black;
+            border-right:  solid 1px black;
+            border-left:  solid 1px black;
+            .textLeft{
+              text-align: left ;
+              vertical-align: top;
+              position: relative;
+              max-width:100% ;
+              height: 200px;
+              // white-space: nowrap;
+              span{
+                // white-space: nowrap;
+                word-wrap: break-word;
+                word-break: break-all;
+              }
+              :deep(.el-textarea__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+            tr{
+              position: relative;
+              td{
+                border: none;
+                border-bottom: solid 1px black;
+                border-right: solid 1px black;
+                height: 50px;
+                text-align: center;
+                line-height: 30px;
+                width: 70px;
+                box-sizing: border-box;
+                padding: 5px;
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(input)::-webkit-outer-spin-button,
+              :deep(input)::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+              }
+              :deep(input)[type="number"]{
+                  -moz-appearance: textfield;
+              }
+            }
+          }
+            
+        }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+        
+    }
+      .checkArea{
+        td{
+          span{
+          margin-left: 50px;
+          span{
+            margin: 0;
+          }
+        }
+        }
+
+      }
+    
+    </style>

+ 790 - 0
src/views/projectSettlement/components/MakerSpaceWordShow.vue

@@ -0,0 +1,790 @@
+<template>
+    <div id="MakerSpaceWord" v-loading="loading">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">二级学院特色创客空间建设项目立项申报书</div>
+            <div class="date">申请日期: {{ wordData['applicationDate'] }}</div>
+        </div>
+        <div id="table">
+            <div class="han" id="one">
+              <div class="label">项目名称</div><div class="value" v-text="wordData['projectName']"></div>
+              <div class="label">所在学院</div><div class="value" v-text="wordData['collegeName']"></div>
+            </div>
+            <div class="status" id="two">
+              <div class="statusLabel">项目状态</div>
+              <div class="ValueDescribe">
+                <div class="statusHan">
+                  <div class="DescribeLabel">
+                    <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>待建设
+                </div><div class="DescribeValue">指二级学院拟立项开展学院特色创客空间建设项目,需进行项目前期调研论证、场馆规划、空间图纸设计、设备选型等方面的工作而进行的资助申请。</div>
+                </div>
+              </div>
+            </div>
+            <div class="han" id="three">
+              <div class="label">项目起始时间</div><div class="value" v-text="wordData['begin_at']"></div>
+              <div class="label">计划完成时间</div><div class="value" v-text="wordData['plannedEnd_at']"></div>
+            </div>
+            <div class="han" id="four">
+              <div class="label">项目负责人</div><div class="value" v-text="wordData['pro_leader']"></div>
+              <div class="label">学院牵头领导</div><div class="value" v-text="wordData['lead_leader']"></div>
+            </div>
+            <div class="han">
+              <div class="label">项目组人数</div><div class="value">{{ wordData['teacher'].length+wordData['student'].length }}</div>
+              <div class="label">参与教师人数</div><div class="value">{{wordData['teacher'].length}}</div>
+              <div class="label">参与学生人数</div><div class="value">{{wordData['student'].length }}</div>
+            </div>
+            <div class="member" id="five">
+              <div class="memberLabel">
+                <span class="fontBold">项目组</span>
+                <span class="fontBold">教师团队</span>
+                <span>(团队3人以上,</span>
+                <span>至少应包含1名教</span>
+                <span>研室主任)</span>
+              </div>
+              <div class="memberTable" :style="wordData['teacher'].length<4?'border-bottom:solid 1px black':''">
+                <div class="memberHan">
+                  <div class="memberValue">姓名</div>
+                  <div class="memberValue">专业</div>
+                  <div class="memberValue">职称</div>
+                  <div class="memberValue">学历</div>
+                  <div class="memberValue">所在教研室</div>
+                  <div class="memberValue">项目组角色分工</div>
+                </div>
+                <div class="memberHan" v-for="(item,index) in wordData['teacher']" :key="index">
+                  <div class="memberValue" v-text="item['name']"></div>
+                  <div class="memberValue" v-text="item['speciality']"></div>
+                  <div class="memberValue" v-text="item['title']"></div>
+                  <div class="memberValue" v-text="item['education']"></div>
+                  <div class="memberValue" v-text="item['section']"></div>
+                  <div class="memberValue" v-text="item['work']"></div>
+                </div>
+              </div>
+            </div>
+            <div class="member" id="six">
+              <div class="memberLabel">
+                <span class="fontBold">项目组</span>
+                <span class="fontBold">学生团队</span>
+                <span>(团队5人以上,</span>
+                <span>学生团队年级结构</span>
+                <span>安排合理)</span>
+              </div>
+              <div class="memberTable" :style="wordData['student'].length<4?'border-bottom:solid 1px black':''">
+                <div class="memberHan">
+                  <div class="memberValue">姓名</div>
+                  <div class="memberValue">班级</div>
+                  <div class="memberValue">年龄</div>
+                  <div class="memberValue">项目组角色分工</div>
+                </div>
+                <div class="memberHan" v-for="(item,index) in wordData['student']" :key="index">
+                  <div class="memberValue" v-text="item['name']"></div>
+                  <div class="memberValue" v-text="item['class']"></div>
+                  <div class="memberValue" v-text="item['age']"></div>
+                  <div class="memberValue" v-text="item['work']"></div>
+                </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">项目</span>
+                <span class="fontBold">建设</span>
+                <span class="fontBold">内容</span>
+                <span class="fontBold">及</span>
+                <span class="fontBold">目标</span>
+                <span>(说明项目建设内</span><span>容、拟解决的关键</span><span>问题、创新之处、</span><span>主要建设指标)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="seven">
+                    <span>项目简介(200-300字)</span><br/>
+                    <p v-text="wordData['brief']"></p>
+                  </div>
+                  <div class="chaptersValue" id="eight">
+                    <span>建设内容(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span><br/>
+                    <p v-text="wordData['Construction']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel fontBold">
+                <span>项目</span>
+                <span>建设</span>
+                <span>论证</span>
+                <span>报告</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="nine">
+                    <span>立项依据(说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span><br/>
+                    <p v-text="wordData['ProjectBasis']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">预期</span>
+                <span class="fontBold">成果</span>
+                <span>(项目预期成果、</span><span>数量及形式,结题</span><span>时:须附项目研究</span><span>报告)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="ten">
+                    <span>创客空间物理环境、制度建设及软件设施建设情况(环境优化/制度完善/设施改造)</span><br/>
+                    <p v-text="wordData['development']"></p>
+                  </div>
+                  <div class="chaptersValue" id="eleven">
+                    <span>学生创客工作室建设情况(工作室数量及活动开展情况)</span><br/>
+                    <p v-text="wordData['studio']"></p>
+                  </div>
+                  <div class="chaptersValue" id="twelve">
+                    <span>学生创客团队(人才)培养预期成果、数量</span><br/>
+                    <p v-text="wordData['studentTeam']"></p>
+                  </div>
+                  <div class="chaptersValue" id="thirteen">
+                    <span>学生创客活动组织实施情况</span><br/>
+                    <p v-text="wordData['studentActivities']"></p>
+                  </div>
+                  <div class="chaptersValue" id="fourteen">
+                    <span>学生创客团队孵化、转化创业项目情况</span><br/>
+                    <p v-text="wordData['Transforming']"></p>
+                  </div>
+              </div>
+            </div>
+            <div class="chapters">
+              <div class="chaptersLabel">
+                <span class="fontBold">立项</span>
+                <span class="fontBold">基础</span>
+                <span class="fontBold">及</span>
+                <span class="fontBold">条件</span>
+                <span>(说明已开展的相</span>
+                <span>关研究及基础准备</span>
+                <span>工作,已具备的设</span>
+                <span>备场地条件和技术</span>
+                <span>力量,尚缺少的条</span>
+                <span>件和拟解决的途</span>
+                <span>径)</span>
+              </div>
+              <div class="chaptersTable">
+                  <div class="chaptersValue" id="fifteen">
+                    <span>基础条件(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span><br/>
+                    <p v-text="wordData['condition']"></p>
+                  </div>
+              </div>
+            </div>
+    
+            <div class="fund">
+              <div class="fundTitle">
+                预算<br/>经费
+              </div>
+              <div class="fundTable">
+                <div class="fundTotal">
+                  <div class="fundLabel">总经费</div>
+                  <div class="fundValue">{{wordData['fund']['total']}}元</div>
+                </div>
+                <div class="fundHeader">
+                  <div class="HeaderLabel">支出类别</div>
+                  <div class="HeaderLabel">支出项目</div>
+                  <div class="HeaderLabel">金额(元)</div>
+                  <div class="HeaderLabel">备注</div>
+                </div>
+                <div class="fundData">
+                  <div class="fundDataLabel">直接费用</div>
+                  <div class="fundDataHan">
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">小型仪器设备费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['device']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">材料费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Material']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">测试化验加工费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['processing']">
+                      </div>
+                      <div class="fundDataValue"><span>项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">项目协作费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Collaboration']">
+                      </div>
+                      <div class="fundDataValue"><span>按合同规定支付给协作单位的费用</span></div>
+                    </div>
+                   
+                  </div>
+                </div>
+    
+                <div class="fundData">
+                  <div class="fundDataLabel">间接费用</div>
+                  <div class="fundDataHan">
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">项目成果鉴定费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['APPRAISAL']">
+                      </div>
+                      <div class="fundDataValue"><span>学术会务费、评审费、鉴定费、成果集制作费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">参展参赛费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['entery']">
+                      </div>
+                      <div class="fundDataValue"><span>参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">创客交流活动费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['activities']">
+                      </div>
+                      <div class="fundDataValue"><span>创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。</span></div>
+                    </div>
+    
+                    <div class="fundDataLie">
+                      <div class="fundDataValue">知识产权事务费</div>
+                      <div class="fundDataValue" v-text="wordData['fund']['Transaction']">
+                      </div>
+                      <div class="fundDataValue"><span>论文版面费、专利及其他知识产权事务等费用。</span></div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+            </div>
+            <div class="opinion">
+              <div class="opinionLabel">所在学院/部门<br/> 意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+            <div class="opinion">
+              <div class="opinionLabel">财务部门<br/>意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+            <div class="opinion">
+              <div class="opinionLabel">创新创业学院<br/>审 核 意 见</div>
+              <div class="opinionValue">
+                <div class="opinionImport">
+                  <div class="opinionChapter">负责人签章:</div>
+                  <div class="opinionDate">年 月 日</div>
+                </div>
+              </div>
+            </div>
+    
+          </div>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.项目申报需附相关佐证材料。</span>
+          </div>
+          <el-button type="primary" @click="getWord">下载表格</el-button>
+    </div>
+    </template>
+      
+    <script>
+    import {getMakerSpaceWord} from '@/components/tool/getWord'
+      export default {
+        data() {
+          return {
+            loading:false,
+            wordData:{
+                applicationDate:"",//申请日期
+                projectName:"",//项目名称
+                college:"",//所在学院
+                collegeName:"",
+                begin_at:"",//项目开始时间
+                state:"",//项目状态
+                stateName:"",//项目状态名称
+                plannedEnd_at:"",//计划完成时间
+                pro_leader:"",//项目负责人
+                lead_leader:"",//学院牵头领导
+                teacher:[
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                    {name:"",speciality:"",title:"",education:"",section:"",work:""},
+                ],   //教师组//name:姓名  speciality:专业  title:职称 education:学历    section:所在教研室    work:项目组角色分工
+                student:[
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                    {name:"",class:"",age:"",work:""},
+                ],   //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
+                brief:"",//项目简介
+                Construction:"",//建设内容
+                ProjectBasis:"",//立项依据
+                development:"",//创客空间物理环境、制度建设及软件设施建设情况
+                studio:"",//学生创客工作室建设情况
+                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
+                studentActivities:"",//学生创客活动组织实施情况
+                Transforming:"",//学生创客团队孵化、转化创业项目情况
+                condition:"",//立 项基 础及条 件
+                fund:{
+                  total:"",
+                  device:"",
+                  Material:"",
+                  processing:"",
+                  Collaboration:"",
+                  APPRAISAL:"",
+                  entery:"",
+                  activities:"",
+                  Transaction:"",
+                },
+              },
+          };
+        },
+        methods: {
+            getWord(){
+              this.$message.info("正在下载表格")
+              getMakerSpaceWord(this.wordData);
+            },
+            getData(){
+                this.loading = true;
+                this.ajax.get(this.$store.state.api+'/getMakerSpaceWordData',{
+                    uid:this.$store.state.userInfo.userid,
+                    pid:this.$route.query['pid']
+                }).then(result=>{
+                    let data = result['data'][0][0]
+                    this.wordData['projectName'] = data['title'];
+                    this.wordData['applicationDate'] = data['applyProjectTime'];
+                    this.wordData['college'] = data['classid'];
+                    this.wordData['collegeName'] = data['cName']
+                    this.wordData['begin_at'] = data['begintime'];
+                    this.wordData['state'] = data['typeName'];
+                    this.wordData['stateName'] = data['tName']
+                    this.wordData['plannedEnd_at'] = data['planTime'];
+                    this.wordData['pro_leader'] = data['pro_leader'];
+                    this.wordData['lead_leader'] = data['lead_leader'];
+                    this.wordData['teacher'] = JSON.parse(data['course_teacher']);
+                    this.wordData['student'] = JSON.parse(data['course_student']);
+                    this.wordData['brief'] = data['brief'];
+                    this.wordData['fund'] = JSON.parse(data['money']);
+                    this.state = data['isupload']
+                    this.wordData = {...this.wordData,...JSON.parse(data['chapters'])}
+                    this.loading = false;
+                }).catch(err=>{
+                    console.log(err);
+                })
+            },
+        },
+        mounted(){
+            this.getData();
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #MakerSpaceWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: white;
+        padding:40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+                margin-bottom:5px;
+            }
+        }
+        #table{
+        box-sizing: border-box;
+        border: solid 1px black;
+        border-bottom: none;
+        display: flex;
+        flex-direction: column;
+        .han{
+          display: flex;
+          height: auto;
+          box-sizing: border-box;
+          border-bottom:solid 1px black;
+          .label{
+            position: relative;
+            flex:1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            min-height: 50px;
+            border-right: solid 1px black;
+            font-weight:bold;
+          }
+          .value{
+            flex: 2;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            min-height: 50px;
+            &:not(:nth-last-child(1)){
+              border-right: solid 1px black;
+            }
+          }
+          &:nth-child(5){
+            .label{
+              flex: 1;
+            }
+            .value{
+              flex: 1;
+            }
+          }
+        }
+        .status{
+          display: flex;
+          height: auto;
+          box-sizing: border-box;
+          .statusLabel{
+            flex:1;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .ValueDescribe{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .statusHan{
+              display: flex;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+    
+              .DescribeLabel{
+                flex: 1;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                box-sizing: border-box;
+                // min-height: 200px;
+                padding:40px 10px;
+                border-right: solid 1px black;
+              }
+              &:nth-child(2){
+                .DescribeLabel{
+                    min-height: 100px;
+                }
+              }
+              .DescribeValue{
+                flex: 5;
+                box-sizing: border-box;
+                padding: 15px;
+              }
+            }
+          }
+        }
+        .member{
+          display: flex;
+          .memberLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            min-height: 200px;
+          }
+          .memberTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .memberHan{
+              display: flex;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              position:relative;
+              .memberValue{
+                box-sizing: border-box;
+                flex: 1;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                border-right: solid 1px black;
+                min-height: 45px;
+                &:nth-last-child(1){
+                  border-right: none;
+                  flex: 3;
+                }
+              }
+          }
+        }
+    }
+        .chapters{
+          display: flex;
+          .chaptersLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            padding: 20px 0;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+          }
+          .chaptersTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            .chaptersValue{
+              flex: 1;
+              min-height:200px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              padding: 5px;
+              span{
+                font-weight: bold;
+              }
+            }
+          }
+        }
+        .fund{
+          display: flex;
+          .fundTitle{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .fundTable{
+            flex: 5;
+            display: flex;
+            flex-direction: column;
+            box-sizing: border-box;
+            .fundTotal{
+              height: 60px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              display: flex;
+              div{
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                font-weight: bold;
+              }
+              .fundLabel{
+                flex: 1;
+                box-sizing: border-box;
+                border-right:solid 1px black;
+              }
+              .fundValue{
+                flex: 4;
+              }
+            }
+            .fundHeader{
+              min-height: 40px;
+              box-sizing: border-box;
+              border-bottom: solid 1px black;
+              display: flex;
+              font-weight:bold;
+              .HeaderLabel{
+                flex: 1;
+                display: flex;
+                box-sizing: border-box;
+                justify-content: center;
+                align-items: center;
+                border-right: solid 1px black;
+                &:nth-last-child(1){
+                  flex: 2;
+                  border: none;
+                }
+              }
+            }
+            .fundData{
+              display: flex;
+              .fundDataLabel{
+                flex:1;
+                box-sizing: border-box;
+                border-right: solid 1px black;
+                border-bottom: solid 1px black;
+                display: flex;
+                justify-content: center;
+                align-items: center;
+                font-weight:bold;
+              }
+              .fundDataHan{
+                flex: 4;
+                display: flex;
+                flex-direction: column;
+                .fundDataLie{
+                  display: flex;
+                  min-height: 40px;
+                  flex: 4;
+                  box-sizing: border-box;
+                  border-bottom: solid 1px black;
+                  .fundDataValue{
+                    flex: 1;
+                    min-height: 40px;
+                    display: flex;
+                    box-sizing: border-box;
+                    justify-content: center;
+                    align-items: center;
+                    border-right: solid 1px black;
+                    &:nth-last-child(1){
+                      flex:2;
+                      border: none;
+                      justify-content: flex-start;
+                      span{
+                        padding: 10px 20px;
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // .fundTable{
+        //   tr{
+        //     td{
+        //       height: 50px;
+        //     }
+        //     &:nth-child(1){
+        //       flex: 1;
+        //     }
+        //   }
+        // }
+        .opinion{
+          display: flex;
+          .opinionLabel{
+            flex:1;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            box-sizing: border-box;
+            // padding: 3.5px;
+            border-right: solid 1px black;
+            border-bottom: solid 1px black;
+            font-weight:bold;
+          }
+          .opinionValue{
+            flex: 5;
+            min-height: 200px;
+            position: relative;
+            box-sizing:border-box;
+            border-bottom: solid 1px black;
+            .opinionImport{
+              display: flex;
+              width: 30%;
+              height:40%;
+              flex-direction: column;
+              position:absolute;
+              bottom: 0px;
+              right: 20px;
+              justify-content: space-between;
+              .opinionDate{
+                display: flex;
+                justify-content: flex-end;
+                font-size: 18px;
+              }
+            }
+          }
+        }
+      }
+      .notes{
+        width: 100%;
+        display: flex;
+        flex-direction:column;
+      }
+      :deep(.el-input__inner){
+        height: 100%;
+        border-radius: 0;
+        width: 100%;
+        background: none;
+        color: black;
+        text-align: center;
+        font-size: 16px;
+        box-sizing: border-box;
+        border: none;
+        outline: none;
+      }
+      :deep(.el-textarea__inner){
+        height: 100%;
+        border-radius: 0;
+        width: 100%;
+        background: none;
+        color: black;
+        text-align: center;
+        font-size: 16px;
+        box-sizing: border-box;
+        border: none;
+        overflow: hidden;
+      }
+      .noCenter{
+        :deep(.el-textarea__inner ){
+          text-align:left;
+        }
+      }
+      :deep(.el-date-editor){
+        width: 100%;
+        height: 100%;
+      }
+      :deep(.el-input__suffix){
+        display:none;
+      }
+      // .InputDiv{
+      //   width: 100%;
+      //   height: 100%;
+      //   word-break: break-all;
+      //   display: flex;
+      //   justify-content: center;
+      //   align-items: center;
+      //   box-sizing: border-box;
+      //   padding: 10px;
+      //   outline: none;
+      //   &:focus{
+      //     border:solid 1px #409eff ;
+      //   }
+      // }
+      .fontBold{
+        font-weight:bold;
+      }
+    }
+    </style>

+ 0 - 304
src/views/projectSettlement/components/projectSettlementDetailAnnex.vue

@@ -1,304 +0,0 @@
-<template>
-  <!-- 项目管理 项目附件 -->
-    <div class="ProjectManagement4" v-loading="loading">
-      <div class="pmInp">
-          <!-- <el-button type="primary" class="btn"  size="mini">上传文件</el-button> -->
-          <!-- <beUpload @getFile="getFile"  :navName="'上传文件'" :accept="accept"></beUpload> -->
-
-        </div>
-        <!-- 表格开始 -->
-        <el-table
-        :data="tableData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-       
-
-        <!-- <el-table-column
-          prop="title"
-          label="活动名称"
-          align="center"
-          >
-        </el-table-column> -->
-
-        <el-table-column
-          prop="fileName"
-          label="活动中期报告"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="size"
-          label="大小"
-          align="center"
-          >
-        </el-table-column>
-       
-        <el-table-column
-          prop="uploadTime"
-          label="时间"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="operation"
-          align="center"
-
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <el-button type="primary" class="bt1" size="mini" @click="checkFile(scope.row.url)" style="background: #477edd">详情查看</el-button>
-              </div>
-          </template>
-        </el-table-column>
-        </el-table>
-        <!-- 表格结束 -->
-      <!-- 展示文档开始 -->
-      <el-dialog
-            title="展示文件"
-            :visible.sync="showFile"
-            width="80vw"
-            class="addDialog showDialog"
-          >
-      <div class="addDialogLogo">LOGO</div>
-      <div class="showFileArea">
-        <vword
-            style="width: 100%; height: 100%; overflow: auto"
-            class="fullStyle"
-            v-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-if="Wordss['type']=='pdf'"
-        ></vpdf>
-        <img :src="showFileUrl" alt="图片哦" v-if="Wordss['name']=='图片'" style="width: auto;height: auto;max-width: 100%;max-height: 100%;">
-      </div>
-    </el-dialog>
-    <!-- 展示文档结束 -->
-        <!-- 分页 -->
-        <!-- <el-pagination
-            @current-change="handleCurrentChange"
-            :current-page="table.currentPage"
-            :page-size="table.packageSize"
-            layout=" prev, pager, next"
-            background
-            class="paginations"
-            :total="table.total">
-          </el-pagination> -->
-        <!-- 分页结束 -->
-    </div>
-  </template>
-  
-  <script>
-  import beUpload from '@/components/tool/beUpload'
-  import vpdf from "@/components/vpdf.vue";
-  import vword from "@/components/vword.vue";
-      export default {
-        components: { beUpload, vpdf, vword },
-        data() {
-          return {
-          accept:".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document",
-            table:{         // 分页数据
-              total:0,
-              packageSize:8,
-              currentPage:1
-            }, 
-            // showFile:false,
-            showFileType: 0,
-            loading:false,
-            // showFileUrl: "",
-            tableData:[],
-            showFile: false,
-            showFileUrl: "",
-            Wordss:{type:"",name:""},
-            canonical:{
-                Image:/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
-                File:/^https?:\/\/(.+\/)+.+(\.(docx|xlsx|ppt|pdf))$/i
-            },
-          }
-        },
-        methods:{
-          //展示文件
-          checkFile(url) {
-            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);
-                }
-                else return this.Wordss={type:type,name:type}
-          },
-          getFile(val) {    //上传文件
-            this.file = val;
-            let oldData = [];
-            this.tableData.forEach(item=>oldData.push(item))
-            oldData.push(val)
-          
-            let param={
-                uid:this.$store.state.userInfo.userid,
-                cid:this.$route.query['pid'],
-                projectFile:JSON.stringify(oldData)
-            }
-            this.ajax
-                  .post(this.$store.state.api+'/AddProjectFile',param)
-                  .then(res=>{
-                    if (res.data==1) {
-                      this.$message.success('上传成功')
-                      this.getData()
-                    }else{
-                      this.$message.error('上传失败')
-                    }
-                    
-                  },err=>{
-                    console.log(err);
-                  })
-          },
-          handleCurrentChange(val) {   //当页数发生改变的时候调用获取列表数据请求
-          // console.log(`当前页: ${val}`);
-          this.table.currentPage=val
-          this.getData()
-        },
-          getData(){       //获取基础信息
-            this.loading = true;
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid'],
-              }
-              // console.log(param);
-              this.ajax
-                    .get(this.$store.state.api+'/SelectProjectFile',param)
-                    .then(res=>{
-                      let k=[]
-                      res.data[0].forEach((e,i) => {
-                        let { projectFile: l } = e;
-                        k=JSON.parse(l)
-                      });
-                      this.tableData=k
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-        },
-        mounted(){
-          this.getData()
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .ProjectManagement4{
-    .pagination{
-      float: right;
-      margin: 20px 55px 10px;
-    }
-    .addDialog {
-        font-size: 18px;
-        .el-dialog {
-          border-radius: 5px;
-          overflow: hidden;
-        }
-        .deleteContent {
-          width: 100%;
-          margin: 30px 0;
-          font-size: 22px;
-          color: #000;
-        }
-        .addDialogLogo {
-          width: 60px;
-          height: 30px;
-          display: flex;
-          justify-content: center;
-          line-height: 30px;
-          border-radius: 5px;
-          background: #f2f2f2;
-          position: absolute;
-          left: 20px; top: 15px; 
-        }
-        .el-dialog__header {
-          display: flex;
-          justify-content: center;
-          background: #32455b;
-        }
-        .el-dialog__title {
-          color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-        }
-        .addDialogMid {
-          box-sizing: border-box;
-          padding: 0 60px 0 10px;
-          .addDialogTit {
-            display: flex;
-            span {
-              width: 80px;
-              font-size: 16px;
-              line-height: 40px;
-              text-align: left;
-            }
-          }
-          .addDialogTit1 {
-            display: flex;
-            justify-content: space-between;
-            margin-bottom: 15px;
-          }
-          .addDialogTit2 {
-            margin-top: 10px;
-            font-size: 16px;
-            color: #000;
-            text-indent: 2em;
-          }
-          .addDialogCon {
-            margin-top: 20px;
-          }
-        }
-        .dialog-footer {
-          display: flex;
-          justify-content: center;
-          box-sizing: border-box;
-          // .btn5 {
-          //   font-size: 16px;
-          // }
-        }
-      }
-   
-
-   
-
-    .pmInp{
-      width: 100%;
-      display: flex;
-      margin: 10px 0 10px 0;
-      justify-content: flex-end;
-      .btn{
-        height: 30px;
-        width: 100px;
-        font-size: 16px !important;
-        background: #477edd;
-        margin-left: 10px;
-      }
-    }
-    
-  }
-
-  </style>

+ 0 - 758
src/views/projectSettlement/components/projectSettlementDetailBase_MakerSpace.vue

@@ -1,758 +0,0 @@
-<template>
-  <!-- 项目结项 项目基本内容 -->
-    <div class="projectSettlement1" v-loading="loading">
-      <div class="psSmallTit">
-        <span style="margin-right: 10px;">结题时间:</span>{{ endTime }}
-      </div>
-
-<!-- 活动申请填写信息区域开始 -->
-     <!-- 活动申请填写信息区域开始 -->
-     <div class="select">
-              <div class="selectTop">
-                <div class="label">项目名称</div>
-                <el-input v-model="select.project" placeholder="请输入内容"></el-input>
-              </div>
-              <div class="selectMid">
-                <div class="selectLeft">
-                 
-                    <div class="inpBlock">
-                        <div class="label">负责人</div>
-                        <el-input v-model="select.person" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">所在部门</div>
-                        <el-select v-model="select.departmentData" style="width: 100%;" placeholder="请选择">
-                          <el-option
-                            v-for="item in select.department"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                          </el-option>
-                        </el-select>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">学院牵头领导</div>
-                        <el-input v-model="select.lead_leader" placeholder="请输入学院牵头领导"></el-input>
-                    </div>
-                </div>
-
-                <div class="selectRight">
-                  <div class="inpBlock">
-                        <div class="label">项目时间</div>
-                        <el-date-picker
-                          v-model="select.Date"
-                          type="daterange"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          range-separator="至"
-                          start-placeholder="项目起始时间"
-                          end-placeholder="项目完成时间">
-                          
-                        </el-date-picker>
-                        <!-- <el-date-picker
-                          v-model="select.Date"
-                          type="datetime"
-                          style="width: 100%;"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          placeholder="选择日期">
-                        </el-date-picker> -->
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">预算总经费</div>
-                        <el-input type="number" v-model.number="select.Fund" placeholder="请输入内容"></el-input>
-                    </div>
-                    <div class="inpBlock">
-                        <div class="label">选择分类</div>
-                        <el-cascader disabled="" v-model="select.sort" :options="select.sortOptions" clearable></el-cascader>
-
-                    </div>
-                </div>
-              </div>
-              
-        </div>
-        <!-- 活动申请填写信息区域结束 -->
-
-
-         <!-- 项目封面修改上传开始 -->
-         <!-- <div style="height: 260px;">
-              <div class="tabTit">
-                <div><p>封面上传</p></div>
-              </div>
-              <hr>
-              <div style="margin-bottom: 10px;">修改项目封面</div>
-              <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-              <el-upload
-                class="avatar-uploader"
-                action="#"
-                disabled
-                style="position: relative;"
-                :show-file-list="false"
-                >
-                <img v-if="dialogImageUrl" :src="dialogImageUrl" class="avatar">
-                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-              </el-upload>
-            </div> -->
-
-          <!-- 项目封面修改上传开始结束 -->
-
-
-
-
-      <!-- 项目教师开始 -->
-      <div class="tabTit">
-          <div><p>项目组-教师团队</p><span>(团队3人以上,至少应包含1名教研室主任)</span></div>
-          <el-button type="primary" @click="addMember"  size="mini">添加教师</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="teacherData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="speciality"
-          label="专业"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="title"
-          label="职称"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="education"
-          label="学历"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="section"
-          label="所在教研室"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <!-- <el-button type="primary" @click="lookDetail(scope)" size="mini">查看详情</el-button> -->
-                      <el-button type="primary" @click="amendDialogData(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="Del(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目教师结束 -->
-
-      <!-- 项目学生开始 -->
-      <div class="tabTit">
-        <div><p>项目组-学生团队</p><span>(团队5人以上,学生团队年级结构安排合理)</span></div>
-          <el-button type="primary" @click="addMemberStudent"  size="mini">添加学生</el-button>
-      </div>
-      <hr>
-      <el-table
-        :data="studentData"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="name"
-          label="姓名"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="class"
-          label="班级"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="age"
-          label="年龄"
-          align="center"
-          >
-        </el-table-column>
-        <el-table-column
-          prop="work"
-          label="项目组任务分工"
-          align="center"
-          >
-        </el-table-column>
-        
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                      <el-button type="primary" @click="updateStudent(scope.$index)" size="mini">修改</el-button>
-                      <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-              </div>
-          </template>
-        </el-table-column>
-      </el-table>
-      <!-- 项目学生结束 -->
-
-
-      <!-- 项目简介开始 -->
-    <div class="tabTit">
-          <div><p>项目简介</p></div>
-    </div>
-    <hr>
-      <el-input
-        type="textarea"
-        :rows="6"
-        resize="none"
-        class="textArea"
-        placeholder="请输入内容"
-        v-model="textarea">
-      </el-input>
-    <!-- 项目简介结束 -->
-
-
-    <div class="baseBtn">
-      <div class="blockWidth">
-        <!-- <el-button type="primary" class="backBtn" @click="audit">立即修改</el-button> -->
-
-        <!-- <el-button v-show="isUpload==0" type="primary" class="backBtn" @click="submitHint=true">立即修改</el-button>
-        <el-button v-show="isUpload==1" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button>
-        <el-button v-show="isUpload==2" type="primary" class="backBtn" disabled style="background: #ccc !important;border: none;">立即修改</el-button> -->
-
-      </div>
-    </div>
-      <!--添加教师dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddMember==1?'添加教师':'修改教师'"
-          :visible.sync="addMemberDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="teacher.name" placeholder="请输入教师姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">专业</div>
-              <div>
-                <el-input v-model="teacher.speciality" placeholder="请输入教师专业"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">职称</div>
-              <div>
-                <el-input v-model="teacher.title" placeholder="请输入教师职称"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">学历</div>
-              <div>
-                <el-input v-model="teacher.education" placeholder="请输入教师学历"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">所在教研室</div>
-              <div>
-                <el-input v-model="teacher.section" placeholder="请输入所在教研室"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="teacher.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddMember==1" type="primary" @click="commit" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddMember==2" type="primary" @click="commit2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addMemberDialog = false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!--添加教师dialog对话框结束 -->
-
-      <!-- 添加学生dialog对话框开始 -->
-      <el-dialog
-          :title= "isAddStudent==1?'添加学生':'修改学生'"
-          :visible.sync="addStudentDialog"
-          :modal="true"
-          :close-on-click-modal="true"
-          class="AddMember">
-            <div class="littleBlock">
-              <div class="dialogLabel">姓名</div>
-              <div>
-                <el-input v-model="student.name" placeholder="请输入学生姓名"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">班级</div>
-              <div>
-                <el-input v-model="student.class" placeholder="请输入学生班级"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel">年龄</div>
-              <div>
-                <el-input v-model="student.age" placeholder="请输入学生年龄"></el-input>
-              </div>
-            </div>
-
-            <div class="littleBlock">
-              <div class="dialogLabel" style="transform: translate(0,0);">项目组角色分工</div>
-              <div>
-                <el-input v-model="student.work" placeholder="请输入项目组角色分工"></el-input>
-              </div>
-            </div>
-
-
-            <div slot="footer" class="footer">
-              <el-button v-show="isAddStudent==1" type="primary" @click="commitStudent" class="AllDialogBtn" >确认提交</el-button>
-              <el-button v-show="isAddStudent==2" type="primary" @click="commitStudent2" class="AllDialogBtn" >确认修改</el-button>
-
-              <el-button @click="addStudentDialog=false" class="AllDialogBtn">取消</el-button>
-            </div>
-      </el-dialog>
-      <!-- 添加学生dialog对话框结束 -->
-       <!-- 删除教师对话框开始 -->
-      <el-dialog
-              title="删除教师"
-              :visible.sync="delMember"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该教师?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelMember" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="delMember=false" class="AllDialogBtn" >取消</el-button>
-              </span>
-      </el-dialog>
-      <!-- 删除教师对话框结束 -->
-      <!-- 删除学生成员对话框开始 -->
-            <el-dialog
-              title="删除学生成员"
-              :visible.sync="DelStudentDialog"
-              width="600px"
-              class="delMemberDialog">
-              <span class="deleteContent">确定删除该学生成员?</span>
-              <span slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="commitDelStudent" class="AllDialogBtn">确认删除</el-button>
-                <el-button @click="DelStudentDialog = false" class="AllDialogBtn" >取消</el-button>
-              </span>
-            </el-dialog>
-      <!-- 删除学生成员对话框结束 -->
-
-       <!-- 修改对话框开始 -->
-       <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="submitHint = false" size="small" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-  </div>
-</template>
-
-<script>
-    export default {
-      data() {
-        return {
-          iid:'',
-          isUpload:'',
-          accept:"image/*",
-          isAddMember:1,
-          isAddStudent:1,
-          progress:{   //进度条
-                value:0,
-                show:false
-            },  
-          index:0,
-          endTime:"",
-          delMember:false,
-          dialogImageUrl:"",//项目封面
-          DelStudentDialog:false,
-          amendMemberDialog:false,
-          addMemberDialog:false,
-          addStudentDialog:false,
-          submitHint:false,
-          loading:false,
-          select:{    //数据详情框数据
-            project:'',   
-            person:'',
-            departmentData:"",  //部门框值
-            sort:[],     //分类值
-            tel:'',
-            Date:'',
-            Fund:'',
-            sortOptions: [],
-            department:[],
-          },
-          textarea:'',   //项目简介
-
-          teacherData:[],   //成员列表数据
-          studentData:[],
-          addTabMember:{       //添加项目成员
-            // id:'',
-            name:'',
-            class:'',
-            phone:'',
-            score:0
-          },
-          teacher:{ //添加老师团队表
-            name:"",  //姓名
-            speciality:"",//专业
-            title:"",//职称
-            education:"",//学历
-            section:"",//所在教研室
-            work:"",//项目组角色分工
-          },
-          student:{ //添加学生团队表
-            name:"",//姓名
-            class:"",//班级
-            age:"",//年龄
-            work:'',//项目组任务分工
-          }
-        }
-      },
-      methods:{
-        addMemberStudent(){//添加项目组-学生成员
-          this.isAddStudent=1;
-          this.addStudentDialog = true;
-        },
-        commitStudent(){//确定添加学生
-            for(let i in this.student){if(this.student[i]==''||this.student[i]==undefined)return this.$message.error("请填完所有内容");}
-            let newData={};
-            for(let a in this.student)newData[a] = this.student[a];
-            this.studentData.push(newData);
-            this.$message.success("添加成功");
-            this.addStudentDialog = false;
-            //清空表单
-            for(let j in this.student)this.student[j]='';
-        },
-        updateStudent(val){ //修改学生信息
-          Object.assign(this.student,this.studentData[val]);
-          this.isAddStudent=2;
-          this.index=val;
-          this.addStudentDialog = true;
-        },
-        commitStudent2(){//确定修改学生
-            Object.assign(this.studentData[this.index],this.student)
-            this.addStudentDialog=false;
-            for(let k in this.student) this.student[k]=''
-            this.$message.success('修改成功')
-        },
-        DelStudent(val){//删除学生对话框
-          this.index = val;
-          this.DelStudentDialog=true;
-        },
-        commitDelStudent(){ //对话框确定删除学生成员
-          this.studentData.splice(this.index,1);
-          this.$message.success('删除成功');
-          this.DelStudentDialog=false;
-        },
-        addMember(){    //添加教师按钮,显示对话框
-            this.addMemberDialog=true;
-            this.isAddMember=1;
-        },
-        commit(){   //确定添加教师
-              for(let i in this.teacher){if(this.teacher[i]==''||this.teacher[i]==undefined)return this.$message.error("请填完所有内容");}
-              let newData = {};
-              for(let a in this.teacher)newData[a] = this.teacher[a];
-              this.teacherData.push(newData);
-              this.$message.success('添加成功');
-              this.addMemberDialog = false;
-              for(let j in this.teacher)this.teacher[j]='';
-        },
-        amendDialogData(val){   //修改项目成员信息对话框显示
-          Object.assign(this.teacher,this.teacherData[val])
-          this.isAddMember=2;
-          this.index=val;
-          this.addMemberDialog=true;
-        },
-        commit2(){   //确定修改老师
-            Object.assign(this.teacherData[this.index],this.teacher)
-            for(let k in this.teacher) this.teacher[k]=''
-            this.addMemberDialog=false;
-            this.$message.success('修改成功')
-        },
-        Del(val){ //删除老师按钮
-          this.index=val;   
-          this.delMember=true;
-        },
-        commitDelMember(){  //确定删除老师按钮
-          this.teacherData.splice(this.index,1)
-          this.$message.success('删除成功')
-          this.delMember=false;
-        },
-
-        ProgressFormat(value){        //进度条
-          return value ==100?'100%':`${value}%`
-        },
-        audit(){    //立即修改对话框显示
-          this.submitHint=true
-        },
-        submitAll(){
-          let param = {
-            uid:this.$store.state.userInfo.userid,
-            pid:this.$route.query['pid'],
-            title:this.select.project,
-            pro_leader:this.select.person,
-            lead_leader:this.select.lead_leader,
-            startTime:this.select.Date[0],
-            endTime:this.select.Date[1],
-            cid:this.select.departmentData,
-            fund:this.select.Fund,
-            img:this.dialogImageUrl,
-            teacher:JSON.stringify(this.teacherData),
-            student:JSON.stringify(this.studentData),
-            brief:this.textarea,
-          }
-          //判断数据
-          const cEmpty = /^\s*$/g;
-          for(let i in param){
-            switch(i){
-              case 'title':
-                if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                break;
-              case 'pro_leader':
-                if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                break;
-              case 'startTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目开始时间")
-                break;
-              case 'endTime':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目计划结束时间")
-                break
-              case 'cid':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                break;
-              case "lead_leader":
-                if(cEmpty.test(param[i]))return this.$message.error("请输入学院牵头领导")
-                break;
-              case 'img':
-                if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                break;
-              case 'teacher':
-                if(JSON.parse(param[i]).length<3)return this.$message.error("需要教师团队3人以上,至少应包含1名教研室主任")
-                break;
-              case 'student':
-                if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                break;
-              case 'brief':
-                if(param[i].length<200&&param[i]<=300)return this.$message.error("项目简介需要200-300字")
-                break;
-            }
-          }
-          this.ajax.post(this.$store.state.api+'/UpdateProjectMakerSpaceBase',param).then(res=>{
-            if(res.data==1){
-              this.$message.success("修改项目信息成功")
-            }else{
-              this.$message.error('修改项目信息失败')
-            }
-            this.getData();
-          }).catch(err=>{
-            console.log(err)
-          })
-        },
-        getData(){   //初始化完成获取基本数据进行填充
-          this.loading = true;
-          let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:this.$route.query['pid']
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectProjectMakerSpace',param)
-                  .then(res=>{
-                    let data=res.data[0][0]
-                    this.select.project=data.title;
-                    this.select.Fund=data.fund;
-                    this.select.person=data.pro_leader;
-                    this.select.Date=[data.begintime,data.planTime];
-                    this.textarea=data.brief;
-                    this.dialogImageUrl=data.image;
-                    this.select.departmentData = data['classid']
-                    this.select.sort = [data['typeid'],data['typeName']]
-                    this.isUpload=data['isupload']
-                    this.select.lead_leader = data['lead_leader']
-                    this.teacherData = JSON.parse(data['course_teacher'])
-                    this.studentData = JSON.parse(data['course_student'])
-                    this.endTime = data['endProjectTime']
-                    this.loading = false;
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-        getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-              let param={
-                uid:this.$store.state.userInfo.userid
-              }
-                this.ajax
-                      .get(this.$store.state.api+'/SelectAllDepartment',param)
-                      .then(res=>{
-                        this.select.department=res.data[0]
-                      },err=>{
-                        console.log(err);
-                      })
-            },
-        getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-          let TypeList = [];
-          let param={
-            uid:this.$store.state.userInfo.userid
-          }
-            this.ajax
-                  .get(this.$store.state.api+'/SelectAllType',param)
-                  .then(res=>{
-                    let master = res.data[0].filter(item=>item['pid']=='');
-                        //获取子分类
-                        let minion = res.data[0].filter(item=>item['pid']!='');
-                        master.forEach(item=>{
-                          let type = {
-                            value:item['id'],
-                            label:item['name'],
-                            children:[],
-                          }
-                          minion.forEach(min=>{
-                            if(min['pid']==item['id']){
-                              let minType = {
-                                value:min['id'],
-                                label:min['name']
-                              }
-                              type['children'].push(minType);
-                            }
-                          })
-                          TypeList.push(type);
-                        })
-                        this.select.sortOptions = TypeList;
-                  },err=>{
-                    console.log(err);
-                  })
-        },
-      },
-      mounted(){    //数据加载完成后触发
-        this.getData();
-        this.getProjectDepartmentData();
-        this.getProjectTypeData();
-      },
-      }
-  </script>
-  
-  <style lang="less">
-  .projectSettlement1{
-    .psSmallTit{
-        width: 100%;
-        margin: 15px 0px 20px 0px;
-        text-align: left;
-        font-size: 16px;
-    }
-  }
-  .projectApplicationfundAddDialog{  
- 
- .el-dialog__header{
-     background: #32455b;
-
- }
- .el-dialog{
-   border-radius:5px ;
-   overflow: hidden;
- }
- 
- .deleteContent{
-   width: 100%;
-   text-align: center;
-   font-size: 22px;
-   color: #000;
- }
- .addDialogLogo{
-         width: 60px;
-         height: 30px;
-         border-radius: 5px;
-         display: flex;
-         justify-content: center;
-         line-height: 30px;
-         background: #f2f2f2;
-         position: absolute;
-         left: 20px; top: 15px; 
- }
-
- .el-dialog__title{
-         color:#fff;
-         display: flex;
-         justify-content: center;
-         font-size: 18px;
-         position: relative;
-         top: -2px;
- }
- .addDialogMid{
-   box-sizing: border-box;
-   padding:0 60px 0 10px;
-   .addDialogTit{
-     display: flex;
-     span{
-       width: 80px;
-       line-height: 40px;
-       text-align: left;
-     }
-   }
- .addDialogTit1{
-   display: flex;
-   justify-content: space-between;
-   margin-bottom: 15px;
- }
- .addDialogTit2{
-   margin-top: 10px;
-   font-size: 18px;
-   color: #000;
-   text-indent: 2em;
- }
- .addDialogCon{
-   margin-top: 20px;
- }
- }
- .dialog-footer{
- display: flex;
- justify-content: center;
-
- }
-}
-  </style>

+ 0 - 847
src/views/projectSettlement/components/projectSettlementDetailBase_Student.vue

@@ -1,847 +0,0 @@
-<template>
-    <!-- 项目管理 项目基本内容 -->
-    <div class="ProjectManagement1">
-  
-   <!-- 活动申请填写信息区域开始 -->
-   <div class="select">
-          <div class="selectTop">
-            <div class="label">项目名称</div>
-            <el-input v-model="content.select.projectName" placeholder="请输入内容"></el-input>
-          </div>
-          <div class="selectMid">
-            <div class="selectLeft">
-                <div class="inpBlock">
-                    <div class="label">项目负责人</div>
-                    <el-input v-model="content.select.leader" placeholder="请输入内容"></el-input>
-                </div>
-                <div class="inpBlock">
-                    <div class="label">所在部门</div>
-                    <el-select v-model="content.select.department" style="width: 100%;" placeholder="请选择">
-                      <el-option
-                        v-for="item in this.departmentOptions"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id">
-                      </el-option>
-                    </el-select>
-                </div>
-                <div class="inpBlock">
-                    <div class="label" style="width: 50px;font-size: 14px;position: relative;top: -8px;">优先支持项目(可多选)</div>
-                    <el-select style="width: 100%;" v-model="content.select.MultiSelectProjectNameS" multiple placeholder="请选择">
-                      <el-option
-                        v-for="item in this.MultiSelectProject"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                      </el-option>
-                    </el-select>
-                </div>
-                <div class="inpBlock">
-                    <div class="label">联系电话</div>
-                    <el-input type="number" v-model="content.select.tel"  @blur="getText(content.select.tel)" placeholder="请输入联系方式"></el-input>
-                </div>
-                <div class="inpBlock">
-                  <div class="label">选择分类</div>
-                  <!-- <el-cascader v-model="pageType" :options="projectApplicationApply1.sortOptions" clearable></el-cascader> -->
-                  <el-cascader disabled style="width: 100%;" v-model="pageType" :options="sortOptions" clearable></el-cascader>
-                </div>
-            </div>
-  
-            <div class="selectRight">
-              <div class="inpBlock">
-                    <div class="label">项目开始时间</div>
-                    <el-date-picker
-                      v-model="content.select.projectDate"
-                      type="daterange"
-                      disabled
-                      style="width: 100%;"
-                      value-format="yyyy-MM-dd HH:mm:ss"
-                      range-separator="至"
-                      start-placeholder="开始日期"
-                      end-placeholder="结束日期">
-                    </el-date-picker>
-                </div>
-                <div class="inpBlock" style="position: relative;">
-                    <div class="label">预算总经费</div>
-                    <el-input type="number" disabled v-model="content.select.fund" placeholder="请输入内容"></el-input>
-                    <div style="position: absolute;right: -30px;top: 10px;">(万)</div>
-                </div>
-                <div class="inpBlock">
-                    <div class="label" style="font-size: 14px;max-width: 50px;position: relative;top: -8px;">美丽校园改造项目(特色项目)</div>
-                    <el-select v-model="content.select.schoolRemould" style="width: 100%;" placeholder="请选择">
-                      <el-option
-                        v-for="item in this.schoolRemouldOptions"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                      </el-option>
-                    </el-select>
-                </div>
-                <div class="inpBlock">
-                    <div class="label">项目申请人</div>
-                    <el-select v-model="content.select.projectApplyPerson" style="width: 100%;" placeholder="请选择">
-                      <el-option
-                        v-for="item in this.personType"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                      </el-option>
-                    </el-select>
-                </div>
-                <!-- <div class="inpBlock">
-                    <div class="label">选择分类</div>
-                    <el-cascader v-model="data.select.sort" :options="data.sortOptions" clearable></el-cascader>
-                </div> -->
-            </div>
-          </div>
-          
-    </div>
-          <!-- 活动申请填写信息区域结束 -->
-  
-  
-          <!-- 项目封面修改上传开始 -->
-          <!-- <div style="height: 260px;">
-                <div class="tabTit">
-                  <div><p>封面上传</p></div>
-                </div>
-                <hr>
-                <div style="margin-bottom: 10px;">修改项目封面</div>
-                <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-  
-                <el-upload
-                  class="avatar-uploader"
-                  action="#"
-                  disabled
-                  style="position: relative;"
-                  :show-file-list="false"
-                  >
-                  <img v-if="content.dialogImageUrl" :src="content.dialogImageUrl" class="avatar">
-                  <i v-else class="el-icon-plus avatar-uploader-icon"></i>
-                  <BeUpload :progress="progress" style="position:absolute; width: 301px;height: 180px; opacity: 0;z-index:333;left: 0px;top: 0;" @getFile="getFile" class="uploadPic" :navName="'上传封面'" :accept="accept"></BeUpload>
-                </el-upload>
-          </div> -->
-          <!-- 项目封面修改上传开始结束 -->
-  
-        <!-- 老师项目成员表格开始 -->
-        <div class="tabTit">
-                  <div><p>项目组-老师成员<span>(2个学院以上,团队2-3人)</span> </p></div>
-                  <el-button type="primary" @click="addTeacherMember"  size="mini">添加成员</el-button>
-                </div>
-                <hr>
-                <el-table
-                  :data="content.tableTeacherData"
-                  tooltip-effect="dark"
-                  stripe
-                  :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                  class="fontSize"
-                  >
-                
-                  <el-table-column
-                    prop="name"
-                    label="姓名"
-                    align="center"
-                    >
-                  </el-table-column>
-                  <el-table-column
-                    prop="class"
-                    label="所在学院/部门/专业"
-                    align="center"
-                    >
-                  </el-table-column>
-  
-                  <el-table-column
-                    prop="division"
-                    label="项目组角色分工"
-                    align="center"
-                    >
-                  </el-table-column>
-  
-                
-                  
-                  <el-table-column
-                    align="center"
-                    prop="operation"
-                    label="操作"
-                    >
-                    <template #default="scope">
-                        <div class="operations">
-                            <!-- <el-button type="primary" > -->
-                                <el-button type="primary" @click="amendTeacherDialogData(scope.$index)" size="mini">修改</el-button>
-                                <el-button type="primary" @click="DelTeacher(scope.$index)" size="mini">删除</el-button>
-                            <!-- </el-button> -->
-                        </div>
-                    </template>
-                  </el-table-column>
-                </el-table>
-  
-            <!--添加修改老师成员dialog对话框开始 -->
-              <el-dialog
-                  :title= "isAddMember==1?'添加老师成员':'修改老师成员'"
-                  :visible.sync="addTeacherMemberDialog"
-                  :modal="true"
-                  :close-on-click-modal="true"
-                  class="AddMember"
-                  :before-close="init">
-                    <div class="littleBlock">
-                      <div class="dialogLabel">姓名</div>
-                      <div>
-                        <el-input v-model="Member.name"></el-input>
-                      </div>
-                    </div>
-  
-                    <div class="littleBlock">
-                      <div class="dialogLabel">所在学院/部门/专业</div>
-                      <div>
-                        <el-input v-model="Member.class"></el-input>
-                      </div>
-                    </div>
-  
-                    <div class="littleBlock">
-                      <div class="dialogLabel">项目组角色分工</div>
-                      <div>
-                        <el-input  v-model="Member.division" ></el-input>
-                      </div>
-                    </div>
-                    <div slot="footer" class="footer">
-                      <el-button v-show="isAddMember==1" type="primary" @click="commitAddTeacher" class="AllDialogBtn" >确认提交</el-button>
-                      <el-button v-show="isAddMember==2" type="primary" @click="commitAmendTeacher" class="AllDialogBtn" >确认修改</el-button>
-  
-                      <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                    </div>
-              </el-dialog>
-            <!--添加修改老师成员dialog对话框结束 -->
-  
-            <!-- 删除老师成员对话框开始 -->
-            <el-dialog
-                title="删除成员"
-                :visible.sync="delTeacherMember"
-                width="600px"
-                class="pageSubmitData">
-                <div class="deleteContent">确定删除老师成员?</div>
-                <span slot="footer" class="dialog-footer">
-                  <el-button type="primary" @click="commitDelTeacherMember" class="AllDialogBtn">确认删除</el-button>
-                  <el-button @click="init" class="AllDialogBtn" >取消</el-button>
-                </span>
-              </el-dialog>
-            <!-- 删除老师成员对话框结束 -->
-    <!-- 老师项目成员表格结束 -->
-  
-      <!-- 学生项目成员表格开始 -->
-      <div id="two" class="tabTit">
-                  <div><p>项目组-学生成员<span>(至少2个学院以上学生构成,团队5人以上)</span> </p></div>
-                  <el-button type="primary" @click="addStudentMember"  size="mini">添加成员</el-button>
-                </div>
-                <hr>
-                <el-table
-                  :data="content.tableStudentData"
-                  tooltip-effect="dark"
-                  stripe
-                  :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-                  class="fontSize"
-                  >
-                
-                  <el-table-column
-                    prop="name"
-                    label="姓名"
-                    align="center"
-                    >
-                  </el-table-column>
-                  <el-table-column
-                    prop="class"
-                    label="所在学院/部门/专业"
-                    align="center"
-                    >
-                  </el-table-column>
-  
-                  <el-table-column
-                    prop="division"
-                    label="项目组角色分工"
-                    align="center"
-                    >
-                  </el-table-column>
-  
-                
-                  
-                  <el-table-column
-                    align="center"
-                    prop="operation"
-                    label="操作"
-                    >
-                    <template #default="scope">
-                        <div class="operations">
-                            <!-- <el-button type="primary" > -->
-                                <el-button type="primary" @click="amendStudentDialogData(scope.$index)" size="mini">修改</el-button>
-                                <el-button type="primary" @click="DelStudent(scope.$index)" size="mini">删除</el-button>
-                            <!-- </el-button> -->
-                        </div>
-                    </template>
-                  </el-table-column>
-                </el-table>
-     <!-- 学生项目成员表格结束 -->
-  
-  
-            <!-- 项目简介开始 -->
-              <div class="tabTit">
-                    <div><p>项目简介</p></div>
-              </div>
-              <hr>
-              <el-input
-                type="textarea"
-                :rows="6"
-                resize="none"
-                class="textArea"
-                placeholder="请输入内容"
-                v-model="content.textarea">
-              </el-input>
-            <!-- 项目简介结束 -->
-  
-            <!--添加修改学生成员dialog对话框开始 -->
-              <el-dialog
-                  :title= "isAddMember==1?'添加学生成员':'修改学生成员'"
-                  :visible.sync="addStudentMemberDialog"
-                  :modal="true"
-                  :close-on-click-modal="true"
-                  class="AddMember"
-                  :before-close="init">
-                    <div class="littleBlock">
-                      <div class="dialogLabel">姓名</div>
-                      <div>
-                        <el-input v-model="Member.name"></el-input>
-                      </div>
-                    </div>
-  
-                    <div class="littleBlock">
-                      <div class="dialogLabel">所在学院/部门/专业</div>
-                      <div>
-                        <el-input v-model="Member.class"></el-input>
-                      </div>
-                    </div>
-  
-                    <div class="littleBlock">
-                      <div class="dialogLabel">项目组角色分工</div>
-                      <div>
-                        <el-input v-model="Member.division"></el-input>
-                      </div>
-                    </div>
-                    <div slot="footer" class="footer">
-                      <el-button v-show="isAddMember==1" type="primary" @click="commitAddStudent" class="AllDialogBtn" >确认提交</el-button>
-                      <el-button v-show="isAddMember==2" type="primary" @click="commitAmendStudent" class="AllDialogBtn" >确认修改</el-button>
-  
-                      <el-button @click="init" class="AllDialogBtn">取消</el-button>
-                    </div>
-              </el-dialog>
-            <!--添加修改学生成员dialog对话框结束 -->
-  
-            <!-- 删除学生成员对话框开始 -->
-            <el-dialog
-                title="删除成员"
-                :visible.sync="delStudentMember"
-                width="600px"
-                class="pageSubmitData">
-                <div class="deleteContent">确定删除学生成员?</div>
-                <span slot="footer" class="dialog-footer">
-                  <el-button type="primary" @click="commitDelStudentMember" class="AllDialogBtn">确认删除</el-button>
-                  <el-button @click="init" class="AllDialogBtn" >取消</el-button>
-                </span>
-              </el-dialog>
-            <!-- 删除学生成员对话框结束 -->
-    <!-- 学生项目成员表格结束 -->
-  
-  
-  
-              
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <!-- <el-button type="primary" class="backBtn" v-show="isUpload==0" @click="audit">立即修改</el-button>
-          <el-button type="primary" class="backBtn" v-show="isUpload==1" disabled style="background-color: #c8c9cc !important;border:none;">立即修改</el-button>
-          <el-button type="primary" class="backBtn" v-show="isUpload==2" disabled style="background-color: #c8c9cc !important;border:none;">立即修改</el-button> -->
-
-        </div>
-      </div>
-  
-  
-  
-     <!-- 提交对话框开始 -->
-          <el-dialog
-            title="提示"
-            :visible.sync="submitHint"
-            width="600px"
-            class="pageSubmitData"
-            :before-close="init">
-            <div class="addDialogLogo">LOGO</div>
-            <div class="deleteContent">确定修改项目基本信息?</div>
-            <span slot="footer" class="dialog-footer">
-              <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-              <el-button @click="init" class="AllDialogBtn">取消</el-button>
-            </span>
-          </el-dialog>
-        <!-- 提交对话框结束 -->
-  
-  
-  
-  
-  
-    </div>
-  </template>
-  
-  <script>
-    import BeUpload from "../../../components/tool/beUpload.vue";
-      export default {
-        components: {
-          BeUpload,
-        },
-        data() {
-          return {
-            accept:"image/*",
-            isAddMember:1,  //判断是添加学生还是修改学生
-            progress:{   //进度条
-                  value:0,
-                  show:false
-              },  
-              pageType:[], //选择分类
-  
-            
-            delMember:false,
-            amendMemberDialog:false,
-            addMemberDialog:false,
-            submitHint:false,          
-  
-            delTeacherMember:false,  //删除老师对话框
-            addTeacherMemberDialog:false,   //添加修改对话框
-  
-            addStudentMemberDialog:false,   //添加学生对话框
-            delStudentMember:false,      //删除学生对话框
-            isUpload:'',
-            textarea:'',   //项目简介
-            tableData:[],   //成员列表数据
-  
-            content:{
-              dialogImageUrl:"",  //封面!!!!!!!!
-              tableStudentData:[],  //学生成员成员列表!!!!!!!!
-              tableTeacherData:[],  //老师成员成员列表!!!!!!!
-              textarea:'',   //项目简介!!!!!!!
-              select:{    //要提交的数据!!!!!!!!!!!!!!!!!!!!!!!
-                  projectName:'',     //项目名称
-                  leader:'',          //项目负责人
-                  projectDate:[],   //开始结束日期
-                  department:"",   //部门
-                  fund:'',         //资金
-                  MultiSelectProjectNameS:[],   //优先支持项目
-                  schoolRemould:'',        //校园改造项目
-                  tel:'',  //电话
-                  projectApplyPerson:'',  //项目申请人
-              },
-            },
-  
-  
-            departmentOptions: [],  //部门下拉框
-            Member:{    //添加、修改成员对话框数据
-                name:'',
-                class:'',
-                division:'',
-                score:'0'
-            },
-            MultiSelectProject:[   //优先支持项目下拉框数据
-                      {
-                        value: 1,
-                        label: '大赛选拔项目'
-                      }, {
-                        value: 2,
-                        label: '落地注册项目'
-                      }, {
-                        value: 3,
-                        label: '社会征集项目'
-                      }, {
-                        value: 4,
-                        label: '产业命题项目'
-                      }
-            ],
-            schoolRemouldOptions:[   //美丽校园下拉框数据
-                {
-                  value: '1',
-                  label: '校园安全项目'
-                }, {
-                  value: '2',
-                  label: '环境治理项目'
-                }, {
-                  value: '3',
-                  label: '校园服务项目'
-                }, {
-                  value: '4',
-                  label: '文创装置项目'
-                }
-            ],
-            personType:[     //项目申请人下拉框数据
-                {
-                  value: '1',
-                  label: '在校学生'
-                }, {
-                  value: '2',
-                  label: '入驻学校孵化基地的初创企业法人'
-                }
-            ],
-            sortOptions: [      //选择分类下拉框数据
-                {
-                  value:"",
-                  label: '',
-                  children: [{
-                    value: 0,
-                    label: '创意组',
-                  },
-                    {
-                    value: 1,
-                    label: '初创组',
-                  }
-                ]}, 
-                {
-                value:"",
-                label: '',
-                children: [{
-                  value: 0,
-                  label: '已建设',
-                }, {
-                  value: 1,
-                  label: '待建设',
-                }]
-              }],
-              
-          }
-        },
-        methods:{
-          getText(value) {     //电话验证
-            let verify = /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/; //获取正则表达式 存放到verify变量中
-            let result = verify.test(value.trim()); //判断输入框内容是否符合 正则表达式
-            if(result){
-              return result;
-            }else{
-              this.$message.error("请输入正确的手机号格式")
-              return false;
-            }
-            // if()
-            // return verify.test(value.trim())
-            // if(!result && value != "") {
-            // if(!result) {
-            //       return false;
-            // }else{
-            //   return true;
-            // }
-          },
-          ProgressFormat(value){        //进度条
-            return value ==100?'100%':`${value}%`
-          },
-          getFile(val) {       //上传封面
-              // console.log(val);
-              this.progress.show = false;
-              this.dialogImageUrl=val.url
-  
-          },
-  
-  
-  
-          // 项目组老师成员方法开始
-                    addTeacherMember(){   //添加项目成员对话框显示
-                      this.addTeacherMemberDialog=true
-                      for(let i in this.Member){
-                        if(i=='score')this.Member[i] = "0"
-                        else this.Member[i] = "";
-                      }
-                      this.isAddMember=1;
-                    },
-                    DelTeacher(val){    //删除对话框显示
-                      this.delTeacherMember=true;
-                      this.index=val
-                    },
-                    amendTeacherDialogData(val){   //修改项目成员信息对话框显示
-                      Object.assign(this.Member,this.content.tableTeacherData[val])
-                      this.isAddMember=2;
-                      this.Member['index']=val    //为下面修改提供下标
-                      // console.log(this.Member['index']);
-                      this.addTeacherMemberDialog=true
-                    },
-                    commitAddTeacher(){   //确定添加成员  
-                          console.log(this.Member.name);
-                          if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                          if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                          if (this.Member.division=="" ||this.Member.division==undefined) return this.$message.error('请输入项目组角色分工')
-                          let newData = {};
-                          for(let j in this.Member)newData[j] = this.Member[j];
-                          this.content.tableTeacherData.push(newData);
-                          this.$message.success('添加成功')
-                          for(let i in this.Member){      
-                            if(i=='score')this.Member[i] = "0"
-                            else this.Member[i] = "";
-                          }
-                          this.init()
-                    },
-  
-                    commitAmendTeacher(){   //确定修改成员
-                          Object.assign(this.content.tableTeacherData[this.Member['index']],this.Member)
-                          for(let k in this.Member) this.Member[k]=''
-                          this.addTeacherMemberDialog=false;
-                          this.$message.success('修改成功')
-                    },
-  
-                    commitDelTeacherMember(){   //对话框确定删除成员
-                      let a=this.index;
-                      this.content.tableTeacherData.splice(a,1);
-                      this.$message.success('删除成功');
-                      this.delTeacherMember=false;
-                    },
-          // 项目组老师成员方法开始
-  
-              // 项目组学生成员方法开始
-                  addStudentMember(){   //添加项目成员对话框显示
-                      this.addStudentMemberDialog=true
-                      for(let i in this.Member){
-                        if(i=='score')this.Member[i] = "0"
-                        else this.Member[i] = "";
-                      }
-                      this.isAddMember=1;
-                    },
-                    DelStudent(val){    //删除对话框显示
-                      this.delStudentMember=true;
-                      this.index=val
-                    },
-                    amendStudentDialogData(val){   //修改项目成员信息对话框显示
-                      Object.assign(this.Member,this.content.tableStudentData[val])
-                      this.isAddMember=2;
-                      this.Member['index']=val    //为下面修改提供下标
-                      // console.log(this.Member['index']);
-                      this.addStudentMemberDialog=true
-                    },
-                    commitAddStudent(){   //确定添加成员  
-                          if (this.Member.name =="" ||this.Member.name==undefined) return this.$message.error('请输入姓名')
-                          if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入所在学院/部门/专业')
-                          if (this.Member.class=="" ||this.Member.class==undefined) return this.$message.error('请输入项目组角色分工')
-                          let newData = {};
-                          for(let j in this.Member)newData[j] = this.Member[j];
-                          this.content.tableStudentData.push(newData);
-                          this.$message.success('添加成功')
-                          for(let i in this.Member){      
-                            if(i=='score')this.Member[i] = "0"
-                            else this.Member[i] = "";
-                          }
-                          this.addStudentMemberDialog=false;
-                    },
-  
-                    commitAmendStudent(){   //确定修改成员
-                          Object.assign(this.content.tableStudentData[this.Member['index']],this.Member)
-                          for(let k in this.Member) this.Member[k]=''
-                          this.addStudentMemberDialog=false;
-                          this.$message.success('修改成功')
-  
-                          console.log(this.content.tableData);
-                    },
-  
-                    commitDelStudentMember(){   //对话框确定删除成员
-                      let a=this.index;
-                      this.content.tableStudentData.splice(a,1);
-                      this.$message.success('删除成功');
-                      this.delStudentMember=false;
-                    },
-          // 项目组学生成员方法开始
-  
-  
-  
-  
-          getProjectDepartmentData(){  //获取项目立项申请基础信息页面所在部门数据
-                let param={
-                  uid:this.$store.state.userInfo.userid
-                }
-                  this.ajax
-                        .get(this.$store.state.api+'/SelectAllDepartment',param)
-                        .then(res=>{
-                          this.departmentOptions=res.data[0];
-                        },err=>{
-                          console.log(err);
-                        })
-              },
-  
-  
-  
-              getData(){     //过去基础数据
-                  let param={
-                      uid:this.$store.state.userInfo.userid,
-                      pid:this.$route.query["pid"]
-                  }
-                  this.ajax
-                      .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                      .then(res=>{
-                        // console.log(data.);
-                          let data=res.data[0][0]
-                          // console.log(data);
-                          // console.log(data.multiSelectProject);
-                          this.content.select.projectName=data.title
-                          this.content.select.leader=data.leader
-                          this.content.select.projectDate=[data.startTime,data.endTime]
-                          this.content.select.department=data.classid
-                          this.content.select.fund=data.fund
-                          this.content.select.MultiSelectProjectNameS=JSON.parse(data.multiSelectProject)
-                          this.content.select.schoolRemould=data.schoolRemould
-                          this.content.select.tel=data.phone
-                          this.content.select.projectApplyPerson=data.projectApplyperson
-                          this.content.select.dialogImageUrl=data.image
-                          this.content.tableStudentData=JSON.parse(data.course_student)
-                          this.content.tableTeacherData=JSON.parse(data.course_teacher)                       
-                          this.content.textarea=data.brief
-                          this.content.dialogImageUrl=data.image
-                          this.pageType=[data.typeid,data.typeName]
-                          this.isUpload=data.isupload
-                          
-                          // console.log(this.content);
-                      },err=>{
-                          console.log(err);
-                      })
-              },
-  
-              getProjectTypeData(){  //获取项目立项申请基础信息页面分类数据
-                let TypeList = [];
-                let param={
-                  uid:this.$store.state.userInfo.userid
-                }
-                  this.ajax
-                        .get(this.$store.state.api+'/SelectAllType',param)
-                        .then(res=>{
-                          let master = res.data[0].filter(item=>item['pid']=='');
-                              //获取子分类
-                              let minion = res.data[0].filter(item=>item['pid']!='');
-                              master.forEach(item=>{
-                                let type = {
-                                  value:item['id'],
-                                  label:item['name'],
-                                  children:[],
-                                }
-                                minion.forEach(min=>{
-                                  if(min['pid']==item['id']){
-                                    let minType = {
-                                      value:min['id'],
-                                      label:min['name']
-                                    }
-                                    type['children'].push(minType);
-                                  }
-                                })
-                                TypeList.push(type);
-                              })
-                              this.sortOptions = TypeList;
-                        },err=>{
-                          console.log(err);
-                        })
-              },
-              audit(){   //提交对话框显示
-                this.submitHint=true
-              },
-  
-          submitAll(){   //提交修改数据
-            let param={
-            uid:this.$store.state.userInfo.userid,
-            pid:JSON.parse(localStorage.getItem('pid')),
-            tit:this.content.select.projectName,
-            lea:this.content.select.leader,
-            cla:this.content.select.department,
-            mul:JSON.stringify(this.content.select.MultiSelectProjectNameS),
-            pho:this.content.select.tel,
-            sch:this.content.select.schoolRemould,
-            per:this.content.select.projectApplyPerson,
-            img:this.content.dialogImageUrl,
-            cot:JSON.stringify(this.content.tableTeacherData),
-            cos:JSON.stringify(this.content.tableStudentData),
-            bri:this.content.textarea,
-          }
-
-          const cEmpty = /^\s*$/g;
-              for(let i in param){
-                switch(i){
-                  case 'tit':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目名称不能为空")
-                    break;
-                  case 'lea':
-                    if(cEmpty.test(param[i]))return this.$message.error("项目负责人不能为空")
-                    break;
-                  case 'cla':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目所属部门")
-                    break;
-                  case 'mul':
-                    if(!JSON.parse(param[i]).length) return this.$message.error("请选择优先支持项目")
-                    break;
-                  case 'sch':
-                    if(!param[i])return this.$message.error("请选择美丽校园改造项目")
-                    break;
-                  case "pho":
-                    if(cEmpty.test(param[i]))return this.$message.error("请输入联系方式")
-                    break;
-                  case 'person':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目申请人")
-                    break;
-                  case 'img':
-                    if(cEmpty.test(param[i]))return this.$message.error("请选择项目封面图片")
-                    break;
-                  case 'cot':
-                    console.log(JSON.parse(param[i]).length);
-                    if(JSON.parse(param[i]).length<2 || JSON.parse(param[i]).length>4)return this.$message.error("需要教师团队3人以上,至少应包含1名教研室主任")
-                    break;
-                  case 'cos':
-                    if(JSON.parse(param[i]).length<5)return this.$message.error("需要学生团队5人以上")
-                    break;
-                  case 'bri':
-                    if(param[i].length<200 || param[i].length>=300)return this.$message.error("项目简介需要200-300字")
-                    break;
-                }
-              }
-              this.ajax
-                    .post(this.$store.state.api+'/updateProjectApplyDetailStudent',param)
-                    .then(res=>{
-                      // console.log(res);
-                      if (res.data==1) {
-                        this.$message.success('修改成功')
-                        this.submitHint=false
-                        this.getData()
-                        return
-                      }
-                      this.$message.error('修改失败')
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-          init(){
-            this.addStudentMemberDialog=false;
-            this.submitHint=false;
-            this.addTeacherMemberDialog=false;
-          },
-  
-        },
-        mounted(){    //数据加载完成后触发
-          this.getProjectDepartmentData()
-          this.getData()
-          this.getProjectTypeData()
-        },
-      }
-  </script>
-  
-  <style lang="less">
-  .projectApplication1{
-  
-    .avatar-uploader .el-upload {
-      border: 1px dashed #d9d9d9;
-      border-radius: 6px;
-      cursor: pointer;
-      // position: relative;
-      overflow: hidden;
-    }
-    .avatar-uploader .el-upload:hover {
-      border-color: #409EFF;
-    }
-    .avatar-uploader-icon {
-      font-size: 28px;
-      color: #8c939d;
-      width: 300px;
-      // height: 100%;
-      line-height: 178px;
-      text-align: center;
-    }
-    .avatar {
-      width: 300px;
-      height:178px !important;
-      display: block;
-    }
-  }
-  </style>

+ 0 - 447
src/views/projectSettlement/components/projectSettlementDetailComment.vue

@@ -1,447 +0,0 @@
-<template>
-  <!-- 项目结项 结项评语 -->
-    <div class="projectSettlement2" v-loading="loading">
-      <!-- 上传文件以及表格开始 -->
-      <div class="pmInp">
-          <beUpload @getFile="getFile" :progress="progress" :navName="'上传文件'" :accept="accept"></beUpload>
-        </div>
-      <!-- 表格部分开始 -->
-      <el-progress v-show="progress.show" :percentage="progress.value" :format="ProgressFormat"></el-progress>
-
-        <el-table
-        :data="file"
-        tooltip-effect="dark"
-        stripe
-        class="fontSize"
-        :header-cell-style="{ background: '#f2f2f2',color:'#000' }"
-        >
-        <el-table-column
-          prop="fileName"
-          label="项目中期报告"
-          align="center"
-         >
-        </el-table-column>
-        
-        <el-table-column
-          prop="size"
-          label="大小"
-          align="center"
-          >
-        </el-table-column>
-       
-        <el-table-column
-          prop="uploadTime"
-          label="时间"
-          align="center"
-          >
-        </el-table-column>
-
-        <el-table-column
-          prop="operation"
-          align="center"
-          label="操作"
-          >
-          <template #default="scope">
-              <div class="operations">
-                  <el-button type="primary"  size="mini" @click="checkFile(scope.row.url)" style="background: #477edd">明细查看</el-button>
-              </div>
-          </template>
-        </el-table-column>
-        </el-table>
-
-      <!-- 多行文本框区域开始 -->
-      <!-- <div class="PS2tabTit0">
-        结项评价
-      </div>
-      <div class="tabTit">
-            <div><p>科研办</p></div>
-      </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="AllRemark.kRem">
-        </el-input>
-      </div>
-      <div class="tabTit">
-            <div><p>学术委员会</p></div>
-      </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          class="textArea"
-          :rows="6"
-          resize="none"
-          placeholder="请输入内容"
-          v-model="AllRemark.xRem">
-        </el-input>
-      </div>
-      <div class="tabTit">
-            <div><p>部门审核评语</p></div>
-      </div>
-      <hr>
-      <div class="ps1textArea">
-        <el-input
-          type="textarea"
-          :rows="6"
-          resize="none"
-          class="textArea"
-          placeholder="请输入内容"
-          v-model="AllRemark.bRem">
-        </el-input>
-      </div> -->
-      <!-- 多行文本框区域结束 -->
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <el-button type="primary" class="backBtn" @click="submitRemark">提交</el-button>
-        </div>
-      </div>
-
-    <!-- 提交对话框开始 -->
-    <el-dialog
-          title="提示"
-          :visible.sync="dialogVisible1"
-          width="600px"
-          class="submitDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <span class="deleteContent">确定提交?</span>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="confirmSubmit" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="dialogVisible1=false" class="AllDialogBtn">取消</el-button>
-          </span>
-        </el-dialog>
-    <!-- 提交对话框结束-->
-    <!-- 展示文档开始 -->
-    <el-dialog
-            title="展示文件"
-            :visible.sync="showFile"
-            width="80vw"
-            class="addDialog showDialog"
-          >
-      <div class="addDialogLogo">LOGO</div>
-      <div class="showFileArea">
-        <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
-        <vword
-            style="width: 100%; height: 100%; overflow: auto"
-            class="fullStyle"
-            v-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-if="Wordss['type']=='pdf'"
-        ></vpdf>
-        <img :src="showFileUrl" alt="图片哦" v-if="Wordss['name']=='图片'" style="width: auto;height: auto;max-width: 100%;max-height: 100%;">
-      </div>
-    </el-dialog>
-
-    </div>
-  </template>
-  
-  <script>
-    import beUpload from '@/components/tool/beUpload'
-    import vpdf from "@/components/vpdf.vue";
-    import vword from "@/components/vword.vue";
-      export default {
-        components: { beUpload, vpdf, vword },
-        data() {
-          return {
-            accept:"*",
-            dialogVisible1:false,
-            loading:false,
-            showFile:false,
-            showFileType: 0,
-            showFileUrl: "",
-            Wordss:{type:"",name:""},
-            canonical:{
-                Image:/^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
-                File:/^https?:\/\/(.+\/)+.+(\.(docx|xlsx|ppt|pdf))$/i
-            },
-            // tableData:[],
-            file:[],
-            progress:{     //进度条
-              value:0,
-              show:false
-            },
-            AllRemark:{
-              kRem:'',
-              xRem:'',
-              bRem:''
-            }
-          }
-        },
-        methods:{
-          ProgressFormat(value){        //进度条
-            return value ==100?'100%':`${value}%`
-          },
-          //展示文件
-          checkFile(url) {
-              // console.log(url);
-              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);
-                  }
-                  else return this.Wordss={type:type,name:type}
-          },
-            confirmSubmit(){    //确定提交
-                let param={
-                  uid:this.$store.state.userInfo.userid,
-                  pid:this.$route.query['pid'],
-                  file:JSON.stringify(this.file),
-                  remark:JSON.stringify(this.AllRemark)
-                }
-                this.ajax
-                    .post(this.$store.state.api+'/UpdateSettlementRemark',param)
-                    .then(res=>{
-                      console.log(res);
-                      this.dialogVisible1=false
-                      this.$message.success('提交成功')
-                    },err=>{
-                      console.log(err);
-                    })
-            },
-            submitRemark(){      //显示提交对话框
-              this.dialogVisible1=true;
-            },
-            getFile(val) {    //上传文件
-              let param={
-                  uid:this.$store.state.userInfo.userid,
-                  pid:this.$route.query['pid'],
-                  file:JSON.stringify([...this.file,val]),
-                  remark:JSON.stringify(this.AllRemark)
-                }
-                this.ajax
-                    .post(this.$store.state.api+'/UpdateSettlementRemark',param)
-                    .then(res=>{
-                      if(res.data==1){
-                        this.$message.success('提交成功')
-                      }else{
-                        this.$message.error("提交失败")
-                      }
-                      this.getData();
-                      this.progress.show = false;
-                      
-                    },err=>{
-                      console.log(err);
-                    })
-            },
-
-            getData(){       //获取基础信息
-              this.loading = true;
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid'],
-              }
-              this.ajax
-                    .get(this.$store.state.api+'/SelectSettlementRemark',param)
-                    .then(res=>{
-                      console.log(res);
-                      let data=res.data[0];
-                      console.log(data);
-                      this.file=JSON.parse(data[0].endFile)
-                      if(JSON.parse(data[0].endProjectRemark)!=null){
-                        this.AllRemark=JSON.parse(data[0].endProjectRemark)
-                      }
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },        
-        },
-       mounted(){
-        this.getData()
-       }
-      }
-  </script>
-  
-  <style lang="less">
-  .projectSettlement2{
-
-    .pmInp{
-      width: 100%;
-      margin: 10px 0 10px 0;
-      display: flex;  
-      justify-content: flex-end;
-      .btn{
-        height: 30px;
-        width: 100px;
-        font-size: 16px;
-        background: #477edd;
-        // margin-left: 10px;
-      }
-    }
-
-    .addDialog {
-        font-size: 18px;
-        .el-dialog {
-          border-radius: 5px;
-          overflow: hidden;
-        }
-        .deleteContent {
-          width: 100%;
-          margin: 30px 0;
-          font-size: 22px;
-          color: #000;
-        }
-        .addDialogLogo {
-          width: 60px;
-          height: 30px;
-          border-radius: 5px;
-          display: flex;
-          justify-content: center;
-          line-height: 30px;
-          background: #f2f2f2;
-          position: absolute;
-          left: 20px; top: 15px; 
-        }
-        .el-dialog__header {
-          display: flex;
-          justify-content: center;
-          background: #32455b;
-        }
-        .el-dialog__title {
-          color:#fff;
-          display: flex;
-          justify-content: center;
-          font-size: 18px;
-          position: relative;
-          top: -2px;
-        }
-        .addDialogMid {
-          box-sizing: border-box;
-          padding: 0 60px 0 10px;
-          .addDialogTit {
-            display: flex;
-            span {
-              width: 80px;
-              font-size: 16px;
-              line-height: 40px;
-              text-align: left;
-            }
-          }
-          .addDialogTit1 {
-            display: flex;
-            justify-content: space-between;
-            margin-bottom: 15px;
-          }
-          .addDialogTit2 {
-            margin-top: 10px;
-            font-size: 16px;
-            color: #000;
-            text-indent: 2em;
-          }
-          .addDialogCon {
-            margin-top: 20px;
-          }
-        }
-        
-      }
-
-
-    .submitDialog{
-      font-size: 18px;
-      .el-dialog{
-        border-radius: 5px;
-        overflow: hidden;
-      }
-      .deleteContent{
-        font-size: 22px;
-        color: #000;
-      }
-      .el-dialog__body{
-          display: flex;
-          justify-content: center;
-        }
-      .addDialogLogo{
-        width: 60px;
-        height: 30px;
-        border-radius: 5px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
-      }
-      .el-dialog__header{
-      background: #32455b;
-      }
-      .el-dialog__title{
-        color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
-      }
-      .addDialogMid{
-        box-sizing: border-box;
-        padding:0 60px 0 10px;
-        .addDialogTit{
-          display: flex;
-          span{
-            width: 80px;
-            font-size: 16px;
-            line-height: 40px;
-            text-align: left;
-            
-          }
-        }
-        .addDialogTit1{
-          display: flex;
-          justify-content: space-between;
-          margin-bottom: 15px;
-        }
-        .addDialogTit2{
-          margin-top: 10px;
-          font-size: 16px;
-          color: #000;
-          text-indent: 2em;
-          text-align: left;
-          line-height: 1.7em;
-        }
-        .addDialogCon{
-          margin-top: 20px;
-        }
-        
-      }
-      .dialog-footer {
-          display: flex;
-          justify-content: center;
-          box-sizing: border-box;
-          // .btn5 {
-          //   font-size: 16px;
-          // }
-        }
-    }
-
-
-    .PS2tabTit0{
-      width: 100%;
-      text-align: left;
-      margin: 20px 15px 20px 0px;
-      color: #ccc;
-      font-size: 22px;
-    }
-
-  }
-
-  </style>

+ 1 - 1
src/views/projectSettlement/components/projectSettlementDetailConclusion.vue

@@ -66,7 +66,7 @@
             width="80vw"
             class="addDialog showDialog"
           >
-      <div class="addDialogLogo">LOGO</div>
+      
       <div class="showFileArea">
         <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
         <vword

+ 0 - 307
src/views/projectSettlement/components/projectSettlementDetail_MakerSpace.vue

@@ -1,307 +0,0 @@
-<template>
-  <!-- 项目管理 项目详细 -->
-    <div class="ProjectManagement2" v-loading="loading">
-    <!-- 跳转导航结束 -->
-     
-    <div class="PA2mid">项目建设内容及目标</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、建设内容<span>(空间优化/场馆规划方面拟解决的关键问题及主要建设指标)</span></div>
-          <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.Construction">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Construction"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">预项目建设论证报告</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、立项依据<span> (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span></div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.ProjectBasis">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.ProjectBasis"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">预期成果</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、创客空间物理环境、制度建设及软件设施建设情况<span>(环境优化/制度完善/设施改造)</span></div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.development">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.development"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">二、学生创客工作室建设情况<span>(工作室数量及活动开展情况)</span></div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studio">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studio"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">三、学生创客团队(人才)培养预期成果、数量</div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studentTeam">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentTeam"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">四、学生创客活动组织实施情况</div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.studentActivities">
-          </el-input>
-        <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.studentActivities"></vue-editor> -->
-      </div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">五、学生创客团队孵化、转化创业项目情况</div>
-        <el-input
-            type="textarea"
-            :rows="6"
-            resize="none"
-            class="textArea"
-            placeholder="请输入内容"
-            v-model="data.Transforming">
-          </el-input>
-          <!-- <vue-editor  :editorToolbar="customToolbar" v-model="data.Transforming"></vue-editor> -->
-      </div>
-
-      <div class="PA2mid">立项基础及条件</div>
-      <div class="PA2textArea">
-        <div class="PA2textAreaTit PA2textAreaTit2">一、基础条件<span>(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span></div>
-        <vue-editor  :editorToolbar="customToolbar" v-model="data.condition"></vue-editor>
-      </div>
-
-      <div class="baseBtn">
-        <div class="blockWidth">
-          <!-- <el-button type="primary" v-show="isUpload==0"  @click="submitHint=true">立即修改</el-button> -->
-          <!-- <el-button type="primary" disabled v-show="isUpload==1" style="background: #ccc !important;border: none;">立即修改</el-button> -->
-          <!-- <el-button type="primary" disabled style="background: #ccc !important;border: none;" v-show="isUpload==2">立即修改</el-button> -->
-
-        </div>
-      </div>
-      <!-- 修改对话框开始 -->
-      <el-dialog
-          title="提示"
-          :visible.sync="submitHint"
-          width="600px"
-          class="projectApplicationfundAddDialog">
-          <div class="addDialogLogo">LOGO</div>
-          <div class="deleteContent">确定修改项目基本信息?</div>
-          <span slot="footer" class="dialog-footer">
-            <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-            <el-button @click="submitHint = false" class="AllDialogBtn" size="small">取消</el-button>
-          </span>
-        </el-dialog>
-      <!-- 修改对话框结束 -->
-    </div>
-  </template>
-  
-  <script>
-import { VueEditor } from "vue2-editor";
-
-      export default {
-        components:{
-          VueEditor
-        },
-        data() {
-          return {
-            isUpload:0,
-            loading:false,
-            submitHint:false,
-            customToolbar: [
-              ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-              [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-              [{header:[false,1,2,3,4]}]
-            ],
-            data:{
-                Construction:"",//建设内容
-                ProjectBasis:"",//立项依据
-                development:"",//创客空间物理环境、制度建设及软件设施建设情况
-                studio:"",//学生创客工作室建设情况
-                studentTeam:"",//学生创客团队(人才)培养预期成果、数量
-                studentActivities:"",//学生创客活动组织实施情况
-                Transforming:"",//学生创客团队孵化、转化创业项目情况
-                condition:"",//立 项基 础及条 件
-
-            },
-          }
-        },
-        methods:{
-          submitAll(){
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query['pid'],
-              chapters:JSON.stringify(this.data)
-            }
-            this.ajax.post(this.$store.state.api+"/UpdateProjectChaptersMakerSpace",param).then(res=>{
-              if(res.data==1){
-                this.$message.success("修改成功")
-              }else{
-                this.$message.error("修改失败")
-              }
-              this.submitHint = false;
-              this.getData();
-            }).catch(err=>{
-              console.log(err)
-            })
-          },
-          getData(){   //初始化完成获取基本数据进行填充
-            this.loading = true;
-            let param={
-              uid:this.$store.state.userInfo.userid,
-              pid:this.$route.query['pid']
-            }
-              this.ajax
-                    .get(this.$store.state.api+'/SelectProjectChapterMakerSpace',param)
-                    .then(res=>{
-                      this.isUpload = res.data[0][0]['isupload']
-                      this.data = JSON.parse(res.data[0][0]['chapters']);
-                      console.log(this.data)
-                      this.loading = false;
-                    },err=>{
-                      console.log(err);
-                    })
-          },
-        },
-        mounted(){
-          this.getData();
-        }
-      }
-  </script>
-  
-  <style lang="less">
-  .ProjectManagement2{
-
- .projectApplicationfundAddDialog{    //项目修改对话框开始
- 
-
- .el-dialog{
-   border-radius:5px ;
-   overflow: hidden;
- }
- 
- .deleteContent{
-   width: 100%;
-   text-align: center;
-   font-size: 22px;
-   color: #000;
- }
- .addDialogLogo{
-  width: 60px;
-        height: 30px;
-        display: flex;
-        justify-content: center;
-        line-height: 30px;
-        border-radius: 5px;
-        background: #f2f2f2;
-        position: absolute;
-        left: 20px; top: 15px; 
- }
- .el-dialog__header{
- background: #32455b;
- }
- .el-dialog__title{
-  color:#fff;
-        display: flex;
-        justify-content: center;
-        font-size: 18px;
-        position: relative;
-        top: -2px;
- }
- .addDialogMid{
-   box-sizing: border-box;
-   padding:0 60px 0 10px;
-   .addDialogTit{
-     display: flex;
-     span{
-       width: 80px;
-       line-height: 40px;
-       text-align: left;
-     }
-   }
- .addDialogTit1{
-   display: flex;
-   justify-content: space-between;
-   margin-bottom: 15px;
- }
- .addDialogTit2{
-   margin-top: 10px;
-   font-size: 18px;
-   color: #000;
-   text-indent: 2em;
- }
- .addDialogCon{
-   margin-top: 20px;
- }
-}
-.dialog-footer{
- display: flex;
- justify-content: center;
-//  .btn5{
-//    height: 40px;
-//    font-size: 16px;
-//    background: #0e72e6;
-//    width: 200px;
-//  }
-}
-}
-//项目修改对话框结束
-    .PA2textArea{     //标题栏
-        margin: 15px 0;
-        .PA2textAreaTit{
-            width: 80%;
-            text-align: left;
-            font-size: 18px;
-            font-weight: 550;
-            margin-bottom: 15px;
-            color: #2387ff;
-        }
-        .ql-toolbar.ql-snow{
-          display: flex;
-        }
-        .PA2textAreaTit2{
-            font-size: 16px;
-        }
-        .el-textarea__inner{
-            background: #f2f2f2;
-        }
-    }
-    
-    .PA2mid{    //预期取得成果单独一栏
-        width: 100%;
-        text-align: left;
-        font-size: 18px;
-        font-weight: 550;
-        margin-bottom: 10px;
-        color: #2387ff;
-    }
-  }
-  </style>

+ 0 - 393
src/views/projectSettlement/components/projectSettlementDetail_Student.vue

@@ -1,393 +0,0 @@
-<template>
-    <!-- 项目管理 项目详细 -->
-      <div class="ProjectManagement2">
-     
-        <div id="w">
-                <p class="pTit">研发内容</p>
-                <div>
-                  <p class="pTit2">一、项目研发背景</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.back">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.back"></vue-editor> -->
-                  </div>
-                </div>
-                <div>
-                  <p class="pTit2">二、项目创新点</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.innovate">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.innovate"></vue-editor> -->
-                  </div>
-                </div>
-                <div>
-                  <p class="pTit2">三、技术研发路线</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.path">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.path"></vue-editor> -->
-                  </div>
-                </div>
-                <div>
-                  <p class="pTit2">四、项目应用场景</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.scene">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.scene"></vue-editor> -->
-                  </div>
-                </div>
-                <!-- <div class="editor">
-                  <vue-editor  :editorToolbar="customToolbar" v-model="content.contentOne"></vue-editor>
-                </div> -->
-              </div>
-              <div>
-                <p class="pTit">商业模式及社会价值</p>
-                <div>
-                  <p class="pTit2">一、项目商业模式/社会价值</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.worth">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.worth"></vue-editor> -->
-                  </div>
-                </div>
-              </div>
-              <div>
-                <p class="pTit">团队优势</p>
-                <div>
-                  <p class="pTit2">一、团队构成及优势</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.team">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.team"></vue-editor> -->
-                  </div>
-                </div>
-              </div>
-  
-              <div>
-                <p class="pTit">研发成本</p>
-                <div>
-                  <p class="pTit2">一、研发成本来源及构成</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.cost">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.cost"></vue-editor> -->
-                  </div>
-                </div>
-              </div>
-              <div id="e">
-                <p class="pTit">预期成果</p>
-                <div>
-                  <p class="pTit2">一、项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.expectResults">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResults"></vue-editor> -->
-                  </div>
-                </div>
-                <div>
-                  <p class="pTit2">二、学生创客人才培养预期成果、数量(教师填写)</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.expectResultsTeacher">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectResultsTeacher"></vue-editor> -->
-                  </div>
-                </div>
-                <div>
-                  <p class="pTit2">三、项目预期孵化、转化创业项目情况</p>
-                  <div class="editor">
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.expectConversion">
-                    </el-input>
-                    <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.expectConversion"></vue-editor> -->
-                  </div>
-                </div>
-              </div>
-              <div>
-                <p class="pTit" style="margin-bottom: 0;">实施计划</p>
-                <div class="editor">
-                  <el-input
-                      type="textarea"
-                      :rows="6"
-                      resize="none"
-                      class="textArea"
-                      placeholder="请输入内容"
-                      v-model="content.plan">
-                    </el-input>
-                  <!-- <vue-editor  :editorToolbar="customToolbar" v-model="content.plan"></vue-editor> -->
-                </div>
-              </div>
-        <div class="baseBtn">
-          <div class="blockWidth">
-            <!-- <el-button type="primary" v-show="isUpload==0"  @click="audit">立即修改</el-button>
-            <el-button type="primary" v-show="isUpload==1" disabled style="background: #ccc !important;border: none;" >立即修改</el-button>
-            <el-button type="primary"  v-show="isUpload==2"  disabled style="background: #ccc !important;border: none;">立即修改</el-button> -->
-  
-          </div>
-        </div>
-        <!-- 修改对话框开始 -->
-        <el-dialog
-            title="提示"
-            :visible.sync="submitHint"
-            width="600px"
-            class="projectApplicationfundAddDialog"
-            :before-close="init">
-            <div class="addDialogLogo">LOGO</div>
-            <div class="deleteContent">确定修改项目基本信息?</div>
-            <span slot="footer" class="dialog-footer">
-              <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
-              <el-button @click="init" class="AllDialogBtn" size="small">取消</el-button>
-            </span>
-          </el-dialog>
-        <!-- 修改对话框结束 -->
-      </div>
-    </template>
-    
-    <script>
-  import { VueEditor } from "vue2-editor";
-  
-        export default {
-          components:{
-            VueEditor
-          },
-          data() {
-            return {
-              isUpload:'',
-              data:[["","","","",""],[]],
-              submitHint:false,
-              customToolbar: [
-                ["bold", "italic", "underline"], [{ list: "ordered" }, { list: "bullet" }],
-                [{ align: "" }, { align: "center" }, { align: "right"}, { align: "justify"}],
-                [{header:[false,1,2,3,4]}]
-              ],
-              content:'',
-            }
-          },
-          methods:{
-            // content(){      //导航栏项目详情跳转
-            //   this.$router.push('/projectApplicationDetails')
-            // },
-           
-            // backBtn(){
-            //   this.$router.push('/projectApplicationApply2')
-            // },
-            audit(){   //立即修改按钮
-              this.submitHint=true
-            },
-            submitAll(){
-              let param={
-                uid:this.$store.state.userInfo.userid,
-                pid:this.$route.query['pid'],
-                message:JSON.stringify(this.content)
-              }
-                this.ajax
-                    .post(this.$store.state.api+'/updateProjectApplication2Student',param)
-                    .then(res=>{
-                      // console.log(res);
-                      this.$message.success('修改成功')
-                      this.init()
-                    },err=>{
-                      console.log(err);
-                    })
-            },
-            init(){
-              this.submitHint=false
-            },
-            // getData(){   //初始化完成获取基本数据进行填充
-            //   let param={
-            //     uid:this.$store.state.userInfo.userid,
-            //     pid:this.$route.query['pid']
-            //   }
-            //     this.ajax
-            //           .get(this.$store.state.api+'/GetProjectDetailMessage',param)
-            //           .then(res=>{
-            //             this.isUpload=res.data[0][0].isupload;
-            //             let GetData=JSON.parse(res.data[0][0].chapters)
-            //             this.data=GetData;
-            //           },err=>{
-            //             console.log(err);
-            //           })
-            // },
-            getData(){
-                  let param={
-                      uid:this.$store.state.userInfo.userid,
-                      pid:this.$route.query['pid']
-                  }
-                  this.ajax
-                      .get(this.$store.state.api+'/SelectProjectApplyDetailStudent',param)
-                      .then(res=>{
-                          let data=res.data[0][0]
-                          // console.log(data.chapters);
-                          this.isUpload=data.isupload
-                          this.content=JSON.parse(data.chapters)
-                          // console.log(this.content);
-                      },err=>{
-                          console.log(err);
-                      })
-              },
-          },
-          mounted(){
-            this.getData();
-          }
-        }
-    </script>
-    
-    <style lang="less">
-    // .projectApplication2{
-   .projectApplicationfundAddDialog{    //项目修改对话框开始
-   
-  
-   .el-dialog{
-     border-radius:5px ;
-     overflow: hidden;
-   }
-   
-   .deleteContent{
-     width: 100%;
-     text-align: center;
-     font-size: 22px;
-     color: #000;
-   }
-   .addDialogLogo{
-    width: 60px;
-          height: 30px;
-          display: flex;
-          justify-content: center;
-          line-height: 30px;
-          border-radius: 5px;
-          background: #f2f2f2;
-          position: absolute;
-          left: 20px; top: 15px; 
-   }
-   .el-dialog__header{
-   background: #32455b;
-   }
-   .el-dialog__title{
-    color:#fff;
-          display: flex;
-          justify-content: center;
-          font-size: 18px;
-          position: relative;
-          top: -2px;
-   }
-   .addDialogMid{
-     box-sizing: border-box;
-     padding:0 60px 0 10px;
-     .addDialogTit{
-       display: flex;
-       span{
-         width: 80px;
-         line-height: 40px;
-         text-align: left;
-       }
-     }
-   .addDialogTit1{
-     display: flex;
-     justify-content: space-between;
-     margin-bottom: 15px;
-   }
-   .addDialogTit2{
-     margin-top: 10px;
-     font-size: 18px;
-     color: #000;
-     text-indent: 2em;
-   }
-   .addDialogCon{
-     margin-top: 20px;
-   }
-  }
-  .dialog-footer{
-   display: flex;
-   justify-content: center;
-  //  .btn5{
-  //    height: 40px;
-  //    font-size: 16px;
-  //    background: #0e72e6;
-  //    width: 200px;
-  //  }
-  }
-  }
-  
-      .PA2textArea{     //标题栏
-          margin: 15px 0;
-          .PA2textAreaTit{
-              width: 80%;
-              text-align: left;
-              font-size: 18px;
-              font-weight: 550;
-              margin-bottom: 15px;
-              color: #2387ff;
-          }
-          .ql-toolbar.ql-snow{
-            display: flex;
-          }
-          .PA2textAreaTit2{
-              font-size: 16px;
-          }
-          .el-textarea__inner{
-              background: #f2f2f2;
-          }
-      }
-      
-  
-  
-    // }
-    </style>

+ 488 - 0
src/views/projectSettlement/components/studentProjectWordShow.vue

@@ -0,0 +1,488 @@
+<template>
+    <div id="studentProjectWord">
+        <div id="title">
+            <div class="school">深圳技师学院</div>
+            <div class="wordTitle">学 生 创 客 项 目 申 报 书</div>
+            <div class="date">申请日期:{{downWordData.applicationDate}}</div>
+        </div>
+        <table border="1" cellspacing="0" class="table">
+    
+          <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> 
+          <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 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> -->
+            </td>
+          </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>
+              <!-- <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">
+            <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> -->
+            </td><td colspan="3">
+              <span v-text="downWordData['applyParsonRadio']=='2'?'√ ':'□ '"></span><span>入驻学校孵化基地的初创企业法人</span>
+              <!-- <el-radio v-model="downWordData.applyParsonRadio" label="2">入驻学校孵化基地的初创企业法人</el-radio> -->
+            </td>
+          </tr>
+          <tr id="applyParsonName">
+            <td colspan="2" ref="applyParsonName">申 请 人 姓 名</td><td colspan="1" v-text="downWordData.applyParsonName">
+            </td>
+            <td ref="college">参与学院/公司</td><td v-text="downWordData.dp">
+            </td><td ref="tel">联系电话</td><td v-text="downWordData.tel"></td>
+          </tr>
+          <tr id="beginTime">
+            <td colspan="2" ref="beginTime">项 目 起 始 时 间</td><td colspan="2" v-text="downWordData.beginTime.split(' ')[0]"></td>
+            <td ref="endTime">计划完成时间</td><td colspan="2" v-text="downWordData.endTime.split(' ')[0]"></td>
+          </tr>
+          <tr>
+            <td colspan="2">项 目 组 人 数</td><td v-text="downWordData.studentS.length + downWordData.teacherS.length"></td>
+            <td>参与学生人数</td><td v-text='downWordData.studentS.length'> </td>
+            <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>
+          </tr>
+          <tr style="position: relative;" v-for="(item,index) in downWordData.studentS" :key="index+'a'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <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>
+          </tr>
+          <tr style="position: relative !important;" v-for="(item,index) in downWordData.teacherS" :key="index+'b'">
+            <td v-text="item.name"></td>
+            <td colspan="2" v-text="item.collage"></td>
+            <td colspan="3" v-text="item.work"></td>
+          </tr>
+          <tr id="brief">
+            <td rowspan="5" ref="brief">研发内容</td><td colspan="6" class="textLeft">
+              <p>项目简介(200-300字)</p>
+              <span>
+                {{ downWordData.brief }}
+              </span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目研发背景</p>
+              <span v-text="downWordData.introduce.back"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目创新点</p>
+              <span v-text="downWordData.introduce.innovate"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>技术研发路线</p>
+              <span v-text="downWordData.introduce.path"></span>
+            </td>
+          </tr>
+          <tr>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目应用场景 </p>
+              <span v-text="downWordData.introduce.scene"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>商业模式及社会价值</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目商业模式/社会价值</p>
+              <span v-text="downWordData.introduce.worth"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>团队优势</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>团队构成及优势</p>
+              <span v-text='downWordData.introduce.team'></span>
+            </td>
+          </tr>
+          <tr>
+            <td>研发成本</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>研发成本来源及构成</p>
+              <span v-text="downWordData.introduce.cost"></span>
+            </td>
+          </tr>
+          <tr>
+            <td rowspan="3">预期成果</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <p>项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</p>
+              <span v-text="downWordData.introduce.expectResults"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>学生创客人才培养预期成果、数量(教师填写)</p>
+              <span v-text="downWordData.introduce.expectResultsTeacher"></span>
+            </td>
+          </tr>
+          <tr class="textLeft">
+            <td style="text-align: left;" colspan="6">
+              <p>项目预期孵化、转化创业项目情况</p>
+              <span v-text="downWordData.introduce.expectConversion"></span>
+            </td>
+          </tr>
+          <tr>
+            <td>实施计划</td>
+            <td style="text-align: left;" colspan="6" class="textLeft">
+              <span v-text="downWordData.introduce.plan"></span>
+            </td>
+          </tr>
+          <tr id="fund">
+            <td rowspan="12" ref="fund">预算经费</td><td>总经费</td><td colspan="5" v-text="reversedMessage==0?'':reversedMessage"></td>
+          </tr>
+          <tr>
+            <td>支出类别</td><td colspan="2">支出项目</td><td>金额(元)</td><td colspan="4">备 注</td>
+          </tr>
+          <tr>
+            <td rowspan="5">直接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">小型仪器设备费</td>
+            <td v-text="downWordData.fund.facility">
+            </td><td colspan="2">
+              项目开展所需的小型专用仪器设备、工具、配件购置或租赁费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">材料费</td><td v-text="downWordData.fund.materials">
+            </td><td colspan="2">
+              项目开展需消耗的各种原材料、辅助材料等低值易耗品的采购费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">测试化验加工费</td><td v-text="downWordData.fund.process">
+            </td><td colspan="2">
+              项目开展过程中支付给外单位的检验、测试、化验、计算、分析及加工费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">项目协作费</td><td v-text="downWordData.fund.assist">
+            </td><td colspan="2">
+              按合同规定支付给协作单位的费用
+            </td>
+          </tr>
+    
+          <tr>
+            <td rowspan="5">间接费用</td>
+          </tr>
+          <tr>
+            <td colspan="2">项目成果鉴定费</td><td v-text="downWordData.fund.authenticate">
+            </td><td colspan="2">
+              学术会务费、评审费、鉴定费、成果集制作费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">参展参赛费</td><td v-text="downWordData.fund.match">
+            </td><td colspan="2">
+              参加创客展会、竞赛等所需的报名费、展位费、布展费、宣传推广费及差旅费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">创客交流活动费</td><td v-text="downWordData.fund.activity">
+            </td><td colspan="2">
+              创客交流活动中支付给校外专家的指导费、咨询费、授课费等费用。
+            </td>
+          </tr>
+          <tr>
+            <td colspan="2">知识产权事务费</td><td v-text="downWordData.fund.affair">
+            </td><td colspan="2">
+              论文版面费、专利及其他知识产权事务等费用。
+            </td>
+          </tr>
+          <tr>
+            <td>所在学院/部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>财务部门意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+          <tr>
+            <td>创新创业学院审核意见</td><td colspan="6" class="textLeft" style="height:200px">
+                <div style="text-align: right;font-size: 18px;width: 80%;margin-bottom: 20px;">负责人签章:</div>
+                <div style="text-align: right;font-size: 18px;width: 90%;">年&nbsp;&nbsp;&nbsp; 月 &nbsp;&nbsp;&nbsp;日</div>
+            </td>
+          </tr>
+        </table>
+          <div class="notes">
+            <span>备注:</span>
+            <span>1.表格可顺延或另附页。</span>
+            <span>2.优先支持项目需提供与研发项目相关的实证材料并查看原件。</span>
+            <span>3.初创组已结题项目申请需提供结题验收证明、初创企业申请需提供入驻学校孵化基地协议书及公司营业执照。</span>
+          </div>
+          <el-button style="margin-top:20px" type="primary" @click="work">下载表格</el-button>
+    </div>
+    </template>
+      
+    <script>
+      import {getWord} from '@/components/tool/getWord'
+      export default {
+        data() {
+          return {
+              downWordData:{
+                applicationDate:'',//申请日期
+                projectName:'',
+                radio:'',
+                checkList:[],
+                schoolRadio:'',
+                applyParsonRadio:'',
+                applyParsonName:'',
+                college:'',
+                tel:'',
+                beginTime:'',
+                endTime:'',
+                studentS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                teacherS:[
+                    {name:'',collage:'',work:''},
+                    {name:'',collage:'',work:''},
+                ],
+                brief:'',
+                introduce:{
+                    back:'',
+                    innovate:'',
+                    path:'',
+                    scene:'',
+                    worth:'',
+                    team:'',
+                    cost:'',
+                    expectResults:'',
+                    expectResultsTeacher:'',
+                    expectConversion:'',
+                    plan:''
+                },
+                total:'',
+                fund:{
+                    facility:'',
+                    materials:'',
+                    process:'',
+                    assist:'',
+                    authenticate:'',
+                    match:'',
+                    activity:'',
+                    affair:''
+                }
+              },
+              
+            }
+        },
+        methods: {
+          work(){
+            this.$message.info("正在下载表格")
+            getWord(this.downWordData)
+          },
+          getData(){
+              let param={
+                  uid:this.$store.state.userInfo.userid,
+                  pid:this.$route.query['pid']
+              }
+              this.ajax
+              .get(this.$store.state.api+'/studentProjectData',param)
+              .then(res=>{
+                  let data=res.data[0][0];
+                  let wordData = {};
+                  wordData.projectName=data.title;
+                  wordData.radio=data.typeName;
+                  wordData.checkList=JSON.parse(data.multiSelectProject);
+                  wordData.schoolRadio=data.schoolRemould;
+                  wordData.applyParsonRadio=data.projectApplyperson;
+                  wordData.applyParsonName=data.pro_leader;
+                  wordData.college=data.classid;
+                  wordData.tel=data.phone;
+                  wordData.beginTime=data.bTime;
+                  wordData.endTime=data.eTime;
+                  wordData.studentS=JSON.parse(data.course_student);
+                  wordData.teacherS=JSON.parse(data.course_teacher);
+                  wordData.brief=data.brief;
+                  wordData.introduce=JSON.parse(data.chapters)
+                  wordData.fund=JSON.parse(data.money)
+                  this.downWordData={...wordData,...{etime:data.eTime,btime:data.bTime,dp:data.className}}
+              },err=>{
+                  console.log(err);
+              })
+          },
+        },
+        computed:{   //经费总合
+          reversedMessage: function () {
+            let num = 0;
+            for(let i in this.downWordData.fund)num+=Number(this.downWordData.fund[i]);
+            return num;
+          }
+        },
+        mounted(){
+          this.getData();
+        }
+      };
+    </script>
+      
+    <style lang="less" scoped>
+    #studentProjectWord{
+        width: 100%;
+        display: flex;
+        flex-direction: column;
+        align-items: center;
+        background-color: #ffff;
+        margin: 0;
+        padding: 40px 100px;
+        box-sizing:border-box;
+        #title{
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            position: relative;
+            // margin-top: 40px;
+            .school{
+                font-size: 2.5em;
+                font-weight: bold;
+                letter-spacing: 20px;
+            }
+            .wordTitle{
+                font-size: 2em;
+                letter-spacing: .15em;
+                margin-bottom:40px ;
+            }
+            .date{
+    
+                font-size: 1em;
+                position: absolute;
+                bottom: 0;
+                right: 100px;
+                font-weight: bold;
+            }
+        }
+        .table{
+            border: none;
+            width: 100%;
+            border-top: solid 1px black;
+            border-right:  solid 1px black;
+            border-left:  solid 1px black;
+            .textLeft{
+              text-align: left ;
+              vertical-align: top;
+              position: relative;
+              max-width:100% ;
+              height: 200px;
+              // white-space: nowrap;
+              span{
+                // white-space: nowrap;
+                word-wrap: break-word;
+                word-break: break-all;
+              }
+              :deep(.el-textarea__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: left !important;
+                font-size: 16px;
+              }
+            }
+            tr{
+              position: relative;
+              td{
+                border: none;
+                border-bottom: solid 1px black;
+                border-right: solid 1px black;
+                height: 50px;
+                text-align: center;
+                line-height: 30px;
+                width: 70px;
+                box-sizing: border-box;
+                padding: 5px;
+              p{
+                font-weight: 600;
+              }
+              :deep(.el-select .el-input .el-select__caret){
+                display: none;
+              }
+              :deep(.el-textarea__inner){
+                // padding: 0;
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(.el-input__inner){
+                border: none ;
+                border-radius: 0px;
+                text-align: center;
+                font-size: 16px;
+              }
+              :deep(input)::-webkit-outer-spin-button,
+              :deep(input)::-webkit-inner-spin-button {
+                -webkit-appearance: none;
+              }
+              :deep(input)[type="number"]{
+                  -moz-appearance: textfield;
+              }
+            }
+          }
+            
+        }
+        .notes{
+          width: 100%;
+          display: flex;
+          flex-direction:column;
+        }
+        
+    }
+      .checkArea{
+        td{
+          span{
+          margin-left: 50px;
+          span{
+            margin: 0;
+          }
+        }
+        }
+
+      }
+    
+    </style>

+ 18 - 6
src/views/projectSettlement/projectSettlement.vue

@@ -6,7 +6,8 @@
     </div>
     <hr>
     <!-- 搜索栏开始 -->
-    <div class="selects">
+    <div class="selectInp">
+      <div class="manageSelects">
       <div class="selectsBlock">
         <span class="selectLabel">项目筛选</span>
         <el-select v-model="selectInp.filter" @change="getData" placeholder="我的项目">
@@ -72,6 +73,11 @@
           </el-option>
         </el-select>
       </div>
+      </div>
+      <div class="ProjectManagementQuery">
+        <el-input v-model="input" placeholder="请输入项目名称/编号"></el-input>
+        <el-button type="primary" class="btn" size="mini" @click="getData">查询</el-button>
+      </div>
     </div>
 <!-- 搜索栏结束 -->
 
@@ -88,6 +94,12 @@
           type="selection"
           >
         </el-table-column> -->
+        <el-table-column
+        prop="ProjectNo"
+        label="项目编号"
+        align="center"
+        min-width="7%">
+        </el-table-column>
         <el-table-column
           prop="title"
           label="项目名称"
@@ -114,9 +126,9 @@
         </el-table-column>
         <el-table-column
           prop="time"
-          label="时间"
+          label="结项时间"
           align="center"
-          min-width="10%">
+          min-width="12%">
         </el-table-column>
         <el-table-column
           prop="phone"
@@ -182,7 +194,7 @@
           width="600px"
           class="projectApplicationfundAddDialog"
           :before-close="init">
-          <div class="addDialogLogo">LOGO</div>
+          
           <div class="deleteContent">确定“{{tit}}”完结?</div>
           <span slot="footer" class="dialog-footer">
             <el-button type="primary" @click="submitAll" class="AllDialogBtn">确认提交</el-button>
@@ -201,6 +213,7 @@
         return {
           submitHint:false,
           loading:false,
+          input:"",//查询输入框
           iid:'',
           tit:'',
           options:{    //头部搜索框下拉框数据
@@ -276,11 +289,10 @@
             tid:this.selectInp.sort,    //分类
             leader:this.selectInp.person,  //负责人
             st:this.selectInp.state,  //审核状态
+            inp:this.input,
             page:this.table.currentPage,  //当前页
             lim:this.table.packageSize  //限制获取几条数据
           }
-          // return console.log(param);
-          // console.log(param)
           this.ajax    
             .get(this.$store.state.api+'/SelectAllProjectSettlement',param)
               .then(res=>{

+ 26 - 24
src/views/projectSettlement/projectSettlementDetailMain.vue

@@ -10,51 +10,53 @@
         </div>
         <hr>
         <div class="AppBar">
-            <div @click="pageState=0">项目基本内容<div v-if="pageState==0" class="pr1TitBass"></div></div>
-            <div @click="pageState=1">项目详情<div v-if="pageState==1" class="pr1TitBass"></div></div>
-            <div @click="pageState=2">项目附件<div v-if="pageState==2" class="pr1TitBass"></div></div>
-            <div @click="pageState=3">项目结题附件<div v-if="pageState==3" class="pr1TitBass"></div></div>
-            <div @click="pageState=4">结项评语<div v-if="pageState==4" class="pr1TitBass"></div></div>
+            <!-- <div @click="pageState=0">项目基本内容<div v-if="pageState==0" class="pr1TitBass"></div></div> -->
+            <div @click="pageState=0">项目详情<div v-if="pageState==0" class="pr1TitBass"></div></div>
+            <!-- <div @click="pageState=2">项目附件<div v-if="pageState==2" class="pr1TitBass"></div></div> -->
+            <div @click="pageState=1">项目结题附件<div v-if="pageState==1" class="pr1TitBass"></div></div>
+            <!-- <div @click="pageState=4">结项评语<div v-if="pageState==4" class="pr1TitBass"></div></div> -->
         </div>
         <!-- 特色创客空间建设 -->
-        <projectSettlementDetailBase_MakerSpace v-if="pageState==0 && $route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
-        <projectSettlementDetail_MakerSpace v-if="pageState==1 && $route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <MakerSpaceWordShowVue v-if="pageState==0 && $route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <!-- <projectSettlementDetailBase_MakerSpace v-if="pageState==0 && $route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/> -->
+        <!-- <projectSettlementDetail_MakerSpace v-if="pageState==1 && $route.query['tid']=='5f7a66d5-c206-11ed-a4cd-509a4c5b67cf'"/> -->
         
         <!-- 学生创业项目 -->
-        <projectSettlementDetailBase_StudentVue v-if="pageState==0 && $route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'" ></projectSettlementDetailBase_StudentVue>
-        <projectSettlementDetail_Student v-if="pageState==1 && $route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"></projectSettlementDetail_Student>
+        <studentProjectWordShow v-if="pageState==0 && $route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"/>
+        <!-- <projectSettlementDetailBase_StudentVue v-if="pageState==0 && $route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'" ></projectSettlementDetailBase_StudentVue> -->
+        <!-- <projectSettlementDetail_Student v-if="pageState==1 && $route.query['tid']=='5e21b204-c206-11ed-a4cd-509a4c5b67cf'"></projectSettlementDetail_Student> -->
 
         <!-- 项目附件 -->
-        <projectSettlementDetailAnnex v-if="pageState==2"/>
+        <!-- <projectSettlementDetailAnnex v-if="pageState==2"/> -->
         <!-- 项目结题附件 -->
-        <projectSettlementDetailConclusion v-if="pageState==3"/>
+        <projectSettlementDetailConclusion v-if="pageState==1"/>
         <!-- 项目评语 -->
-        <projectSettlementDetailComment v-if="pageState==4"/>
+        <!-- <projectSettlementDetailComment v-if="pageState==4"/> -->
       </div>
     </template>
     
     <script>
     //学生创业项目
-    import projectSettlementDetailBase_StudentVue from './components/projectSettlementDetailBase_Student.vue';
-    import projectSettlementDetail_Student from './components/projectSettlementDetail_Student.vue'
+    import studentProjectWordShow from './components/studentProjectWordShow.vue';
 
     //特色创客空间建设项目
-    import projectSettlementDetailBase_MakerSpace from './components/projectSettlementDetailBase_MakerSpace.vue';
-    import projectSettlementDetail_MakerSpace from './components/projectSettlementDetail_MakerSpace.vue';
+    import MakerSpaceWordShowVue from './components/MakerSpaceWordShow.vue';
 
     //共同的项目附件
-    import projectSettlementDetailAnnex from './components/projectSettlementDetailAnnex.vue';
+    // import projectSettlementDetailAnnex from './components/projectSettlementDetailAnnex.vue';
     import projectSettlementDetailConclusion from './components/projectSettlementDetailConclusion.vue';
-    import projectSettlementDetailComment from './components/projectSettlementDetailComment.vue';
+    // import projectSettlementDetailComment from './components/projectSettlementDetailComment.vue';
         export default {
         components:{
-            projectSettlementDetailBase_MakerSpace,
-            projectSettlementDetail_MakerSpace,
-            projectSettlementDetailAnnex,
+          MakerSpaceWordShowVue,
+          studentProjectWordShow,
+            // projectSettlementDetailBase_MakerSpace,
+            // projectSettlementDetail_MakerSpace,
+            // projectSettlementDetailAnnex,
             projectSettlementDetailConclusion,
-            projectSettlementDetailComment,
-            projectSettlementDetailBase_StudentVue,
-            projectSettlementDetail_Student
+            // projectSettlementDetailComment,
+            // projectSettlementDetailBase_StudentVue,
+            // projectSettlementDetail_Student
         },
         data() {
           return {

+ 26 - 36
src/views/resultShow/components/resultDetail_MakerSpace.vue

@@ -3,9 +3,9 @@
     <div class="rs1apply" v-loading="loading">
         <!-- 头部展示区开始 -->
         <div class="header">
-            <div class="imgBlock">
+            <!-- <div class="imgBlock">
                 <img :src="TitleMessage.image" alt="">
-            </div>
+            </div> -->
             <div class="headerConcent">
                 <div class="rsHead1Tit">项目名称:<span>{{ TitleMessage.title }}</span></div>
                 <div class="rsHead2Tit rsHead3Tit">
@@ -48,10 +48,10 @@
                 <i class="iconStyle iconfont icon-jiegou" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>活动开展</span>
             </div>
-            <div  class="navLi" @click="pageState=3">
+            <!-- <div  class="navLi" @click="pageState=3">
                 <i class="iconStyle iconfont icon-wenjian" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>项目附件</span>
-            </div>
+            </div> -->
             <div  class="navLi" @click="pageState=4">
                 <i class="iconStyle iconfont icon-baogao" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>项目结题报告</span>
@@ -192,7 +192,6 @@
                         <span style="font-size: 16px;">一、立项依据 (说明本项目的目的、意义以及国内外高校现状、市场预测和发展趋势,预期达到的目标,研究的预期效果分析,成果受益面)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['ProjectBasis']">
-                        <!-- <VueEditor v-model="DetailMessage['ProjectBasis']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -205,7 +204,6 @@
                         <span>一、创客空间物理环境、制度建设及软件设施建设情况(环境优化/制度完善/设施改造)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['development']">
-                        <!-- <VueEditor v-model="DetailMessage['development']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -214,7 +212,6 @@
                         <span>二、学生创客工作室建设情况(工作室数量及活动开展情况)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['studio']">
-                        <!-- <VueEditor v-model="DetailMessage['studio']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -223,7 +220,6 @@
                         <span>三、学生创客团队(人才)培养预期成果、数量</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['studentTeam']">
-                        <!-- <VueEditor v-model="DetailMessage['studentTeam']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -232,7 +228,6 @@
                         <span>四、学生创客活动组织实施情况</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['studentActivities']">
-                        <!-- <VueEditor v-model="DetailMessage['studentActivities']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -241,7 +236,6 @@
                         <span>五、学生创客团队孵化、转化创业项目情况</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['Transforming']">
-                        <!-- <VueEditor v-model="DetailMessage['Transforming']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -254,7 +248,6 @@
                         <span>一、基础条件(物理环境/设备设施/项目实施/活动开展/技术力量/社会资源)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['condition']">
-                        <!-- <VueEditor v-model="DetailMessage['condition']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
             </div>
@@ -310,7 +303,7 @@
                                       <i class="el-icon-date"></i>
                                       活动开展时间
                                     </template>
-                                    {{ JSON.parse(item.begin_at)[0]+"\t至\t"+JSON.parse(item.begin_at)[1] }}
+                                    {{ JSON.parse(item.begin_at)[0].split(' ')[0]+"\t至\t"+JSON.parse(item.begin_at)[1].split(" ")[0] }}
                                   </el-descriptions-item>
                                   <el-descriptions-item>
                                     <template slot="label">
@@ -340,7 +333,7 @@
                                   border
                                   style="width: 100%">
                                   <el-table-column
-                                    prop="Name"
+                                    prop="name"
                                     label="姓名"
                                     align="center">
                                   </el-table-column>
@@ -350,45 +343,38 @@
                                     align="center">
                                   </el-table-column>
                                   <el-table-column
-                                    prop="takeCharge"
+                                    prop="collage"
                                     align="center"
                                     label="活动分工">
                                   </el-table-column>
                                 </el-table>
                             </div>
-                            <div class="brief_title MarginTop30px">
+                            <!-- <div class="brief_title MarginTop30px">
                                 <img src="@/assets/anliDetail/proOverTwo.png" alt="">
                                 <span>活动简介</span>
                             </div>
-                            <div class="TextView" v-text="item.brief">
-                                <!-- {{ item.brief }} -->
-                            </div>
+                            <div class="TextView" v-text="item.brief"></div> -->
 
                             <div class="brief_title MarginTop30px">
                                 <!-- <img src="@/assets/anliDetail/jdTitle.png" alt=""> -->
                                 <i class="el-icon-edit-outline"></i>
                                 <span>活动计划</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[0]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[0]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters)['activityPlan']">
                             </div>
 
                             <div class="brief_title MarginTop30px">
-                                <!-- <img src="@/assets/anliDetail/jdTitle.png" alt=""> -->
                                 <i class="el-icon-data-line"></i>
                                 <span>预期目标</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[1]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[1]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters)['expectations']">
                             </div>
 
                             <div class="brief_title MarginTop30px">
-                                <!-- <img src="@/assets/anliDetail/jdTitle.png" alt=""> -->
                                 <i class="el-icon-pie-chart"></i>
                                 <span>活动受面</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[2]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[2]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters)['eventAudience']">
                             </div>
 
                             <div class="brief_title MarginTop30px">
@@ -396,8 +382,7 @@
                                 <i class="el-icon-money"></i>
                                 <span>经费支出计划</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[3]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[3]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters)['fundingPlan']">
                             </div>
                             <div class="brief_title MarginTop30px" v-if="ActivityLookFile[index].url!=''">
                                 <img src="@/assets/anliDetail/jdTitle.png" alt="">
@@ -441,7 +426,7 @@
             </div>
             <!-- 活动开展结束 -->
             <!-- 项目附件开始 -->
-            <div class="BaseMessage" v-show="pageState==3">
+            <!-- <div class="BaseMessage" v-show="pageState==3">
                 <div class="BaseTitle" type="3">
                     <span>项目附件</span>
                 </div>
@@ -473,8 +458,8 @@
                         </div>
                     </div>
                 </div>
-                </div>
-
+                </div> -->
+            <!-- 项目附件结束 -->
             <!-- 项目中期报告开始 -->
             <div class="BaseMessage" v-show="pageState==4">
                 
@@ -565,22 +550,27 @@
                     this.TitleMessage['student'] = JSON.parse(this.TitleMessage['student']);
                     //项目详细
                     this.DetailMessage = JSON.parse(FormData[1][0]['chapters']);
-                    this.ProjectFile = JSON.parse(FormData[2][0]['projectFile'])
+                    // //项目附件
+                    // this.ProjectFile = JSON.parse(FormData[2][0]['projectFile'])
                     if(this.ProjectFile!=null)this.ProjectLookFile = this.ProjectFile[0] 
                     else this.ProjectLookFile = {url:'',type:""};
-                    this.ProjectEndFile = JSON.parse(FormData[3][0]['endFile']);
-                    if(this.ProjectEndFile!=null)this.ProjectEndLookFile = this.ProjectEndFile[0];
+                    //项目结题附件
+                    this.ProjectEndFile = FormData[3][0]['endFile']!=''?JSON.parse(FormData[3][0]['endFile']):'';
+                    if(this.ProjectEndFile!=null && this.ProjectEndFile!='')this.ProjectEndLookFile = this.ProjectEndFile[0];
                     else this.ProjectEndLookFile = {url:"",type:""}
+                    console.log(FormData[4][0]);
+                    
                     if(FormData[4][0]['title']!=null){
                         this.AllActivity = FormData[4]
                         this.AllActivity.forEach(item=>{
                             if(item['reportFile']!=null&&item['reportFile']!=''){
                                 item['reportFile'] = JSON.parse(item['reportFile']);
-                                this.ActivityLookFile.push({url:item['reportFile'][0].url,fileName:item['reportFile'][0].fileName})
+                                if(item['reportFile'].length!=0)this.ActivityLookFile.push({url:item['reportFile'][0].url,fileName:item['reportFile'][0].fileName})
+                                else this.ActivityLookFile.push({url:"",type:""})
                             }else this.ActivityLookFile.push({url:"",type:""})
                         })
                     };
-                    if(JSON.parse(FormData[5][0]['endProjectRemark'])!=null)this.endProjectRemark = JSON.parse(FormData[5][0]['endProjectRemark']);
+                    // if(JSON.parse(FormData[5][0]['endProjectRemark'])!=null)this.endProjectRemark = JSON.parse(FormData[5][0]['endProjectRemark']);
                     this.loading = false;
                 }).catch(err=>{
                     console.log(err)

+ 71 - 52
src/views/resultShow/components/resultDetail_student.vue

@@ -1,11 +1,9 @@
 <template>
     <!-- 成果展示 项目成果展示 -->
-    <div class="rs1apply" v-loading="loading">
+    <div class="rs1apply">
         <!-- 头部展示区开始 -->
         <div class="header">
-            <div class="imgBlock">
-                <img :src="TitleMessage.image" alt="">
-            </div>
+
             <div class="headerConcent">
                 <div class="rsHead1Tit">项目名称:<span>{{ TitleMessage.title }}</span></div>
                 <div class="rsHead2Tit rsHead3Tit">
@@ -48,10 +46,10 @@
                 <i class="iconStyle iconfont icon-jiegou" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>活动开展</span>
             </div>
-            <div  class="navLi" @click="pageState=3">
+            <!-- <div  class="navLi" @click="pageState=3">
                 <i class="iconStyle iconfont icon-wenjian" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>项目附件</span>
-            </div>
+            </div> -->
             <div  class="navLi" @click="pageState=4">
                 <i class="iconStyle iconfont icon-baogao" style="color:#58c2fe;font-size:22px;margin-right: 7px;"></i>
                 <span>项目结题报告</span>
@@ -82,10 +80,10 @@
                     </div>
                     <el-descriptions style="width: 100%;" :column="2" border>
                         <el-descriptions-item label="优先支持项目">
-                            {{ TitleMessage.multiSelectProject.indexOf(0)!=-1?'大赛选拔项目':'' }}
-                            {{ TitleMessage.multiSelectProject.indexOf(1)!=-1?'落地注册项目':'' }}
-                            {{ TitleMessage.multiSelectProject.indexOf(2)!=-1?'社会征集项目':'' }}
-                            {{ TitleMessage.multiSelectProject.indexOf(3)!=-1?'产业命题项目':'' }}
+                            {{ TitleMessage.multiSelectProject.indexOf('0')!=-1?'大赛选拔项目':'' }}
+                            {{ TitleMessage.multiSelectProject.indexOf('1')!=-1?'落地注册项目':'' }}
+                            {{ TitleMessage.multiSelectProject.indexOf('2')!=-1?'社会征集项目':'' }}
+                            {{ TitleMessage.multiSelectProject.indexOf('3')!=-1?'产业命题项目':'' }}
 
                         </el-descriptions-item>
                         <el-descriptions-item label="美丽校园改造项目">
@@ -114,12 +112,12 @@
                             align="center">
                           </el-table-column>
                           <el-table-column
-                            prop="class"
+                            prop="collage"
                             label="所在学院/部门/专业"
                             align="center">
                           </el-table-column>
                           <el-table-column
-                            prop="division"
+                            prop="work"
                             label="项目组角色分工"
                             align="center">
                           </el-table-column>
@@ -144,12 +142,12 @@
                             align="center">
                           </el-table-column>
                           <el-table-column
-                            prop="class"
+                            prop="collage"
                             label="所在学院/部门/专业"
                             align="center">
                           </el-table-column>
                           <el-table-column
-                            prop="division"
+                            prop="work"
                             label="项目组角色分工"
                             align="center">
                           </el-table-column>                        
@@ -162,12 +160,14 @@
                         <img src="@/assets/anliDetail/jdTitle.png" alt="">
                         <span>简介</span>
                     </div>
-                    <div class="TextView" v-text="TitleMessage.brief">
-                        <!-- {{ TitleMessage.brief }} -->
+                    <div class="TextView" style="display: block;">
+                        {{ TitleMessage.brief }}
                     </div>
                 </div>
             </div>
             <!--基础信息结束-->
+
+
             <!--项目详细开始-->
             <div class="BaseMessage" v-show="pageState==1">
                 <div class="BaseTitle" type="1">
@@ -180,7 +180,6 @@
                         <span>一、项目研发背景</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['back']">
-                        <!-- <VueEditor v-model="DetailMessage['back']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -190,7 +189,6 @@
                         <span>二、项目创新点</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['innovate']">
-                        <!-- <VueEditor v-model="DetailMessage['innovate']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -200,7 +198,6 @@
                         <span>三、技术研发路线</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['path']">
-                        <!-- <VueEditor v-model="DetailMessage['path']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -210,7 +207,6 @@
                         <span>四、项目应用场景</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['scene']">
-                        <!-- <VueEditor v-model="DetailMessage['scene']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -223,7 +219,6 @@
                         <span>一、项目商业模式/社会价值</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['worth']">
-                        <!-- <VueEditor v-model="DetailMessage['worth']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -236,7 +231,6 @@
                         <span>一、团队构成及优势</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['team']">
-                        <!-- <VueEditor v-model="DetailMessage['team']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -249,7 +243,6 @@
                         <span>一、研发成本来源及构成</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['cost']">
-                        <!-- <VueEditor v-model="DetailMessage['cost']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
 
@@ -262,7 +255,6 @@
                         <span>一、项目预期成果、数量及形式(产品原型/发明专利/双创竞赛/成果转化/社会效益)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['expectResults']">
-                        <!-- <VueEditor v-model="DetailMessage['expectResults']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -271,7 +263,6 @@
                         <span>二、学生创客人才培养预期成果、数量(教师填写)</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['expectResultsTeacher']">
-                        <!-- <VueEditor v-model="DetailMessage['expectResultsTeacher']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="brief">
@@ -280,7 +271,6 @@
                         <span>三、项目预期孵化、转化创业项目情况</span>
                     </div>
                     <div class="TextView" v-text="DetailMessage['expectConversion']">
-                        <!-- <VueEditor v-model="DetailMessage['expectConversion']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
                 <div class="BaseTitle" type="1">
@@ -292,7 +282,6 @@
                         <span>三、项目预期孵化、转化创业项目情况</span>
                     </div> -->
                     <div class="TextView" v-text="DetailMessage['plan']">
-                        <!-- <VueEditor v-model="DetailMessage['plan']" :disabled="true"></VueEditor> -->
                     </div>
                 </div>
             </div>
@@ -304,7 +293,7 @@
                     <span>活动开展</span>
                 </div>
 
-                <div class="arrangement" v-for="(item,index) in AllActivity" :key="item.acId">
+                <div class="arrangement" v-for="(item,index) in AllActivity" :key="index">
                     <div class="arrangement_assignment">
                         <div class="arrangement_assignment_title">
                             <span>
@@ -378,7 +367,7 @@
                                   border
                                   style="width: 100%">
                                   <el-table-column
-                                    prop="Name"
+                                    prop="name"
                                     label="姓名"
                                     align="center">
                                   </el-table-column>
@@ -388,27 +377,25 @@
                                     align="center">
                                   </el-table-column>
                                   <el-table-column
-                                    prop="takeCharge"
+                                    prop="work"
                                     align="center"
                                     label="活动分工">
                                   </el-table-column>
                                 </el-table>
                             </div>
-                            <div class="brief_title MarginTop30px">
+                            <!-- <div class="brief_title MarginTop30px">
                                 <img src="@/assets/anliDetail/proOverTwo.png" alt="">
                                 <span>活动简介</span>
-                            </div>
-                            <div class="TextView" v-text="item.brief">
-                                <!-- {{ item.brief }} -->
-                            </div>
+                            </div> -->
+                            <!-- <div class="TextView" v-text="item.brief"> -->
+                            <!-- </div> -->
 
                             <div class="brief_title MarginTop30px">
                                 <!-- <img src="@/assets/anliDetail/jdTitle.png" alt=""> -->
                                 <i class="el-icon-edit-outline"></i>
                                 <span>活动计划</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[0]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[0]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters).activityPlan">
                             </div>
 
                             <div class="brief_title MarginTop30px">
@@ -416,8 +403,7 @@
                                 <i class="el-icon-data-line"></i>
                                 <span>预期目标</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[1]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[1]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters).expectations">
                             </div>
 
                             <div class="brief_title MarginTop30px">
@@ -425,8 +411,7 @@
                                 <i class="el-icon-pie-chart"></i>
                                 <span>活动受面</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[2]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[2]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters).eventAudience">
                             </div>
 
                             <div class="brief_title MarginTop30px">
@@ -434,8 +419,7 @@
                                 <i class="el-icon-money"></i>
                                 <span>经费支出计划</span>
                             </div>
-                            <div class="TextView" v-text="JSON.parse(item.chapters)[3]">
-                                <!-- <VueEditor v-model="JSON.parse(item.chapters)[3]" :disabled="true"></VueEditor> -->
+                            <div class="TextView" v-text="JSON.parse(item.chapters).fundingPlan">
                             </div>
                             <div class="brief_title MarginTop30px" v-if="ActivityLookFile[index].url!=''">
                                 <img src="@/assets/anliDetail/jdTitle.png" alt="">
@@ -479,7 +463,7 @@
             </div>
             <!-- 活动开展结束 -->
             <!-- 项目附件开始 -->
-            <div class="BaseMessage" v-show="pageState==3">
+            <!-- <div class="BaseMessage" v-show="pageState==3">
                 <div class="BaseTitle" type="3">
                     <span>项目附件</span>
                 </div>
@@ -511,7 +495,7 @@
                         </div>
                     </div>
                 </div>
-                </div>
+                </div> -->
 
             <!-- 项目中期报告开始 -->
             <div class="BaseMessage" v-show="pageState==4">
@@ -630,6 +614,8 @@
                     pid:this.$route.query["pid"]
                 }).then(res=>{
                     let FormData = res.data;
+
+                console.log(FormData);
                 //    return console.log(FormData)
                 //     //头部信息
                     this.TitleMessage = FormData[0][0]
@@ -640,23 +626,54 @@
                     this.TitleMessage['student'] = JSON.parse(this.TitleMessage['student'])
                     this.TitleMessage['multiSelectProject']=JSON.parse(this.TitleMessage['multiSelectProject'])
                     console.log(this.TitleMessage['multiSelectProject']);
+
                     this.DetailMessage= JSON.parse(FormData[1][0]['chapters']);
-                    this.ProjectFile = JSON.parse(FormData[2][0]['projectFile'])
-                    if(this.ProjectFile!=null)this.ProjectLookFile = this.ProjectFile[0] 
-                    else this.ProjectLookFile = {url:'',type:""};
-                    this.ProjectEndFile = JSON.parse(FormData[3][0]['endFile']);
-                    if(this.ProjectEndFile!=null)this.ProjectEndLookFile = this.ProjectEndFile[0];
+                //      // //项目附件
+                //     this.ProjectFile = JSON.parse(FormData[2][0]['projectFile'])
+                //     if(this.ProjectFile!=null)this.ProjectLookFile = this.ProjectFile[0] 
+                //     else this.ProjectLookFile = {url:'',type:""};
+
+                //     //项目结题附件
+                //     console.log(JSON.parse(FormData[3][0]['endFile']));
+                //     this.ProjectEndFile = JSON.parse(FormData[3][0]['endFile']!=''?JSON.parse(FormData[3][0]['endFile']):'');
+                //     if(this.ProjectEndFile!=null && this.ProjectEndFile.length!=0) this.ProjectEndLookFile = this.ProjectEndFile[0];
+                //     else this.ProjectEndLookFile = {url:"",type:""}
+                //     console.log(111);
+
+                //     if(FormData[4][0]['title']!=null){
+                //         this.AllActivity = FormData[4]
+                //         this.AllActivity.forEach(item=>{
+                //             if(item['reportFile']!=null&&item['reportFile']!=''){
+                //                 item['reportFile'] = JSON.parse(item['reportFile']);
+                //                 if(item['reportFile'].length!=0)  this.ActivityLookFile.push({url:item['reportFile'][0].url,fileName:item['reportFile'][0].fileName})
+                //                 else this.ActivityLookFile.push({url:"",type:""})
+                //             }else this.ActivityLookFile.push({url:"",type:""})
+                //         })
+                //     };
+                //     // if(JSON.parse(FormData[5][0]['endProjectRemark'])!=null)this.endProjectRemark = JSON.parse(FormData[5][0]['endProjectRemark']);
+                //    this.loading = false;
+
+                    //项目附件
+                    // this.ProjectFile = JSON.parse(FormData[2][0]['projectFile'])
+                    // if(this.ProjectFile!=null)this.ProjectLookFile = this.ProjectFile[0] 
+                    // else this.ProjectLookFile = {url:'',type:""};
+                    //项目结题附件
+                    this.ProjectEndFile = FormData[3][0]['endFile']!=''?JSON.parse(FormData[3][0]['endFile']):'';
+                    if(this.ProjectEndFile!=null && this.ProjectEndFile!='')this.ProjectEndLookFile = this.ProjectEndFile[0];
                     else this.ProjectEndLookFile = {url:"",type:""}
+                    console.log(FormData[4][0]);
+                    
                     if(FormData[4][0]['title']!=null){
                         this.AllActivity = FormData[4]
                         this.AllActivity.forEach(item=>{
                             if(item['reportFile']!=null&&item['reportFile']!=''){
                                 item['reportFile'] = JSON.parse(item['reportFile']);
-                                this.ActivityLookFile.push({url:item['reportFile'][0].url,fileName:item['reportFile'][0].fileName})
+                                if(item['reportFile'].length!=0)this.ActivityLookFile.push({url:item['reportFile'][0].url,fileName:item['reportFile'][0].fileName})
+                                else this.ActivityLookFile.push({url:"",type:""})
                             }else this.ActivityLookFile.push({url:"",type:""})
                         })
                     };
-                    if(JSON.parse(FormData[5][0]['endProjectRemark'])!=null)this.endProjectRemark = JSON.parse(FormData[5][0]['endProjectRemark']);
+                    // if(JSON.parse(FormData[5][0]['endProjectRemark'])!=null)this.endProjectRemark = JSON.parse(FormData[5][0]['endProjectRemark']);
                     this.loading = false;
                 }).catch(err=>{
                     console.log(err)
@@ -867,6 +884,8 @@
             border-radius: 5px;
             background-color: rgb(240, 240, 240);
             line-height: 2em;
+            word-wrap: break-word;
+            word-break: break-all;
         }
         .FileView{
             width: 100%;

+ 103 - 13
src/views/resultShow/resultsShow.vue

@@ -74,15 +74,114 @@
       </div>
       </div>
       <div class="ProjectManagementQuery">
-        <el-input v-model="input" @change="getData" style="width:240px" placeholder="请输入内容"></el-input>
+        <el-input v-model="input" style="width:240px" placeholder="请输入项目名称/编号"></el-input>
         <el-button type="primary" class="btn" @click="getData" size="mini">查询</el-button>
       </div>
     </div>
     <!-- 搜索栏结束 -->
     
-    
+    <!-- 表格开始 -->
+    <div>
+      <el-table
+        ref="multipleTable"
+        :data="items"
+        tooltip-effect="dark"
+        stripe
+        class="fontSize"
+        :header-cell-style="{ background: '#f2f2f2',color:'#000' }">
+        <el-table-column
+          prop="ProjectNo"
+          label="项目编号"
+          align="center"
+          min-width="9%">
+        </el-table-column>
+        <el-table-column
+          prop="title"
+          label="项目名称"
+          align="center"
+          min-width="10%">
+        </el-table-column>
+        <el-table-column
+          prop="pro_leader"
+          align="center"
+          label="项目负责人"
+          min-width="9%">
+        </el-table-column>
+
+        <el-table-column
+          prop="dName"
+          align="center"
+          label="所在部门"
+          min-width="10%">
+          
+        </el-table-column>
+        <el-table-column
+          prop="tName"
+          align="center"
+          label="分类"
+          min-width="10%">
+        </el-table-column>
+        <el-table-column
+          prop="fund"
+          label="预算(万)"
+          align="center"
+          min-width="8%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.fund/10000 }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="startTime"
+          align="center"
+          label="开始时间"
+          min-width="9%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.startTime }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="endTime"
+          label="结项时间"
+          align="center"
+          min-width="9%">
+          <template #default="scope">
+                <div>
+                  {{ scope.row.endTime}}
+                </div>
+            </template>
+        </el-table-column>
+        <el-table-column
+          prop="phone"
+          align="center"
+          label="联系电话"
+          min-width="10%">
+          <template #default="scope">
+            <div>
+              {{ scope.row.phone!=null||scope.row.phone==''?scope.row.phone:"-" }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          prop="operation"
+          width="200"
+          align="center"
+          label="操作"
+          >
+          <template #default="scope">
+              <div class="operations">
+                <el-button type="primary" @click="rsBtn(scope.row['courseId'],scope.row['typeid'])">成果展示</el-button>
+              </div>
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+<!-- 表格结束 -->
     <!-- 循环展示框列表开始 -->
-    <div class="classBlocks core_dialogue">
+    <!-- <div class="classBlocks core_dialogue">
       <div class="classBlock" v-for="(item,index) in items" :key="index">
         <div class="projectBlockPosition">
           已结题
@@ -103,7 +202,7 @@
               <el-button type="primary" class="bt1" size="mini" @click="rsBtn(item['courseId'],item['typeid'])">项目成果展示</el-button>
         </div>
       </div>
-    </div>
+    </div> -->
     <!-- 展示框列表结束 -->
 
 
@@ -204,15 +303,6 @@
         }
      
       },
-      watch:{
-          input:{
-              handler(){
-                immediate:true
-                deep:true
-                this.getData()
-              }
-          }
-      },
       mounted(){
         this.getData();
       }

Неке датотеке нису приказане због велике количине промена