228 lines
4.4 KiB
TypeScript
228 lines
4.4 KiB
TypeScript
import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
|
|
import { dateFormatter } from '@/utils/formatTime'
|
|
|
|
// 表单校验
|
|
export const rules = reactive({
|
|
name: [required]
|
|
})
|
|
|
|
// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/
|
|
const crudSchemas = reactive<CrudSchema[]>([
|
|
{
|
|
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)
|