--添加测试模块

This commit is contained in:
2025-10-13 11:53:54 +08:00
parent c3c93fe308
commit e1326c7ce8
146 changed files with 11171 additions and 807 deletions

View File

@ -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 新增