import { FormSchema } from '/@/components/Form'; // 部门基础表单 export function useBasicFormSchema() { const basicFormSchema: FormSchema[] = [ { field: 'departName', label: '名称', component: 'Input', componentProps: { placeholder: '请输入机构/部门名称', }, rules: [{ required: true, message: '机构名称不能为空' }], }, { field: 'parentId', label: '上级', component: 'TreeSelect', componentProps: { treeData: [], placeholder: '无', dropdownStyle: { maxHeight: '200px', overflow: 'auto' }, }, }, { field: 'orgCode', label: '编码', component: 'Input', componentProps: { placeholder: '请输入机构编码', }, }, { field: 'orgCategory', label: '类型', component: 'RadioButtonGroup', componentProps: { options: [] }, }, { field: 'platType_dictText', label: '业务平台类型', component: 'JDictSelectTag', defaultValue:"ywjg", componentProps: { dictCode: 'iz_test_site' }, rules:[{ required: true, message: '请选择平台类型' }] }, { field: 'departOrder', label: '排序', component: 'InputNumber', componentProps: {}, }, { field: 'operationStartTime', label: '运营开始时间', component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD', style: { width: '100%', }, }, }, { field: 'operationEndTime', label: '运营到期时间', component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD', style: { width: '100%', }, }, }, { field: 'contractStartTime', label: '合同开始时间', component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD', style: { width: '100%', }, }, }, { field: 'contractEndTime', label: '合同到期时间', component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD', style: { width: '100%', }, }, }, { field: 'mobile', label: '电话', component: 'Input', componentProps: { placeholder: '请输入电话', }, }, { field: 'fax', label: '传真', component: 'Input', componentProps: { placeholder: '请输入传真', }, }, { field: 'address', label: '地址', component: 'Input', componentProps: { placeholder: '请输入地址', }, }, { field: 'memo', label: '备注', component: 'InputTextArea', componentProps: { placeholder: '请输入备注', }, }, ]; return { basicFormSchema }; } // 机构类型选项 export const orgCategoryOptions = { // 一级部门 root: [{ value: '1', label: '机构' }], // 子级部门 child: [ { value: '2', label: '区域' }, ], }; export const tplinkUseFormSchema: FormSchema[] = [ { field: 'id', label: 'id', component: 'Input', show: false, }, { field: 'orgCode', label: '所属机构', component: 'Input', required: true, dynamicDisabled: true }, { field: 'tumsProjectId', label: '所属项目ID', component: 'Input', required: true, show: false, }, { field: 'tumsProjectName', label: '所属项目', component: 'Input', required: true, dynamicDisabled: true }, { field: 'tumsUsername', label: '用户名', component: 'Input', required: true, }, { field: 'tumsPassword', label: '密码', required: true, component: 'StrengthMeter', rules: [ { required: true, message: '请输入登录密码', }, { pattern: /^(?!.*(.)\1{2})(?=(?:.*[0-9].*[A-Z])|(?:.*[0-9].*[a-z])|(?:.*[0-9].*[~!@#$%^&*()_+={[}\]|\\:;'"<,>.?/ -])|(?:.*[A-Z].*[a-z])|(?:.*[A-Z].*[~!@#$%^&*()_+={[}\]|\\:;'"<,>.?/ -])|(?:.*[a-z].*[~!@#$%^&*()_+={[}\]|\\:;'"<,>.?/ -]))[0-9A-Za-z~!@#$%^&*()_+={[}\]|\\:;'"<,>.?/ -]{8,64}$/, message: '密码由8位数字、大小写字母和特殊符号组成!', }, ], dynamicDisabled: ({ values }) => { return !!values.id; }, }, { field: 'tumsRoleId', label: '角色', required: true, component: 'JDictSelectTag', componentProps: { placeholder: '请选择类型', options: [ { label: '超级管理员', value: '1' }, { label: '项目管理员', value: '2' }, { label: '项目查看员', value: '3' }, { label: '视频监控员', value: '4' }, ], }, }, { field: 'ftpIp', label: 'FTP地址', component: 'Input', }, { field: 'ftpPort', label: 'FTP端口', component: 'Input', }, { field: 'ftpUsername', label: 'FTP用户', component: 'Input', }, { field: 'ftpPassword', label: 'FTP密码', component: 'InputPassword', }, { field: 'ftpUploadpath', label: 'FTP上传路径', component: 'Input', }, ];