diff --git a/src/api/base/server.ts b/src/api/base/server.ts
index 47822ba..7908ec9 100644
--- a/src/api/base/server.ts
+++ b/src/api/base/server.ts
@@ -41,6 +41,11 @@ export const fractionRuleApi1 = async () => {
);
};
+// 查询教师信息
+export const jsdfindJsByPhoneApi = async (params: any) => {
+ return await get("/api/js/findJsByPhone", params);
+};
+
// 选课列表
export const jsdXkListApi = async (params: any) => {
return await get("/mobile/js/xk/list", params);
diff --git a/src/api/system/config/index.ts b/src/api/system/config/index.ts
new file mode 100644
index 0000000..3e9f696
--- /dev/null
+++ b/src/api/system/config/index.ts
@@ -0,0 +1,6 @@
+import { get, post } from "@/utils/request";
+
+//字典接口
+export const dmBeforeMinuteApi = async () => {
+ return await get("/api/comConfig/getDmBeforeMinute");
+};
\ No newline at end of file
diff --git a/src/pages.json b/src/pages.json
index 72ef592..6711c53 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -385,16 +385,16 @@
}
},
{
- "path": "pages/base/groupTeaching/zhujiao",
+ "path": "pages/base/groupTeaching/xkList",
"style": {
- "navigationBarTitleText": "zhujiao",
+ "navigationBarTitleText": "选课列表",
"enablePullDownRefresh": false
}
},
{
- "path": "pages/base/groupTeaching/zhujiaoDetails",
+ "path": "pages/base/groupTeaching/xkkcDetail",
"style": {
- "navigationBarTitleText": "zhujiaoDetails"
+ "navigationBarTitleText": "选课课程详情"
}
},
{
@@ -412,7 +412,13 @@
}
},
{
- "path": "pages/base/groupTeaching/studentRollCall",
+ "path": "pages/base/groupTeaching/dmXkList",
+ "style": {
+ "navigationBarTitleText": "选课列表"
+ }
+ },
+ {
+ "path": "pages/base/groupTeaching/dmXkkcDetail",
"style": {
"navigationBarTitleText": "学生点名",
"enablePullDownRefresh": false
diff --git a/src/pages/base/groupTeaching/dmXkList.vue b/src/pages/base/groupTeaching/dmXkList.vue
new file mode 100644
index 0000000..0d544d9
--- /dev/null
+++ b/src/pages/base/groupTeaching/dmXkList.vue
@@ -0,0 +1,525 @@
+
+
+
+
+
+
+
+
+
+
+ {{ xkkc.kcmc }}
+
+ 上课周期类型:
+ {{ xkkc.skzqlx }}
+
+
+ 上课周期:
+ {{ xkkc.skzqmc }}
+
+
+ 上课开始时间:
+ {{ xkkc.skkstime }}
+
+
+ 上课结束时间:
+ {{ xkkc.skjstime }}
+
+
+ 开课地点:
+ {{ xkkc.kcdd }}
+
+
+ 上课人数:
+ {{ xkkc.hasNum || 0 }} | {{ xkkc.maxNum || 0 }}
+
+
+ 点名
+
+
+
+
+
+
+
+
+
+ 暂无课程数据
+
+
+
+
+
+
+
+
+
+
+
+ {{ xk.xkmc }}
+ {{ xk.xkmc }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/base/groupTeaching/studentRollCall.vue b/src/pages/base/groupTeaching/dmXkkcDetail.vue
similarity index 86%
rename from src/pages/base/groupTeaching/studentRollCall.vue
rename to src/pages/base/groupTeaching/dmXkkcDetail.vue
index 22b7204..86afac4 100644
--- a/src/pages/base/groupTeaching/studentRollCall.vue
+++ b/src/pages/base/groupTeaching/dmXkkcDetail.vue
@@ -47,13 +47,13 @@
- {{ xs.xm }}
+ {{ xs.xsxm }}
{
};
// 获取学生状态选项
-const fetchStatusOptions = async () => {
+const loadStatusOptions = async () => {
try {
// 假设字典表中考勤状态的pid为763939514,根据实际情况修改
const res = await dicApi({pid: 763939514});
@@ -177,9 +177,45 @@ const fetchStatusOptions = async () => {
}
};
+const loadXsList = async () => {
+ const res = await jsdXkXsListApi({
+ xkkcId: xkkc.value.id
+ });
+ if (res && res.resultCode === 1) {
+ xsList.value = res.result || [];
+ let sd = 0;
+ let qj = 0;
+ let qq = 0;
+ // 循环统计状态对应的人数
+ for (let i = 0; i < xsList.value.length; i++) {
+ const xs = xsList.value[i];
+ switch (xs.xszt) {
+ case "正常":
+ sd++;
+ break;
+ case "请假":
+ qj++;
+ break;
+ case "缺勤":
+ qq++;
+ break;
+ default:
+ break;
+ }
+ }
+ numInfo.value = {
+ zg: xsList.value.length,
+ yd: xsList.value.length - qj,
+ sd: sd,
+ qj: qj,
+ qq: qj
+ };
+ }
+};
+
// 打开状态选择器
-const openStatusPicker = (student: any) => {
- curXs.value = student;
+const openStatusPicker = (xs: any) => {
+ curXs.value = xs;
statusPickerVisible.value = true;
};
@@ -187,12 +223,12 @@ const openStatusPicker = (student: any) => {
const confirmStatus = (e: any) => {
if (curXs.value && e.value && e.value[0]) {
const selectedStatus = statusOptions.value.find(
- (option: any) => option.value === e.value[0]
+ (option: any) => option.value === e.value[0].value
);
if (selectedStatus) {
// 更新当前学生状态
- curXs.value.status = selectedStatus.text;
+ curXs.value.xszt = selectedStatus.text;
}
}
statusPickerVisible.value = false;
@@ -215,7 +251,13 @@ const contactParent = (student: any) => {
};
// 提交数据
-const submit = () => {
+const submit = async () => {
+ const res = await jsdXkdmListApi({
+ jsId: js.value.id,
+ xkkcId: xkkc.value.id,
+ dmtime: now,
+ xkdmList: xsList.value
+ });
uni.showToast({
title: "提交成功",
icon: "success",
@@ -223,8 +265,9 @@ const submit = () => {
};
// 页面加载时获取状态选项
-onMounted(() => {
- fetchStatusOptions();
+onMounted(async () => {
+ await loadXsList();
+ await loadStatusOptions();
});
diff --git a/src/pages/base/groupTeaching/zhujiao.vue b/src/pages/base/groupTeaching/xkList.vue
similarity index 81%
rename from src/pages/base/groupTeaching/zhujiao.vue
rename to src/pages/base/groupTeaching/xkList.vue
index 8a5159f..3282d34 100644
--- a/src/pages/base/groupTeaching/zhujiao.vue
+++ b/src/pages/base/groupTeaching/xkList.vue
@@ -45,7 +45,6 @@
详情
- 点名
@@ -98,7 +97,6 @@ import dayjs from "dayjs";
const { getJs } = useUserStore();
const { getData, setData } = useDataStore();
-const { sign_file } = getData;
const wdNameList = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"];
@@ -119,29 +117,24 @@ onMounted(() => {
});
// 加载课程列表
-const loadCourseList = () => {
+const loadCourseList = async () => {
uni.showLoading({
title: "加载中...",
});
- jsdXkListApi({
+ const res = await jsdXkListApi({
jsId: getJs.id
- })
- .then((res) => {
- if (res.resultCode == 1) {
- if (res.result && res.result.length) {
- xkList.value = res.result;
- switchXk(res.result[0]);
- } else {
- xkList.value = [];
- xkData.value = {};
- xkkcList.value = [];
- }
- uni.hideLoading();
- }
- })
- .catch(() => {
- uni.hideLoading();
- });
+ });
+ if (res.resultCode == 1) {
+ if (res.result && res.result.length) {
+ xkList.value = res.result;
+ switchXk(res.result[0]);
+ } else {
+ xkList.value = [];
+ xkData.value = {};
+ xkkcList.value = [];
+ }
+ }
+ uni.hideLoading();
};
// 显示选课选择器
@@ -155,43 +148,26 @@ function clickShowXkSelector() {
function switchXk(xk: any) {
xkData.value = xk;
xkkcList.value = xk.xkkcs;
- const now = dayjs();
- let wDay = now.day();
- if (wDay === 0) {
- wDay = 7;
- }
- let mDay = now.date();
- const strDate = now.format('YYYY-MM-DD') + ' ';
- for (let i = 0; i < xk.xkkcs.length; i++) {
- let xkkc = xk.xkkcs[i];
- xkkc.dmFlag = false;
- // 判断周期
- switch (xkkc.skzqlx) {
- case '每天':
- xkkc.dmFlag = true;
- break;
- case '每周':
- const daysOfWeek = xkkc.skzq.split(',').map(Number);
- xkkc.dmFlag = daysOfWeek.includes(wDay);
- // 从wdNameList读取daysOfWeek对应的周几
- xkkc.skzqmc = daysOfWeek.map((day: number) => wdNameList[day - 1]).join(',');
- break;
- case '每月':
- const daysOfMonth = xkkc.skzq.split(',').map(Number);
- xkkc.dmFlag = daysOfMonth.includes(mDay);
- // 从根据编号加
- xkkc.skzqmc = daysOfMonth.map((day: number) => day + "号").join(',');
- break;
- }
- // 判断日期是否合格
- if (xkkc.dmFlag) {
- // 解析上课时间
- const startTime = dayjs(strDate + xkkc.skkstime, 'YYYY-MM-DD HH:mm:ss');
- const endTime = dayjs(strDate + xkkc.skjstime, 'YYYY-MM-DD HH:mm:ss');
- xkkc.dmFlag = now.isBefore(endTime) && now.isAfter(startTime)
- }
- }
- showXkFlag.value = false;
+ showXkFlag.value = false;
+ for (let i = 0; i < xk.xkkcs.length; i++) {
+ let xkkc = xk.xkkcs[i];
+ // 判断周期
+ switch (xkkc.skzqlx) {
+ case '每天':
+ xkkc.skzqmc = "每天";
+ break;
+ case '每周':
+ const daysOfWeek = xkkc.skzq.split(',').map(Number);
+ // 从wdNameList读取daysOfWeek对应的周几
+ xkkc.skzqmc = daysOfWeek.map((day: number) => wdNameList[day - 1]).join(',');
+ break;
+ case '每月':
+ const daysOfMonth = xkkc.skzq.split(',').map(Number);
+ // 从根据编号加
+ xkkc.skzqmc = daysOfMonth.map((day: number) => day + "号").join(',');
+ break;
+ }
+ }
// 显示切换成功提示
uni.showToast({
title: `已切换到${xk.xkmc}`,
@@ -203,20 +179,10 @@ function switchXk(xk: any) {
const goDetail = (xkkc: any) => {
setData(xkkc);
uni.navigateTo({
- url: `/pages/base/groupTeaching/zhujiaoDetails`,
+ url: `/pages/base/groupTeaching/xkkcDetail`,
});
};
-// 跳转到点名
-const goDm = (xkkc: any) => {
- setData(xkkc);
- uni.navigateTo({
- url: `/pages/base/groupTeaching/studentRollCall`,
- });
-};
-
-
-
// 页面卸载前清除定时器
onBeforeUnmount(() => {
});
@@ -355,14 +321,6 @@ onBeforeUnmount(() => {
color: #2879ff;
font-size: 14px;
}
-
- .dm-btn {
- flex: 1 0 1px;
- display: inline-block;
- color: #2879ff;
- font-size: 14px;
- text-align: right;
- }
}
.course-info-item {
diff --git a/src/pages/base/groupTeaching/zhujiaoDetails.vue b/src/pages/base/groupTeaching/xkkcDetail.vue
similarity index 71%
rename from src/pages/base/groupTeaching/zhujiaoDetails.vue
rename to src/pages/base/groupTeaching/xkkcDetail.vue
index 7146c32..393b29f 100644
--- a/src/pages/base/groupTeaching/zhujiaoDetails.vue
+++ b/src/pages/base/groupTeaching/xkkcDetail.vue
@@ -1,44 +1,46 @@
-
-
-
- {{ xkkc.kcmc }}
-
- 上课周期类型:
- {{ xkkc.skzqlx }}
-
-
- 上课周期:
- {{ xkkc.skzqmc }}
-
-
- 上课开始时间:
- {{ xkkc.skkstime }}
-
-
- 上课结束时间:
- {{ xkkc.skjstime }}
-
-
- 开课老师:
- {{ js.jsxm }}
-
-
- 开课地点:
- {{ xkkc.kcdd }}
-
-
- 上课人数:
- {{ xkkc.hasNum || 0 }} | {{ xkkc.maxNum || 0 }}
-
-
- 金额:
- ¥{{ xkkc.kcje }}
-
-
-
-
+
+
+
+
+ {{ xkkc.kcmc }}
+
+ 上课周期类型:
+ {{ xkkc.skzqlx }}
+
+
+ 上课周期:
+ {{ xkkc.skzqmc }}
+
+
+ 上课开始时间:
+ {{ xkkc.skkstime }}
+
+
+ 上课结束时间:
+ {{ xkkc.skjstime }}
+
+
+ 开课老师:
+ {{ js.jsxm }}
+
+
+ 开课地点:
+ {{ xkkc.kcdd }}
+
+
+ 上课人数:
+ {{ xkkc.hasNum || 0 }} | {{ xkkc.maxNum || 0 }}
+
+
+ 金额:
+ ¥{{ xkkc.kcje }}
+
+
+
+
@@ -55,7 +57,7 @@
-
+
diff --git a/src/pages/base/service/index.vue b/src/pages/base/service/index.vue
index 6c518ca..0f2f153 100644
--- a/src/pages/base/service/index.vue
+++ b/src/pages/base/service/index.vue
@@ -14,15 +14,15 @@
- {{ teacherData.name }}
- {{ teacherData.position }}
- {{ teacherData.className }}
+ {{ js.jsxm }}
+ {{ js.dzzw }} {{ js.qtzw }}
+ {{ js.njz }}
@@ -30,18 +30,18 @@
积分:
- {{ teacherData.score }}分
+ {{ jsWork.jf }}分
|
工作量:
- {{ teacherData.workload }}课时
+ {{ jsWork.ks }}课时
- {{ teacherData.introduction }}
+ {{ js.introduction || "北冥有鱼,其名为鲲。鲲之大,不知其几千里也。" }}
@@ -88,13 +88,22 @@