|
@@ -3,7 +3,7 @@
|
|
|
<div class="left-box box-1">
|
|
|
<div class="box-title">我的考勤</div>
|
|
|
<div class="calendarBox">
|
|
|
- <el-calendar ref="calendar">
|
|
|
+ <el-calendar ref="calendar" v-model="calendarModel">
|
|
|
<template #header="{ date }">
|
|
|
<div class="calendarHeader">
|
|
|
<el-icon class="icon1" @click="selectDate('prev-month')"><ArrowLeftBold /></el-icon>
|
|
@@ -80,6 +80,10 @@
|
|
|
<script setup lang="ts">
|
|
|
import type { CalendarDateType, CalendarInstance } from 'element-plus'
|
|
|
import { getAssetURL } from '@/utils/auth'
|
|
|
+import moment from 'moment'
|
|
|
+import { formatDate } from '@/utils/formatTime'
|
|
|
+import * as MineApi from '@/api/oa/attendanceCenter'
|
|
|
+
|
|
|
defineOptions({ name: 'AttendanceMine' })
|
|
|
const calendar = ref<CalendarInstance>()
|
|
|
const selectDate = (val: CalendarDateType) => {
|
|
@@ -184,7 +188,47 @@ const attendSteList = ref([
|
|
|
value: '18:25'
|
|
|
}
|
|
|
])
|
|
|
-onMounted(() => {})
|
|
|
+
|
|
|
+const calendarModel = ref('')
|
|
|
+const celendarChange = (e) => {
|
|
|
+ console.log(e)
|
|
|
+}
|
|
|
+const initAjax = async (date: String) => {
|
|
|
+ let params = {
|
|
|
+ attendanceTime: date, // 考勤时间
|
|
|
+ attendanceStatus: '', // 考勤状态,示例值(2)
|
|
|
+ attendanceType: '', // 考勤类型(1:上午;2:下午),示例值(1)
|
|
|
+ otherMinute: '' // 其他考勤状态分钟(除了出勤)
|
|
|
+ }
|
|
|
+ const res = await MineApi.getAttendanceSheetListMine(params)
|
|
|
+ console.log(res)
|
|
|
+ let arr = res
|
|
|
+ arr.forEach((item) => {
|
|
|
+ item.date = moment(item.attendanceTime).format('YYYY-MM-DD')
|
|
|
+ item.attendanceTime = formatDate(item.attendanceTime, 'HH:mm:ss')
|
|
|
+ })
|
|
|
+ console.log(arr)
|
|
|
+}
|
|
|
+watch(
|
|
|
+ () => calendarModel.value,
|
|
|
+ async (val: String) => {
|
|
|
+ let newDate1 = moment(val).format('YYYY-MM-DD') + ' 00:00:00'
|
|
|
+ let newDate2 = moment(val).format('YYYY-MM-DD') + ' 23:59:59'
|
|
|
+ let dateArr: any = []
|
|
|
+ dateArr[0] = newDate1
|
|
|
+ dateArr[1] = newDate2
|
|
|
+ initAjax(dateArr)
|
|
|
+ }
|
|
|
+)
|
|
|
+
|
|
|
+onMounted(() => {
|
|
|
+ let newDate1 = moment(Date.parse(String(new Date()))).format('YYYY-MM-DD') + ' 00:00:00'
|
|
|
+ let newDate2 = moment(Date.parse(String(new Date()))).format('YYYY-MM-DD') + ' 23:59:59'
|
|
|
+ let dateArr: any = []
|
|
|
+ dateArr[0] = newDate1
|
|
|
+ dateArr[1] = newDate2
|
|
|
+ initAjax(dateArr)
|
|
|
+})
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|
|
|
h1 {
|
|
@@ -239,6 +283,10 @@ h1 {
|
|
|
.icon1 {
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
+ .title {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 600;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
.calendarInfo {
|