From f7258ebfaa7775f89c727a5356b851030a61ea37 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 06 三月 2026 15:13:43 +0800
Subject: [PATCH] 排班接口对接
---
src/api/personnelManagement/class.js | 19
src/views/personnelManagement/classsSheduling/index.vue | 1044 +++---------------------------------------------------
src/views/personnelManagement/attendanceCheckin/checkinRules/index.vue | 15
src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue | 19 +
4 files changed, 107 insertions(+), 990 deletions(-)
diff --git a/src/api/personnelManagement/class.js b/src/api/personnelManagement/class.js
index cdba456..f5ae299 100644
--- a/src/api/personnelManagement/class.js
+++ b/src/api/personnelManagement/class.js
@@ -5,7 +5,7 @@
// 缁╂晥绠$悊-鐝-鍒嗛〉鏌ヨ
export function page(query) {
return request({
- url: "/performanceShift/page",
+ url: "/personalShift/page",
method: "get",
params: query,
});
@@ -14,7 +14,7 @@
// 缁╂晥绠$悊-鐝-骞翠唤鍒嗛〉鏌ヨ
export function pageYear(query) {
return request({
- url: "/performanceShift/pageYear",
+ url: "/personalShift/pageYear",
method: "get",
params: query,
});
@@ -23,7 +23,7 @@
// 缁╂晥绠$悊-鐝-鎺掔彮
export function add(data) {
return request({
- url: "/performanceShift/add",
+ url: "/personalShift/add",
method: "post",
data: data,
});
@@ -68,7 +68,7 @@
// 缁╂晥绠$悊-鐝-瀵煎嚭
export function exportFile(query) {
return request({
- url: "/performanceShift/export",
+ url: "/personalShift/export",
method: "get",
params: query,
});
@@ -86,7 +86,7 @@
// 缁╂晥绠$悊-鐝-鐝鐘舵�佷慨鏀�
export function update(data) {
return request({
- url: "/performanceShift/update",
+ url: "/personalShift/update",
method: "post",
data: data,
});
@@ -105,4 +105,13 @@
url: '/system/user/userListNoPage',
method: 'get'
})
+}
+
+// 鏌ヨ鍦ㄨ亴鍛樺伐鍙拌处
+export function staffOnJobListPage(query) {
+ return request({
+ url: '/staff/staffOnJob/listPage',
+ method: 'get',
+ params: query,
+ })
}
\ No newline at end of file
diff --git a/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue b/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
index 49eafa9..a410be0 100644
--- a/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
+++ b/src/views/personnelManagement/attendanceCheckin/checkinRules/components/form.vue
@@ -28,6 +28,18 @@
:disabled="operationType === 'view'" />
</el-form-item> -->
<!-- 鎵撳崱鑼冨洿 -->
+ <el-form-item label="鐝"
+ prop="shift">
+ <el-select v-model="form.shift"
+ placeholder="璇烽�夋嫨鐝"
+ :disabled="operationType === 'view'"
+ style="width: 100%">
+ <el-option v-for="item in shifts_list"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value" />
+ </el-select>
+ </el-form-item>
<el-form-item label="鎵撳崱鑼冨洿(m)"
prop="radius">
<el-input-number v-model="form.radius"
@@ -115,6 +127,7 @@
import { Position } from "@element-plus/icons-vue";
import { deptTreeSelect } from "@/api/system/user.js";
import { addAttendanceRule } from "@/api/personnelManagement/attendanceRules.js";
+ import { useDict } from "@/utils/dict";
const props = defineProps({
modelValue: {
@@ -145,6 +158,9 @@
return "鏌ョ湅鐝";
});
+ // 鑾峰彇鐝瀛楀吀鍊�
+ const { shifts_list } = useDict("shifts_list");
+
// 琛ㄥ崟鏁版嵁
const formRef = ref();
const form = reactive({
@@ -156,6 +172,7 @@
radius: 100,
startAt: "09:00",
endAt: "18:00",
+ shift: "",
});
// 琛ㄥ崟楠岃瘉瑙勫垯
@@ -166,6 +183,7 @@
],
longitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
latitude: [{ required: true, message: "璇烽�夋嫨鎵撳崱浣嶇疆", trigger: "blur" }],
+ shift: [{ required: true, message: "璇烽�夋嫨鐝", trigger: "change" }],
radius: [{ required: true, message: "璇疯緭鍏ユ墦鍗¤寖鍥�", trigger: "blur" }],
startAt: [{ required: true, message: "璇烽�夋嫨涓婄彮鏃堕棿", trigger: "change" }],
endAt: [
@@ -405,6 +423,7 @@
radius: 100,
startAt: "09:00",
endAt: "18:00",
+ shift: "",
});
// 濡傛灉鏄紪杈戞垨鏌ョ湅锛屽~鍏呮暟鎹�
diff --git a/src/views/personnelManagement/attendanceCheckin/checkinRules/index.vue b/src/views/personnelManagement/attendanceCheckin/checkinRules/index.vue
index d84a3d0..b55ae56 100644
--- a/src/views/personnelManagement/attendanceCheckin/checkinRules/index.vue
+++ b/src/views/personnelManagement/attendanceCheckin/checkinRules/index.vue
@@ -67,6 +67,11 @@
{{ getDeptNameById(scope.row.sysDeptId) }}
</template>
</el-table-column>
+ <el-table-column label="鐝">
+ <template #default="scope">
+ {{ getShiftNameByValue(scope.row.shift) }}
+ </template>
+ </el-table-column>
<el-table-column prop="locationName"
label="鍦扮偣鍚嶇О" />
<el-table-column prop="longitude"
@@ -137,6 +142,7 @@
getAttendanceRules,
deleteAttendanceRule,
} from "@/api/personnelManagement/attendanceRules.js";
+ import { useDict } from "@/utils/dict";
const { proxy } = getCurrentInstance();
@@ -159,6 +165,8 @@
// 閮ㄩ棬閫夐」
const deptOptions = ref([]);
+ // 鑾峰彇鐝瀛楀吀鍊�
+ const { shifts_list } = useDict("shifts_list");
// 寮圭獥鎺у埗
const dialogVisible = ref(false);
@@ -175,6 +183,13 @@
).padStart(2, "0")}`;
};
+ // 鏍规嵁鐝鍊艰幏鍙栫彮娆″悕绉�
+ const getShiftNameByValue = value => {
+ if (!value) return "";
+ const shift = shifts_list.value.find(item => item.value === value);
+ return shift ? shift.label : value;
+ };
+
// 鑾峰彇閮ㄩ棬鍒楄〃
const fetchDeptOptions = () => {
deptTreeSelect().then(response => {
diff --git a/src/views/personnelManagement/classsSheduling/index.vue b/src/views/personnelManagement/classsSheduling/index.vue
index 1bd0e06..e932f50 100644
--- a/src/views/personnelManagement/classsSheduling/index.vue
+++ b/src/views/personnelManagement/classsSheduling/index.vue
@@ -36,7 +36,7 @@
@keyup.enter="refreshTable()" />
</div>
<div class="search-item">
- <el-tree-select v-model="query.deptId"
+ <el-tree-select v-model="query.sysDeptId"
:data="deptOptions"
:props="{ value: 'id', label: 'label', children: 'children' }"
value-key="id"
@@ -151,21 +151,21 @@
class="shift-dropdown">
<div class="shift-box"
:class="{
- 'shift-box-early': m.shift === '0',
- 'shift-box-mid': m.shift === '1',
- 'shift-box-night': m.shift === '2',
- 'shift-box-rest': m.shift === '3',
- 'shift-box-leave': m.shift === '4',
- 'shift-box-other': m.shift === '5',
- 'shift-box-business': m.shift === '6',
+ 'shift-box-early': m.shift === '鏃╃彮',
+ 'shift-box-mid': m.shift === '涓彮',
+ 'shift-box-night': m.shift === '澶滅彮',
+ 'shift-box-rest': m.shift === '浼戞伅',
+ 'shift-box-leave': m.shift === '璇峰亣',
+ 'shift-box-other': m.shift === '澶�11',
+ 'shift-box-business': m.shift === '澶�12',
}">
- <span class="shift-text">{{ getShiftByDic(m.shift) || '鈥�' }}</span>
+ <span class="shift-text">{{ getShiftNameByValue(m.shift) || '鈥�' }}</span>
</div>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item v-for="(n, j) in classType"
:key="'h' + j"
- :command="n.id">{{ n.locationName
+ :command="n.id">{{ n.shift || '鈥�'
}}</el-dropdown-item>
</el-dropdown-menu>
</template>
@@ -286,9 +286,9 @@
clearable
collapse-tags>
<el-option v-for="item in personList"
- :key="item.userId"
- :label="item.nickName"
- :value="item.userId">
+ :key="item.id"
+ :label="item.staffName"
+ :value="item.id">
</el-option>
</el-select>
</div>
@@ -304,7 +304,7 @@
style="width: 100%">
<el-option v-for="item in classType"
:key="item.id"
- :label="item.locationName"
+ :label="getShiftNameByValue(item.shift)"
:value="item.id">
</el-option>
</el-select>
@@ -331,21 +331,23 @@
add,
exportFile,
update,
- selectUserCondition,
+ staffOnJobListPage,
} from "@/api/personnelManagement/class";
import { deptTreeSelect } from "@/api/system/user.js";
import { getAttendanceRules } from "@/api/personnelManagement/attendanceRules.js";
+ import { useDict } from "@/utils/dict";
const { proxy } = getCurrentInstance();
const router = useRouter();
// 鏌ヨ鏉′欢
const query = reactive({
userName: "",
- deptId: "",
+ sysDeptId: "",
year: new Date(),
month: new Date().getMonth() + 1,
});
-
+ // 鑾峰彇鐝瀛楀吀鍊�
+ const { shifts_list } = useDict("shifts_list");
// 鏈堜唤閫夐」
const monthOptions = [
{ value: 1, label: "1鏈�" },
@@ -366,38 +368,7 @@
const deptOptions = ref([]);
// 鍛ㄥ垪琛�
- const weeks = ref([
- { weekNum: 1, week: "鍛ㄤ竴", day: "01" },
- { weekNum: 1, week: "鍛ㄤ簩", day: "02" },
- { weekNum: 1, week: "鍛ㄤ笁", day: "03" },
- { weekNum: 1, week: "鍛ㄥ洓", day: "04" },
- { weekNum: 1, week: "鍛ㄤ簲", day: "05" },
- { weekNum: 1, week: "鍛ㄥ叚", day: "06" },
- { weekNum: 2, week: "鍛ㄦ棩", day: "07" },
- { weekNum: 2, week: "鍛ㄤ竴", day: "08" },
- { weekNum: 2, week: "鍛ㄤ簩", day: "09" },
- { weekNum: 2, week: "鍛ㄤ笁", day: "10" },
- { weekNum: 2, week: "鍛ㄥ洓", day: "11" },
- { weekNum: 2, week: "鍛ㄤ簲", day: "12" },
- { weekNum: 2, week: "鍛ㄥ叚", day: "13" },
- { weekNum: 3, week: "鍛ㄦ棩", day: "14" },
- { weekNum: 3, week: "鍛ㄤ竴", day: "15" },
- { weekNum: 3, week: "鍛ㄤ簩", day: "16" },
- { weekNum: 3, week: "鍛ㄤ笁", day: "17" },
- { weekNum: 3, week: "鍛ㄥ洓", day: "18" },
- { weekNum: 3, week: "鍛ㄤ簲", day: "19" },
- { weekNum: 3, week: "鍛ㄥ叚", day: "20" },
- { weekNum: 4, week: "鍛ㄦ棩", day: "21" },
- { weekNum: 4, week: "鍛ㄤ竴", day: "22" },
- { weekNum: 4, week: "鍛ㄤ簩", day: "23" },
- { weekNum: 4, week: "鍛ㄤ笁", day: "24" },
- { weekNum: 4, week: "鍛ㄥ洓", day: "25" },
- { weekNum: 4, week: "鍛ㄤ簲", day: "26" },
- { weekNum: 4, week: "鍛ㄥ叚", day: "27" },
- { weekNum: 5, week: "鍛ㄦ棩", day: "28" },
- { weekNum: 5, week: "鍛ㄤ竴", day: "29" },
- { weekNum: 5, week: "鍛ㄤ簩", day: "30" },
- ]);
+ const weeks = ref([]);
// 鐝绫诲瀷
const classType = ref([]);
@@ -422,314 +393,7 @@
});
// 鍒楄〃鏁版嵁
- const listForm = ref([
- {
- id: 1,
- name: "寮犱笁",
- monthlyAttendance: {
- totalAttendance: 22,
- 鏃╃彮: 10,
- 涓彮: 8,
- 澶滅彮: 4,
- 浼戞伅: 6,
- 璇峰亣: 0,
- 鍑哄樊: 0,
- },
- day0: 10,
- day1: 8,
- day2: 4,
- day3: 6,
- day4: 0,
- day6: 0,
- list: [
- { id: 1, shift: "0" },
- { id: 2, shift: "0" },
- { id: 3, shift: "1" },
- { id: 4, shift: "1" },
- { id: 5, shift: "2" },
- { id: 6, shift: "2" },
- { id: 7, shift: "3" },
- { id: 8, shift: "0" },
- { id: 9, shift: "0" },
- { id: 10, shift: "1" },
- { id: 11, shift: "1" },
- { id: 12, shift: "2" },
- { id: 13, shift: "2" },
- { id: 14, shift: "3" },
- { id: 15, shift: "0" },
- { id: 16, shift: "0" },
- { id: 17, shift: "1" },
- { id: 18, shift: "1" },
- { id: 19, shift: "2" },
- { id: 20, shift: "2" },
- { id: 21, shift: "3" },
- { id: 22, shift: "0" },
- { id: 23, shift: "0" },
- { id: 24, shift: "1" },
- { id: 25, shift: "1" },
- { id: 26, shift: "2" },
- { id: 27, shift: "2" },
- { id: 28, shift: "3" },
- { id: 29, shift: "0" },
- { id: 30, shift: "0" },
- ],
- },
- {
- id: 2,
- name: "鏉庡洓",
- monthlyAttendance: {
- totalAttendance: 20,
- 鏃╃彮: 8,
- 涓彮: 6,
- 澶滅彮: 6,
- 浼戞伅: 8,
- 璇峰亣: 2,
- 鍑哄樊: 0,
- },
- day0: 8,
- day1: 6,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- list: [
- { id: 31, shift: "1" },
- { id: 32, shift: "1" },
- { id: 33, shift: "2" },
- { id: 34, shift: "2" },
- { id: 35, shift: "3" },
- { id: 36, shift: "0" },
- { id: 37, shift: "0" },
- { id: 38, shift: "1" },
- { id: 39, shift: "1" },
- { id: 40, shift: "2" },
- { id: 41, shift: "2" },
- { id: 42, shift: "3" },
- { id: 43, shift: "0" },
- { id: 44, shift: "0" },
- { id: 45, shift: "1" },
- { id: 46, shift: "1" },
- { id: 47, shift: "2" },
- { id: 48, shift: "2" },
- { id: 49, shift: "3" },
- { id: 50, shift: "0" },
- { id: 51, shift: "0" },
- { id: 52, shift: "4" },
- { id: 53, shift: "4" },
- { id: 54, shift: "1" },
- { id: 55, shift: "1" },
- { id: 56, shift: "2" },
- { id: 57, shift: "2" },
- { id: 58, shift: "3" },
- { id: 59, shift: "0" },
- { id: 60, shift: "0" },
- ],
- },
- {
- id: 3,
- name: "鐜嬩簲",
- monthlyAttendance: {
- totalAttendance: 23,
- 鏃╃彮: 9,
- 涓彮: 9,
- 澶滅彮: 5,
- 浼戞伅: 5,
- 璇峰亣: 0,
- 鍑哄樊: 2,
- },
- day0: 9,
- day1: 9,
- day2: 5,
- day3: 5,
- day4: 0,
- day6: 2,
- list: [
- { id: 61, shift: "2" },
- { id: 62, shift: "2" },
- { id: 63, shift: "3" },
- { id: 64, shift: "0" },
- { id: 65, shift: "0" },
- { id: 66, shift: "1" },
- { id: 67, shift: "1" },
- { id: 68, shift: "2" },
- { id: 69, shift: "2" },
- { id: 70, shift: "3" },
- { id: 71, shift: "0" },
- { id: 72, shift: "0" },
- { id: 73, shift: "1" },
- { id: 74, shift: "1" },
- { id: 75, shift: "2" },
- { id: 76, shift: "2" },
- { id: 77, shift: "3" },
- { id: 78, shift: "0" },
- { id: 79, shift: "0" },
- { id: 80, shift: "1" },
- { id: 81, shift: "1" },
- { id: 82, shift: "6" },
- { id: 83, shift: "6" },
- { id: 84, shift: "2" },
- { id: 85, shift: "2" },
- { id: 86, shift: "3" },
- { id: 87, shift: "0" },
- { id: 88, shift: "0" },
- { id: 89, shift: "1" },
- { id: 90, shift: "1" },
- ],
- },
- {
- id: 4,
- name: "寮犱笁",
- monthlyAttendance: {
- totalAttendance: 22,
- 鏃╃彮: 10,
- 涓彮: 8,
- 澶滅彮: 4,
- 浼戞伅: 6,
- 璇峰亣: 0,
- 鍑哄樊: 0,
- },
- day0: 10,
- day1: 8,
- day2: 4,
- day3: 6,
- day4: 0,
- day6: 0,
- list: [
- { id: 1, shift: "0" },
- { id: 2, shift: "0" },
- { id: 3, shift: "1" },
- { id: 4, shift: "1" },
- { id: 5, shift: "2" },
- { id: 6, shift: "2" },
- { id: 7, shift: "3" },
- { id: 8, shift: "0" },
- { id: 9, shift: "0" },
- { id: 10, shift: "1" },
- { id: 11, shift: "1" },
- { id: 12, shift: "2" },
- { id: 13, shift: "2" },
- { id: 14, shift: "3" },
- { id: 15, shift: "0" },
- { id: 16, shift: "0" },
- { id: 17, shift: "1" },
- { id: 18, shift: "1" },
- { id: 19, shift: "2" },
- { id: 20, shift: "2" },
- { id: 21, shift: "3" },
- { id: 22, shift: "0" },
- { id: 23, shift: "0" },
- { id: 24, shift: "1" },
- { id: 25, shift: "1" },
- { id: 26, shift: "2" },
- { id: 27, shift: "2" },
- { id: 28, shift: "3" },
- { id: 29, shift: "0" },
- { id: 30, shift: "0" },
- ],
- },
- {
- id: 5,
- name: "寮犱笁",
- monthlyAttendance: {
- totalAttendance: 22,
- 鏃╃彮: 10,
- 涓彮: 8,
- 澶滅彮: 4,
- 浼戞伅: 6,
- 璇峰亣: 0,
- 鍑哄樊: 0,
- },
- day0: 10,
- day1: 8,
- day2: 4,
- day3: 6,
- day4: 0,
- day6: 0,
- list: [
- { id: 1, shift: "0" },
- { id: 2, shift: "0" },
- { id: 3, shift: "1" },
- { id: 4, shift: "1" },
- { id: 5, shift: "2" },
- { id: 6, shift: "2" },
- { id: 7, shift: "3" },
- { id: 8, shift: "0" },
- { id: 9, shift: "0" },
- { id: 10, shift: "1" },
- { id: 11, shift: "1" },
- { id: 12, shift: "2" },
- { id: 13, shift: "2" },
- { id: 14, shift: "3" },
- { id: 15, shift: "0" },
- { id: 16, shift: "0" },
- { id: 17, shift: "1" },
- { id: 18, shift: "1" },
- { id: 19, shift: "2" },
- { id: 20, shift: "2" },
- { id: 21, shift: "3" },
- { id: 22, shift: "0" },
- { id: 23, shift: "0" },
- { id: 24, shift: "1" },
- { id: 25, shift: "1" },
- { id: 26, shift: "2" },
- { id: 27, shift: "2" },
- { id: 28, shift: "3" },
- { id: 29, shift: "0" },
- { id: 30, shift: "0" },
- ],
- },
- {
- id: 6,
- name: "寮犱笁",
- monthlyAttendance: {
- totalAttendance: 22,
- 鏃╃彮: 10,
- 涓彮: 8,
- 澶滅彮: 4,
- 浼戞伅: 6,
- 璇峰亣: 0,
- 鍑哄樊: 0,
- },
- day0: 10,
- day1: 8,
- day2: 4,
- day3: 6,
- day4: 0,
- day6: 0,
- list: [
- { id: 1, shift: "0" },
- { id: 2, shift: "0" },
- { id: 3, shift: "1" },
- { id: 4, shift: "1" },
- { id: 5, shift: "2" },
- { id: 6, shift: "2" },
- { id: 7, shift: "3" },
- { id: 8, shift: "0" },
- { id: 9, shift: "0" },
- { id: 10, shift: "1" },
- { id: 11, shift: "1" },
- { id: 12, shift: "2" },
- { id: 13, shift: "2" },
- { id: 14, shift: "3" },
- { id: 15, shift: "0" },
- { id: 16, shift: "0" },
- { id: 17, shift: "1" },
- { id: 18, shift: "1" },
- { id: 19, shift: "2" },
- { id: 20, shift: "2" },
- { id: 21, shift: "3" },
- { id: 22, shift: "0" },
- { id: 23, shift: "0" },
- { id: 24, shift: "1" },
- { id: 25, shift: "1" },
- { id: 26, shift: "2" },
- { id: 27, shift: "2" },
- { id: 28, shift: "3" },
- { id: 29, shift: "0" },
- { id: 30, shift: "0" },
- ],
- },
- ]);
+ const listForm = ref([]);
// 褰撳墠椤�
const currentPage = ref(1);
@@ -747,613 +411,7 @@
const monthList = ref([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]);
// 骞村害鍒楄〃
- const yearList = ref([
- {
- id: 1,
- name: "寮犱笁",
- work_time: 260,
- day0: 98,
- day1: 78,
- day2: 46,
- day3: 74,
- day4: 14,
- day6: 10,
- monthList: [
- {
- totalMonthAttendance: 22,
- day0: 10,
- day1: 8,
- day2: 4,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 19,
- day0: 7,
- day1: 6,
- day2: 6,
- day3: 9,
- day4: 3,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 9,
- day1: 9,
- day2: 5,
- day3: 5,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 0,
- day6: 1,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 18,
- day0: 6,
- day1: 6,
- day2: 6,
- day3: 8,
- day4: 4,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 0,
- day6: 1,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 19,
- day0: 7,
- day1: 7,
- day2: 5,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- ],
- },
- {
- id: 2,
- name: "鏉庡洓",
- work_time: 252,
- day0: 90,
- day1: 72,
- day2: 50,
- day3: 76,
- day4: 18,
- day6: 8,
- monthList: [
- {
- totalMonthAttendance: 21,
- day0: 9,
- day1: 7,
- day2: 5,
- day3: 7,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 18,
- day0: 6,
- day1: 6,
- day2: 6,
- day3: 10,
- day4: 4,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 8,
- day1: 8,
- day2: 6,
- day3: 6,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 6,
- day2: 7,
- day3: 8,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 17,
- day0: 5,
- day1: 5,
- day2: 7,
- day3: 9,
- day4: 5,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 0,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 6,
- day2: 7,
- day3: 8,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 18,
- day0: 6,
- day1: 6,
- day2: 6,
- day3: 9,
- day4: 3,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- ],
- },
- {
- id: 3,
- name: "鐜嬩簲",
- work_time: 268,
- day0: 102,
- day1: 82,
- day2: 48,
- day3: 70,
- day4: 10,
- day6: 14,
- monthList: [
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 24,
- day0: 10,
- day1: 9,
- day2: 5,
- day3: 4,
- day4: 0,
- day6: 3,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 8,
- day2: 5,
- day3: 5,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 24,
- day0: 10,
- day1: 9,
- day2: 5,
- day3: 4,
- day4: 0,
- day6: 3,
- },
- ],
- },
- {
- id: 4,
- name: "璧靛叚",
- work_time: 248,
- day0: 88,
- day1: 70,
- day2: 50,
- day3: 78,
- day4: 20,
- day6: 6,
- monthList: [
- {
- totalMonthAttendance: 20,
- day0: 8,
- day1: 6,
- day2: 6,
- day3: 8,
- day4: 3,
- day6: 0,
- },
- {
- totalMonthAttendance: 17,
- day0: 5,
- day1: 5,
- day2: 7,
- day3: 10,
- day4: 5,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 7,
- day1: 7,
- day2: 7,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 19,
- day0: 6,
- day1: 6,
- day2: 7,
- day3: 9,
- day4: 2,
- day6: 1,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 7,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 16,
- day0: 4,
- day1: 4,
- day2: 8,
- day3: 10,
- day4: 6,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 7,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 19,
- day0: 6,
- day1: 6,
- day2: 7,
- day3: 9,
- day4: 2,
- day6: 1,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 7,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 18,
- day0: 6,
- day1: 6,
- day2: 6,
- day3: 9,
- day4: 4,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 7,
- day2: 6,
- day3: 7,
- day4: 1,
- day6: 1,
- },
- ],
- },
- {
- id: 5,
- name: "閽变竷",
- work_time: 266,
- day0: 100,
- day1: 84,
- day2: 46,
- day3: 72,
- day4: 12,
- day6: 12,
- monthList: [
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 21,
- day0: 8,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 23,
- day0: 9,
- day1: 9,
- day2: 5,
- day3: 5,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 7,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 0,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 9,
- day1: 9,
- day2: 5,
- day3: 5,
- day4: 0,
- day6: 2,
- },
- {
- totalMonthAttendance: 22,
- day0: 9,
- day1: 8,
- day2: 5,
- day3: 6,
- day4: 1,
- day6: 1,
- },
- {
- totalMonthAttendance: 20,
- day0: 7,
- day1: 7,
- day2: 6,
- day3: 8,
- day4: 2,
- day6: 0,
- },
- {
- totalMonthAttendance: 23,
- day0: 10,
- day1: 9,
- day2: 4,
- day3: 5,
- day4: 0,
- day6: 0,
- },
- ],
- },
- ]);
+ const yearList = ref([]);
// 瀵煎嚭鍔犺浇鐘舵��
const downLoading = ref(false);
@@ -1365,6 +423,13 @@
JSON.parse(JSON.stringify(response.data))
);
});
+ };
+
+ // 鏍规嵁鐝鍊艰幏鍙栫彮娆″悕绉�
+ const getShiftNameByValue = value => {
+ if (!value) return "";
+ const shift = shifts_list.value.find(item => item.value === value);
+ return shift ? shift.label : value;
};
// 杩囨护绂佺敤鐨勯儴闂�
@@ -1386,7 +451,7 @@
yearList.value = [];
currentPage.value = 1;
query.userName = "";
- query.deptId = "";
+ query.sysDeptId = "";
query.year = new Date();
query.month = new Date().getMonth() + 1;
if (query.month) {
@@ -1455,7 +520,7 @@
current: currentPage.value,
time: year + "-" + month + "-01 00:00:00",
userName: query.userName,
- deptId: query.deptId,
+ sysDeptId: query.sysDeptId,
})
.then(res => {
pageLoading.value = false;
@@ -1494,7 +559,7 @@
current: currentPage.value,
time: year + "-01-01 00:00:00",
userName: query.userName,
- deptId: query.deptId,
+ sysDeptId: query.sysDeptId,
}).then(res => {
pageLoading.value = false;
total.value = res.data.total;
@@ -1560,8 +625,8 @@
add({
startWeek,
endWeek,
- userId: schedulingQuery.userId.join(","),
- shift: schedulingQuery.shift,
+ staffOnJobId: schedulingQuery.userId.join(","),
+ personalAttendanceLocationConfigId: schedulingQuery.shift,
})
.then(res => {
loading.value = false;
@@ -1604,7 +669,7 @@
exportFile({
time,
userName: query.userName,
- deptId: query.deptId,
+ sysDeptId: query.sysDeptId,
isMonth: query.month ? true : false,
})
.then(res => {
@@ -1627,15 +692,20 @@
};
// 澶勭悊鍛戒护
const handleCommand = (e, m) => {
- if (e != m.shift) {
- update({
- id: m.id,
- shift: e,
- }).then(res => {
- proxy.$modal.msgSuccess("鎿嶄綔鎴愬姛");
- m.shift = e;
- });
- }
+ // if (e != m.shift) {
+ update({
+ id: m.id,
+ personalAttendanceLocationConfigId: e,
+ }).then(res => {
+ proxy.$modal.msgSuccess("鎿嶄綔鎴愬姛");
+ // m.shift = e;
+ if (query.month) {
+ init();
+ } else {
+ initYear();
+ }
+ });
+ // }
};
// 鏌ヨ瑙勫垯鍒楄〃
const fetchData = () => {
@@ -1649,15 +719,19 @@
// let arr = res.data;
// personList.value = arr;
// });
- selectUserCondition().then(res => {
- let arr = res.data;
+ staffOnJobListPage({
+ current: -1,
+ size: -1,
+ staffState: 1,
+ }).then(res => {
+ let arr = res.data.records;
personList.value = arr;
});
};
// 鏍规嵁瀛楀吀鑾峰彇鏃ユ湡
const getDayByDic = e => {
- let obj = classType.value.find(m => m.locationName == e);
+ let obj = classType.value.find(m => m.shift == e);
if (obj) {
return obj.id;
}
@@ -1665,9 +739,9 @@
// 鏍规嵁瀛楀吀鑾峰彇鐝
const getShiftByDic = e => {
- let obj = classType.value.find(m => m.id == e);
+ let obj = classType.value.find(m => m.shift == e);
if (obj) {
- return obj.locationName;
+ return obj.shift;
}
return "鏃�";
};
@@ -1900,7 +974,7 @@
.user-stats {
/* display: flex; */
/* flex-wrap: wrap;
- gap: 10px; */
+ gap: 10px; */
margin-bottom: 4px;
}
--
Gitblit v1.9.3