From b21945e7dea2daa8b30bee3cdd4bca91277e3b5f Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期三, 29 十一月 2023 09:22:17 +0800
Subject: [PATCH] 6

---
 web/src/views/modules/project/Environ-AddOrUpdate.vue |  211 +++++++++++++++++++++++++++++++++-------------------
 1 files changed, 134 insertions(+), 77 deletions(-)

diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue
index 0d3e81c..9a52aad 100644
--- a/web/src/views/modules/project/Environ-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue
@@ -1,23 +1,23 @@
 <template>
   <zt-dialog ref="dialog" column="2" @confirm="formSubmit" append-to-body title="娴嬭瘯鐜寤虹珛纭琛�">
-      <el-form :model="dataForm" style="padding: 0" :inline="true"  ref="dataForm" :disabled="dataForm.disabled" label-width="130px" class="confirmFormAuto">
+      <el-form :model="dataForm" style="padding-top: 0" :inline="true"  ref="dataForm" :disabled="dataForm.disabled" label-width="130px" class="confirmFormAuto">
         <div class="DConfirmForm">
           <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0">
-            <span>{{dataForm.code}}</span>
+            <span>{{dataForm.environ.code}}</span>
           </el-form-item>
         </div>
         <div style="border: 1px solid rgba(0,0,0,.2);width: 99%" class="confirmDAuto DConfirmForm">
           <el-form-item class="marginTopAndMarginBottom" label="涓撲笟瀹為獙瀹ゅ悕绉�" style="width: 49%">
-            <el-input v-model="dataForm.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input>
+            <el-input v-model="dataForm.testAgencyInfo.agencyName" placeholder="涓撲笟瀹為獙瀹ゅ悕绉�"></el-input>
           </el-form-item>
           <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%">
-            <el-input v-model="dataForm.site" placeholder="娴嬭瘯鍦扮偣"></el-input>
+            <el-input v-model="dataForm.testAgencyInfo.site" placeholder="娴嬭瘯鍦扮偣"></el-input>
           </el-form-item>
           <el-form-item  label="琚祴杞欢" style="width: 49%">
-            <el-input v-model="dataForm.softwareName" placeholder="琚祴杞欢"></el-input>
+            <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.softwareIdentity" placeholder="鐗堟湰"></el-input>
+            <el-input v-model="dataForm.project.softwareIdentity" placeholder="鐗堟湰"></el-input>
           </el-form-item>
           <div class="el-flexConfigDialog el-form-border">
             <div class="DFormWidth DAlign DHold">
@@ -26,9 +26,9 @@
             <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
               <div style="padding: 5px">杞欢璧勬簮锛�</div>
               <div class="table-container">
-              <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.softwareResourcesList"
+              <el-table ref="tableSoftwareList" class="el-software el-margin-top-bot" border :data="dataForm.softwareResourcesList"
                         stripe>
-                <el-table-column prop="code" align="center" width="80" label="搴忓彿">
+                <el-table-column prop="no" align="center" width="80" label="搴忓彿">
                   <template slot-scope="scope">
                     <span v-html="indexFormat(scope.$index)"></span>
                   </template>
@@ -43,9 +43,9 @@
                     <el-input v-model="row.version" placeholder="鐗堟湰"></el-input>
                   </template>
                 </el-table-column>
-                <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��">
+                <el-table-column prop="purposes" align="center" width="180" label="鐢ㄩ��">
                   <template v-slot="{ row }">
-                    <el-input v-model="row.usage" placeholder="鐢ㄩ��"></el-input>
+                    <el-input v-model="row.purposes" placeholder="鐢ㄩ��"></el-input>
                   </template>
                 </el-table-column>
                 <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180"  align="center">
@@ -61,14 +61,38 @@
               </div>
               <div style="padding: 5px">纭欢璧勬簮锛�</div>
               <div class="table-container">
-              <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.hardwareResourcesList"
+              <el-table ref="tableHardwareList" class="el-software el-margin-top-bot" border :data="dataForm.hardwareResourcesList"
                         stripe>
