import type { CrudSchema } from '@/hooks/web/useCrudSchemas' import { dateFormatter } from '@/utils/formatTime' // 表单校验 export const rules = reactive({ name: [required] }) // TODO @dbh52:不使用 crud 模式哈,使用标准的 ep 代码哈;主要后续 crud schema 可能会改 // CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ const crudSchemas = reactive([ { label: '合同编号', field: 'id', isForm: false }, { label: '合同名称', field: 'name', isSearch: true }, { label: '客户编号', field: 'customerId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '商机编号', field: 'businessId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '工作流编号', field: 'processInstanceId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '下单日期', field: 'orderDate', formatter: dateFormatter, isSearch: true, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, form: { component: 'DatePicker', componentProps: { type: 'datetime', valueFormat: 'x' } } }, { label: '负责人的用户编号', field: 'ownerUserId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '创建时间', field: 'createTime', formatter: dateFormatter, isSearch: true, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, isForm: false }, { label: '合同编号', field: 'no', isSearch: true }, { label: '开始时间', field: 'startTime', formatter: dateFormatter, isSearch: true, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, form: { component: 'DatePicker', componentProps: { type: 'datetime', valueFormat: 'x' } } }, { label: '结束时间', field: 'endTime', formatter: dateFormatter, isSearch: true, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, form: { component: 'DatePicker', componentProps: { type: 'datetime', valueFormat: 'x' } } }, { label: '合同金额', field: 'price', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '整单折扣', field: 'discountPercent', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '产品总金额', field: 'productPrice', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '只读权限的用户编号数组', field: 'roUserIds', isSearch: true }, { label: '读写权限的用户编号数组', field: 'rwUserIds', isSearch: true }, { label: '联系人编号', field: 'contactId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '备注', field: 'remark', isSearch: true }, { label: '公司签约人', field: 'signUserId', isSearch: true, form: { component: 'InputNumber', value: 0 } }, { label: '最后跟进时间', field: 'contactLastTime', formatter: dateFormatter, isSearch: true, search: { component: 'DatePicker', componentProps: { valueFormat: 'YYYY-MM-DD HH:mm:ss', type: 'daterange', defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')] } }, form: { component: 'DatePicker', componentProps: { type: 'datetime', valueFormat: 'x' } } }, { label: '操作', field: 'action', isForm: false } ]) export const { allSchemas } = useCrudSchemas(crudSchemas)