From 2c89ccdc9e008060f8cd6608c9fcb014616987a3 Mon Sep 17 00:00:00 2001
From: zzw <wander.zheng@qq.com>
Date: 星期一, 20 十一月 2023 10:27:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 web/src/views/modules/project/Environ-AddOrUpdate.vue |  322 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 279 insertions(+), 43 deletions(-)

diff --git a/web/src/views/modules/project/Environ-AddOrUpdate.vue b/web/src/views/modules/project/Environ-AddOrUpdate.vue
index 367bcd1..0d3e81c 100644
--- a/web/src/views/modules/project/Environ-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Environ-AddOrUpdate.vue
@@ -1,43 +1,158 @@
 <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="缂栧彿" prop="code" rules="required">
-                        <el-input v-model="dataForm.code"></el-input>
-                </zt-form-item>
-      <zt-form-item label="纭蒋浠惰祫婧�" prop="hardSoftwareRes" rules="required">
-                        <el-input v-model="dataForm.hardSoftwareRes"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鍔ㄦ�佹祴璇曠幆澧冨浘" prop="testEnvirontDiagram" rules="required">
-                        <el-input v-model="dataForm.testEnvirontDiagram"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜宸紓鎬у垎鏋�" prop="environAnalysis" rules="required">
-                        <el-input v-model="dataForm.environAnalysis"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜寤虹珛" prop="environEstablish" rules="required">
-                        <el-input v-model="dataForm.environEstablish"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜寤虹珛浜哄憳" prop="establishStaff" rules="required">
-                        <el-input v-model="dataForm.establishStaff"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜寤虹珛鏃ユ湡" prop="establishDate" rules="required">
-                        <el-input v-model="dataForm.establishDate"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜纭" prop="environConfirmat" rules="required">
-                        <el-input v-model="dataForm.environConfirmat"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜纭浜哄憳" prop="confirmatStaff" rules="required">
-                        <el-input v-model="dataForm.confirmatStaff"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐜纭鏃ユ湡" prop="confirmatDate" rules="required">
-                        <el-input v-model="dataForm.confirmatDate"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鏄惁杩涜鐜鐥呮瘨鏌ユ潃" prop="isVirusScan" rules="required">
-                        <el-input v-model="dataForm.isVirusScan"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鐥呮瘨搴撶増鏈�" prop="virusDatabaseVersion" rules="required">
-                        <el-input v-model="dataForm.virusDatabaseVersion"></el-input>
-                </zt-form-item>
-    </el-form>
+  <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">
+        <div class="DConfirmForm">
+          <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: 0">
+            <span>{{dataForm.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-form-item>
+          <el-form-item class="marginTopAndMarginBottom" label="娴嬭瘯鍦扮偣" style="width: 49%">
+            <el-input v-model="dataForm.site" placeholder="娴嬭瘯鍦扮偣"></el-input>
+          </el-form-item>
+          <el-form-item  label="琚祴杞欢" style="width: 49%">
+            <el-input v-model="dataForm.softwareName" placeholder="琚祴杞欢"></el-input>
+          </el-form-item>
+          <el-form-item label="鐗堟湰" style="width: 49%">
+            <el-input v-model="dataForm.softwareIdentity" placeholder="鐗堟湰"></el-input>
+          </el-form-item>
+          <div class="el-flexConfigDialog el-form-border">
+            <div class="DFormWidth DAlign DHold">
+              纭蒋浠惰祫婧�
+            </div>
+            <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"
+                        stripe>
+                <el-table-column prop="code" align="center" width="80" label="搴忓彿">
+                  <template slot-scope="scope">
+                    <span v-html="indexFormat(scope.$index)"></span>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="name" 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="versions" align="center" width="180" label="鐗堟湰">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.version" placeholder="鐗堟湰"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="use" align="center" width="180" label="鐢ㄩ��">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.usage" placeholder="鐢ㄩ��"></el-input>
+                  </template>
+                </el-table-column>
+                <el-table-column prop="unit" label="鎻愪緵鍗曚綅" width="180"  align="center">
+                  <template v-slot="{ row }">
+                    <el-input v-model="row.provideUnit" placeholder="鎻愪緵鍗曚綅"></el-input>
+                  </template>
+                </el-table-column>
+              </el-table>
+                <div class="icon-container" @click="addSoftwareRow()">
+                  <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+                  <i class="el-icon-plus"></i>
+                </div>
+              </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"
+                        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>
+                <div class="icon-container" @click="addHardwareRow()">
+                  <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+                  <i class="el-icon-plus"></i>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="el-flexConfigDialog el-B-border">
+            <div class="DFormWidth DAlign DHold">
+              鍔ㄦ�佹祴璇曠幆澧冨浘
+            </div>
+            <div style="width: calc(100% - 120px);">
+              <div style="height:150px" class="el-wt-border-left">
+                <span>{{dataForm.testEnvirontDiagram}}</span>
+              </div>
+            </div>
+          </div>
+          <div class="el-flexConfigDialog el-B-border">
+            <div class="DFormWidth DAlign DHold">
+              鐜宸紓鎬у垎鏋�
+            </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"
+                        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>
+                <div class="icon-container" @click="addDiscrepancyRow()">
+                  <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� -->
+                  <i class="el-icon-plus"></i>
+                </div>
+              </div>
+            </div>
+          </div>
+          <div class="el-flexConfigDialog el-B-border">
+            <div class="DFormWidth DAlign DHold">
+              鐜寤虹珛
+            </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-form-item>
+              <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%">
+                <el-date-picker
+                  v-model="dataForm.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>
+              </el-form-item>
+              <el-form-item label="鐥呮瘨搴撶増鏈�" style="width: 48%">
+                <el-input v-model="dataForm.virusDatabaseVersion" placeholder="璇疯緭鍏ョ梾姣掑簱鐗堟湰"></el-input>
+              </el-form-item>
+            </div>
+          </div>
+          <div class="el-flexConfigDialog">
+            <div class="DFormWidth DAlign DHold">
+              鐜纭
+            </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.confirmatStaff" placeholder="浜哄憳"></el-input>
+              </el-form-item>
+              <!-- 鑱旂郴浜� -->
+              <el-form-item class="marginTopAndMarginBottom" label="鏃ユ湡" style="width: 48%">
+                <el-date-picker
+                  v-model="dataForm.confirmatDate"
+                  type="date"
+                  placeholder="鏃ユ湡">
+                </el-date-picker>
+              </el-form-item>
+            </div>
+          </div>
+        </div>
+      </el-form>
   </zt-dialog>
 </template>
 
@@ -48,29 +163,57 @@
         dataForm: {
           id: '',
           code: '',
+          agencyName:'',
+          site:'',
+          softwareName:'',
+          softwareIdentity:'',
           hardSoftwareRes: '',
           testEnvirontDiagram: '',
+          softwareResourcesList:[],
+          hardwareResourcesList:[],
+          environAnalysisList:[],
+          establishStaff:'',
+          establishDate:'',
           environAnalysis: '',
           environEstablish: '',
-          establishStaff: '',
-          establishDate: '',
           environConfirmat: '',
           confirmatStaff: '',
           confirmatDate: '',
           isVirusScan: '',
-          virusDatabaseVersion: ''
+          virusDatabaseVersion: '',
+          softwareData:[]
         }
       }
     },
     methods: {
+      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')
+      },
       // 鑾峰彇淇℃伅
       async getInfo() {
-        let res = await this.$http.get(`/project/Environ/${this.dataForm.id}`)
+        let params = {
+          orderId: this.dataForm.id,
+          projectId: this.dataForm.projectId
+        }
+        let res = await this.$http.get(`/project/Environ/getDto`,{params: params})
         this.dataForm = {
           ...this.dataForm,
           ...res.data
         }
+        console.log(this.dataForm,'this.dataForm')
       },
