97ba8d724759df8d1cd5dd12d574d423.json 14 KB

1
  1. {"remainingRequest":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js??vue-loader-options!/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/system/role/components/addRoleDialog.vue?vue&type=script&lang=js","dependencies":[{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/src/views/system/role/components/addRoleDialog.vue","mtime":1708395041891},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/babel-loader/lib/index.js","mtime":1708395147257},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/cache-loader/dist/cjs.js","mtime":1708395146433},{"path":"/Users/caoge/Desktop/地质现场/VehicleMonitor-WEB/node_modules/vue-loader/lib/index.js","mtime":1708395147382}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGdldE1lbnVUcmVlLCBhZGRSb2xlIH0gZnJvbSAnQC9hcGkvc3lzTWFuYWdlJwpleHBvcnQgZGVmYXVsdCB7CiAgICBuYW1lOiAnYWRkUm9sZURpYWxvZycsCiAgICBwcm9wczogewogICAgICAgIGFkZFJvbGVEYXRhOiB7CiAgICAgICAgICAgIHR5cGU6IE9iamVjdCwKICAgICAgICAgICAgZGVmYXVsdDoge30KICAgICAgICB9CiAgICB9LAogICAgY3JlYXRlZCgpIHsKICAgICAgICB0aGlzLmdldE1lbnVUcmVlKCkKICAgIH0sCiAgICBkYXRhKCkgewogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgIGNoZWNrQWxsOiBmYWxzZSwKICAgICAgICAgICAgZGVmYXVsdEV4cGFuZGVkOiBbXSwKICAgICAgICAgICAgbWV1blRyZWVEYXRhOiBbXSwKICAgICAgICAgICAgYWRkUm9sZUZvcm06IHsKICAgICAgICAgICAgICAgIHJvbGVOYW1lOiAnJywKICAgICAgICAgICAgICAgIHJvbGVLZXk6ICIiLAogICAgICAgICAgICAgICAgcm9sZVNvcnQ6ICcnLC8v6KeS6Imy5o6S5bqPCiAgICAgICAgICAgICAgICBzdGF0dXM6ICcxJywvL+eKtuaAgQogICAgICAgICAgICAgICAgbWVudUlkczogW10vL+iPnOWNlUlECiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHJ1bGVzOiB7CiAgICAgICAgICAgICAgICByb2xlTmFtZTogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fovpPlhaXop5LoibLlkI3np7AnLCB0cmlnZ2VyOiAnYmx1cicgfV0sCiAgICAgICAgICAgICAgICByb2xlS2V5OiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeadg+mZkOWtl+espicsIHRyaWdnZXI6ICdibHVyJyB9XSwKICAgICAgICAgICAgICAgIHJvbGVTb3J0OiBbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogJ+ivt+i+k+WFpeaYvuekuuaOkuW6jycsIHRyaWdnZXI6ICdibHVyJyB9XSwKICAgICAgICAgICAgICAgIHN0YXR1czogW3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6ICfor7fpgInmi6nnirbmgIEnLCB0cmlnZ2VyOiAnYmx1cicgfV0sCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIG1lbnVJZHM6W10KICAgICAgICB9CiAgICB9LAogICAgbWV0aG9kczogewogICAgICAgIGhhbmRsZUNoZWNrQWxsQ2hhbmdlKHZhbCkgewogICAgICAgICAgICBpZiAodGhpcy5jaGVja0FsbCkgewogICAgICAgICAgICAgICAgdGhpcy4kcmVmcy50cmVlLnNldENoZWNrZWROb2Rlcyh0aGlzLm1ldW5UcmVlRGF0YSk7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICB0aGlzLiRyZWZzLnRyZWUuc2V0Q2hlY2tlZEtleXMoW10pOwogICAgICAgICAgICB9CiAgICAgICAgfSwKICAgICAgICBnZXRNZW51VHJlZSgpIHsKICAgICAgICAgICAgZ2V0TWVudVRyZWUoKS50aGVuKHJlcyA9PiB7CiAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMjAwKSB7CiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0RXhwYW5kZWQgPSBbXQogICAgICAgICAgICAgICAgICAgIHJlcy5kYXRhLmZvckVhY2goaXRlbSA9PiB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdEV4cGFuZGVkLnB1c2goaXRlbS5pZCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIHRoaXMubWV1blRyZWVEYXRhID0gcmVzLmRhdGEKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGhhbmRsZUNoZWNrQ2hhbmdlKGRhdGEsIGNoZWNrZWQsIGluZGV0ZXJtaW5hdGUpIHsgICAgICAgICAgICAKICAgICAgICAgICAgLy8gbGV0IHJlcyA9IHRoaXMuJHJlZnMudHJlZS5nZXRDaGVja2VkTm9kZXMoKSAgICAgICAgICAgIAogICAgICAgICAgICAvLyBsZXQgYXJyRGVwdElkID0gW10KICAgICAgICAgICAgLy8gcmVzLmZvckVhY2goKGl0ZW0pID0+IHsKICAgICAgICAgICAgLy8gICAgIGFyckRlcHRJZC5wdXNoKGl0ZW0uaWQpCiAgICAgICAgICAgIC8vIH0pCiAgICAgICAgICAgIC8vIHRoaXMuYWRkUm9sZUZvcm0ubWVudUlkcyA9IGFyckRlcHRJZAoKICAgICAgICAgICAgLy/ojrflj5bmiYDmnInpgInkuK3nmoTlrZDoioLngrkKICAgICAgICAgICAgbGV0IGNoZWNrZWRLZXlzID0gdGhpcy4kcmVmcy50cmVlLmdldENoZWNrZWRLZXlzKCkgICAgICAgICAgICAKICAgICAgICAgICAgLy/ojrflj5bmiYDmnInpgInkuK3nmoTniLboioLngrnvvIjljYrpgInkuK3vvIkKICAgICAgICAgICAgbGV0IGhhZkNoZWNrZWRLZXlzID0gdGhpcy4kcmVmcy50cmVlLmdldEhhbGZDaGVja2VkS2V5cygpICAgICAgICAgICAgCiAgICAgICAgICAgIC8v57uE5ZCICiAgICAgICAgICAgIGxldCBtZW51SWRzID0gY2hlY2tlZEtleXMuY29uY2F0KGhhZkNoZWNrZWRLZXlzKSAgCiAgICAgICAgICAgIHRoaXMubWVudUlkcyA9IG1lbnVJZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgIC8vIHRoaXMuYWRkUm9sZUZvcm0ubWVudUlkcyA9IG1lbnVJZHMKICAgICAgICB9LAogICAgICAgIGFkZFJvbGUoKSB7ICAgICAgICAgICAgCiAgICAgICAgICAgIHRoaXMuJHJlZnMucnVsZUZvcm0udmFsaWRhdGUodmFsaWQgPT4gewogICAgICAgICAgICAgICAgaWYgKHZhbGlkKSB7ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tZW51SWRzLmxlbmd0aCAhPSAwKSB7IAogICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFJvbGVGb3JtLm1lbnVJZHMgPSB0aGlzLm1lbnVJZHMgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy4kZW1pdCgiYWRkUm9sZUJ0bjEiLCB0aGlzLmFkZFJvbGVGb3JtKQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuJG1lc3NhZ2UoewogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3dhcm5pbmcnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ+ivt+mAieaLqeiPnOWNleadg+mZkCEnCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSkKICAgICAgICB9LAogICAgICAgIGNhbmNlbCgpIHsKICAgICAgICAgICAgdGhpcy5hZGRSb2xlRGF0YS5kaWFsb2dWaXNpYmxlID0gZmFsc2UKICAgICAgICAgICAgdGhpcy5hZGRSb2xlRm9ybSA9IHsKICAgICAgICAgICAgICAgIHJvbGVOYW1lOiAnJywKICAgICAgICAgICAgICAgIHJvbGVLZXk6ICIiLAogICAgICAgICAgICAgICAgcm9sZVNvcnQ6ICcnLC8v6KeS6Imy5o6S5bqPCiAgICAgICAgICAgICAgICBzdGF0dXM6ICcxJywvL+eKtuaAgQogICAgICAgICAgICAgICAgbWVudUlkczogbnVsbC8v6I+c5Y2VSUQKICAgICAgICAgICAgfQogICAgICAgICAgICB0aGlzLmdldE1lbnVUcmVlKCkKICAgICAgICB9LAogICAgICAgIGNsb3NlRGlhbG9nKCkgewogICAgICAgICAgICB0aGlzLmFkZFJvbGVEYXRhLmRpYWxvZ1Zpc2libGUgPSBmYWxzZQogICAgICAgICAgICB0aGlzLmdldE1lbnVUcmVlKCkKICAgICAgICAgICAgdGhpcy5hZGRSb2xlRm9ybSA9IHsKICAgICAgICAgICAgICAgIHJvbGVOYW1lOiAnJywKICAgICAgICAgICAgICAgIHJvbGVLZXk6ICIiLAogICAgICAgICAgICAgICAgcm9sZVNvcnQ6ICcnLC8v6KeS6Imy5o6S5bqPCiAgICAgICAgICAgICAgICBzdGF0dXM6ICcwJywvL+eKtuaAgQogICAgICAgICAgICAgICAgbWVudUlkczogbnVsbC8v6I+c5Y2VSUQKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICB9Cn0K"},{"version":3,"sources":["addRoleDialog.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA","file":"addRoleDialog.vue","sourceRoot":"src/views/system/role/components","sourcesContent":["<template>\n <div class=\"addRoleDialog\">\n <el-dialog width=\"636px\" center @close=\"closeDialog()\" v-if=\"addRoleData.dialogVisible\" title=\"新增角色\"\n :visible.sync=\"addRoleData.dialogVisible\">\n <el-form label-width=\"100px\" ref=\"ruleForm\" :rules=\"rules\" :model=\"addRoleForm\">\n <el-form-item label=\"角色名称:\" prop=\"roleName\">\n <el-input placeholder=\"请输入角色名称\" v-model=\"addRoleForm.roleName\"></el-input>\n </el-form-item>\n <el-form-item label=\"权限字符:\" prop=\"roleKey\">\n <el-input placeholder=\"请输入权限字符\" v-model=\"addRoleForm.roleKey\"></el-input>\n </el-form-item>\n <el-form-item label=\"显示排序:\" prop=\"roleSort\">\n <el-input placeholder=\"请输入显示排序\" v-model=\"addRoleForm.roleSort\" type=\"text\"\n onkeyup=\"this.value=this.value.replace(/\\D/g,'')\"\n onafterpaste=\"this.value=this.value.replace(/\\D/g,'')\" />\n </el-form-item>\n <el-form-item label=\"状态:\" prop=\"status\">\n <el-radio v-model=\"addRoleForm.status\" label=\"1\">启用</el-radio>\n <el-radio v-model=\"addRoleForm.status\" label=\"2\">停用</el-radio>\n </el-form-item>\n <el-form-item label=\"菜单权限:\">\n <div style=\"height: 400px;overflow: auto;\">\n <el-checkbox v-model=\"checkAll\" @change=\"handleCheckAllChange\">全选</el-checkbox>\n <el-tree placeholder=\"请选择菜单权限\" ref=\"tree\" :default-expanded-keys=\"defaultExpanded\"\n :data=\"meunTreeData\" @check-change=\"handleCheckChange\" show-checkbox node-key=\"id\">\n </el-tree>\n </div>\n </el-form-item>\n <div>\n\n </div>\n </el-form>\n <span slot=\"footer\" class=\"dialog-footer\">\n <!-- <el-button @click=\"cancel()\">取 消</el-button>\n <el-button type=\"primary\" @click=\"addRole()\">保 存</el-button> -->\n <div class=\"search\" @click=\"addRole()\">保 存</div>\n <div class=\"reset\" @click=\"cancel()\">取 消</div>\n </span>\n </el-dialog>\n </div>\n</template>\n<script>\nimport { getMenuTree, addRole } from '@/api/sysManage'\nexport default {\n name: 'addRoleDialog',\n props: {\n addRoleData: {\n type: Object,\n default: {}\n }\n },\n created() {\n this.getMenuTree()\n },\n data() {\n return {\n checkAll: false,\n defaultExpanded: [],\n meunTreeData: [],\n addRoleForm: {\n roleName: '',\n roleKey: \"\",\n roleSort: '',//角色排序\n status: '1',//状态\n menuIds: []//菜单ID\n },\n rules: {\n roleName: [{ required: true, message: '请输入角色名称', trigger: 'blur' }],\n roleKey: [{ required: true, message: '请输入权限字符', trigger: 'blur' }],\n roleSort: [{ required: true, message: '请输入显示排序', trigger: 'blur' }],\n status: [{ required: true, message: '请选择状态', trigger: 'blur' }],\n },\n menuIds:[]\n }\n },\n methods: {\n handleCheckAllChange(val) {\n if (this.checkAll) {\n this.$refs.tree.setCheckedNodes(this.meunTreeData);\n } else {\n this.$refs.tree.setCheckedKeys([]);\n }\n },\n getMenuTree() {\n getMenuTree().then(res => {\n if (res.code == 200) {\n this.defaultExpanded = []\n res.data.forEach(item => {\n this.defaultExpanded.push(item.id)\n })\n this.meunTreeData = res.data\n }\n })\n },\n handleCheckChange(data, checked, indeterminate) { \n // let res = this.$refs.tree.getCheckedNodes() \n // let arrDeptId = []\n // res.forEach((item) => {\n // arrDeptId.push(item.id)\n // })\n // this.addRoleForm.menuIds = arrDeptId\n\n //获取所有选中的子节点\n let checkedKeys = this.$refs.tree.getCheckedKeys() \n //获取所有选中的父节点(半选中)\n let hafCheckedKeys = this.$refs.tree.getHalfCheckedKeys() \n //组合\n let menuIds = checkedKeys.concat(hafCheckedKeys) \n this.menuIds = menuIds \n // this.addRoleForm.menuIds = menuIds\n },\n addRole() { \n this.$refs.ruleForm.validate(valid => {\n if (valid) { \n if (this.menuIds.length != 0) { \n this.addRoleForm.menuIds = this.menuIds \n this.$emit(\"addRoleBtn1\", this.addRoleForm)\n } else {\n this.$message({\n type: 'warning',\n message: '请选择菜单权限!'\n });\n }\n }\n })\n },\n cancel() {\n this.addRoleData.dialogVisible = false\n this.addRoleForm = {\n roleName: '',\n roleKey: \"\",\n roleSort: '',//角色排序\n status: '1',//状态\n menuIds: null//菜单ID\n }\n this.getMenuTree()\n },\n closeDialog() {\n this.addRoleData.dialogVisible = false\n this.getMenuTree()\n this.addRoleForm = {\n roleName: '',\n roleKey: \"\",\n roleSort: '',//角色排序\n status: '0',//状态\n menuIds: null//菜单ID\n }\n }\n\n }\n}\n</script>\n<style lang=\"scss\" scoped>\n::v-deep .el-dialog__body{\n padding: 20px 95px !important;\n}\n.dialog-footer{ \n div { \n display: inline-block;\n width: 80px;\n height: 40px;\n border-radius: 2px;\n font-size: 14px;\n line-height: 40px;\n text-align: center;\n }\n\n div:hover {\n cursor: pointer;\n }\n .search {\n margin: 0 12px;\n background-color: #2766DD;\n color: #fff;\n }\n\n .search:hover {\n background-color: #4D85F4;\n }\n .reset {\n color: #333334;\n border: 1px solid #D7D7D7;\n }\n\n .reset:hover {\n color: #1F9FFF;\n border: 1px solid #1F9FFF;\n }\n}\n// 选中后radio文本的颜色\n::v-deep .el-radio__input.is-checked+.el-radio__label {\n color: #2766DD\n}\n\n/* radio选中后小圆点的颜色 */\n::v-deep .el-radio__input.is-checked .el-radio__inner {\n background: #2766DD !important;\n border-color: #2766DD !important;\n}\n</style>"]}]}