zengyicheng 1 ano atrás
pai
commit
961d3c930a
47 arquivos alterados com 1205 adições e 859 exclusões
  1. 0 0
      dist/css/346.4e40cf88.css
  2. 0 0
      dist/css/37.22c1d873.css
  3. 0 0
      dist/css/372.56c97ba9.css
  4. 0 0
      dist/css/650.3474eec7.css
  5. 0 0
      dist/css/794.4bd44906.css
  6. 0 0
      dist/css/832.2a38462b.css
  7. 0 0
      dist/css/946.09bca31f.css
  8. 1 1
      dist/index.html
  9. 0 0
      dist/js/125.71838efd.js
  10. 0 0
      dist/js/125.71838efd.js.map
  11. 0 0
      dist/js/255.fa8e329a.js.map
  12. 0 0
      dist/js/346.b3234279.js
  13. 0 0
      dist/js/346.b3234279.js.map
  14. 0 0
      dist/js/37.b2439f69.js
  15. 0 0
      dist/js/37.b2439f69.js.map
  16. 0 0
      dist/js/372.ab335924.js
  17. 0 0
      dist/js/372.ab335924.js.map
  18. 0 0
      dist/js/384.38dbef2b.js
  19. 0 0
      dist/js/384.38dbef2b.js.map
  20. 0 0
      dist/js/525.b96fab1e.js.map
  21. 0 0
      dist/js/650.eb9e93e8.js
  22. 0 0
      dist/js/650.eb9e93e8.js.map
  23. 0 0
      dist/js/748.3a048cc1.js.map
  24. 0 0
      dist/js/794.f82be33f.js
  25. 0 0
      dist/js/794.f82be33f.js.map
  26. 0 0
      dist/js/817.34acc8ad.js
  27. 0 0
      dist/js/817.34acc8ad.js.map
  28. 0 0
      dist/js/832.c6a59747.js
  29. 0 0
      dist/js/832.c6a59747.js.map
  30. 0 0
      dist/js/848.5d6fb8e4.js
  31. 0 0
      dist/js/848.5d6fb8e4.js.map
  32. 0 0
      dist/js/869.2186401a.js
  33. 0 0
      dist/js/869.2186401a.js.map
  34. 0 0
      dist/js/946.4b07d4e9.js
  35. 0 0
      dist/js/946.4b07d4e9.js.map
  36. 0 0
      dist/js/991.fed4406b.js
  37. 0 0
      dist/js/991.fed4406b.js.map
  38. 0 0
      dist/js/app.98fadb57.js
  39. 0 0
      dist/js/app.98fadb57.js.map
  40. 0 0
      dist/js/app.ebb2eaee.js
  41. 928 699
      src/components/markerFundWord.vue
  42. 29 31
      src/views/projectApply/MakerSpaceApply.vue
  43. 18 18
      src/views/projectApply/components/studentProjectWordDetail.vue
  44. 1 1
      src/views/projectApply/newStudentProjectApply.vue
  45. 1 1
      src/views/projectManage/ProjectManagement.vue
  46. 38 47
      src/views/projectManage/components/Closingstatement.vue
  47. 189 61
      src/views/projectSettlement/components/projectSettlementBook.vue

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/css/346.4e40cf88.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/css/37.22c1d873.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/css/372.56c97ba9.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/css/650.3474eec7.css


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/css/794.4bd44906.css


+ 0 - 0
dist/css/869.2a38462b.css → dist/css/832.2a38462b.css


+ 0 - 0
dist/css/748.09bca31f.css → dist/css/946.09bca31f.css


+ 1 - 1
dist/index.html

@@ -1 +1 @@
-<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>双创学院管理系统</title><script defer="defer" src="/js/chunk-vendors.c0eb00f6.js"></script><script defer="defer" src="/js/app.ebb2eaee.js"></script><link href="/css/chunk-vendors.0225060a.css" rel="stylesheet"><link href="/css/app.878f2d55.css" rel="stylesheet"></head><body><div id="app"></div></body></html>
+<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>双创学院管理系统</title><script defer="defer" src="/js/chunk-vendors.c0eb00f6.js"></script><script defer="defer" src="/js/app.98fadb57.js"></script><link href="/css/chunk-vendors.0225060a.css" rel="stylesheet"><link href="/css/app.878f2d55.css" rel="stylesheet"></head><body><div id="app"></div></body></html>

Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/125.71838efd.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/125.71838efd.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/255.fa8e329a.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/346.b3234279.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/346.b3234279.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/37.b2439f69.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/37.b2439f69.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/372.ab335924.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/372.ab335924.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/384.38dbef2b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/384.38dbef2b.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/525.b96fab1e.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/650.eb9e93e8.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/650.eb9e93e8.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/748.3a048cc1.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/794.f82be33f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/794.f82be33f.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/817.34acc8ad.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/817.34acc8ad.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/832.c6a59747.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/832.c6a59747.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/848.5d6fb8e4.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/848.5d6fb8e4.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/869.2186401a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/869.2186401a.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/946.4b07d4e9.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/946.4b07d4e9.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/991.fed4406b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/991.fed4406b.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/app.98fadb57.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/app.98fadb57.js.map


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 0
dist/js/app.ebb2eaee.js


+ 928 - 699
src/components/markerFundWord.vue

@@ -1,332 +1,453 @@
 <template>
-    <div id="markerFundWord">
-        <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" cellpadding="0">
-            <tr>
-                <td colspan="4">项目名称</td><td colspan="13">
-                    <el-input
-                        type="textarea"
-                        autosize
-                        resize="none"
-                        placeholder="请输入项目名称"
-                        v-model="wordData['projectName']">
-                    </el-input>
-                </td>
-            </tr>
-            <tr>
-                <td colspan="4">项目负责人</td><td colspan="3">
-                    <el-input
-                        type="textarea"
-                        autosize
-                        resize="none"
-                        placeholder="请输入负责人"
-                        v-model="wordData['pro_leader']">
-                    </el-input>
-                </td><td colspan="2">所在部门</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>
-                    <!-- <el-input
+  <div id="markerFundWord">
+    <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" cellpadding="0">
+      <tr>
+        <td colspan="4">项目名称</td>
+        <td colspan="13">
+          <el-input
+            type="textarea"
+            autosize
+            resize="none"
+            placeholder="请输入项目名称"
+            v-model="wordData['projectName']"
+          >
+          </el-input>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="4">项目负责人</td>
+        <td colspan="3">
+          <el-input
+            type="textarea"
+            autosize
+            resize="none"
+            placeholder="请输入负责人"
+            v-model="wordData['pro_leader']"
+          >
+          </el-input>
+        </td>
+        <td colspan="2">所在部门</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>
+          <!-- <el-input
                         type="textarea"
                         autosize
                         resize="none"
                         placeholder="请输入所在部门"
                         v-model="input">
                     </el-input> -->
