import type {FormSchemaGetter} from '#/adapter/form'; import type {VxeGridProps} from '#/adapter/vxe-table'; import {renderDict} from "#/utils/render"; import {getDictOptions} from "#/utils/dict"; export const querySchema: FormSchemaGetter = () => [ { component: 'Input', fieldName: 'orderNo', label: '工单编号', }, { component: 'Input', fieldName: 'orderName', label: '工单名称', }, { component: 'Select', componentProps: {}, fieldName: 'type', label: '工单类型', }, { component: 'Select', componentProps: { options: getDictOptions('wy_gdclzt'), }, fieldName: 'status', label: '状态', }, ]; export const columns: VxeGridProps['columns'] = [ {type: 'checkbox', width: 60}, { title: '工单编号', field: 'orderNo', width: 180, }, { title: '工单名称', field: 'orderName', minWidth: 180, }, { title: '工单类型', field: 'type', slots: { default: ({row}) => { return renderDict(row.type, 'wy_gdlx'); }, }, width: 100, }, { title: '状态', field: 'status', slots: { default: ({row}) => { return renderDict(row.status, 'wy_gdclzt'); }, }, width: 100, }, { title: '派单时间', field: 'dispatchTime', width: 100, }, { title: '发起人姓名', field: 'initiatorName', width: 100, }, { title: '发起人手机号', field: 'initiatorPhone', width: 100, }, { title: '处理人姓名', field: 'handler', width: 100, }, { title: '地址', field: 'location', width: 100, }, { title: '计划完成时间', field: 'planCompleTime', width: 100, }, { title: '完成时间', field: 'compleTime', width: 100, }, { title: '评价', field: 'serviceEvalua', width: 100, }, { title: '是否超时', field: 'isTimeOut', width: 100, }, { field: 'action', fixed: 'right', slots: {default: 'action'}, title: '操作', width: 180, }, ]; export const modalSchema: FormSchemaGetter = () => [ { label: 'id', fieldName: 'id', component: 'Input', dependencies: { show: () => false, triggerFields: [''], }, }, { label: '工单名称', fieldName: 'orderName', component: 'Input', rules: 'required', }, { label: '工单类型', fieldName: 'type', component: 'Select', componentProps: {}, rules: 'selectRequired', }, // { // label: '状态', // fieldName: 'status', // component: 'RadioGroup', // componentProps: { // buttonStyle: 'solid', // optionType: 'button', // }, // rules: 'selectRequired', // }, { label: '派单时间', fieldName: 'dispatchTime', component: 'DatePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, rules: 'selectRequired', }, { label: '发起人', fieldName: 'initiatorName', component: 'ApiSelect', formItemClass: 'col-span-2', rules: 'selectRequired', }, // { // label: '发起人手机号', // fieldName: 'initiatorPhone', // component: 'Input', // }, { label: '处理人', fieldName: 'handler', component: 'ApiSelect', formItemClass: 'col-span-2', rules: 'selectRequired', }, { label: '具体位置', fieldName: 'location', component: 'Input', formItemClass: 'col-span-2', rules: 'selectRequired', }, { label: '计划完成时间', fieldName: 'planCompleTime', component: 'DatePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, labelWidth: 110, rules: 'selectRequired', }, { label: '完成时间', fieldName: 'compleTime', component: 'DatePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', valueFormat: 'YYYY-MM-DD HH:mm:ss', }, rules: 'selectRequired', }, { label: '评价', fieldName: 'serviceEvalua', component: 'Rate', rules: 'required', }, { label: '是否超时', fieldName: 'isTimeOut', component: 'RadioGroup', componentProps: { buttonStyle: 'solid', options: getDictOptions('wy_sf'), }, rules: 'selectRequired', }, ];