From d89ef43c4713adf26f74b796653d1dd15ff1f81a Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期三, 29 十一月 2023 16:37:47 +0800
Subject: [PATCH] 6

---
 web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue |  365 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 303 insertions(+), 62 deletions(-)

diff --git a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
index 6e150f7..7c60f0b 100644
--- a/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
+++ b/web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
@@ -1,51 +1,186 @@
 <template>
   <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
-    <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px">
-      <zt-form-item label="椤圭洰ID" prop="projectId" rules="required">
-                        <el-input v-model="dataForm.projectId"></el-input>
-                </zt-form-item>
-      <zt-form-item label="閰嶇疆椤瑰叆搴撶紪鍙�" prop="code" rules="required">
-                        <el-input v-model="dataForm.code"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰缂栧彿" prop="projectCode" rules="required">
-                        <el-input v-model="dataForm.projectCode"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰鍚嶇О" prop="projectName" rules="required">
-                        <el-input v-model="dataForm.projectName"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐢宠浜�" prop="applicant" rules="required">
-                        <el-input v-model="dataForm.applicant"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐢宠鏃ユ湡" prop="applyDate" rules="required">
-                        <el-input v-model="dataForm.applyDate"></el-input>
-                </zt-form-item>
-      <zt-form-item label="搴撶被鍨�" prop="libraryType" rules="required">
-                        <zt-dict v-model="dataForm.libraryType" dict="library_type"></zt-dict>
-                </zt-form-item>
-      <zt-form-item label="鎵瑰噯鎰忚" prop="approvalOpinions" rules="required">
-                        <zt-dict v-model="dataForm.approvalOpinions" dict="is_agree"></zt-dict>
-                </zt-form-item>
-      <zt-form-item label="鎵瑰噯绛惧瓧" prop="approvalSign" rules="required">
-                        <el-input v-model="dataForm.approvalSign"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鎵瑰噯鏃ユ湡" prop="approvalDate" rules="required">
-                        <el-input v-model="dataForm.approvalDate"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰CM鎿嶄綔" prop="projectCmOperations" rules="required">
-                        <el-input v-model="dataForm.projectCmOperations"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鎿嶄綔浜�" prop="operator" rules="required">
-                        <el-input v-model="dataForm.operator"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鎿嶄綔鏃ユ湡" prop="operateDate" rules="required">
-                        <el-input v-model="dataForm.operateDate"></el-input>
-                </zt-form-item>
-      <zt-form-item label="澶囨敞" prop="remark" rules="required">
-                        <el-input v-model="dataForm.remark"></el-input>
-                </zt-form-item>
-      <zt-form-item label="骞翠唤" prop="year" rules="required">
-                        <el-input v-model="dataForm.year"></el-input>
-                </zt-form-item>
+    <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>
+        </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-input v-model="dataForm.project.code" placeholder="璇疯緭鍏ラ」鐩紪鍙�"></el-input>
+        </el-form-item>
+        <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-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>
+        </el-form-item>
+        </div>
+        <div class="el-flexManageDialog el-border-bottom">
+          <div class="DFormWidth DAlign DHold">
+            鍏ュ簱閰嶇疆椤�
+          </div>
+          <div class="el-border-left" style="width: calc(100% - 120px)">
+            <div class="table-container">
+            <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">
+                  <span v-html="indexFormat(scope.$index)"></span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="itemName" min-width="200" label="閰嶇疆椤瑰悕绉�">
+                <template v-slot="{ row }">
+                  <el-input v-model="row.itemName" placeholder="閰嶇疆椤瑰悕绉�"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="itemDentify" align="center" width="220" label="閰嶇疆椤规爣璇�">
+                <template v-slot="{ row }">
+                  <el-input v-model="row.itemIdentify" placeholder="閰嶇疆椤规爣璇�"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="version" align="center" width="120" label="鐗堟湰">
+                <template v-slot="{ row }">
+                  <el-input v-model="row.version" placeholder="鐗堟湰"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="retrospectVersion" label="涓婃函鐗�" width="120"  align="center">
+                <template v-slot="{ row }">
+                  <el-input v-model="row.retrospectVersion" placeholder="涓婃函鐗�"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="secretClass" label="瀵嗙骇" width="80"  align="center">
+                <template v-slot="{ row }">
+                  <zt-dict v-model="row.secretClass" placeholder="瀵嗙骇" dict="secret_class"
+                           clearable></zt-dict>
+                </template>
+              </el-table-column>
+            </el-table>
+              <div class="icon-container" @click="addConfigItemWarehouseRow()">
+                <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+                <i class="el-icon-plus"></i>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="el-flexManageDialog el-border-bottom">
+          <div class="DFormWidth DAlign DHold">
+            椤圭洰QA瀹℃牳
+          </div>
+          <div class="el-border-left" style="width: calc(100% - 120px)">
+            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.qaAuditList"
+                      stripe>
+              <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">
+                <template slot-scope="scope">
+                  <zt-dict 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>
+            <div class="el-border-top">
+            <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
+              <zt-dict v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true"
+                       clearable></zt-dict>
+            </el-form-item>
+            <el-form-item label="瀹℃牳浜猴細" style="width: 48%">
+              <span>{{dataForm.configItemWarehouse.qaAuditor}}</span>
+            </el-form-item>
+            <el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%">
+              <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span>
+            </el-form-item>
+            </div>
+          </div>
+        </div>
+        <div class="el-flexManageDialog el-border-bottom">
+          <div class="DFormWidth DAlign DHold">
+            CM瀹℃牳
+          </div>
+          <div class="el-border-left" style="width: calc(100% - 120px)">
+            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.cmAuditList"
+                      stripe>
+              <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">
+                <template slot-scope="scope">
+                  <zt-dict 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>
+            <div class="el-border-top">
+              <el-form-item label="瀹℃牳缁撴灉" style="width: 99%">
+                <zt-dict v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="瀹℃牳缁撴灉" dict="is_pass" :radio="true"
+                         clearable></zt-dict>
+              </el-form-item>
+              <el-form-item label="瀹℃牳浜猴細" style="width: 48%">
+                <span>{{dataForm.configItemWarehouse.cmAuditor}}</span>
+              </el-form-item>
+              <el-form-item label="瀹℃牳鏃ユ湡锛�" style="width: 48%">
+                <span>{{dataForm.configItemWarehouse.cmAuditDate}}</span>
+              </el-form-item>
+            </div>
+          </div>
+        </div>
+        <div class="el-flexManageDialog el-border-bottom">
+          <div class="DFormWidth DAlign DHold">
+            鎵瑰噯鎰忚
+          </div>
+          <div style="width: calc(100% - 120px)" class="el-border-left">
+            <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%">
+              <zt-dict 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%">
+              <span>{{dataForm.configItemWarehouse.approvalSign}}</span>
+            </el-form-item>
+            <el-form-item label="鏃ユ湡锛�" style="width: 20%">
+              <span>{{dataForm.configItemWarehouse.approvalDate}}</span>
+            </el-form-item>
+          </div>
+        </div>
+        <div class="el-flexManageDialog el-border-bottom">
+          <div class="DFormWidth DAlign DHold">
+            椤圭洰CM鎿嶄綔
+          </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-form-item>
+            <el-form-item label-width="80%" label="鎿嶄綔浜猴細" style="width: 65%">
+              <span>{{dataForm.configItemWarehouse.operator}}</span>
+            </el-form-item>
+            <el-form-item label="鏃ユ湡锛�" style="width: 20%">
+              <span>{{dataForm.configItemWarehouse.operateDate}}</span>
+            </el-form-item>
+          </div>
+        </div>
+        <div class="el-flexManageDialog">
+          <div class="DFormWidth DAlign DHold">
+            澶囨敞
+          </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.remark"></el-input>
+            </el-form-item>
+          </div>
+        </div>
+      </div>
     </el-form>
   </zt-dialog>
 </template>
