调整抢课等待问题
This commit is contained in:
parent
c2396a8e71
commit
899c037ab6
@ -246,6 +246,11 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 暴露接口给外部调用
|
||||||
|
defineExpose({
|
||||||
|
switchXk
|
||||||
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@ -18,7 +18,7 @@
|
|||||||
<!-- 可滚动的内容区域 -->
|
<!-- 可滚动的内容区域 -->
|
||||||
<view class="scrollable-content">
|
<view class="scrollable-content">
|
||||||
<!-- 显示课程列表 -->
|
<!-- 显示课程列表 -->
|
||||||
<XkkcList :xk="curXk" :can-selected="true" @change="changeXkkc" />
|
<XkkcList :xk="curXk" :can-selected="true" @change="changeXkkc" ref="xkkcListRef" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 底部报名按钮 - 固定部分 -->
|
<!-- 底部报名按钮 - 固定部分 -->
|
||||||
@ -48,7 +48,6 @@ import { useDataStore } from "@/store/modules/data";
|
|||||||
import { useDebounce } from "@/utils/debounce";
|
import { useDebounce } from "@/utils/debounce";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
import { PageUtils } from "@/utils/pageUtil";
|
import { PageUtils } from "@/utils/pageUtil";
|
||||||
import { hideLoading } from "@/utils/uniapp";
|
|
||||||
|
|
||||||
const { getCurXs, getUser, initWs, setWsCallback } = useUserStore();
|
const { getCurXs, getUser, initWs, setWsCallback } = useUserStore();
|
||||||
const { setData, getFile } = useDataStore();
|
const { setData, getFile } = useDataStore();
|
||||||
@ -60,6 +59,7 @@ const xklxId = ref("");
|
|||||||
const curXs = computed(() => getCurXs);
|
const curXs = computed(() => getCurXs);
|
||||||
const curXk = ref<any>({});
|
const curXk = ref<any>({});
|
||||||
const selectedXkkcIds = ref<any>([]);
|
const selectedXkkcIds = ref<any>([]);
|
||||||
|
const xkkcListRef = ref<any>(null);
|
||||||
|
|
||||||
// 替换 isSubmitting 状态为 useDebounce
|
// 替换 isSubmitting 状态为 useDebounce
|
||||||
const { isProcessing: isSubmitting, debounce } = useDebounce(2000);
|
const { isProcessing: isSubmitting, debounce } = useDebounce(2000);
|
||||||
@ -84,13 +84,20 @@ const checkEnrollmentStatus = (xk: any) => {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const clearXkkcSelected = () => {
|
||||||
|
selectedXkkcIds.value = [];
|
||||||
|
uni.setStorageSync("selectedXkkcIds", []);
|
||||||
|
}
|
||||||
|
|
||||||
// 切换选课
|
// 切换选课
|
||||||
const switchXk = (xk: any) => {
|
const switchXk = (xk: any) => {
|
||||||
curXk.value = xk;
|
curXk.value = xk;
|
||||||
// 清空之前的选择状态
|
// 清空之前的选择状态
|
||||||
selectedXkkcIds.value = [];
|
selectedXkkcIds.value = [];
|
||||||
uni.setStorageSync("selectedXkkcIds", []);
|
uni.setStorageSync("selectedXkkcIds", []);
|
||||||
|
if (xkkcListRef.value) {
|
||||||
|
xkkcListRef.value.switchXk(xk);
|
||||||
|
}
|
||||||
// 检查选课状态
|
// 检查选课状态
|
||||||
if (checkEnrollmentStatus(xk)) {
|
if (checkEnrollmentStatus(xk)) {
|
||||||
return;
|
return;
|
||||||
@ -156,18 +163,12 @@ const submit = debounce(async () => {
|
|||||||
const res = await jzXkQkjApi(params);
|
const res = await jzXkQkjApi(params);
|
||||||
|
|
||||||
if (res.resultCode === 1) {
|
if (res.resultCode === 1) {
|
||||||
selectedXkkcIds.value = [];
|
|
||||||
uni.setStorageSync("selectedXkkcIds", []);
|
|
||||||
setData(res.result);
|
setData(res.result);
|
||||||
xsFlag.value = true;
|
uni.hideLoading();
|
||||||
setTimeout(() => {
|
|
||||||
xsFlag.value = false;
|
|
||||||
}, 1000);
|
|
||||||
hideLoading();
|
|
||||||
// 提示已经加入抢课队列,抢课中,请稍后,然后一直转圈等待
|
// 提示已经加入抢课队列,抢课中,请稍后,然后一直转圈等待
|
||||||
uni.showLoading({ title: "抢课中,请稍后..." });
|
uni.showLoading({ title: "抢课中,请稍后..." });
|
||||||
} else {
|
} else {
|
||||||
hideLoading();
|
uni.hideLoading();
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: "none",
|
icon: "none",
|
||||||
@ -175,7 +176,7 @@ const submit = debounce(async () => {
|
|||||||
PageUtils.toHome(xklxId.value);
|
PageUtils.toHome(xklxId.value);
|
||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
hideLoading();
|
uni.hideLoading();
|
||||||
console.error('报名失败:', error);
|
console.error('报名失败:', error);
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: error.message || "报名失败",
|
title: error.message || "报名失败",
|
||||||
@ -201,8 +202,8 @@ onLoad((options:any) => {
|
|||||||
// 将data从字符串转为对象
|
// 将data从字符串转为对象
|
||||||
const dataObj = JSON.parse(res.data);
|
const dataObj = JSON.parse(res.data);
|
||||||
if (dataObj.action === 'qk') {
|
if (dataObj.action === 'qk') {
|
||||||
uni.hideLoading();
|
|
||||||
if (dataObj.code === 1 && dataObj.data === "qk") {
|
if (dataObj.code === 1 && dataObj.data === "qk") {
|
||||||
|
clearXkkcSelected();
|
||||||
PageUtils.toHome(xklxId.value);
|
PageUtils.toHome(xklxId.value);
|
||||||
} else if (dataObj.code === 2) { // 课程提示
|
} else if (dataObj.code === 2) { // 课程提示
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
@ -216,6 +217,7 @@ onLoad((options:any) => {
|
|||||||
icon: "none",
|
icon: "none",
|
||||||
duration: 3000
|
duration: 3000
|
||||||
});
|
});
|
||||||
|
clearXkkcSelected();
|
||||||
goBack();
|
goBack();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user