From a74b2516c79d8f4cceac9005c8091dd30b6b1825 Mon Sep 17 00:00:00 2001 From: FLL <2162874245@qq.com> Date: Mon, 21 Jul 2025 20:41:47 +0800 Subject: [PATCH] =?UTF-8?q?=E8=80=83=E5=8B=A4-=E7=8F=AD=E6=AC=A1=E7=AE=A1?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shiftSetting/model.d.ts | 6 +- .../attendanceManagement/shiftSetting/data.ts | 40 +++-- .../shiftSetting/shift-modal.vue | 10 +- .../workOrderPending/index.vue | 11 ++ .../workOrderProcessed/index.vue | 11 ++ .../businessManagement/workOrders/data.ts | 146 +++++++++++------- .../businessManagement/workOrders/index.vue | 26 +++- .../workOrders/orders-modal.vue | 133 ++++++++++++++++ .../workOrders/work-orders-detail.vue | 38 ++--- 9 files changed, 315 insertions(+), 106 deletions(-) create mode 100644 apps/web-antd/src/views/property/businessManagement/workOrderPending/index.vue create mode 100644 apps/web-antd/src/views/property/businessManagement/workOrderProcessed/index.vue create mode 100644 apps/web-antd/src/views/property/businessManagement/workOrders/orders-modal.vue diff --git a/apps/web-antd/src/api/property/attendanceManagement/shiftSetting/model.d.ts b/apps/web-antd/src/api/property/attendanceManagement/shiftSetting/model.d.ts index 395eca22..e0d1b668 100644 --- a/apps/web-antd/src/api/property/attendanceManagement/shiftSetting/model.d.ts +++ b/apps/web-antd/src/api/property/attendanceManagement/shiftSetting/model.d.ts @@ -25,7 +25,7 @@ export interface ShiftVO { /** * 状态(0:off,1:on) */ - status: number; + status: string | number; /** * 是否休息(0:不休息,1:休息) @@ -70,7 +70,7 @@ export interface ShiftForm extends BaseEntity { /** * 状态(0:off,1:on) */ - status?: number; + status?: string | number; /** * 是否休息(0:不休息,1:休息) @@ -107,7 +107,7 @@ export interface ShiftQuery extends PageQuery { /** * 状态(0:off,1:on) */ - status?: number; + status?: string | number; /** * 是否休息(0:不休息,1:休息) diff --git a/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts b/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts index 7a2bf3f4..1145a0e1 100644 --- a/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts +++ b/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts @@ -33,14 +33,22 @@ export const columns: VxeGridProps['columns'] = [ title: '班次名称', field: 'name', }, - { - title: '考勤开始时间', - field: 'startTime', - }, - { - title: '考勤结束时间', - field: 'endTime', + title: '考勤时间', + field: 'timeRange', + slots: { + default: ({ row }) => { + const startTime = row.startTime || ''; + const endTime = row.endTime || ''; + const restStartTime = row.restStartTime || ''; + const restEndTime = row.restEndTime || ''; + if(restStartTime&&restEndTime){ + return `${startTime} - ${restStartTime} ${restEndTime} - ${endTime}`; + }else{ + return `${startTime} - ${endTime}`; + } + }, + }, }, { title: '状态', @@ -106,13 +114,13 @@ export const modalSchema: FormSchemaGetter = () => [ triggerFields: ['isRest'], }, }, - // { - // label: '状态', - // fieldName: 'status', - // component: 'Select', - // componentProps: { - // options: getDictOptions('wy_state'), - // }, - // rules: 'required', - // }, + { + label: '状态', + fieldName: 'status', + component: 'Select', + componentProps: { + options: getDictOptions('wy_state'), + }, + rules: 'required', + }, ]; diff --git a/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/shift-modal.vue b/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/shift-modal.vue index a601accf..dc2ff70d 100644 --- a/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/shift-modal.vue +++ b/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/shift-modal.vue @@ -56,10 +56,12 @@ const [BasicModal, modalApi] = useVbenModal({ dayjs(record.startTime, 'HH:mm:ss'), dayjs(record.endTime, 'HH:mm:ss') ]; - record.restTimeRange = [ - dayjs(record.restStartTime, 'HH:mm:ss'), - dayjs(record.restEndTime, 'HH:mm:ss') - ]; + if(record.restStartTime !== null && record.restEndTime !== null){ + record.restTimeRange = [ + dayjs(record.restStartTime, 'HH:mm:ss'), + dayjs(record.restEndTime, 'HH:mm:ss') + ]; + } record.status = record.status?.toString(); console.log(record); await formApi.setValues(record); diff --git a/apps/web-antd/src/views/property/businessManagement/workOrderPending/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrderPending/index.vue new file mode 100644 index 00000000..85af7153 --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrderPending/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrderProcessed/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrderProcessed/index.vue new file mode 100644 index 00000000..85af7153 --- /dev/null +++ b/apps/web-antd/src/views/property/businessManagement/workOrderProcessed/index.vue @@ -0,0 +1,11 @@ + + + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts b/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts index 8c47da51..c53bb545 100644 --- a/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/data.ts @@ -96,7 +96,8 @@ export const columns: VxeGridProps['columns'] = [ width: 100, slots: { default: ({row}) => { - return renderDict(row.status, 'wy_sf'); + return row.isTimeOut ? renderDict(row.isTimeOut, 'wy_sf') : ''; + }, }, }, @@ -105,7 +106,7 @@ export const columns: VxeGridProps['columns'] = [ fixed: 'right', slots: {default: 'action'}, title: '操作', - width: 180, + width: 300, }, ]; @@ -142,38 +143,37 @@ export const modalSchema: FormSchemaGetter = () => [ // }, // rules: 'selectRequired', // }, - { - label: '派单时间', - fieldName: 'dispatchTime', - component: 'DatePicker', - componentProps: { - showTime: true, - format: 'YYYY-MM-DD HH:mm:ss', - valueFormat: 'YYYY-MM-DD HH:mm:ss', - disabledDate: disabledDate - }, - rules: 'selectRequired', - }, - { - label: '发起人', - fieldName: 'initiatorName', - component: 'ApiSelect', - formItemClass: 'col-span-2', - rules: 'selectRequired', - - }, - { - label: '处理人', - fieldName: 'handler', - component: 'ApiSelect', - formItemClass: 'col-span-2', - rules: 'selectRequired', - }, + // { + // label: '派单时间', + // fieldName: 'dispatchTime', + // component: 'DatePicker', + // componentProps: { + // showTime: true, + // format: 'YYYY-MM-DD HH:mm:ss', + // valueFormat: 'YYYY-MM-DD HH:mm:ss', + // disabledDate: disabledDate + // }, + // rules: 'selectRequired', + // }, + // { + // label: '发起人', + // fieldName: 'initiatorName', + // component: 'ApiSelect', + // formItemClass: 'col-span-2', + // rules: 'selectRequired', + // + // }, + // { + // label: '处理人', + // fieldName: 'handler', + // component: 'ApiSelect', + // formItemClass: 'col-span-2', + // rules: 'selectRequired', + // }, { label: '具体位置', fieldName: 'location', component: 'Input', - formItemClass: 'col-span-2', rules: 'selectRequired', }, { @@ -188,34 +188,66 @@ export const modalSchema: FormSchemaGetter = () => [ 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', - }, + // { + // 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', + // }, ]; const disabledDate = (current: Dayjs) => { return current && current < dayjs().endOf('day'); }; +export const ordersModalSchema: FormSchemaGetter = () => [ + { + label: 'id', + fieldName: 'id', + component: 'Input', + dependencies: { + show: () => false, + triggerFields: [''], + }, + }, + { + label: '状态', + fieldName: 'status', + component: 'Select', + componentProps: { + options: getDictOptions('wy_gdclzt'), + }, + rules: 'selectRequired', + disabled: true + }, + { + label: '处理人', + fieldName: 'handler', + component: 'ApiSelect', + formItemClass: 'col-span-2', + rules: 'selectRequired', + dependencies: { + disabled: (formValue) =>formValue.status === '2' , + triggerFields: ['status'], + }, + }, +] diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue b/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue index a3fa1dfd..fd4bd58b 100644 --- a/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/index.vue @@ -1,15 +1,12 @@ + + + diff --git a/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue b/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue index 55a0a35b..e0b8d80d 100644 --- a/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue +++ b/apps/web-antd/src/views/property/businessManagement/workOrders/work-orders-detail.vue @@ -1,14 +1,10 @@