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/project/Project-AddOrUpdate.vue |  365 +++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 301 insertions(+), 64 deletions(-)

diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue
index e0f1801..01607af 100644
--- a/web/src/views/modules/project/Project-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -1,60 +1,141 @@
 <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="entrustUnitName" rules="required">
-                        <el-input v-model="dataForm.entrustUnitName"></el-input>
-                </zt-form-item>
-      <zt-form-item label="濮旀墭鍗曚綅鍦板潃" prop="entrustUnitAddress" rules="required">
-                        <el-input v-model="dataForm.entrustUnitAddress"></el-input>
-                </zt-form-item>
-      <zt-form-item label="濮旀墭鍗曚綅鑱旂郴浜�" prop="entrustUnitContact" rules="required">
-                        <el-input v-model="dataForm.entrustUnitContact"></el-input>
-                </zt-form-item>
-      <zt-form-item label="濮旀墭鍗曚綅鑱旂郴鏂瑰紡" prop="entrustUnitContWay" rules="required">
-                        <el-input v-model="dataForm.entrustUnitContWay"></el-input>
-                </zt-form-item>
-      <zt-form-item label="寮�鍙戝崟浣嶅悕绉�" prop="developUnitName" rules="required">
-                        <el-input v-model="dataForm.developUnitName"></el-input>
-                </zt-form-item>
-      <zt-form-item label="寮�鍙戝崟浣嶅湴鍧�" prop="developUnitAddress" rules="required">
-                        <el-input v-model="dataForm.developUnitAddress"></el-input>
-                </zt-form-item>
-      <zt-form-item label="寮�鍙戝崟浣嶈仈绯讳汉" prop="developUnitContact" rules="required">
-                        <el-input v-model="dataForm.developUnitContact"></el-input>
-                </zt-form-item>
-      <zt-form-item label="寮�鍙戝崟浣嶈仈绯绘柟寮�" prop="developUnitContWay" rules="required">
-                        <el-input v-model="dataForm.developUnitContWay"></el-input>
-                </zt-form-item>
-      <zt-form-item label="杞欢鍚嶇О" prop="software" rules="required">
-                        <el-input v-model="dataForm.software"></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="identity" rules="required">
-                        <el-input v-model="dataForm.identity"></el-input>
-                </zt-form-item>
-      <zt-form-item label="瀵嗙骇" prop="secretClass" rules="required">
-                        <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>
-                </zt-form-item>
-      <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" rules="required">
-                        <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>
-                </zt-form-item>
-      <zt-form-item label="娴嬭瘯绾у埆" prop="testLevel" rules="required">
-                        <zt-dict v-model="dataForm.testLevel" dict="test_level"></zt-dict>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰璐熻矗浜�" prop="projectLeader" rules="required">
-                        <el-input v-model="dataForm.projectLeader"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters" rules="required">
-                        <el-input v-model="dataForm.projectTesters"></el-input>
-                </zt-form-item>
-      <zt-form-item label="椤圭洰瀹℃牳浜哄憳" prop="projectReviewer" rules="required">
-                        <el-input v-model="dataForm.projectReviewer"></el-input>
-                </zt-form-item>
-      <zt-form-item label="鏄惁绛剧讲鍚堝悓" prop="isContract" rules="required">
-                        <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>
-                </zt-form-item>
+    <!--    <div class="fa-card-a fa-box-a" style="height: calc(100vh - 130px)">-->
+    <el-form ref="dataForm" style="padding: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm"
+             label-width="120px"
+             class="projectAuto">
+      <div class="DManageForm">
+        <el-form-item label-width="80px" label="椤圭洰缂栧彿" prop="code" style="width: 99%;margin-bottom:-5px" readonly>
+          <span>{{dataForm.code}}</span>
+        </el-form-item>
+      </div>
+      <div style="border: 1px solid rgba(0,0,0,.2)">
+        <div class="el-flex el-border-bottom">
+          <div class="DWidth DAlign DHold">
+            濮旀墭鍗曚綅
+          </div>
+          <div class="DSTOld-1-Form">
+            <!-- 鍗曚綅鍚嶇О -->
+            <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="entrustUnitName" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.entrustUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
+            </zt-form-item>
+            <!-- 鑱旂郴浜� -->
+            <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="entrustUnitContact" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.entrustUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
+            </zt-form-item>
+
+            <!-- 璇︾粏鍦板潃 -->
+            <zt-form-item label="璇︾粏鍦板潃" prop="entrustUnitAddress" style="width: 49%" rules="required">
+              <el-input v-model="dataForm.entrustUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input>
+            </zt-form-item>
+            <!-- 鑱旂郴鏂瑰紡 -->
+            <zt-form-item label="鑱旂郴鏂瑰紡" prop="entrustUnitContWay" style="width: 49%" rules="required">
+              <el-input v-model="dataForm.entrustUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input>
+            </zt-form-item>
+          </div>
+        </div>
+        <div class="el-flex el-border-bottom">
+          <div class="DWidth DAlign DHold">
+            寮�鍙戝崟浣�
+          </div>
+          <div class="DSTOld-1-Form">
+            <!-- 鍗曚綅鍚嶇О -->
+            <zt-form-item class="marginTopAndMarginBottom" label="鍗曚綅鍚嶇О" prop="developUnitName" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.developUnitName" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
+            </zt-form-item>
+            <!-- 鑱旂郴浜� -->
+            <zt-form-item class="marginTopAndMarginBottom" label="鑱旂郴浜�" prop="developUnitContact" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.developUnitContact" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
+            </zt-form-item>
+            <!-- 璇︾粏鍦板潃 -->
+            <zt-form-item label="璇︾粏鍦板潃" prop="developUnitAddress" style="width: 49%" rules="required">
+              <el-input v-model="dataForm.developUnitAddress" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�"></el-input>
+            </zt-form-item>
+            <!-- 鑱旂郴鏂瑰紡 -->
+            <zt-form-item label="鑱旂郴鏂瑰紡" prop="developUnitContWay" style="width: 49%" rules="required">
+              <el-input v-model="dataForm.developUnitContWay" placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"></el-input>
+            </zt-form-item>
+          </div>
+        </div>
+        <div class="el-flex el-border-bottom">
+          <div class="DWidth-Unt DAlign DHold">
+            琚祴浠朵俊鎭�
+          </div>
+          <div class="DSTOld-1-Form">
+            <!-- 鍗曚綅鍚嶇О -->
+            <zt-form-item class="marginTopAndMarginBottom" label="杞欢鍚嶇О" prop="softwareName" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ヨ蒋浠跺悕绉�"></el-input>
+            </zt-form-item>
+            <!-- 鑱旂郴浜� -->
+            <zt-form-item class="marginTopAndMarginBottom" label="杞欢鏍囪瘑" prop="softwareIdentity" style="width: 49%"
+                          rules="required">
+              <el-input v-model="dataForm.softwareIdentity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input>
+            </zt-form-item>
+            <!-- 璇︾粏鍦板潃 -->
+            <zt-form-item label="瀵嗙骇" prop="secretClass" style="width: 49%" rules="required">
+              <zt-dict v-model="dataForm.secretClass" dict="secret_class"></zt-dict>
+            </zt-form-item>
+            <!--          <zt-form-item label="淇濆瘑绾у埆" prop="secretClass"  style="width: 25%">-->
+            <!--            <zt-dict v-model="dataForm.secretClass" dict="secret_class" placeholder="淇濆瘑绾у埆" style="width:200px"></zt-dict>-->
+            <!--          </zt-form-item>-->
+            <!-- 鑱旂郴鏂瑰紡 -->
+            <zt-form-item label="鍏抽敭绛夌骇" prop="criticalLevel" style="width: 49%" rules="required">
+              <zt-dict v-model="dataForm.criticalLevel" dict="critical_level"></zt-dict>
+            </zt-form-item>
+            <div class="el-flex" style="height: 40px;border-top:1px solid rgba(0,0,0,.2)">
+              <div class="DWidth DAlign DHold">
+                杞欢绫诲瀷
+              </div>
+              <div style="width: calc(100% - 120px);">
+                <zt-dict v-model="dataForm.softwareType" :radio="true" dict="software_type" clearable></zt-dict>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div class="el-flex ">
+          <div class="DWidth DAlign DHold">
+            椤圭洰璐d换浜�
+          </div>
+          <div class="DSTOld-1-Form">
+            <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="鎵�灞為儴闂�" prop="bizDeptId"
+                          style="width: 48%" rules="required">
+              <zt-select @input="changeDept" v-model="dataForm.bizDeptId" :datas="bizDeptList" placeholder="鎵�灞為儴闂�"/>
+            </zt-form-item>
+            <!-- 鏄惁绛剧讲鍚堝悓 -->
+            <zt-form-item label-width="120px" label="鏄惁绛剧讲鍚堝悓" prop="isContract" style="width: 48%" rules="required">
+              <zt-dict v-model="dataForm.isContract" dict="is_or_not"></zt-dict>
+            </zt-form-item>
+            <!-- 椤圭洰璐熻矗浜� -->
+            <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰璐熻矗浜�" prop="projectLeader"
+                          style="width: 48%" rules="required">
+              <zt-select v-model="dataForm.projectLeader" :datas="projectLeaderList" placeholder="椤圭洰璐熻矗浜�"/>
+            </zt-form-item>
+            <!-- 椤圭洰娴嬭瘯浜哄憳 -->
+            <zt-form-item class="marginTopAndMarginBottom" label-width="120px" label="椤圭洰娴嬭瘯浜哄憳" prop="projectTesters"
+                          style="width: 48%" rules="required">
+              <!--                <el-input v-model="dataForm.projectTesters" placeholder="璇疯緭鍏ラ」鐩祴璇曚汉鍛�"></el-input>-->
+              <zt-select v-model="dataForm.projectTesters" :datas="projectTestersList" :multiple="true"
+                         :clearable="true" placeholder="椤圭洰娴嬭瘯浜哄憳"/>
+            </zt-form-item>
+            <!-- 椤圭洰瀹℃牳浜� -->
+            <zt-form-item label-width="120px" label="椤圭洰瀹℃牳浜�" prop="projectReviewer" style="width: 48%" rules="required">
+              <!--                <el-input v-model="dataForm.projectReviewer" placeholder="璇疯緭鍏ラ」鐩鏍镐汉"></el-input>-->
+              <zt-select v-model="dataForm.projectReviewer" :datas="projectReviewerList" :multiple="true"
+                         :clearable="true" placeholder="椤圭洰瀹℃牳浜�"/>
+            </zt-form-item>
+            <zt-form-item label-width="120px" label="椤圭洰閰嶇疆浜�" prop="projectConfiger" style="width: 48%" rules="required">
+              <!--                <el-input v-model="dataForm.projectReviewer" placeholder="璇疯緭鍏ラ」鐩鏍镐汉"></el-input>-->
+              <zt-select v-model="dataForm.projectConfiger" :datas="projectConfigerList" :multiple="true"
+                         :clearable="true" placeholder="椤圭洰閰嶇疆浜�"/>
+            </zt-form-item>
+          </div>
+        </div>
+      </div>
     </el-form>
   </zt-dialog>
 </template>
