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 |  346 +++++++++++++++++++++++++++++++++------------------------
 1 files changed, 201 insertions(+), 145 deletions(-)

diff --git a/web/src/views/modules/project/Project-AddOrUpdate.vue b/web/src/views/modules/project/Project-AddOrUpdate.vue
index 90218e6..01607af 100644
--- a/web/src/views/modules/project/Project-AddOrUpdate.vue
+++ b/web/src/views/modules/project/Project-AddOrUpdate.vue
@@ -1,23 +1,28 @@
 <template>
   <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
-<!--    <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-border-bottom">
-          <zt-form-item label-width="60px" label="椤圭洰缂栧彿" prop="code" style="width: 99%" readonly>
-            <el-input v-model="dataForm.code"></el-input>
-          </zt-form-item>
-        </div>
+    <!--    <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 label="鍗曚綅鍚嶇О" prop="entrustUnitName" style="width: 49%" rules="required">
+            <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 label="鑱旂郴浜�" prop="entrustUnitContact" style="width: 49%" rules="required">
+            <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>
 
@@ -37,11 +42,13 @@
           </div>
           <div class="DSTOld-1-Form">
             <!-- 鍗曚綅鍚嶇О -->
-            <zt-form-item label="鍗曚綅鍚嶇О" prop="developUnitName" style="width: 49%" rules="required">
+            <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 label="鑱旂郴浜�" prop="developUnitContact" style="width: 49%" rules="required">
+            <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>
             <!-- 璇︾粏鍦板潃 -->
@@ -60,12 +67,14 @@
           </div>
           <div class="DSTOld-1-Form">
             <!-- 鍗曚綅鍚嶇О -->
-            <zt-form-item label="杞欢鍚嶇О" prop="softwareName" style="width: 49%" rules="required">
+            <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 label="杞欢鏍囪瘑" prop="identity" style="width: 49%" rules="required">
-              <el-input v-model="dataForm.identity" placeholder="璇疯緭鍏ヨ蒋浠舵爣璇�"></el-input>
+            <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">
@@ -78,12 +87,12 @@
             <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">
+            <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>
+                <zt-dict v-model="dataForm.softwareType" :radio="true" dict="software_type" clearable></zt-dict>
               </div>
             </div>
           </div>
@@ -93,79 +102,41 @@
             椤圭洰璐d换浜�
           </div>
           <div class="DSTOld-1-Form">
-            <!-- 鍗曚綅鍚嶇О -->
-            <zt-form-item label-width="120px" label="椤圭洰璐熻矗浜�" prop="projectLeader" style="width: 48%" rules="required">
-              <el-input v-model="dataForm.projectLeader" placeholder="璇疯緭鍏ュ崟浣嶅悕绉�"></el-input>
+            <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="projectTesters" style="width: 48%" rules="required">
-              <el-input v-model="dataForm.projectTesters" placeholder="璇疯緭鍏ヨ仈绯讳汉"></el-input>
-            </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-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>
-      </el-form>
-<!--    </div>-->
-<!--    <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="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>-->
-<!--    </el-form>-->
+      </div>
+    </el-form>
   </zt-dialog>
 </template>
 
@@ -186,105 +157,190 @@
           softwareType: '',
           softwareName: '',
           code: '',
-          identity: '',
+          softwareIdentity: '',
           secretClass: '',
           criticalLevel: '',
           testLevel: '',
           projectLeader: '',
           projectTesters: '',
           projectReviewer: '',
+          projectConfiger: '',
+          bizDeptId: '',
           isContract: '',
-        }
+        },
+        projectLeaderList: [],
+        projectTestersList: [],
+        projectReviewerList: [],
+        projectConfigerList: [],
+        bizDeptList: [],
+        bizDeptIdList: [],
       }
     },
     methods: {
+      init() {
+        this.getInfo()
+        this.getbizDept()
+      },
       // 鑾峰彇淇℃伅
       async getInfo() {
-        let res = await this.$http.get(`/project/Project//${this.dataForm.id}`)
+        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/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%;
-  border: 1px solid;
-}
+  .projectAuto {
+    width: 70%;
+  }
 
-.el-flex {
-  display: flex;
-  align-items: center;
-}
+  .el-flex {
+    display: flex;
+    align-items: center;
+  }
 
-.DWidth {
-  width: 100px;
-}
+  .DWidth {
+    width: 100px;
+  }
 
-.DWidth-Unt {
-  width: 100px;
-}
+  .DWidth-Unt {
+    width: 100px;
+  }
 
-.DAlign {
-  text-align: center;
-}
+  .DAlign {
+    text-align: center;
+  }
 
-.DSTOld-1-Form,
-.DSTOld-1-Form{
-  border-left: 1px solid;
-  width: 100%;
-}
-.el-border-left{
-  border-left: 1px solid;
-}
-.DOldForm {
-  width: 100%;
-}
-.el-border-top-and-bottom{
-  border-top: 1px solid;
-  border-bottom: 1px solid;
-}
-.DSTOld-1-Form {
-  border-left: 1px solid;
-  width: 100%;
-}
+  .DSTOld-1-Form,
+  .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;
-}
+  .el-border-left {
+    border-left: 1px solid rgba(0, 0, 0, .2);
+  }
 
-.zt .el-table.el-software th {
-  background: transparent;
-}
+  .DOldForm {
+    width: 100%;
+  }
 
-.zt .el-table.el-software th > .cell {
-  font-weight: 500;
-}
-.DHold{
-  font-weight: 600;
-}
-.zt .el-table.el-software{
-  font-size: 14px;
-}
+  .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