zhaoke %!s(int64=2) %!d(string=hai) anos
pai
achega
2e2126a146

+ 6 - 6
src/getMenu.js

@@ -6,14 +6,14 @@ import 'nprogress/nprogress.css' // progress bar style
 import { getToken } from '@/utils/auth' // get token from cookie
 import getPageTitle from '@/utils/get-page-title'
 import Layout from '@/layout'
-import { setTree } from '@/utils/validate'
+import { setTree, listToTree } from '@/utils/validate'
 import * as _ from 'lodash'
 
 NProgress.configure({ showSpinner: false }) // NProgress Configuration
 
 const whiteList = ['/login'] // no redirect whitelist
 
-function setStaticRoutes(menus, staticRoutes) {
+function setStaticRoutes (menus, staticRoutes) {
   staticRoutes.forEach(route => {
     const routeIndex = menus.findIndex(
       permissionRoute => permissionRoute.name === route.name
@@ -53,7 +53,7 @@ router.beforeEach(async (to, from, next) => {
           store.dispatch('auth/changeAuthArrs', treeData)
           // const typeData = setType(treeData, 'up_auth_id', 'auth_id')
           const menusArray = parseMenuItem(treeData)
-          const treeMenu = setTree(menusArray, 'up_auth_id', 'auth_id')
+          const treeMenu = listToTree(menusArray, 'up_auth_id', 'auth_id')
           const dataMenu = _.unionBy(treeMenu, 'auth_id')
           const menus = parseMenu(dataMenu)
 
@@ -88,7 +88,7 @@ router.beforeEach(async (to, from, next) => {
   }
 })
 
-function parseMenuItem(data) {
+function parseMenuItem (data) {
   const menus = []
   data.map(item => {
     if (item.auth_type == 1) {
@@ -130,7 +130,7 @@ function parseMenuItem(data) {
   return menus
 }
 
-function setType(arr, parentKey, key) {
+function setType (arr, parentKey, key) {
   const datas = []
   for (let i = 0; i < arr.length; i++) {
     for (let j = 0; j < arr.length; j++) {
@@ -145,7 +145,7 @@ function setType(arr, parentKey, key) {
   return arr
 }
 
-function parseMenu(arr) {
+function parseMenu (arr) {
   const menus = arr
   const newMenus = menus.flat()
   const allMenus = newMenus.length

+ 22 - 3
src/utils/validate.js

@@ -271,15 +271,34 @@ function setItem (arr, parentKey, key) {
   return arr
 }
 
+export function listToTree (data, parentKey, key) {
+  const obj = {};
+  data.forEach((item) => {
+    obj[item[key]] = item;
+  });
+  const parentList = [];
+  data.forEach((item) => {
+    const parent = obj[item[parentKey]];
+    if (parent) {
+      parent.children = parent.children || [];
+      parent.children.push(item);
+    } else {
+      parentList.push(item);
+    }
+  });
+  return parentList;
+}
+
+
 export function setTree (arr, parentKey, key) {
   const datas = []
   const all = []
   for (let i = 0; i < arr.length; i++) {
     for (let j = 0; j < arr.length; j++) {
       if (arr[i][key] == arr[j][parentKey]) {
-        datas.push(arr[j])
-        arr[i].children = datas
-        all.push(arr[j])
+        datas.push(_.cloneDeep(arr[j]))
+        arr[i].children = _.cloneDeep(datas)
+        all.push(_.cloneDeep(arr[j]))
       }
     }
   }

+ 9 - 10
src/views/newRole/index.vue

@@ -99,15 +99,14 @@
 <script>
 import Table from '@/views/newTable/index.vue'
 import Dialog from "@/layout/components/Dialog/index.vue"
-import { setTree } from '@/utils/validate'
+import { setTree, listToTree } from '@/utils/validate'
 import { getToken } from '@/utils/auth'
-import pb from '@/layout/mixin/getPublicData'
 import pf from '@/layout/mixin/publicFunc'
 import * as _ from 'lodash'
 export default {
   name: 'NewService',
   components: { Table, Dialog },
-  mixins: [pb, pf],
+  mixins: [pf],
   data () {
     return {
       title: '服务设置',
@@ -178,7 +177,7 @@ export default {
   },
   computed: {
     isAuth () {
-      if (this.userId == 1 || this.userId == 5555 || this.userId == 9999) {
+      if (this.userId == 1 || this.userId == 99999 || this.userId == 9999) {
         return true
       } else {
         return false
@@ -202,7 +201,7 @@ export default {
         user_id: getToken('userid')
       }])
       if (code == 0) {
-        const treeMenu = setTree(returnData, 'up_auth_id', 'auth_id')
+        const treeMenu = listToTree(returnData, 'up_auth_id', 'auth_id')
         this.treeData[0].children = treeMenu
       }
     },
@@ -220,17 +219,16 @@ export default {
         const { code, returnData } = await this.getQueryList(SERVICE_ID.userListId)
         if (code == 0 && returnData && returnData.length) {
           const result = await this.getQueryList(SERVICE_ID.getUserTableId)
-          if (result.code && result.returnData && result.returnData.length) {
+          if (result.code == 0 && result.returnData && result.returnData.length) {
             result.returnData.forEach(item => {
               if (item.hasOwnProperty('user_name') || item.hasOwnProperty('user_group_id')) {
                 item.user_group_name = item.user_name
-                item.up_user_group_id = item.user_group_id
-                item.user_group_id = Math.random()
+                item.user_group_id = item.user_id
               }
             })
             const menus = [...returnData, ...result.returnData]
-            const treeMenu = setTree(menus, 'up_user_group_id', 'user_group_id')
-            this.arrs[0].children = treeMenu
+            const treeMenu = listToTree(menus, 'up_user_group_id', 'user_group_id')
+            this.arrs = treeMenu
           }
           this.loading = false;
         } else {
@@ -274,6 +272,7 @@ export default {
     },
     //获取角色已有权限
     async getRoleQuth (item) {
+      console.log(item)
       this.$refs.tree.setCheckedKeys([])
       const newItem = _.cloneDeep(item)
       const newObj = {}

+ 2 - 2
src/views/newTable/index.vue

@@ -326,7 +326,6 @@ export default {
             }
             this.tableCols = returnData;
             this.getQuery(id);
-            this.setTableCols();
           }
         } else {
           this.$message.error("获取表头数据失败");
@@ -434,7 +433,7 @@ export default {
     async getQuery (id) {
       try {
         this.loading = true;
-        const { code, returnData } = await this.getQueryList(this.dataId, { service_id: id }, ++this.page, this.pageSize);
+        const { code, returnData } = await this.getQueryListAuth(this.dataId, { service_id: id }, ++this.page, this.pageSize);
         if (code == 0) {
           if (returnData.length === 0) {
             this.page--;
@@ -557,6 +556,7 @@ export default {
       });
       setTableFilters(this.tableData, this.tableDataFilters);
       this.tableGroup(this.tableData);
+      this.setTableCols();
       // this.selectTableRows(this.tableData, "DeployID");
       this.tableOptionscp = _.cloneDeep(this.tableOptions);
       const arrbegin = _.cloneDeep(this.tableOptions);

+ 21 - 12
src/views/newUserManagement/index.vue

@@ -71,7 +71,7 @@
               </el-form-item>
               <el-form-item prop="up_user_group_name" label="上级用户组">
                 <el-select style="width:260px;margin-right: 30px;" size="small" clearable v-model="formInline.up_user_group_id" placeholder="请选择上级用户组">
-                  <el-option v-for="item in dataList" :key="item.user_group_id" :label="item.user_group_name" :value="item.user_group_id">
+                  <el-option v-for="item in arrTree" :key="item.user_group_id" :label="item.user_group_name" :value="item.user_group_id">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -135,7 +135,7 @@
           <el-form ref="ruleForm" :model="ruleForm" :rules="tableRules" label-width="100px" class="demo-ruleForm">
             <el-form-item label="账号组关联" prop="user_gropu_id">
               <el-select style="width: 100%" size="small" v-model="ruleForm.user_group_id" placeholder="请选择">
-                <el-option v-for="item in arrs" :key="item.user_group_id" :label="item.user_group_name" :value="item.user_group_id"> </el-option>
+                <el-option v-for="item in arrTree" :key="item.user_group_id" :label="item.user_group_name" :value="item.user_group_id"> </el-option>
               </el-select>
             </el-form-item>
             <el-form-item label="账号名称" prop="user_name">
@@ -206,7 +206,7 @@ import Dialog from '@/layout/components/Dialog'
 import pf from '@/layout/mixin/publicFunc'
 import MD5 from 'blueimp-md5'
 import { getToken } from '@/utils/auth'
-import { setTree } from '@/utils/validate'
+import { setTree, listToTree } from '@/utils/validate'
 export default {
   name: 'NewManageMent',
   components: { Dialog },
@@ -281,6 +281,13 @@ export default {
         children: 'children',
         label: 'user_group_name'
       },
+      arrTree: [],
+      treeCheckObj: {}
+    }
+  },
+  watch: {
+    search (val) {
+      this.$refs.treeArr.filter(val);
     }
   },
   mounted () {
@@ -298,7 +305,8 @@ export default {
       }])
       if (code == 0) {
         if (returnData && returnData.length) {
-          const treeMenu = setTree(returnData, 'up_user_group_id', 'user_group_id')
+          this.arrTree = _.cloneDeep(returnData)
+          const treeMenu = listToTree(returnData, 'up_user_group_id', 'user_group_id')
           this.arrs = treeMenu
         }
       }
@@ -322,15 +330,14 @@ export default {
       // console.log(this.arrs)
       // this.treeCheckId = this.arrs[this.arrs.length-1].user_group_id
     },
-    async handleNodeClick (data, index) {
-      console.log(data)
-      this.activeIndex = index
+    async handleNodeClick (data) {
       if (data.user_group_id !== 0) {
         this.treeCheckId = data.user_group_id
+        this.treeCheckObj = _.cloneDeep(data)
         this.formInline = _.cloneDeep(data)
         this.type = 'edit'
         const { code, returnData } = await this.getQueryList(SERVICE_ID.getUserTableId, {
-          user_group_id: data.user_group_id
+          up_user_group_id: data.up_user_group_id
         })
         if (code == 0 && returnData && returnData.length) {
           this.tableData = returnData
@@ -387,7 +394,7 @@ export default {
         const { code } = await this.getChangeList(SERVICE_ID.getUserTableId, this.dataObj, 3)
         if (code == 0) {
           const { returnData } = await this.getQueryList(SERVICE_ID.getUserTableId, {
-            user_group_id: this.dataObj.user_group_id
+            up_user_group_id: this.dataObj.up_user_group_id
           })
           if (returnData && returnData.length) {
             this.tableData = returnData
@@ -434,10 +441,11 @@ export default {
         this.dataType = 'add'
         this.dataTitle = '新增账号'
         this.clearTableForm()
-        this.ruleForm.user_group_id = this.arrs[this.activeIndex].user_group_id
+        // this.ruleForm.user_group_id = this.arrs[this.activeIndex].user_group_id
       }
     },
     handleTableEdit (row) {
+      row.user_group_id = row.up_user_group_id
       this.tableFlag = true
       this.dataType = 'edit'
       this.userId = row.user_id
@@ -521,11 +529,11 @@ export default {
               this.tipMsg(code)
             }
           }
-          this.clearTableForm()
           const result = await this.getQueryList(SERVICE_ID.getUserTableId, {
-            user_group_id: this.arrs[this.activeIndex].user_group_id
+            up_user_group_id: this.treeCheckObj.up_user_group_id
           })
           this.tableData = result.returnData
+          this.tipMsg(result.code)
           // if (code) {
           //   // if (this.dataType == 'add') {
           //   //   this.clearTableForm()
@@ -536,6 +544,7 @@ export default {
           //   }, 'user_group_id')
           //   this.tableData = result
           // }
+          this.clearTableForm()
           this.tableFlag = false
           this.paswordFlag = false
         }

+ 2 - 2
src/views/systemSettings/views/newAuth/index.vue

@@ -88,7 +88,7 @@
 <script>
 import pb from '@/layout/mixin/getPublicData'
 import pf from '@/layout/mixin/publicFunc'
-import { setTree } from '@/utils/validate'
+import { setTree, listToTree } from '@/utils/validate'
 import allIcons from '@/layout/mixin/publicIcons'
 import Dialog from "@/layout/components/Dialog/index.vue";
 import Menu from './components/menu.vue'
@@ -171,7 +171,7 @@ export default {
     async setTreeData () {
       const keys = []
       const result = await this.getQuery(this.queryId)
-      const treeMenu = setTree(result, 'up_auth_id', 'auth_id')
+      const treeMenu = listToTree(result, 'up_auth_id', 'auth_id')
       const newTreeMenu = treeMenu && treeMenu.length ? treeMenu.sort((a, b) => a.show_index - b.show_index) : treeMenu
       newTreeMenu.forEach(item => {
         keys.push(item.auth_id)

+ 33 - 30
src/views/table/index.vue

@@ -352,6 +352,9 @@ export default {
               auth_id: id
             }
           ],
+          page: 1,
+          pageSize: 999,
+          event: '0'
         });
         if (code == 0) {
           if (returnData && returnData.length) {
@@ -621,35 +624,35 @@ export default {
           this.tableArrs.push(item.columnName);
           // const reqUt = this.getSelectData(item.listqueryTemplateID)
           // reqUts.push(reqUt)
-          if (!this.tableOptions[item.columnName]) {
-            //开始位置beginPosition 结束位置endPosition (区分开始结束位置必须传null)
-            if (
-              item.columnName !== "beginPosition" &&
-              item.columnName !== "endPosition"
-            ) {
-              this.tableOptions[item.columnName] = await this.getSelectData(
-                item.listqueryTemplateID
-              );
-            } else {
-              this.tableOptions[item.columnName] = await this.getSelectData(
-                item.listqueryTemplateID,
-                null
-              );
-              this.tabledatacopy[item.columnName] = _.cloneDeep(
-                this.tableOptions[item.columnName]
-              );
-            }
-          } else {
-            if (
-              item.columnName === "beginPosition" ||
-              item.columnName === "endPosition"
-            ) {
-              this.tableOptions[item.columnName] = await this.getSelectData(
-                item.listqueryTemplateID,
-                null
-              );
-            }
-          }
+          // if (!this.tableOptions[item.columnName]) {
+          //   //开始位置beginPosition 结束位置endPosition (区分开始结束位置必须传null)
+          //   if (
+          //     item.columnName !== "beginPosition" &&
+          //     item.columnName !== "endPosition"
+          //   ) {
+          //     this.tableOptions[item.columnName] = await this.getSelectData(
+          //       item.listqueryTemplateID
+          //     );
+          //   } else {
+          //     this.tableOptions[item.columnName] = await this.getSelectData(
+          //       item.listqueryTemplateID,
+          //       null
+          //     );
+          //     this.tabledatacopy[item.columnName] = _.cloneDeep(
+          //       this.tableOptions[item.columnName]
+          //     );
+          //   }
+          // } else {
+          //   if (
+          //     item.columnName === "beginPosition" ||
+          //     item.columnName === "endPosition"
+          //   ) {
+          //     this.tableOptions[item.columnName] = await this.getSelectData(
+          //       item.listqueryTemplateID,
+          //       null
+          //     );
+          //   }
+          // }
           //
         }
         // this.filterValues[item.columnName] = ''
@@ -933,7 +936,7 @@ export default {
         return 'is-click-btn'
       }
     },
-    formatter(row, column, cellValue, index) {
+    formatter (row, column, cellValue, index) {
       const sameColumn = this.tableCols.find(col => col.columnName === column.property)
       if (sameColumn && this.fromDataType(sameColumn.dataType) === 'datetime') {
         return (cellValue ?? '').replace('T', ' ')