From 42636c58501d68650ef5323676eee3bdea292347 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 23 八月 2023 17:08:02 +0800
Subject: [PATCH] 1.组织架构优化

---
 src/views/basicSettings/postList.vue         |   13 +++++-
 src/views/basicSettings/powerDivider.vue     |    5 ++
 src/views/basicSettings/roleList.vue         |   13 +++++-
 src/views/systemSetting/encodingRules.vue    |   12 +++++-
 src/views/basicSettings/organizationList.vue |   30 ++++++++++----
 src/views/basicSettings/groupList.vue        |   14 +++++-
 src/views/systemSetting/menuList.vue         |   11 +++++
 src/router/index.js                          |    6 +++
 src/views/basicSettings/personList.vue       |   15 +++++--
 9 files changed, 97 insertions(+), 22 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index f1937d4..521d7d0 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -254,6 +254,12 @@
         code: '1050',
         component: () => import('@/views/systemSetting/encodingRules'),
         meta: { code: '1050', title: '缂栫爜瑙勫垯', icon: '', keepAlive: true }
+      }, {
+        path: 'menuList',
+        name: 'menuListCancel',
+        code: '1051',
+        component: () => import('@/views/systemSetting/menuList'),
+        meta: { code: '1051', title: '鑿滃崟绠$悊', icon: '', keepAlive: true }
       }
     ]
   }
diff --git a/src/views/basicSettings/groupList.vue b/src/views/basicSettings/groupList.vue
index c260af2..81d1ec4 100644
--- a/src/views/basicSettings/groupList.vue
+++ b/src/views/basicSettings/groupList.vue
@@ -82,7 +82,7 @@
             </template>
           </el-table-column>
           <el-table-column
-            prop="lm_user"
+            prop="username"
             label="鍒涘缓浜哄憳"
             sortable="custom"
           />
@@ -161,7 +161,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -306,13 +312,15 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
-          // console.log(JSON.parse(JSON.stringify(this.dialogForm)), 1)
+          this.$store.state.app.buttonIsDisabled = true
           AddUpdateGroup(this.dialogForm).then(res => {
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
               this.getGroupData()
+              this.$store.state.app.buttonIsDisabled = false
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
           })
diff --git a/src/views/basicSettings/organizationList.vue b/src/views/basicSettings/organizationList.vue
index 55eff05..c807f9e 100644
--- a/src/views/basicSettings/organizationList.vue
+++ b/src/views/basicSettings/organizationList.vue
@@ -75,7 +75,7 @@
             </template>
           </el-table-column>
           <el-table-column
-            prop="lm_user"
+            prop="username"
             label="鍒涘缓浜哄憳"
             sortable="custom"
           />
@@ -142,10 +142,10 @@
         <el-form-item label="缁勭粐鍚嶇О" prop="OrganName">
           <el-input v-model="dialogForm.OrganName" style="width: 200px" />
         </el-form-item>
-        <el-form-item label="鎵�灞炵粍缁�" prop="parent_id">
+        <el-form-item label="鎵�灞炵粍缁�" prop="storgcode">
           <el-cascader
             ref="cascader"
-            v-model="dialogForm.parent_id"
+            v-model="dialogForm.storgcode"
             :options="cascaderOptions"
             filterable
             :props="defaultProps"
@@ -163,7 +163,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -209,7 +215,8 @@
         OrganCode: '', // 缁勭粐缂栫爜
         OrganName: '', // 缁勭粐鍚嶇О
         leve: 0, // 灞傜骇缂栫爜
-        parent_id: '', // 鐖剁骇缂栫爜
+        storgcode: '', // 鐖剁骇缂栫爜
+        parent_id: '', // 鍘焢id
         torg_seq: '', // 鎺掑簭
         status: 'Y'// 鐘舵��
       },
@@ -221,7 +228,7 @@
         OrganName: [
           { required: true, message: '璇疯緭鍏ョ粍缁囧悕绉�', trigger: ['blur', 'change'] }
         ],