+      indexFormat(index){
+        return index += 1
+      },
+      addSoftwareRow(){
+        this.dataForm.softwareData.push({})
+      },
+      addHardwareRow(){},
+      addDiscrepancyRow(){},
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
         let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Environ/', this.dataForm)
@@ -83,3 +226,96 @@
     }
   }
 </script>
+<style>
+.confirmFormAuto {
+  width: 70%;
+  margin: 0 auto;
+}
+.confirmDAuto{
+  border: 1px solid rgba(0,0,0,.2);
+}
+
+.el-flexConfigDialog {
+  display: flex;
+  align-items: center;
+}
+
+.DFormWidth {
+  width: 120px;
+}
+
+.DAlign {
+  text-align: center;
+}
+
+.DConfirmForm {
+  /*border-left: 1px solid;*/
+  width: 100%;
+}
+
+.DConfirmForm > .el-form-item > .el-form-item__content {
+  width: calc(100% - 130px);
+}
+.DConfirmForm > .el-form-item.isKill > .el-form-item__content {
+  width: calc(100% - 180px);
+}
+.el-form-border{
+  border-top: 1px solid rgba(0,0,0,.2);
+  border-bottom: 1px solid rgba(0,0,0,.2);
+}
+.el-B-border{
+  border-bottom: 1px solid rgba(0,0,0,.2);
+}
+.el-margin-top-bot{
+  margin-top:5px;
+  margin-bottom:5px;
+}
+.el-wt-border-left{
+  border-left:1px solid rgba(0,0,0,.2);
+}
+.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;
+}
+.confirmFormAuto .marginTopAndMarginBottom {
+  margin-top: 10px !important;
+  margin-bottom: 0 !important;
+}
+
+.confirmFormAuto .marginTopAndMarginBottom2 {
+  margin-top: -10px !important;
+  margin-bottom: 10px !important;
+}
+.confirmFormAuto .marginTopAndMarginBottom3 {
+  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