This commit is contained in:
zjf committed 2026-05-12 09:18:07 +08:00
commit 471a25170b
2 files changed
+34 -63

No files matched your search

+32 -62
View File
@@ -234,14 +234,8 @@ const doFood = () => {
<template>
<crud-layout mainIsScroll tabBarType="just-flot-back" bg="/static/page/blue-bg.png">
<tm-sticky>
<swiper
class="w-100vw h-30vh"
circular
:indicator-dots="true"
indicator-active-color="#0779FD"
indicator-color="#ffffff"
:autoplay="true"
>
<swiper class="w-100vw h-30vh" circular :indicator-dots="true" indicator-active-color="#0779FD"
indicator-color="#ffffff" :autoplay="true">
<swiper-item v-for="(v, i) in state.canteenDetail?.swiperPic?.split(',')" :key="i">
<image class="w-full h-full" :src="filePath(v)" mode="aspectFill" />
</swiper-item>
@@ -252,7 +246,8 @@ const doFood = () => {
<!-- start 简介 start -->
<view class="h-15rpx" />
<view class="flex-row card p-20rpx">
<image class="w-180rpx h-180rpx rounded-12rpx" :src="filePath(state.canteenDetail.logoPic)" mode="aspectFill" />
<image class="w-180rpx h-180rpx rounded-12rpx" :src="filePath(state.canteenDetail.logoPic)"
mode="aspectFill" />
<view class="flex-1 flex-col m-l-20rpx">
<view class="flex-row items-center justify-between">
<view class="flex-row-center sub-text-34">
@@ -265,13 +260,16 @@ const doFood = () => {
<view class="second-text-24">
<view class="second-text-28">营业时间:</view>
<view>
{{ state.canteenDetail.jobTime?.split(",")[0] ? "早:" + state.canteenDetail.jobTime?.split(",")[0] : "" }}
{{ state.canteenDetail.jobTime?.split(",")[0] ? "早:" +
state.canteenDetail.jobTime?.split(",")[0] : "" }}
</view>
<view>
{{ state.canteenDetail.jobTime?.split(",")[1] ? "中:" + state.canteenDetail.jobTime?.split(",")[1] : "" }}
{{ state.canteenDetail.jobTime?.split(",")[1] ? "中:" +
state.canteenDetail.jobTime?.split(",")[1] : "" }}
</view>
<view>
{{ state.canteenDetail.jobTime?.split(",")[2] ? "晚:" + state.canteenDetail.jobTime?.split(",")[2] : "" }}
{{ state.canteenDetail.jobTime?.split(",")[2] ? "晚:" +
state.canteenDetail.jobTime?.split(",")[2] : "" }}
</view>
</view>
<view v-if="state.canteenDetail.addressDes" class="m-t-10rpx second-text-28">
@@ -291,7 +289,8 @@ const doFood = () => {
<text class="m-l-20rpx sub-text-30">联系食堂</text>
</view>
<view class="w-1px h-30rpx bg-#c4c4c4" />
<view class="flex-row-center" @tap.stop="router.jump('/pages/boxes/list', { id: state.detailId })">
<view class="flex-row-center"
@tap.stop="router.jump('/pages/boxes/list', { id: state.detailId })">
<view class="flex-row-center w-50rpx h-50rpx bg-#167aff rounded-full">
<text class="font-size-28rpx! color-white iconfont icon-yuding" />
</view>
@@ -313,39 +312,23 @@ const doFood = () => {
<!-- start 商品 start -->
<view class="flex-row">
<scroll-view
v-if="state.classifyList.length > 0"
scroll-y
:style="{ height: getHeight() }"
class="menu w-200rpx h-full p-l-12rpx p-b-20rpx bg-#f6f6f6"
>
<view
class="menu_item flex-row-center"
v-for="(v, i) in state.classifyList"
:key="v.id"
:class="[{ menu_item_active: i == state.currentClassifyIndex }]"
@tap="doClassify(i)"
>
<scroll-view v-if="state.classifyList.length > 0" scroll-y :style="{ height: getHeight() }"
class="menu w-200rpx h-full p-l-12rpx p-b-20rpx bg-#f6f6f6">
<view class="menu_item flex-row-center" v-for="(v, i) in state.classifyList" :key="v.id"
:class="[{ menu_item_active: i == state.currentClassifyIndex }]" @tap="doClassify(i)">
<view class="menu_item_title show-line">
{{ v.name }}
</view>
</view>
</scroll-view>
<scroll-view v-if="state.foodList.length > 0" scroll-y :style="{ height: getHeight() }" class="flex-1 p-b-20rpx">
<scroll-view v-if="state.foodList.length > 0" scroll-y :style="{ height: getHeight() }"
class="flex-1 p-b-20rpx">
<view v-for="(pV, pI) in state.foodList" :key="pI">
<view class="m-x-15rpx">
<product-row
v-model="pV.productCount"
:productId="pV.id"
:pic="filePath(pV.picUrl)"
:name="pV.name"
:price="pV.price"
:marketPrice="pV.marketPrice"
:salesCount="pV.salesCount"
:stock="pV.stock"
@add="chentProductCartCount(pV)"
@remove="chentProductCartCount(pV)"
/>
<product-row v-model="pV.productCount" :productId="pV.id" :pic="filePath(pV.picUrl)"
:name="pV.name" :price="pV.price" :marketPrice="pV.marketPrice"
:salesCount="pV.salesCount" :stock="pV.stock" @add="chentProductCartCount(pV)"
@remove="chentProductCartCount(pV)" />
</view>
</view>
</scroll-view>
@@ -355,32 +338,18 @@ const doFood = () => {
<!-- end 商品 end -->
<template #main-bottom>
<view v-if="state.classifyList.length > 0" class="cart z-200 p-x-30rpx p-y-30rpx bg-white">
<product-total :totPrice="state.totPrice" :totCount="state.totCount" @doContainer="doVisibleCart" @submit="doBuy" />
<product-total :totPrice="state.totPrice" :totCount="state.totCount" @doContainer="doVisibleCart"
@submit="doBuy" />
</view>
</template>
</crud-layout>
<product-cart
v-model="state.showCartDialog"
:cartList="state.cartList"
:totPrice="state.totPrice"
:totCount="state.totCount"
@add="(v) => chentProductCartCount(v)"
@remove="(v) => chentProductCartCount(v)"
@submit="doBuy"
/>
<product-cart v-model="state.showCartDialog" :cartList="state.cartList" :totPrice="state.totPrice"
:totCount="state.totCount" @add="(v) => chentProductCartCount(v)" @remove="(v) => chentProductCartCount(v)"
@submit="doBuy" />
<tm-modal
v-model:show="state.showBookingDialog"
:overlayClick="false"
:showCancel="true"
title="请选择预订餐段"
cancelText="取消"
confirmText="确认"
position="bottom"
height="520rpx"
zIndex="800"
>
<tm-modal v-model:show="state.showBookingDialog" :overlayClick="false" :showCancel="true" title="请选择预订餐段"
cancelText="取消" confirmText="确认" position="bottom" height="520rpx" zIndex="800">
<tm-radio-group v-model="state.selectedBookingTime" direction="column">
<view v-for="(item, index) in state.bookingTimeList" :key="index" class="w-full flex items-center">
<tm-radio class="w-full h-full px-2" :value="item.id">
@@ -393,7 +362,8 @@ const doFood = () => {
<view class="second-text-28 flex">
<text class="w-1/2">用餐时间段:</text>
<text class="w-1/2">
{{ state.canteenDetail.jobTime?.split(",")[index + 1] ? state.canteenDetail.jobTime?.split(",")[index + 1] : "" }}
{{ state.canteenDetail.jobTime?.split(",")[index + 1] ?
state.canteenDetail.jobTime?.split(",")[index + 1] : "" }}
</text>
</view>
</template>
@@ -413,7 +383,7 @@ const doFood = () => {
<style lang="scss" scoped>
:deep() {
.layout_main > scroll-view {
.layout_main>scroll-view {
padding: 0 !important;
}
}
+2 -1
View File
@@ -14,7 +14,8 @@ export function useScanCode(actModalShow) {
// const testQrCode = "eyJoYXJkRG9vcklkIjoiMTkxMzE1NzA4MDQxODI5NTgwOSIsImNhYmluZXRObyI6IjEifQ==" // 邓本地-测试单门智能柜柜门二维码
// const testQrCode = "http://192.168.101.45:8889/h5/#/pages/pay/scanPay?id=1905816751043452930&name=测试新县府超市" // 邓本地-测试环境-新县府超市收款二维码
// const testQrCode = "http://192.168.101.45:8889/h5/#/pages/pay/scanPay?hardDoorId=1913157080418295809&cabinetNo=1" // 测试智能柜柜门二维码
const testQrCode = "eyJjYW5jZWxJZCI6IjE5ODQyNDA4MzM5NDMyMDc5MzcifQ==" // 测试商户活动核销
// const testQrCode = "eyJjYW5jZWxJZCI6IjE5ODQyNDA4MzM5NDMyMDc5MzcifQ==" // 测试商户活动核销
const testQrCode = "https://stgl.pj.gov.cn/h5/#/pages/pay/scanPay?id=1931916121241079810"
uni.showModal({ content: "开发环境不是浙政钉和诗画环境,扫码仅供测试" })
return Promise.resolve(testQrCode)
}