@@ -56,32 +191,66 @@
       return {
         dataForm: {
           id: '',
-          projectId: '',
-          code: '',
-          projectCode: '',
-          projectName: '',
-          applicant: '',
-          applyDate: '',
-          libraryType: '',
-          approvalOpinions: '',
-          approvalSign: '',
-          approvalDate: '',
-          projectCmOperations: '',
-          operator: '',
-          operateDate: '',
-          remark: '',
-          year: ''
+          configItemWarehouse:{
+            id:"",
+            code: "",
+            applicant: "",
+            applyDate: "",
+            libraryType: "",
+            qaAuditResults:"",
+            qaAuditor:"",
+            qaAuditDate:"",
+            cmAuditResults:"",
+            cmAuditor:"",
+            cmAuditDate:"",
+            approvalOpinions: "",
+            approvalSign: "",
+            approvalDate: "",
+            projectCmOperations: "",
+            operator: "",
+            operateDate: "",
+            remark: "",
+          },
+          project: {
+            code: '',
+            softwareName: '',
+          },
+          cmAuditList:[],
+          configItemList:[],
+          qaAuditList:[],
         }
       }
     },
     methods: {
+      indexFormat(index){
+        return index += 1
+      },
+      init(id,row){
+        this.dataForm.id = row.id
+        this.dataForm.projectId = row.projectId
+        // this.dataForm.disabled
+        this.getInfo()
+        console.log(this.dataForm.id,this.dataForm.projectId,'params params')
+      },
+      addConfigItemWarehouseRow(){
+        this.dataForm.configItemList.push({})
+        this.$nextTick(()=>{
+          const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
+          tableBody.scrollTop = tableBody.scrollHeight;
+        })
+      },
       // 鑾峰彇淇℃伅
       async getInfo() {
-        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/${this.dataForm.id}`)
+        let params = {
+          warehouseId: this.dataForm.id,
+          projectId: this.dataForm.projectId
+        }
+        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params})
         this.dataForm = {
           ...this.dataForm,
           ...res.data
         }
+        console.log(this.dataForm,"getInfo this.dataForm")
       },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
@@ -95,3 +264,75 @@
     }
   }
 </script>
+<style>
+.ManageFormAuto {
+  width: 70%;
+  margin: 0 auto;
+}
+.confirmDAuto{
+  border: 1px solid;
+}
+
+.el-flexManageDialog {
+  display: flex;
+  align-items: center;
+}
+
+.DFormWidth {
+  width: 120px;
+}
+
+.DAlign {
+  text-align: center;
+}
+
+.DManageForm{
+  /*border-left: 1px solid;*/
+  width: 100%;
+}
+
+.DManageForm> .el-form-item > .el-form-item__content {
+  width: calc(100% - 120px);
+}
+.el-form-item.el-CMTextarea>.el-form-item__content{
+  width: 100%;
+}
+.el-form .el-form-item.el-wt-form-item-margin{
+  margin-left: 120px;
+}
+.el-form-border{
+  border-top: 1px solid;
+  border-bottom: 1px solid;
+}
+.el-margin-top-bot{
+  margin-top:5px;
+  margin-bottom:5px;
+}
+.zt .el-table.el-software th {
+  background: transparent;
+}
+
+.zt .el-table.el-software th > .cell {
+  font-weight: 500;
+}
+.DHold{
+  font-weight: 600;
+}
+.zt .el-table.el-software{
+  font-size: 14px;
+}
+.warehouseContentWidth > .el-form-item > .el-form-item__content {
+  width: calc(100% - 120px);
+}
+.warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content {
+  width: calc(100% - 142px);
+}
+.warehouseFormAuto .marginTopAndMarginBottom {
+  margin-top: 10px !important;
+  margin-bottom: 0 !important;
+}
+.warehouseFormAuto .marginTopAndMarginBottom2 {
+  margin-top: -10px !important;
+  margin-bottom: 0 !important;
+}
+</style>

--
Gitblit v1.9.1