{"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\\UserCenter.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-fvue\\src\\views\\main\\organizationPermission\\UserCenter.vue","mtime":1667327530028},{"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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 org from '@/api/org.js'\r\nimport utils from '@/hotent-ui-util.js'\r\nimport UserManager from './UserManager'\r\nimport UserDetail from './UserDetail'\r\n\r\nconst UserRoleManager = () => import('./UserRoleManager.vue')\r\nconst EipSysTypeDialog = () =>\r\n  import('@/components/dialog/EipSysTypeDialog.vue')\r\nconst UnderUserTable = () => import('./UnderUserTable')\r\nconst ShiftRuleDialog = () => import('@/components/dialog/ShiftRuleDialog.vue')\r\nimport tenant from '@/store/tenant'\r\n\r\nexport default {\r\n  components: {\r\n\r\n    UserRoleManager,\r\n    EipSysTypeDialog,\r\n    UserManager,\r\n    UserDetail,\r\n    UnderUserTable,\r\n    ShiftRuleDialog,\r\n  },\r\n  computed: {\r\n    userDeleteUrl: function () {\r\n      return window.context.uc + '/api/user/v1/user/deleteUserByIds'\r\n    },\r\n    saveUserUrl: function () {\r\n      let preUrl = window.context.uc + '/api/user/v1/user'\r\n      if (this.user.id) {\r\n        preUrl += '/updateUser'\r\n      } else {\r\n        preUrl += '/addUser'\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.uc}/sys/sysRoleAuth/v1/saveCopy?oldCode=${this.menuPerm.code}&newCodes=${this.menuPerm.newCodes}`\r\n    },\r\n    importUserUrl: function () {\r\n      let tenantId = ''\r\n      if (tenant.state.tenantId) {\r\n        tenantId = '&tenantId=' + tenant.state.tenantId\r\n      }\r\n      return (\r\n        window.context.uc +\r\n        '/api/user/v1/users/importExcelUser?demCode=' +\r\n        this.importDemCode +\r\n        '&repeatConver=' +\r\n        this.importRepeatConver +\r\n        tenantId\r\n      )\r\n    },\r\n    importSignatureUrl: function () {\r\n      let tenantId = ''\r\n      if (tenant.state.tenantId) {\r\n        tenantId = '&tenantId=' + tenant.state.tenantId\r\n      }\r\n      return (\r\n        window.context.portal +\r\n        '/file/v1/importSignature?repeatConver=' +\r\n        this.signatureRepeatConver +\r\n        tenantId\r\n      )\r\n    },\r\n    uploadHeaders: function (mapState) {\r\n      return {\r\n        Authorization: 'Bearer ' + this.$store.state.login.currentUser.token,\r\n      }\r\n    },\r\n  },\r\n  data() {\r\n    return {\r\n      showDialogId: '',\r\n      selectOrgId: '',\r\n      selectOrgName: '',\r\n      orgList: [], //下拉框待选择的组织\r\n      demList: [], //下拉框待选择的维度\r\n      treeData: [], //树形菜单展示的数组\r\n      defaultProps: {\r\n        children: 'children',\r\n        label: 'name',\r\n      },\r\n      reFresh: true,\r\n      dialogVisible: false,\r\n      isUserManagerShow: false,\r\n      showExcel: false,\r\n      role: {\r\n        name: '',\r\n        code: '',\r\n      },\r\n      user: {\r\n        account: '',\r\n        address: '',\r\n        email: '',\r\n        fullname: '',\r\n        mobile: '',\r\n        password: '',\r\n        photo: '',\r\n        sex: '',\r\n        status: 1,\r\n        roleName: '',\r\n        orgPostList: [],\r\n      },\r\n      isSubmit: true,\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      fileList: [],\r\n      img: '',\r\n      clickUserAccount: '', //当前点击用户的用户账号\r\n      isUserInfo: false,\r\n      isUpdatePwd: false,\r\n      password: {\r\n        pwd: '',\r\n        newPwd: '',\r\n      },\r\n      pwdValidate: {\r\n        required: true,\r\n        min: 6,\r\n        max: 30,\r\n      },\r\n      dialogTitle: '',\r\n      roles: [],\r\n      jobs: [],\r\n      posts: [],\r\n      importDialogVisible: false,\r\n      importDemCode: '',\r\n      importRepeatConver: false,\r\n      exportSelection: [],\r\n      orgCode: '',\r\n      selectOrgUserAccount: '',\r\n      orgId: '',\r\n      dimenList: [],\r\n      wxDtVisible: false,\r\n      userUnite: {},\r\n      signatureImportVisible: false,\r\n      signatureRepeatConver: true,\r\n    }\r\n  },\r\n  mounted() {\r\n    this.$validator = this.$root.$validator\r\n    //维度-组织数据\r\n    this.getAllDemList()\r\n    //获取用户导入按钮参数\r\n    this.getUserExcel()\r\n    //默认密码策略\r\n    //this.loadPwdStratege();\r\n    /*//加载全部角色\r\n    this.getAllRoles();\r\n    //加载全部职务\r\n    this.getAllJobs();\r\n    //加载全部岗位\r\n    this.getAllPosts();*/\r\n  },\r\n  methods: {\r\n    rowClick(row, column, event) {\r\n      this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    getUserExcel() {\r\n      let this_ = this\r\n      this.$http\r\n        .get('${portal}/sys/sysProperties/v1/getByAlias?alias=userExcel')\r\n        .then(function (resp) {\r\n          if (resp.data) {\r\n            this_.showExcel = true\r\n          }\r\n        })\r\n    },\r\n    demChange(data) {\r\n      this.selectOrgId = data\r\n      this.orgCode = ''\r\n      this.loadTreeData()\r\n      this.showDialogId = ''\r\n    },\r\n    orgTreeClick(orgbytree) {\r\n      //重置数据\r\n      let ary = this.$refs.htTable.querys\r\n      for (var i = 0; i < ary.length; i++) {\r\n        if (ary[i].group && ary[i].group == 'orgTree') {\r\n          ary.remove(ary[i])\r\n        }\r\n      }\r\n      let quickSearchEl = document.querySelector('.quick-search input')\r\n      if (quickSearchEl && !quickSearchEl.value) {\r\n        this.$refs.htTable.querys = []\r\n      }\r\n      if (!orgbytree.code) {\r\n        this.$refs.htTable.querys.push({\r\n          property: 'DEM_ID_',\r\n          value: orgbytree.demId,\r\n          group: 'orgTree',\r\n          relation: 'AND',\r\n          operation: 'EQUAL',\r\n        })\r\n        this.showDialogId = ''\r\n      } else {\r\n        this.orgCode = orgbytree.code\r\n        let ids = []\r\n        let trees = ''\r\n        this.getOrgTrees(orgbytree, ids)\r\n        trees = ids.join(',')\r\n        if (trees != '') {\r\n          this.$refs.htTable.querys.push({\r\n            property: 'ORG_ID_',\r\n            value: trees,\r\n            group: 'orgTree',\r\n            relation: 'AND',\r\n            operation: 'IN',\r\n          })\r\n        }\r\n        this.showDialogId = trees\r\n      }\r\n      this.$refs.htTable.load()\r\n    },\r\n    getOrgTrees(node, ids) {\r\n      ids.push(node.id)\r\n      let arr = node.children\r\n      if (arr) {\r\n        for (var i = 0; i < arr.length; i++) {\r\n          this.getOrgTrees(arr[i], ids)\r\n        }\r\n      }\r\n    },\r\n    handleRefresh(cb) {\r\n      this.loadTreeData(cb)\r\n      //重置数据\r\n      let ary = this.$refs.htTable.querys\r\n      for (var i = 0; i < ary.length; i++) {\r\n        if (ary[i].group && ary[i].group == 'orgTree') {\r\n          ary.remove(ary[i])\r\n        }\r\n      }\r\n      this.$refs.htTable.load()\r\n      this.showDialogId = ''\r\n    },\r\n    getAllDemList() {\r\n      org\r\n        .getDescAll()\r\n        .then((resp) => {\r\n          for (let i = 0; i < resp.length; i++) {\r\n            this.orgList.push({\r\n              key: resp[i].id,\r\n              value: resp[i].demName,\r\n            })\r\n            this.demList.push({\r\n              key: resp[i].code,\r\n              value: resp[i].demName,\r\n            })\r\n            this.dimenList = resp\r\n            if (resp[i].isDefault === 1) {\r\n              this.selectOrgId = resp[i].id\r\n            }\r\n          }\r\n        })\r\n        .then((params) => {\r\n          var dem = {\r\n            demId: this.selectOrgId,\r\n          }\r\n          org.getByParentAndDemToTree(dem).then((data) => {\r\n            this.treeData = utils.tile2nest(data)\r\n          })\r\n        })\r\n    },\r\n    loadTreeData(cb) {\r\n      var param = {\r\n        demId: this.selectOrgId,\r\n      }\r\n      org.getByParentAndDemToTree(param).then((data) => {\r\n        this.treeData = utils.tile2nest(data)\r\n        cb && cb()\r\n      })\r\n    },\r\n    loadPwdStratege() {\r\n      uc.getDefaultPwdStrategy().then((data) => {\r\n        if (data) {\r\n          let form = data\r\n          if (form.enable == 1) {\r\n            let pwdRule = form.pwdRule\r\n            let pwdLength = form.pwdLength\r\n            if (pwdRule == 1) {\r\n              this.pwdValidate = {\r\n                required: true,\r\n                min: pwdLength,\r\n              }\r\n            } else {\r\n              let regex = {}\r\n              if (pwdRule == 2) {\r\n                regex = {\r\n                  exp: '^(?=.*[0-9])(?=.*[a-zA-Z]).{' + pwdLength + ',30}$',\r\n                  message: '密码必须包含字母、数字,至少' + pwdLength + '位',\r\n                }\r\n              } else if (pwdRule == 3) {\r\n                regex = {\r\n                  exp:\r\n                    '^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[^a-zA-Z0-9]).{' +\r\n                    pwdLength +\r\n                    ',30}$',\r\n                  message:\r\n                    '密码必须包含数字、字母、特殊字符,至少' + pwdLength + '位',\r\n                }\r\n              } else if (pwdRule == 4) {\r\n                regex = {\r\n                  exp:\r\n                    '^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[^a-zA-Z0-9]).{' +\r\n                    pwdLength +\r\n                    ',30}$',\r\n                  message:\r\n                    '密码必须包含数字、大小写字母、特殊字符,至少' +\r\n                    pwdLength +\r\n                    '位',\r\n                }\r\n              }\r\n              this.pwdValidate = {\r\n                required: true,\r\n                regex: regex,\r\n              }\r\n            }\r\n          }\r\n        }\r\n      })\r\n    },\r\n    onBeforeUploadImage(file) {\r\n      const isIMAGE = file.type === 'image/jpeg' || 'image/jpg' || 'image/png'\r\n      const isLt1M = file.size / 1024 / 1024 < 1\r\n      if (!isIMAGE) {\r\n        this.$message.error('上传文件只能是图片格式!')\r\n      }\r\n      if (!isLt1M) {\r\n        this.$message.error('上传文件大小不能超过 1MB!')\r\n      }\r\n      return isIMAGE && isLt1M\r\n    },\r\n    UploadImage(param) {\r\n      //执行文件上传\r\n      const formData = new FormData()\r\n      formData.append('files', param.file)\r\n      uc.fileUpload(formData)\r\n        .then((response) => {\r\n          this.user.photo = '/file/v1/downloadFile?fileId=' + response.fileId\r\n          param.onSuccess() // 上传成功的图片会显示绿色的对勾\r\n        })\r\n        .catch((response) => {\r\n          param.onError()\r\n        })\r\n    },\r\n    handleClose() {\r\n      this.dialogVisible = false\r\n    },\r\n    handleCloseUserManager() {\r\n      this.isUserManagerShow = false\r\n      this.isUserInfo = false\r\n      this.isUpdatePwd = false\r\n      this.password = {}\r\n      this.clickUserAccount = ''\r\n      this.$refs.htTable.load()\r\n    },\r\n    showDialog(row) {\r\n      if (this.showDialogId) {\r\n        this.dialogTitle = '添加用户'\r\n        this.isUserManagerShow = false\r\n        this.$nextTick(() => {\r\n          this.isUserManagerShow = true\r\n        })\r\n      } else {\r\n        this.$message.error('请选择用户所在组织')\r\n      }\r\n    },\r\n    dialogCancle(dialogVisible) {\r\n      this[dialogVisible] = false\r\n    },\r\n    loadData(param, cb) {\r\n      uc.getOrgUserQuery(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.dialogTitle = '编辑用户'\r\n          this.clickUserAccount = params.row.account\r\n          this.isUserManagerShow = false\r\n          this.$nextTick(() => {\r\n            this.isUserManagerShow = true\r\n          })\r\n          break\r\n        case 'showInfo':\r\n          this.selectUserInfo(params.row.account)\r\n          break\r\n        case 'updatePwd':\r\n          this.user = params.row\r\n          this.isUpdatePwd = true\r\n          break\r\n        case 'toFront':\r\n          uc.getTokenByUserName(params.row.account).then((resp) => {\r\n            let token = resp.value\r\n            // window.location.href = `${window.context.front}?token= ` + token;\r\n            window.open(`${window.context.front}?token=` + token)\r\n          })\r\n          break\r\n        case 'toManager':\r\n          uc.getTokenByUserName(params.row.account).then((resp) => {\r\n            let token = resp.value\r\n            // window.location.href = `${window.context.front}?token= ` + token;\r\n            window.open(`${window.context.manage}?token=` + token)\r\n          })\r\n          break\r\n        case 'bindWxDk':\r\n          this.getUserUniteData(params.row.userId)\r\n          break\r\n        case 'toUnderUserPage':\r\n          this.selectOrgUserAccount = params.row.account\r\n          this.$refs.underUserTable.showDialog(params.row.userId)\r\n          break\r\n        case 'shiftUser':\r\n          this.setShiftUser(params.row.userId)\r\n        default:\r\n          break\r\n      }\r\n    },\r\n    async beforeSaveData() {\r\n      this.isSubmit = true\r\n    },\r\n    afterSaveData() {\r\n      this.dialogVisible = false\r\n      this.$refs.htTable.load()\r\n    },\r\n    afterDelete() {\r\n      this.$refs.htTable.load()\r\n    },\r\n    afterLoadData(data) {\r\n      // 菜单权限复制\r\n      if (this.isUserManagerShow) {\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    showFlowTypeDialog() {\r\n      this.$refs.flowTypeDialog.showDialog()\r\n    },\r\n    selectUserInfo(account) {\r\n      //查询用户的详细信息\r\n      uc.getUser(account)\r\n        .then((resp) => {\r\n          resp.photo = `${window.context.portal}` + resp.photo\r\n          this.user = {...resp.user}\r\n        })\r\n        .then(() => {\r\n          // 查询所属组织岗位，所属角色信息\r\n          uc.getUserByUserId(this.user.id).then((resp) => {\r\n            this.$set(\r\n              this.user,\r\n              'roleName',\r\n              resp[resp.length - 1].roleName.roleName\r\n            )\r\n            let _orgPostList = []\r\n            for (var i = 0; i < resp.length - 1; i++) {\r\n              _orgPostList.push(resp[i])\r\n            }\r\n            this.$set(this.user, 'orgPostList', _orgPostList)\r\n            this.isUserInfo = true\r\n          })\r\n        })\r\n    },\r\n    beforeSynchronization() {\r\n      var users = this.$refs.htTable.$refs.htTable.selection\r\n      let userIds = users.map((obj) => {\r\n        return obj.userId\r\n      })\r\n      uc.syncUserToWx(userIds).then(() => {\r\n        this.$refs.htTable.load()\r\n      })\r\n    },\r\n    updatePwd() {\r\n      if (this.password.pwd != this.password.newPwd) {\r\n        this.$message.error('两次输入密码不一致')\r\n        return\r\n      } else if (this.password.newPwd == '' || this.password.newPwd == null) {\r\n        this.$message.error('请输入密码')\r\n        return\r\n      } else if (this.password.newPwd.length < 6) {\r\n        this.$message.error('密码长度必须到6位')\r\n        return\r\n      }\r\n      var param = {\r\n        account: this.user.account,\r\n        newPwd: this.password.newPwd,\r\n      }\r\n      uc.updateUserPsw(param).then(() => {\r\n        this.$message({\r\n          message: '修改成功！',\r\n          type: 'success',\r\n        })\r\n        this.isUpdatePwd = false\r\n        this.password = {}\r\n      })\r\n    },\r\n    closeUserManeger() {\r\n      this.handleCloseUserManager()\r\n    },\r\n    excelImport() {\r\n      this.fullscreenLoading = false\r\n      this.importDialogVisible = true\r\n    },\r\n    signatureImport() {\r\n      this.fullscreenLoading = false\r\n      this.signatureImportVisible = true\r\n    },\r\n    excelExport() {\r\n      if (this.exportSelection.length < 1) {\r\n        this.$message({type: 'warning', message: '请选择需要导出的数据！'})\r\n        return false\r\n      }\r\n      let select = []\r\n      for (let i = 0; i < this.exportSelection.length; i++) {\r\n        select.push(JSON.stringify(this.exportSelection[i]))\r\n      }\r\n      let loading = this.$loading()\r\n      uc.userExport(select, (resp) => {\r\n        loading.close()\r\n        this.$message({type: 'success', message: '导出成功'})\r\n      })\r\n    },\r\n    rowClick(row, column, event) {\r\n      this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n    },\r\n    selectRow(selection, row) {\r\n      this.exportSelection = selection\r\n    },\r\n    getAllRoles() {\r\n      uc.getAllRoles().then((data) => {\r\n        data.forEach((item) => {\r\n          this.roles.push({\r\n            key: item.name,\r\n            value: item.name,\r\n          })\r\n        })\r\n      })\r\n    },\r\n    getAllJobs() {\r\n      uc.getAllJobs().then((data) => {\r\n        data.forEach((item) => {\r\n          this.jobs.push({\r\n            key: item.name,\r\n            value: item.name,\r\n          })\r\n        })\r\n      })\r\n    },\r\n    getAllPosts() {\r\n      uc.getAllPosts().then((data) => {\r\n        data.rows.forEach((item) => {\r\n          this.posts.push({\r\n            key: item.name,\r\n            value: item.name,\r\n          })\r\n        })\r\n      })\r\n    },\r\n    getTokenByUserName(username) {\r\n      let token = ''\r\n      uc.getTokenByUserName(username).then((resp) => {\r\n        token = resp.value\r\n      })\r\n      return token\r\n    },\r\n    onExceed(file) {\r\n      this.$message.warning('只能选择一个Excel文件!')\r\n    },\r\n    submitImport() {\r\n      if (\r\n        !this.$refs.upload.uploadFiles ||\r\n        this.$refs.upload.uploadFiles.length == 0\r\n      ) {\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.importDialogVisible = false\r\n        this.$refs.htTable.load()\r\n      } else {\r\n        this.$message.error(response.message + '：' + response.value)\r\n      }\r\n    },\r\n    submitSignature() {\r\n      if (\r\n        !this.$refs.signatureFile.uploadFiles ||\r\n        this.$refs.signatureFile.uploadFiles.length == 0\r\n      ) {\r\n        this.$message.warning('请选择要导入的数据文件!')\r\n        return false\r\n      }\r\n      this.$refs.signatureFile.submit()\r\n    },\r\n    beforeSignatureUpload(file) {\r\n      if (!file.name.endsWith('.zip')) {\r\n        this.$message.warning('只能导入压缩（zip）文件!')\r\n        return false\r\n      }\r\n      this.fullscreenLoading = true\r\n    },\r\n    hadleSignatureUploadResult(response, file, fileList) {\r\n      this.fullscreenLoading = false\r\n      if (response.state) {\r\n        this.$message.success(response.message)\r\n        this.signatureImportVisible = false\r\n        this.$refs.htTable.load()\r\n      } else {\r\n        this.$message.error(response.message + '：' + response.value)\r\n      }\r\n    },\r\n    downloadTemplate() {\r\n      window.location.href =\r\n        window.context.manage + '/static/excel/导入组织用户模板_标准.xlsx'\r\n    },\r\n    setShiftUser(id) {\r\n      let selection = this.$refs.htTable.$refs.htTable.selection\r\n      if (selection.length <= 0) {\r\n        this.$message.error('请选择用户！')\r\n        return\r\n      }\r\n      this.$refs.shiftRuleDialog.showDialog()\r\n    },\r\n    shiftConfirm(data) {\r\n      let selection = this.$refs.htTable.$refs.htTable.selection\r\n      if (data.length > 0) {\r\n        let shiftUser = selection.map((item) => {\r\n          return {\r\n            userId: item.id,\r\n            shiftId: data[0].id,\r\n          }\r\n        })\r\n        uc.saveShiftUser(shiftUser).then((response) => {\r\n          if (response.state) {\r\n            this.$message.success('设置成功')\r\n          }\r\n        })\r\n      } else {\r\n        let ids = selection.map((item) => item.id).join(',')\r\n        uc.removeShiftUser(ids).then((response) => {\r\n          if (response.state) {\r\n            this.$message.success('设置成功')\r\n          }\r\n        })\r\n      }\r\n    },\r\n    getUserUniteData(userId) {\r\n      this.userUnite = {}\r\n      this.userUnite.userId = userId\r\n      uc.getUserUniteByUserId(userId).then((resp) => {\r\n        if (resp.data) {\r\n          this.userUnite = resp.data\r\n        }\r\n        this.wxDtVisible = true\r\n      })\r\n    },\r\n  },\r\n}\r\n",null]}