瀏覽代碼

修改行权限

zhaoke 1 年之前
父節點
當前提交
f4a0378258
共有 1 個文件被更改,包括 65 次插入36 次删除
  1. 65 36
      src/views/permissionPage/components/permissionList.vue

+ 65 - 36
src/views/permissionPage/components/permissionList.vue

@@ -45,6 +45,7 @@ import AdvancedQuery from '@/components/AdvancedQuery'
 import { mapGetters } from 'vuex'
 import { listToTree } from '@/utils/validate'
 import { Query, newData, modifyData, moveData, getAuthorization, authorization } from "@/api/webApi"
+import { formatChange } from '@/utils/validate'
 
 export default {
   name: 'Permissionlist',
@@ -56,7 +57,7 @@ export default {
     treeMap: {
       type: Object,
       default: () => new Object()
-    },
+    }
   },
   components: { PublicPageDialog, AdvancedQuery },
   data () {
@@ -79,6 +80,7 @@ export default {
       rowData: {},
       selectOptions: [],
       queryId: 6,
+      allAuthData: [],
     }
   },
   watch: {
@@ -106,15 +108,11 @@ export default {
       },
       deep: true,
       immediate: true
-    },
+    }
   },
   computed: {
     ...mapGetters(['authArrs'])
   },
-  mounted () {
-
-    // this.setAuthData()
-  },
   methods: {
     async queryAllAuthData (serviceid, pagename) {
       this.loading = true;
@@ -126,15 +124,8 @@ export default {
           event: '0'
         });
         if (code == 0 && returnData?.length) {
-          const name = '全部'
-          const alldata = this.disableTreeData([...returnData])
-          const treeMenu = listToTree([...alldata], 'superiorid', 'pageconfigurationid')
-          // const treeObj = { serviceid: name, superiorid: name, children: treeMenu }
-          // treeObj['pagename'] = name
-          // treeObj['pageconfigurationid'] = '-1'
-          // const treeMenuAll = [treeObj]
-          // this.defaultKeys = ['-1']
-          this.data = treeMenu
+          this.allAuthData = _.cloneDeep(returnData)
+          this.setAuthData([], returnData)
         } else {
           this.$message.error(`获取${pagename}数据失败`);
         }
@@ -160,11 +151,10 @@ export default {
       return alldata
     },
     restDataRow () {
-      const pname = this.queryId == 7 ? '用户' : '用户组'
       this.ischeck = true
       this.checkDatas = []
       this.$refs.tree.setCheckedKeys([])
-      this.queryTreeData(this.queryId, this.queryItem, pname)
+      this.queryTreeData(this.queryItem, '权限')
     },
     //高级查询-提交
     advancedTable (refName) {
@@ -173,10 +163,28 @@ export default {
     getAdvancedQueryData (dataRules) {
       const ndata = this.checkDatas?.at(-1)
       const nitem = ndata.filter(item => item.pageconfigurationid == this.rowData.pageconfigurationid)
-      this.rowData.userpermissionsid = nitem[0].userpermissionsid
-      this.rowData.selectcolumnlist = JSON.stringify(dataRules)
-      this.sendCheckData('edit', [this.rowData])
-      this.restDataRow()
+      const { id, supergroupid, type } = this.queryItem
+      const { pageconfigurationid, serviceid, selectcolumnlist = '', insetcolumnlist = '', updatecolumnlist = '', filterset = '' } = nitem[0]
+      const rowData = {
+        pageconfigurationid,
+        serviceid,
+        selectcolumnlist,
+        insetcolumnlist,
+        updatecolumnlist,
+        filterset
+      }
+      rowData.selectcolumnlist = JSON.stringify(dataRules)
+      if (type == 1) {
+        rowData.userid = id
+        this.queryId = 7
+      } else {
+        rowData.usergroupid = id
+        this.queryId = 6
+      }
+      this.sendCheckData('edit', [rowData])
+      // this.$nextTick(() => {
+      //   this.restDataRow()
+      // })
       this.advancedDrawer = false
     },
     formatRowAuth (nstr, arr) {
@@ -227,9 +235,9 @@ export default {
       this.advancedDrawer = true
     },
     //初始化数据
-    setAuthData (arrs = []) {
+    setAuthData (arrs = [], returnData = []) {
       const narrs = _.cloneDeep(arrs)
-      const ndata = _.cloneDeep(this.authArrs)
+      const ndata = _.cloneDeep(returnData)
       if (narrs.length) {
         ndata.map(item => {
           narrs.map(ci => {
@@ -242,7 +250,8 @@ export default {
           })
         })
       }
-      const treeMenu = listToTree(ndata, 'superiorid', 'pageconfigurationid')
+      const alldata = this.disableTreeData(ndata)
+      const treeMenu = listToTree([...alldata], 'superiorid', 'pageconfigurationid')
       this.data = treeMenu
     },
     //勾选已有权限
@@ -273,7 +282,7 @@ export default {
         const { code, returnData } = await getAuthorization({ datacontent: dataContent });
         if (code == 0) {
           const ndata = _.cloneDeep(returnData)
-          // this.setAuthData(ndata)
+          this.setAuthData(ndata, this.allAuthData)
           this.$nextTick(() => {
             this.checkAuthData(ndata)
           })
@@ -329,18 +338,38 @@ export default {
       const querys = []
       const items = _.cloneDeep(data)
       const { id, type } = this.queryItem
-      const ids = []
-      items.map(item => {
-        if (item.children) delete item.children
-        ids.push(item.pageconfigurationid)
-      })
-      const params = {
-        id,
-        type,
-        datacontent: ids,
-        event
+      if (types == 'edit') {
+        items.map(item => {
+          if (item.children) delete item.children
+        })
+        const params = {
+          serviceid: this.queryId,
+          datacontent: [
+            {
+              filter: {
+                pageconfigurationid: items[0].pageconfigurationid
+              },
+              value: items[0]
+            }
+          ],
+          event,
+        }
+        type == 1 ? params.datacontent[0].filter.userid = items[0].userid : params.datacontent[0].filter.usergroupid = items[0].usergroupid
+        querys.push(modifyData(params))
+      } else {
+        const ids = []
+        items.map(item => {
+          if (item.children) delete item.children
+          ids.push(item.pageconfigurationid)
+        })
+        const params = {
+          id,
+          type,
+          datacontent: ids,
+          event
+        }
+        querys.push(authorization(params))
       }
-      querys.push(authorization(params))
       this.getAnscyData(querys)
     },
     //获取异步数据