{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\uc\\UcManager\\UserListManager.vue?vue&type=template&id=ede4ee0c&scoped=true&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\uc\\UcManager\\UserListManager.vue","mtime":1675071993381},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\loaders\\templateLoader.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["\n<el-container class=\"fullheight\" style=\"border: 1px solid #eee\">\n  <el-aside width=\"230px\" style=\"overflow-x: hidden; border: 1px solid #eee\">\n    <ht-select\n      v-model=\"selectOrgId\"\n      class=\"org-select\"\n      :options=\"orgList\"\n      @change=\"demChange\"\n    />\n    <ht-tree\n      :data=\"treeData\"\n      :props=\"defaultProps\"\n      node-key=\"id\"\n      highlight-current\n      :expand-on-click-node=\"false\"\n      :support-filter=\"true\"\n      @node-click=\"orgTreeClick\"\n      @refresh=\"handleRefresh\"\n      ref=\"htTree\"\n      class=\"orgTree\"\n      @row-click=\"rowClick\"\n    >\n    </ht-tree>\n  </el-aside>\n  <el-container>\n    <el-main class=\"main-ht-table\">\n      <ht-table\n        @row-click=\"rowClick\"\n        @load=\"loadData\"\n        :data=\"data\"\n        :pageResult=\"pageResult\"\n        :selection=\"true\"\n        :default-sorter=\"[{direction: 'DESC', property: 'updateTime'}]\"\n        quick-search-props=\"account,fullname,mobile\"\n        :show-custom-column=\"false\"\n        :show-export=\"false\"\n        ref=\"htTable\"\n        @select=\"selectRow\"\n        @select-all=\"selectRow\"\n      >\n        <template v-slot:toolbar>\n          \n            <el-button size=\"small\" @click=\"showDialog()\" icon=\"el-icon-plus\" type='primary'\n              >添加</el-button\n            >\n             <ht-delete-button\n              :style=\"{marginLeft: '10px'}\"\n              :url=\"userDeleteUrl\"\n              :htTable=\"$refs.htTable\"\n              @after-delete=\"afterDelete\"\n              >删除</ht-delete-button\n            >\n            <!-- <el-button size=\"small\" @click=\"beforeSynchronization()\" icon=\"icon-wechat-fill\">同步微信通讯录</el-button> -->\n            <el-button @click=\"setShiftUser()\"\n            style=\"margin-left:10px\" size=\"small\"\n            type='primary'\n            plain\n              >设置轮班</el-button\n            >\n            <el-button\n              size=\"small\"\n              v-if=\"showExcel\"\n              @click=\"excelImport()\"\n              style=\"margin-left:10px\"\n              icon=\"el-icon-upload\"\n              type='primary'\n              plain\n              >Excel导入</el-button\n            >\n            <el-button\n              size=\"small\"\n              v-if=\"showExcel\"\n              @click=\"excelExport()\"\n              style=\"margin-left:10px\"\n              icon=\"el-icon-download\"\n              type='primary'\n              plain\n              >Excel导出</el-button\n            >\n            <el-button\n              size=\"small\"\n              @click=\"signatureImport()\"\n              style=\"margin-left:10px\"\n              icon=\"el-icon-upload\"\n              type='primary'\n              plain\n              >签章导入</el-button\n            >\n          \n        </template>\n        <template v-slot:search>\n          <ht-table-search-panel :divide=\"3\">\n            <ht-table-search-field\n              label=\"姓名\"\n              prop=\"fullname\"\n              placeholder=\"请输入姓名\"\n            />\n            <ht-table-search-field\n              label=\"账号\"\n              prop=\"account\"\n              placeholder=\"请输入账号\"\n            />\n            <ht-table-search-field\n              label=\"邮箱\"\n              prop=\"email\"\n              placeholder=\"请输入邮箱\"\n            />\n            <ht-table-search-field\n              label=\"电话\"\n              prop=\"mobile\"\n              placeholder=\"请输入电话\"\n            />\n            <ht-table-search-field\n              label=\"岗位\"\n              prop=\"POST_NAME_\"\n              placeholder=\"请选择岗位名称\"\n            />\n            <ht-table-search-field\n              label=\"职务\"\n              prop=\"JOB_NAME_\"\n              placeholder=\"请选择职务名称\"\n            />\n            <ht-table-search-field\n              label=\"角色\"\n              prop=\"ROLE_NAME_\"\n              placeholder=\"请选择角色名称\"\n            />\n            <!--<ht-table-search-field type=\"select\" :options=\"posts\" label=\"岗位\" prop=\"POST_NAME_\" placeholder=\"请选择岗位名称\" />\n            <ht-table-search-field type=\"select\" :options=\"jobs\" label=\"职务\" prop=\"JOB_NAME_\" placeholder=\"请选择职务名称\" />\n            <ht-table-search-field type=\"select\" :options=\"roles\" label=\"角色\" prop=\"ROLE_NAME_\" placeholder=\"请选择角色名称\" />-->\n          </ht-table-search-panel>\n        </template>\n        <template>\n          <ht-table-column\n            type=\"index\"\n            width=\"50\"\n            align=\"center\"\n            label=\"序号\"\n          />\n          <ht-table-column\n            prop=\"fullname\"\n            label=\"名称\"\n            :sortable=\"true\"\n            :show-overflow-tooltip=\"true\"\n          >\n            <template v-slot=\"{row}\">\n              <el-link\n                type=\"primary\"\n                @click=\"\n                  handleCommand({\n                    row: row,\n                    command: 'showInfo',\n                  })\n                \"\n                title=\"查看详情\"\n                >{{ row.fullname }}</el-link\n              >\n            </template>\n          </ht-table-column>\n          <ht-table-column prop=\"account\" label=\"账号\" :sortable=\"true\" />\n          <ht-table-column prop=\"email\" label=\"邮箱\" />\n          <ht-table-column prop=\"mobile\" label=\"电话\" sortable />\n          <ht-table-column\n            prop=\"sex\"\n            label=\"性别\"\n            width=\"80\"\n            :filters=\"[\n              {text: '男士', value: '男'},\n              {text: '女士', value: '女'},\n            ]\"\n          >\n            <template v-slot=\"{row}\">\n              <el-tag v-if=\"row.sex == '男'\">男士</el-tag>\n              <el-tag type=\"success\" v-if=\"row.sex == '女'\">女士</el-tag>\n            </template>\n          </ht-table-column>\n          <ht-table-column\n            prop=\"status\"\n            label=\"状态\"\n            width=\"110\"\n            :filters=\"[\n              {text: '禁用', value: 0},\n              {text: '正常', value: 1},\n              {text: '离职', value: -2},\n            ]\"\n          >\n            <template v-slot=\"{row}\">\n              <el-tag type=\"warning\" v-if=\"row.status == 0\">禁用</el-tag>\n              <el-tag v-if=\"row.status == 1\">正常</el-tag>\n              <el-tag type=\"info\" v-if=\"row.status == -2\">离职</el-tag>\n            </template>\n          </ht-table-column>\n          <ht-table-column width=\"150\" label=\"操作\">\n            <template v-slot=\"{row}\">\n              <el-dropdown\n                size=\"mini\"\n                split-button\n                @command=\"handleCommand\"\n                @click=\"\n                  handleCommand({\n                    row: row,\n                    command: 'edit',\n                  })\n                \"\n              >\n                <span> 编辑 </span>\n                <el-dropdown-menu slot=\"dropdown\">\n                  <el-dropdown-item\n                    :command=\"{\n                      row: row,\n                      command: 'toUnderUserPage',\n                    }\"\n                    >下属管理</el-dropdown-item\n                  >\n                  <el-dropdown-item\n                    :command=\"{\n                      row: row,\n                      command: 'updatePwd',\n                    }\"\n                    >重置密码</el-dropdown-item\n                  >\n                  <!-- 暂时不展示这些功能  前端登录、管理端登录、企微钉钉绑定-->\n                  <!-- <el-dropdown-item :command=\"{row: row, command: 'toFront'}\" v-if=\"row.status == 1\">前端登录\n                  </el-dropdown-item>\n                  <el-dropdown-item :command=\"{row: row, command: 'toManager'}\" v-if=\"row.status == 1\">管理端登录\n                  </el-dropdown-item>\n                  <el-dropdown-item :command=\"{row: row, command: 'bindWxDk'}\">企微钉钉绑定</el-dropdown-item> -->\n\n                  <!--                    <el-dropdown-item-->\n                  <!--                            :command=\"{ row: row, command: 'shiftUser'}\">设置轮班</el-dropdown-item>-->\n                </el-dropdown-menu>\n              </el-dropdown>\n              <!-- <el-button size=\"mini\" @click=\"handleCommand({row:row,command:'edit'})\">编辑</el-button>\n              <el-button size=\"mini\" @click=\"handleCommand({row:row,command:'updatePwd'})\">重置密码</el-button>-->\n            </template>\n          </ht-table-column>\n        </template>\n      </ht-table>\n\n      <el-dialog\n        width=\"70%\"\n        top=\"5vh\"\n        :title=\"dialogTitle\"\n        :visible=\"isUserManagerShow\"\n        :before-close=\"handleCloseUserManager\"\n        ref=\"userManagerref\"\n        :close-on-click-modal=\"false\"\n        append-to-body\n      >\n        <!--编辑用户面板-->\n        <user-manager\n          ref=\"userManager\"\n          :user-account=\"clickUserAccount\"\n          v-if=\"isUserManagerShow\"\n          :org-code=\"orgCode\"\n          @handleCloseUserManager=\"handleCloseUserManager\"\n          @closeUserManeger=\"closeUserManeger\"\n        ></user-manager>\n      </el-dialog>\n\n      <ht-sidebar-dialog\n        width=\"28%\"\n        title=\"查看用户\"\n        :visible.sync=\"isUserInfo\"\n        append-to-body\n        :before-close=\"handleCloseUserManager\"\n      >\n        <user-detail :user=\"user\" />\n      </ht-sidebar-dialog>\n\n      <ht-sidebar-dialog\n        width=\"28%\"\n        title=\"重置密码\"\n        :visible=\"isUpdatePwd\"\n        append-to-body\n        :before-close=\"handleCloseUserManager\"\n      >\n        <el-form v-model=\"password\">\n          <ht-form-item label=\"请输入密码\" prop=\"name\" label-width=\"100px\">\n            <ht-input\n              v-model=\"password.pwd\"\n              autocomplete=\"off\"\n              :validate=\"pwdValidate\"\n              placeholder=\"请输入密码\"\n              show-password\n            ></ht-input>\n          </ht-form-item>\n          <ht-form-item label=\"确认密码\" prop=\"name\" label-width=\"100px\">\n            <ht-input\n              v-model=\"password.newPwd\"\n              autocomplete=\"off\"\n              :validate=\"{\n                required: true,\n                regex: {\n                  exp: '^[\\\\s\\\\S]{1,20}$',\n                  message: '内容超出输入限制',\n                },\n              }\"\n              placeholder=\"确认密码\"\n              show-password\n            ></ht-input>\n          </ht-form-item>\n        </el-form>\n        <div slot=\"footer\" class=\"dialog-footer\">\n          <el-button @click=\"updatePwd()\" type=\"primary\">修改</el-button>\n          <el-button @click=\"dialogCancle('isUpdatePwd')\">{{\n            $t('eip.common.cancel')\n          }}</el-button>\n        </div>\n      </ht-sidebar-dialog>\n      <ht-load-data\n        :url=\"loadDataUrl\"\n        context=\"uc\"\n        @after-load-data=\"afterLoadData\"\n      ></ht-load-data>\n      <!-- 角色用户管理 -->\n      <user-role-manager ref=\"userRoleManager\"></user-role-manager>\n      <!-- 分类对话框  -->\n      <eip-sys-type-dialog\n        ref=\"flowTypeDialog\"\n        cat-id=\"6\"\n      ></eip-sys-type-dialog>\n\n      <!-- 用户导入  -->\n      <el-dialog\n        title=\"导入Excel\"\n        :visible.sync=\"importDialogVisible\"\n        top=\"15vh\"\n        :append-to-body=\"true\"\n        :close-on-click-modal=\"false\"\n        v-if=\"importDialogVisible\"\n      >\n        <div style=\"padding-left: 20px\">\n          <el-row class=\"import_row\">\n            <el-col :span=\"20\">\n              <span class=\"m-r-10\">组织维度: </span>\n              <ht-select\n                v-model=\"importDemCode\"\n                class=\"org-select\"\n                :options=\"demList\"\n              />\n            </el-col>\n            <el-col :span=\"4\">\n              <el-button\n                size=\"small\"\n                type=\"primary\"\n                icon=\"el-icon-download\"\n                @click=\"downloadTemplate()\"\n                >模板下载\n              </el-button>\n            </el-col>\n          </el-row>\n          <el-row class=\"import_row\">\n            <span class=\"m-r-10\">导入文件: </span>\n            <el-upload\n              style=\"display: inline-block\"\n              :action=\"importUserUrl\"\n              :on-success=\"hadleUploadResult\"\n              :on-error=\"hadleUploadResult\"\n              :headers=\"uploadHeaders\"\n              :on-exceed=\"onExceed\"\n              accept=\".xlsx,.xls\"\n              :before-upload=\"beforeUpload\"\n              :limit=\"1\"\n              :data=\"{isCheck: true}\"\n              :auto-upload=\"false\"\n              ref=\"upload\"\n            >\n              <el-button size=\"small\" icon=\"el-icon-upload\"\n                >选择Excel文件</el-button\n              >\n            </el-upload>\n          </el-row>\n          <el-row class=\"import_row\">\n            <span class=\"m-r-10\">用户组织、岗位关系数据导入模式: </span>\n            <el-radio-group v-model=\"importRepeatConver\">\n              <el-radio-button label=\"false\">新增</el-radio-button>\n              <el-radio-button label=\"true\">覆盖</el-radio-button>\n            </el-radio-group>\n          </el-row>\n          <el-row class=\"import_row descript-title\">\n            <strong>导入须知: </strong>\n            <p>\n              1、姓名、帐号为必填字段，组织名称列以“/”开头，下级组织同样用“/”分隔；\n            </p>\n            <p>\n              2、岗位和职务导入规则：一一对应导入，多个用;号隔开，如果没有职务，则不导入岗位，如果有职务，则对应顺序以岗位为准（第一个岗位对应第一个职务，以此类推）(如果岗位有多个，职务只有一个时，导入同一个职务中)；\n            </p>\n            <p>3、邮箱格式必须符合标准，将不导入不符合规范的邮箱数据；</p>\n            <p>4、导入过程中如果出现错误则会终止导入，且回滚已导入数据；</p>\n            <p>\n              5、“编码前缀”说明：编码前缀用于生成组织编码的前缀，区分不同组织维度（使得相同的组织架构可以导入到多个不同的组织维度下），不同组织维度导入时需要输入不同的前缀编码，相同的组织维度，输入相同的组织维度编码；\n            </p>\n            <p>\n              6、“用户组织、岗位关系数据导入模式”涉及到已存在用户（导入的用户在系统中已存在）数据导入时组织、岗位关系数据的处理方式（覆盖：先删除旧的组织、岗位关系数据，再按excel中的数据生成新关系数据；新增：不删除旧数据，excel中的数据做新增处理（如果和旧的一样，不会增加多份））。\n            </p>\n          </el-row>\n        </div>\n        <span slot=\"footer\" class=\"dialog-footer confirm-detail\">\n          <el-button\n            type=\"primary\"\n            @click=\"submitImport\"\n            element-loading-text=\"拼命导入中\"\n            v-loading.fullscreen.lock=\"fullscreenLoading\"\n            >确 定</el-button\n          >\n          <el-button @click=\"importDialogVisible = false\">取 消</el-button>\n        </span>\n      </el-dialog>\n\n      <!-- 签章导入  -->\n      <el-dialog\n        title=\"签章批量导入\"\n        :visible.sync=\"signatureImportVisible\"\n        top=\"15vh\"\n        :append-to-body=\"true\"\n        :close-on-click-modal=\"false\"\n        v-if=\"signatureImportVisible\"\n      >\n        <div style=\"padding-left: 20px\">\n          <el-row class=\"import_row\">\n            <span class=\"m-r-10\">导入文件: </span>\n            <el-upload\n              style=\"display: inline-block\"\n              :action=\"importSignatureUrl\"\n              :on-success=\"hadleSignatureUploadResult\"\n              :on-error=\"hadleSignatureUploadResult\"\n              :headers=\"uploadHeaders\"\n              :on-exceed=\"onExceed\"\n              accept=\".zip\"\n              :before-upload=\"beforeSignatureUpload\"\n              :limit=\"1\"\n              :data=\"{isCheck: true}\"\n              :auto-upload=\"false\"\n              ref=\"signatureFile\"\n            >\n              <el-button size=\"small\" icon=\"el-icon-upload\"\n                >选择压缩文件</el-button\n              >\n            </el-upload>\n          </el-row>\n          <el-row class=\"import_row\">\n            <span class=\"m-r-10\">存在时是否覆盖: </span>\n            <el-radio-group v-model=\"signatureRepeatConver\">\n              <el-radio-button label=\"true\">是</el-radio-button>\n              <el-radio-button label=\"false\">否</el-radio-button>\n            </el-radio-group>\n          </el-row>\n          <el-row class=\"import_row descript-title\">\n            <strong>导入须知: </strong>\n            <p>\n              1、上传附件为压缩文件，文件格式只支持.zip文件，压缩文件中至少包含一个签章文件且签章文件不存在嵌套层级；\n            </p>\n            <p>\n              2、压缩文件中的签章文件只支持.png图片文件，建议图片尺寸：250*70px；\n            </p>\n            <p>\n              3、签章图片以用户账号命名，如用户张三(账号：zhangsan)，则签章图片名称为zhangsan.png；\n            </p>\n            <p>4、如果用户已存在签章，则根据导入时的选项执行替换或不操作；</p>\n            <p>5、签章默认密码来自密码策略模块的初始密码。</p>\n          </el-row>\n        </div>\n        <span slot=\"footer\" class=\"dialog-footer confirm-detail\">\n          <el-button\n            type=\"primary\"\n            @click=\"submitSignature\"\n            element-loading-text=\"拼命导入中\"\n            v-loading.fullscreen.lock=\"fullscreenLoading\"\n            >确 定</el-button\n          >\n          <el-button @click=\"signatureImportVisible = false\">取 消</el-button>\n        </span>\n      </el-dialog>\n      <!-- 直接下属管理组件   -->\n      <under-user-table\n        :user-id=\"selectOrgUserAccount\"\n        :dem-list=\"dimenList\"\n        ref=\"underUserTable\"\n      />\n\n      <shift-rule-dialog\n        :single=\"true\"\n        ref=\"shiftRuleDialog\"\n        @onConfirm=\"shiftConfirm\"\n      />\n    </el-main>\n  </el-container>\n  <ht-sidebar-dialog\n    width=\"33%\"\n    title=\"企微钉钉信息绑定\"\n    class=\"sp-manager__dialog\"\n    :visible=\"wxDtVisible\"\n    :before-close=\"() => (wxDtVisible = false)\"\n  >\n    <el-form v-form data-vv-scope=\"userUniteForm\">\n      <ht-form-item label=\"企业微信userid\" label-width=\"30%\">\n        <ht-input v-model.trim=\"userUnite.wxWorkId\" style=\"width: 90%\" />\n      </ht-form-item>\n      <ht-form-item label=\"阿里钉钉userid\" label-width=\"30%\">\n        <ht-input v-model.trim=\"userUnite.dingtalkId\" style=\"width: 90%\" />\n      </ht-form-item>\n      <ht-form-item label=\"公众号openid\" label-width=\"30%\">\n        <ht-input v-model.trim=\"userUnite.openId\" style=\"width: 90%\" />\n      </ht-form-item>\n    </el-form>\n    <div slot=\"footer\" style=\"text-align: center\">\n      <ht-submit-button\n        url=\"${uc}/uc/userUnite/v1/save\"\n        :model=\"userUnite\"\n        scope-name=\"userUniteForm\"\n        @after-save-data=\"() => (wxDtVisible = false)\"\n        >{{ $t('eip.common.save') }}</ht-submit-button\n      >\n      <el-button\n        @click=\"\n          () => {\n            wxDtVisible = false\n          }\n        \"\n        >{{ $t('eip.common.cancel') }}</el-button\n      >\n    </div>\n  </ht-sidebar-dialog>\n</el-container>\n",null]}