import { FormSchema } from '/@/components/Form'; // 部门基础表单 export function useBasicFormSchema() { const basicFormSchema: FormSchema[] = [ { field: 'parentId', label: '上级', component: 'TreeSelect', ifShow: (v_) => { return !!v_.values.parentId; }, componentProps: { treeData: [], placeholder: '无', dropdownStyle: { maxHeight: '200px', overflow: 'auto' }, }, }, { field: 'departName', label: '名称', component: 'Input', componentProps: { placeholder: '请输入名称', }, rules: [{ required: true, message: '名称不能为空' }], }, { field: 'orgCode', label: '编码', component: 'Input', componentProps: { placeholder: '请输入编码', }, }, // { // field: 'orgCategory', // label: '类型', // component: 'RadioButtonGroup', // componentProps: { options: [] }, // }, { field: 'url', label: '协议域名', component: 'Input', ifShow: (v_) => { return !v_.values.parentId; }, componentProps: { placeholder: '请输入协议域名', }, }, { field: 'contextPath', label: '项目访问路径', component: 'Input', ifShow: (v_) => { return !v_.values.parentId; }, componentProps: { placeholder: '请输入项目访问路径', }, }, // { // field: 'province', // label: '省份', // component: 'Input', // ifShow: (v_) => { // return !v_.values.parentId; // }, // slot: 'province', // }, // { // field: 'city', // label: '城市', // component: 'Input', // ifShow: (v_) => { // return !v_.values.parentId; // }, // slot: 'city', // }, // { // field: 'district', // label: '区县', // component: 'Input', // ifShow: (v_) => { // return !v_.values.parentId; // }, // slot: 'district', // }, { field: 'platType', label: '业务平台类型', defaultValue: 'ywjg', component: 'JDictSelectTag', ifShow: (v_) => { return !v_.values.parentId; }, componentProps: { dictCode: 'iz_test_site', }, rules: [ { required: true, message: '请选择平台类型', }, ], }, // { // field: 'payableAmount', // label: '入住应缴金额', // component: 'InputNumber', // ifShow: (v_) => { // return !v_.values.parentId; // }, // rules: [ // { // required: true, // message: '请填写护理单元长者入住应缴金额', // }, // ], // }, // { // field: 'operationStartTime', // label: '运营开始时间', // component: 'DatePicker', // ifShow: (v_) => { // return !v_.values.parentId; // }, // componentProps: { // valueFormat: 'YYYY-MM-DD', // style: { // width: '100%', // }, // }, // }, // { // field: 'operationEndTime', // label: '运营到期时间', // component: 'DatePicker', // ifShow: (v_) => { // return !v_.values.parentId; // }, // componentProps: { // valueFormat: 'YYYY-MM-DD', // style: { // width: '100%', // }, // }, // }, // { // field: 'contractStartTime', // label: '合同开始时间', // component: 'DatePicker', // ifShow: (v_) => { // return !v_.values.parentId; // }, // componentProps: { // valueFormat: 'YYYY-MM-DD', // style: { // width: '100%', // }, // }, // }, // { // field: 'contractEndTime', // label: '合同到期时间', // component: 'DatePicker', // ifShow: (v_) => { // return !v_.values.parentId; // }, // 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', // ifShow: (v_) => { // return !v_.values.parentId; // }, // componentProps: { // placeholder: '请输入地址', // }, // }, { field: 'memo', label: '备注', component: 'InputTextArea', componentProps: { placeholder: '请输入备注', }, }, { field: 'departOrder', label: '排序', component: 'InputNumber', componentProps: {}, }, // { // field: 'picUrl', // label: '机构图片', // component: 'JImageUpload', // ifShow: (v_) => { // return !v_.values.parentId; // }, // }, ]; 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', }, ];