From 1772fc5e211f9e9e0ab4cdc6c29b436aac178c2a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 23 二月 2024 12:19:55 +0800
Subject: [PATCH] 修改

---
 web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue |  249 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 169 insertions(+), 80 deletions(-)

diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
index b4aa87c..5d6f39e 100644
--- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue
@@ -1,10 +1,10 @@
 <template>
-  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
+  <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true">
     <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled"
              label-width="120px" class="testCheckFormAuto">
       <div>
         <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
-          <span>{{dataForm.testCheckOrder.code || '缂栧彿鑷姩鐢熸垚'}}</span>
+          <span>{{ dataForm.checkOrder.code || '缂栧彿鑷姩鐢熸垚' }}</span>
         </el-form-item>
       </div>
       <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
@@ -16,15 +16,23 @@
             <el-input v-model="dataForm.project.softwareName" placeholder="椤圭洰鍚嶇О"></el-input>
           </el-form-item>
           <el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ヤ汉" style="width: 49%">
-            <el-input v-model="dataForm.testCheckOrder.examiner" placeholder="妫�鏌ヤ汉"></el-input>
+            <el-input v-if="stepMarker=='csjcd_first'" v-model="dataForm.checkOrder.examiner"
+                      placeholder="妫�鏌ヤ汉"></el-input>
+            <span v-else>{{ dataForm.checkOrder.examiner }}</span>
           </el-form-item>
           <el-form-item class="marginTopAndMarginBottom3" label="妫�鏌ユ椂闂�" style="width: 49%">
-            <el-input v-model="dataForm.testCheckOrder.examDate" placeholder="妫�鏌ユ椂闂�"></el-input>
+            <el-date-picker
+              v-if="stepMarker=='csjcd_first'"
+              v-model="dataForm.checkOrder.examDate"
+              type="date"
+              placeholder="璇烽�夋嫨妫�鏌ユ椂闂�">
+            </el-date-picker>
+            <span v-else>{{ dataForm.checkOrder.examDate }}</span>
           </el-form-item>
         </div>
         <div style="border-bottom: 1px solid rgba(0,0,0,.2);">
           <div style="padding-left:5px;padding-right:5px;">
-            <div style="padding: 5px">娴嬭瘯璁″垝锛�</div>
+            <div style="padding: 5px">妫�鏌ラ」鐩�:{{ subtitle }}</div>
             <div class="table-container">
               <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border
                         :data="dataForm.checkOrderList"
@@ -35,32 +43,34 @@
                   </template>
                 </el-table-column>
                 <el-table-column prop="checkContent" min-width="180" label="涓昏妫�鏌ュ唴瀹�">
-                  <template v-slot="{ row }">
-                    <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>
-                  </template>
+                  <!--                  <template v-slot="{ row }">-->
+                  <!--                    <el-input v-model="row.checkContent" placeholder="涓昏妫�鏌ュ唴瀹�"></el-input>-->
+                  <!--                  </template>-->
                 </el-table-column>
-                <el-table-column prop="checkResult" align="center" width="150" label="妫�鏌ョ粨鏋�">
+                <el-table-column prop="checkResult" align="center" width="200" label="妫�鏌ョ粨鏋�">
                   <template v-slot="{ row }">
-                    <zt-dict v-model="row.checkResult" dict="is_or_not" :radio="true"></zt-dict>
+                    <zt-dict :disabled="stepMarker!=='csjcd_first'" v-model="row.checkResult" :dict="getDict"
+                             :radio="true"></zt-dict>
                   </template>
                 </el-table-column>
                 <el-table-column prop="remark" label="澶囨敞" width="100" align="center">
                   <template v-slot="{ row }">
-                    <el-input v-model="row.remark" placeholder="澶囨敞"></el-input>
+                    <el-input v-if="stepMarker=='csjcd_first'" v-model="row.remark" placeholder="澶囨敞"></el-input>
+                    <span v-else>{{ row.remark }}</span>
                   </template>
                 </el-table-column>
-<!--                <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
-                  <template v-slot="{ row }">
-                    &lt;!&ndash;                    <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>&ndash;&gt;
-                    <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
-                                    v-model="row.files"/>
-                  </template>
-                </el-table-column>-->
+                <!--                <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
+                                  <template v-slot="{ row }">
+                                    &lt;!&ndash;                    <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>&ndash;&gt;
+                                    <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
+                                                    v-model="row.files"/>
+                                  </template>
+                                </el-table-column>-->
               </el-table>
-<!--              <div class="icon-container" @click="addCirculatRow()">-->
-<!--                &lt;!&ndash; 鏀剧疆鍥哄畾鐨勫浘鏍� &ndash;&gt;-->
-<!--                <i class="el-icon-plus"></i>-->
-<!--              </div>-->
+              <!--              <div class="icon-container" @click="addCirculatRow()">-->
+              <!--                &lt;!&ndash; 鏀剧疆鍥哄畾鐨勫浘鏍� &ndash;&gt;-->
+              <!--                <i class="el-icon-plus"></i>-->
+              <!--              </div>-->
             </div>
           </div>
         </div>
