| | |
| | | </el-descriptions> |
| | | </el-card> --> |
| | | <div class="attendance-operation"> |
| | | <el-button @click="handleBack" |
| | | type="default" |
| | | size="small" |
| | | style="margin-right: 16px"> |
| | | <el-icon> |
| | | <ArrowLeft /> |
| | | </el-icon> |
| | | 返回排班管理 |
| | | </el-button> |
| | | <!-- 查询条件(管理员考勤日报) --> |
| | | <el-form :model="searchForm" |
| | | :inline="true" |
| | |
| | | |
| | | <script setup> |
| | | import { ref, reactive, computed, onMounted, onBeforeUnmount } from "vue"; |
| | | import { useRouter } from "vue-router"; |
| | | import { ElMessage, ElMessageBox } from "element-plus"; |
| | | import { |
| | | createPersonalAttendanceRecord, |
| | |
| | | } from "@/api/personnelManagement/personalAttendanceRecords.js"; |
| | | import Pagination from "@/components/Pagination/index.vue"; |
| | | import { deptTreeSelect } from "@/api/system/user.js"; |
| | | import { Refresh, Search } from "@element-plus/icons-vue"; |
| | | import { Refresh, Search, ArrowLeft } from "@element-plus/icons-vue"; |
| | | |
| | | const { proxy } = getCurrentInstance(); |
| | | const router = useRouter(); |
| | | const tableLoading = ref(false); |
| | | // 分页参数 |
| | | const page = reactive({ |
| | |
| | | fetchDeptOptions(); |
| | | }); |
| | | |
| | | // 返回排班管理页面 |
| | | const handleBack = () => { |
| | | router.push({ |
| | | path: "/personnelManagement/classsSheduling/index", |
| | | }); |
| | | }; |
| | | |
| | | onBeforeUnmount(() => { |
| | | if (timer) { |
| | | clearInterval(timer); |