From b888c3496a362e843bd9b764cfd661719bd542a7 Mon Sep 17 00:00:00 2001 From: weiwei Date: Wed, 23 Apr 2025 12:40:08 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9F=E5=A0=82=E9=A2=84=E8=AE=A2=E5=92=8C?= =?UTF-8?q?=E6=99=BA=E8=83=BD=E6=9F=9C=E4=B8=8A=E6=9E=B6=E5=95=86=E5=93=81?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E5=92=8C=E6=B8=85=E9=99=A4=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 1 + src/pages/cabinet/putaway.vue | 2 +- src/pages/canteen/detail.vue | 33 +++++++++++++++++++++--- src/pages/order/detail.vue | 9 +++++-- src/pages/tabbar/my.vue | 40 +++++++++++++++++++++++------- src/pages/tabbar/order.vue | 2 +- src/sheep/hooks/use-img.ts | 18 ++++++-------- src/sheep/hooks/use-qr-code.ts | 0 src/static/icon/clear-storage.png | Bin 0 -> 3369 bytes 9 files changed, 77 insertions(+), 28 deletions(-) delete mode 100644 src/sheep/hooks/use-qr-code.ts create mode 100644 src/static/icon/clear-storage.png diff --git a/src/App.vue b/src/App.vue index 11ff27e..4fae050 100644 --- a/src/App.vue +++ b/src/App.vue @@ -203,6 +203,7 @@ export default { uni.hideTabBar() uni.removeStorageSync("userRole") uni.showToast({ title: "用户身份未确认", icon: "none" }) + uni.reLaunch({ url: "/pages/user/userRole" }) break } } else { diff --git a/src/pages/cabinet/putaway.vue b/src/pages/cabinet/putaway.vue index df961bc..8edb93d 100644 --- a/src/pages/cabinet/putaway.vue +++ b/src/pages/cabinet/putaway.vue @@ -43,7 +43,7 @@ - + {{ v.spuDetail.name?.length > 4 ? v.spuDetail.name.substring(0, 4) + "..." : v.spuDetail.name }} diff --git a/src/pages/canteen/detail.vue b/src/pages/canteen/detail.vue index abebbe4..6aa5dda 100644 --- a/src/pages/canteen/detail.vue +++ b/src/pages/canteen/detail.vue @@ -25,6 +25,9 @@ const state = reactive({ showCartDialog: false, showBookingDialog: false, + + bookingTimeList: [], + selectedBookingTime: "", }) onLoad((options: any) => { @@ -155,12 +158,14 @@ const updateFoodCart = async () => { // 打开购物车 const doVisibleCart = async () => (state.showCartDialog = true) -// 购买 +// 购买 打开预订时间段选择对话框 const doBuy = async () => { + state.selectedBookingTime = "" try { uni.showLoading({ title: "加载中...", mask: true }) const res: any = await orderApi.apptList() if (res.code == 0) { + state.bookingTimeList = res.data // 打开预约时间段选择对话框 state.showBookingDialog = true } else { @@ -175,6 +180,7 @@ const doBuy = async () => { // 预约时间段对话框确认 const bookingDialogConfirm = () => { + if (!state.selectedBookingTime) return uni.showToast({ title: "请选择预订时间段", icon: "none" }) uni.showModal({ title: "提示", content: "是否确定购买", @@ -194,10 +200,12 @@ const submitBuy = async () => { const _createtPa = { carParentId: state.cartList[0].parentCarId, hardType: "CANTEEN", + apptId: state.selectedBookingTime, } const { data: createData, code: createCode }: any = await payApi.createHardwareOrder(_createtPa) if (createCode != 0) throw new Error() uni.showToast({ title: "支付成功", icon: "none" }) + state.showBookingDialog = false router.jump("/pages/tabbar/order") } catch (error) { console.error(error) @@ -366,10 +374,27 @@ const doFood = () => { cancelText="取消" confirmText="确认" position="bottom" - @confirm="bookingDialogConfirm" - @cancel="state.showBookingDialog = false" + height="520rpx" + zIndex="800" > - 预订时间段 + + + + + + + + + diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue index 6f22678..5cd5d4b 100644 --- a/src/pages/order/detail.vue +++ b/src/pages/order/detail.vue @@ -71,7 +71,12 @@ const doCancelRefund = async () => { - + @@ -115,7 +120,7 @@ const doCancelRefund = async () => { class="flex-row items-start justify-between" v-for="(v, i) in state.shopCarList" :key="i" - @tap.stop="router.jump('/pages/canteen/product-detail', { id: v.productId })" + @tap.stop="router.jump('/pages/merchant/product-detail', { id: v.productId })" > diff --git a/src/pages/tabbar/my.vue b/src/pages/tabbar/my.vue index 025548f..27ba541 100644 --- a/src/pages/tabbar/my.vue +++ b/src/pages/tabbar/my.vue @@ -83,6 +83,7 @@ const state = reactive<{ // { text: "外来人员就餐", icon: "/static/icon/service_1.png", router: "/pages/apply/foreign-list" }, // { text: "跨单位就餐", icon: "/static/icon/service_1.png", router: "/pages/apply/stride-list" }, { text: "人脸管理", icon: "/static/icon/service_5.png", router: "/pages/human-face/list" }, + { text: "清除缓存", icon: "/static/icon/clear-storage.png", router: "" }, // { text: "意见反馈", icon: "/static/icon/service_5.png", router: "/pages/integrated/feedback/index" }, ], appInfo: "", @@ -124,6 +125,22 @@ const storage = { uni.removeStorageSync(STORAGE_KEYS.USER_INFO) state.userInfo = {} }, + + // 清除缓存 + clearCache: () => { + uni.showModal({ + title: "确定清除缓存吗?", + content: "清除缓存将自动刷新页面", + success: (res) => { + if (res.confirm) { + uni.clearStorageSync() + uni.removeStorageSync("userRole") + state.userInfo = {} + uni.reLaunch({ url: "/pages/tabbar/my" }) + } + }, + }) + }, } const login = { @@ -334,17 +351,17 @@ const scanCode = { const onTabLogin = () => (isDevEnv() ? router.jump("/pages/test/login") : login.checkAppInfo()) const onTabMenu = async (item: any, index: number) => { - if (index == state.menuList.length - 1) { - router.jump(item.router) - return - } - const isLogin = await hooks.useCheckLogin() if (isLogin) { - if (item.text === "扫一扫") { - await scanCode.scan() - } else { - router.jump(item.router) + switch (item.text) { + case "扫一扫": + await scanCode.scan() + break + case "清除缓存": + storage.clearCache() + break + default: + router.jump(item.router) } } } @@ -384,6 +401,11 @@ onLoad(async () => { // 获取应用信息 state.appInfo = await getAppInfo() + + await userApi.userRole() + + // 获取存储中的用户信息 + storage.getUserInfo() }) onShow(() => { diff --git a/src/pages/tabbar/order.vue b/src/pages/tabbar/order.vue index bdf0ab9..b8ca571 100644 --- a/src/pages/tabbar/order.vue +++ b/src/pages/tabbar/order.vue @@ -65,7 +65,7 @@ const query = (page: number, pagesize: number) => { // 查看订单和核销码 const doToDetail = (v: any) => { - // router.jump("/pages/order/detail", { id: v.id }) + router.jump("/pages/order/detail", { id: v.id }) } const doAppraise = () => {} diff --git a/src/sheep/hooks/use-img.ts b/src/sheep/hooks/use-img.ts index 536bd97..dd7431f 100644 --- a/src/sheep/hooks/use-img.ts +++ b/src/sheep/hooks/use-img.ts @@ -1,12 +1,8 @@ -import { filePath } from "../utils/file"; - export const usePreviewImage = (str: string | undefined) => { - console.log(str, "str"); - - if (str == undefined) return; - let urlList = str.split(",").map((v) => filePath(v)); - console.log(urlList); - uni.previewImage({ - urls: urlList, - }); -}; + if (str == undefined) return + let urlList = str.split(",") + console.log(urlList) + uni.previewImage({ + urls: urlList, + }) +} diff --git a/src/sheep/hooks/use-qr-code.ts b/src/sheep/hooks/use-qr-code.ts deleted file mode 100644 index e69de29..0000000 diff --git a/src/static/icon/clear-storage.png b/src/static/icon/clear-storage.png new file mode 100644 index 0000000000000000000000000000000000000000..5d7d35e496615c943bcf2d04c5890ce2db9009e3 GIT binary patch literal 3369 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 I3-6QgF9D_F2><{9 literal 0 HcmV?d00001