-        parent_id: [
+        storgcode: [
           { required: true, message: '璇烽�夋嫨鎵�灞炵粍缁�', trigger: ['blur', 'change'] }
         ]
       },
@@ -303,7 +310,8 @@
         this.dialogForm.leve = parseFloat(row.leve)
         this.dialogForm.torg_seq = row.torg_seq
         this.dialogForm.status = row.status
-        this.dialogForm.parent_id = this.findParent([], row.parent_id, this.cascaderOptions).reverse()
+        this.dialogForm.storgcode = this.findParent([], row.parent_id, this.cascaderOptions).reverse()
+        this.dialogForm.parent_id = row.parent_id
       })
     },
     filterChildren(treeData, code) {
@@ -365,6 +373,7 @@
     handleClose() {
       this.dialogForm.OrganCode = ''
       this.dialogForm.OrganName = ''
+      this.dialogForm.storgcode = ''
       this.dialogForm.parent_id = ''
       this.dialogForm.status = 'Y'
       this.dialogForm.leve = 0
@@ -373,7 +382,7 @@
     },
     cascaderChange(val) {
       const temp = this.Options.find(i => i.torg_code === val[val.length - 1])
-      this.dialogForm.parent_id = val
+      this.dialogForm.storgcode = val
       this.dialogForm.leve = parseFloat(temp.leve) + 1
       this.dialogForm.torg_seq = this.Options.filter(i => i.parent_id === val[val.length - 1]).length + 1
     },
@@ -385,14 +394,17 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
-          this.dialogForm.parent_id = this.dialogForm.parent_id[this.dialogForm.parent_id.length - 1]
+          this.$store.state.app.buttonIsDisabled = true
+          this.dialogForm.storgcode = this.dialogForm.storgcode[this.dialogForm.storgcode.length - 1]
           AddUpdateOrganization(this.dialogForm).then(res => {
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
               this.getSTorgData()
             } else {
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
+              this.$store.state.app.buttonIsDisabled = false
             }
           })
         }
diff --git a/src/views/basicSettings/personList.vue b/src/views/basicSettings/personList.vue
index 49e5599..4f76e53 100644
--- a/src/views/basicSettings/personList.vue
+++ b/src/views/basicSettings/personList.vue
@@ -154,7 +154,7 @@
                 </template>
               </el-table-column>
               <el-table-column
-                prop="lm_user"
+                prop="username"
                 label="鍒涘缓浜哄憳"
                 sortable="custom"
               />
@@ -318,7 +318,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -617,18 +623,19 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
           this.dialogForm.group_code = this.dialogForm.group_code.join(',')
           this.dialogForm.post_code = this.dialogForm.post_code.join(',')
           this.dialogForm.role_code = this.dialogForm.role_code.join(',')
           this.dialogForm.storg_code = this.dialogForm.storg_code[this.dialogForm.storg_code.length - 1]
-
-          console.log(JSON.parse(JSON.stringify(this.dialogForm)))
           AddUpdateUserSave(this.dialogForm).then(res => {
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
               this.getUserData()
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
           })
diff --git a/src/views/basicSettings/postList.vue b/src/views/basicSettings/postList.vue
index 00f76f9..b3721a6 100644
--- a/src/views/basicSettings/postList.vue
+++ b/src/views/basicSettings/postList.vue
@@ -80,7 +80,7 @@
             sortable="custom"
           />
           <el-table-column
-            prop="lm_user"
+            prop="username"
             label="鍒涘缓浜哄憳"
             sortable="custom"
           />
@@ -164,7 +164,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -312,12 +318,15 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
           AddUpdatePost(this.dialogForm).then(res => {
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
               this.getPostData()
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
           })
diff --git a/src/views/basicSettings/powerDivider.vue b/src/views/basicSettings/powerDivider.vue
index eabdde9..5997ed7 100644
--- a/src/views/basicSettings/powerDivider.vue
+++ b/src/views/basicSettings/powerDivider.vue
@@ -46,6 +46,8 @@
           <el-button
             style="position: absolute;right: 15px;z-index:1;top:3px"
             type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
             @click="saveClick"
           >淇� 瀛�
           </el-button>
