| 1 |
- {"remainingRequest":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js??ref--0-0!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/vue-loader/lib/index.js??vue-loader-options!/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/src/view/userRun/userPower.vue?vue&type=script&lang=js&","dependencies":[{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/src/view/userRun/userPower.vue","mtime":1618306924000},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":1665684022107},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":1665684010704},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":1665684022107},{"path":"/usr/local/develop/php/www/waibao/NN2022100801/NN2022100801/addons/admin/node_modules/vue-loader/lib/index.js","mtime":1665684006084}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nimport axios from '@/libs/api.request';\nexport default {\n name: 'voice',\n\n data() {\n return {\n showVideoModal: false,\n queryDataPage: 1,\n total: 0,\n residueNum: '',\n // 密码\n showResidueNum: false,\n userName: '',\n // 用户组名称\n formValidate: {},\n treeData: [],\n ruleShow: false,\n // 用户组\n residueId: '',\n // 存放剩余量和投放时间的id\n roleIds: [],\n // 存放选中的页面id\n halfCheckData: [],\n // 存放半选中状态的节点\n curRoleId: '',\n // 当前点击的角色id\n permissions: [],\n // 记录当前点击的角色已有的权限\n // 查询条件\n queryData: {\n title: '',\n name: '',\n phone: '',\n pagenum: 15\n },\n columns: [{\n title: '用户组名称',\n key: 'name'\n }, {\n title: '操作',\n minWidth: 200,\n key: 'action',\n align: 'center',\n render: (h, params) => {\n return h('div', [h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n display: params.row.is_super === 1 ? 'none' : 'inline-block'\n },\n on: {\n click: () => {\n this.showVideoModal = true;\n this.curRoleId = params.row.id;\n this.permissions = [];\n this.treeData = [];\n this.permissions = params.row.permissions;\n axios.request({\n method: 'POST',\n url: '/admins/system/permissions/tree'\n }).then(res => {\n if (res.data.code === 'success') {\n this.treeData = res.data.data;\n this.handelTreeData(this.permissions, this.treeData);\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n }\n },\n directives: [{\n name: 'opcode',\n value: 'role syncPermissions'\n }]\n }, '编辑'), h('Button', {\n props: {\n size: 'small',\n type: 'error'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n display: params.row.is_super === 1 ? 'none' : 'inline-block'\n },\n on: {\n click: () => {\n this.$Modal.confirm({\n title: '确定删除该用户?',\n content: '',\n loading: true,\n onOk: () => {\n axios.request({\n method: 'get',\n url: '/admins/system/roles/del/' + params.row.id\n }).then(res => {\n if (res.data.code === 'success') {\n this.$Modal.remove();\n this.$Message.success(res.data.message, 'middle');\n this.taskList();\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n }\n });\n }\n },\n directives: [{\n name: 'opcode',\n value: 'role del'\n }]\n }, '删除')]);\n }\n }],\n tableData: []\n };\n },\n\n created() {\n this.taskList(); // this.getData()\n },\n\n methods: {\n // 分页\n levelchangepage(res) {\n this.queryDataPage = res;\n this.taskList();\n },\n\n // 获取列表信息\n taskList() {\n axios.request({\n method: 'POST',\n url: '/admins/system/roles'\n }).then(res => {\n if (res.data.code === 'success') {\n this.tableData = res.data.data;\n } else {\n this.$Message.error(res.data.message, 'middle');\n }\n });\n },\n\n // 显示用户组弹窗\n addUser() {\n this.ruleShow = true;\n },\n\n // 添加用户组\n saverule() {\n axios.request({\n url: '/admins/system/roles/create',\n data: {\n name: this.userName\n },\n method: 'POST'\n }).then(res => {\n if (res.data.code === 'success') {\n this.$Modal.remove();\n this.$Message.success('添加成功', 'middle');\n var that = this;\n setTimeout(function () {\n that.taskList();\n }, 2000);\n } else {\n this.$Message.error(res.data.message);\n }\n });\n },\n\n // 保存用户权限\n savePermission() {\n let that = this;\n let nodes = that.$refs.tree.getCheckedNodes();\n that.halfCheckData = [];\n that.getHalfCheckData(nodes);\n let allCheckData = Array.from(new Set(nodes.concat(this.halfCheckData)));\n that.handelData(allCheckData);\n axios.request({\n url: '/admins/system/roles/syncPermissions',\n method: 'POST',\n data: {\n roleid: that.curRoleId,\n permissionId: that.roleIds.join(',')\n }\n }).then(res => {\n if (res.data.code === 'success') {\n this.showVideoModal = false;\n that.$Modal.remove();\n that.$Message.success('设置权限成功', 'middle');\n that.taskList();\n } else {\n this.$Message.error(res.data.message);\n }\n });\n },\n\n // 处理选中的权限数据\n handelData(data) {\n this.roleIds = [];\n\n if (data === null || data.length === 0) {\n return;\n }\n\n for (let i = 0; i < data.length; i++) {\n this.roleIds.push(data[i].id);\n }\n },\n\n // 获取选中和半选中的节点\n getHalfCheckData(checkData) {\n if (!checkData) {\n return;\n }\n\n let halfData = [];\n this.halfTag = false;\n let checkfidData = checkData.map(item => {\n return item.pid;\n });\n checkfidData = Array.from(new Set(checkfidData));\n checkfidData.forEach(item => {\n if (item) {\n this.halfCheckNode = {};\n this.findParent(item, this.treeData);\n halfData.push(this.halfCheckNode);\n }\n });\n\n if (halfData && halfData.length > 0) {\n this.getHalfCheckData(halfData);\n }\n },\n\n // 寻找父级\n findParent(id, tree) {\n if (this.halfTag) {\n return;\n }\n\n for (let item of tree) {\n if (item.id === id) {\n this.halfCheckNode = item;\n this.halfCheckData.push(item);\n return;\n }\n\n if (item.children && item.children.length > 0) {\n this.findParent(id, item.children);\n }\n }\n },\n\n // 处理树形数据,用于回显已勾选的页面\n handelTreeData(data, tree) {\n if (tree.length === 0 || data.length === 0) {\n return;\n }\n\n for (let i = 0; i < data.length; i++) {\n for (let j = 0; j < tree.length; j++) {\n if (tree[j].children.length !== 0) {\n if (tree[j].name === 'home') {\n // this.$set(tree[j], 'checked', true);\n this.$set(tree[j], 'disabled', true);\n this.$set(tree[j], 'expand', true);\n }\n\n this.handelTreeData(data, tree[j].children);\n } else {\n if (tree[j].id === data[i].id) {\n this.$set(tree[j], 'checked', true);\n }\n\n if (tree[j].title === '统计') {\n this.$set(tree[j], 'checked', true);\n this.$set(tree[j], 'disabled', true);\n }\n }\n }\n }\n }\n\n }\n};",{"version":3,"sources":["userPower.vue"],"names":[],"mappings":"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","sourcesContent":["<template>\n <div>\n <Card>\n <Row>\n <Form ref=\"queryform\" inline :label-width=\"60\">\n <FormItem :label-width=\"0\">\n <Button type=\"primary\" @click=\"addUser\">添加用户组</Button>\n </FormItem>\n </Form>\n </Row>\n <Row class=\"mt10\">\n <Table border ref=\"selection\" :columns=\"columns\" :data=\"tableData\">\n </Table>\n </Row>\n <!-- 页码 -->\n <!-- <div style=\"margin: 10px;overflow: hidden\">\n <div style=\"float: left;\">\n <Page :total=\"total\" :current=\"queryDataPage\" :page-size=\"queryData.pagenum\" @on-change=\"levelchangepage\"></Page>\n </div>\n </div> -->\n </Card>\n <!-- 设置权限 -->\n <Modal v-model=\"showVideoModal\" @on-ok=\"savePermission\" :mask-closable=\"false\" :loading=\"true\" title=\"添加权限\"\n width='40%;text-align: center;'>\n <Form>\n <FormItem>\n <Tree :data=\"treeData\" show-checkbox ref=\"tree\"></Tree>\n </FormItem>\n </Form>\n </Modal>\n <!-- 添加用户组 -->\n <Modal v-model=\"ruleShow\" @on-ok=\"saverule\" :closable=\"false\">\n <Form ref=\"formValidate\" :model=\"formValidate\" :label-width=\"100\">\n <FormItem label=\"用户组名称\">\n <Input v-model=\"userName\" placeholder=\"请输入用户组名称\"/>\n </FormItem>\n </Form>\n </Modal>\n </div>\n</template>\n\n<script>\nimport axios from '@/libs/api.request'\nexport default {\n name: 'voice',\n data () {\n return {\n showVideoModal: false,\n queryDataPage: 1,\n total: 0,\n residueNum: '', // 密码\n showResidueNum: false,\n userName: '', // 用户组名称\n formValidate: {},\n treeData: [],\n ruleShow: false, // 用户组\n residueId: '', // 存放剩余量和投放时间的id\n roleIds: [], // 存放选中的页面id\n halfCheckData: [], // 存放半选中状态的节点\n curRoleId: '', // 当前点击的角色id\n permissions: [], // 记录当前点击的角色已有的权限\n // 查询条件\n queryData: {\n title: '',\n name: '',\n phone: '',\n pagenum: 15\n },\n columns: [\n {\n title: '用户组名称',\n key: 'name'\n },\n {\n title: '操作',\n minWidth: 200,\n key: 'action',\n align: 'center',\n render: (h, params) => {\n return h('div', [\n h('Button', {\n props: {\n size: 'small',\n type: 'primary'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n display: (params.row.is_super === 1) ? 'none' : 'inline-block'\n },\n on: {\n click: () => {\n this.showVideoModal = true\n this.curRoleId = params.row.id\n this.permissions = []\n this.treeData = []\n this.permissions = params.row.permissions\n axios\n .request({\n method: 'POST',\n url: '/admins/system/permissions/tree'\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.treeData = res.data.data\n this.handelTreeData(this.permissions, this.treeData)\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n }\n },\n directives: [\n {\n name: 'opcode',\n value: 'role syncPermissions'\n }\n ]\n }, '编辑'),\n h('Button', {\n props: {\n size: 'small',\n type: 'error'\n },\n style: {\n marginTop: '5px',\n marginBottom: '5px',\n marginRight: '5px',\n display: (params.row.is_super === 1) ? 'none' : 'inline-block'\n },\n on: {\n click: () => {\n this.$Modal.confirm({\n title: '确定删除该用户?',\n content: '',\n loading: true,\n onOk: () => {\n axios\n .request({\n method: 'get',\n url: '/admins/system/roles/del/' + params.row.id\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.$Modal.remove()\n this.$Message.success(res.data.message, 'middle')\n this.taskList()\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n }\n })\n }\n },\n directives: [\n {\n name: 'opcode',\n value: 'role del'\n }\n ]\n }, '删除')\n ])\n }\n }\n ],\n tableData: []\n }\n },\n created () {\n this.taskList()\n // this.getData()\n },\n methods: {\n // 分页\n levelchangepage (res) {\n this.queryDataPage = res\n this.taskList()\n },\n // 获取列表信息\n taskList () {\n axios\n .request({\n method: 'POST',\n url: '/admins/system/roles'\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.tableData = res.data.data\n } else {\n this.$Message.error(res.data.message, 'middle')\n }\n })\n },\n // 显示用户组弹窗\n addUser () {\n this.ruleShow = true\n },\n // 添加用户组\n saverule () {\n axios\n .request({\n url: '/admins/system/roles/create',\n data: {\n name: this.userName\n },\n method: 'POST'\n })\n .then(res => {\n if (res.data.code === 'success') {\n this.$Modal.remove()\n this.$Message.success('添加成功', 'middle')\n var that = this\n setTimeout(function () {\n that.taskList()\n }, 2000)\n } else {\n this.$Message.error(res.data.message)\n }\n })\n },\n // 保存用户权限\n savePermission () {\n let that = this\n let nodes = that.$refs.tree.getCheckedNodes()\n that.halfCheckData = []\n that.getHalfCheckData(nodes)\n let allCheckData = Array.from(new Set(nodes.concat(this.halfCheckData)))\n that.handelData(allCheckData)\n axios.request({\n url: '/admins/system/roles/syncPermissions',\n method: 'POST',\n data: {\n roleid: that.curRoleId,\n permissionId: that.roleIds.join(',')\n }\n }).then(res => {\n if (res.data.code === 'success') {\n this.showVideoModal = false\n that.$Modal.remove()\n that.$Message.success('设置权限成功', 'middle')\n that.taskList()\n } else {\n this.$Message.error(res.data.message)\n }\n })\n },\n // 处理选中的权限数据\n handelData (data) {\n this.roleIds = []\n if (data === null || data.length === 0) {\n return\n }\n for (let i = 0; i < data.length; i++) {\n this.roleIds.push(data[i].id)\n }\n },\n // 获取选中和半选中的节点\n getHalfCheckData (checkData) {\n if (!checkData) {\n return\n }\n let halfData = []\n this.halfTag = false\n let checkfidData = checkData.map((item) => {\n return item.pid\n })\n checkfidData = Array.from(new Set(checkfidData))\n checkfidData.forEach((item) => {\n if (item) {\n this.halfCheckNode = {}\n this.findParent(item, this.treeData)\n halfData.push(this.halfCheckNode)\n }\n })\n if (halfData && halfData.length > 0) {\n this.getHalfCheckData(halfData)\n }\n },\n // 寻找父级\n findParent (id, tree) {\n if (this.halfTag) {\n return\n }\n for (let item of tree) {\n if (item.id === id) {\n this.halfCheckNode = item\n this.halfCheckData.push(item)\n return\n }\n if (item.children && item.children.length > 0) {\n this.findParent(id, item.children)\n }\n }\n },\n // 处理树形数据,用于回显已勾选的页面\n handelTreeData (data, tree) {\n if (tree.length === 0 || data.length === 0) {\n return\n }\n for (let i = 0; i < data.length; i++) {\n for (let j = 0; j < tree.length; j++) {\n if (tree[j].children.length !== 0) {\n if(tree[j].name === 'home'){\n// this.$set(tree[j], 'checked', true);\n this.$set(tree[j], 'disabled', true);\n this.$set(tree[j], 'expand', true)\n }\n this.handelTreeData(data, tree[j].children)\n } else {\n if (tree[j].id === data[i].id) {\n this.$set(tree[j], 'checked', true)\n }\n if(tree[j].title === '统计'){\n this.$set(tree[j], 'checked', true);\n this.$set(tree[j], 'disabled', true)\n }\n }\n }\n }\n }\n }\n}\n</script>\n\n<style>\n .mt10 {\n margin-top: 10px;\n }\n\n .ivu-btn-error {\n margin-left: 10px;\n }\n</style>\n"],"sourceRoot":"src/view/userRun"}]}
|