From 94227d6729a9c489730435e406e3238354dec334 Mon Sep 17 00:00:00 2001 From: yaowanxin <3588231647@qq.com> Date: 星期五, 12 九月 2025 09:36:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into dev --- src/views/collaborativeApproval/attendanceManagement/index.vue | 509 +++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 359 insertions(+), 150 deletions(-) diff --git a/src/views/collaborativeApproval/attendanceManagement/index.vue b/src/views/collaborativeApproval/attendanceManagement/index.vue index 7fedb46..ce6709d 100644 --- a/src/views/collaborativeApproval/attendanceManagement/index.vue +++ b/src/views/collaborativeApproval/attendanceManagement/index.vue @@ -5,7 +5,7 @@ <el-tab-pane label="鍋囨湡璁剧疆" name="holiday"> <div class="tab-content"> <el-button type="primary" @click="openDialog('holiday', 'add')">鏂板鍋囨湡</el-button> - + <el-table :data="holidayData" border style="width: 100%; margin-top: 20px;"> <el-table-column prop="name" label="鍋囨湡鍚嶇О" /> <el-table-column prop="type" label="鍋囨湡绫诲瀷"> @@ -25,8 +25,8 @@ </el-table-column> <el-table-column label="鎿嶄綔" fixed="right"> <template #default="scope"> - <el-button type="primary" link @click="openDialog('holiday', 'edit', scope.row)">缂栬緫</el-button> - <el-button type="danger" link @click="deleteItem('holiday', scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="small" @click="openDialog('holiday', 'edit', scope.row)">缂栬緫</el-button> + <el-button type="danger" size="small" @click="deleteItem('holiday', scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -37,9 +37,13 @@ <el-tab-pane label="骞村亣璁剧疆" name="annual"> <div class="tab-content"> <el-button type="primary" @click="openDialog('annual', 'add')">鏂板骞村亣瑙勫垯</el-button> - + <el-table :data="annualData" border style="width: 100%; margin-top: 20px;"> - <el-table-column prop="employeeType" label="鍛樺伐绫诲瀷"/> + <el-table-column prop="employeeType" label="鍛樺伐绫诲瀷"> + <template #default="scope"> + <el-tag :type="getTagType(scope.row.employeeType)">{{ getTypeLabel(scope.row.employeeType) }}</el-tag> + </template> + </el-table-column> <el-table-column prop="workYears" label="宸ヤ綔骞撮檺" /> <el-table-column prop="annualDays" label="骞村亣澶╂暟" align="center" /> <el-table-column prop="maxCarryOver" label="鏈�澶х粨杞ぉ鏁�" align="center" /> @@ -52,8 +56,8 @@ </el-table-column> <el-table-column label="鎿嶄綔" fixed="right"> <template #default="scope"> - <el-button type="primary" link @click="openDialog('annual', 'edit', scope.row)">缂栬緫</el-button> - <el-button type="danger" link @click="deleteItem('annual', scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="small" @click="openDialog('annual', 'edit', scope.row)">缂栬緫</el-button> + <el-button type="danger" size="small" @click="deleteItem('annual', scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -64,7 +68,7 @@ <el-tab-pane label="鍔犵彮璁剧疆" name="overtime"> <div class="tab-content"> <el-button type="primary" @click="openDialog('overtime', 'add')">鏂板鍔犵彮瑙勫垯</el-button> - + <el-table :data="overtimeData" border style="width: 100%; margin-top: 20px;"> <el-table-column prop="name" label="瑙勫垯鍚嶇О" /> <el-table-column prop="type" label="鍔犵彮绫诲瀷" > @@ -84,8 +88,8 @@ </el-table-column> <el-table-column label="鎿嶄綔" fixed="right"> <template #default="scope"> - <el-button type="primary" link @click="openDialog('overtime', 'edit', scope.row)">缂栬緫</el-button> - <el-button type="danger" link @click="deleteItem('overtime', scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="small" @click="openDialog('overtime', 'edit', scope.row)">缂栬緫</el-button> + <el-button type="danger" size="small" @click="deleteItem('overtime', scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -96,15 +100,15 @@ <el-tab-pane label="涓婄彮鏃堕棿璁剧疆" name="worktime"> <div class="tab-content"> <el-button type="primary" @click="openDialog('worktime', 'add')">鏂板鏃堕棿娈�</el-button> - + <el-table :data="worktimeData" border style="width: 100%; margin-top: 20px;"> <el-table-column prop="name" label="鏃堕棿娈靛悕绉�" /> <el-table-column prop="startTime" label="涓婄彮鏃堕棿"/> <el-table-column prop="endTime" label="涓嬬彮鏃堕棿" /> <el-table-column prop="flexibleStart" label="寮规�т笂鐝�"> <template #default="scope"> - <el-tag :type="scope.row.flexibleStart ? 'success' : 'info'"> - {{ scope.row.flexibleStart ? '鏄�' : '鍚�' }} + <el-tag :type="scope.row.flexibleStart === 'true' ? 'success' : 'info'"> + {{ scope.row.flexibleStart === 'true' ? '鏄�' : '鍚�' }} </el-tag> </template> </el-table-column> @@ -118,8 +122,8 @@ </el-table-column> <el-table-column label="鎿嶄綔" fixed="right"> <template #default="scope"> - <el-button type="primary" link @click="openDialog('worktime', 'edit', scope.row)">缂栬緫</el-button> - <el-button type="danger" link @click="deleteItem('worktime', scope.row)">鍒犻櫎</el-button> + <el-button type="primary" size="small" @click="openDialog('worktime', 'edit', scope.row)">缂栬緫</el-button> + <el-button type="danger" size="small" @click="deleteItem('worktime', scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> @@ -133,23 +137,29 @@ <el-form-item label="鍚嶇О" prop="name" v-if="currentType !== 'annual'"> <el-input v-model="form.name" placeholder="璇疯緭鍏ュ悕绉�" /> </el-form-item> - + <el-form-item label="绫诲瀷" prop="type" v-if="currentType === 'holiday' || currentType === 'overtime'"> <el-select v-model="form.type" placeholder="璇烽�夋嫨绫诲瀷" style="width: 100%"> - <el-option - v-for="option in getTypeOptions()" - :key="option.value" - :label="option.label" - :value="option.value" + <el-option + v-for="option in getTypeOptions()" + :key="option.value" + :label="option.label" + :value="option.value" /> </el-select> </el-form-item> <el-form-item label="鍛樺伐绫诲瀷" prop="employeeType" v-if="currentType === 'annual'"> <el-select v-model="form.employeeType" placeholder="璇烽�夋嫨鍛樺伐绫诲瀷" style="width: 100%"> - <el-option label="姝e紡鍛樺伐" value="regular" /> + <!-- <el-option label="姝e紡鍛樺伐" value="regular" /> <el-option label="璇曠敤鏈熷憳宸�" value="probation" /> - <el-option label="瀹炰範鐢�" value="intern" /> + <el-option label="瀹炰範鐢�" value="intern" /> --> + <el-option + v-for="option in getTypeOptions()" + :key="option.value" + :label="option.label" + :value="option.value" + /> </el-select> </el-form-item> @@ -191,7 +201,7 @@ @change="validateTimeField('startTime')" /> </el-form-item> - + <el-form-item label="缁撴潫鏃堕棿" prop="endTime" v-if="currentType === 'overtime'"> <el-time-picker v-model="form.endTime" @@ -237,14 +247,14 @@ <el-input-number v-model="form.flexibleMinutes" :min="0" :max="120" style="width: 100%" /> </el-form-item> - <el-form-item label="鐘舵��" prop="status"> + <el-form-item label="鐘舵��" prop="status"> <el-radio-group v-model="form.status"> <el-radio value="active">鍚敤</el-radio> <el-radio value="inactive">鍋滅敤</el-radio> </el-radio-group> </el-form-item> </el-form> - + <template #footer> <span class="dialog-footer"> <el-button @click="dialogVisible = false">鍙栨秷</el-button> @@ -258,6 +268,7 @@ <script setup> import { ref, reactive, onMounted, onUnmounted } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' +import { listHolidaySettings, addHolidaySettings, updateHolidaySettings, delHolidaySettings, listAnnualLeaveSettingList, addAnnualLeaveSetting, updateAnnualLeaveSetting, delAnnualLeaveSetting, listOvertimeSettingList, addOvertimeSetting, updateOvertimeSetting, delOvertimeSetting, listWorkingHoursSettingList, addWorkingHoursSetting, updateWorkingHoursSetting, delWorkingHoursSetting } from '@/api/collaborativeApproval/attendanceManagement.js' // 褰撳墠婵�娲荤殑鏍囩椤� const activeTab = ref('holiday') @@ -269,12 +280,23 @@ const currentAction = ref('') const currentEditId = ref('') const formRef = ref() +const page = { + current: 1, + size: 20, + total: 0, + } +const holidayData = ref([]) +const annualData = ref([]) +const overtimeData = ref([]) +const worktimeData = ref([]) // 琛ㄥ崟鏁版嵁 const form = reactive({ name: '', type: '', dateRange: [], + startDate: '', + endDate: '', days: 0, employeeType: '', workYears: '', @@ -300,9 +322,9 @@ workYears: [{ required: true, message: '璇疯緭鍏ュ伐浣滃勾闄�', trigger: 'blur' }], annualDays: [{ required: true, message: '璇疯緭鍏ュ勾鍋囧ぉ鏁�', trigger: 'blur' }], maxCarryOver: [{ required: true, message: '璇疯緭鍏ユ渶澶х粨杞ぉ鏁�', trigger: 'blur' }], - startTime: [{ - required: true, - message: '璇烽�夋嫨寮�濮嬫椂闂�', + startTime: [{ + required: true, + message: '璇烽�夋嫨寮�濮嬫椂闂�', trigger: 'change', validator: (rule, value, callback) => { if (!value) { @@ -312,9 +334,9 @@ } } }], - endTime: [{ - required: true, - message: '璇烽�夋嫨缁撴潫鏃堕棿', + endTime: [{ + required: true, + message: '璇烽�夋嫨缁撴潫鏃堕棿', trigger: 'change', validator: (rule, value, callback) => { if (!value) { @@ -324,9 +346,9 @@ } } }], - workStartTime: [{ - required: true, - message: '璇烽�夋嫨涓婄彮鏃堕棿', + workStartTime: [{ + required: true, + message: '璇烽�夋嫨涓婄彮鏃堕棿', trigger: 'change', validator: (rule, value, callback) => { if (!value) { @@ -336,9 +358,9 @@ } } }], - workEndTime: [{ - required: true, - message: '璇烽�夋嫨涓嬬彮鏃堕棿', + workEndTime: [{ + required: true, + message: '璇烽�夋嫨涓嬬彮鏃堕棿', trigger: 'change', validator: (rule, value, callback) => { if (!value) { @@ -350,37 +372,12 @@ }], rate: [{ required: true, message: '璇疯緭鍏ュ�嶇巼', trigger: 'blur' }] } - -// 妯℃嫙鏁版嵁 -const holidayData = ref([ - { id: '1', name: '鏄ヨ妭', type: 'legal', startDate: '2025-02-10', endDate: '2025-02-17', days: 8, status: 'active' }, - { id: '2', name: '娓呮槑鑺�', type: 'legal', startDate: '2025-04-05', endDate: '2025-04-05', days: 1, status: 'active' }, - { id: '3', name: '鍔冲姩鑺�', type: 'legal', startDate: '2025-05-01', endDate: '2025-05-05', days: 5, status: 'active' } -]) - -const annualData = ref([ - { id: '1', employeeType: 'regular', workYears: '1-3骞�', annualDays: 5, maxCarryOver: 2, status: 'active' }, - { id: '2', employeeType: 'regular', workYears: '3-5骞�', annualDays: 10, maxCarryOver: 5, status: 'active' }, - { id: '3', employeeType: 'regular', workYears: '5骞翠互涓�', annualDays: 15, maxCarryOver: 10, status: 'active' } -]) - -const overtimeData = ref([ - { id: '1', name: '宸ヤ綔鏃ュ姞鐝�', type: 'weekday', startTime: '18:00', endTime: '22:00', rate: 1.5, status: 'active' }, - { id: '2', name: '鍛ㄦ湯鍔犵彮', type: 'weekend', startTime: '09:00', endTime: '18:00', rate: 2.0, status: 'active' }, - { id: '3', name: '娣卞鍔犵彮', type: 'night', startTime: '22:00', endTime: '06:00', rate: 2.5, status: 'active' } -]) - -const worktimeData = ref([ - { id: '1', name: '鏍囧噯宸ヤ綔鏃堕棿', startTime: '09:00', endTime: '18:00', flexibleStart: true, flexibleMinutes: 30, status: 'active' }, - { id: '2', name: '鏃╃彮鏃堕棿', startTime: '08:00', endTime: '17:00', flexibleStart: false, flexibleMinutes: 0, status: 'active' }, - { id: '3', name: '鏅氱彮鏃堕棿', startTime: '14:00', endTime: '23:00', flexibleStart: false, flexibleMinutes: 0, status: 'active' } -]) - // 宸ュ叿鍑芥暟 const getTagType = (type) => { const tagMap = { legal: 'success', adjustment: 'warning', special: 'info', company: 'primary', - weekday: 'primary', weekend: 'warning', holiday: 'danger', night: 'info' + weekday: 'primary', weekend: 'warning', holiday: 'danger', night: 'info', + regular: 'success', probation: 'info', intern: 'danger' } return tagMap[type] || 'info' } @@ -388,7 +385,8 @@ const getTypeLabel = (type) => { const labelMap = { legal: '娉曞畾鑺傚亣鏃�', adjustment: '璋冧紤鏃�', special: '鐗规畩鍋囨湡', company: '鍏徃鍋囨湡', - weekday: '宸ヤ綔鏃ュ姞鐝�', weekend: '鍛ㄦ湯鍔犵彮', holiday: '鑺傚亣鏃ュ姞鐝�', night: '娣卞鍔犵彮' + weekday: '宸ヤ綔鏃ュ姞鐝�', weekend: '鍛ㄦ湯鍔犵彮', holiday: '鑺傚亣鏃ュ姞鐝�', night: '娣卞鍔犵彮', + regular: '姝e紡鍛樺伐', probation: '璇曠敤鏈熷憳宸�', intern: '瀹炰範鐢�' } return labelMap[type] || type } @@ -408,6 +406,12 @@ { label: '鑺傚亣鏃ュ姞鐝�', value: 'holiday' }, { label: '娣卞鍔犵彮', value: 'night' } ] + } else if (currentType.value === 'annual') { + return [ + { label: '姝e紡鍛樺伐', value: 'regular' }, + { label: '璇曠敤鏈熷憳宸�', value: 'probation' }, + { label: '瀹炰範鐢�', value: 'intern' } + ] } return [] } @@ -418,12 +422,14 @@ if (form.dateRange && form.dateRange.length === 2 && form.dateRange[0] && form.dateRange[1]) { const start = new Date(form.dateRange[0]) const end = new Date(form.dateRange[1]) - + form.startDate = start.toISOString().split('T')[0] + form.endDate = end.toISOString().split('T')[0] + if (isNaN(start.getTime()) || isNaN(end.getTime())) { console.warn('鏃犳晥鐨勬棩鏈熸牸寮�') return } - + const diffTime = Math.abs(end - start) const diffDays = Math.ceil(diffTime / (1000 * 60 * 60 * 24)) + 1 form.days = diffDays @@ -434,14 +440,14 @@ } // 楠岃瘉鏃堕棿鏍煎紡 -const validateTime = (time) => { - if (!time) return '' - if (typeof time === 'string') return time - if (time instanceof Date) { - return time.toTimeString().slice(0, 5) - } - return '' -} +// const validateTime = (time) => { +// if (!time) return '' +// if (typeof time === 'string') return time +// if (time instanceof Date) { +// return time.toTimeString().slice(0, 5) +// } +// return '' +// } // 楠岃瘉鏃堕棿瀛楁 const validateTimeField = (fieldName) => { @@ -464,7 +470,7 @@ try { currentType.value = type currentAction.value = action - + if (action === 'add') { dialogTitle.value = `鏂板${getTypeName(type)}` currentEditId.value = '' @@ -474,7 +480,7 @@ currentEditId.value = row.id fillForm(row) } - + dialogVisible.value = true } catch (error) { console.error('鎵撳紑寮圭獥澶辫触:', error) @@ -497,6 +503,8 @@ name: '', type: '', dateRange: [], + startDate: '', + endDate: '', days: 0, employeeType: '', workYears: '', @@ -519,6 +527,8 @@ name: row.name, type: row.type, dateRange: [new Date(row.startDate), new Date(row.endDate)], + startDate: row.startDate, + endDate: row.endDate, days: row.days, status: row.status }) @@ -558,15 +568,15 @@ ElMessage.error('琛ㄥ崟寮曠敤涓嶅瓨鍦�') return } - + await formRef.value.validate() - + if (currentAction.value === 'add') { addItem() } else if (currentAction.value === 'edit') { editItem() } - + dialogVisible.value = false ElMessage.success('鎿嶄綔鎴愬姛') } catch (error) { @@ -576,84 +586,190 @@ } const addItem = () => { - const newItem = { ...form, id: Date.now().toString() } - + if (currentType.value === 'holiday') { - newItem.startDate = form.dateRange[0].toISOString().split('T')[0] - newItem.endDate = form.dateRange[1].toISOString().split('T')[0] - holidayData.value.push(newItem) + const params = { + name: form.name, + type: form.type, + startDate: form.startDate, + endDate: form.endDate, + days: form.days, + status: form.status + } + addHolidaySettings(params).then(res => { + if(res.code == 200){ + ElMessage.success("娣诲姞鎴愬姛"); + // dialogVisible.value = false; + getHolidaySettingsList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) } else if (currentType.value === 'annual') { - annualData.value.push(newItem) + // annualData.value.push(newItem) + const params = { + employeeType: form.employeeType, + workYears: form.workYears, + annualDays: form.annualDays, + maxCarryOver: form.maxCarryOver, + status: form.status + } + addAnnualLeaveSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("娣诲姞鎴愬姛"); + // dialogVisible.value = false; + getAnnualLeaveSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) } else if (currentType.value === 'overtime') { - newItem.startTime = form.startTime || '' - newItem.endTime = form.endTime || '' - overtimeData.value.push(newItem) + const params = { + name: form.name, + type: form.type, + startTime: form.startTime || '', + endTime: form.endTime || '', + rate: form.rate, + status: form.status + } + addOvertimeSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("娣诲姞鎴愬姛"); + // dialogVisible.value = false; + getOvertimeSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + // newItem.startTime = form.startTime || '' + // newItem.endTime = form.endTime || '' + // overtimeData.value.push(newItem) } else if (currentType.value === 'worktime') { - newItem.startTime = form.workStartTime || '' - newItem.endTime = form.workEndTime || '' - worktimeData.value.push(newItem) + const params = { + name: form.name, + startTime: form.workStartTime || '', + endTime: form.workEndTime || '', + flexibleStart: form.flexibleStart, + flexibleMinutes: form.flexibleMinutes, + status: form.status + } + addWorkingHoursSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("娣诲姞鎴愬姛"); + getWorkingHoursSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + // newItem.startTime = form.workStartTime || '' + // newItem.endTime = form.workEndTime || '' + // worktimeData.value.push(newItem) } } const editItem = () => { let dataArray let index - + if (currentType.value === 'holiday') { - dataArray = holidayData.value - index = dataArray.findIndex(item => item.id === currentEditId.value) - if (index > -1) { - dataArray[index] = { - ...dataArray[index], - name: form.name, - type: form.type, - startDate: form.dateRange[0].toISOString().split('T')[0], - endDate: form.dateRange[1].toISOString().split('T')[0], - days: form.days, - status: form.status - } + const params = { + id: currentEditId.value, + name: form.name, + type: form.type, + startDate: form.dateRange[0].toISOString().split('T')[0], + endDate: form.dateRange[1].toISOString().split('T')[0], + days: form.days, + status: form.status } + updateHolidaySettings(params).then(res => { + if(res.code == 200){ + ElMessage.success("鏇存柊鎴愬姛"); + // dialogVisible.value = false; + getHolidaySettingsList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) } else if (currentType.value === 'annual') { - dataArray = annualData.value - index = dataArray.findIndex(item => item.id === currentEditId.value) - if (index > -1) { - dataArray[index] = { - ...dataArray[index], - employeeType: form.employeeType, - workYears: form.workYears, - annualDays: form.annualDays, - maxCarryOver: form.maxCarryOver, - status: form.status - } + const params = { + id: currentEditId.value, + employeeType: form.employeeType, + workYears: form.workYears, + annualDays: form.annualDays, + maxCarryOver: form.maxCarryOver, + status: form.status } + updateAnnualLeaveSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("鏇存柊鎴愬姛"); + getAnnualLeaveSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) } else if (currentType.value === 'overtime') { - dataArray = overtimeData.value - index = dataArray.findIndex(item => item.id === currentEditId.value) - if (index > -1) { - dataArray[index] = { - ...dataArray[index], - name: form.name, - type: form.type, - startTime: form.startTime || '', - endTime: form.endTime || '', - rate: form.rate, - status: form.status - } + const params = { + id: currentEditId.value, + name: form.name, + type: form.type, + startTime: form.startTime || '', + endTime: form.endTime || '', + rate: form.rate, + status: form.status } + updateOvertimeSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("鏇存柊鎴愬姛"); + getOvertimeSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + + // dataArray = overtimeData.value + // index = dataArray.findIndex(item => item.id === currentEditId.value) + // if (index > -1) { + // dataArray[index] = { + // ...dataArray[index], + // name: form.name, + // type: form.type, + // startTime: form.startTime || '', + // endTime: form.endTime || '', + // rate: form.rate, + // status: form.status + // } + // } } else if (currentType.value === 'worktime') { - dataArray = worktimeData.value - index = dataArray.findIndex(item => item.id === currentEditId.value) - if (index > -1) { - dataArray[index] = { - ...dataArray[index], - name: form.name, - startTime: form.workStartTime || '', - endTime: form.workEndTime || '', - flexibleStart: form.flexibleStart, - flexibleMinutes: form.flexibleMinutes, - status: form.status - } + const params = { + id: currentEditId.value, + name: form.name, + startTime: form.workStartTime || '', + endTime: form.workEndTime || '', + flexibleStart: form.flexibleStart, + flexibleMinutes: form.flexibleMinutes, + status: form.status } + updateWorkingHoursSetting(params).then(res => { + if(res.code == 200){ + ElMessage.success("鏇存柊鎴愬姛"); + getWorkingHoursSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + // dataArray = worktimeData.value + // index = dataArray.findIndex(item => item.id === currentEditId.value) + // if (index > -1) { + // dataArray[index] = { + // ...dataArray[index], + // name: form.name, + // startTime: form.workStartTime || '', + // endTime: form.workEndTime || '', + // flexibleStart: form.flexibleStart, + // flexibleMinutes: form.flexibleMinutes, + // status: form.status + // } + // } } } @@ -664,21 +780,114 @@ cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { + let ids = []; let dataArray - if (type === 'holiday') dataArray = holidayData.value - else if (type === 'annual') dataArray = annualData.value - else if (type === 'overtime') dataArray = overtimeData.value - else if (type === 'worktime') dataArray = worktimeData.value - - const index = dataArray.findIndex(item => item.id === row.id) - if (index > -1) { - dataArray.splice(index, 1) - ElMessage.success('鍒犻櫎鎴愬姛') + if (type === 'holiday') { + ids.push(row.id) + delHolidaySettings(ids).then(res => { + if(res.code == 200){ + ElMessage.success("鍒犻櫎鎴愬姛"); + ids = [] + getHolidaySettingsList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) } + else if (type === 'annual') { + ids.push(row.id) + delAnnualLeaveSetting(ids).then(res => { + if(res.code == 200){ + ElMessage.success("鍒犻櫎鎴愬姛"); + ids = [] + getAnnualLeaveSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + } + else if (type === 'overtime') { + ids.push(row.id) + delOvertimeSetting(ids).then(res => { + if(res.code == 200){ + ElMessage.success("鍒犻櫎鎴愬姛"); + ids = [] + getOvertimeSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + } + else if (type === 'worktime') { + ids.push(row.id) + delWorkingHoursSetting(ids).then(res => { + if(res.code == 200){ + ElMessage.success("鍒犻櫎鎴愬姛"); + ids = [] + getWorkingHoursSettingList() + } + }).catch(err => { + ElMessage.error(err.msg); + }) + } + + // const index = dataArray.findIndex(item => item.id === row.id) + // if (index > -1) { + // dataArray.splice(index, 1) + // ElMessage.success('鍒犻櫎鎴愬姛') + // } }) } +// 鑾峰彇鍋囨湡璁剧疆鍒楄〃 +const getHolidaySettingsList = () => { + // tableLoading.value = true; + listHolidaySettings({...page.value}) + .then(res => { + // tableLoading.value = false; + holidayData.value = res.data.records + page.total = res.data.total; + }).catch(err => { + // tableLoading.value = false; + }) +}; +// 鑾峰彇骞村亣瑙勫垯鍒楄〃 +const getAnnualLeaveSettingList = () => { + listAnnualLeaveSettingList({...page.value}) + .then(res => { + // console.log(res.data) + annualData.value = res.data.records + page.total = res.data.total; + }).catch(err => { + }) +}; +// 鑾峰彇鍔犵彮瑙勫垯鍒楄〃 +const getOvertimeSettingList = () => { + + listOvertimeSettingList({...page.value}) + .then(res => { + // console.log(res.data) + overtimeData.value = res.data.records + page.total = res.data.total; + }).catch(err => { + }) +}; +// 鑾峰彇宸ヤ綔鏃堕棿瑙勫垯鍒楄〃 +const getWorkingHoursSettingList = () => { + + listWorkingHoursSettingList({...page.value}) + .then(res => { + // console.log(res.data) + worktimeData.value = res.data.records + page.total = res.data.total; + }).catch(err => { + }) +}; onMounted(() => { + getHolidaySettingsList() + getAnnualLeaveSettingList() + getOvertimeSettingList() + getWorkingHoursSettingList() console.log('鑰冨嫟绠$悊椤甸潰鍔犺浇瀹屾垚') }) -- Gitblit v1.9.3