|
@@ -84,7 +84,6 @@ const employeeIdMap = ref<Record<string, string>>({});
|
|
// 日期->员工姓名数组
|
|
// 日期->员工姓名数组
|
|
const scheduleMap = ref<Record<string, { id: number; names: string[] }>>({});
|
|
const scheduleMap = ref<Record<string, { id: number; names: string[] }>>({});
|
|
|
|
|
|
-
|
|
|
|
// 构建id->姓名映射
|
|
// 构建id->姓名映射
|
|
const fetchEmployeeOptions = async () => {
|
|
const fetchEmployeeOptions = async () => {
|
|
const res = await baseService.get("/emergency/employee/page");
|
|
const res = await baseService.get("/emergency/employee/page");
|
|
@@ -103,6 +102,8 @@ const buildScheduleMap = (list: any[]) => {
|
|
const ids = item.employeeIds || [];
|
|
const ids = item.employeeIds || [];
|
|
const names = ids.map((id: string) => employeeIdMap.value[id] || `员工姓名未知,id为${id}`);
|
|
const names = ids.map((id: string) => employeeIdMap.value[id] || `员工姓名未知,id为${id}`);
|
|
scheduleMap.value[day] = { id: item.id, names};
|
|
scheduleMap.value[day] = { id: item.id, names};
|
|
|
|
+ console.log(list);
|
|
|
|
+ console.log(scheduleMap.value);
|
|
}
|
|
}
|
|
};
|
|
};
|
|
import { onMounted } from 'vue'
|
|
import { onMounted } from 'vue'
|
|
@@ -110,6 +111,8 @@ onMounted(async () => {
|
|
await fetchEmployeeOptions();
|
|
await fetchEmployeeOptions();
|
|
await state.getDataList();
|
|
await state.getDataList();
|
|
buildScheduleMap(state.dataList || []);
|
|
buildScheduleMap(state.dataList || []);
|
|
|
|
+
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
// 新增按钮
|
|
// 新增按钮
|
|
@@ -133,7 +136,6 @@ const refreshAfterAdd = async () => {
|
|
selectedDates.value = [];
|
|
selectedDates.value = [];
|
|
};
|
|
};
|
|
|
|
|
|
-
|
|
|
|
const addOrUpdateRef = ref();
|
|
const addOrUpdateRef = ref();
|
|
const addOrUpdateHandle = (id?: number, date?: string, dates?: string[]) => {
|
|
const addOrUpdateHandle = (id?: number, date?: string, dates?: string[]) => {
|
|
addOrUpdateRef.value.init(id, date, dates);
|
|
addOrUpdateRef.value.init(id, date, dates);
|
|
@@ -198,6 +200,11 @@ const reviewHandle = (id?: string) => {
|
|
padding: 4px;
|
|
padding: 4px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
+.employee-name {
|
|
|
|
+ user-select: none;
|
|
|
|
+ -webkit-user-select: none;
|
|
|
|
+ -moz-user-select: none;
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
::v-deep(.el-calendar-day) {
|
|
::v-deep(.el-calendar-day) {
|