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 @@
@@ -62,7 +53,7 @@ async function handleOpenChange(open: boolean) {
{{orderDetail.typeName}}
- {{ orderDetail.initiatorNameText+'-'+orderDetail.initiatorPhone}}
+ {{ orderDetail.initiatorPeople }}
{{ orderDetail.dispatchTime }}
@@ -84,18 +75,21 @@ async function handleOpenChange(open: boolean) {
处理记录
-
-
- 类型:{{item.type}}
- 时间:{{item.time}}
- 处理人:{{item.personName}}
+
+
+ 类型:
+
+ 时间:{{item.createTime}}
+ 处理人:{{item.handlerName}}