This commit is contained in:
duan
2024-10-23 15:11:30 +08:00
16 changed files with 242 additions and 140 deletions

View File

@@ -17,7 +17,10 @@ import infoBox from "@/commons/utils/infoBox.js"
import go from '@/commons/utils/go.js'; import go from '@/commons/utils/go.js';
// 测试服 // 测试服
let baseUrl = 'https://admintestpapi.sxczgkj.cn' let baseUrl = 'https://admintestpapi.sxczgkj.cn'
// let baseUrl = 'http://192.168.1.15:8000'
//预发布
// let baseUrl = 'https://pre-cashieradmin.sxczgkj.cn'
// 王伟本地测 // 王伟本地测
// let baseUrl = '/ww' // let baseUrl = '/ww'
// let baseUrl = 'http://192.168.1.15:8000' // let baseUrl = 'http://192.168.1.15:8000'

View File

@@ -150,12 +150,12 @@
"unipush" : { "unipush" : {
"enable" : true "enable" : true
}, },
"plugins" : { // "plugins" : {
"WechatSI" : { // "WechatSI" : {
"version" : "0.3.5", // "version" : "0.3.5",
"provider" : "wx069ba97219f66d99" // "provider" : "wx069ba97219f66d99"
} // }
}, // },
"requiredBackgroundModes" : [ "audio", "location" ], "requiredBackgroundModes" : [ "audio", "location" ],
"__usePrivacyCheck__" : true, "__usePrivacyCheck__" : true,
"libVersion" : "latest" "libVersion" : "latest"
@@ -213,6 +213,15 @@
"/ysk" : "" "/ysk" : ""
} }
}, },
"/yufabu" : {
// 需要被代理的后台地址
"target" : "https://pre-cashier.sxczgkj.cn",
"changeOrigin" : true,
"secure" : false,
"pathRewrite" : {
"/yufabu" : ""
}
},
"/ww" : { "/ww" : {
// 需要被代理的后台地址 // 需要被代理的后台地址
"target" : "http://192.168.1.15:8000", "target" : "http://192.168.1.15:8000",

View File

@@ -207,14 +207,15 @@
</view> </view>
<view class=""> <view class="">
<uni-forms-item label="分类名称" required name="name"> <uni-forms-item label="分类名称" required name="name">
<uni-easyinput padding-none :placeholderStyle="placeholderStyle" :inputBorder="inputBorder" <uni-easyinput padding-none :placeholderStyle="placeholderStyle"
v-model="categoryChild.name" placeholder="输入分类名称" /> :inputBorder="inputBorder" v-model="categoryChild.name" placeholder="输入分类名称" />
</uni-forms-item> </uni-forms-item>
</view> </view>
<template v-if="option.type==='edit'"> <template v-if="option.type==='edit'">
<uni-forms-item label="排序" required name="sort"> <uni-forms-item label="排序" required name="sort">
<uni-easyinput padding-none :placeholderStyle="placeholderStyle" :inputBorder="inputBorder" <uni-easyinput padding-none :placeholderStyle="placeholderStyle"
v-model="categoryChild.sort" type="number" placeholder="排序越小越靠前" /> :inputBorder="inputBorder" v-model="categoryChild.sort" type="number"
placeholder="排序越小越靠前" />
</uni-forms-item> </uni-forms-item>
</template> </template>
<uni-forms-item label=""> <uni-forms-item label="">
@@ -241,9 +242,11 @@
</view> </view>
</template> </template>
</my-model> </my-model>
<up-modal title="提示" content="确认删除该分类吗?" :show="modal.del" showCancelButton closeOnClickOverlay
@confirm="confirmModelConfirm" @cancel="setModalShow('del',false)" @close="setModalShow('del',false)"
width="300px"></up-modal>
</view> </view>
</template> </template>
<script setup> <script setup>
@@ -269,7 +272,28 @@
onBeforeMount, onBeforeMount,
watch watch
} from 'vue'; } from 'vue';
const modal = reactive({
key: '',
del: false
})
function confirmModelConfirm() {
if (modal.key == 'del') {
$productCategory.del([selItem.data.id]).then(res => {
category.childrenList.splice(selItem.index, 1)
infoBox.showToast('删除成功')
uni.setStorageSync('cateItem', category)
})
modal.del=false
return
}
}
function setModalShow(key = 'show', show = true) {
modal.key = key
modal[key] = show
console.log(modal);
}
const refAddChilCate = ref(null) const refAddChilCate = ref(null)
const refAddChilCateTitle = ref('添加子分类') const refAddChilCateTitle = ref('添加子分类')
@@ -339,19 +363,21 @@
return return
} }
if (index === 1) { if (index === 1) {
return uni.showModal({ setModalShow('del', true)
title: '提示', return
content: '确认删除该分类吗?', // return uni.showModal({
success(res) { // title: '提示',
if (res.confirm) { // content: '确认删除该分类吗?',
$productCategory.del([selItem.data.id]).then(res => { // success(res) {
category.childrenList.splice(selItem.index, 1) // if (res.confirm) {
infoBox.showToast('删除成功') // $productCategory.del([selItem.data.id]).then(res => {
uni.setStorageSync('cateItem', category) // category.childrenList.splice(selItem.index, 1)
}) // infoBox.showToast('删除成功')
} // uni.setStorageSync('cateItem', category)
} // })
}) // }
// }
// })
} }
} }
@@ -676,13 +702,16 @@
$icon-line-width: 20rpx; $icon-line-width: 20rpx;
$icon-line-height: 4rpx; $icon-line-height: 4rpx;
@import '@/commons/style/reset-uni-form.scss'; @import '@/commons/style/reset-uni-form.scss';
::v-deep .uni-forms-item--border{
padding-top: 24rpx ; ::v-deep .uni-forms-item--border {
padding-bottom: 24rpx ; padding-top: 24rpx;
padding-bottom: 24rpx;
} }
::v-deep .uni-forms-item.is-direction-top .uni-forms-item__label{
::v-deep .uni-forms-item.is-direction-top .uni-forms-item__label {
padding-bottom: 16rpx; padding-bottom: 16rpx;
} }
.category-icon { .category-icon {
width: 60rpx; width: 60rpx;
height: 60rpx; height: 60rpx;
@@ -697,9 +726,11 @@
.my-switch { .my-switch {
transform: scale(0.7); transform: scale(0.7);
} }
::v-deep .uni-forms-item__content{
::v-deep .uni-forms-item__content {
min-height: inherit; min-height: inherit;
} }
::v-deep .uni-forms-item__error { ::v-deep .uni-forms-item__error {
display: none !important; display: none !important;
} }

View File

@@ -52,7 +52,9 @@
@click="guigeClick(index)"> @click="guigeClick(index)">
<text>{{item.specSnap||item.name}}</text> <text>{{item.specSnap||item.name}}</text>
<view class="tag-primary tag" v-if="item.isGrounding">上架中</view> <view class="tag-primary tag" v-if="item.isGrounding">上架中</view>
<view class="tag-gray tag" v-else>下架</view> <view class="tag-gray tag" v-if="item.isPauseSale">售罄</view>
<view class="tag-gray tag" v-if="!item.isGrounding">已下架</view>
<!-- <template v-if="item.isPauseSale"> <!-- <template v-if="item.isPauseSale">
<view class="tag-gray tag" >已售罄</view> <view class="tag-gray tag" >已售罄</view>
</template> </template>
@@ -113,9 +115,6 @@
</view> </view>
</view> </view>
</view> </view>
</template> </template>

View File

@@ -131,7 +131,7 @@
<edit-stock :category="pageData.categoryList" v-model:show="popup.stock.show" @save="changeStockConfirm" <edit-stock :category="pageData.categoryList" v-model:show="popup.stock.show" @save="changeStockConfirm"
:goods="pageData.selGoods"></edit-stock> :goods="pageData.selGoods"></edit-stock>
<!-- 规格弹窗 --> <!-- 规格弹窗 -->
<edit-guige @isGroundingChange="isGroundingChange" v-model:show="popup.guige.show" <edit-guige @isGroundingChange="isGroundingChange" v-model:show="popup.guige.show" @isPauseSaleChange="isPauseSaleChange"
:goods="popup.guige.data"></edit-guige> :goods="popup.guige.data"></edit-guige>
<!-- 报损 --> <!-- 报损 -->
<baosun-vue :category="pageData.categoryList" v-model:show="popup.baosun.show" <baosun-vue :category="pageData.categoryList" v-model:show="popup.baosun.show"

View File

@@ -119,11 +119,11 @@
icon: '/static/indexImg/icon-work.svg', icon: '/static/indexImg/icon-work.svg',
pageUrl: 'PAGES_WORK_INDEX', pageUrl: 'PAGES_WORK_INDEX',
}, },
{ // {
title: '极速开票', // title: '极速开票',
icon: '/static/indexImg/red-envelope.svg', // icon: '/static/indexImg/red-envelope.svg',
pageUrl: 'PAGES_INVOICE' // pageUrl: 'PAGES_INVOICE'
}, // },
{ {
title: '排队', title: '排队',
icon: '/static/indexImg/icon-line-up.svg', icon: '/static/indexImg/icon-line-up.svg',
@@ -229,7 +229,7 @@
{ {
title: '退出登录', title: '退出登录',
icon: '/static/indexImg/PAGE_SALES_SUMMARY.svg', icon: '/static/indexImg/icon-login-out.svg',
pageUrl: 'PAGES_LOGIN', pageUrl: 'PAGES_LOGIN',
clickFunc:()=>{ clickFunc:()=>{
storageManage.cleanByLogout() storageManage.cleanByLogout()

View File

@@ -259,10 +259,12 @@
function accountTypeChange(e) { function accountTypeChange(e) {
// #ifdef H5 // #ifdef H5
if (e == 1) { if(e==1){
// vdata.formData.merchantName = '18049104914' vdata.formData.merchantName = '18049104914'
// vdata.formData.merchantName = '' vdata.formData.username = '13666666666'
// vdata.formData.username = '' vdata.formData.pwd = '123456'
}else{
vdata.formData.pwd = 'qwer1234'
} }
// #endif // #endif
} }

View File

@@ -1,74 +1,83 @@
<template> <template>
<view class="mask" @tap="hideGoods" v-if="switchGoods"></view> <view>
<view class="car border-top u-flex u-row-between u-col-bottom u-relative">
<view class="u-absolute goods bg-fff"> <view class="mask" @tap="hideGoods" v-if="switchGoods"></view>
<view <view class="car border-top u-flex u-row-between u-col-bottom u-relative">
class="u-p-t-32 color-666 border-bottom bg-fff u-absolute total u-p-r-28 u-p-b-32 u-p-l-28 u-flex u-row-between"> <view class="u-absolute goods bg-fff">
<view>已添加{{goodsNumber}}件商品</view> <view
<view class="color-666"> class="u-p-t-32 color-666 border-bottom bg-fff u-absolute total u-p-r-28 u-p-b-32 u-p-l-28 u-flex u-row-between">
<uni-icons color="#666" type="trash"></uni-icons>
<text class="u-m-l-10" @tap="clear">清空</text>
</view>
</view>
<scroll-view scroll-y="true" class="tranistion" :style="{height:switchGoods?'50vh':0 }">
<!-- 占位 -->
<view class="u-p-t-32 color-666 border-bottom u-p-r-28 u-p-b-32 u-p-l-28 u-flex u-row-between"
style="opacity: 0;">
<view>已添加{{goodsNumber}}件商品</view> <view>已添加{{goodsNumber}}件商品</view>
<view class="color-666"> <view class="color-666">
<uni-icons color="#666" type="trash"></uni-icons> <uni-icons color="#666" type="trash"></uni-icons>
<text class="u-m-l-10">清空</text> <text class="u-m-l-10" @tap="setModalShow('clear',true)">清空</text>
</view> </view>
</view> </view>
<!-- 占位 --> <scroll-view scroll-y="true" class="tranistion" :style="{height:switchGoods?'50vh':0 }">
<view class="color-333 item border-top u-flex u-row-center u-row-between" v-for="(item,index) in data" <!-- 占位 -->
:key="index"> <view class="u-p-t-32 color-666 border-bottom u-p-r-28 u-p-b-32 u-p-l-28 u-flex u-row-between"
<view class=""> style="opacity: 0;">
<view>{{item.name}}</view> <view>已添加{{goodsNumber}}件商品</view>
<view class="u-m-t-10 u-font-24 color-666">{{item.specSnap||''}}</view> <view class="color-666">
<uni-icons color="#666" type="trash"></uni-icons>
<text class="u-m-l-10">清空</text>
</view>
</view> </view>
<view class="u-flex"> <!-- 占位 -->
<view class="font-bold red u-m-r-32">{{formatPrice(item.salePrice*item.number) }}</view> <view class="color-333 item border-top u-flex u-row-center u-row-between"
<view class="u-flex" @tap="updateNumber(false,index,item)"> v-for="(item,index) in data" :key="index">
<image src="/pagesCreateOrder/static/images/icon-reduce-black.svg" class="icon" mode=""> <view class="">
</image> <view class="u-line-1">{{item.name}}</view>
</view> <view class="u-m-t-10 u-font-24 color-666 u-line-1">{{item.specSnap||''}}</view>
<view class="u-m-l-30 u-m-r-30 color-333">
{{item.number}}
</view>
<view class="u-flex" @tap="updateNumber(true,index,item)">
<image src="/pagesCreateOrder/static/images/icon-add-black.svg" class="icon" mode="">
</image>
</view> </view>
<view class="u-flex">
<view class="font-bold red u-m-r-32">{{formatPrice(item.salePrice*item.number) }}</view>
<view class="u-flex" @tap="updateNumber(false,index,item)">
<image src="/pagesCreateOrder/static/images/icon-reduce-black.svg" class="icon" mode="">
</image>
</view>
<view class="u-m-l-30 u-m-r-30 color-333">
{{item.number}}
</view>
<view class="u-flex" @tap="updateNumber(true,index,item)">
<image src="/pagesCreateOrder/static/images/icon-add-black.svg" class="icon" mode="">
</image>
</view>
</view>
</view> </view>
</view> <my-empty v-if="!data.length" text="暂未有添加商品"></my-empty>
<my-empty v-if="!data.length" text="暂未有添加商品"></my-empty> </scroll-view>
</scroll-view>
</view>
<view class="icon-car-box" @tap="toggleGoods">
<image src="/pagesCreateOrder/static/images/icon-car.svg" class="icon-car" />
<view class="dot">{{goodsNumber}}</view>
</view>
<view class="price font-bold u-flex">
<view></view>
<view>{{allPrice}}</view>
</view>
<my-button shape="circle" height="80" width="220" @tap="toConfimOrder">
<text class="u-font-32 font-bold">{{table.type=='add'?'确认加菜':'去下单'}} </text>
</my-button>
</view> </view>
<view class="icon-car-box" @tap="toggleGoods"> <up-modal title="提示" content="是否清空全部已添加的商品?" :show="modal.clear" showCancelButton closeOnClickOverlay @confirm="confirmModelConfirm"
<image src="/pagesCreateOrder/static/images/icon-car.svg" class="icon-car" /> @cancel="setModalShow('clear',false)" @close="setModalShow('clear',false)" width="300px"></up-modal>
<view class="dot">{{goodsNumber}}</view>
</view>
<view class="price font-bold u-flex">
<view></view>
<view>{{allPrice}}</view>
</view>
<my-button shape="circle" height="80" width="220" @tap="toConfimOrder">
<text class="u-font-32 font-bold">{{table.type=='add'?'确认加菜':'去下单'}} </text>
</my-button>
</view> </view>
</template> </template>
<script setup> <script setup>
import go from '@/commons/utils/go.js'; import go from '@/commons/utils/go.js';
import infoBox from '@/commons/utils/infoBox.js'; import infoBox from '@/commons/utils/infoBox.js';
import {formatPrice} from '@/commons/utils/format.js'; import {
formatPrice
} from '@/commons/utils/format.js';
import { import {
computed, computed,
reactive,
ref ref
} from 'vue'; } from 'vue';
const props = defineProps({ const props = defineProps({
@@ -78,10 +87,11 @@
return [] return []
} }
}, },
isCreateOrderToDetail:{ isCreateOrderToDetail: {
type:Boolean,default:false type: Boolean,
default: false
}, },
user:{ user: {
type: Object, type: Object,
default: () => { default: () => {
return { return {
@@ -89,20 +99,41 @@
} }
} }
}, },
table:{ table: {
type: Object, type: Object,
default: () => { default: () => {
return { return {
tableId:'' tableId: ''
} }
} }
}, },
masterId:{ masterId: {
type: [String,Number], type: [String, Number],
default:'' default: ''
} }
}) })
const modal = reactive({
key: '',
clear:false
})
function confirmModelConfirm() {
if (modal.key == 'clear') {
clear()
}
}
function setModalShow(key = 'show', show = true) {
if (key == 'clear'&&show&&props.data.length<=0) {
return infoBox.showToast('购物车是空的!')
}
modal.key = key
modal[key] = show
console.log(modal);
}
const edmits = defineEmits(['clear', 'updateNumber']) const edmits = defineEmits(['clear', 'updateNumber'])
// mask // mask
@@ -122,20 +153,31 @@
function toConfimOrder() { function toConfimOrder() {
console.log(props.user); console.log(props.user);
if(props.data.length<=0){ if (props.data.length <= 0) {
return infoBox.showToast('还没有选择商品') return infoBox.showToast('还没有选择商品')
} }
const {tableId,name,maxCapacity,status,type}=props.table const {
go.to('PAGES_CONFIRM_ORDER',{ tableId,
masterId:props.masterId,type, name,
tableId,name,maxCapacity,status,isCreateOrderToDetail:props.isCreateOrderToDetail?1:0 maxCapacity,
status,
type
} = props.table
go.to('PAGES_CONFIRM_ORDER', {
masterId: props.masterId,
type,
tableId,
name,
maxCapacity,
status,
isCreateOrderToDetail: props.isCreateOrderToDetail ? 1 : 0
}) })
} }
const allPrice = computed(() => { const allPrice = computed(() => {
return props.data.reduce((prve,cur)=>{ return props.data.reduce((prve, cur) => {
return prve+cur.salePrice*cur.number return prve + cur.salePrice * cur.number
},0).toFixed(2) }, 0).toFixed(2)
}) })
const goodsNumber = computed(() => { const goodsNumber = computed(() => {
@@ -158,16 +200,9 @@
} }
function clear() { function clear() {
uni.showModal({ setModalShow('clear',false)
title: '提示', edmits('clear')
content: '是否清空全部已添加的商品?', hideGoods()
success(res) {
if (res.confirm) {
edmits('clear')
hideGoods()
}
}
})
} }
import myButton from '@/components/my-components/my-button.vue' import myButton from '@/components/my-components/my-button.vue'
@@ -249,6 +284,7 @@
justify-content: center; justify-content: center;
align-items: center; align-items: center;
z-index: 2; z-index: 2;
.dot { .dot {
position: absolute; position: absolute;
right: 0; right: 0;

View File

@@ -1,9 +1,11 @@
<template> <template>
<view class="u-relative u-flex item"> <view class="u-relative u-flex item">
<image lazy-load class="img" :src="data.coverImg" mode="" :style="computedImgStyle()"></image> <image lazy-load class="img" :src="data.coverImg" mode="aspectFill" :style="computedImgStyle()"></image>
<view class="info u-flex u-row-between u-col-top u-flex-col" @tap="emitEvent('add')"> <view class="info u-flex u-row-between u-col-top u-flex-col" @tap="emitEvent('add')">
<view> <view>
<view>{{data.name}}</view> <view>
<text class="u-line-2">{{data.name}}</text>
</view>
<view class="u-font-32 font-bold u-m-t-16"> <view class="u-font-32 font-bold u-m-t-16">
{{data.price}} {{data.price}}
</view> </view>

View File

@@ -52,7 +52,7 @@
:scroll-top="data.scrollTop" :scroll-into-view="data.itemId"> :scroll-top="data.scrollTop" :scroll-into-view="data.itemId">
<view v-for="(item,index) in data.tabbar" :key="index" class="u-tab-item" <view v-for="(item,index) in data.tabbar" :key="index" class="u-tab-item"
:class="[data.current == index ? 'u-tab-item-active' : '']" @tap.stop="swichMenu(index)"> :class="[data.current == index ? 'u-tab-item-active' : '']" @tap.stop="swichMenu(index)">
<text class="u-line-1">{{item.name}}</text> <text class="u-line-3">{{item.name}}</text>
</view> </view>
</scroll-view> </scroll-view>
<scroll-view :scroll-top="data.scrollRightTop" scroll-y scroll-with-animation class="right-box" <scroll-view :scroll-top="data.scrollRightTop" scroll-y scroll-with-animation class="right-box"
@@ -158,7 +158,6 @@
reactive, reactive,
ref, ref,
nextTick, nextTick,
getCurrentInstance,
watch watch
} from 'vue'; } from 'vue';
import myCar from './components/car' import myCar from './components/car'
@@ -179,7 +178,6 @@
canXiadan.value=await hasPermission('允许下单') canXiadan.value=await hasPermission('允许下单')
} }
xiadanClick() xiadanClick()
const instance = getCurrentInstance();
//临时菜 //临时菜
const lingshi = reactive({ const lingshi = reactive({
show: false show: false
@@ -1171,6 +1169,8 @@
color: #444; color: #444;
font-weight: 400; font-weight: 400;
line-height: 1; line-height: 1;
box-sizing: border-box;
padding-left: 12rpx;
} }
.u-tab-item-active { .u-tab-item-active {

View File

@@ -5,7 +5,7 @@
<template v-if="orderInfo.status=='unpaid'&&data.status!='return'"> <template v-if="orderInfo.status=='unpaid'&&data.status!='return'">
<my-button plain shape="circle" :width="160" :height="56" @click="tuicai">退菜</my-button> <my-button plain shape="circle" :width="160" :height="56" @click="tuicai">退菜</my-button>
</template> </template>
<template v-if="orderInfo.status=='closed'"> <template v-if="orderInfo.status=='closed'&&data.status!='return'">
<my-button plain shape="circle" :width="160" :height="56" @click="tuikuan">退款</my-button> <my-button plain shape="circle" :width="160" :height="56" @click="tuikuan">退款</my-button>
</template> </template>
</view> </view>

View File

@@ -40,7 +40,13 @@
<view class="line-th color-666 ">{{item.salePrice||item.price}}</view> <view class="line-th color-666 ">{{item.salePrice||item.price}}</view>
</template> </template>
<template v-else> <template v-else>
<view>{{item.salePrice||item.price}}</view> <template v-if="item.priceAmount<=0">
<view>0.00</view>
<view class="line-th color-666 ">{{returnTotalMoney(item)}}</view>
</template>
<template v-else>
<view>{{item.priceAmount}}</view>
</template>
</template> </template>
<view class="u-m-t-22 color-999 u-font-24">X{{item.number||item.num}}</view> <view class="u-m-t-22 color-999 u-font-24">X{{item.number||item.num}}</view>
</view> </view>
@@ -54,12 +60,15 @@
@tap="tuicai(item,index)"><text class="no-wrap">退菜</text></my-button> @tap="tuicai(item,index)"><text class="no-wrap">退菜</text></my-button>
</view> </view>
</template> </template>
<template v-if="orderInfo.status=='closed'"> <template v-if="item.status!='refund'">
<view class="u-flex u-row-right gap-20 u-m-t-20" v-if="item.status!='return'"> <template v-if="orderInfo.status=='closed'||orderInfo.status=='refund'">
<my-button :width="128" :height="48" plain shape="circle" <view class="u-flex u-row-right gap-20 u-m-t-20" v-if="item.status!='return'">
@tap="tuikuan(item,index)"><text class="no-wrap">退款</text> </my-button> <my-button :width="128" :height="48" plain shape="circle"
</view> @tap="tuikuan(item,index)"><text class="no-wrap">退款</text> </my-button>
</view>
</template>
</template> </template>
</view> </view>
</view> </view>
<!-- <view class="bg-gray u-p-20 u-m-t-20" v-if="orderInfo.remark"> <!-- <view class="bg-gray u-p-20 u-m-t-20" v-if="orderInfo.remark">
@@ -128,8 +137,12 @@
computed computed
} from 'vue'; } from 'vue';
import color from '@/commons/color.js' import color from '@/commons/color.js'
import {hasPermission} from '@/commons/utils/hasPermission.js'
const emits = defineEmits(['tuicai', 'tuikuan', 'printOrder']) const emits = defineEmits(['tuicai', 'tuikuan', 'printOrder'])
function returnTotalMoney(item){
return (item.price*item.num).toFixed(2)
}
function to2(n){ function to2(n){
if(!n){ if(!n){
return 0 return 0
@@ -142,7 +155,11 @@
} }
function tuikuan(item, index) { function tuikuan(item, index) {
emits('tuikuan', item, index) hasPermission('允许退款').then(res=>{
if(res){
emits('tuikuan', item, index)
}
})
} }
function printOrder() { function printOrder() {
@@ -175,7 +192,7 @@
const goodsPrice = props.data.reduce((prve, cur) => { const goodsPrice = props.data.reduce((prve, cur) => {
const curTotal = cur.info.filter(v => v.isGift !== "true" && v.status !== "return").reduce((a, const curTotal = cur.info.filter(v => v.isGift !== "true" && v.status !== "return").reduce((a,
b) => { b) => {
return a + (b.salePrice || b.price) * (b.number || b.num) return a + b.priceAmount*1
}, 0) }, 0)
return prve + curTotal return prve + curTotal
}, 0) }, 0)

View File

@@ -40,7 +40,7 @@
</view> </view>
<view class="u-flex u-flex-1 u-row-right"> <view class="u-flex u-flex-1 u-row-right">
<view>×{{item.num}}</view> <view>×{{item.num}}</view>
<view class="u-text-right" :style="computedPriceStyle()">{{item.price}}</view> <view class="u-text-right" :style="computedPriceStyle()">{{item.priceAmount}}</view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -177,8 +177,8 @@
function setUser(par) { function setUser(par) {
console.log(option); console.log(option);
const submitPar = { const submitPar = {
masterId: option.masterId, tableId: order.tableId,
tableId: option.tableId, masterId: order.masterId,
vipUserId: user.value.id ? user.value.id : '', vipUserId: user.value.id ? user.value.id : '',
type: user.value.id ? 0 : 1 //0 设置 1 取消 type: user.value.id ? 0 : 1 //0 设置 1 取消
} }

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1729662523365" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4294" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M512 493.568c-32.256 0-58.88-26.112-58.88-58.88V58.88C453.12 26.112 479.744 0 512 0s58.88 26.112 58.88 58.88v375.808c0 32.256-26.624 58.88-58.88 58.88z" fill="#318AFE" p-id="4295"></path><path d="M512 1024c-273.92 0-496.64-222.72-496.64-496.64 0-202.752 121.344-382.976 309.248-459.776 30.208-12.288 64.512 2.048 76.8 32.256 12.288 30.208-2.048 64.512-32.256 76.8C225.792 235.008 133.12 372.736 133.12 527.36c0 208.896 169.984 378.88 378.88 378.88s378.88-169.984 378.88-378.88c0-154.624-92.672-292.352-236.032-351.232-30.208-12.288-44.544-46.592-32.256-76.8 12.288-30.208 46.592-44.544 76.8-32.256 187.904 76.8 309.248 257.024 309.248 459.776 0 274.432-222.72 497.152-496.64 497.152z" fill="#318AFE" p-id="4296"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -6,6 +6,8 @@
发布APP: HBuilderX 3.6.5 ( 3.6.11 app调试报错 ) 发布APP: HBuilderX 3.6.5 ( 3.6.11 app调试报错 )
H5, 不影响。 H5, 不影响。
###apk下载地址
* <https://mp-3b7dba1a-2dfb-4c7a-a239-2ab2157f829a.cdn.bspapp.com/cloudstorage/__UNI__66E7BD0_20241023141536.apk>
### 全局文件结构 ### 全局文件结构
* commons->utils>hasPermission.js 全局权限验证文件 * commons->utils>hasPermission.js 全局权限验证文件