diff --git a/apps/web-antd/src/api/property/attendanceManagement/attendanceGroupSettings/model.d.ts b/apps/web-antd/src/api/property/attendanceManagement/attendanceGroupSettings/model.d.ts index 21ade3dc..940efe53 100644 --- a/apps/web-antd/src/api/property/attendanceManagement/attendanceGroupSettings/model.d.ts +++ b/apps/web-antd/src/api/property/attendanceManagement/attendanceGroupSettings/model.d.ts @@ -29,6 +29,8 @@ export interface GroupVO { attendanceList:any[]; + scheduleCycleList:any[]; + } export interface GroupForm extends BaseEntity { diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/attendance-group-detail.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/attendance-group-detail.vue index 95c1db8e..5c656941 100644 --- a/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/attendance-group-detail.vue +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/attendance-group-detail.vue @@ -65,7 +65,19 @@ async function handleOpenChange(open: boolean) { }) groupDetail.value.isAutomatic=true }else { - cycleData.value=[]; + cycleData.value=res.scheduleCycleList; + cycleData.value.forEach(item => { + if(item.shiftId){ + const shift = res.attendanceList.find(i => item.shiftId == i.id); + let str = '' + if (shift.isRest) { + str = `${shift.name}:${shift.startTime}~${shift.restStartTime} ${shift.restEndTime}~${shift.endTime}`; + } else { + str = `${shift.name}:${shift.startTime}~${shift.endTime}`; + } + item.shiftValue=str + } + }) } modalApi.modalLoading(false); } @@ -201,7 +213,7 @@ async function showHoliday() { {{ '第' + (index + 1) + '天' }} diff --git a/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/group-modal.vue b/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/group-modal.vue index 25246edf..10663dcb 100644 --- a/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/group-modal.vue +++ b/apps/web-antd/src/views/property/attendanceManagement/attendanceGroupSettings/group-modal.vue @@ -96,6 +96,20 @@ const [BasicModal, modalApi] = useVbenModal({ settingData.checkInData = record.clockDateList.filter(item => item.mustNoCheck == 1) settingData.weekdayData = record.weekList settingData.weekdayData.forEach(item => { + if (item.shiftId) { + const shift = record.attendanceList.find(i => item.shiftId == i.id); + let str = '' + if (shift.isRest) { + str = `${shift.name}:${shift.startTime}~${shift.restStartTime} ${shift.restEndTime}~${shift.endTime}`; + } else { + str = `${shift.name}:${shift.startTime}~${shift.endTime}`; + } + item.shiftValue = str + } + }) + } else { + settingData.cycleData=record.scheduleCycleList + settingData.cycleData.forEach(item => { if(item.shiftId){ const shift = record.attendanceList.find(i => item.shiftId == i.id); let str = '' @@ -107,8 +121,7 @@ const [BasicModal, modalApi] = useVbenModal({ item.shiftValue=str } }) - } else { - + shiftList.value=record.attendanceList } await formApi.setValues(record); } else { @@ -121,7 +134,7 @@ const [BasicModal, modalApi] = useVbenModal({ shiftId: null, }) }) - settingData.cycleData = [{scheduleId: ''}, {scheduleId: ''}]; + settingData.cycleData = [{shiftId: ''}, {shiftId: ''}]; } await markInitialized(); modalApi.modalLoading(false); @@ -140,7 +153,7 @@ async function handleConfirm() { if (data.attendanceType == 1) { let hasError = true; settingData.cycleData.some((item, index) => { - if (!item.scheduleId) { + if (!item.shiftId) { hasError = false message.warning('请选择周期天数对应班次。'); return; @@ -179,6 +192,8 @@ async function handleClosed() { checkInData: [], shiftId: '', }); + shiftInfo.value = undefined + shiftList.value = [] } const [HolidayCalendar, holidayApi] = useVbenModal({ @@ -236,7 +251,7 @@ function handleShiftList(list: any[]) { function addCycleHandle() { if (settingData.cycleData.length < 31) { settingData.cycleData.push({ - scheduleId: '', + shiftId: '', }) } else { message.warning('周期天数最多31天。'); @@ -476,7 +491,7 @@ function getUnCheckInData(val: any) {