-                </td><td colspan="2">联系电话</td><td colspan="3">
-                    <el-input
-                        type="textarea"
-                        autosize
-                        resize="none"
-                        placeholder="请输入联系电话"
-                        v-model="input">
-                    </el-input>
-                </td>
-            </tr>
-            <tr>
-                <td colspan="4">项目起始时间</td>
-                <td colspan="5">
-                  <el-date-picker
-                    v-model="wordData.endTime"
-                    type="date"
-                    placeholder="请选择项目计划完成时间"
-                    prefix-icon="none"
-                    value-format="yyyy-MM-dd HH:mm:ss">
-                  </el-date-picker>
-                </td>
-                <td colspan="3">计划完成时间</td><td colspan="5">
-                  <el-date-picker
-                    v-model="wordData.endTime"
-                    type="date"
-                    placeholder="请选择活动时间"
-                    prefix-icon="none"
-                    value-format="yyyy-MM-dd HH:mm:ss">
-                  </el-date-picker>
-                </td>
-            </tr>
-            <tr>
-                <td colspan="4">项目组人数</td><td colspan="3" v-text="wordData['member'].length"></td>
-                <td colspan="2">参与学生人数</td><td colspan="3">
-                  <el-input
-                    type="textarea"
-                    autosize
-                    resize="none"
-                    placeholder="请输入学生人数"
-                    v-model="wordData['student']">
-                  </el-input>
-                </td>
-                <td colspan="2">预算总经费</td><td colspan="3">{{ wordData['fund']['total'] }}元</td>
-            </tr>
-            <tr>
-                <td colspan="2" :rowspan="wordData['member'].length+1"><p>项</p> <p>目</p> <p>组</p> <p>成</p> <p>员</p></td><td colspan="2">姓名</td><td colspan="3">工作单位/部门</td><td colspan="10">项目分工</td>
-            </tr>
-            <tr style="position: relative;" v-for="(item,index) in wordData.member" :key="index">
-                <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 v-if="wordData['member'].length-1==index" @click="addPerson" type="primary" size="mini">+</el-button>
-                  <el-button @click="DelPerson(index)" type="primary" size="mini">-</el-button>
-                </div>
-            </tr>
-            <tr class="textLeft">
-                <td colspan="2" rowspan="2"><p>项目</p><br> <p>内容</p></td><td style="text-align: left;" colspan="15">
-                    <p>一、项目简介</p>
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      style="width: 100%;"
-                      resize="none"
-                      v-model="wordData['brief']">
-                    </el-input>
-                </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="wordData['innovate']">
-                    </el-input>
-                </td>
-            </tr>
-            <tr class="textLeft">
-                <td colspan="2" rowspan="3"><p>预期</p><br><p>取得</p> <br><p>成果</p></td><td colspan="15" style="text-align: left;">
-                  <p>一、项目预期成果、数量及形式</p>
-                    <el-input
-                      type="textarea"
-                      :rows="6"
-                      style="width: 100%;"
-                      resize="none"
-                      v-model="wordData['expected']">
-                    </el-input>
-                </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="wordData['culture']">
-                    </el-input>
-                  </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="wordData['incubate']">
-                    </el-input>
-                  </td>
-            </tr>
-            <tr class="textLeft">
-                <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['ImplementationPlan']">
-                    </el-input>
-                </td>
-            </tr>
-            <tr>
-                <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" >{{wordData['fund']['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 12" :key="index+'a'" style="border-left: none;">
-                  <el-input
-                    type="number"
-                    autosize
-                    style="width: 100%;"
-                    resize="none"
-                    v-model.number="input">
-                  </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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="小型仪器设备费"
-                      v-model.number="wordData['fund']['device']"
-                      @change="convertNumber('device',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="材料费"
-                      v-model.number="wordData['fund']['Material']"
-                      @change="convertNumber('Material',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="测试化验加工费"
-                      v-model.number="wordData['fund']['processing']"
-                      @change="convertNumber('processing',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="项目协作费"
-                      v-model.number="wordData['fund']['Collaboration']"
-                      @change="convertNumber('Collaboration',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="项目成果鉴定费"
-                      v-model.number="wordData['fund']['APPRAISAL']"
-                      @change="convertNumber('APPRAISAL',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="参展参赛费"
-                      v-model.number="wordData['fund']['entery']"
-                      @change="convertNumber('entery',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="创客交流活动费"
-                      v-model.number="wordData['fund']['activities']"
-                      @change="convertNumber('activities',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="textarea"
-                      autosize
-                      resize="none"
-                      placeholder="知识产权事务费"
-                      v-model.number="wordData['fund']['Transaction']"
-                      @change="convertNumber('Transaction',wordData['fund']['Transaction'])">
-                    </el-input>
-              </td>
-              <td colspan="5">论文版面费、专利及其他知识产权事务等费用。</td>
-            </tr>
-            <!-- <tr v-for="(item,index) in 5" :key="index">
+        </td>
+        <td colspan="2">联系电话</td>
+        <td colspan="3">
+          <el-input
+            type="textarea"
+            autosize
+            resize="none"
+            placeholder="请输入联系电话"
+            v-model="input"
+          >
+          </el-input>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="4">项目起始时间</td>
+        <td colspan="5">
+          <el-date-picker
+            v-model="wordData.endTime"
+            type="date"
+            placeholder="请选择项目计划完成时间"
+            prefix-icon="none"
+            value-format="yyyy-MM-dd HH:mm:ss"
+          >
+          </el-date-picker>
+        </td>
+        <td colspan="3">计划完成时间</td>
+        <td colspan="5">
+          <el-date-picker
+            v-model="wordData.endTime"
+            type="date"
+            placeholder="请选择活动时间"
+            prefix-icon="none"
+            value-format="yyyy-MM-dd HH:mm:ss"
+          >
+          </el-date-picker>
+        </td>
+      </tr>
+      <tr>
+        <td colspan="4">项目组人数</td>
+        <td colspan="3" v-text="wordData['member'].length"></td>
+        <td colspan="2">参与学生人数</td>
+        <td colspan="3">
+          <el-input
+            type="textarea"
+            autosize
+            resize="none"
+            placeholder="请输入学生人数"
+            v-model="wordData['student']"
+          >
+          </el-input>
+        </td>
+        <td colspan="2">预算总经费</td>
+        <td colspan="3">{{ wordData["fund"]["total"] }}元</td>
+      </tr>
+      <tr>
+        <td colspan="2" :rowspan="wordData['member'].length + 1">
+          <p>项</p>
+          <p>目</p>
+          <p>组</p>
+          <p>成</p>
+          <p>员</p>
+        </td>
+        <td colspan="2">姓名</td>
+        <td colspan="3">工作单位/部门</td>
+        <td colspan="10">项目分工</td>
+      </tr>
+      <tr
+        style="position: relative"
+        v-for="(item, index) in wordData.member"
+        :key="index"
+      >
+        <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
+            v-if="wordData['member'].length - 1 == index"
+            @click="addPerson"
+            type="primary"
+            size="mini"
+            >+</el-button
+          >
+          <el-button @click="DelPerson(index)" type="primary" size="mini"
+            >-</el-button
+          >
+        </div>
+      </tr>
+      <tr class="textLeft">
+        <td colspan="2" rowspan="2">
+          <p>项目</p>
+          <br />
+          <p>内容</p>
+        </td>
+        <td style="text-align: left" colspan="15">
+          <p>一、项目简介</p>
+          <el-input
+            type="textarea"
+            :rows="6"
+            style="width: 100%"
+            resize="none"
+            v-model="wordData['brief']"
+          >
+          </el-input>
+        </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="wordData['innovate']"
+          >
+          </el-input>
+        </td>
+      </tr>
+      <tr class="textLeft">
+        <td colspan="2" rowspan="3">
+          <p>预期</p>
+          <br />
+          <p>取得</p>
+          <br />
+          <p>成果</p>
+        </td>
+        <td colspan="15" style="text-align: left">
+          <p>一、项目预期成果、数量及形式</p>
+          <el-input
+            type="textarea"
+            :rows="6"
+            style="width: 100%"
+            resize="none"
+            v-model="wordData['expected']"
+          >
+          </el-input>
+        </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="wordData['culture']"
+          >
+          </el-input>
+        </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="wordData['incubate']"
+          >
+          </el-input>
+        </td>
+      </tr>
+      <tr class="textLeft">
+        <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['ImplementationPlan']"
+          >
+          </el-input>
+        </td>
+      </tr>
+      <tr>
+        <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">{{ wordData["fund"]["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 12"
+          :key="index + 'a'"
+          style="border-left: none"
+        >
+          <el-input
+            type="number"
+            autosize
+            style="width: 100%"
+            resize="none"
+            v-model.number="input"
+          >
+          </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="textarea"
+            autosize
+            resize="none"
+            placeholder="小型仪器设备费"
+            v-model.number="wordData['fund']['device']"
+            @change="convertNumber('device', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="材料费"
+            v-model.number="wordData['fund']['Material']"
+            @change="convertNumber('Material', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="测试化验加工费"
+            v-model.number="wordData['fund']['processing']"
+            @change="
+              convertNumber('processing', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="项目协作费"
+            v-model.number="wordData['fund']['Collaboration']"
+            @change="
+              convertNumber('Collaboration', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="项目成果鉴定费"
+            v-model.number="wordData['fund']['APPRAISAL']"
+            @change="convertNumber('APPRAISAL', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="参展参赛费"
+            v-model.number="wordData['fund']['entery']"
+            @change="convertNumber('entery', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="创客交流活动费"
+            v-model.number="wordData['fund']['activities']"
+            @change="
+              convertNumber('activities', 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="textarea"
+            autosize
+            resize="none"
+            placeholder="知识产权事务费"
+            v-model.number="wordData['fund']['Transaction']"
+            @change="
+              convertNumber('Transaction', wordData['fund']['Transaction'])
+            "
+          >
+          </el-input>
+        </td>
+        <td colspan="5">论文版面费、专利及其他知识产权事务等费用。</td>
+      </tr>
+      <!-- <tr v-for="(item,index) in 5" :key="index">
                 <td colspan="4" style="border-left: none;">
                   <el-input
                         type="textarea"
@@ -363,398 +484,506 @@
                     </td>
             </tr> -->
 
-
-            <tr>
-                <td><p>所在部</p> <p>门意见</p></td><td colspan="15">
-                  <el-input
-                      type="textarea"
-                      :rows="10"
-                      style="width: 100%;"
-                      resize="none"
-                      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><p>主管部</p> <p>门审核</p><p>意见</p></td><td colspan="15">
-                  <el-input
-                      type="textarea"
-                      :rows="10"
-                      style="width: 100%;"
-                      resize="none"
-                      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 v-for="(item,index) in 16" :key="index+'c'" style="border: none;"></td>
-            </tr>
-        </table>
-          <div class="notes">
-            <span>备注:</span>
-            <span>1、支出类别分为直接费用(小型仪器设备费、材料费、测试化验加工费、项目协作费)和间
-接费用(项目成果鉴定费、参展参赛费、创客交流活动费、知识产权事务费)。</span>
-            <span>2、如表格不够可顺延或另附页。</span>
-            <div style="width: 300px;margin: 20px auto;display: flex;justify-content: space-between;">
-                <el-button style="width: 120px;margin: 20px auto;"  type="primary">提交项目</el-button>
-                <el-button style="width: 120px;margin: 20px auto;" type="primary">下载表单</el-button>
-            </div>
+      <tr>
+        <td>
+          <p>所在部</p>
+          <p>门意见</p>
+        </td>
+        <td colspan="15">
+          <el-input
+            type="textarea"
+            :rows="10"
+            style="width: 100%"
+            resize="none"
+            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>
+          <p>主管部</p>
+          <p>门审核</p>
+          <p>意见</p>
+        </td>
+        <td colspan="15">
+          <el-input
+            type="textarea"
+            :rows="10"
+            style="width: 100%"
+            resize="none"
+            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
+          v-for="(item, index) in 16"
+          :key="index + 'c'"
+          style="border: none"
+        ></td>
+      </tr>
+    </table>
+    <div class="notes">
+      <span>备注:</span>
+      <span
+        >1、支出类别分为直接费用(小型仪器设备费、材料费、测试化验加工费、项目协作费)和间
+        接费用(项目成果鉴定费、参展参赛费、创客交流活动费、知识产权事务费)。</span
+      >
+      <span>2、如表格不够可顺延或另附页。</span>
+      <div
+        style="
+          width: 300px;
+          margin: 20px auto;
+          display: flex;
+          justify-content: space-between;
+        "
+      >
+        <el-button style="width: 120px; margin: 20px auto" type="primary"
+          >提交项目</el-button
+        >
+        <el-button style="width: 120px; margin: 20px auto" type="primary"
+          >下载表单</el-button
+        >
+      </div>
     </div>
-    </template>
+  </div>
+</template>
       
     <script>
-    import {getNowDate} from '@/components/tool/Date.js'
-    
-      export default {
-        // props:['data'],
-        data() {
-          return {
-            // teacher:[],
-            // student:[],
-            allFund:'',
-            input:"",
-            DepartmentData:[],
-    
-            wordData:{
-              applicationDate:getNowDate(1),//申请日期
-              projectName:'',//项目名称
-              pro_leader:"",//项目负责人
-              college: '',//所在学院
-              tel:'',//联系电话
-              beginTime:'',//项目起始时间
-              endTime:'',//计划完成时间
-              student:"",//学生人数
-              member:[
-                {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
-                {name:"",collage:"",work:""},
-              ],
-              brief:"",//项目简介
-              innovate:"",//创新点
-              expected:"",//项目预期成果、数量及形式
-              culture:"",//创客人才培养预期成果、数量
-              incubate:"",//项目预期孵化、转化创业项目情况
-              ImplementationPlan:"",//项目实施计划
-              fund:{
-                total:0,
-                device:"",
-                Material:"",
-                processing:"",
-                Collaboration:"",
-                APPRAISAL:"",
-                entery:"",
-                activities:"",
-                Transaction:"",
-              },//预算经费
-            }
-            //total:总经费     
-            //小型仪器设备费:device        deviceRemarks
-            //材料费:Material             MaterialRemarks
-            //测试化验加工费:processing    processingRemarks
-            //项目协作费:Collaboration     CollaborationRemarks
-            //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
-            //参展参赛费:entery            enteryRemarks
-            //创客交流活动费:activities    activitiesRemarks
-            //知识产权事务费:Transaction   TransactionRemarks
-            }
-        },
-        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.post(this.$store.state.api+'/SelectAllDepartment',{
-              uid:this.$store.state.userInfo.userid
-            }).then(res=>{
-              this.DepartmentData = res.data[0]
-            },err=>{
-              console.log(err);
-            })
+import { getNowDate } from "@/components/tool/Date.js";
+
+export default {
+  // props:['data'],
+  data() {
+    return {
+      // teacher:[],
+      // student:[],
+      allFund: "",
+      input: "",
+      DepartmentData: [],
+
+      wordData: {
+        applicationDate: getNowDate(1), //申请日期
+        projectName: "", //项目名称
+        pro_leader: "", //项目负责人
+        college: "", //所在学院
+        tel: "", //联系电话
+        beginTime: "", //项目起始时间
+        endTime: "", //计划完成时间
+        student: "", //学生人数
+        member: [
+          { name: "", collage: "", work: "" },
+          { name: "", collage: "", work: "" },
+          { name: "", collage: "", work: "" },
+          { name: "", collage: "", work: "" },
+          { name: "", collage: "", work: "" },
+        ],
+        brief: "", //项目简介
+        innovate: "", //创新点
+        expected: "", //项目预期成果、数量及形式
+        culture: "", //创客人才培养预期成果、数量
+        incubate: "", //项目预期孵化、转化创业项目情况
+        ImplementationPlan: "", //项目实施计划
+        fund: {
+          total: 0,
+          device: "",
+          Material: "",
+          processing: "",
+          Collaboration: "",
+          APPRAISAL: "",
+          entery: "",
+          activities: "",
+          Transaction: "",
+        }, //预算经费
+      },
+      //total:总经费
+      //小型仪器设备费:device        deviceRemarks
+      //材料费:Material             MaterialRemarks
+      //测试化验加工费:processing    processingRemarks
+      //项目协作费:Collaboration     CollaborationRemarks
+      //项目成果鉴定费:APPRAISAL     APPRAISALRemarks
+      //参展参赛费:entery            enteryRemarks
+      //创客交流活动费:activities    activitiesRemarks
+      //知识产权事务费:Transaction   TransactionRemarks
+    };
+  },
+  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
+        .post(this.$store.state.api + "/SelectAllDepartment", {
+          uid: this.$store.state.userInfo.userid,
+        })
+        .then(
+          (res) => {
+            this.DepartmentData = res.data[0];
           },
-          submitWord(){
-            const cEmpty = /^\s*$/g;
-            for (let i in this.wordData){
-              // console.log(this.wordData[i],i);
-              switch(i){
-                case 'projectName':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请输入项目名称')
-                      // this.$refs.projectName.style.background='rgb(236, 141, 141)'
-                      // setTimeout(() => {
-                      //   this.$refs.projectName.style.background='#ffffff'
-                      // }, 2000);
-                      document.querySelector('#projectName').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                  break;
-                case 'radio':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择项目分组')
-                      document.querySelector('#radio').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                  break;
-                case 'checkList':
-                    if (this.wordData[i].length==0) {
-                      this.$message.error('优先支持项目')
-                      document.querySelector('#checkList').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'schoolRadio':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择美丽校园改造项目')
-                      document.querySelector('#schoolRadio').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'applyParsonRadio':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择项目申请人')
-                      document.querySelector('#applyParsonRadio').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'applyParsonName':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请填写申请人姓名')
-                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'college':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择所在学院')
-                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'tel':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请填写联系方式')
-                      document.querySelector('#applyParsonName').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'beginTime':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择项目起始时间')
-                      document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'endTime':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请选择计划完成时间')
-                      document.querySelector('#beginTime').scrollIntoView({ behavior: "smooth" });
-                      return false
-                    }
-                break;
-                case 'studentS':
-                    // if(this.wordData[i].length<5){
-                    //   this.$message.error('学生团队应5人以上')
-                    //   document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
-                    //   return false;
-                    // }else{
-                      let snum = 0;
-                      this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            snum++;
-                          }
-                        }
-                      })
-                      if(snum>0){
-                        this.$message.error("请填完学生信息");
-                        document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
-                        return false;
-                      }
-                    // }
-                break;
-                case 'teacherS':
-                      let num = 0;
-                      this.wordData[i].forEach(item=>{
-                        for(let j in item){
-                          if(cEmpty.test(item[j])){
-                            num++;
-                          }
-                        }
-                      })
-                      if(num>0){
-                        this.$message.error("请填完老师信息");
-                        document.querySelector('#teacherS').scrollIntoView({ behavior: "smooth" });
-                        return false;
-                      }
-                break;
-                case 'brief':
-                    if (cEmpty.test(this.wordData[i])) {
-                      this.$message.error('请填写项目简介')
-                      // 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.input*1+this.wordData.fund.authenticate*1+ this.wordData.fund.match*1+this.wordData.fund.activity*1+this.wordData.fund.affair*1
-                    if(mon==0){
-                      document.querySelector('#fund').scrollIntoView({ behavior: "smooth" });
-                      return this.$message.error('请输入经费')
-                    }
-                break;
-              }
+          (err) => {
+            console.log(err);
+          }
+        );
+    },
+    submitWord() {
+      const cEmpty = /^\s*$/g;
+      for (let i in this.wordData) {
+        // console.log(this.wordData[i],i);
+        switch (i) {
+          case "projectName":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请输入项目名称");
+              // this.$refs.projectName.style.background='rgb(236, 141, 141)'
+              // setTimeout(() => {
+              //   this.$refs.projectName.style.background='#ffffff'
+              // }, 2000);
+              document
+                .querySelector("#projectName")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
+            }
+            break;
+          case "radio":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请选择项目分组");
+              document
+                .querySelector("#radio")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-          //   let param={
-          //     projectName
+            break;
+          // case "checkList":
+          //   if (this.wordData[i].length == 0) {
+          //     this.$message.error("优先支持项目");
+          //     document
+          //       .querySelector("#checkList")
+          //       .scrollIntoView({ behavior: "smooth" });
+          //     return false;
           //   }
-          //   this.ajax
-          //     .post(this.$store.state.api+'/SelectAllType',param)
-          //     .then(err,res)
-          },
-          convertNumber(type,str){
-          if(typeof str=='string'){
-              this.wordData['fund'][type] = Number(str.replace(/\D/g,''));
+          //   break;
+          // case "schoolRadio":
+          //   if (cEmpty.test(this.wordData[i])) {
+          //     this.$message.error("请选择美丽校园改造项目");
+          //     document
+          //       .querySelector("#schoolRadio")
+          //       .scrollIntoView({ behavior: "smooth" });
+          //     return false;
+          //   }
+          //   break;
+          case "applyParsonRadio":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请选择项目申请人");
+              document
+                .querySelector("#applyParsonRadio")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-            this.wordData['fund']['total'] = Number(this.wordData['fund']['device'])+Number(this.wordData['fund']['Material'])+Number(this.wordData['fund']['processing'])+Number(this.wordData['fund']['Collaboration'])+Number(this.wordData['fund']['APPRAISAL'])+Number(this.wordData['fund']['entery'])+Number(this.wordData['fund']['activities'])+Number(this.wordData['fund']['Transaction'])
-
-          }
-          
-        },
-        computed:{   //经费总合
-          reversedMessage: function () {
-            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.getProjectDepartmentData()
-
-          console.log(1)
-        }
-      };
-    </script>
-      
-    <style lang="less" scoped>
-  
-    #markerFundWord{
-        width: 100%;
-        display: flex;
-        flex-direction: column;
-        align-items: center;
-        background-color: #ffff;
-        margin: 0;
-        padding: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;
+            break;
+          case "applyParsonName":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请填写申请人姓名");
+              document
+                .querySelector("#applyParsonName")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-            .wordTitle{
-                font-size: 2em;
-                letter-spacing: .15em;
-                margin-bottom:40px ;
+            break;
+          case "college":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请选择所在学院");
+              document
+                .querySelector("#applyParsonName")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-            .date{
-    
-                font-size: 1em;
-                position: absolute;
-                bottom: 0;
-                right: 100px;
-                font-weight: bold;
+            break;
+          case "tel":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请填写联系方式");
+              document
+                .querySelector("#applyParsonName")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-        }
-        .table{
-            border: none;
-            border-top: solid 1px black;
-           
-            tr 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;
-              }
-              :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;
+            break;
+          case "beginTime":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请选择项目起始时间");
+              document
+                .querySelector("#beginTime")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
+            }
+            break;
+          case "endTime":
+            if (cEmpty.test(this.wordData[i])) {
+              this.$message.error("请选择计划完成时间");
+              document
+                .querySelector("#beginTime")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
+            }
+            break;
+          case "studentS":
+            // if(this.wordData[i].length<5){
+            //   this.$message.error('学生团队应5人以上')
+            //   document.querySelector('#studentS').scrollIntoView({ behavior: "smooth" });
+            //   return false;
+            // }else{
+            let snum = 0;
+            this.wordData[i].forEach((item) => {
+              for (let j in item) {
+                if (cEmpty.test(item[j])) {
+                  snum++;
+                }
               }
-
+            });
+            if (snum > 0) {
+              this.$message.error("请填完学生信息");
+              document
+                .querySelector("#studentS")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-            .textLeft{
-              :deep(.el-textarea__inner){
-                // padding: 0;
-                border: none ;
-                border-radius: 0px;
-                text-align: left !important;
-                font-size: 16px;
+            // }
+            break;
+          case "teacherS":
+            let num = 0;
+            this.wordData[i].forEach((item) => {
+              for (let j in item) {
+                if (cEmpty.test(item[j])) {
+                  num++;
+                }
               }
+            });
+            if (num > 0) {
+              this.$message.error("请填完老师信息");
+              document
+                .querySelector("#teacherS")
+                .scrollIntoView({ behavior: "smooth" });
+              return false;
             }
-          }
-        .notes{
-          width: 100%;
-          display: flex;
-          flex-direction:column;
+            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.input * 1 +
+              this.wordData.fund.authenticate * 1 +
+              this.wordData.fund.match * 1 +
+              this.wordData.fund.activity * 1 +
+              this.wordData.fund.affair * 1;
+            if (mon == 0) {
+              document
+                .querySelector("#fund")
+                .scrollIntoView({ behavior: "smooth" });
+              return this.$message.error("请输入经费");
+            }
+            break;
         }
+      }
+      //   let param={
+      //     projectName
+      //   }
+      //   this.ajax
+      //     .post(this.$store.state.api+'/SelectAllType',param)
+      //     .then(err,res)
+    },
+    convertNumber(type, str) {
+      if (typeof str == "string") {
+        this.wordData["fund"][type] = Number(str.replace(/\D/g, ""));
+      }
+      this.wordData["fund"]["total"] =
+        Number(this.wordData["fund"]["device"]) +
+        Number(this.wordData["fund"]["Material"]) +
+        Number(this.wordData["fund"]["processing"]) +
+        Number(this.wordData["fund"]["Collaboration"]) +
+        Number(this.wordData["fund"]["APPRAISAL"]) +
+        Number(this.wordData["fund"]["entery"]) +
+        Number(this.wordData["fund"]["activities"]) +
+        Number(this.wordData["fund"]["Transaction"]);
+    },
+  },
+  computed: {
+    //经费总合
+    reversedMessage: function () {
+      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.getProjectDepartmentData();
+
+    console.log(1);
+  },
+};
+</script>
+      
+    <style lang="less" scoped>
+#markerFundWord {
+  width: 100%;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  background-color: #ffff;
+  margin: 0;
+  padding: 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;
     }
-    .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;
-        }
+    .wordTitle {
+      font-size: 2em;
+      letter-spacing: 0.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 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;
+      }
+      :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;
+      }
+    }
+    .textLeft {
+      :deep(.el-textarea__inner) {
+        // padding: 0;
+        border: none;
+        border-radius: 0px;
+        text-align: left !important;
+        font-size: 16px;
+      }
     }
