335 lines
7.5 KiB
TypeScript
335 lines
7.5 KiB
TypeScript
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',
|
|
},
|
|
];
|