From 9ada19d01d0cb6aaa0dec99e24bf7a9b511750bf Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期六, 06 一月 2024 15:55:31 +0800
Subject: [PATCH] 审核页面和编辑用户页面修改及接口联调

---
 src/views/unifiedManage/userLevel/components/AddUserLevel.vue  |   26 +----
 src/views/unifiedManage/userManage/components/EditUserInfo.vue |   38 ++++++++-
 src/views/unifiedManage/userManage/components/ReviewDialog.vue |   83 ++++++++++++++------
 src/api/unifiedManage/userManage.js                            |   16 ++++
 src/views/unifiedManage/userManage/index.vue                   |    4 
 src/views/unifiedManage/userLevel/index.vue                    |   39 ++++-----
 6 files changed, 134 insertions(+), 72 deletions(-)

diff --git a/src/api/unifiedManage/userManage.js b/src/api/unifiedManage/userManage.js
index ef95fcf..bbc8045 100644
--- a/src/api/unifiedManage/userManage.js
+++ b/src/api/unifiedManage/userManage.js
@@ -24,3 +24,19 @@
     data
   })
 }
+// 鐢ㄦ埛瀹℃牳
+export function userExamine(data) {
+  return request({
+    url: "/api/user/userExamine",
+    method: "post",
+    data
+  })
+}
+// 璁剧疆鐢ㄦ埛淇℃伅
+export function setUser(data) {
+  return request({
+    url: "/api/user/setUser",
+    method: "post",
+    data
+  })
+}
diff --git a/src/views/unifiedManage/userLevel/components/AddUserLevel.vue b/src/views/unifiedManage/userLevel/components/AddUserLevel.vue
index e845320..cc97951 100644
--- a/src/views/unifiedManage/userLevel/components/AddUserLevel.vue
+++ b/src/views/unifiedManage/userLevel/components/AddUserLevel.vue
@@ -51,7 +51,7 @@
                   :data="item.menus"
                   show-checkbox
                   node-key="id"
-                  @check-change="handleCheckChange"
+                  :default-checked-keys="editConfig.infomation.menuIDs"
                   :props="treeDefaultProp"
                   default-expand-all
                 >
@@ -146,7 +146,7 @@
     },
     // 鑾峰彇鍙傝�冭鑹� 椤甸潰鏉冮檺  鑿滃崟 鐨勬暟鎹�
     async getDataInfo(val) {
-      const rsp = await getDataRole({ useType: 2 })
+      const rsp = await getDataRole({ useType: 1 })
       if (rsp.code == 200) {
         // 鍙傝�冭鑹�
         this.prepareRoleList = rsp.data.roles ? rsp.data.roles : []
@@ -156,6 +156,7 @@
         this.form.completeType = this.completeList.length > 0 ? this.completeList[0].systemType : 1
       }
       if (this.editConfig.visible) {
+        console.log("ssss")
         this.resetForm(val)
       }
     },
@@ -177,21 +178,10 @@
           this.completeList.length > 0 && this.completeList[0].systemType ? this.completeList[0].systemType : 1
       }
       if (val) {
+        console.log("aaaa", val)
         this.form = JSON.parse(JSON.stringify(val))
         this.form.completeType =
           this.completeList.length > 0 && this.completeList[0].systemType ? this.completeList[0].systemType : 1
-        if (this.form.menuIDs && this.form.menuIDs.length > 0) {
-          for (let i in this.menusList) {
-            console.log(this.$refs["menuTree&" + this.menusList[i].systemType])
-            // this.$refs["menuTree&" + this.menusList[i].systemType][0].setCheckedKeys(this.form.allMenu.split(","))
-          }
-        }
-      } else {
-        console.log(this.menusList)
-        for (let i in this.menusList) {
-          console.log(this.$refs["menuTree&" + this.menusList[i]?.systemType])
-          //   this.$refs["menuTree&" + this.menusList[i]?.systemType][0].setCheckedKeys([])
-        }
       }
     },
     imgClick(item, index) {
@@ -222,7 +212,8 @@
           submitFn(param).then((reply) => {
             if (reply && reply.code === 200) {
               this.$message.success("淇濆瓨鎴愬姛")
-              this.$emit("shutdown", false)
+              this.handleClose()
+              this.$parent.getData()
             }
           })
         }
@@ -265,14 +256,11 @@
           id: this.editRow.id,
           comment: data.comment || "",
           name: data.name || "",
-          useType: 2
+          useType: 1
         },
         menuIDs: menuIds
       }
       return params
