| 1 | {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\views\\system\\user\\authRole.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\src\\views\\system\\user\\authRole.vue","mtime":1647228900908},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\最新\\supervision-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KDQppbXBvcnQgeyBnZXRBdXRoUm9sZSwgdXBkYXRlQXV0aFJvbGUgfSBmcm9tICJAL2FwaS9zeXN0ZW0vdXNlciI7DQoNCmV4cG9ydCBkZWZhdWx0IHsNCiAgbmFtZTogIkF1dGhSb2xlIiwNCiAgZGF0YSgpIHsNCiAgICByZXR1cm4gew0KICAgICAgLy8g6YGu572p5bGCDQogICAgICBsb2FkaW5nOiB0cnVlLA0KICAgICAgLy8g5YiG6aG15L+h5oGvDQogICAgICB0b3RhbDogMCwNCiAgICAgIHBhZ2VOdW06IDEsDQogICAgICBwYWdlU2l6ZTogMTAsDQogICAgICAvLyDpgInkuK3op5LoibLnvJblj7cNCiAgICAgIHJvbGVJZHM6IFtdLA0KICAgICAgLy8g6KeS6Imy5L+h5oGvDQogICAgICByb2xlczogW10sDQogICAgICAvLyDnlKjmiLfkv6Hmga8NCiAgICAgIGZvcm06IHt9LA0KICAgIH07DQogIH0sDQogIGNyZWF0ZWQoKSB7DQogICAgY29uc3QgdXNlcklkID0gdGhpcy4kcm91dGUucGFyYW1zICYmIHRoaXMuJHJvdXRlLnBhcmFtcy51c2VySWQ7DQogICAgaWYgKHVzZXJJZCkgew0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsNCiAgICAgIGdldEF1dGhSb2xlKHVzZXJJZCkudGhlbigocmVzcG9uc2UpID0+IHsNCiAgICAgICAgdGhpcy5mb3JtID0gcmVzcG9uc2UudXNlcjsNCiAgICAgICAgdGhpcy5yb2xlcyA9IHJlc3BvbnNlLnJvbGVzOw0KICAgICAgICB0aGlzLnRvdGFsID0gdGhpcy5yb2xlcy5sZW5ndGg7DQogICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHsNCiAgICAgICAgICB0aGlzLnJvbGVzLmZvckVhY2goKHJvdykgPT4gew0KICAgICAgICAgICAgaWYgKHJvdy5mbGFnKSB7DQogICAgICAgICAgICAgIHRoaXMuJHJlZnMudGFibGUudG9nZ2xlUm93U2VsZWN0aW9uKHJvdyk7DQogICAgICAgICAgICB9DQogICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTsNCiAgICAgIH0pOw0KICAgIH0NCiAgfSwNCiAgbWV0aG9kczogew0KICAgIC8qKiDljZXlh7vpgInkuK3ooYzmlbDmja4gKi8NCiAgICBjbGlja1Jvdyhyb3cpIHsNCiAgICAgIHRoaXMuJHJlZnMudGFibGUudG9nZ2xlUm93U2VsZWN0aW9uKHJvdyk7DQogICAgfSwNCiAgICAvLyDlpJrpgInmoYbpgInkuK3mlbDmja4NCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7DQogICAgICB0aGlzLnJvbGVJZHMgPSBzZWxlY3Rpb24ubWFwKChpdGVtKSA9PiBpdGVtLnJvbGVJZCk7DQogICAgfSwNCiAgICAvLyDkv53lrZjpgInkuK3nmoTmlbDmja7nvJblj7cNCiAgICBnZXRSb3dLZXkocm93KSB7DQogICAgICByZXR1cm4gcm93LnJvbGVJZDsNCiAgICB9LA0KICAgIC8qKiDmj5DkuqTmjInpkq4gKi8NCiAgICBzdWJtaXRGb3JtKCkgew0KICAgICAgY29uc3QgdXNlcklkID0gdGhpcy5mb3JtLnVzZXJJZDsNCiAgICAgIGNvbnN0IHJvbGVJZHMgPSB0aGlzLnJvbGVJZHMuam9pbigiLCIpOw0KICAgICAgdXBkYXRlQXV0aFJvbGUoeyB1c2VySWQ6IHVzZXJJZCwgcm9sZUlkczogcm9sZUlkcyB9KS50aGVuKChyZXNwb25zZSkgPT4gew0KICAgICAgICB0aGlzLiRtb2RhbC5tc2dTdWNjZXNzKCLmjojmnYPmiJDlip8iKTsNCiAgICAgICAgdGhpcy5jbG9zZSgpOw0KICAgICAgfSk7DQogICAgfSwNCiAgICAvKiog5YWz6Zet5oyJ6ZKuICovDQogICAgY2xvc2UoKSB7DQogICAgICB0aGlzLiRzdG9yZS5kaXNwYXRjaCgidGFnc1ZpZXcvZGVsVmlldyIsIHRoaXMuJHJvdXRlKTsNCiAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsgcGF0aDogIi9zeXN0ZW0vdXNlciIgfSk7DQogICAgfSwNCiAgfSwNCn07DQo="},{"version":3,"sources":["authRole.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyEA;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"authRole.vue","sourceRoot":"src/views/system/user","sourcesContent":["<template>\r\n  <div class=\"app-container\">\r\n    <h4 class=\"form-header h4\">基本信息</h4>\r\n    <el-form ref=\"form\" :model=\"form\" label-width=\"80px\">\r\n      <el-row>\r\n        <el-col :span=\"8\" :offset=\"2\">\r\n          <el-form-item label=\"用户昵称\" prop=\"nickName\">\r\n            <el-input v-model=\"form.nickName\" disabled />\r\n          </el-form-item>\r\n        </el-col>\r\n        <el-col :span=\"8\" :offset=\"2\">\r\n          <el-form-item label=\"登录账号\" prop=\"phonenumber\">\r\n            <el-input v-model=\"form.userName\" disabled />\r\n          </el-form-item>\r\n        </el-col>\r\n      </el-row>\r\n    </el-form>\r\n\r\n    <h4 class=\"form-header h4\">角色信息</h4>\r\n    <el-table\r\n      class=\"back\"\r\n      v-loading=\"loading\"\r\n      :row-key=\"getRowKey\"\r\n      @row-click=\"clickRow\"\r\n      ref=\"table\"\r\n      @selection-change=\"handleSelectionChange\"\r\n      :data=\"roles.slice((pageNum - 1) * pageSize, pageNum * pageSize)\"\r\n      :header-cell-style=\"{ background: '#00365F', color: 'white' }\"\r\n    >\r\n      <el-table-column label=\"序号\" type=\"index\" align=\"center\">\r\n        <template slot-scope=\"scope\">\r\n          <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>\r\n        </template>\r\n      </el-table-column>\r\n      <el-table-column\r\n        type=\"selection\"\r\n        :reserve-selection=\"true\"\r\n        width=\"55\"\r\n      ></el-table-column>\r\n      <el-table-column label=\"角色编号\" align=\"center\" prop=\"roleId\" />\r\n      <el-table-column label=\"角色名称\" align=\"center\" prop=\"roleName\" />\r\n      <el-table-column label=\"权限字符\" align=\"center\" prop=\"roleKey\" />\r\n      <el-table-column\r\n        label=\"创建时间\"\r\n        align=\"center\"\r\n        prop=\"createTime\"\r\n        width=\"180\"\r\n      >\r\n        <template slot-scope=\"scope\">\r\n          <span>{{ parseTime(scope.row.createTime) }}</span>\r\n        </template>\r\n      </el-table-column>\r\n    </el-table>\r\n\r\n    <pagination\r\n      v-show=\"total > 0\"\r\n      :total=\"total\"\r\n      :page.sync=\"pageNum\"\r\n      :limit.sync=\"pageSize\"\r\n    />\r\n\r\n    <el-form label-width=\"100px\">\r\n      <el-form-item\r\n        style=\"text-align: center; margin-left: -120px; margin-top: 30px\"\r\n      >\r\n        <el-button type=\"primary\" @click=\"submitForm()\">提交</el-button>\r\n        <el-button @click=\"close()\">返回</el-button>\r\n      </el-form-item>\r\n    </el-form>\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { getAuthRole, updateAuthRole } from \"@/api/system/user\";\r\n\r\nexport default {\r\n  name: \"AuthRole\",\r\n  data() {\r\n    return {\r\n      // 遮罩层\r\n      loading: true,\r\n      // 分页信息\r\n      total: 0,\r\n      pageNum: 1,\r\n      pageSize: 10,\r\n      // 选中角色编号\r\n      roleIds: [],\r\n      // 角色信息\r\n      roles: [],\r\n      // 用户信息\r\n      form: {},\r\n    };\r\n  },\r\n  created() {\r\n    const userId = this.$route.params && this.$route.params.userId;\r\n    if (userId) {\r\n      this.loading = true;\r\n      getAuthRole(userId).then((response) => {\r\n        this.form = response.user;\r\n        this.roles = response.roles;\r\n        this.total = this.roles.length;\r\n        this.$nextTick(() => {\r\n          this.roles.forEach((row) => {\r\n            if (row.flag) {\r\n              this.$refs.table.toggleRowSelection(row);\r\n            }\r\n          });\r\n        });\r\n        this.loading = false;\r\n      });\r\n    }\r\n  },\r\n  methods: {\r\n    /** 单击选中行数据 */\r\n    clickRow(row) {\r\n      this.$refs.table.toggleRowSelection(row);\r\n    },\r\n    // 多选框选中数据\r\n    handleSelectionChange(selection) {\r\n      this.roleIds = selection.map((item) => item.roleId);\r\n    },\r\n    // 保存选中的数据编号\r\n    getRowKey(row) {\r\n      return row.roleId;\r\n    },\r\n    /** 提交按钮 */\r\n    submitForm() {\r\n      const userId = this.form.userId;\r\n      const roleIds = this.roleIds.join(\",\");\r\n      updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {\r\n        this.$modal.msgSuccess(\"授权成功\");\r\n        this.close();\r\n      });\r\n    },\r\n    /** 关闭按钮 */\r\n    close() {\r\n      this.$store.dispatch(\"tagsView/delView\", this.$route);\r\n      this.$router.push({ path: \"/system/user\" });\r\n    },\r\n  },\r\n};\r\n</script>\r\n<style scoped>\r\n/* 设置背景颜色 */\r\n.app-container {\r\n  background-color: #00365f;\r\n}\r\n/* 设置表格单双数颜色 */\r\n::v-deep.el-table tr:nth-child(odd) {\r\n  background: #00365f;\r\n}\r\n::v-deep.el-table tr:nth-child(even) {\r\n  background: #003c69 !important;\r\n}\r\n/* 设置字体白色 */\r\n.el-table {\r\n  color: white;\r\n}\r\n.form-header{\r\n  color: #fff;\r\n}\r\n::v-deep .el-pagination__total {\r\n  color: #fff !important;\r\n}\r\n::v-deep .el-pagination__jump{\r\n  color: #fff !important;\r\n}\r\n::v-deep .el-form-item__label {\r\n  color: white !important;\r\n}\r\n/* 表格行划过颜色 */\r\n::v-deep .el-table__body tr:hover > td {\r\n  background-color: #004d86 !important;\r\n}\r\n/* 表格文字居中 */\r\n::v-deep .cell {\r\n  text-align: center;\r\n}\r\n/* 暂无数据背景 */\r\n::v-deep .pagination-container {\r\n  background: #00365f;\r\n}\r\n/* 去掉上面的线 */\r\n::v-deep .el-table th.is-leaf {\r\n  border: none;\r\n}\r\n/* 去掉最下面的那一条线 */\r\n::v-deep .el-table::before {\r\n  height: 0px;\r\n}\r\n/* 去掉表格内的线 */\r\n::v-deep table td {\r\n  border-bottom: none !important;\r\n}\r\n::v-deep .refresh {\r\n  background-color: #004d86 !important;\r\n}\r\n::v-deep .el-button el-button--default el-button--mini {\r\n  background-color: #196299;\r\n}\r\n/* input表单颜色 */\r\n::v-deep .el-input--small .el-input__inner{\r\n  background: #004D86;\r\n  border: 0px;\r\n  color: #fff !important;\r\n}\r\n/* 时间日历设置 */\r\n::v-deep .el-range-input{\r\nbackground: #004D86;\r\ncolor: #fff;\r\n}\r\n::v-deep .el-range-editor--small .el-range-separator {\r\n    color: white ;\r\n}\r\n/* 分页按钮 */\r\n::v-deep .el-pagination .el-select .el-input .el-input__inner {\r\n    background: #004D86;\r\n    border: 0px;\r\n    color: #fff;\r\n}\r\n::v-deep .el-pagination button:disabled {\r\n    color: #fff !important;\r\n    background-color: #004D86;\r\n    cursor: not-allowed;\r\n}\r\n::v-deep .el-pagination__editor.el-input .el-input__inner {\r\n    background: #004D86;\r\n    color: #fff;\r\n    border: 0px;\r\n}\r\n::v-deep .el-pagination.is-background .el-pager li:not(.disabled).active {\r\n    background-color: #004D86;\r\n    color: #FFFFFF;\r\n}\r\n::v-deep .el-input.is-disabled .el-input__inner {\r\n    background-color: #004D86;\r\n    border: 0px;\r\n    color: #cecece;\r\n    cursor: not-allowed;\r\n}\r\n</style>"]}]}
 |