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 a1ae216d..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
@@ -1,4 +1,5 @@
import type { PageQuery, BaseEntity } from '#/api/common';
+import {isArray} from "lodash-es";
export interface ShiftVO {
/**
@@ -24,7 +25,7 @@ export interface ShiftVO {
/**
* 状态(0:off,1:on)
*/
- status: number;
+ status: string | number;
/**
* 是否休息(0:不休息,1:休息)
@@ -40,6 +41,9 @@ export interface ShiftVO {
* 休息结束时间
*/
restEndTime: string;
+
+ attendanceTimeRange: [any,any];
+ restTimeRange: [any,any];
}
export interface ShiftForm extends BaseEntity {
@@ -66,7 +70,7 @@ export interface ShiftForm extends BaseEntity {
/**
* 状态(0:off,1:on)
*/
- status?: number;
+ status?: string | number;
/**
* 是否休息(0:不休息,1:休息)
@@ -103,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 6f6fbdd2..1145a0e1 100644
--- a/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts
+++ b/apps/web-antd/src/views/property/attendanceManagement/shiftSetting/data.ts
@@ -34,12 +34,21 @@ export const columns: VxeGridProps['columns'] = [
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: '状态',
@@ -69,6 +78,7 @@ export const modalSchema: FormSchemaGetter = () => [
label: '班次名称',
fieldName: 'name',
component: 'Input',
+ rules: 'required',
},
{
label: '考勤时间',
@@ -85,8 +95,8 @@ export const modalSchema: FormSchemaGetter = () => [
component: 'RadioGroup',
componentProps: {
options: [
- { label: '不休息', value: '0' },
- { label: '休息', value: '1' },
+ { label: '不休息', value: 0 },
+ { label: '休息', value: 1 },
],
},
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 d404aa5a..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
@@ -52,6 +52,18 @@ const [BasicModal, modalApi] = useVbenModal({
isUpdate.value = !!id;
if (isUpdate.value && id) {
const record = await shiftInfo(id);
+ record.attendanceTimeRange = [
+ dayjs(record.startTime, 'HH:mm:ss'),
+ dayjs(record.endTime, '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);
}
await markInitialized();
@@ -69,8 +81,10 @@ async function handleConfirm() {
const data = cloneDeep(await formApi.getValues());
data.startTime = dayjs(data.attendanceTimeRange[0]).format('HH:mm:ss');
data.endTime = dayjs(data.attendanceTimeRange[1]).format('HH:mm:ss');
- data.restStartTime = dayjs(data.restTimeRange[0]).format('HH:mm:ss');
- data.restEndTime = dayjs(data.restTimeRange[1]).format('HH:mm:ss');
+ if(data.restTimeRange){
+ data.restStartTime = dayjs(data.restTimeRange[0]).format('HH:mm:ss');
+ data.restEndTime = dayjs(data.restTimeRange[1]).format('HH:mm:ss');
+ }
delete data.attendanceTimeRange;
delete data.restTimeRange;
await (isUpdate.value ? shiftUpdate(data) : shiftAdd(data));
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}}