¶Ô±ÈÐÂÎļþ |
| | |
| | | import { BasicColumn } from '/@/components/Table'; |
| | | import { FormSchema } from '/@/components/Table'; |
| | | import { getAllRolesListNoByTenant, 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: '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', |
| | | rules: rules.rule('email', false), |
| | | }, |
| | | { |
| | | 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 }, |
| | | }, |
| | | ]; |