@@ -70,8 +80,9 @@
           </div>
           <div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
             <el-form-item style="width: 100%;padding-left:20px;margin:0;">
-              <el-input type="textarea"
-                        :rows="3" v-model="dataForm.testCheckOrder.problemDescription" placeholder="闂鎻忚堪..."></el-input>
+              <el-input v-if="stepMarker=='csjcd_first'" type="textarea"
+                        :rows="3" v-model="dataForm.checkOrder.problemDescription" placeholder="闂鎻忚堪..."></el-input>
+              <span v-else>{{ dataForm.checkOrder.problemDescription }}</span>
             </el-form-item>
           </div>
         </div>
@@ -81,8 +92,9 @@
           </div>
           <div class="el-border-left acceptDate" style="height: 80px;width: 80%;">
             <el-form-item style="width: 100%;padding-left:20px;margin:0;">
-              <el-input type="textarea"
-                        :rows="3" v-model="dataForm.testCheckOrder.problemProcess" placeholder="闂澶勭悊..."></el-input>
+              <el-input v-if="stepMarker=='csjcd_wtcl'" type="textarea"
+                        :rows="3" v-model="dataForm.checkOrder.problemProcess" placeholder="闂澶勭悊..."></el-input>
+              <span v-else>{{ dataForm.checkOrder.problemProcess }}</span>
             </el-form-item>
           </div>
         </div>
@@ -92,15 +104,15 @@
           </div>
           <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;">
             <el-form-item style="width: 100%;padding-left:20px;margin:0;">
-              <el-input v-model="dataForm.testCheckOrder.processor" placeholder="澶勭悊浜�"></el-input>
+              <span>{{ dataForm.checkOrder.processor }}</span>
             </el-form-item>
           </div>
           <div style="width: 84px;text-align: center;font-weight: 600">
             楠岃瘉浜�
           </div>
           <div class="el-border-left acceptDate1" style="width: 40%;height: 40px;">
-            <el-form-item  label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0">
-              <el-input v-model="dataForm.testCheckOrder.verifier" placeholder="楠岃瘉浜�"></el-input>
+            <el-form-item label-width="150px" style="width: 100%;padding-left:20px;margin-bottom:0">
+              <span>{{ dataForm.checkOrder.verifier }}</span>
             </el-form-item>
           </div>
         </div>
@@ -113,23 +125,28 @@
 </template>
 
 <script>
