import type { FormSchemaGetter } from '#/adapter/form'; import type { VxeGridProps } from '#/adapter/vxe-table'; import {getDictOptions} from "#/utils/dict"; export const querySchema: FormSchemaGetter = () => [ { component: 'Input', fieldName: 'orderNo', label: '订单号', }, { component: 'Input', fieldName: 'customerName', label: '客户名称', }, { component: 'Select', componentProps: { options:getDictOptions('wy_khlx') }, fieldName: 'customerType', label: '客户类型', }, { component: 'Select', componentProps: { options:getDictOptions('wy_zlfs') }, fieldName: 'rentalType', label: '租赁方式', }, { component: 'Select', componentProps: { options:getDictOptions('pro_charging_status') }, fieldName: 'paymentStatus', label: '支付状态', }, ]; export const columns: VxeGridProps['columns'] = [ { type: 'checkbox', width: 60 }, { title: '订单号', field: 'orderNo', width:100 }, { title: '客户名称', field: 'customerName', width:100 }, { title: '客户类型', field: 'customerType', slots: {default: 'customerType'}, width:100 }, { title: '租赁周期', field: 'rentalPeriod', slots: {default: 'rentalPeriod'}, width:100 }, { title: '租赁开始时间', field: 'startTime', width:120 }, { title: '租赁结束时间', field: 'endTime', width:120 }, { title: '应付总额', field: 'totalAmount', width:100 }, { title: '租赁方式', field: 'rentalType', slots: {default: 'rentalType'}, width:100 }, { title: '租赁商品', field: 'planId', slots: {default: 'planId'}, width:100 }, { title: '支付状态', field: 'paymentStatus', slots: {default: 'paymentStatus'}, width:100 }, { title: '是否续租', field: 'isRelet', slots: {default: 'isRelet'}, width:100 }, { title: '合同状态', field: 'contractStatus', slots: {default: 'contractStatus'}, width:100 }, { title: '签署时间', field: 'signTime', width:100 }, { field: 'action', fixed: 'right', slots: { default: 'action' }, title: '操作', minWidth: 180, }, ]; export const modalSchema: FormSchemaGetter = () => [ { label: '主键', fieldName: 'id', component: 'Input', dependencies: { show: () => false, triggerFields: [''], }, }, { label: '订单号', fieldName: 'orderNo', component: 'Input', rules: 'required', }, { label: '客户名称', fieldName: 'customerName', component: 'Input', rules: 'required', }, { label: '客户类型', fieldName: 'customerType', component: 'Select', componentProps: { options:getDictOptions('wy_khlx') }, rules: 'selectRequired', }, { label: '租赁周期', fieldName: 'rentalPeriod', component: 'Select', componentProps: { options:getDictOptions('wy_time_unit') }, rules: 'selectRequired', }, { label: '租赁时间', fieldName: 'rentalTime', component: 'RangePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, rules: 'selectRequired', }, { label: '应付总额', fieldName: 'totalAmount', component: 'Input', rules: 'required', }, { label: '租赁方式', fieldName: 'rentalType', component: 'Select', componentProps: { options:getDictOptions('wy_sf') }, rules: 'selectRequired', }, { label: '租赁方案id', fieldName: 'planId', component: 'Input', dependencies: { // 仅当 租赁方式 为 2(套餐) 时显示 show: (formValues) => formValues.rentalType === '2', triggerFields: ['rentalType'], }, rules: 'required', }, { label: '绿植产品id', fieldName: 'productId', component: 'Input', dependencies: { // 仅当 租赁方式 为 1(单点) 时显示 show: (formValues) => formValues.rentalType === '1', triggerFields: ['rentalType'], }, rules: 'required', }, { label: '租赁产品数量', fieldName: 'productNum', component: 'Input', dependencies: { // 仅当 租赁方式 为 1(单点) 时显示 show: (formValues) => formValues.rentalType === '1', triggerFields: ['rentalType'], }, rules: 'required', }, { label: '支付状态', fieldName: 'paymentStatus', component: 'Select', componentProps: { }, rules: 'selectRequired', }, { label: '是否续租', fieldName: 'isRelet', component: 'RadioGroup', componentProps: { buttonStyle: 'solid', optionType: 'button', options: getDictOptions('wy_sf'), }, }, { label: '合同状态', fieldName: 'contractStatus', component: 'Select', componentProps: { }, }, { label: '签署时间', fieldName: 'signTime', component: 'DatePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, }, ];