diff --git a/apps/web-antd/src/api/property/inspectionManagement/inspectionPlan/model.d.ts b/apps/web-antd/src/api/property/inspectionManagement/inspectionPlan/model.d.ts index 951a8553..c990b10e 100644 --- a/apps/web-antd/src/api/property/inspectionManagement/inspectionPlan/model.d.ts +++ b/apps/web-antd/src/api/property/inspectionManagement/inspectionPlan/model.d.ts @@ -1,4 +1,4 @@ -import type { PageQuery, BaseEntity } from '#/api/common'; +import type {PageQuery, BaseEntity} from '#/api/common'; export interface InspectionPlanVO { /** @@ -66,6 +66,28 @@ export interface InspectionPlanVO { */ remark: string; + /** + * 计划时间区间 + */ + planDate?: any[]; + + /** + * 巡检月 + */ + inspectionMonth?:string; + /** + * 巡检日 + */ + inspectionDay?:string; + /** + * 巡检周 + */ + inspectionWorkday?:string; + + /** + * 状态 + */ + state?:string } export interface InspectionPlanForm extends BaseEntity { @@ -133,6 +155,18 @@ export interface InspectionPlanForm extends BaseEntity { * 备注 */ remark?: string; + /** + * 巡检月 + */ + inspectionMonth?:string; + /** + * 巡检日 + */ + inspectionDay?:string; + /** + * 巡检周 + */ + inspectionWorkday?:string; } @@ -193,7 +227,19 @@ export interface InspectionPlanQuery extends PageQuery { userId?: string | number; /** - * 日期范围参数 - */ + * 日期范围参数 + */ params?: any; + /** + * 巡检月 + */ + inspectionMonth?:string; + /** + * 巡检日 + */ + inspectionDay?:string; + /** + * 巡检周 + */ + inspectionWorkday?:string; } diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/data.ts b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/data.ts index 1fed16ca..98fa9fe7 100644 --- a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/data.ts +++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/data.ts @@ -2,6 +2,7 @@ import type {FormSchemaGetter} from '#/adapter/form'; import type {VxeGridProps} from '#/adapter/vxe-table'; import {getDictOptions} from "#/utils/dict"; import {renderDict} from "#/utils/render"; +import {z} from "#/adapter/form"; export const querySchema: FormSchemaGetter = () => [ @@ -32,71 +33,65 @@ export const querySchema: FormSchemaGetter = () => [ export const columns: VxeGridProps['columns'] = [ {type: 'checkbox', width: 60}, { - title: '主键id', - field: 'id', - }, - { - title: '巡检计划名称', + title: '计划名称', field: 'planName', + minWidth: 180, }, { title: '巡检路线', field: 'inspectionRouteId', + width: 180, }, { title: '巡检周期', field: 'inspectionPlanPeriod', slots: { - default: ({ row }) => { + default: ({row}) => { return renderDict(row.inspectionPlanPeriod, 'wy_xjzq'); }, }, + width: 100, }, { - title: '任务提前分组', + title: '任务提前分钟', field: 'beforeTime', + width: 120, }, { title: '开始日期', field: 'startDate', + width: 120, }, { title: '结束日期', field: 'endDate', - }, - { - title: '开始时间', - field: 'startTime', - }, - { - title: '结束时间', - field: 'endTime', + width: 120, }, { title: '签到方式', field: 'signType', slots: { - default: ({ row }) => { + default: ({row}) => { return renderDict(row.signType, 'wy_xjqdfs'); }, }, + width: 120, }, { title: '是否允许补检', field: 'canReexamine', slots: { - default: ({ row }) => { + default: ({row}) => { return renderDict(row.canReexamine, 'wy_sf'); }, }, + width: 120, }, { - title: '选择员工', - field: 'userId', - }, - { - title: '备注', - field: 'remark', + title: '状态', + field: 'state', + width: 120, + slots:{default: 'state'} }, { field: 'action', @@ -118,7 +113,7 @@ export const modalSchema: FormSchemaGetter = () => [ }, }, { - label: '巡检计划名称', + label: '计划名称', fieldName: 'planName', component: 'Input', rules: 'required', @@ -126,61 +121,80 @@ export const modalSchema: FormSchemaGetter = () => [ { label: '巡检路线', fieldName: 'inspectionRouteId', - component: 'Input', + component: 'ApiSelect', rules: 'required', }, { label: '巡检周期', fieldName: 'inspectionPlanPeriod', - component: 'Input', + component: 'Select', rules: 'required', componentProps: { options: getDictOptions('wy_xjzq'), }, }, { - label: '任务提前分组', + label: '任务提前', fieldName: 'beforeTime', component: 'Input', - rules: 'required', + rules: z.number({ + required_error: "请输入任务提前完成分钟数", + invalid_type_error: "请输入任务提前完成分钟数" + }), + slots: {default: 'beforeTime'}, }, { - label: '开始日期', - fieldName: 'startDate', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', + label: '周', + fieldName: 'inspectionWorkday', + component: 'CheckboxGroup', + rules: 'selectRequired', + formItemClass: 'col-span-2', + dependencies: { + show: (formValue) => formValue.inspectionPlanPeriod == '2', + triggerFields: ['inspectionPlanPeriod'], }, - rules: 'required', - }, - { - label: '结束日期', - fieldName: 'endDate', - component: 'DatePicker', componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', + options: getDictOptions('wy_xq') + } }, { - label: '开始时间', - fieldName: 'startTime', - component: 'DatePicker', + label: '月', + fieldName: 'inspectionMonth', + component: 'CheckboxGroup', + rules: 'selectRequired', + formItemClass: 'col-span-2', + dependencies: { + show: (formValue) => formValue.inspectionPlanPeriod == '1', + triggerFields: ['inspectionPlanPeriod'], + }, componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - }, - rules: 'required', + options: Array.from({ length: 12 }, (_, i) => ({ + label: `${i + 1}月`, + value: (i + 1).toString(), + })), + } }, { - label: '结束时间', - fieldName: 'endTime', - component: 'DatePicker', + label: '日', + fieldName: 'inspectionDay', + component: 'CheckboxGroup', + rules: 'selectRequired', + formItemClass: 'col-span-2', + dependencies: { + show: (formValue) => formValue.inspectionPlanPeriod == '1', + triggerFields: ['inspectionPlanPeriod'], + }, + componentProps: { + options: Array.from({ length: 31 }, (_, i) => ({ + label: `${i + 1}日`, + value: (i + 1).toString(), + })), + } + }, + { + label: '计划日期', + fieldName: 'planDate', + component: 'RangePicker', componentProps: { showTime: true, format: 'YYYY-MM-DD HH:mm:ss', @@ -200,21 +214,35 @@ export const modalSchema: FormSchemaGetter = () => [ { label: '允许补检', fieldName: 'canReexamine', - component: 'Select', + component: 'RadioGroup', componentProps: { options: getDictOptions('wy_sf'), + buttonStyle: 'solid', }, rules: 'selectRequired', }, { - label: '选择员工', + label: '巡检人员', fieldName: 'userId', - component: 'Input', - rules: 'required', + component: 'ApiSelect', + componentProps:{ + mode: 'multiple', + }, + rules: z.array(z.string()).min(1, { message: '请选择巡检人员' }), + formItemClass: 'col-span-2' }, { label: '备注', fieldName: 'remark', - component: 'Input', + component: 'Textarea', + formItemClass: 'col-span-2' }, ]; + +const weekOptions = (): any[] => { + let arr: any[] = [] + for (let i = 1; i <= 7; i++) { + arr.push({label: '星期' + '', value: i}) + } + return arr; +} diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/index.vue b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/index.vue index c8554f64..2881f7dc 100644 --- a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/index.vue +++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/index.vue @@ -1,14 +1,8 @@ + + diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/inspectionPlan-modal.vue b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/inspectionPlan-modal.vue index 65fa155f..77604475 100644 --- a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/inspectionPlan-modal.vue +++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/inspectionPlan-modal.vue @@ -1,15 +1,23 @@ + diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/plan-detail.vue b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/plan-detail.vue new file mode 100644 index 00000000..0a46807f --- /dev/null +++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionPlan/plan-detail.vue @@ -0,0 +1,107 @@ + + + diff --git a/apps/web-antd/src/views/property/inspectionManagement/inspectionPoint/index.vue b/apps/web-antd/src/views/property/inspectionManagement/inspectionPoint/index.vue index 77621ef6..156f113a 100644 --- a/apps/web-antd/src/views/property/inspectionManagement/inspectionPoint/index.vue +++ b/apps/web-antd/src/views/property/inspectionManagement/inspectionPoint/index.vue @@ -1,13 +1,7 @@