修复抢课显示
This commit is contained in:
parent
8d74c22698
commit
11b62320fe
@ -105,7 +105,10 @@ if (props.isBar) {
|
||||
} else {
|
||||
// 首次初始化
|
||||
if (getUser.xsList.length > 1) {
|
||||
showPicker();
|
||||
if(!props.isBar) {
|
||||
// 显示选择器
|
||||
showPicker();
|
||||
}
|
||||
} else {
|
||||
// 只有一个学生时,直接设置但不显示提示
|
||||
setCurrentStudent(getUser.xsList[0]);
|
||||
|
||||
@ -85,9 +85,11 @@ import { useUserStore } from "@/store/modules/user";
|
||||
import { useDataStore } from "@/store/modules/data";
|
||||
import { hasPermission } from "@/utils/permission";
|
||||
import { PageUtils } from "@/utils/pageUtil";
|
||||
import { useDebounce } from "@/utils/debounce";
|
||||
|
||||
const { getCurXs } = useUserStore();
|
||||
const { setData, getAppCode, setGlobal } = useDataStore();
|
||||
const { debounce } = useDebounce(2000);
|
||||
|
||||
// 刷新相关变量
|
||||
const { getLastRefreshTime, getRefreshInterval, setLastRefreshTime, updateStudentInfo, updateStudentList } = useUserStore();
|
||||
@ -258,7 +260,7 @@ const goToGlxs = () => {
|
||||
}
|
||||
|
||||
// 处理菜单点击
|
||||
function handleMenuClick(item: any) {
|
||||
const handleMenuClick = debounce(async (item: any) => {
|
||||
if (item.path) {
|
||||
if (!item.lxId) {
|
||||
uni.navigateTo({
|
||||
@ -269,7 +271,7 @@ function handleMenuClick(item: any) {
|
||||
PageUtils.toHome(item.lxId);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// 切换学生
|
||||
function switchXs(xs: any) {
|
||||
|
||||
@ -105,8 +105,9 @@ const loadXkList = async () => {
|
||||
} else {
|
||||
const qk = getQk || {};
|
||||
if (props.xsId === qk.xsId && qk.xklxId === props.xklxId && qk.xsXkStatus === "KQK") {
|
||||
xkList.value = qk.xkList || [];
|
||||
switchXk(xkList.value[0]);
|
||||
nextTick(() => {
|
||||
initXkList(qk.xkList || []);
|
||||
});
|
||||
} else {
|
||||
const res = await getXsXkListApi(params);
|
||||
if (res.resultCode === 1) {
|
||||
@ -120,11 +121,9 @@ const loadXkList = async () => {
|
||||
return;
|
||||
} else if (result.type === 2 || result.type === 3) {
|
||||
// 正常选课列表或已支付但有选课列表供切换
|
||||
if (result.xkList && result.xkList.length) {
|
||||
xkList.value = result.xkList;
|
||||
switchXk(result.xkList[0]);
|
||||
return;
|
||||
}
|
||||
nextTick(() => {
|
||||
initXkList(result.xkList || []);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -133,10 +132,17 @@ const loadXkList = async () => {
|
||||
uni.hideLoading();
|
||||
};
|
||||
|
||||
const initXkList = (list: any) => {
|
||||
xkList.value = list;
|
||||
switchXk(xkList.value[0]);
|
||||
};
|
||||
|
||||
|
||||
// 切换选课
|
||||
const switchXk = (xk: any) => {
|
||||
curXk.value = xk;
|
||||
showFlag.value = false;
|
||||
console.log("切换选课", xk);
|
||||
emit("change", xk);
|
||||
};
|
||||
|
||||
@ -149,10 +155,13 @@ watch(
|
||||
}
|
||||
);
|
||||
|
||||
// 初始化加载数据
|
||||
if (props.xsId) {
|
||||
loadXkList();
|
||||
}
|
||||
onMounted(() => {
|
||||
// 初始化加载数据
|
||||
if (props.xsId) {
|
||||
loadXkList();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
@ -24,7 +24,7 @@
|
||||
<view class="course-time"
|
||||
>上课时间:{{ courseDetail.studyTime }}</view
|
||||
>
|
||||
<view class="course-price">
|
||||
<view class="course-price" v-if="courseDetail.price > 0">
|
||||
金额:<text class="price-value">¥{{ courseDetail.price }}</text>
|
||||
</view>
|
||||
</view>
|
||||
@ -111,7 +111,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, computed } from "vue";
|
||||
import { ref, computed } from "vue";
|
||||
import { navigateBack } from "@/utils/uniapp";
|
||||
import { useDataStore } from "@/store/modules/data";
|
||||
import { storeToRefs } from "pinia";
|
||||
|
||||
@ -64,7 +64,7 @@ const selectedXkkcIds = ref<any>([]);
|
||||
// 替换 isSubmitting 状态为 useDebounce
|
||||
const { isProcessing: isSubmitting, debounce } = useDebounce(2000);
|
||||
|
||||
const xsFlag = ref(true);
|
||||
const xsFlag = ref(false);
|
||||
|
||||
// 检查选课是否已结束
|
||||
const checkEnrollmentStatus = (xk: any) => {
|
||||
@ -104,8 +104,7 @@ const switchXs = (xs: any) => {
|
||||
// 选课时间结束
|
||||
const xkTimeOver = (val: any) => {
|
||||
console.log('选课时间结束:', val);
|
||||
// 选课开始时不再跳转,让用户继续选课
|
||||
// 只有在选课结束时才跳转到选课结束页面
|
||||
checkEnrollmentStatus(curXk.value);
|
||||
}
|
||||
|
||||
// 选中课程
|
||||
|
||||
@ -47,14 +47,11 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from "vue";
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
import { useDataStore } from "@/store/modules/data";
|
||||
const { getData } = useDataStore();
|
||||
|
||||
const title = computed(() => {
|
||||
let t = getData.title || '';
|
||||
return t.replace('信息', '');
|
||||
});
|
||||
const title = ref("");
|
||||
|
||||
// 返回首页
|
||||
const goHome = () => {
|
||||
@ -63,8 +60,16 @@ const goHome = () => {
|
||||
});
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
// 页面加载时可以执行一些操作,例如记录用户访问日志
|
||||
onLoad((options:any) => {
|
||||
options = options || {};
|
||||
title.value = options.title || '';
|
||||
switch(options.xklxId) {
|
||||
case '962488654': { title.value = '兴趣课'; } break;
|
||||
case '816059832': { title.value = '俱乐部'; } break;
|
||||
default: {
|
||||
uni.reLaunch({ url: '/pages/base/home/index' });
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
@ -4,7 +4,8 @@ import { useDataStore } from "@/store/modules/data";
|
||||
const userStore = useUserStore();
|
||||
const dataStore = useDataStore();
|
||||
|
||||
const devFlag = true;
|
||||
// TODO: 记住测试的时候才默认使用第一个
|
||||
const devFlag = false;
|
||||
|
||||
/**
|
||||
* 页面工具类,主要在于处理抢课、就餐等页面逻辑跳转的处理
|
||||
@ -79,6 +80,11 @@ export const PageUtils = {
|
||||
dataStore.setQk(result);
|
||||
// 状态判断
|
||||
switch (result.xsXkStatus) {
|
||||
case 'WFB': { // KQK可抢课
|
||||
uni.reLaunch({
|
||||
url: "/pages/base/xk/qk/wks?xklxId=" + xklxId,
|
||||
});
|
||||
} break;
|
||||
case 'KQK': { // KQK可抢课
|
||||
uni.reLaunch({
|
||||
url: "/pages/base/gzs/index?lxId=" + xklxId,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user