@@ -73,37 +154,193 @@
           developUnitAddress: '',
           developUnitContact: '',
           developUnitContWay: '',
-          software: '',
+          softwareType: '',
+          softwareName: '',
           code: '',
-          identity: '',
+          softwareIdentity: '',
           secretClass: '',
           criticalLevel: '',
           testLevel: '',
           projectLeader: '',
           projectTesters: '',
           projectReviewer: '',
-          isContract: ''
-        }
+          projectConfiger: '',
+          bizDeptId: '',
+          isContract: '',
+        },
+        projectLeaderList: [],
+        projectTestersList: [],
+        projectReviewerList: [],
+        projectConfigerList: [],
+        bizDeptList: [],
+        bizDeptIdList: [],
       }
     },
     methods: {
+      init() {
+        this.getInfo()
+        this.getbizDept()
+      },
       // 鑾峰彇淇℃伅
       async getInfo() {
-        let res = await this.$http.get(`/project//${this.dataForm.id}`)
-        this.dataForm = {
-          ...this.dataForm,
-          ...res.data
+        console.log(this.dataForm.id, "async getInfo()")
+        if (this.dataForm.id == undefined) {
+          return
         }
+        let res = await this.$http.get(`/project/Project/${this.dataForm.id}`)
+        if (res.success) {
+          this.dataForm = {
+            ...this.dataForm,
+            ...res.data
+          }
+          await this.getUserList()
+        }
+        console.log(this.dataForm, "async getInfo() dataForm")
+      },
+      changeDept(selected) {
+        console.log(selected, 'selected')
+        this.dataForm.projectLeader = ''
+        this.dataForm.projectTesters = []
+        this.dataForm.projectReviewer = []
+        this.dataForm.projectConfiger = []
+        this.getUserList()
+      },
+      async getUserList() {
+        let res = await this.$http.get(`/project/Project/getUsersLists?deptId=${this.dataForm.bizDeptId}`)
+        if (res.success) {
+          this.projectLeaderList = res.data.zrr
+          this.projectTestersList = res.data.csry
+          this.projectReviewerList = res.data.shry
+          this.projectConfigerList = res.data.pzry
+        }
+        console.log(this.dataForm, 'this.dataForm')
+      },
+      async getbizDept() {
+        let res = await this.$http.get(`/sys/dept/getList`)
+        if (res.success) {
+          this.bizDeptList = res.data;
+        }
+        console.log(this.bizDeptList, "getbizDept")
       },
       // 琛ㄥ崟鎻愪氦
       async formSubmit() {
-        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project//', this.dataForm)
+        if (this.dataForm.secretClass > localStorage.getItem('userSecretClass')) {
+          this.$alert("褰撳墠椤圭洰璁剧疆鐨勫瘑绾ч珮浜庡綋鍓嶇敤鎴风殑瀵嗙骇锛岃閲嶆柊璁剧疆")
+          return
+        }
+        if (this.dataForm && this.dataForm.projectTesters instanceof Array) {
+          this.dataForm.projectTesters = this.dataForm.projectTesters.join(',')
+        }
+        if (this.dataForm && this.dataForm.projectReviewer instanceof Array) {
+          this.dataForm.projectReviewer = this.dataForm.projectReviewer.join(',')
+        }
+        if (this.dataForm && this.dataForm.projectConfiger instanceof Array) {
+          this.dataForm.projectConfiger = this.dataForm.projectConfiger.join(',')
+        }
+        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/project/Project/', this.dataForm)
         if (res.success) {
           await this.$tip.success()
           this.$refs.dialog.close()
           this.$emit('refreshDataList')
+        } else {
+          if (this.dataForm && this.dataForm.projectTesters instanceof Array) {
+            this.dataForm.projectTesters = this.dataForm.projectTesters.split(',')
+            console.log(this.dataForm.projectTesters)
+          }
+          if (this.dataForm && this.dataForm.projectReviewer instanceof Array) {
+            this.dataForm.projectReviewer = this.dataForm.projectReviewer.split(',')
+            console.log(this.dataForm.projectReviewer)
+          }
+          if (this.dataForm && this.dataForm.projectConfiger instanceof Array) {
+            this.dataForm.projectConfiger = this.dataForm.projectConfiger.split(',')
+            console.log(this.dataForm.projectConfiger)
+          }
         }
       }
     }
   }
 </script>
