{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\OrgManger.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\OrgManger.vue","mtime":1667327530012},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"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//\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//\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//\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//\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport uc from \"@/api/uc.js\";\r\nimport utils from \"@/hotent-ui-util.js\";\r\nimport req from \"@/request.js\";\r\nconst userRoleManager = () => import(\"./UserRoleManager.vue\");\r\nconst roleMenuAuth = () => import(\"./RoleMenuAuth.vue\");\r\nconst roleMethodAuth = () => import(\"./RoleMethodAuth.vue\");\r\n\r\nexport default {\r\n  components: {\r\n\r\n    userRoleManager,\r\n    roleMenuAuth,\r\n    roleMethodAuth\r\n  },\r\n  computed: {\r\n    roleDeleteUrl: function() {\r\n      return window.context.uc + \"/api/role/v1/role/deleteRoleByIds\";\r\n    },\r\n    saveRoleUrl: function() {\r\n      let preUrl = window.context.uc + \"/api/role/v1/role\";\r\n      if (this.role.id) {\r\n        preUrl += \"/updateRole\";\r\n      } else {\r\n        preUrl += \"/addRole\";\r\n      }\r\n      return preUrl;\r\n    },\r\n    requestMethod: function() {\r\n      return this.role.id ? \"PUT\" : \"POST\";\r\n    },\r\n    roleCodesOptions: function() {\r\n      let result = [];\r\n      for (let role of this.allowRoles) {\r\n        let obj = {};\r\n        obj.key = role.code;\r\n        obj.value = role.name;\r\n        result.push(obj);\r\n      }\r\n      return result;\r\n    },\r\n    saveRoleCopy: function() {\r\n      return `${window.context.portal}/sys/sysRoleAuth/v1/saveCopy?oldCode=${this.menuPerm.code}&newCodes=${this.menuPerm.newCodes}`;\r\n    },\r\n    importUrl: function() {\r\n      return window.context.uc + \"/api/role/v1/roles/import\";\r\n    },\r\n    uploadHeaders: function(mapState) {\r\n      return {Authorization: 'Bearer ' + this.$store.state.login.currentUser.token}\r\n    }\r\n  },\r\n  data() {\r\n    return {\r\n      dialogVisible: false,\r\n      dialogVisibleMenuPerm: false,\r\n      dialogImportVisible: false,\r\n      fullscreenLoading: false,\r\n      role: {\r\n        name: \"\",\r\n        code: \"\",\r\n        enabled: 1,\r\n        roleType: 2\r\n      },\r\n      isSubmit: false,\r\n      data: [],\r\n      pageResult: {\r\n        page: 1,\r\n        pageSize: 50,\r\n        total: 0\r\n      },\r\n      loadDataUrl: \"\",\r\n      menuPerm: {},\r\n      allowRoles: [],\r\n      selectArray:[]        //用户选中的数据以便判断是否是系统角色\r\n    };\r\n  },\r\n  mounted() {\r\n    this.$validator = this.$root.$validator;\r\n  },\r\n  methods: {\r\n    rowClick(row, column, event){\r\n      this.$refs.roleTable.$refs.htTable.toggleRowSelection(row);\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false;\r\n    },\r\n    handleCloseMenuPerm() {\r\n      this.dialogVisibleMenuPerm = false;\r\n    },\r\n    showDialog(row) {\r\n      this.dialogVisible = true;\r\n      if (row) {\r\n        // this.role = row;\r\n        //setTimeout(() => this.$validator.validateAll());\r\n        this.loadDataUrl = `/api/role/v1/role/getRole?code=${row.code}`;\r\n      } else {\r\n        this.role = { name: \"\", code: \"\",enabled:1 , roleType: 2};\r\n      }\r\n    },\r\n    dialogCancle(dialogVisible) {\r\n      this[dialogVisible] = false;\r\n    },\r\n    loadData(param, cb) {\r\n      uc.getRolePage(param)\r\n        .then(response => {\r\n          this.data = response.rows;\r\n          this.pageResult = {\r\n            page: response.page,\r\n            pageSize: response.pageSize,\r\n            total: response.total\r\n          };\r\n        })\r\n        .finally(() => cb());\r\n    },\r\n    handleCommand(params) {\r\n      switch (params.command) {\r\n        // case \"edit\":\r\n        //   this.showDialog(params.row);\r\n        //   break;\r\n        case \"delete\":\r\n          break;\r\n        case \"assignUser\":\r\n          this.$refs.userRoleManager.showDialog(params.row.code);\r\n          break;\r\n        case \"assignMenu\":\r\n          this.$refs.roleMenuAuth.showDialog(params.row.code);\r\n          break;\r\n        case \"methodAuth\":\r\n          this.$refs.roleMethodAuth.showDialog(params.row.code);\r\n          break;\r\n        case \"copyRoleMenuPerm\":\r\n          this.menuPerm = params.row;\r\n          this.dialogVisibleMenuPerm = true;\r\n          this.loadDataUrl = `/api/role/v1/roles/getNotCodeAll?code=${params.row.code}`;\r\n          break;\r\n        default:\r\n          break;\r\n      }\r\n    },\r\n    async beforeSaveData() {\r\n      //  提交前可以改变model中的数据\r\n      // this.role\r\n      // this.isSubmit 是否提交数据到后台\r\n      // this.isSubmit = true  提交数据到后天\r\n      // this.isSubmit = false 不提交\r\n      // this.isSubmit = false;\r\n      // console.log(new Date().getTime());\r\n      // for(let i=0; i<1000000000;i++){\r\n\r\n      // }\r\n      //  console.log(new Date().getTime());\r\n      this.isSubmit = true;\r\n    },\r\n    afterSaveData() {\r\n      this.dialogVisible = false;\r\n      this.$refs.roleTable.load();\r\n    },\r\n    afterLoadData(data) {\r\n      // 菜单权限复制\r\n      if (this.dialogVisibleMenuPerm) {\r\n        this.allowRoles = data;\r\n      }\r\n      // 编辑角色\r\n      if (this.dialogVisible) {\r\n        this.role = data.value;\r\n        setTimeout(() => this.$validator.validateAll(\"editRoleForm\"));\r\n      }\r\n    },\r\n    //导入\r\n    onExceed(file) {\r\n      this.$message.warning('只能选择一个Excel文件!')\r\n    },\r\n    submitImport() {\r\n      if (!this.$refs.upload.uploadFiles || this.$refs.upload.uploadFiles.length == 0) {\r\n        this.$message.warning('请选择要导入的数据文件!')\r\n        return false\r\n      }\r\n      if (!this.importDemCode) {\r\n        this.$message.warning('请选择要导入的维度!')\r\n        return false\r\n      }\r\n      this.$refs.upload.submit()\r\n    },\r\n    beforeUpload(file) {\r\n      if (!file.name.endsWith('.xlsx') && !file.name.endsWith('.xls')) {\r\n        this.$message.warning('只能导入Excel文件!')\r\n        return false\r\n      }\r\n      this.fullscreenLoading = true\r\n    },\r\n    hadleUploadResult(response, file, fileList) {\r\n      this.fullscreenLoading = false\r\n      if (response.state) {\r\n        this.$message.success(response.message)\r\n        this.dialogImportVisible = false\r\n        this.$refs.roleTable.load()\r\n      } else {\r\n        this.$message.error(response.message + '：' + response.value)\r\n      }\r\n    },\r\n    cancelConfirm(){\r\n      this.$refs.upload.clearFiles();\r\n      this.dialogImportVisible = false;\r\n      this.$refs.upload.uploadFiles=[]\r\n    },\r\n    //下载模板\r\n    downloadTemplate(){\r\n      // 此方法下载报错，改用a 标签下载\r\n      // console.log(window.context.manage + \"/static/excel/导出角色模板.xls\", \"/static/excel/导出角色模板.xls\");\r\n      // window.location.href = 'http://119.3.200.177:8080/mvue/static/excel/导出角色模板.xls';\r\n    },\r\n    exportExcel(data){\r\n        let selection = this.$refs.roleTable.$refs.htTable.selection;\r\n        if(!selection || selection.length == 0){\r\n          this.$message({type:\"warning\",message:\"请至少选择一条记录\"});\r\n          return;\r\n        };\r\n        let ids = [];\r\n        for(let i = 0 ; i < selection.length;i++){\r\n          ids.push(selection[i].id);\r\n        }\r\n        let url = window.context.uc + \"/api/role/v1/roles/export?ids=\"+ids.join(\",\");\r\n        req.download(url);\r\n    },\r\n    submitImport() {\r\n      if (!this.$refs.upload.uploadFiles || this.$refs.upload.uploadFiles.length == 0) {\r\n        this.$message.warning('请选择要导入的数据文件!')\r\n        return false\r\n      }\r\n      this.$refs.upload.submit()\r\n    },\r\n    //用户选中的数据，用于系统角色不能删除\r\n    handleSelect() {      \r\n      this.selectArray = this.$refs.roleTable.selection\r\n    },\r\n    //删除角色，过滤系统角色\r\n    roleDeleteByid() {\r\n      let arr = []; \r\n      let ids= '';\r\n      this.selectArray.forEach(item => {\r\n        if(item.roleType === 1){\r\n          this.$message.error('系统角色无法删除')\r\n        }else{\r\n          arr.push(item.id)\r\n        }\r\n      })\r\n      arr.forEach(item => {\r\n        ids += item + ','\r\n      })\r\n      if(ids) {\r\n          //删除普通角色\r\n        uc.delOrdinaryRole(ids).then(res => {\r\n          //重新获取数据\r\n          this.loadData()\r\n        })\r\n      }\r\n    },\r\n    //用户点击全选按钮触发\r\n    handleSelectAll(selection) {\r\n      // console.log(selection)\r\n      this.selectArray = selection\r\n    }\r\n  }\r\n};\r\n",null]}