123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- 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<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)
|