-    },
-    shutdown() {
-      this.$emit("shutdown", false)
     }
   }
 }
diff --git a/src/views/unifiedManage/userLevel/index.vue b/src/views/unifiedManage/userLevel/index.vue
index 94d452e..6a5a152 100644
--- a/src/views/unifiedManage/userLevel/index.vue
+++ b/src/views/unifiedManage/userLevel/index.vue
@@ -59,9 +59,8 @@
         </div>
       </div>
     </div>
-    <div class="overSpread" v-show="isopen"></div>
     <!-- 娣诲姞/缂栬緫 -->
-    <AddUserLevel :isopen="isopen" @shutdown="shutdown" :editRow="editRow" />
+    <AddUserLevel v-if="editConfig.visible" :edit-common-config="editConfig" />
   </div>
 </template>
 
@@ -71,7 +70,18 @@
 import { getListRole, getUserList, roleChange, deleteRole } from "@/api/unifiedManage/userLevel"
 export default {
   name: "UserLevel",
-  props: {},
+  props: {
+    isDetail: {
+      type: Boolean,
+      default: false
+    },
+    addConfig: {
+      type: Object,
+      default: () => {
+        return {}
+      }
+    }
+  },
   mixins: [pageMixin],
   components: { AddUserLevel },
   computed: {},
@@ -114,7 +124,6 @@
       ],
       showBottomCol: ["鐢ㄦ埛鍚�", "濮撳悕", "鎵嬫満鍙�", "宀椾綅鑱屽姟", "鐘舵��"],
       isopen: false,
-      editRow: {},
       editConfig: {
         visible: false,
         title: "鏂板缓",
@@ -177,11 +186,9 @@
     },
     // 鏂板缓
     addBtnClick() {
-      // this.editConfig.title = "鏂板缓"
-      // this.editConfig.visible = true
-      // this.editConfig.infomation = {}
-      this.isopen = true
-      this.editRow = {}
+      this.editConfig.title = "鏂板缓"
+      this.editConfig.visible = true
+      this.editConfig.infomation = {}
     },
     // 鎼滅储
     searchClick(val) {
@@ -221,11 +228,9 @@
     // 缂栬緫
     handleClick(val) {
       console.log(val)
-      // this.editConfig.title = "缂栬緫"
-      // this.editConfig.infomation = { ...val }
-      // this.editConfig.visible = true
-      this.editRow = val
-      this.isopen = true
+      this.editConfig.title = "缂栬緫"
+      this.editConfig.infomation = { ...val }
+      this.editConfig.visible = true
     },
     // 鍒犻櫎绛夌骇
     delClick(row) {
@@ -247,12 +252,6 @@
           })
         })
         .catch(() => {})