+<style>
+  .projectAuto {
+    width: 70%;
+  }
+
+  .el-flex {
+    display: flex;
+    align-items: center;
+  }
+
+  .DWidth {
+    width: 100px;
+  }
+
+  .DWidth-Unt {
+    width: 100px;
+  }
+
+  .DAlign {
+    text-align: center;
+  }
+
+  .DSTOld-1-Form,
+  .DSTOld-1-Form {
+    border-left: 1px solid rgba(0, 0, 0, .2);
+    width: 100%;
+  }
+
+  .el-border-left {
+    border-left: 1px solid rgba(0, 0, 0, .2);
+  }
+
+  .DOldForm {
+    width: 100%;
+  }
+
+  .el-border-top-and-bottom {
+    border-top: 1px solid rgba(0, 0, 0, .2);
+    border-bottom: 1px solid rgba(0, 0, 0, .2);
+  }
+
+  .DSTOld-1-Form {
+    border-left: 1px solid rgba(0, 0, 0, .2);
+    width: 100%;
+  }
+
+  .DSTOld-1-Form > .el-form-item > .el-form-item__content {
+    width: calc(100% - 120px);
+  }
+
+  .DManageForm > .el-form-item > .el-form-item__content {
+    width: calc(100% - 120px);
+  }
+
+  .el-border-bottom {
+    border-bottom: 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;
+  }
+
+  .projectAuto .marginTopAndMarginBottom {
+    margin-top: 10px !important;
+    margin-bottom: 0 !important;
+  }
+
+  .projectAuto .marginTopAndMarginBottom2 {
+    margin-top: -10px !important;
+    margin-bottom: 10px !important;
+  }
+</style>

--
Gitblit v1.9.1