diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/PasswordModal.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/PasswordModal.vue deleted file mode 100644 index d638c86b..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/PasswordModal.vue +++ /dev/null @@ -1,42 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserAgentModal.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/UserAgentModal.vue deleted file mode 100644 index 25e8d4ba..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserAgentModal.vue +++ /dev/null @@ -1,45 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserDrawer.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/UserDrawer.vue deleted file mode 100644 index d4de7dcb..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserDrawer.vue +++ /dev/null @@ -1,182 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitAgentModal.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitAgentModal.vue deleted file mode 100644 index b7aeeaab..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitAgentModal.vue +++ /dev/null @@ -1,68 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitModal.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitModal.vue deleted file mode 100644 index 7822269c..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserQuitModal.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserRecycleBinModal.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/UserRecycleBinModal.vue deleted file mode 100644 index 486f799f..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/UserRecycleBinModal.vue +++ /dev/null @@ -1,138 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/index.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/index.vue deleted file mode 100644 index b9df3be5..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/index.vue +++ /dev/null @@ -1,276 +0,0 @@ - - - - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/user.api.ts b/jeecgboot-vue3-master/src/views/system/usercompexpert/user.api.ts deleted file mode 100644 index d33e1281..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/user.api.ts +++ /dev/null @@ -1,301 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { Modal } from 'ant-design-vue'; - -enum Api { - listNoCareTenant = '/sys/user/listAll', - listZjNoCareTenant = '/sys/user/listZjAll', - listzdzx = '/sys/user/listzdzx', - list = '/sys/user/list', - save = '/sys/user/add', - edit = '/sys/user/edit', - saveZJ = '/expert/expert/addZJ', - editZJ = '/expert/expert/editZJ', - queryExpertById = '/expert/expert/queryById', - agentSave = '/sys/sysUserAgent/add', - agentEdit = '/sys/sysUserAgent/edit', - getUserRole = '/sys/user/queryUserRole', - duplicateCheck = '/sys/duplicate/check', - deleteUser = '/sys/user/delete', - deleteBatch = '/sys/user/deleteBatch', - importExcel = '/sys/user/importExcel', - exportXls = '/sys/user/exportXls', - - recycleBinList = '/sys/user/recycleBin', - putRecycleBin = '/sys/user/putRecycleBin', - deleteRecycleBin = '/sys/user/deleteRecycleBin', - allRolesList = '/sys/role/queryall', - allRolesListNoByTenant = '/sys/role/queryallNoByTenant', - allRolesListExcludeByTenant = '/sys/role/queryallExcludeByTenant', - allTenantList = '/sys/tenant/queryList', - allPostList = '/sys/position/list', - userDepartList = '/sys/user/userDepartList', - changePassword = '/sys/user/changePassword', - frozenBatch = '/sys/user/frozenBatch', - getUserAgent = '/sys/sysUserAgent/queryByUserName', - syncUser = '/act/process/extActProcess/doSyncUser', - userQuitAgent = '/sys/user/userQuitAgent', - getQuitList = '/sys/user/getQuitList', - putCancelQuit = '/sys/user/putCancelQuit', - updateUserTenantStatus='/sys/tenant/updateUserTenantStatus', - getUserTenantPageList='/sys/tenant/getUserTenantPageList', - exportXlsMb = '/sys/user/exportXlsMb', - //导出专家 - exportZjXls = '/expert/expert/exportXls', - //导出专家模板 - exportZjXlsMb = '/expert/expert/exportXlsMb', - //导入专家 - getZjImportUrl = '/expert/expert/importExcel', - - queryByUserId = '/expert/expert/queryByUserId', -} -/** - * 根据userid判断是否为专家 - * @param params - */ -export const queryByUserId = (params) => { - return defHttp.get({ url: Api.queryByUserId, params },{ successMessageMode: 'none' }); -}; -/** - * 导出api - * @param params - */ -export const getExportUrl = Api.exportXls; - -export const getExportUrlMb = Api.exportXlsMb; - -/** - * 导出 专家 - */ -export const getExportZjUrl = Api.exportZjXls; -/** - * 导出 专家模板 - */ -export const getExportZjUrlMb = Api.exportZjXlsMb; -/** - * 导入 专家 - */ -export const getZjImportUrl = Api.getZjImportUrl; -/** - * 导入api - */ -export const getImportUrl = Api.importExcel; -/** - * 列表接口(查询用户,通过租户隔离) - * @param params - */ -export const list = (params) => defHttp.get({ url: Api.list, params }); - -/** - * 列表接口(查询全部用户,不通过租户隔离) - * @param params - */ -export const listNoCareTenant = (params) => defHttp.get({ url: Api.listNoCareTenant, params }); - -/** - * 列表接口(查询角色为“专家”,不通过租户隔离) - * @param params - */ -export const listZjNoCareTenant = (params) => defHttp.get({ url: Api.listZjNoCareTenant, params }); - - -/** - * 列表接口(查询全部用户,不通过租户隔离) - * 适用于专家、学生、组委会查看自己的信息 - * @param params - */ -export const listzdzx = (params) => defHttp.get({ url: Api.listzdzx, params }); - -/** - * 用户角色接口 - * @param params - */ -export const getUserRoles = (params) => defHttp.get({ url: Api.getUserRole, params }, { errorMessageMode: 'none' }); -/** - * 专家信息接口 - * @param params - */ -export const queryExpertById = (params) => defHttp.get({ url: Api.queryExpertById, params }, { successMessageMode: 'none' }); - - -/** - * 删除用户 - */ -export const deleteUser = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteUser, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 批量删除用户 - * @param params - */ -export const batchDeleteUser = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; -/** - * 保存或者更新用户 - * @param params - */ -export const saveOrUpdateUser = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({ url: url, params }); -}; -/** - * 保存或者更新专家用户 - * @param params - */ -export const saveOrUpdateUserZJ = (params, isUpdate) => { - let url = isUpdate ? Api.editZJ : Api.saveZJ; - return defHttp.post({ url: url, params }); -}; -/** - * 唯一校验 - * @param params - */ -export const duplicateCheck = (params) => defHttp.get({ url: Api.duplicateCheck, params }, { isTransformResponse: false }); -/** - * 获取全部角色(租户隔离) - * @param params - */ -export const getAllRolesList = (params) => defHttp.get({ url: Api.allRolesList, params }); -/** - * 获取全部角色(不租户隔离) - * @param params - */ -export const getAllRolesListNoByTenant = (params) => defHttp.get({ url: Api.allRolesListNoByTenant, params }); - - -/** - * 获取角色(排除:总管理) - * @param params - */ -export const getAllRolesListNoByExcludeTenant = (params) => defHttp.get({ url: Api.allRolesListExcludeByTenant, params }); - - -/** - * 获取全部租户 - */ -export const getAllTenantList = (params) => defHttp.get({ url: Api.allTenantList, params }); -/** - * 获取指定用户负责部门 - */ -export const getUserDepartList = (params) => defHttp.get({ url: Api.userDepartList, params }, { successMessageMode: 'none' }); -/** - * 获取全部职务 - */ -export const getAllPostList = (params) => { - return new Promise((resolve) => { - defHttp.get({ url: Api.allPostList, params }).then((res) => { - resolve(res.records); - }); - }); -}; -/** - * 回收站列表 - * @param params - */ -export const getRecycleBinList = (params) => defHttp.get({ url: Api.recycleBinList, params }); -/** - * 回收站还原 - * @param params - */ -export const putRecycleBin = (params, handleSuccess) => { - return defHttp.put({ url: Api.putRecycleBin, params }).then(() => { - handleSuccess(); - }); -}; -/** - * 回收站删除 - * @param params - */ -export const deleteRecycleBin = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteRecycleBin, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 修改密码 - * @param params - */ -export const changePassword = (params) => { - return defHttp.put({ url: Api.changePassword, params }); -}; -/** - * 冻结解冻 - * @param params - */ -export const frozenBatch = (params, handleSuccess) => { - return defHttp.put({ url: Api.frozenBatch, params }).then(() => { - handleSuccess(); - }); -}; -/** - * 获取用户代理 - * @param params - */ -export const getUserAgent = (params) => defHttp.get({ url: Api.getUserAgent, params }, { isTransformResponse: false }); -/** - * 保存或者更新用户代理 - * @param params - */ -export const saveOrUpdateAgent = (params) => { - let url = params.id ? Api.agentEdit : Api.agentSave; - return defHttp.post({ url: url, params }); -}; - -/** - * 用户同步流程 - * @param params - */ -export const syncUser = () => defHttp.put({ url: Api.syncUser }); - -/** - * 用户离职(新增代理人和用户状态变更操作) - * @param params - */ -export const userQuitAgent = (params) => { - return defHttp.put({ url: Api.userQuitAgent, params }); -}; - -/** - * 用户离职列表 - * @param params - */ -export const getQuitList = (params) => { - return defHttp.get({ url: Api.getQuitList, params }); -}; - -/** - * 取消离职 - * @param params - */ -export const putCancelQuit = (params, handleSuccess) => { - return defHttp.put({ url: Api.putCancelQuit, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; - -/** - * 待审批获取列表数据 - */ -export const getUserTenantPageList = (params)=>{ - return defHttp.get({url:Api.getUserTenantPageList,params}) -} - -/** - * 更新租户状态 - * @param params - */ -export const updateUserTenantStatus = (params)=>{ - return defHttp.put({ url: Api.updateUserTenantStatus, params }, { joinParamsToUrl: true,isTransformResponse: false }); -} diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/user.data.ts b/jeecgboot-vue3-master/src/views/system/usercompexpert/user.data.ts deleted file mode 100644 index ad0618b7..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/user.data.ts +++ /dev/null @@ -1,538 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { getAllRolesListNoByTenant,getAllRolesListNoByExcludeTenant, getAllTenantList } from './user.api'; -import { rules } from '/@/utils/helper/validator'; -import { render } from '/@/utils/common/renderUtils'; -export const columns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 120, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 120, - customRender: render.renderAvatar, - }, - /*{ - title: '性别', - dataIndex: 'sex', - width: 80, - sorter: true, - customRender: ({ text }) => { - return render.renderDict(text, 'sex'); - }, - }, - { - title: '生日', - dataIndex: 'birthday', - width: 100, - },*/ - { - title: '手机号', - dataIndex: 'phone', - width: 100, - }, - { - title: '院系/部门', - width: 150, - dataIndex: 'orgCodeTxt', - }, -/* { - title: '负责部门', - width: 150, - dataIndex: 'departIds_dictText', - },*/ - { - title: '状态', - dataIndex: 'status_dictText', - width: 80, - }, -]; - -export const recycleColumns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 100, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 80, - customRender: render.renderAvatar, - }, - { - title: '性别', - dataIndex: 'sex', - width: 80, - sorter: true, - customRender: ({ text }) => { - return render.renderDict(text, 'sex'); - }, - }, -]; - -export const searchFormSchema: FormSchema[] = [ -/* { - label: '账号', - field: 'username', - component: 'JInput', - colProps: { span: 6 }, - },*/ - { - label: '名字', - field: 'realname', - component: 'JInput', - colProps: { span: 6 }, - }, - /*{ - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - colProps: { span: 6 }, - },*/ - { - label: '手机号码', - field: 'phone', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '用户状态', - field: 'status', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'user_status', - placeholder: '请选择状态', - stringToNumber: true, - }, - colProps: { span: 6 }, - }, -]; -export const formSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '比赛', - field: 'compid', - component: 'Input', - show: false, - }, - { - label: '比赛名称', - field: 'compName', - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue, - code:"comp_select", - placeholder: '请选择', - fieldConfig: [ - { source: 'id', target: 'compid' }, - { source: 'comp_name', target: 'compName' }, - ], - multi: true, - - } - }, - }, - - { - label: '专家账号', - field: 'username', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'username', model, schema, true), - }, - - { - label: '用户姓名', - field: 'realname', - required: true, - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '工号', - field: 'workNo', - required: true, - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'work_no', model, schema, true), - }, - - { - label: '所属部门', - field: 'selecteddeparts', - component: 'JSelectDept', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - componentProps: ({ formActionType, formModel }) => { - return { - sync: false, - checkStrictly: true, - defaultExpandLevel: 2, - - onSelect: (options, values) => { - const { updateSchema } = formActionType; - //所属部门修改后更新负责部门下拉框数据 - updateSchema([ - { - field: 'departIds', - componentProps: { options }, - }, - ]); - //所属部门修改后更新负责部门数据 - formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1)); - }, - }; - }, - }, - - { - label: '邮箱', - field: 'email', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '手机号码', - field: 'phone', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '学历', - field: 'expTitle', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '学位', - field: 'expXw', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '职称', - field: 'expZc', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '研究方向', - field: 'expYjfx', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '从事工作', - field: 'expCsgz', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '毕业院校', - field: 'expSc', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - { - label: '简介', - field: 'expResume', - component: 'InputTextArea', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - }, - - { - label: '比赛状态', - field: 'stat', - component: 'JSwitch', - defaultValue: 'Y', - componentProps: {}, -/* componentProps:{ - - //开关大小,可选值:default small - size:'default', - //非选中时的内容 - unCheckedChildren:'开启', - //非选中时的值 - unCheckedValue:'Y', - //选中时的内容 - checkedChildren:'关闭', - //选中时的值 - checkedValue:'N', - //是否禁用 - disabled: false - },*/ - }, -]; -export const formPasswordSchema: FormSchema[] = [ - { - label: '用户账号', - field: 'username', - component: 'Input', - componentProps: { readOnly: true }, - }, - { - label: '登录密码', - field: 'password', - component: 'StrengthMeter', - componentProps: { - placeholder: '请输入登录密码', - }, - rules: [ - { - required: true, - message: '请输入登录密码', - }, - ], - }, - { - label: '确认密码', - field: 'confirmPassword', - component: 'InputPassword', - dynamicRules: ({ values }) => rules.confirmPassword(values, true), - }, -]; - -export const formAgentSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - field: 'userName', - label: '用户名', - component: 'Input', - componentProps: { - readOnly: true, - allowClear: false, - }, - }, - { - field: 'agentUserName', - label: '代理人用户名', - required: true, - component: 'JSelectUser', - componentProps: { - rowKey: 'username', - labelKey: 'realname', - maxSelectCount: 10, - }, - }, - { - field: 'startTime', - label: '代理开始时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择代理开始时间', - }, - }, - { - field: 'endTime', - label: '代理结束时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择代理结束时间', - }, - }, - { - field: 'status', - label: '状态', - component: 'JDictSelectTag', - defaultValue: '1', - componentProps: { - dictCode: 'valid_status', - type: 'radioButton', - }, - }, -]; -export const formQuitAgentSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - field: 'userName', - label: '用户名', - component: 'Input', - componentProps: { - readOnly: true, - allowClear: false, - }, - }, - { - field: 'agentUserName', - label: '交接人员', - required: true, - component: 'JSelectUser', - componentProps: { - rowKey: 'username', - labelKey: 'realname', - maxSelectCount: 1, - }, - }, - { - field: 'startTime', - label: '交接开始时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择交接开始时间', - getPopupContainer: () => document.body, - }, - }, - { - field: 'endTime', - label: '交接结束时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择交接结束时间', - getPopupContainer: () => document.body, - }, - }, - { - field: 'status', - label: '状态', - component: 'JDictSelectTag', - defaultValue: '1', - componentProps: { - dictCode: 'valid_status', - type: 'radioButton', - }, - }, -]; - -//租户用户列表 -export const userTenantColumns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 120, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 120, - customRender: render.renderAvatar, - }, - { - title: '手机号', - dataIndex: 'phone', - width: 100, - }, - { - title: '部门', - width: 150, - dataIndex: 'orgCodeTxt', - }, - { - title: '状态', - dataIndex: 'status', - width: 80, - customRender: ({ text }) => { - if (text === '1') { - return '正常'; - } else if (text === '3') { - return '审批中'; - } else { - return '已拒绝'; - } - }, - }, -]; - -//用户租户搜索表单 -export const userTenantFormSchema: FormSchema[] = [ - { - label: '账号', - field: 'username', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '名字', - field: 'realname', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - colProps: { span: 6 }, - }, -]; diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/userDetails.vue b/jeecgboot-vue3-master/src/views/system/usercompexpert/userDetails.vue deleted file mode 100644 index c0a8cd40..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/userDetails.vue +++ /dev/null @@ -1,54 +0,0 @@ - - diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.api.ts b/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.api.ts deleted file mode 100644 index af7f585c..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.api.ts +++ /dev/null @@ -1,273 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { Modal } from 'ant-design-vue'; - -enum Api { - listNoCareTenant = '/sys/user/listAll', - listzdzx = '/sys/user/listzdzx', - list = '/sys/user/list', - save = '/sys/user/add', - edit = '/sys/user/edit', - saveZJ = '/expert/expert/addZJ', - editZJ = '/expert/expert/editZJ', - editcompExp = '/expert/expert/editcompExp', - queryExpertById = '/expert/expert/queryById', - agentSave = '/sys/sysUserAgent/add', - agentEdit = '/sys/sysUserAgent/edit', - getUserRole = '/sys/user/queryUserRole', - duplicateCheck = '/sys/duplicate/check', - deleteUser = '/sys/user/delete', - deleteBatch = '/sys/user/deleteBatch', - importExcel = '/sys/user/importExcel', - exportXls = '/sys/user/exportXls', - recycleBinList = '/sys/user/recycleBin', - putRecycleBin = '/sys/user/putRecycleBin', - deleteRecycleBin = '/sys/user/deleteRecycleBin', - allRolesList = '/sys/role/queryall', - allRolesListNoByTenant = '/sys/role/queryallNoByTenant', - allRolesListExcludeByTenant = '/sys/role/queryallExcludeByTenant', - allTenantList = '/sys/tenant/queryList', - allPostList = '/sys/position/list', - userDepartList = '/sys/user/userDepartList', - changePassword = '/sys/user/changePassword', - frozenBatch = '/sys/user/frozenBatch', - getUserAgent = '/sys/sysUserAgent/queryByUserName', - syncUser = '/act/process/extActProcess/doSyncUser', - userQuitAgent = '/sys/user/userQuitAgent', - getQuitList = '/sys/user/getQuitList', - putCancelQuit = '/sys/user/putCancelQuit', - updateUserTenantStatus='/sys/tenant/updateUserTenantStatus', - getUserTenantPageList='/sys/tenant/getUserTenantPageList', - exportXlsMb = '/sys/user/exportXlsMb', - queryByUserId = '/expert/expert/queryByUserId', -} -/** - * 根据userid判断是否为专家 - * @param params - */ -export const queryByUserId = (params) => { - return defHttp.get({ url: Api.queryByUserId, params },{ successMessageMode: 'none' }); -}; -/** - * 导出api - * @param params - */ -export const getExportUrl = Api.exportXls; - -export const getExportUrlMb = Api.exportXlsMb; -/** - * 导入api - */ -export const getImportUrl = Api.importExcel; -/** - * 列表接口(查询用户,通过租户隔离) - * @param params - */ -export const list = (params) => defHttp.get({ url: Api.list, params }); - -/** - * 列表接口(查询全部用户,不通过租户隔离) - * @param params - */ -export const listNoCareTenant = (params) => defHttp.get({ url: Api.listNoCareTenant, params }); - -/** - * 列表接口(查询全部用户,不通过租户隔离) - * 适用于专家、学生、组委会查看自己的信息 - * @param params - */ -export const listzdzx = (params) => defHttp.get({ url: Api.listzdzx, params }); - -/** - * 用户角色接口 - * @param params - */ -export const getUserRoles = (params) => defHttp.get({ url: Api.getUserRole, params }, { errorMessageMode: 'none' }); -/** - * 专家信息接口 - * @param params - */ -export const queryExpertById = (params) => defHttp.get({ url: Api.queryExpertById, params }, { successMessageMode: 'none' }); - - -/** - * 删除用户 - */ -export const deleteUser = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteUser, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 批量删除用户 - * @param params - */ -export const batchDeleteUser = (params, handleSuccess) => { - Modal.confirm({ - title: '确认删除', - content: '是否删除选中数据', - okText: '确认', - cancelText: '取消', - onOk: () => { - return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); - }, - }); -}; -/** - * 保存或者更新用户 - * @param params - */ -export const saveOrUpdateUser = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; - return defHttp.post({ url: url, params }); -}; -/** - * 更新比赛项目 - * @param params - */ -export const UpdateUserCompExp = (params) => { - let url =Api.editcompExp; - return defHttp.post({ url: url, params }); -}; -/** - * 唯一校验 - * @param params - */ -export const duplicateCheck = (params) => defHttp.get({ url: Api.duplicateCheck, params }, { isTransformResponse: false }); -/** - * 获取全部角色(租户隔离) - * @param params - */ -export const getAllRolesList = (params) => defHttp.get({ url: Api.allRolesList, params }); -/** - * 获取全部角色(不租户隔离) - * @param params - */ -export const getAllRolesListNoByTenant = (params) => defHttp.get({ url: Api.allRolesListNoByTenant, params }); - - -/** - * 获取角色(排除:总管理) - * @param params - */ -export const getAllRolesListNoByExcludeTenant = (params) => defHttp.get({ url: Api.allRolesListExcludeByTenant, params }); - - -/** - * 获取全部租户 - */ -export const getAllTenantList = (params) => defHttp.get({ url: Api.allTenantList, params }); -/** - * 获取指定用户负责部门 - */ -export const getUserDepartList = (params) => defHttp.get({ url: Api.userDepartList, params }, { successMessageMode: 'none' }); -/** - * 获取全部职务 - */ -export const getAllPostList = (params) => { - return new Promise((resolve) => { - defHttp.get({ url: Api.allPostList, params }).then((res) => { - resolve(res.records); - }); - }); -}; -/** - * 回收站列表 - * @param params - */ -export const getRecycleBinList = (params) => defHttp.get({ url: Api.recycleBinList, params }); -/** - * 回收站还原 - * @param params - */ -export const putRecycleBin = (params, handleSuccess) => { - return defHttp.put({ url: Api.putRecycleBin, params }).then(() => { - handleSuccess(); - }); -}; -/** - * 回收站删除 - * @param params - */ -export const deleteRecycleBin = (params, handleSuccess) => { - return defHttp.delete({ url: Api.deleteRecycleBin, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; -/** - * 修改密码 - * @param params - */ -export const changePassword = (params) => { - return defHttp.put({ url: Api.changePassword, params }); -}; -/** - * 冻结解冻 - * @param params - */ -export const frozenBatch = (params, handleSuccess) => { - return defHttp.put({ url: Api.frozenBatch, params }).then(() => { - handleSuccess(); - }); -}; -/** - * 获取用户代理 - * @param params - */ -export const getUserAgent = (params) => defHttp.get({ url: Api.getUserAgent, params }, { isTransformResponse: false }); -/** - * 保存或者更新用户代理 - * @param params - */ -export const saveOrUpdateAgent = (params) => { - let url = params.id ? Api.agentEdit : Api.agentSave; - return defHttp.post({ url: url, params }); -}; - -/** - * 用户同步流程 - * @param params - */ -export const syncUser = () => defHttp.put({ url: Api.syncUser }); - -/** - * 用户离职(新增代理人和用户状态变更操作) - * @param params - */ -export const userQuitAgent = (params) => { - return defHttp.put({ url: Api.userQuitAgent, params }); -}; - -/** - * 用户离职列表 - * @param params - */ -export const getQuitList = (params) => { - return defHttp.get({ url: Api.getQuitList, params }); -}; - -/** - * 取消离职 - * @param params - */ -export const putCancelQuit = (params, handleSuccess) => { - return defHttp.put({ url: Api.putCancelQuit, params }, { joinParamsToUrl: true }).then(() => { - handleSuccess(); - }); -}; - -/** - * 待审批获取列表数据 - */ -export const getUserTenantPageList = (params)=>{ - return defHttp.get({url:Api.getUserTenantPageList,params}) -} - -/** - * 更新租户状态 - * @param params - */ -export const updateUserTenantStatus = (params)=>{ - return defHttp.put({ url: Api.updateUserTenantStatus, params }, { joinParamsToUrl: true,isTransformResponse: false }); -} diff --git a/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.data.ts b/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.data.ts deleted file mode 100644 index dcba30a0..00000000 --- a/jeecgboot-vue3-master/src/views/system/usercompexpert/userZJ.data.ts +++ /dev/null @@ -1,771 +0,0 @@ -import { BasicColumn } from '/@/components/Table'; -import { FormSchema } from '/@/components/Table'; -import { getAllRolesListNoByTenant,getAllRolesListNoByExcludeTenant, getAllTenantList } from './userZJ.api'; -import { rules } from '/@/utils/helper/validator'; -import { render } from '/@/utils/common/renderUtils'; -export const columns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 120, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 120, - customRender: render.renderAvatar, - }, - /*{ - title: '性别', - dataIndex: 'sex', - width: 80, - sorter: true, - customRender: ({ text }) => { - return render.renderDict(text, 'sex'); - }, - }, - { - title: '生日', - dataIndex: 'birthday', - width: 100, - },*/ - { - title: '手机号', - dataIndex: 'phone', - width: 100, - }, - { - title: '部门', - width: 150, - dataIndex: 'orgCodeTxt', - }, - { - title: '负责部门', - width: 150, - dataIndex: 'departIds_dictText', - }, - { - title: '状态', - dataIndex: 'status_dictText', - width: 80, - }, -]; - -export const recycleColumns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 100, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 80, - customRender: render.renderAvatar, - }, - { - title: '性别', - dataIndex: 'sex', - width: 80, - sorter: true, - customRender: ({ text }) => { - return render.renderDict(text, 'sex'); - }, - }, -]; - -export const searchFormSchema: FormSchema[] = [ - { - label: '账号', - field: 'username', - component: 'JInput', - colProps: { span: 6 }, - }, - { - label: '名字', - field: 'realname', - component: 'JInput', - colProps: { span: 6 }, - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - colProps: { span: 6 }, - }, - { - label: '手机号码', - field: 'phone', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '用户状态', - field: 'status', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'user_status', - placeholder: '请选择状态', - stringToNumber: true, - }, - colProps: { span: 6 }, - }, -]; -export const formSchemaZJ: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '专家账号', - field: 'username', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'username', model, schema, true), - }, - { - label: '登录密码', - field: 'password', - component: 'StrengthMeter', - rules: [ - { - required: true, - message: '请输入登录密码', - }, - ], - }, - { - label: '确认密码', - field: 'confirmPassword', - component: 'InputPassword', - dynamicRules: ({ values }) => rules.confirmPassword(values, true), - }, - { - label: '用户姓名', - field: 'realname', - required: true, - component: 'Input', - }, - { - label: '工号', - field: 'workNo', - required: true, - component: 'Input', - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'work_no', model, schema, true), - }, - /*{ - label: '职务', - field: 'post', - required: false, - component: 'JSelectPosition', - componentProps: { - rowKey: 'code', - labelKey: 'name', - }, - },*/ - { - label: '角色', - field: 'selectedroles', - component: 'ApiSelect', - componentProps: { - api: getAllRolesListNoByExcludeTenant, - labelField: 'roleName', - valueField: 'id', - }, - }, - { - label: '所属部门', - field: 'selecteddeparts', - component: 'JSelectDept', - componentProps: ({ formActionType, formModel }) => { - return { - sync: false, - checkStrictly: true, - defaultExpandLevel: 2, - - onSelect: (options, values) => { - const { updateSchema } = formActionType; - //所属部门修改后更新负责部门下拉框数据 - updateSchema([ - { - field: 'departIds', - componentProps: { options }, - }, - ]); - //所属部门修改后更新负责部门数据 - formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1)); - }, - }; - }, - }, - /*{ - label: '租户', - field: 'relTenantIds', - component: 'ApiSelect', - componentProps: { - mode: 'multiple', - api: getAllTenantList, - numberToString: true, - labelField: 'name', - valueField: 'id', - }, - },*/ - /*{ - label: '身份', - field: 'userIdentity', - component: 'RadioGroup', - defaultValue: 1, - componentProps: ({ formModel }) => { - return { - options: [ - { label: '普通用户', value: 1, key: '1' }, - { label: '上级', value: 2, key: '2' }, - ], - onChange: () => { - formModel.userIdentity == 1 && (formModel.departIds = []); - }, - }; - }, - },*/ - /* { - label: '负责部门', - field: 'departIds', - component: 'Select', - componentProps: { - mode: 'multiple', - }, - ifShow: ({ values }) => values.userIdentity == 2, - },*/ - { - label: '头像', - field: 'avatar', - component: 'JImageUpload', - componentProps: { - fileMax: 1, - }, - }, - { - label: '生日', - field: 'birthday', - component: 'DatePicker', - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - }, - { - label: '邮箱', - field: 'email', - component: 'Input', - }, - { - label: '手机号码', - field: 'phone', - component: 'Input', - }, - /*{ - label: '座机', - field: 'telephone', - component: 'Input', - rules: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' }], - }, - { - label: '工作流引擎', - field: 'activitiSync', - defaultValue: 1, - component: 'JDictSelectTag', - componentProps: { - dictCode: 'activiti_sync', - type: 'radio', - stringToNumber: true, - }, - },*/ - { - label: '专家毕业院校', - field: 'expSc', - component: 'Input', - }, - { - label: '专家履历', - field: 'expResume', - component: 'InputTextArea', - }, - { - label: '专家学历', - field: 'expTitle', - component: 'Input', - }, - { - label: '比赛', - field: 'compid', - component: 'Input', - show: false, - }, - { - label: '比赛名称', - field: 'compName', - component: 'JPopup', - componentProps: ({ formActionType }) => { - const {setFieldsValue} = formActionType; - return{ - setFieldsValue:setFieldsValue, - code:"comp_select", - fieldConfig: [ - { source: 'id', target: 'compid' }, - { source: 'comp_name', target: 'compName' }, - ], - multi:true - } - }, - }, - { - label: '状态', - field: 'stat', - component: 'JSwitch', - componentProps:{ - }, - }, -]; - -export const formSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - label: '用户账号', - field: 'username', - component: 'Input', - dynamicDisabled: ({ values }) => { - return !!values.id; - }, - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'username', model, schema, true), - }, - { - label: '登录密码', - field: 'password', - component: 'StrengthMeter', - rules: [ - { - required: true, - message: '请输入登录密码', - }, - ], - }, - { - label: '确认密码', - field: 'confirmPassword', - component: 'InputPassword', - dynamicRules: ({ values }) => rules.confirmPassword(values, true), - }, - { - label: '用户姓名', - field: 'realname', - required: true, - component: 'Input', - }, - { - label: '工号', - field: 'workNo', - required: true, - component: 'Input', - dynamicRules: ({ model, schema }) => rules.duplicateCheckRule('sys_user', 'work_no', model, schema, true), - }, - { - label: '职务', - field: 'post', - required: false, - component: 'JSelectPosition', - componentProps: { - rowKey: 'code', - labelKey: 'name', - }, - }, - { - label: '角色', - field: 'selectedroles', - component: 'ApiSelect', - componentProps: { - mode: 'multiple', - api: getAllRolesListNoByTenant, - labelField: 'roleName', - valueField: 'id', - }, - }, - { - label: '所属部门', - field: 'selecteddeparts', - component: 'JSelectDept', - componentProps: ({ formActionType, formModel }) => { - return { - sync: false, - checkStrictly: true, - defaultExpandLevel: 2, - - onSelect: (options, values) => { - const { updateSchema } = formActionType; - //所属部门修改后更新负责部门下拉框数据 - updateSchema([ - { - field: 'departIds', - componentProps: { options }, - }, - ]); - //所属部门修改后更新负责部门数据 - formModel.departIds && (formModel.departIds = formModel.departIds.filter((item) => values.value.indexOf(item) > -1)); - }, - }; - }, - }, - { - label: '租户', - field: 'relTenantIds', - component: 'ApiSelect', - componentProps: { - mode: 'multiple', - api: getAllTenantList, - numberToString: true, - labelField: 'name', - valueField: 'id', - }, - }, - { - label: '身份', - field: 'userIdentity', - component: 'RadioGroup', - defaultValue: 1, - componentProps: ({ formModel }) => { - return { - options: [ - { label: '普通用户', value: 1, key: '1' }, - { label: '上级', value: 2, key: '2' }, - ], - onChange: () => { - formModel.userIdentity == 1 && (formModel.departIds = []); - }, - }; - }, - }, - { - label: '负责部门', - field: 'departIds', - component: 'Select', - componentProps: { - mode: 'multiple', - }, - ifShow: ({ values }) => values.userIdentity == 2, - }, - { - label: '头像', - field: 'avatar', - component: 'JImageUpload', - componentProps: { - fileMax: 1, - }, - }, - { - label: '生日', - field: 'birthday', - component: 'DatePicker', - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - }, - { - label: '邮箱', - field: 'email', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [ - { ...rules.duplicateCheckRule('sys_user', 'email', model, schema, true)[0] }, - { ...rules.rule('email', false)[0] }, - ]; - }, - }, - { - label: '手机号码', - field: 'phone', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [ - { ...rules.duplicateCheckRule('sys_user', 'phone', model, schema, true)[0] }, - { pattern: /^1[3456789]\d{9}$/, message: '手机号码格式有误' }, - ]; - }, - }, - { - label: '座机', - field: 'telephone', - component: 'Input', - rules: [{ pattern: /^0\d{2,3}-[1-9]\d{6,7}$/, message: '请输入正确的座机号码' }], - }, - // { - // label: '工作流引擎', - // field: 'activitiSync', - // defaultValue: 1, - // component: 'JDictSelectTag', - // componentProps: { - // dictCode: 'activiti_sync', - // type: 'radio', - // stringToNumber: true, - // }, - // }, -]; - -export const formPasswordSchema: FormSchema[] = [ - { - label: '用户账号', - field: 'username', - component: 'Input', - componentProps: { readOnly: true }, - }, - { - label: '登录密码', - field: 'password', - component: 'StrengthMeter', - componentProps: { - placeholder: '请输入登录密码', - }, - rules: [ - { - required: true, - message: '请输入登录密码', - }, - ], - }, - { - label: '确认密码', - field: 'confirmPassword', - component: 'InputPassword', - dynamicRules: ({ values }) => rules.confirmPassword(values, true), - }, -]; - -export const formAgentSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - field: 'userName', - label: '用户名', - component: 'Input', - componentProps: { - readOnly: true, - allowClear: false, - }, - }, - { - field: 'agentUserName', - label: '代理人用户名', - required: true, - component: 'JSelectUser', - componentProps: { - rowKey: 'username', - labelKey: 'realname', - maxSelectCount: 10, - }, - }, - { - field: 'startTime', - label: '代理开始时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择代理开始时间', - }, - }, - { - field: 'endTime', - label: '代理结束时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择代理结束时间', - }, - }, - { - field: 'status', - label: '状态', - component: 'JDictSelectTag', - defaultValue: '1', - componentProps: { - dictCode: 'valid_status', - type: 'radioButton', - }, - }, -]; - -export const formQuitAgentSchema: FormSchema[] = [ - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, - { - field: 'userName', - label: '用户名', - component: 'Input', - componentProps: { - readOnly: true, - allowClear: false, - }, - }, - { - field: 'agentUserName', - label: '交接人员', - required: true, - component: 'JSelectUser', - componentProps: { - rowKey: 'username', - labelKey: 'realname', - maxSelectCount: 1, - }, - }, - { - field: 'startTime', - label: '交接开始时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择交接开始时间', - getPopupContainer: () => document.body, - }, - }, - { - field: 'endTime', - label: '交接结束时间', - component: 'DatePicker', - required: true, - componentProps: { - showTime: true, - valueFormat: 'YYYY-MM-DD HH:mm:ss', - placeholder: '请选择交接结束时间', - getPopupContainer: () => document.body, - }, - }, - { - field: 'status', - label: '状态', - component: 'JDictSelectTag', - defaultValue: '1', - componentProps: { - dictCode: 'valid_status', - type: 'radioButton', - }, - }, -]; - -//租户用户列表 -export const userTenantColumns: BasicColumn[] = [ - { - title: '用户账号', - dataIndex: 'username', - width: 120, - }, - { - title: '用户姓名', - dataIndex: 'realname', - width: 100, - }, - { - title: '头像', - dataIndex: 'avatar', - width: 120, - customRender: render.renderAvatar, - }, - { - title: '手机号', - dataIndex: 'phone', - width: 100, - }, - { - title: '部门', - width: 150, - dataIndex: 'orgCodeTxt', - }, - { - title: '状态', - dataIndex: 'status', - width: 80, - customRender: ({ text }) => { - if (text === '1') { - return '正常'; - } else if (text === '3') { - return '审批中'; - } else { - return '已拒绝'; - } - }, - }, -]; - -//用户租户搜索表单 -export const userTenantFormSchema: FormSchema[] = [ - { - label: '账号', - field: 'username', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '名字', - field: 'realname', - component: 'Input', - colProps: { span: 6 }, - }, - { - label: '性别', - field: 'sex', - component: 'JDictSelectTag', - componentProps: { - dictCode: 'sex', - placeholder: '请选择性别', - stringToNumber: true, - }, - colProps: { span: 6 }, - }, -];