SanHQin hai 5 meses
pai
achega
4a108312ee

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

@@ -438,7 +438,8 @@
 
       <Closingstatement
         ref="finalClo"
-        :myArrayProp2.sync="myArrayProp"
+        @myArrayPropFn="myArrayPropFn"
+        :myArrayProp2="myArrayProp"
         :iid="iid"
         :isDownPdf="isDownPdf"
       ></Closingstatement>
@@ -622,6 +623,8 @@ export default {
     ending() {
       //结项书提交
       //  return console.log(this.myArrayProp[0]);
+      // console.log("");
+      // return console.log(this.myArrayProp[0]["money"])
       this.myArrayProp = this.$refs['finalClo'].myArrayProp;
       this.ajax
         .post(this.$store.state.api + "/updateClosingstatementData", {
@@ -630,6 +633,9 @@ export default {
           submitData: encodeURIComponent(JSON.stringify(
             this.myArrayProp[0]["ClosingstatementData"]
           )),
+          mData:encodeURIComponent(JSON.stringify(
+            this.myArrayProp[0]["money"]
+          )),
           state: 3,
         })
         .then(
@@ -883,6 +889,10 @@ export default {
           }
         );
     },
+    myArrayPropFn(newData){
+      this.myArrayProp = newData;
+
+    },
     setUseridInProject() {
       this.ajax
         .post(this.$store.state.api + "/updateProjectLookTeacher", {

+ 180 - 71
src/views/projectManage/components/Closingstatement.vue

@@ -24,7 +24,9 @@
             >{{ item.name }}</span
           >
           <span style="position: absolute; right: -100px"
-            >{{ myArrayProp[0].course_teacher.filter(i=>i.name!='').length }}(人)</span
+            >{{
+              myArrayProp[0].course_teacher.filter((i) => i.name != "").length
+            }}(人)</span
           >
         </div>
       </div>
@@ -66,9 +68,27 @@
         <td colspan="2">大创项目</td>
         <td>学生申报</td>
         <td colspan="2" style="padding: 0 30px; box-sizing: border-box">
-					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创新训练项目</span>
-					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"? "☑": "□") }}创业训练项目</span>
-					<span style="margin-right: 10px;">{{ (myArrayProp[0].typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"? "☑": "□") }}创业实践项目</span>
+          <span style="margin-right: 10px"
+            >{{
+              myArrayProp[0].typeName == "4a4e2cfe-e1a1-11ee-81d4-00ff5c7a43f5"
+                ? "☑"
+                : "□"
+            }}创新训练项目</span
+          >
+          <span style="margin-right: 10px"
+            >{{
+              myArrayProp[0].typeName == "56f0ad8d-e1a1-11ee-81d4-00ff5c7a43f5"
+                ? "☑"
+                : "□"
+            }}创业训练项目</span
+          >
+          <span style="margin-right: 10px"
+            >{{
+              myArrayProp[0].typeName == "ed917c55-f51d-11ed-a3f6-509a4c5b67cf"
+                ? "☑"
+                : "□"
+            }}创业实践项目</span
+          >
           <!-- <span
             >{{
               (myArrayProp[0].typeName = "f3068e26-f51d-11ed-a3f6-509a4c5b67cf"
@@ -101,7 +121,11 @@
       </tr>
       <tr>
         <td colspan="2">优先支持项目 <br />(可多选)</td>
-        <td colspan="8" v-if="myArrayProp[0].multiSelectProject != null" style="height: auto;text-align: left;">
+        <td
+          colspan="8"
+          v-if="myArrayProp[0].multiSelectProject != null"
+          style="height: auto; text-align: left"
+        >
           <!-- {{
             myArrayProp[0].multiSelectProject.includes("1") ? "☑" : "□"
           }}大赛选拔项目
@@ -111,13 +135,64 @@
           社会征集项目
           {{ myArrayProp[0].multiSelectProject.includes("4") ? "☑" : "□" }}
           产业命题项目 -->
-					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('1')?'☑ ':'□ '"></span><span>团队合作项目、跨学科合作项目。</span></div>
-          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('2')?'☑ ':'□ '"></span><span>科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span></div>
-          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('3')?'☑ ':'□ '"></span><span>企业真实生产经营项目或外包服务项目。</span></div>
-          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('4')?'☑ ':'□ '"></span><span>社会征集项目、产业命题项目。</span></div>
-					<div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('5')?'☑ ':'□ '"></span><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span></div>
-          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('6')?'☑ ':'□ '"></span><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span></div>
-          <div class="checkAreaBlc"><span v-text="myArrayProp[0]['multiSelectProject'].includes('7')?'☑ ':'□ '"></span><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span></div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('1') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>团队合作项目、跨学科合作项目。</span>
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('2') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span
+              >科技创新、低空经济、银发经济、乡村振兴、助残助学、非遗文创等新技术、新产业、新业态、新模式方面的项目。</span
+            >
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('3') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>企业真实生产经营项目或外包服务项目。</span>
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('4') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>社会征集项目、产业命题项目。</span>
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('5') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>近两年内参与校级以上创新创业大赛并获奖的项目。</span>
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('6') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>美丽校园改造计划中的校园智能产品及文创产品的研发项目。</span>
+          </div>
+          <div class="checkAreaBlc">
+            <span
+              v-text="
+                myArrayProp[0]['multiSelectProject'].includes('7') ? '☑ ' : '□ '
+              "
+            ></span
+            ><span>企申报人为港澳籍、学校扶贫班及在校贫困生申报的项目</span>
+          </div>
         </td>
         <td colspan="8" v-if="myArrayProp[0].multiSelectProject == null">
           □大赛选拔项目 □落地注册项目 □ 社会征集项目 □产业命题项目
@@ -126,10 +201,20 @@
       <tr>
         <td colspan="2">美丽校园改造项目 <br />(单选)</td>
         <td colspan="8">
-          {{ myArrayProp[0].schoolRemould.includes("1") ? "☑" : "□" }}校园安全项目
-          {{ myArrayProp[0].schoolRemould.includes("2") ? "☑" : "□" }}环境治理项目
-          {{ myArrayProp[0].schoolRemould.includes("3") ? "☑" : "□" }} 校园服务项目
-          {{ myArrayProp[0].schoolRemould.includes("4") ? "☑" : "□" }} 文创装置项目
+          {{
+            myArrayProp[0].schoolRemould.includes("1") ? "☑" : "□"
+          }}校园安全项目
+          {{
+            myArrayProp[0].schoolRemould.includes("2") ? "☑" : "□"
+          }}环境治理项目
+          {{
+            myArrayProp[0].schoolRemould.includes("3") ? "☑" : "□"
+          }}
+          校园服务项目
+          {{
+            myArrayProp[0].schoolRemould.includes("4") ? "☑" : "□"
+          }}
+          文创装置项目
         </td>
       </tr>
       <tr>
@@ -165,14 +250,18 @@
         <td colspan="2">项目组人数</td>
         <td colspan="2">
           {{
-            myArrayProp[0].course_student.filter(i=>i.name!='').length +
-            myArrayProp[0].course_teacher.filter(i=>i.name!='').length
+            myArrayProp[0].course_student.filter((i) => i.name != "").length +
+            myArrayProp[0].course_teacher.filter((i) => i.name != "").length
           }}人
         </td>
         <td>学生人数</td>
-        <td>{{ myArrayProp[0].course_student.filter(i=>i.name!='').length }}</td>
+        <td>
+          {{ myArrayProp[0].course_student.filter((i) => i.name != "").length }}
+        </td>
         <td>教师人数</td>
-        <td>{{ myArrayProp[0].course_teacher.filter(i=>i.name!='').length }}</td>
+        <td>
+          {{ myArrayProp[0].course_teacher.filter((i) => i.name != "").length }}
+        </td>
       </tr>
       <tr>
         <td style="font-size: 21px">项目起始时间</td>
@@ -290,9 +379,7 @@
       </tbody>
       <tbody>
         <tr>
-          <td class="vertical" rowspan="6">
-            项目研发内容及目标
-          </td>
+          <td class="vertical" rowspan="6">项目研发内容及目标</td>
         </tr>
         <tr>
           <td colspan="7" style="text-align: left; height: auto">
@@ -316,6 +403,7 @@
           <td colspan="7" style="text-align: left; height: auto">
             <p>目标计划:</p>
             <div
+              v-if="isDownPdf"
               class="textCss"
               v-html="
                 myArrayProp[0]['ClosingstatementData'].plan.replace(
@@ -324,19 +412,21 @@
                 )
               "
             ></div>
-            <!-- <el-input
+            <el-input
+              v-else
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
               v-model="myArrayProp[0]['ClosingstatementData'].plan"
             >
-            </el-input> -->
+            </el-input>
           </td>
         </tr>
         <tr>
           <td colspan="7" style="text-align: left; height: auto">
             <p>二、拟解决的关键技术问题</p>
             <div
+              v-if="isDownPdf"
               class="textCss"
               v-html="
                 myArrayProp[0]['ClosingstatementData'].technology.replace(
@@ -345,19 +435,21 @@
                 )
               "
             ></div>
-            <!-- <el-input
+            <el-input
+              v-else
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
               v-model="myArrayProp[0]['ClosingstatementData'].technology"
             >
-            </el-input> -->
+            </el-input>
           </td>
         </tr>
         <tr>
           <td colspan="7" style="text-align: left; height: auto">
             <p>三、项目的商业(公益)价值评估</p>
             <div
+              v-if="isDownPdf"
               class="textCss"
               v-html="
                 myArrayProp[0]['ClosingstatementData'].business.replace(
@@ -366,19 +458,21 @@
                 )
               "
             ></div>
-            <!-- <el-input
+            <el-input
+              v-else
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
               v-model="myArrayProp[0]['ClosingstatementData'].business"
             >
-            </el-input> -->
+            </el-input>
           </td>
         </tr>
         <tr>
           <td colspan="7" style="text-align: left; height: auto">
             <p>四、项目创新点评估</p>
             <div
+             v-if="isDownPdf"
               class="textCss"
               v-html="
                 myArrayProp[0]['ClosingstatementData'].innovate.replace(
@@ -387,21 +481,20 @@
                 )
               "
             ></div>
-            <!-- <el-input
+            <el-input
+            v-else
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
               v-model="myArrayProp[0]['ClosingstatementData'].innovate"
             >
-            </el-input> -->
+            </el-input>
           </td>
         </tr>
       </tbody>
       <tbody>
         <tr>
-          <td class="vertical" rowspan="10">
-            成果及社会价值
-          </td>
+          <td class="vertical" rowspan="10">成果及社会价值</td>
         </tr>
         <tr>
           <td colspan="7">
@@ -792,6 +885,7 @@
           <td colspan="7" style="text-align: left; height: auto">
             <p>目标计划:</p>
             <div
+              v-if="isDownPdf"
               class="textCss"
               v-html="
                 myArrayProp[0]['ClosingstatementData'].targetPlan.replace(
@@ -800,20 +894,21 @@
                 )
               "
             ></div>
-            <!-- <el-input
-            type="textarea"
-            :autosize="{ minRows: 6 }"
-            placeholder="请输入内容"
-            v-model="myArrayProp[0]['ClosingstatementData'].targetPlan"
-          >
-          </el-input> -->
+            <el-input
+              v-else
+              type="textarea"
+              :autosize="{ minRows: 6 }"
+              placeholder="请输入内容"
+              v-model="myArrayProp[0]['ClosingstatementData'].targetPlan"
+            >
+            </el-input>
           </td>
         </tr>
         <tr>
           <td colspan="7" :style="{ height: isDownPdf ? 'auto' : '200px' }">
             <p>实际结果:</p>
             <el-input
-              v-if="!isDownPdf"
+              v-if="isDownPdf"
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
@@ -830,7 +925,7 @@
           <td colspan="7" :style="{ height: isDownPdf ? 'auto' : '200px' }">
             <p>三、社会价值(项目实践运用情况及效果评价)</p>
             <el-input
-              v-if="!isDownPdf"
+              v-if="isDownPdf"
               type="textarea"
               :autosize="{ minRows: 6 }"
               placeholder="请输入内容"
@@ -926,7 +1021,7 @@
         <tr>
           <td rowspan="5">直接经费</td>
         </tr>
-        <!-- total:总经费     
+        <!-- total:总经费
               小型仪器设备费:device        deviceRemarks
               材料费:Material             MaterialRemarks
               测试化验加工费:processing    processingRemarks
@@ -1055,9 +1150,7 @@
       </tbody>
       <tbody>
         <tr style="height: 350px">
-          <td class="vertical">
-            所在学院/部门初审意见
-          </td>
+          <td class="vertical">所在学院/部门初审意见</td>
           <td colspan="7" style="position: relative">
             <div
               v-if="qpList.length && qpList[2] && qpList[2].type == 4"
@@ -1173,30 +1266,37 @@
         <tr style="height: 350px">
           <td class="vertical">专家意见</td>
           <td colspan="7" style="position: relative">
-            <span v-if="myArrayProp[0]['promotion']!=-1" style="position: absolute;left: 15px;top: 15px;">经专家组评审,一致通过,同意该项目立项。</span>
-            <div
-              :class="!!myArrayProp[0].opinion ? 'bigBlock' : 'noFileBox'"
+            <span
+              v-if="myArrayProp[0]['promotion'] != -1"
+              style="position: absolute; left: 15px; top: 15px"
+              >经专家组评审,一致通过,同意该项目立项。</span
             >
+            <div :class="!!myArrayProp[0].opinion ? 'bigBlock' : 'noFileBox'">
               <div
                 class="fileBlock"
                 v-for="(item, index) in myArrayProp[0].opinion"
                 :key="index + 'l'"
               >
                 <div class="fileBox">
-                  <div
-                    class="fileBoxLeft"
-                    @click="checkFile(item.url)"
-                  >
+                  <div class="fileBoxLeft" @click="checkFile(item.url)">
                     <div class="chapter_upload_l_i3"></div>
                     <div class="titName">{{ item.fileName }}</div>
                   </div>
                 </div>
               </div>
             </div>
-          <div v-if="myArrayProp[0]['promotion']!=-1" style="width: 95%;margin: 10px 0; display: flex;justify-content: end;">2024年4月16日</div>
-
+            <div
+              v-if="myArrayProp[0]['promotion'] != -1"
+              style="
+                width: 95%;
+                margin: 10px 0;
+                display: flex;
+                justify-content: end;
+              "
+            >
+              2024年4月16日
+            </div>
           </td>
-
         </tr>
       </tbody>
       <tbody>
@@ -1720,23 +1820,32 @@ export default {
           : 0;
       this.myArrayProp[0].actualuse = a + b + c + d + e + f + g + h;
       if (t != 1) {
-        this.$emit("myArrayProp2:update", this.myArrayProp);
+        // this.$parent.myArrayProp = this.myArrayProp
+        this.$emit("myArrayPropFn", this.myArrayProp);
+        console.log(this.myArrayProp);
       }
       this.$forceUpdate();
     },
     onPlayerPlay() {},
     setFile() {
+      // console.log(this.myArrayProp[0]["money"], "👈");
+      // return;
       this.ajax
         .post(this.$store.state.api + "/updateClosingstatementData", {
           uid: this.$store.state.userInfo.userid,
           pid: this.iid,
-          cdata: encodeURIComponent(JSON.stringify(this.myArrayProp[0]["ClosingstatementData"])),
+          cdata: encodeURIComponent(
+            JSON.stringify(this.myArrayProp[0]["ClosingstatementData"])
+          ),
+          mData:encodeURIComponent(
+            JSON.stringify(this.myArrayProp[0]["money"])
+          ),
           sta: 2,
         })
         .then(
           (res) => {
             console.log(res);
-            this.$emit("myArrayProp2:update", this.myArrayProp);
+            this.$emit("myArrayPropFn", this.myArrayProp);
             this.$forceUpdate();
           },
           (err) => {
@@ -1745,7 +1854,7 @@ export default {
         );
     },
     changeInput() {
-      this.$emit("myArrayProp2:update", this.myArrayProp);
+      this.$emit("myArrayPropFn", this.myArrayProp);
     },
     // 获取代办公文审批
     getSign() {
@@ -2154,15 +2263,15 @@ body {
     }
   }
 }
-.ProNumber{
-    position: absolute;
-    right: 60px;
-    top: 30px;
-    // font-size: 25px;
-    text-align: right;
-    margin: auto 0;
-    // width: 80% !important;
-  }
+.ProNumber {
+  position: absolute;
+  right: 60px;
+  top: 30px;
+  // font-size: 25px;
+  text-align: right;
+  margin: auto 0;
+  // width: 80% !important;
+}
 .onePage {
   width: 100%;
   // height: 1000px;
@@ -2301,7 +2410,7 @@ table {
               word-break: break-word;
               text-align: left;
               margin-left: 10px;
-              max-width: 800px;
+              max-width: calc(50vw/2);
             }
           }
           .fileBoxRight {