-    
-    </style>
+  }
+  .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>

+ 29 - 31
src/views/projectApply/MakerSpaceApply.vue

@@ -58,9 +58,7 @@ export default {
             work: "",
           },
         ], //教师组//name:姓名  speciality:专业  title:职称 education:学历    section:所在教研室    work:项目组角色分工
-        student: [
-          { name: "", class: "", age: "", work: "" },
-        ], //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
+        student: [{ name: "", class: "", age: "", work: "" }], //学生组//name:姓名    class:班级 age:年龄   work:项目组任务分工
         brief: "", //项目简介
         Construction: "", //建设内容
         ProjectBasis: "", //立项依据
@@ -166,46 +164,46 @@ export default {
             }
             break;
           case "teacher":
-            if (this.wordData[i].length < 3) {
-              this.$message.error("教师团队应3人以上");
+            // if (this.wordData[i].length < 3) {
+            //   this.$message.error("教师团队应3人以上");
+            //   document
+            //     .querySelector("#five")
+            //     .scrollIntoView({ behavior: "smooth" });
+            //   return false;
+            // } else {
+            let num = 0;
+            this.wordData[i].forEach((item) => {
+              if (cEmpty.test(item["name"])) num++;
+            });
+            if (num > 0) {
+              this.$message.error("教师姓名请不要留空");
               document
                 .querySelector("#five")
                 .scrollIntoView({ behavior: "smooth" });
               return false;
-            } else {
-              let num = 0;
-              this.wordData[i].forEach((item) => {
-                if (cEmpty.test(item["name"])) num++;
-              });
-              if (num > 0) {
-                this.$message.error("教师姓名请不要留空");
-                document
-                  .querySelector("#five")
-                  .scrollIntoView({ behavior: "smooth" });
-                return false;
-              }
             }
+            // }
             break;
           case "student":
-            if (this.wordData[i].length < 5) {
-              this.$message.error("学生团队应5人以上");
+            // if (this.wordData[i].length < 5) {
+            //   this.$message.error("学生团队应5人以上");
+            //   document
+            //     .querySelector("#six")
+            //     .scrollIntoView({ behavior: "smooth" });
+            //   return false;
+            // } else {
+            let num1 = 0;
+            this.wordData[i].forEach((item) => {
+              if (cEmpty.test(item["name"])) num1++;
+            });
+            if (num1 > 0) {
+              this.$message.error("学生姓名请不要留空");
               document
                 .querySelector("#six")
                 .scrollIntoView({ behavior: "smooth" });
               return false;
-            } else {
-              let num = 0;
-              this.wordData[i].forEach((item) => {
-                if (cEmpty.test(item["name"])) num++;
-              });
-              if (num > 0) {
-                this.$message.error("学生姓名请不要留空");
-                document
-                  .querySelector("#six")
-                  .scrollIntoView({ behavior: "smooth" });
-                return false;
-              }
             }
+            // }
             break;
           case "fund":
             let sum = 0;

+ 18 - 18
src/views/projectApply/components/studentProjectWordDetail.vue

@@ -296,24 +296,24 @@ export default {
               return false;
             }
             break;
-          case "checkList":
-            if (this.wordData[i].length == 0) {
-              this.$message.error("优先支持项目");
-              document
-                .querySelector("#checkList")
-                .scrollIntoView({ behavior: "smooth" });
-              return false;
-            }
-            break;
-          case "schoolRadio":
-            if (cEmpty.test(this.wordData[i])) {
-              this.$message.error("请选择美丽校园改造项目");
-              document
-                .querySelector("#schoolRadio")
-                .scrollIntoView({ behavior: "smooth" });
-              return false;
-            }
-            break;
+          // case "checkList":
+          //   if (this.wordData[i].length == 0) {
+          //     this.$message.error("优先支持项目");
+          //     document
+          //       .querySelector("#checkList")
+          //       .scrollIntoView({ behavior: "smooth" });
+          //     return false;
+          //   }
+          //   break;
+          // case "schoolRadio":
+          //   if (cEmpty.test(this.wordData[i])) {
+          //     this.$message.error("请选择美丽校园改造项目");
+          //     document
+          //       .querySelector("#schoolRadio")
+          //       .scrollIntoView({ behavior: "smooth" });
+          //     return false;
+          //   }
+          //   break;
           case "applyParsonRadio":
             if (cEmpty.test(this.wordData[i])) {
               this.$message.error("请选择项目申请人");

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

@@ -311,7 +311,7 @@ export default {
           tit: this.wordData["projectName"], //项目名称
           radio: this.wordData["radio"], //项目分组
           checkList: JSON.stringify(this.wordData["checkList"]), //优先支持项目
-          schoolRadio: this.wordData["schoolRadio"], //美丽校园改造项目
+          schoolRadio: JSON.stringify(this.wordData["schoolRadio"]), //美丽校园改造项目
           applyParsonRadio: this.wordData["applyParsonRadio"], //项 目 申 请 人
           applyParsonName: this.wordData["applyParsonName"], //申请人姓名
           cid: this.wordData["college"], //学院ID,

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

@@ -250,7 +250,7 @@
                 type="primary"
                 @click="scheduleDetail(scope.row.courseId, scope.row.typeid)"
                 size="mini"
-                >项目进度详情</el-button
+                >进度详情</el-button
               >
               <el-button
                 type="primary"

+ 38 - 47
src/views/projectManage/components/Closingstatement.vue

@@ -619,7 +619,7 @@
       <tr>
         <td>附件</td>
         <td colspan="7" style="height: 200px">
-          <p>附:课题研究报告、用户评价意见或专家鉴定意见等其他文件</p>
+          <p>附:课题研究报告、用户评价意见或专家鉴定意见、其它附件等等</p>
           <beUpload
             style="position: absolute; right: 10px; top: 5px"
             @getFile="gettaskAccessory"
@@ -797,13 +797,6 @@
           所 <br />在 <br />学 <br />院/ <br />部 <br />门 <br />意 <br />见
         </td>
         <td colspan="7">
-          <el-input
-            type="textarea"
-            :autosize="{ minRows: 6 }"
-            placeholder="请输入内容"
-            v-model="textarea"
-          >
-          </el-input>
           <div style="width: 200px; float: right; margin: 10px 300px">
             负责人签章:
           </div>
@@ -816,13 +809,6 @@
       <tr>
         <td>专 <br />家 <br />验 <br />收 <br />结 <br />论</td>
         <td colspan="7">
-          <el-input
-            type="textarea"
-            :autosize="{ minRows: 6 }"
-            placeholder="请输入内容"
-            v-model="textarea"
-          >
-          </el-input>
           <div style="width: 200px; float: right; margin: 10px 300px">
             负责人签章:
           </div>
@@ -835,13 +821,6 @@
       <tr>
         <td>双 <br />创 <br />学 <br />院 <br />意 <br />见</td>
         <td colspan="7">
-          <el-input
-            type="textarea"
-            :autosize="{ minRows: 6 }"
-            placeholder="请输入内容"
-            v-model="textarea"
-          >
-          </el-input>
           <div style="width: 200px; float: right; margin: 10px 300px">
             负责人签章:
           </div>
@@ -854,13 +833,6 @@
       <tr>
         <td>学 <br />校 <br />审 <br />批 <br />意 <br />见</td>
         <td colspan="7">
-          <el-input
-            type="textarea"
-            :autosize="{ minRows: 6 }"
-            placeholder="请输入内容"
-            v-model="textarea"
-          >
-          </el-input>
           <div style="width: 200px; float: right; margin: 10px 300px">
             负责人签章:
           </div>
@@ -937,10 +909,10 @@ export default {
       type: Array,
       required: true,
     },
-    iid:{
+    iid: {
       type: String,
       required: true,
-    }
+    },
   },
   components: { beUpload, vpdf, vword },
   data() {
@@ -976,7 +948,6 @@ export default {
         value: 0,
         show: false,
       },
-      textarea: "",
       showFile: false,
       showFileUrl: "",
       Wordss: { type: "", name: "" },
@@ -984,8 +955,6 @@ export default {
         Image:
           /^https?:\/\/(.+\/)+.+(\.(gif|png|jpg|jpeg|webp|svg|psd|bmp|tif))$/i,
         File: /^https?:\/\/(.+\/)+.+(\.(docx|xlsx|ppt|pdf))$/i,
-        vedio:
-          /^https?:\/\/(.+\/)+.+(\.(AVI|NAVI|MPEG|ASF|MOV|WMV|3GP|RM|RMVB|FLV|F4V|H.264|H.265|REAL VIDEO|MKV|WebM|HDDVD|MP4|MPG|M4V|MGV|OGV|QTM|STR|AMC|DVX|EVO|DAT|OGG|OGM))$/i,
       },
       word: [
         "DOC",
@@ -1198,12 +1167,12 @@ export default {
     },
     //展示文件
     checkFile(url) {
+      this.videoDetail = {};
       if (
         this.vedio.indexOf(
           url.split(".")[url.split(".").length - 1].toLocaleUpperCase()
         ) != -1
       ) {
-        this.videoDetail = {};
         this.playerOptions.sources[0].src = url;
         this.videoDetail = this.playerOptions;
         this.showFile = true;
@@ -1284,15 +1253,39 @@ export default {
       return;
     },
     getPrice() {
-      this.myArrayProp[0].actualuse =
-        parseInt(this.myArrayProp[0]["money"].device) +
-        parseInt(this.myArrayProp[0]["money"].Material) +
-        parseInt(this.myArrayProp[0]["money"].processing) +
-        parseInt(this.myArrayProp[0]["money"].Collaboration) +
-        parseInt(this.myArrayProp[0]["money"].APPRAISAL) +
-        parseInt(this.myArrayProp[0]["money"].entery) +
-        parseInt(this.myArrayProp[0]["money"].activities) +
-        parseInt(this.myArrayProp[0]["money"].Transaction);
+      var a =
+        this.myArrayProp[0]["money"].device != ""
+          ? parseInt(this.myArrayProp[0]["money"].device)
+          : 0;
+      var b =
+        this.myArrayProp[0]["money"].Material != ""
+          ? parseInt(this.myArrayProp[0]["money"].Material)
+          : 0;
+      var c =
+        this.myArrayProp[0]["money"].processing != ""
+          ? parseInt(this.myArrayProp[0]["money"].processing)
+          : 0;
+      var d =
+        this.myArrayProp[0]["money"].Collaboration != ""
+          ? parseInt(this.myArrayProp[0]["money"].Collaboration)
+          : 0;
+      var e =
+        this.myArrayProp[0]["money"].APPRAISAL != ""
+          ? parseInt(this.myArrayProp[0]["money"].APPRAISAL)
+          : 0;
+      var f =
+        this.myArrayProp[0]["money"].entery != ""
+          ? parseInt(this.myArrayProp[0]["money"].entery)
+          : 0;
+      var g =
+        this.myArrayProp[0]["money"].activities != ""
+          ? parseInt(this.myArrayProp[0]["money"].activities)
+          : 0;
+      var h =
+        this.myArrayProp[0]["money"].Transaction != ""
+          ? parseInt(this.myArrayProp[0]["money"].Transaction)
+          : 0;
+      this.myArrayProp[0].actualuse = a + b + c + d + e + f + g + h;
       this.$forceUpdate();
     },
     onPlayerPlay() {},
@@ -1301,9 +1294,7 @@ export default {
         .post(this.$store.state.api + "/updateClosingstatementData", {
           uid: this.$store.state.userInfo.userid,
           pid: this.iid,
-          cdata: JSON.stringify(
-            this.myArrayProp[0]["ClosingstatementData"]
-          ),
+          cdata: JSON.stringify(this.myArrayProp[0]["ClosingstatementData"]),
           sta: 2,
         })
         .then(

+ 189 - 61
src/views/projectSettlement/components/projectSettlementBook.vue

@@ -861,10 +861,23 @@
     >
       <div class="showFileArea" style="height: 80vh">
         <!-- <vpdf v-if="/^\s*$/g.test(showFileUrl)&&showFileUrl.split('.')[showFileUrl.split('.').length-1]=='pdf'" :pdfUrl="showFileUrl"></vpdf> -->
+        <div
+          class="workd_media"
+          style="width: 90%; height: 90%"
+          v-if="videoDetail.sources"
+        >
+          <video-player
+            class="video-player vjs-custom-skin"
+            :playsinline="true"
+            :options="videoDetail"
+            @play="onPlayerPlay($event)"
+            style="width: 90%; height: 90%; margin: 0 auto"
+          ></video-player>
+        </div>
         <vword
           style="width: 100%; height: 100%; overflow: auto"
           class="fullStyle"
-          v-if="Wordss['type'] != 'pdf' && Wordss['name'] != '图片'"
+          v-else-if="Wordss['type'] != 'pdf' && Wordss['name'] != '图片'"
           :pdfUrl="
             'https://view.officeapps.live.com/op/view.aspx?src=' + showFileUrl
           "
@@ -873,12 +886,12 @@
           style="width: 100%; height: 100%; overflow: auto"
           class="fullStyle"
           :pdfUrl="showFileUrl"
-          v-if="Wordss['type'] == 'pdf'"
+          v-else-if="Wordss['type'] == 'pdf'"
         ></vpdf>
         <img
           :src="showFileUrl"
           alt="图片哦"
-          v-if="Wordss['name'] == '图片'"
+          v-else-if="Wordss['name'] == '图片'"
           style="width: auto; height: auto; max-width: 100%; max-height: 100%"
         />
       </div>
@@ -952,6 +965,98 @@ export default {
         value: 0,
         show: false,
       },
+      word: [
+        "DOC",
+        "DOCX",
+        "DOCM",
+        "DOTM",
+        "DOTX",
+        "PPTX",
+        "PPSX",
+        "PPT",
+        "PPS",
+        "PPTM",
+        "POTM",
+        "PPAM",
+        "POTX",
+        "PPSM",
+        "XLSX",
+        "XLS",
+      ],
+      pdf: ["PDF"],
+      image: [
+        "BMP",
+        "PJP",
+        "APNG",
+        "PNG",
+        "JPG",
+        "GIF",
+        "SVG",
+        "JPEG",
+        "JPG",
+        "ICO",
+        "PGPEG",
+        "AVIF",
+      ],
+      vedio: [
+        "AVI",
+        "NAVI",
+        "MPEG",
+        "ASF",
+        "MOV",
+        "WMV",
+        "3GP",
+        "RM",
+        "RMVB",
+        "FLV",
+        "F4V",
+        "H.264",
+        "H.265",
+        "REAL VIDEO",
+        "MKV",
+        "WebM",
+        "HDDVD",
+        "MP4",
+        "MPG",
+        "M4V",
+        "MGV",
+        "OGV",
+        "QTM",
+        "STR",
+        "AMC",
+        "DVX",
+        "EVO",
+        "DAT",
+        "OGG",
+        "OGM",
+      ],
+      playerOptions: {
+        playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
+        autoplay: false, //如果true,浏览器准备好时开始回放。
+        muted: false, // 默认情况下将会消除任何音频。
+        loop: false, // 导致视频一结束就重新开始。
+        preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
+        language: "zh-CN",
+        aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
+        fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
+        sources: [
+          {
+            type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目   || "video/ogg"|| "video/webm"
+            src: "", //url地址require("../../assets/media/aaa.mp4")
+          },
+        ],
+        // poster: require("../../assets/tu31.png"), //你的封面地址
+        // poster: dataRes.imgUrl, //你的封面地址
+        notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
+        controlBar: {
+          timeDivider: true, //当前时间和持续时间的分隔符
+          durationDisplay: true, //显示持续时间
+          remainingTimeDisplay: false, //是否显示剩余时间功能
+          fullscreenToggle: true, //全屏按钮
+        },
+      },
+      playerO: {},
+      videoDetail: {},
     };
   },
   methods: {
@@ -1115,65 +1220,88 @@ export default {
       return value == 100 ? "100%" : `${value}%`;
     },
     lookFile(u) {
-      var b = [
-        "DOC",
-        "DOCX",
-        "DOCM",
-        "DOTM",
-        "DOTX",
-        "PPTX",
-        "PPSX",
-        "PPT",
-        "PPS",
-        "PPTM",
-        "POTM",
-        "PPAM",
-        "POTX",
-        "PPSM",
-      ];
-      var c = ["PDF", "DOT", "DOC", "DOCX", "PPT", "PPTX", "XLSX", "XLS"];
-      var d = [
-        "BMP",
-        "PJP",
-        "APNG",
-        "PNG",
-        "JPG",
-        "GIF",
-        "SVG",
-        "JPEG",
-        "JPG",
-        "ICO",
-        "PGPEG",
-        "AVIF",
-      ];
+      this.videoDetail = {};
       if (
-        b.indexOf(u.split(".")[u.split(".").length - 1].toLocaleUpperCase()) ==
-          -1 &&
-        c.indexOf(u.split(".")[u.split(".").length - 1].toLocaleUpperCase()) ==
-          -1 &&
-        d.indexOf(u.split(".")[u.split(".").length - 1].toLocaleUpperCase()) ==
-          -1
+        this.vedio.indexOf(
+          u.split(".")[u.split(".").length - 1].toLocaleUpperCase()
+        ) != -1
       ) {
-        this.$message({
-          message: "该文件不可预览!",
-          type: "warning",
-        });
-        return;
+        this.playerOptions.sources[0].src = u;
+        this.videoDetail = this.playerOptions;
+        this.showFile = true;
+      } else {
+        if (
+          this.word.indexOf(
+            u.split(".")[u.split(".").length - 1].toLocaleUpperCase()
+          ) == -1 &&
+          this.pdf.indexOf(
+            u.split(".")[u.split(".").length - 1].toLocaleUpperCase()
+          ) == -1 &&
+          this.image.indexOf(
+            u.split(".")[u.split(".").length - 1].toLocaleUpperCase()
+          ) == -1
+        ) {
+          this.downFile(u);
+          return;
+        }
+        this.showFileUrl = "";
+        this.showFile = true;
+        this.showFileUrl = u;
+        if (typeof u == "undefined") return { type: "", name: "" };
+        let urlSplit = u.split(".");
+        const type = urlSplit[urlSplit.length - 1];
+        if (this.canonical.Image.test(u)) {
+          this.Wordss = { type: type, name: "图片" };
+          return console.log(this.Wordss);
+        }
+        if (this.canonical.File.test(u)) {
+          this.Wordss = { type: type, name: "文档" };
+          return console.log(this.Wordss);
+        } else return (this.Wordss = { type: type, name: type });
       }
-      this.showFileUrl = "";
-      this.showFile = true;
-      this.showFileUrl = u;
-      if (typeof u == "undefined") return { type: "", name: "" };
-      let urlSplit = u.split(".");
-      const type = urlSplit[urlSplit.length - 1];
-      if (this.canonical.Image.test(u)) {
-        this.Wordss = { type: type, name: "图片" };
-        return console.log(this.Wordss);
+    },
+    onPlayerPlay() {},
+    //下载文件
+    downFile(f) {
+      var credentials = {
+        accessKeyId: "AKIATLPEDU37QV5CHLMH",
+        secretAccessKey: "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",
+      }; //秘钥形式的登录上传
+      window.AWS.config.update(credentials);
+      window.AWS.config.region = "cn-northwest-1"; //设置区域
+      let url2 = f;
+      let _url2 = "";
+      if (
+        url2.indexOf("https://view.officeapps.live.com/op/view.aspx?src=") != -1
+      ) {
+        _url2 = url2.split(
+          "https://view.officeapps.live.com/op/view.aspx?src="
+        )[1];
+      } else {
+        _url2 = url2;
       }
-      if (this.canonical.File.test(u)) {
-        this.Wordss = { type: type, name: "文档" };
-        return console.log(this.Wordss);
-      } else return (this.Wordss = { type: type, name: type });
+      var s3 = new window.AWS.S3({ params: { Bucket: "ccrb" } });
+      let name = decodeURIComponent(
+        _url2.split("https://ccrb.s3.cn-northwest-1.amazonaws.com.cn/")[1]
+      );
+      var params = {
+        Bucket: "ccrb",
+        Key: name,
+      };
+      s3.getObject(params, function (err, data) {
+        if (err) console.log(err, err.stack); // an error occurred
+        else {
+          let url = window.URL.createObjectURL(new Blob([data.Body]));
+          let a = document.createElement("a");
+          a.name = name;
+          a.href = url;
+          a.download = name;
+          a.click();
+          console.log(data);
+        } // sxuccessful response
+      });
+
+      return;
     },
   },
   mounted() {
@@ -1264,7 +1392,7 @@ table {
           bottom: -90px;
         }
       }
-      .titItem{
+      .titItem {
         display: flex;
         flex-direction: row;
         flex-wrap: nowrap;
@@ -1273,14 +1401,14 @@ table {
           margin: 10px 10px 10px 0;
           cursor: pointer;
         }
-        .titDelete{
+        .titDelete {
           cursor: pointer;
           font-size: 14px;
           color: #939393;
           margin: 10px 10px 10px 0;
         }
       }
-      
+
       .masking-out {
         width: 100px;
         height: 100px;

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff