feige
2024-02-02 bd40473c9c634005bc7e62e7fc901bcd8b598fa0
1
{"remainingRequest":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\views\\system\\role\\authUser.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\src\\views\\system\\role\\authUser.vue","mtime":1676881540000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\babel.config.js","mtime":1676881540000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\Users\\小蓝\\Desktop\\赖博士版\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJEOi9Vc2Vycy9cdTVDMEZcdTg0REQvRGVza3RvcC9cdThENTZcdTUzNUFcdTU4RUJcdTcyNDgvcnVveWktdWkvbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaW50ZXJvcFJlcXVpcmVEZWZhdWx0LmpzIikuZGVmYXVsdDsKT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICJfX2VzTW9kdWxlIiwgewogIHZhbHVlOiB0cnVlCn0pOwpleHBvcnRzLmRlZmF1bHQgPSB2b2lkIDA7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5tYXAuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmpvaW4uanMiKTsKdmFyIF9yb2xlID0gcmVxdWlyZSgiQC9hcGkvc3lzdGVtL3JvbGUiKTsKdmFyIF9zZWxlY3RVc2VyID0gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChyZXF1aXJlKCIuL3NlbGVjdFVzZXIiKSk7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCnZhciBfZGVmYXVsdCA9IHsKICBuYW1lOiAiQXV0aFVzZXIiLAogIGRpY3RzOiBbJ3N5c19ub3JtYWxfZGlzYWJsZSddLAogIGNvbXBvbmVudHM6IHsKICAgIHNlbGVjdFVzZXI6IF9zZWxlY3RVc2VyLmRlZmF1bHQKICB9LAogIGRhdGE6IGZ1bmN0aW9uIGRhdGEoKSB7CiAgICByZXR1cm4gewogICAgICAvLyDpga7nvanlsYIKICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgLy8g6YCJ5Lit55So5oi357uECiAgICAgIHVzZXJJZHM6IFtdLAogICAgICAvLyDpnZ7lpJrkuKrnpoHnlKgKICAgICAgbXVsdGlwbGU6IHRydWUsCiAgICAgIC8vIOaYvuekuuaQnOe0ouadoeS7tgogICAgICBzaG93U2VhcmNoOiB0cnVlLAogICAgICAvLyDmgLvmnaHmlbAKICAgICAgdG90YWw6IDAsCiAgICAgIC8vIOeUqOaIt+ihqOagvOaVsOaNrgogICAgICB1c2VyTGlzdDogW10sCiAgICAgIC8vIOafpeivouWPguaVsAogICAgICBxdWVyeVBhcmFtczogewogICAgICAgIHBhZ2VOdW06IDEsCiAgICAgICAgcGFnZVNpemU6IDEwLAogICAgICAgIHJvbGVJZDogdW5kZWZpbmVkLAogICAgICAgIHVzZXJOYW1lOiB1bmRlZmluZWQsCiAgICAgICAgcGhvbmVudW1iZXI6IHVuZGVmaW5lZAogICAgICB9CiAgICB9OwogIH0sCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIHZhciByb2xlSWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMgJiYgdGhpcy4kcm91dGUucGFyYW1zLnJvbGVJZDsKICAgIGlmIChyb2xlSWQpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5yb2xlSWQgPSByb2xlSWQ7CiAgICAgIHRoaXMuZ2V0TGlzdCgpOwogICAgfQogIH0sCiAgbWV0aG9kczogewogICAgLyoqIOafpeivouaOiOadg+eUqOaIt+WIl+ihqCAqL2dldExpc3Q6IGZ1bmN0aW9uIGdldExpc3QoKSB7CiAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7CiAgICAgICgwLCBfcm9sZS5hbGxvY2F0ZWRVc2VyTGlzdCkodGhpcy5xdWVyeVBhcmFtcykudGhlbihmdW5jdGlvbiAocmVzcG9uc2UpIHsKICAgICAgICBfdGhpcy51c2VyTGlzdCA9IHJlc3BvbnNlLnJvd3M7CiAgICAgICAgX3RoaXMudG90YWwgPSByZXNwb25zZS50b3RhbDsKICAgICAgICBfdGhpcy5sb2FkaW5nID0gZmFsc2U7CiAgICAgIH0pOwogICAgfSwKICAgIC8vIOi/lOWbnuaMiemSrgogICAgaGFuZGxlQ2xvc2U6IGZ1bmN0aW9uIGhhbmRsZUNsb3NlKCkgewogICAgICB2YXIgb2JqID0gewogICAgICAgIHBhdGg6ICIvc3lzdGVtL3JvbGUiCiAgICAgIH07CiAgICAgIHRoaXMuJHRhYi5jbG9zZU9wZW5QYWdlKG9iaik7CiAgICB9LAogICAgLyoqIOaQnOe0ouaMiemSruaTjeS9nCAqL2hhbmRsZVF1ZXJ5OiBmdW5jdGlvbiBoYW5kbGVRdWVyeSgpIHsKICAgICAgdGhpcy5xdWVyeVBhcmFtcy5wYWdlTnVtID0gMTsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9LAogICAgLyoqIOmHjee9ruaMiemSruaTjeS9nCAqL3Jlc2V0UXVlcnk6IGZ1bmN0aW9uIHJlc2V0UXVlcnkoKSB7CiAgICAgIHRoaXMucmVzZXRGb3JtKCJxdWVyeUZvcm0iKTsKICAgICAgdGhpcy5oYW5kbGVRdWVyeSgpOwogICAgfSwKICAgIC8vIOWkmumAieahhumAieS4reaVsOaNrgogICAgaGFuZGxlU2VsZWN0aW9uQ2hhbmdlOiBmdW5jdGlvbiBoYW5kbGVTZWxlY3Rpb25DaGFuZ2Uoc2VsZWN0aW9uKSB7CiAgICAgIHRoaXMudXNlcklkcyA9IHNlbGVjdGlvbi5tYXAoZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICByZXR1cm4gaXRlbS51c2VySWQ7CiAgICAgIH0pOwogICAgICB0aGlzLm11bHRpcGxlID0gIXNlbGVjdGlvbi5sZW5ndGg7CiAgICB9LAogICAgLyoqIOaJk+W8gOaOiOadg+eUqOaIt+ihqOW8ueeqlyAqL29wZW5TZWxlY3RVc2VyOiBmdW5jdGlvbiBvcGVuU2VsZWN0VXNlcigpIHsKICAgICAgdGhpcy4kcmVmcy5zZWxlY3Quc2hvdygpOwogICAgfSwKICAgIC8qKiDlj5bmtojmjojmnYPmjInpkq7mk43kvZwgKi9jYW5jZWxBdXRoVXNlcjogZnVuY3Rpb24gY2FuY2VsQXV0aFVzZXIocm93KSB7CiAgICAgIHZhciBfdGhpczIgPSB0aGlzOwogICAgICB2YXIgcm9sZUlkID0gdGhpcy5xdWVyeVBhcmFtcy5yb2xlSWQ7CiAgICAgIHRoaXMuJG1vZGFsLmNvbmZpcm0oJ+ehruiupOimgeWPlua2iOivpeeUqOaItyInICsgcm93LnVzZXJOYW1lICsgJyLop5LoibLlkJfvvJ8nKS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICByZXR1cm4gKDAsIF9yb2xlLmF1dGhVc2VyQ2FuY2VsKSh7CiAgICAgICAgICB1c2VySWQ6IHJvdy51c2VySWQsCiAgICAgICAgICByb2xlSWQ6IHJvbGVJZAogICAgICAgIH0pOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczIuZ2V0TGlzdCgpOwogICAgICAgIF90aGlzMi4kbW9kYWwubXNnU3VjY2Vzcygi5Y+W5raI5o6I5p2D5oiQ5YqfIik7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0sCiAgICAvKiog5om56YeP5Y+W5raI5o6I5p2D5oyJ6ZKu5pON5L2cICovY2FuY2VsQXV0aFVzZXJBbGw6IGZ1bmN0aW9uIGNhbmNlbEF1dGhVc2VyQWxsKHJvdykgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIHJvbGVJZCA9IHRoaXMucXVlcnlQYXJhbXMucm9sZUlkOwogICAgICB2YXIgdXNlcklkcyA9IHRoaXMudXNlcklkcy5qb2luKCIsIik7CiAgICAgIHRoaXMuJG1vZGFsLmNvbmZpcm0oJ+aYr+WQpuWPlua2iOmAieS4reeUqOaIt+aOiOadg+aVsOaNrumhue+8nycpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX3JvbGUuYXV0aFVzZXJDYW5jZWxBbGwpKHsKICAgICAgICAgIHJvbGVJZDogcm9sZUlkLAogICAgICAgICAgdXNlcklkczogdXNlcklkcwogICAgICAgIH0pOwogICAgICB9KS50aGVuKGZ1bmN0aW9uICgpIHsKICAgICAgICBfdGhpczMuZ2V0TGlzdCgpOwogICAgICAgIF90aGlzMy4kbW9kYWwubXNnU3VjY2Vzcygi5Y+W5raI5o6I5p2D5oiQ5YqfIik7CiAgICAgIH0pLmNhdGNoKGZ1bmN0aW9uICgpIHt9KTsKICAgIH0KICB9Cn07CmV4cG9ydHMuZGVmYXVsdCA9IF9kZWZhdWx0Ow=="},{"version":3,"names":["_role","require","_selectUser","_interopRequireDefault","name","dicts","components","selectUser","data","loading","userIds","multiple","showSearch","total","userList","queryParams","pageNum","pageSize","roleId","undefined","userName","phonenumber","created","$route","params","getList","methods","_this","allocatedUserList","then","response","rows","handleClose","obj","path","$tab","closeOpenPage","handleQuery","resetQuery","resetForm","handleSelectionChange","selection","map","item","userId","length","openSelectUser","$refs","select","show","cancelAuthUser","row","_this2","$modal","confirm","authUserCancel","msgSuccess","catch","cancelAuthUserAll","_this3","join","authUserCancelAll","exports","default","_default"],"sources":["src/views/system/role/authUser.vue"],"sourcesContent":["<template>\r\n  <div class=\"app-container\">\r\n     <el-form :model=\"queryParams\" ref=\"queryForm\" size=\"small\" :inline=\"true\" v-show=\"showSearch\">\r\n      <el-form-item label=\"用户名称\" prop=\"userName\">\r\n        <el-input\r\n          v-model=\"queryParams.userName\"\r\n          placeholder=\"请输入用户名称\"\r\n          clearable\r\n          style=\"width: 240px\"\r\n          @keyup.enter.native=\"handleQuery\"\r\n        />\r\n      </el-form-item>\r\n      <el-form-item label=\"手机号码\" prop=\"phonenumber\">\r\n        <el-input\r\n          v-model=\"queryParams.phonenumber\"\r\n          placeholder=\"请输入手机号码\"\r\n          clearable\r\n          style=\"width: 240px\"\r\n          @keyup.enter.native=\"handleQuery\"\r\n        />\r\n      </el-form-item>\r\n      <el-form-item>\r\n        <el-button type=\"primary\" icon=\"el-icon-search\" size=\"mini\" @click=\"handleQuery\">搜索</el-button>\r\n        <el-button icon=\"el-icon-refresh\" size=\"mini\" @click=\"resetQuery\">重置</el-button>\r\n      </el-form-item>\r\n    </el-form>\r\n\r\n    <el-row :gutter=\"10\" class=\"mb8\">\r\n      <el-col :span=\"1.5\">\r\n        <el-button\r\n          type=\"primary\"\r\n          plain\r\n          icon=\"el-icon-plus\"\r\n          size=\"mini\"\r\n          @click=\"openSelectUser\"\r\n          v-hasPermi=\"['system:role:add']\"\r\n        >添加用户</el-button>\r\n      </el-col>\r\n      <el-col :span=\"1.5\">\r\n        <el-button\r\n          type=\"danger\"\r\n          plain\r\n          icon=\"el-icon-circle-close\"\r\n          size=\"mini\"\r\n          :disabled=\"multiple\"\r\n          @click=\"cancelAuthUserAll\"\r\n          v-hasPermi=\"['system:role:remove']\"\r\n        >批量取消授权</el-button>\r\n      </el-col>\r\n      <el-col :span=\"1.5\">\r\n        <el-button\r\n          type=\"warning\"\r\n          plain\r\n          icon=\"el-icon-close\"\r\n          size=\"mini\"\r\n          @click=\"handleClose\"\r\n        >关闭</el-button>\r\n      </el-col>\r\n      <right-toolbar :showSearch.sync=\"showSearch\" @queryTable=\"getList\"></right-toolbar>\r\n    </el-row>\r\n\r\n    <el-table v-loading=\"loading\" :data=\"userList\" @selection-change=\"handleSelectionChange\">\r\n      <el-table-column type=\"selection\" width=\"55\" align=\"center\" />\r\n      <el-table-column label=\"用户名称\" prop=\"userName\" :show-overflow-tooltip=\"true\" />\r\n      <el-table-column label=\"用户昵称\" prop=\"nickName\" :show-overflow-tooltip=\"true\" />\r\n      <el-table-column label=\"邮箱\" prop=\"email\" :show-overflow-tooltip=\"true\" />\r\n      <el-table-column label=\"手机\" prop=\"phonenumber\" :show-overflow-tooltip=\"true\" />\r\n      <el-table-column label=\"状态\" align=\"center\" prop=\"status\">\r\n        <template slot-scope=\"scope\">\r\n          <dict-tag :options=\"dict.type.sys_normal_disable\" :value=\"scope.row.status\"/>\r\n        </template>\r\n      </el-table-column>\r\n      <el-table-column label=\"创建时间\" align=\"center\" prop=\"createTime\" width=\"180\">\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-column label=\"操作\" align=\"center\" class-name=\"small-padding fixed-width\">\r\n        <template slot-scope=\"scope\">\r\n          <el-button\r\n            size=\"mini\"\r\n            type=\"text\"\r\n            icon=\"el-icon-circle-close\"\r\n            @click=\"cancelAuthUser(scope.row)\"\r\n            v-hasPermi=\"['system:role:remove']\"\r\n          >取消授权</el-button>\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=\"queryParams.pageNum\"\r\n      :limit.sync=\"queryParams.pageSize\"\r\n      @pagination=\"getList\"\r\n    />\r\n    <select-user ref=\"select\" :roleId=\"queryParams.roleId\" @ok=\"handleQuery\" />\r\n  </div>\r\n</template>\r\n\r\n<script>\r\nimport { allocatedUserList, authUserCancel, authUserCancelAll } from \"@/api/system/role\";\r\nimport selectUser from \"./selectUser\";\r\n\r\nexport default {\r\n  name: \"AuthUser\",\r\n  dicts: ['sys_normal_disable'],\r\n  components: { selectUser },\r\n  data() {\r\n    return {\r\n      // 遮罩层\r\n      loading: true,\r\n      // 选中用户组\r\n      userIds: [],\r\n      // 非多个禁用\r\n      multiple: true,\r\n      // 显示搜索条件\r\n      showSearch: true,\r\n      // 总条数\r\n      total: 0,\r\n      // 用户表格数据\r\n      userList: [],\r\n      // 查询参数\r\n      queryParams: {\r\n        pageNum: 1,\r\n        pageSize: 10,\r\n        roleId: undefined,\r\n        userName: undefined,\r\n        phonenumber: undefined\r\n      }\r\n    };\r\n  },\r\n  created() {\r\n    const roleId = this.$route.params && this.$route.params.roleId;\r\n    if (roleId) {\r\n      this.queryParams.roleId = roleId;\r\n      this.getList();\r\n    }\r\n  },\r\n  methods: {\r\n    /** 查询授权用户列表 */\r\n    getList() {\r\n      this.loading = true;\r\n      allocatedUserList(this.queryParams).then(response => {\r\n          this.userList = response.rows;\r\n          this.total = response.total;\r\n          this.loading = false;\r\n        }\r\n      );\r\n    },\r\n    // 返回按钮\r\n    handleClose() {\r\n      const obj = { path: \"/system/role\" };\r\n      this.$tab.closeOpenPage(obj);\r\n    },\r\n    /** 搜索按钮操作 */\r\n    handleQuery() {\r\n      this.queryParams.pageNum = 1;\r\n      this.getList();\r\n    },\r\n    /** 重置按钮操作 */\r\n    resetQuery() {\r\n      this.resetForm(\"queryForm\");\r\n      this.handleQuery();\r\n    },\r\n    // 多选框选中数据\r\n    handleSelectionChange(selection) {\r\n      this.userIds = selection.map(item => item.userId)\r\n      this.multiple = !selection.length\r\n    },\r\n    /** 打开授权用户表弹窗 */\r\n    openSelectUser() {\r\n      this.$refs.select.show();\r\n    },\r\n    /** 取消授权按钮操作 */\r\n    cancelAuthUser(row) {\r\n      const roleId = this.queryParams.roleId;\r\n      this.$modal.confirm('确认要取消该用户\"' + row.userName + '\"角色吗?').then(function() {\r\n        return authUserCancel({ userId: row.userId, roleId: roleId });\r\n      }).then(() => {\r\n        this.getList();\r\n        this.$modal.msgSuccess(\"取消授权成功\");\r\n      }).catch(() => {});\r\n    },\r\n    /** 批量取消授权按钮操作 */\r\n    cancelAuthUserAll(row) {\r\n      const roleId = this.queryParams.roleId;\r\n      const userIds = this.userIds.join(\",\");\r\n      this.$modal.confirm('是否取消选中用户授权数据项?').then(function() {\r\n        return authUserCancelAll({ roleId: roleId, userIds: userIds });\r\n      }).then(() => {\r\n        this.getList();\r\n        this.$modal.msgSuccess(\"取消授权成功\");\r\n      }).catch(() => {});\r\n    }\r\n  }\r\n};\r\n</script>"],"mappings":"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"}]}