-                <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>
-                <el-table-column prop="itemName" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�"></el-table-column>
-                <el-table-column prop="usage" align="center" width="180" label="鐢ㄩ��"></el-table-column>
-                <el-table-column prop="number" align="center" width="80" label="鏁伴噺"></el-table-column>
-                <el-table-column prop="state" align="center" width="120" label="鐘舵��"></el-table-column>
-                <el-table-column prop="provideUnit" align="center" width="180" label="鎻愪緵鍗曚綅"></el-table-column>
+                <el-table-column prop="no" align="center" width="80" label="搴忓彿">
+                  <template slot-scope="scope">
+                    <span v-html="indexFormat(scope.$index)"></span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="itemName" min-width="300" label="纭欢鍜屽浐浠堕」鐩悕绉�">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.itemName" placeholder="纭欢鍜屽浐浠堕」鐩悕绉�"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="purposes" align="center" width="180" label="鐢ㄩ��">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.purposes" placeholder="鐢ㄩ��"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="number" align="center" width="80" label="鏁伴噺">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.number" placeholder="鏁伴噺"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="state" align="center" width="120" label="鐘舵��">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.state" placeholder="鐘舵��"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="provideUnit" align="center" width="180" label="鎻愪緵鍗曚綅">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.provideUnit" placeholder="鎻愪緵鍗曚綅"></el-input>
+                  </template>
+                </el-table-column>
               </el-table>
                 <div class="icon-container" @click="addHardwareRow()">
                   <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
@@ -82,8 +106,14 @@
               鍔ㄦ�佹祴璇曠幆澧冨浘
             </div>
             <div style="width: calc(100% - 120px);">
-              <div style="height:150px" class="el-wt-border-left">
-                <span>{{dataForm.testEnvirontDiagram}}</span>
+              <div  class="el-wt-border-left">
+                <span>{{dataForm.environ.testEnvirontDiagram}}</span>
+                <config-uploader busi-type="test_environt_diagram" model-name="dataForm" :dataForm="dataForm"
+                                 @getImageUrl="getImageUrl"
+                                 v-model="dataForm.files"/>
+                <div v-if="dataForm.url">
+                  <el-image :src="dataForm.url"></el-image>
+                </div>
               </div>
             </div>
           </div>
@@ -93,14 +123,38 @@
             </div>
             <div class="el-wt-border-left" style="padding-left:5px;width: calc(100% - 130px)">
               <div class="table-container">
-              <el-table class="el-software el-margin-top-bot" height="150" border :data="dataForm.environAnalysisList"
+              <el-table ref="tableEnvironeList" class="el-software el-margin-top-bot" border :data="dataForm.environAnalysisList"
                         stripe>
-                <el-table-column prop="code" align="center" width="80" label="搴忓彿"></el-table-column>
-                <el-table-column prop="realEnviron" min-width="300" label="鐪熷疄鐜"></el-table-column>
-                <el-table-column prop="testEnviron" align="center" width="100" label="娴嬭瘯鐜"></el-table-column>
-                <el-table-column prop="environDifference" align="center" width="100" label="鐜宸紓"></el-table-column>
-                <el-table-column prop="resultImpact" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�"></el-table-column>
-                <el-table-column prop="measure" align="center" width="180" label="鎺柦"></el-table-column>
+                <el-table-column prop="no" align="center" width="80" label="搴忓彿">
+                  <template slot-scope="scope">
+                    <span v-html="indexFormat(scope.$index)"></span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="realEnviron" min-width="300" label="鐪熷疄鐜">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.realEnviron" placeholder="鐪熷疄鐜"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="testEnviron" align="center" width="100" label="娴嬭瘯鐜">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.testEnviron" placeholder="娴嬭瘯鐜"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="environDifference" align="center" width="100" label="鐜宸紓">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.environDifference" placeholder="鐜宸紓"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="resultImpact" align="center" width="160" label="瀵规祴璇曠粨鏋滃奖鍝�">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.resultImpact" placeholder="瀵规祴璇曠粨鏋滃奖鍝�"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="measure" align="center" width="180" label="鎺柦">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.measure" placeholder="鎺柦"></el-input>
+                  </template>
+                </el-table-column>
               </el-table>
                 <div class="icon-container" @click="addDiscrepancyRow()">
                   <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
@@ -115,20 +169,20 @@
             </div>
             <div style="width: calc(100% - 120px)"  class="DConfirmForm el-wt-border-left">
               <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%">
-                <el-input v-model="dataForm.establishStaff" placeholder="浜哄憳"></el-input>
+                <el-input v-model="dataForm.environ.establishStaff" placeholder="浜哄憳"></el-input>
               </el-form-item>
               <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%">
                 <el-date-picker
-                  v-model="dataForm.establishDate"
+                  v-model="dataForm.environ.establishDate"
                   type="date"
                   placeholder="鏃ユ湡">
                 </el-date-picker>
               </el-form-item>
               <el-form-item label-width="180px" class="isKill" label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" style="width: 49%">
-                <zt-dict v-model="dataForm.isVirusScan" dict="is_or_not" :radio="true"></zt-dict>
+                <zt-dict v-model="dataForm.environ.isVirusScan" dict="is_or_not" :radio="true"></zt-dict>
               </el-form-item>
               <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%">
-                <el-input v-model="dataForm.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input>
+                <el-input v-model="dataForm.environ.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input>
               </el-form-item>
             </div>
           </div>
