From 44ca2cfd95cdd19b42f3bc29e538a44c5c9b70ee Mon Sep 17 00:00:00 2001
From: huangzhe <3451701311@qq.com>
Date: Tue, 19 Aug 2025 10:05:19 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=87=BD=E6=95=B0=E6=8A=BD=E7=A6=BB?=
=?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E7=95=8C=E9=9D=A2=E6=98=BE=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
抽离出提示语内容
现在提示语可随着选择的时间自由变动
---
src/views/courselibrary/CoursewareManage.vue | 44 +++++++++-----------
1 file changed, 20 insertions(+), 24 deletions(-)
diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue
index 3ab28939..9add9c13 100644
--- a/src/views/courselibrary/CoursewareManage.vue
+++ b/src/views/courselibrary/CoursewareManage.vue
@@ -803,7 +803,7 @@
@@ -1419,7 +1419,7 @@ import DropDown from "@/components/common/DropDown";
import { checkPer, checkOwner } from "@/utils/utils";
import dayjs from "dayjs";
import { duration } from "moment";
-import { DeleteOutlined, DownOutlined ,QuestionCircleOutlined } from "@ant-design/icons-vue";
+import { DeleteOutlined, DownOutlined, QuestionCircleOutlined } from "@ant-design/icons-vue";
//列表表格
const moreLine = (item) => {
@@ -5062,9 +5062,23 @@ export default defineComponent({
};
/**
- * 提示签到时间的范围
+ * 提示签到时间的范围提示语
*/
- const signDateTimeRange = ref("默认");
+ const signDateTimeRange = computed(() => {
+ const classStartTime = dayjs(state.xjkkinputV3[0])
+ const classEndTime = dayjs(state.xjkkinputV3[1])
+ const endSignTime = dayjs(classEndTime.add(1, "day").format("YYYY-MM-DD")).subtract(1, "second").format("YYYY-MM-DD HH:mm:ss")
+ const startSignTime = dayjs(classStartTime.format("YYYY-MM-DD")).format("YYYY-MM-DD HH:mm:ss")
+
+ if (signDateTimeType.value === signTimeSection.NoLimit) {
+ return `( 当前时间 至 ${endSignTime} )`
+ } else if (signDateTimeType.value === signTimeSection.OpenDay) {
+ return `( ${startSignTime} 至 ${endSignTime} )`
+ } else if (signDateTimeType.value === signTimeSection.Custom) {
+ return ""
+ }
+ return ""
+ })
function resetSignDateTime() {
signDateTimeType.value = 0;
@@ -5107,20 +5121,15 @@ export default defineComponent({
signDateTimeType.value = type;
if (type === signTimeSection.NoLimit) {
// 如果不限制,那么就是从当前时间开始,到课程结束时间结束
- signDateTimeRange.value = `( 当前时间 至 ${endSignTime} )`;
-
const diffStartTime = (dayjs(classStartTime).diff(dayjs(), "minute"))
state.beforeValue = diffStartTime <= 0 ? 0 : diffStartTime
state.afterValue = (dayjs(endSignTime).diff(classEndTime, "minute"))
console.log("before value, after value", state.beforeValue, state.afterValue)
} else if (type === signTimeSection.OpenDay) {
// 如果限制在开课时间,选项签到规则是课程创建的“面授时间”的起始时间至开课当日23时59分。
- signDateTimeRange.value = `( ${startSignTime} 至 ${endSignTime} )`;
state.afterStartValue = (dayjs(endSignTime).diff(classEndTime, "minute"))
state.beforeValue = (dayjs(classStartTime).diff(startSignTime, "minute"))
console.log("before value, after value", state.beforeValue, state.afterStartValue)
- } else if (type === signTimeSection.Custom) {
- signDateTimeRange.value = "";
}
/**
@@ -5135,8 +5144,8 @@ export default defineComponent({
/**
* 根据考勤开始前和考勤开始后的时间,切换签到时间类型
- * @param before
- * @param after
+ * @param before {number}
+ * @param after {number}
*/
function switchSignDateTimeType(before, after) {
signDateTimeType.value = 0
@@ -5150,28 +5159,15 @@ export default defineComponent({
const isLastSecond = dayjs(end).add(after, "minute").format("HH:mm:ss") === "23:59:00"
const isFirstSecond = dayjs(start).subtract(before, "minute").format("HH:mm:ss") === "00:00:00"
console.log("isLastSecond", isLastSecond, "isFirstSecond", isFirstSecond);
- console.log(dayjs(end).add(after, "minute").format("HH:mm:ss"));
- console.log(dayjs(start).subtract(before, "minute").format("HH:mm:ss"));
-
- // 面授开课时间
- const classStartTime = dayjs(state.xjkkinputV3[0])
- // 面授结束时间
- const classEndTime = dayjs(state.xjkkinputV3[1])
- const endSignTime = dayjs(dayjs(classEndTime).add(1, "day").format("YYYY-MM-DD")).subtract(1, "second").format("YYYY-MM-DD HH:mm:ss")
- const startSignTime = dayjs(dayjs(classStartTime).format("YYYY-MM-DD")).format("YYYY-MM-DD HH:mm:ss")
if (isLastSecond) {
if (isFirstSecond) {
signDateTimeType.value = signTimeSection.OpenDay
- signDateTimeRange.value = `( ${startSignTime} 至 ${endSignTime} )`;
} else {
signDateTimeType.value = signTimeSection.NoLimit
- signDateTimeRange.value = `( 当前时间 至 ${endSignTime} )`;
}
} else {
signDateTimeType.value = signTimeSection.Custom
- // state.beforeValue = before
- // state.afterValue = after
}
}
// window.dayjs = dayjs;