+  import qs from "qs";
+  import Cookies from "js-cookie";
+
   export default {
-    props:{
-      pageCode: {
-        type: String,
-        default: ''
-      },
-    },
     data() {
       return {
+        pageCode: '',
+        stepMarker: '',
+        configDetailRow: null,
+        subtitle: '',
+        pageName: {
+          plan: '杞欢娴嬭瘯璁″垝', explain: '杞欢娴嬭瘯璇存槑', record: '杞欢娴嬭瘯璁板綍', report: '杞欢娴嬭瘯鎶ュ憡',
+          contract: '鍚堝悓璇勫闃舵', require: '娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝闃舵', execute: '娴嬭瘯璁捐涓庡疄鐜般�佹墽琛岄樁娈�', summary: '娴嬭瘯鎬荤粨闃舵'
+        },
         dataForm: {
           id: '',
           projectId: '',
-          project:{
-            softwareIdentity:'',
-            softwareName:'',
+          project: {
+            softwareIdentity: '',
+            softwareName: '',
           },
-          testCheckOrder:{
+          checkOrder: {
             code: '',
             examiner: '',
             examDate: '',
@@ -138,45 +155,113 @@
             processor: '',
             verifier: '',
           },
-          checkOrderList:{}
+          checkOrderList: []
+        }
+      }
+    },
+    computed: {
+      getDict() {
+        if (this.pageCode && (this.pageCode === 'plan' || this.pageCode === 'explain' || this.pageCode === 'record' || this.pageCode === 'report')) {
+          return 'tristate1'
+        } else {
+          return 'tristate2'
         }
       }
     },
     methods: {
       init(id, row) {
-        console.log(id,row,'杞欢娴嬭瘯璁″垝妫�鏌ュ崟')
-        if (id) {
+        this.configDetailRow = row
+        if (row.checkId) {
+          console.log('閰嶇疆椤瑰叆搴撳鏍歌繘鏉ョ殑 TestCheckOrder-AddOrUpdate.vue init row.checkId')
+          if (row.checkId != -1) {
+            this.dataForm.id = row.checkId
+          }
+        } else if (id) {
           this.dataForm.id = id
         } else {
           this.dataForm.id = row.id
         }
-        if(row.projectId){
-          this.dataForm.projectId =row.projectId
-        }
+        this.pageCode = row.pageCode
+        this.subtitle = this.pageName[this.pageCode]
 
-        // this.dataForm.disabled
+        if (row.projectId) {
+          this.dataForm.projectId = row.projectId
+        }
+        if (this.configDetailRow) {
+          if (!row.stepMarker) {
+            this.stepMarker = 'csjcd_first'
+            this.title = '鍙戣捣娴嬭瘯妫�鏌ュ崟'
+          } else {
+            this.title = row.stepName
+            this.stepMarker = row.stepMarker
+          }
+        }
+        //this.dataForm.disabled
         this.getInfo()
-        console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
+
+        //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker')
+      },
+      indexFormat(index) {
+        return index += 1
       },
       // 鑾峰彇淇℃伅
       async getInfo() {
         let params = {
           checkId: this.dataForm.id,
           projectId: this.dataForm.projectId,
-          pageCode:this.pageCode
+          pageCode: this.pageCode
         }
+        console.log(this.pageCode, "getInfo pageCode")
         let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/getDto`, {params: params})
+        this.pageCode = res.data.checkOrder.pageCode
         this.dataForm = {
           ...this.dataForm,
           ...res.data
         }
+        console.log(this.dataForm, 'this.dataForm this.dataForm')
+      },
+      async print() {
+        var params = qs.stringify({
+          token: Cookies.get('token'),
+          id: this.dataForm.id,
+          pageCode: this.pageCode
+        })
+        let apiURL = `/testCheckOrder/TestCheckOrder/exportCheckOrder`
+        window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}`
       },
       // 琛ㄥ崟鎻愪氦
-      async formSubmit() {
+      async formSubmit(submitType) {
+        let isFlow = false
+        if (submitType == 'tj') {
+          for (let item of this.dataForm.checkOrderList) {
+            if (!item.checkResult) {
+              this.$alert("鏈夋湭濉啓鐨勬暟鎹�")
+              return
+            } else if (item.checkResult == "2") {
+              isFlow = true
+            }
+          }
+          if (submitType == 'tj' && !isFlow) {
+            submitType == ''
+          }
+        }
+        if (submitType == 'bl') {
+          isFlow = true
+        }
+        if (submitType == 'tj' && isFlow || submitType == 'bl' && isFlow) {
+          let flowInfo = {
+            flowCode: 'csjcd',
+            stepIdMark: this.stepMarker,
+            submitType: submitType
+          }
+          this.dataForm.flowInfoDto = flowInfo;
+        }
+        console.log(this.dataForm, "this.dataForm formSubmit(submitType)")
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm)
         if (res.success) {
           await this.$tip.success()
           this.$refs.dialog.close()
+          this.$emit('recall', res.data, this.configDetailRow)
           this.$emit('refreshDataList')
         }
       }
@@ -184,39 +269,43 @@
   }
 </script>
 <style>
-.el-flexCirculationDialog {
-  display: flex;
-  align-items: center
-}
+  .el-flexCirculationDialog {
+    display: flex;
+    align-items: center
+  }
 
-.testCheckFormAuto  .acceptDate > .el-form-item > .el-form-item__content {
-  width: 100%;
-}
-.testCheckFormAuto  .acceptDate1 > .el-form-item > .el-form-item__content {
-  width: 100%;
-}
-.testCheckFormAuto .marginTopAndMarginBottom {
-  margin-top: 10px !important;
-  margin-bottom: 0 !important;
-}
+  .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
+    width: 100%;
+  }
 
-.testCheckFormAuto .marginTopAndMarginBottom2 {
-  margin-top: -10px !important;
-  margin-bottom: 10px !important;
-}
+  .testCheckFormAuto .acceptDate1 > .el-form-item > .el-form-item__content {
+    width: 100%;
+  }
 
-.testCheckFormAuto .marginTopAndMarginBottom3 {
-  margin-top: 0 !important;
-  margin-bottom: 10px !important;
-}
+  .testCheckFormAuto .marginTopAndMarginBottom {
+    margin-top: 10px !important;
+    margin-bottom: 0 !important;
+  }
 
-.testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
-  line-height: 78px;
-}
-.testCheckContentWidth > .el-form-item > .el-form-item__content {
-  width: calc(100% - 120px);
-}
-.testCheckFormAuto .el-radio {
-  margin-right: 10px;
-}
+  .testCheckFormAuto .marginTopAndMarginBottom2 {
+    margin-top: -10px !important;
+    margin-bottom: 10px !important;
+  }
+
+  .testCheckFormAuto .marginTopAndMarginBottom3 {
+    margin-top: 0 !important;
+    margin-bottom: 10px !important;
+  }
+
+  .testCheckFormAuto .acceptDate > .el-form-item > .el-form-item__content {
+    line-height: 78px;
+  }
+
+  .testCheckContentWidth > .el-form-item > .el-form-item__content {
+    width: calc(100% - 120px);
+  }
+
+  .testCheckFormAuto .el-radio {
+    margin-right: 10px;
+  }
 </style>

--
Gitblit v1.9.1