@@ -139,12 +193,12 @@
             <div style="width: calc(100% - 120px)" class="DConfirmForm el-wt-border-left">
               <!-- 鍗曚綅鍚嶇О -->
               <el-form-item class="marginTopAndMarginBottom" label="浜哄憳" style="width: 49%">
-                <el-input v-model="dataForm.confirmatStaff" placeholder="浜哄憳"></el-input>
+                <el-input v-model="dataForm.environ.confirmatStaff" placeholder="浜哄憳"></el-input>
               </el-form-item>
               <!-- 鑱旂郴浜� -->
               <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%">
                 <el-date-picker
-                  v-model="dataForm.confirmatDate"
+                  v-model="dataForm.environ.confirmatDate"
                   type="date"
                   placeholder="鏃ユ湡">
                 </el-date-picker>
@@ -162,26 +216,32 @@
       return {
         dataForm: {
           id: '',
-          code: '',
-          agencyName:'',
-          site:'',
-          softwareName:'',
-          softwareIdentity:'',
-          hardSoftwareRes: '',
-          testEnvirontDiagram: '',
+          url:'',
+          environ:{
+            code: '1',
+            hardSoftwareRes: '',
+            testEnvirontDiagram: '',
+            establishStaff:'',
+            establishDate:'',
+            environAnalysis: '',
+            environEstablish: '',
+            environConfirmat: '',
+            confirmatStaff: '',
+            confirmatDate: '',
+            isVirusScan: '',
+            virusDatabaseVersion: '',
+          },
+          project: {
+            softwareIdentity: '',
+            softwareName: '',
+          },
+          testAgencyInfo: {
+            agencyName:'',
+            site:'',
+          },
           softwareResourcesList:[],
           hardwareResourcesList:[],
-          environAnalysisList:[],
-          establishStaff:'',
-          establishDate:'',
-          environAnalysis: '',
-          environEstablish: '',
-          environConfirmat: '',
-          confirmatStaff: '',
-          confirmatDate: '',
-          isVirusScan: '',
-          virusDatabaseVersion: '',
-          softwareData:[]
+          environAnalysisList:[]
         }
       }
     },
@@ -196,7 +256,7 @@
       // 鑾峰彇淇℃伅
       async getInfo() {
         let params = {
-          orderId: this.dataForm.id,
+          environId: this.dataForm.id,
           projectId: this.dataForm.projectId
         }
         let res = await this.$http.get(`/project/Environ/getDto`,{params: params})
@@ -210,10 +270,30 @@
         return index += 1
       },
       addSoftwareRow(){
-        this.dataForm.softwareData.push({})
+        this.dataForm.softwareResourcesList.push({})
+        this.$nextTick(()=>{
+          const tableBody=this.$refs.tableSoftwareList.$el.querySelector('.el-table__body-wrapper')
+          tableBody.scrollTop = tableBody.scrollHeight
+        })
       },
-      addHardwareRow(){},
-      addDiscrepancyRow(){},
+      addHardwareRow(){
+        this.dataForm.hardwareResourcesList.push({})
+        this.$nextTick(()=>{
+          const tableBody=this.$refs.tableHardwareList.$el.querySelector('.el-table__body-wrapper')
+          tableBody.scrollTop = tableBody.scrollHeight;
+        })
+      },
+      addDiscrepancyRow(){
+        this.dataForm.environAnalysisList.push({})
+        this.$nextTick(()=>{
+          const tableBody=this.$refs.tableEnvironeList.$el.querySelector('.el-table__body-wrapper')
+          tableBody.scrollTop = tableBody.scrollHeight;
+        })
+      },
+      getImageUrl(url){
+        this.dataForm.url  = url
+        console.log(this.dataForm.url,' this.dataForm.url')
+      },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Environ/', this.dataForm)
@@ -243,11 +323,6 @@
 .DFormWidth {
   width: 120px;
 }
-
-.DAlign {
-  text-align: center;
-}
-
 .DConfirmForm {
   /*border-left: 1px solid;*/
   width: 100%;
@@ -299,23 +374,5 @@
   margin-top: 0 !important;
   margin-bottom: 10px !important;
 }
-.table-container {
-  position: relative;
-}
 
-.icon-container {
-  z-index: 1;
-  position: absolute;
-  bottom: -20px;
-  left: 50%;
-  width: 40px;
-  height: 30px;
-  text-align: center;
-  line-height: 30px;
-  transform: translateX(-50%);
-  border: 1px solid #EBEEF5;
-  background-color: #fafafa;
-  box-shadow: 0 3px 6px 0 rgba(72, 119, 232, 0.14);
-  border-radius: 2px;
-}
 </style>

--
Gitblit v1.9.1