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