From dc0d289feb9418c594b48c2107e20f0b90bf62cc Mon Sep 17 00:00:00 2001 From: hreenshan112 Date: Fri, 24 Jan 2025 13:52:58 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=8E=92=E7=8F=AD=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E5=B7=B2=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/calendar/Calendar.ts | 20 +- src/api/calendar/config.ts | 5 + src/api/calendar/dayWeekMonthYears.ts | 46 ++ src/api/hr/org/index.ts | 23 + src/api/hr/people/index.ts | 20 +- src/api/hr/people/type.ts | 20 + src/views/hr/teams/classTime/addNewClass.vue | 223 ++++++ src/views/hr/teams/classTime/dayInfoPage.vue | 7 + src/views/hr/teams/classTime/dayPage.vue | 32 + src/views/hr/teams/classTime/editClass.vue | 1 + src/views/hr/teams/classTime/editNewClass.vue | 234 ++++++ .../hr/teams/classTime/monthInfoPage.vue | 3 +- src/views/hr/teams/classTime/monthPage.vue | 34 +- .../hr/teams/classTime/setupPollingPage.vue | 234 ++++++ .../hr/teams/classTime/setupShiftRules.vue | 4 +- .../teams/classTime/setupTimePage/dayPage.vue | 90 +++ .../classTime/setupTimePage/monthPage.vue | 10 + .../classTime/setupTimePage/quarterPage.vue | 10 + .../classTime/setupTimePage/weekPage.vue | 11 + .../classTime/setupTimePage/workTimePage.vue | 713 ++++++++++++++++++ .../classTime/setupTimePage/yearsPage.vue | 10 + src/views/hr/teams/classTime/weekInfoPage.vue | 8 +- src/views/hr/teams/classTime/weekPage.vue | 34 + src/views/hr/teams/classes.vue | 34 +- src/views/hr/teams/classes_20250121black.vue | 187 +++++ src/views/hr/teams/scheduling.vue | 60 +- 26 files changed, 2038 insertions(+), 35 deletions(-) create mode 100644 src/api/calendar/dayWeekMonthYears.ts create mode 100644 src/views/hr/teams/classTime/addNewClass.vue create mode 100644 src/views/hr/teams/classTime/editNewClass.vue create mode 100644 src/views/hr/teams/classTime/setupPollingPage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/dayPage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/monthPage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/quarterPage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/weekPage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/workTimePage.vue create mode 100644 src/views/hr/teams/classTime/setupTimePage/yearsPage.vue create mode 100644 src/views/hr/teams/classes_20250121black.vue diff --git a/src/api/calendar/Calendar.ts b/src/api/calendar/Calendar.ts index b3c4b92..5798440 100644 --- a/src/api/calendar/Calendar.ts +++ b/src/api/calendar/Calendar.ts @@ -57,11 +57,17 @@ class Calendar { } getDateParams(day: dateBase[], date: number[]) { return day.map((el, index) => { + let dayTime = new Date(el.date) + let y: any = dayTime.getFullYear(); + let m: any = dayTime.getMonth() + 1; + let d: any = dayTime.getDate(); + // console.log("获取日文----》",dayTime.getFullYear(), dayTime.getMonth()+1, dayTime.getDate()) return { title: el.title, isCurrent: el.isCurrent, value: 'tCalendar' + new Date().getTime(), isWeek: new Date(el.date).getDay() === 6 || new Date(el.date).getDay() === 0, + isWorks: DateClass.getWorks([y,m,d]), isHolidays: el.isHolidays, date: el.date, lunars: el.lunars, @@ -104,7 +110,7 @@ class Calendar { animal: DateClass.getAnimal(Number(l[0])), astro: DateClass.toAstro(y, m, w - i), term: getTerm(Number(l[0]), m, w - i), - isWeek: i === 6 || i === 7, + isWeek: w - i === 6 || w - i === 7, }); } return arr; @@ -134,7 +140,8 @@ class Calendar { lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), animal: DateClass.getAnimal(Number(l[0])), astro: DateClass.toAstro(y, m, i), - term: getTerm(Number(l[0]), m, i) + term: getTerm(Number(l[0]), m, i), + isWeek: i === 6 || i === 7, }); } return [...day, ...arr]; @@ -160,7 +167,8 @@ class Calendar { lunarDay: DateClass.getlunarDay(Number(l[0]), Number(l[1]), Number(l[2])), animal: DateClass.getAnimal(Number(l[0])), astro: DateClass.toAstro(date[0], date[1], i), - term: getTerm(Number(l[0]), date[1], i) + term: getTerm(Number(l[0]), date[1], i), + isWeek: i === 6 || i === 7, }); } return [...beforDays, ...dateArray]; @@ -256,7 +264,7 @@ class Calendar { animal: DateClass.getAnimal(Number(l[0])), astro: DateClass.toAstro(y, m, d), term: getTerm(Number(l[0]), m, d), - isWeek: i === 6 || i === 7, + isWeek: nowDayOfWeek === 6 || nowDayOfWeek === 7, }); } @@ -290,7 +298,7 @@ class Calendar { // let d: any = nextWeekFirstDaty.getDate(); // dataAry.push([y,m,d]) // } - + let nowDayOfWeek = now.getDay()==0?7:now.getDay(); //今天本周的第几天 console.log("获得一周的所有日期---------------->",dateStr,now.getDay(),day,nextWeekFirstDatysss,endTime) @@ -320,7 +328,7 @@ class Calendar { animal: DateClass.getAnimal(Number(l[0])), astro: DateClass.toAstro(y, m, d + i), term: getTerm(Number(l[0]), m, d + i), - + isWeek: nowDayOfWeek === 6 || nowDayOfWeek === 7, }); } return dateArray diff --git a/src/api/calendar/config.ts b/src/api/calendar/config.ts index eacc07e..81e7b6e 100644 --- a/src/api/calendar/config.ts +++ b/src/api/calendar/config.ts @@ -205,5 +205,10 @@ export default { '20240914', '20240929', '20241012', + '20250126', + '20250208', + '20250427', + '20250928', + '20251011', ], }; diff --git a/src/api/calendar/dayWeekMonthYears.ts b/src/api/calendar/dayWeekMonthYears.ts new file mode 100644 index 0000000..6e53f4d --- /dev/null +++ b/src/api/calendar/dayWeekMonthYears.ts @@ -0,0 +1,46 @@ +export default { + week:[ + { + id: 1, + name: "周一", + value: "", + days:"周一" + }, + { + id: 2, + name: "周二", + value: "", + days:"周二" + }, + { + id: 3, + name: "周三", + value: "", + days:"周三" + }, + { + id: 4, + name: "周四", + value: "", + days:"周四" + }, + { + id: 5, + name: "周五", + value: "", + days:"周五" + }, + { + id: 6, + name: "周六", + value: "", + days:"周六" + }, + { + id: 7, + name: "周七", + value: "", + days:"周七" + } + ] +} diff --git a/src/api/hr/org/index.ts b/src/api/hr/org/index.ts index 0548b4d..58ac199 100644 --- a/src/api/hr/org/index.ts +++ b/src/api/hr/org/index.ts @@ -252,3 +252,26 @@ export function getTeamListCont(data: searchTeamList): AxiosPromise + + + diff --git a/src/views/hr/teams/classTime/dayInfoPage.vue b/src/views/hr/teams/classTime/dayInfoPage.vue index 8829d22..74c1a43 100644 --- a/src/views/hr/teams/classTime/dayInfoPage.vue +++ b/src/views/hr/teams/classTime/dayInfoPage.vue @@ -55,8 +55,15 @@ const searchtData = (val: any, time?: any) => {
{{ col.title }}
+
{{ col.lunarsChina }}
+
+
白班
+
+ {{ itemCol.rankName }}---{{ itemCol.rulesName }} +
+
diff --git a/src/views/hr/teams/classTime/dayPage.vue b/src/views/hr/teams/classTime/dayPage.vue index 3196949..04b45ac 100644 --- a/src/views/hr/teams/classTime/dayPage.vue +++ b/src/views/hr/teams/classTime/dayPage.vue @@ -9,6 +9,7 @@ import DateClass from "@/api/calendar/DateClass"; import { dateBase } from "@/api/calendar/Calendar"; import { clockFactory } from "@/api/calendar/utils"; import { gainCalendarList } from "@/api/calendar/request"; +import { amrnWeek } from "@/api/hr/people/index"; import DayInfoPage from "@/views/hr/teams/classTime/dayInfoPage.vue"; const props = defineProps({ taDay: { @@ -17,6 +18,10 @@ const props = defineProps({ return [2024, 7, 13]; }, }, + orgId: { + type: String, + default: 0, + }, }); const curttWeek = computed(() => { // console.log("画板高度---------->",props.taDay[0]) @@ -36,6 +41,7 @@ onMounted(() => { let ddTime = DateClass.getCurrent(); selectedTime.value = ddTime[0] + "-" + clockFactory(ddTime[1]) + "-" + clockFactory(ddTime[2]); + analysisDays(); }); }); @@ -55,6 +61,32 @@ const changeDate = (time: dateBase) => { emit("getDate", time); }; const loadDay = ref(false); +/** +@ 作者: 秦东 +@ 时间: 2025-01-24 11:22:05 +@ 功能: 解析周数据 +*/ +const analysisDays = (id?: any) => { + loadDay.value = true; + let sendData = { + orgId: id ? id : props.orgId.toString() != "0" ? props.orgId.toString() : "103", + weekAllDay: [dayInfo.value], + }; + console.log("获取每天数据条件", sendData); + amrnWeek(sendData) + .then(({ data }) => { + console.log("获取每天排班", data); + dayInfo.value = data; + loadDay.value = false; + }) + .finally(() => { + loadDay.value = false; + }); +}; +//暴露出解析数据值 +defineExpose({ + analysisDays, +});