From e023474fc9bcc726ed558a0623f1316dddc13152 Mon Sep 17 00:00:00 2001
From: zzw <wander.zheng@qq.com>
Date: 星期五, 01 十二月 2023 15:14:32 +0800
Subject: [PATCH] 编号

---
 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 92 insertions(+), 27 deletions(-)

diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
index 84b1738..7236f5d 100644
--- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -1,24 +1,28 @@
 <template>
-  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
-    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :model="dataForm" label-width="120px" class="warehouseFormAuto">
+  <zt-dialog ref="dialog" column="3" :title="title" :stepMarker="stepMarker"  @confirm="formSubmit" >
+    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto">
       <div >
         <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px">
-          <span>{{dataForm.configItemWarehouse.code}}</span>
+          <span>{{dataForm.configItemWarehouse.code || '缂栧彿鑷姩鐢熸垚'}}</span>
         </el-form-item>
       </div>
       <div style="border: 1px solid rgba(0,0,0,.2);width: 99%">
         <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="warehouseContentWidth">
-        <el-form-item class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%">
+        <el-form-item  class="marginTopAndMarginBottom" label="椤圭洰缂栧彿" style="width: 49%">
           <el-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input>
         </el-form-item>
-        <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%">
+        <el-form-item  class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%">
           <el-input v-model="dataForm.project.softwareName" placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
         </el-form-item>
         <el-form-item label="鐢宠浜�" style="width: 49%">
           <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="璇疯緭鍏ョ敵璇蜂汉"></el-input>
         </el-form-item>
         <el-form-item label="鐢宠鏃ユ湡" style="width: 49%">
-          <el-input v-model="dataForm.configItemWarehouse.applyDate" placeholder="璇疯緭鍏ョ敵璇锋棩鏈�"></el-input>
+          <el-date-picker
+            v-model="dataForm.configItemWarehouse.applyDate"
+            type="date"
+            placeholder="璇烽�夋嫨鐢宠鏃ユ湡">
+          </el-date-picker>
         </el-form-item>
         <el-form-item class="marginTopAndMarginBottom2" label="搴撶被鍨�" style="width: 99%">
           <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict>
@@ -30,7 +34,7 @@
           </div>
           <div class="el-border-left" style="width: calc(100% - 120px)">
             <div class="table-container">
-            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
+            <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
                       stripe>
               <el-table-column prop="no" align="center" width="60" label="搴忓彿">
                 <template slot-scope="scope">
@@ -44,7 +48,7 @@
               </el-table-column>
               <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�">
                 <template v-slot="{ row }">
-                  <el-input v-model="row.itemDentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
+                  <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
                 </template>
               </el-table-column>
               <el-table-column prop="version" align="center" width="120" label="鐗堟湰">
@@ -61,6 +65,13 @@
                 <template v-slot="{ row }">
                   <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class"
                            clearable></zt-dict>
+                </template>
+              </el-table-column>
+              <el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="300" align="center">
+                <template v-slot="{ row }">
+                  <!--                    <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>-->
+                  <table-uploader busi-type="config_item_warehouse" model-name="row" :dataForm="row"
+                                  v-model="row.files"/>
                 </template>
               </el-table-column>
             </el-table>
@@ -82,15 +93,20 @@
               <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
               <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center">
                 <template slot-scope="scope">
-                  <zt-dict v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2"
+                  <zt-dict :disabled="getRoleName.indexOf('QA瑙掕壊')===-1" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true"
                            clearable></zt-dict>
                 </template>
               </el-table-column>
-              <el-table-column prop="notApplyExplan" align="center" width="120" label="涓嶉�傜敤璇存槑"></el-table-column>
+              <el-table-column align="center" width="120" label="涓嶉�傜敤璇存槑">
+                <template v-slot="{ row }">
+                  <el-input v-if="getRoleName.indexOf('QA瑙掕壊')>=0" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input>
+                  <span v-else>{{row.notApplyExplan}}</span>
+                </template>
+              </el-table-column>
             </el-table>
             <div class="el-border-top">
             <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
-              <zt-dict v-model="dataForm.configItemWarehouse.qaAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass"
+              <zt-dict :disabled="getRoleName.indexOf('QA瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true"
                        clearable></zt-dict>
             </el-form-item>
             <el-form-item label="瀹℃牳浜猴細" style="width: 48%">
@@ -112,14 +128,21 @@
               <el-table-column prop="no" align="center" width="80" label="搴忓彿"></el-table-column>
               <el-table-column prop="examineItem" min-width="300" label="妫�鏌ラ」"></el-table-column>
               <el-table-column label="妫�鏌ョ粨鏋�" width="250" align="center">
-                <zt-dict v-model="row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2"
-                         clearable></zt-dict>
+                <template slot-scope="scope">
+                  <zt-dict :disabled="getRoleName.indexOf('CM瑙掕壊')===-1" v-model="scope.row.examineResult" placeholder="妫�鏌ョ粨鏋�" dict="tristate2" :radio="true"
+                           clearable></zt-dict>
+                </template>
               </el-table-column>
