feige
2024-02-02 bd40473c9c634005bc7e62e7fc901bcd8b598fa0
1
{"remainingRequest":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js!C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\system\\role\\authUser.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\src\\views\\system\\role\\authUser.vue","mtime":1676881540000},{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\babel.config.js","mtime":1676881540000},{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\feige\\Desktop\\RuoYi-Vue-master\\RuoYi-Vue-master\\ruoyi-ui\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:InVzZSBzdHJpY3QiOwoKdmFyIF9pbnRlcm9wUmVxdWlyZURlZmF1bHQgPSByZXF1aXJlKCJDOi9Vc2Vycy9mZWlnZS9EZXNrdG9wL1J1b1lpLVZ1ZS1tYXN0ZXIvUnVvWWktVnVlLW1hc3Rlci9ydW95aS11aS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9pbnRlcm9wUmVxdWlyZURlZmF1bHQuanMiKS5kZWZhdWx0OwpPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgIl9fZXNNb2R1bGUiLCB7CiAgdmFsdWU6IHRydWUKfSk7CmV4cG9ydHMuZGVmYXVsdCA9IHZvaWQgMDsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5Lm1hcC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuam9pbi5qcyIpOwp2YXIgX3JvbGUgPSByZXF1aXJlKCJAL2FwaS9zeXN0ZW0vcm9sZSIpOwp2YXIgX3NlbGVjdFVzZXIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KHJlcXVpcmUoIi4vc2VsZWN0VXNlciIpKTsKLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KdmFyIF9kZWZhdWx0ID0gewogIG5hbWU6ICJBdXRoVXNlciIsCiAgZGljdHM6IFsnc3lzX25vcm1hbF9kaXNhYmxlJ10sCiAgY29tcG9uZW50czogewogICAgc2VsZWN0VXNlcjogX3NlbGVjdFVzZXIuZGVmYXVsdAogIH0sCiAgZGF0YTogZnVuY3Rpb24gZGF0YSgpIHsKICAgIHJldHVybiB7CiAgICAgIC8vIOmBrue9qeWxggogICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAvLyDpgInkuK3nlKjmiLfnu4QKICAgICAgdXNlcklkczogW10sCiAgICAgIC8vIOmdnuWkmuS4quemgeeUqAogICAgICBtdWx0aXBsZTogdHJ1ZSwKICAgICAgLy8g5pi+56S65pCc57Si5p2h5Lu2CiAgICAgIHNob3dTZWFyY2g6IHRydWUsCiAgICAgIC8vIOaAu+adoeaVsAogICAgICB0b3RhbDogMCwKICAgICAgLy8g55So5oi36KGo5qC85pWw5o2uCiAgICAgIHVzZXJMaXN0OiBbXSwKICAgICAgLy8g5p+l6K+i5Y+C5pWwCiAgICAgIHF1ZXJ5UGFyYW1zOiB7CiAgICAgICAgcGFnZU51bTogMSwKICAgICAgICBwYWdlU2l6ZTogMTAsCiAgICAgICAgcm9sZUlkOiB1bmRlZmluZWQsCiAgICAgICAgdXNlck5hbWU6IHVuZGVmaW5lZCwKICAgICAgICBwaG9uZW51bWJlcjogdW5kZWZpbmVkCiAgICAgIH0KICAgIH07CiAgfSwKICBjcmVhdGVkOiBmdW5jdGlvbiBjcmVhdGVkKCkgewogICAgdmFyIHJvbGVJZCA9IHRoaXMuJHJvdXRlLnBhcmFtcyAmJiB0aGlzLiRyb3V0ZS5wYXJhbXMucm9sZUlkOwogICAgaWYgKHJvbGVJZCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnJvbGVJZCA9IHJvbGVJZDsKICAgICAgdGhpcy5nZXRMaXN0KCk7CiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICAvKiog5p+l6K+i5o6I5p2D55So5oi35YiX6KGoICovZ2V0TGlzdDogZnVuY3Rpb24gZ2V0TGlzdCgpIHsKICAgICAgdmFyIF90aGlzID0gdGhpczsKICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgKDAsIF9yb2xlLmFsbG9jYXRlZFVzZXJMaXN0KSh0aGlzLnF1ZXJ5UGFyYW1zKS50aGVuKGZ1bmN0aW9uIChyZXNwb25zZSkgewogICAgICAgIF90aGlzLnVzZXJMaXN0ID0gcmVzcG9uc2Uucm93czsKICAgICAgICBfdGhpcy50b3RhbCA9IHJlc3BvbnNlLnRvdGFsOwogICAgICAgIF90aGlzLmxvYWRpbmcgPSBmYWxzZTsKICAgICAgfSk7CiAgICB9LAogICAgLy8g6L+U5Zue5oyJ6ZKuCiAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHZhciBvYmogPSB7CiAgICAgICAgcGF0aDogIi9zeXN0ZW0vcm9sZSIKICAgICAgfTsKICAgICAgdGhpcy4kdGFiLmNsb3NlT3BlblBhZ2Uob2JqKTsKICAgIH0sCiAgICAvKiog5pCc57Si5oyJ6ZKu5pON5L2cICovaGFuZGxlUXVlcnk6IGZ1bmN0aW9uIGhhbmRsZVF1ZXJ5KCkgewogICAgICB0aGlzLnF1ZXJ5UGFyYW1zLnBhZ2VOdW0gPSAxOwogICAgICB0aGlzLmdldExpc3QoKTsKICAgIH0sCiAgICAvKiog6YeN572u5oyJ6ZKu5pON5L2cICovcmVzZXRRdWVyeTogZnVuY3Rpb24gcmVzZXRRdWVyeSgpIHsKICAgICAgdGhpcy5yZXNldEZvcm0oInF1ZXJ5Rm9ybSIpOwogICAgICB0aGlzLmhhbmRsZVF1ZXJ5KCk7CiAgICB9LAogICAgLy8g5aSa6YCJ5qGG6YCJ5Lit5pWw5o2uCiAgICBoYW5kbGVTZWxlY3Rpb25DaGFuZ2U6IGZ1bmN0aW9uIGhhbmRsZVNlbGVjdGlvbkNoYW5nZShzZWxlY3Rpb24pIHsKICAgICAgdGhpcy51c2VySWRzID0gc2VsZWN0aW9uLm1hcChmdW5jdGlvbiAoaXRlbSkgewogICAgICAgIHJldHVybiBpdGVtLnVzZXJJZDsKICAgICAgfSk7CiAgICAgIHRoaXMubXVsdGlwbGUgPSAhc2VsZWN0aW9uLmxlbmd0aDsKICAgIH0sCiAgICAvKiog5omT5byA5o6I5p2D55So5oi36KGo5by556qXICovb3BlblNlbGVjdFVzZXI6IGZ1bmN0aW9uIG9wZW5TZWxlY3RVc2VyKCkgewogICAgICB0aGlzLiRyZWZzLnNlbGVjdC5zaG93KCk7CiAgICB9LAogICAgLyoqIOWPlua2iOaOiOadg+aMiemSruaTjeS9nCAqL2NhbmNlbEF1dGhVc2VyOiBmdW5jdGlvbiBjYW5jZWxBdXRoVXNlcihyb3cpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIHZhciByb2xlSWQgPSB0aGlzLnF1ZXJ5UGFyYW1zLnJvbGVJZDsKICAgICAgdGhpcy4kbW9kYWwuY29uZmlybSgn56Gu6K6k6KaB5Y+W5raI6K+l55So5oi3IicgKyByb3cudXNlck5hbWUgKyAnIuinkuiJsuWQl++8nycpLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIHJldHVybiAoMCwgX3JvbGUuYXV0aFVzZXJDYW5jZWwpKHsKICAgICAgICAgIHVzZXJJZDogcm93LnVzZXJJZCwKICAgICAgICAgIHJvbGVJZDogcm9sZUlkCiAgICAgICAgfSk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMi5nZXRMaXN0KCk7CiAgICAgICAgX3RoaXMyLiRtb2RhbC5tc2dTdWNjZXNzKCLlj5bmtojmjojmnYPmiJDlip8iKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfSwKICAgIC8qKiDmibnph4/lj5bmtojmjojmnYPmjInpkq7mk43kvZwgKi9jYW5jZWxBdXRoVXNlckFsbDogZnVuY3Rpb24gY2FuY2VsQXV0aFVzZXJBbGwocm93KSB7CiAgICAgIHZhciBfdGhpczMgPSB0aGlzOwogICAgICB2YXIgcm9sZUlkID0gdGhpcy5xdWVyeVBhcmFtcy5yb2xlSWQ7CiAgICAgIHZhciB1c2VySWRzID0gdGhpcy51c2VySWRzLmpvaW4oIiwiKTsKICAgICAgdGhpcy4kbW9kYWwuY29uZmlybSgn5piv5ZCm5Y+W5raI6YCJ5Lit55So5oi35o6I5p2D5pWw5o2u6aG577yfJykudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgcmV0dXJuICgwLCBfcm9sZS5hdXRoVXNlckNhbmNlbEFsbCkoewogICAgICAgICAgcm9sZUlkOiByb2xlSWQsCiAgICAgICAgICB1c2VySWRzOiB1c2VySWRzCiAgICAgICAgfSk7CiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKCkgewogICAgICAgIF90aGlzMy5nZXRMaXN0KCk7CiAgICAgICAgX3RoaXMzLiRtb2RhbC5tc2dTdWNjZXNzKCLlj5bmtojmjojmnYPmiJDlip8iKTsKICAgICAgfSkuY2F0Y2goZnVuY3Rpb24gKCkge30pOwogICAgfQogIH0KfTsKZXhwb3J0cy5kZWZhdWx0ID0gX2RlZmF1bHQ7"},{"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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"}]}