--添加测试模块
This commit is contained in:
@ -107,26 +107,43 @@
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
import { useI18n } from '/@/hooks/web/useI18n';
|
||||
import { getDepartmentTree } from '/@/api/system/department';
|
||||
import { addUser, getUser, updateUser } from '/@/api/system/user';
|
||||
import { addUser, getUser, updateUser, getUserNamePrefix } from '/@/api/system/user';
|
||||
import Icon from '/@/components/Icon/index';
|
||||
import { testPwdState } from '/@/utils/event/design';
|
||||
import { PlusOutlined } from '@ant-design/icons-vue';
|
||||
import RoleModal from './RoleModal.vue';
|
||||
import RoleModal from './RoleModalV2.vue';
|
||||
import PostModal from './PostModal.vue';
|
||||
import OrganizationModal from './OrganizationModal.vue';
|
||||
import { debounce } from 'lodash-es';
|
||||
|
||||
const { t } = useI18n();
|
||||
const accountFormSchema: FormSchema[] = [
|
||||
{
|
||||
field: 'userName',
|
||||
label: '账号',
|
||||
component: 'Input',
|
||||
required: true,
|
||||
colProps: { span: 12 },
|
||||
componentProps: {
|
||||
placeholder: '请输入账号',
|
||||
{
|
||||
field: 'userName',
|
||||
label: '账号',
|
||||
component: 'Input',
|
||||
colProps: { span: 12 },
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
validator: async (_, value) => {
|
||||
let values = getFieldsValue1();
|
||||
let prefix = await getUserNamePrefix();
|
||||
if (!value) {
|
||||
return Promise.reject('请输入账号');
|
||||
}
|
||||
if (values?.isSelfBuild === 'Y' && !value.startsWith(prefix)) {
|
||||
return Promise.reject('自建用户账号必须带有前缀:' + prefix);
|
||||
}
|
||||
return Promise.resolve();
|
||||
},
|
||||
},
|
||||
],
|
||||
required: true,
|
||||
componentProps: {
|
||||
placeholder: '请输入账号',
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'name',
|
||||
label: '用户姓名',
|
||||
@ -285,6 +302,51 @@
|
||||
unCheckedValue: 'N',
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'isSelfBuild',
|
||||
label: '自建用户',
|
||||
component: 'Switch',
|
||||
colProps: { span: 12 },
|
||||
helpComponentProps: { maxWidth: '400px' },
|
||||
componentProps: ({ formModel, formActionType }) => {
|
||||
return {
|
||||
checkedValue: 'Y',
|
||||
unCheckedValue: 'N',
|
||||
onChange: debounce((e: ChangeEvent) => {
|
||||
//fieldInt组件会根据fieldString的组件值 变化 +2 //参考view/code/demo2/data/index.ts
|
||||
if (formModel.isSelfBuild === 'N') {
|
||||
formModel.isPushMQ = 'N';
|
||||
}
|
||||
}, 500),
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
{
|
||||
field: 'isPushMQ',
|
||||
label: '推送mq',
|
||||
component: 'Switch',
|
||||
colProps: { span: 12 },
|
||||
helpMessage: '开启推送mq,系统会将自建用户推送到移动办公',
|
||||
helpComponentProps: { maxWidth: '400px' },
|
||||
componentProps: {
|
||||
checkedValue: 'Y',
|
||||
unCheckedValue: 'N',
|
||||
},
|
||||
},
|
||||
{
|
||||
field: 'validityTime',
|
||||
label: '有效期',
|
||||
colProps: {
|
||||
span: 12,
|
||||
},
|
||||
component: 'RangePicker',
|
||||
componentProps: {
|
||||
format: 'YYYY-MM-DD HH:mm',
|
||||
style: { width: '100%' },
|
||||
getPopupContainer: () => document.body,
|
||||
}
|
||||
},
|
||||
{
|
||||
label: t('备注'),
|
||||
field: 'remark',
|
||||
@ -536,6 +598,7 @@
|
||||
registerForm1,
|
||||
{
|
||||
setFieldsValue: setFieldsValue1,
|
||||
getFieldsValue: getFieldsValue1,
|
||||
updateSchema: updateSchema1,
|
||||
resetFields: resetFields1,
|
||||
validate: validate1,
|
||||
@ -624,6 +687,16 @@
|
||||
rowId.value = data.id;
|
||||
const record = await getUser(data.id);
|
||||
const departmentIds = record.departmentIds?.split(',')||[];
|
||||
let validityTime = []
|
||||
if (record.validityStartTime) {
|
||||
validityTime[0] = record.validityStartTime;
|
||||
}
|
||||
if (record.validityEndTime) {
|
||||
validityTime[1] = record.validityEndTime;
|
||||
}
|
||||
if (validityTime.length > 0) {
|
||||
record.validityTime = validityTime;
|
||||
}
|
||||
setFieldsValue1({
|
||||
...record,
|
||||
departmentIds,
|
||||
@ -640,6 +713,15 @@
|
||||
setTableData2(postDatasource.value);
|
||||
setTableData3(orgDatasource.value);
|
||||
setTableData4(deptDatasource.value);
|
||||
} else {
|
||||
//新增
|
||||
setFieldsValue1({
|
||||
isSync: 'N',
|
||||
isMain: 'N',
|
||||
isSelfBuild: 'N',
|
||||
isPushMQ: 'N',
|
||||
});
|
||||
getUserNamePrefixName();
|
||||
}
|
||||
const treeData = await getDepartmentTree();
|
||||
|
||||
@ -702,6 +784,19 @@
|
||||
orgs: deptDatasource.value,
|
||||
});
|
||||
};
|
||||
|
||||
async function getUserNamePrefixName() {
|
||||
let userNamePrefix = await getUserNamePrefix();
|
||||
setFieldsValue1({
|
||||
userName: userNamePrefix
|
||||
});
|
||||
// updateSchema1([{
|
||||
// field: 'userName',
|
||||
// defaultValue: userNamePrefix?.value,
|
||||
// componentProps: { addonBefore: userNamePrefix?.value }
|
||||
// }])
|
||||
}
|
||||
|
||||
const handleDelete = (index, type, record) => {
|
||||
// 映射不同类型对应的数据源
|
||||
const dataSources = {
|
||||
@ -765,7 +860,10 @@
|
||||
departments
|
||||
};
|
||||
setModalProps({ confirmLoading: true });
|
||||
|
||||
if (data.validityTime) {
|
||||
data.validityStartTime = data.validityTime[0];
|
||||
data.validityEndTime = data.validityTime[1];
|
||||
}
|
||||
// TODO custom api
|
||||
if (!unref(isUpdate)) {
|
||||
//false 新增
|
||||
|
||||
Reference in New Issue
Block a user