-              <el-table-column prop="notApplyExplan" align="center" width="120" label="涓嶉�傜敤璇存槑"></el-table-column>
+              <el-table-column prop="notApplyExplan" align="center" width="120" label="涓嶉�傜敤璇存槑">
+                <template v-slot="{ row }">
+                  <el-input v-if="getRoleName.indexOf('CM瑙掕壊')>=0" v-model="row.notApplyExplan" placeholder="涓嶉�傜敤璇存槑"></el-input>
+                  <span v-else>{{row.notApplyExplan}}</span>
+                </template>
+              </el-table-column>
             </el-table>
             <div class="el-border-top">
               <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
-                <zt-dict v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass"
+                <zt-dict :disabled="getRoleName.indexOf('CM瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true"
                          clearable></zt-dict>
               </el-form-item>
               <el-form-item label="瀹℃牳浜猴細" style="width: 48%">
@@ -136,8 +159,8 @@
             鎵瑰噯鎰忚
           </div>
           <div style="width: calc(100% - 120px)" class="el-border-left">
-            <el-form-item class="el-wt-form-item-margin" label-width="120px" style="width: 85%">
-              <zt-dict v-model="dataForm.configItemWarehouse.approvalOpinions" placeholder="瀹℃牳缁撴灉" dict="is_pass"
+            <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
+              <zt-dict :disabled="getRoleName.indexOf('閮ㄩ棬SCCB瑙掕壊')===-1" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true"
                        clearable></zt-dict>
             </el-form-item>
             <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%">
@@ -154,7 +177,7 @@
           </div>
           <div style="width: calc(100% - 120px)" class="el-border-left">
             <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px">
-              <el-input  type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input>
+              <el-input v-if="getRoleName.indexOf('CM瑙掕壊')>=0" type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input>
             </el-form-item>
             <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%">
               <span>{{dataForm.configItemWarehouse.operator}}</span>
@@ -183,6 +206,9 @@
   export default {
     data() {
       return {
+        disabled:true,
+        stepMarker: '',
+        title: '鏌ョ湅',
         dataForm: {
           id: '',
           configItemWarehouse:{
@@ -212,26 +238,48 @@
           cmAuditList:[],
           configItemList:[],
           qaAuditList:[],
+          flowInfoDto: {}
         }
       }
+    },
+    computed:{
+      getRoleName(){
+        console.log(this.$store.state.user.roleName,'this.$store.state.user.roleName')
+        return this.$store.state.user.roleName || ''
+      },
     },
     methods: {
       indexFormat(index){
         return index += 1
       },
       init(id,row){
-        this.dataForm.id = row.id
-        this.dataForm.projectId = row.projectId
-        // this.dataForm.disabled
+        console.log(id,row,'鍏ュ簱鍗曠殑')
+        if (id) {
+          this.dataForm.id = id
+        } else {
+          this.dataForm.id = row.id
+        }
+        if(row.projectId){
+          this.dataForm.projectId =row.projectId
+        }
         this.getInfo()
+        if (!this.dataForm.disabled) {
+          if (!row.stepMarker) {
+            this.stepMarker = 'pzxrk_first'
+            this.title = '鍏ュ簱鐢宠'
+          } else {
+            this.title = row.stepName
+            this.stepMarker = row.stepMarker
+          }
+        }
         console.log(this.dataForm.id,this.dataForm.projectId,'params params')
       },
       addConfigItemWarehouseRow(){
-        // this.dataForm.technicalList.push({})
-        // this.$nextTick(()=>{
-        //   const tableBody=this.$refs.tableCirculatOrderList.$el.querySelector('.el-table__body-wrapper')
-        //   tableBody.scrollTop = tableBody.scrollHeight;
-        // })
+        this.dataForm.configItemList.push({})
+        this.$nextTick(()=>{
+          const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
+          tableBody.scrollTop = tableBody.scrollHeight;
+        })
       },
       // 鑾峰彇淇℃伅
       async getInfo() {
@@ -244,10 +292,27 @@
           ...this.dataForm,
           ...res.data
         }
+        if(this.dataForm.project === null){
+          this.dataForm.project={}
+        }
+        if(this.dataForm.configItemWarehouse === null){
+          this.dataForm.circulatOrder={}
+        }
+        if(this.dataForm.flowInfoDto === null){
+          this.dataForm.flowInfoDto={}
+        }
         console.log(this.dataForm,"getInfo this.dataForm")
       },
       // 琛ㄥ崟鎻愪氦
-      async formSubmit() {
+      async formSubmit(submitType) {
+        if (submitType == 'tj' || submitType == 'bl') {
+          let flowInfo = {
+            flowCode: 'pzxrk',
+            stepIdMark: this.stepMarker,
+            submitType: submitType
+          }
+          this.dataForm.flowInfoDto = flowInfo;
+        }
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemWarehouse/ConfigItemWarehouse/', this.dataForm)
         if (res.success) {
           await this.$tip.success()

--
Gitblit v1.9.1