-    },
-    shutdown() {
-      this.isopen = false
-      setTimeout(() => {
-        this.getData()
-      }, 200)
     },
     // 琛岀偣鍑�
     tableRowClick(row) {
diff --git a/src/views/unifiedManage/userManage/components/EditUserInfo.vue b/src/views/unifiedManage/userManage/components/EditUserInfo.vue
index 144b745..8016de3 100644
--- a/src/views/unifiedManage/userManage/components/EditUserInfo.vue
+++ b/src/views/unifiedManage/userManage/components/EditUserInfo.vue
@@ -42,7 +42,7 @@
             <el-input v-model="editConfig.form.region" placeholder="--" disabled></el-input>
           </el-form-item>
           <el-form-item label="鐢ㄦ埛绛夌骇:" prop="roleIDs">
-            <el-checkbox-group v-model="editConfig.form.roleIDs">
+            <el-checkbox-group v-model="editConfig.form.roleIDs" :disabled="editConfig.title == '鏌ョ湅' ? true : false">
               <el-checkbox v-for="role in roleList" :label="role.id" :key="role.id">{{ role.name }}</el-checkbox>
             </el-checkbox-group>
           </el-form-item>
@@ -59,7 +59,7 @@
 </template>
 
 <script>
-import { getRoleIDs } from "@/api/unifiedManage/userManage"
+import { getRoleIDs, setUser } from "@/api/unifiedManage/userManage"
 export default {
   name: "EditUserInfo",
   props: {
@@ -69,7 +69,9 @@
         return {
           visible: false,
           title: "鏂板缓",
-          form: {}
+          form: {
+            roleIDs: []
+          }
         }
       }
     }
@@ -83,9 +85,9 @@
       // form: {},
       rules: {
         username: [{ required: true, message: "璇疯緭鍏ョ敤鎴峰悕", trigger: "blur" }],
-        password: [{ required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }],
+        // password: [{ required: true, message: "璇疯緭鍏ュ瘑鐮�", trigger: "blur" }],
         phone: [{ required: true, message: "璇疯緭鍏ユ墜鏈哄彿", trigger: "blur" }],
-        companyName: [{ required: true, message: "璇疯緭鍏ュ叕鍙稿悕绉�", trigger: "blur" }],
+        // companyName: [{ required: true, message: "璇疯緭鍏ュ叕鍙稿悕绉�", trigger: "blur" }],
         nickName: [{ required: true, message: "璇疯緭鍏ヨ仈绯讳汉鍚嶇О", trigger: "blur" }],
         roleIDs: [{ required: true, message: "璇烽�夋嫨鐢ㄦ埛绛夌骇", trigger: "change" }]
       },
@@ -123,6 +125,32 @@
       if (rsp.code == 200) {
         this.roleList = rsp.data ? rsp.data : []
       }
+    },
+    // 纭畾
+    onSubmit(formName) {
+      this.$refs[formName].validate((valid) => {
+        console.log(valid)
+        if (valid) {
+          let param = this.saveParams()
+          setUser(param).then((reply) => {
+            if (reply && reply.code === 200) {
+              this.$message.success("淇濆瓨鎴愬姛")
+              this.handleClose()
+              this.$parent.getData()
+            }
+          })
+        }
+      })
+    },
+    saveParams() {
+      let params = {
+        dutyIDs: this.editConfig.form.dutyIDs,
+        id: this.editConfig.form.id,
+        nickName: this.editConfig.form.nickName,
+        phone: this.editConfig.form.phone,
+        roleIDs: this.editConfig.form.roleIDs
+      }
+      return params
     }
   }
 }
diff --git a/src/views/unifiedManage/userManage/components/ReviewDialog.vue b/src/views/unifiedManage/userManage/components/ReviewDialog.vue
index e837bb5..d86022c 100644
--- a/src/views/unifiedManage/userManage/components/ReviewDialog.vue
+++ b/src/views/unifiedManage/userManage/components/ReviewDialog.vue
@@ -9,27 +9,23 @@
       custom-class="iframe-dialog"
     >
       <div class="drawerContent" style="overflow: auto">
-        <el-form ref="form" :rules="rules" :model="form" label-position="right" label-width="100px">
+        <el-form ref="form" :rules="rules" :model="editConfig.infomation" label-position="right" label-width="100px">
           <el-form-item label="瀹℃牳缁撴灉:" prop="result">
-            <el-select v-model="form.result" placeholder="璇烽�夋嫨瀹℃牳缁撴灉">
-              <el-option label="瀹℃牳閫氳繃" value="瀹℃牳閫氳繃"></el-option>
-              <el-option label="瀹℃牳鎷掔粷" value="瀹℃牳鎷掔粷"></el-option>
+            <el-select v-model="editConfig.infomation.result" placeholder="璇烽�夋嫨瀹℃牳缁撴灉">
+              <el-option label="瀹℃牳閫氳繃" :value="3"></el-option>
+              <el-option label="瀹℃牳鎷掔粷" :value="4"></el-option>
             </el-select>
           </el-form-item>
-          <el-form-item v-if="form.result === '瀹℃牳鎷掔粷'" label="鏈�氳繃鍘熷洜:" prop="reason">
-            <el-input v-model="form.reason" type="textarea"></el-input>
+          <el-form-item v-if="editConfig.infomation.result === 4" label="鏈�氳繃鍘熷洜:" prop="reason">
+            <el-input v-model="editConfig.infomation.reason" type="textarea"></el-input>
           </el-form-item>
-          <el-form-item v-if="form.result === '瀹℃牳閫氳繃'" label="鐢ㄦ埛绛夌骇:" prop="level">
-            <el-radio-group v-model="form.level">
-              <div style="margin-top: 10px">
-                <el-radio :label="1">涓夊悎涓�缁忓吀浼氬憳</el-radio>
-                <el-radio :label="2">APS+WMS鏅�氫細鍛�</el-radio>
-              </div>
-              <div style="margin-top: 10px">
-                <el-radio :label="3">鍥涘悎涓�瓒呯骇浼氬憳</el-radio>
-                <el-radio :label="4">APS鏅�氫細鍛�</el-radio>
-              </div>
-            </el-radio-group>
+          <el-form-item v-if="editConfig.infomation.result === 3" label="鐢ㄦ埛绛夌骇:" prop="roleIDs">
+            <el-checkbox-group
+              v-model="editConfig.infomation.roleIDs"
+              :disabled="editConfig.title == '鏌ョ湅' ? true : false"
+            >
+              <el-checkbox v-for="role in roleList" :label="role.id" :key="role.id">{{ role.name }}</el-checkbox>
+            </el-checkbox-group>
           </el-form-item>
         </el-form>
       </div>