@@ -430,11 +432,14 @@
           })
         }
       })
+      this.$store.state.app.buttonIsDisabled = true
+
       const res = await RolePermissionSava(JSON.stringify(arr), rolecode, this.activeName)
       if (res.code === '200') {
         const rolename = this.treeLeft.find(i => i.code === rolecode).name
         this.$notify.success(rolename + '鐨勮鑹叉潈闄愭彁浜ゆ垚鍔燂紒')
         await this.getRolePermissionSearchRoleMenuButton(rolecode)
+        this.$store.state.app.buttonIsDisabled = false
       }
     },
     // 鑾峰彇椤甸潰楂樺害
diff --git a/src/views/basicSettings/roleList.vue b/src/views/basicSettings/roleList.vue
index 4548745..9b508f0 100644
--- a/src/views/basicSettings/roleList.vue
+++ b/src/views/basicSettings/roleList.vue
@@ -83,7 +83,7 @@
             sortable="custom"
           />
           <el-table-column
-            prop="lm_user"
+            prop="username"
             label="鍒涘缓浜哄憳"
             sortable="custom"
           />
@@ -227,7 +227,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -412,6 +418,7 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
           if (this.$refs.tree) {
             this.dialogForm.datapermissions = this.$refs.tree.getCheckedKeys().join(',')
           }
@@ -419,8 +426,10 @@
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
               this.getRoleData()
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
           })
diff --git a/src/views/systemSetting/encodingRules.vue b/src/views/systemSetting/encodingRules.vue
index 9b0be02..e6cc22f 100644
--- a/src/views/systemSetting/encodingRules.vue
+++ b/src/views/systemSetting/encodingRules.vue
@@ -198,7 +198,13 @@
       <span slot="footer" class="dialog-footer">
         <div class="footerButton">
           <el-button v-waves @click="dialogVisibleCancel">鍙� 娑�</el-button>
-          <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>
+          <el-button
+            v-waves
+            type="primary"
+            :loading="$store.state.app.buttonIsDisabled"
+            :disabled="$store.state.app.buttonIsDisabled"
+            @click="dialogVisibleConfirm"
+          >纭� 瀹�</el-button>
         </div>
       </span>
     </el-dialog>
@@ -410,16 +416,18 @@
     dialogVisibleConfirm() {
       this.$refs.dialogForm.validate(valid => {
         if (valid) {
+          this.$store.state.app.buttonIsDisabled = true
           const rightcode = this.$refs.cascader.checkedValue[this.$refs.cascader.checkedValue.length - 1]
           this.dialogForm.rightcode = rightcode
           this.dialogForm.rightname = this.menuOptions[this.menuOptions.findIndex(i => i.menucode === this.$refs.cascader.checkedValue[0])].children.find(i => i.menucode === rightcode).menuname
-
           SaveEncodingRules(this.dialogForm).then(res => {
             if (res.code === '200') {
               this.$notify.success(this.operation === 'add' ? '娣诲姞鎴愬姛锛�' : '淇敼鎴愬姛锛�')
               this.dialogVisible = false
+              this.$store.state.app.buttonIsDisabled = false
               this.getEncodingRules()
             } else {
+              this.$store.state.app.buttonIsDisabled = false
               this.$notify.error(this.operation === 'add' ? '娣诲姞澶辫触锛�' : '淇敼澶辫触锛�')
             }
           })
diff --git a/src/views/systemSetting/menuList.vue b/src/views/systemSetting/menuList.vue
new file mode 100644
index 0000000..fad6f6a
--- /dev/null
+++ b/src/views/systemSetting/menuList.vue
@@ -0,0 +1,11 @@
+<template />
+
+<script>
+export default {
+  name: 'MenuList'
+}
+</script>
+
+<style scoped>
+
+</style>

--
Gitblit v1.9.3