@@ -44,6 +40,7 @@
 </template>
 
 <script>
+import { getRoleIDs, userExamine } from "@/api/unifiedManage/userManage"
 export default {
   name: "ReviewDialog",
   props: {
@@ -53,7 +50,10 @@
         return {
           visible: false,
           title: "鐢ㄦ埛瀹℃牳",
-          infomation: {}
+          infomation: {
+            result: 3,
+            roleIDs: []
+          }
         }
       }
     }
@@ -64,39 +64,70 @@
     return {
       dialogWidth: "30%",
       editConfig: this.editCommonConfig,
-      form: {
-        result: "瀹℃牳閫氳繃"
-      },
       rules: {
         result: [{ required: true, message: "璇烽�夋嫨瀹℃牳缁撴灉", trigger: "change" }],
         reason: [{ required: true, message: "璇疯緭鍏ユ嫆缁濆師鍥�", trigger: "blur" }],
-        level: [{ required: true, message: "璇烽�夋嫨鐢ㄦ埛绛夌骇", trigger: "change" }]
-      }
+        roleIDs: [{ required: true, message: "璇烽�夋嫨鐢ㄦ埛绛夌骇", trigger: "change" }]
+      },
+      roleList: [] // 鐢ㄦ埛绛夌骇
     }
   },
   watch: {
     "editCommonConfig.visible"(val) {
       if (val) {
         this.$refs.form.resetFields()
-        // this.getDataInfo()
       }
     },
     "editCommonConfig.infomation"(val) {
       if (this.isopen) {
         this.$refs.form.resetFields()
         if (val.id) {
-          this.form = val
+          // this.form = val
           // this.getDataInfo(val)
         }
       }
     }
   },
   created() {
-    // this.getDataInfo()
+    this.getDataInfo()
   },
   methods: {
     handleClose() {
       this.editConfig.visible = false
+    },
+    // 鑾峰彇绛夌骇淇℃伅
+    async getDataInfo() {
+      const rsp = await getRoleIDs({ useType: 1 })
+      if (rsp.code == 200) {
+        this.roleList = rsp.data ? rsp.data : []
+      }
+    },
+    // 纭畾
+    onSubmit(formName) {
+      this.$refs[formName].validate((valid) => {
+        console.log(valid)
+        if (valid) {
+          let param = this.saveParams()
+          userExamine(param).then((reply) => {
+            if (reply && reply.code === 200) {
+              this.$message.success("淇濆瓨鎴愬姛")
+              this.handleClose()
+              this.$parent.getData()
+            }
+          })
+        }
+      })
+    },
+    saveParams() {
+      let reason = this.editConfig.infomation.result == 3 ? "" : this.editConfig.infomation.reason
+      let roleIds = this.editConfig.infomation.result == 3 ? this.editConfig.infomation.roleIDs : []
+      let params = {
+        reason: reason,
+        roleIds: roleIds,
+        status: this.editConfig.infomation.result,
+        userId: this.editConfig.infomation.id
+      }
+      return params
     }
   }
 }
diff --git a/src/views/unifiedManage/userManage/index.vue b/src/views/unifiedManage/userManage/index.vue
index 13dbccd..70e8173 100644
--- a/src/views/unifiedManage/userManage/index.vue
+++ b/src/views/unifiedManage/userManage/index.vue
@@ -85,7 +85,7 @@
       editConfig: {
         visible: false,
         title: "鏌ョ湅",
-        infomation: {}
+        form: {}
       },
       reviewConfig: {
         visible: false,
@@ -132,7 +132,7 @@
       console.log(row)
       this.reviewConfig.visible = true
       this.reviewConfig.title = "鐢ㄦ埛瀹℃牳"
-      this.reviewConfig.infomation = { ...row }
+      this.reviewConfig.infomation = { result: 3, ...row }
     },
     // 鍋滅敤
     changeStatusClick(row, status) {

--
Gitblit v1.8.0