cashier_app/pagesCreateOrder/confirm-order/confirm-order.vue

993 lines
26 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page-gray color-333 u-font-28">
<template v-if="true">
<view class="block u-p-t-32 u-p-b-32" v-if="pageData.table&&pageData.table.id">
<view>桌位号</view>
<view class="font-bold u-font-32 u-m-t-16">
{{pageData.table.name||''}}
</view>
</view>
<view class="block">
<view class="u-p-b-24 u-m-b-24 border-bottom">
<view>选择用户</view>
<view class="u-m-t-24 u-flex u-row-between " @tap="chooseUser">
<view v-if="!pageData.user||!pageData.user.id">选择用户</view>
<view class="u-flex" v-if="pageData.user&&pageData.user.id">
<up-avatar :src="pageData.user.headImg" shape="square" :size="30"></up-avatar>
<view class="u-m-l-20">
<view class="">{{pageData.user.nickName}}</view>
</view>
<view class="u-font-24 u-m-l-30 u-text-center"><text>余额:</text><text
class="color-main">{{pageData.user.amount}}</text>
</view>
<view class="u-font-24 u-m-l-30 u-text-center"><text>积分:</text><text
class="color-main">{{pageData.user.accountPoints}}</text></view>
</view>
<uni-icons type="right" color="#999" size="20" bold></uni-icons>
</view>
</view>
<view class=" ">
<view>就餐类型</view>
<view class="u-m-t-24 u-flex ">
<view class="u-flex color-666">
<up-radio-group :disabled="option.type=='add'" v-model="pageData.eatTypes.active" placement="row">
<up-radio :customStyle="{marginRight: '30px'}" v-for="(item, index) in pageData.eatTypes.list"
:key="index" :label="item.name" :name="item.value">
</up-radio>
</up-radio-group>
</view>
</view>
</view>
</view>
<template v-if="pageData.user&&pageData.user.id">
<view class="block">
<view class="">
<view class="u-flex border-bottom u-p-b-24 ">
<up-avatar :src="pageData.user.headImg" shape="square" :size="60"></up-avatar>
<!-- <image class="headeimg" src="@/static/uni.png" mode=""></image> -->
<view class="u-m-l-32">
<view class="">{{pageData.user.nickName}}</view>
<view class="color-main u-font-24">{{pageData.user.isVip?'会员':'' }}</view>
</view>
</view>
<view class="u-flex u-m-t-24 u-row-between u-font-24 color-999">
<view class="u-flex">
<view>余额</view>
<view class="color-333 u-m-l-10"> {{pageData.user.amount}}</view>
</view>
<view class="u-flex">
<view>积分</view>
<view class="color-333 u-m-l-10"> {{pageData.user.accountPoints}}</view>
</view>
<view class="u-flex">
<view class="u-text-center">订单数量</view>
<view class="color-333 u-m-l-10">{{pageData.user.orderNumber||0}}</view>
</view>
</view>
</view>
</view>
</template>
<template v-if="!pageData.shopInfo.isTableFee">
<!-- 不免餐位费 -->
<view class="block">
<view class=" ">
<view>用餐人数(人)</view>
<picker @change="userNumberChange" :value="userNumbers.defaultCateIndex"
:range="userNumbers.list">
<view class="u-m-t-24 u-flex u-row-between ">
<view class="color-333">{{userNumbers.defaultCateIndex*1+1+'人'}}</view>
<uni-icons type="right" color="#999" size="16"></uni-icons>
</view>
</picker>
</view>
</view>
</template>
<!-- <template v-if="goods.list[0].tableId&&goods.list[0].orderId">
<view class="block" @tap="rotatingTables"
style="display: flex;align-items: center;justify-content: space-between;">
<view>转桌/并桌</view>
<uni-icons type="right" color="#999" size="16"></uni-icons>
</view>
</template> -->
</template>
<view class="block">
<view class="u-p-b-24 ">
<view class="font-bold">订单备注</view>
<view class="u-m-t-32 u-flex ">
<uni-easyinput type="textarea" v-model="pageData.form.note" placeholder="请输入备注"></uni-easyinput>
</view>
</view>
</view>
<view class="block u-m-b-0">
<view class="u-flex">
<view>共</view>
<view class="fen font-bold">{{goodsNumber}}</view>
<view>份菜品</view>
</view>
<view class="goods u-m-t-32">
<view class="item u-m-b-48" @click="changeGoodsSel(index)" v-for="(item,index) in goods.list"
:key="index">
<view class="u-flex u-row-between ">
<view class="u-flex">
<image class="img" v-if="item.coverImg" :src="item.coverImg" mode=""></image>
<view
style="background-color: #3f9eff; width: 84rpx;height: 84rpx;line-height: 84rpx;text-align: center;color: #fff;"
v-else>
临时菜
</view>
<view class="u-m-l-32">
<view class="u-flex">
<view class="u-flex u-m-r-20" v-if="item.is_wait_call" style="flex-shrink: 0;" >
<uni-tag text="等叫"
custom-style="background-color: #FFF0DF; border-color: #FFF0DF; color: #FF9F2E;">
</uni-tag>
</view>
<view class="u-m-r-20 u-flex" v-if="item.is_gift" style="flex-shrink: 0;" >
<uni-tag text="赠送"
custom-style="background-color: #FFF0DF; border-color: #FFF0DF; color: #FF9F2E;">
</uni-tag>
</view>
<view class="u-m-r-20 u-flex" v-if="item.pack_number>0" style="flex-shrink: 0;" >
<uni-tag
custom-style="background-color: #E6F0FF; border-color: #E6F0FF; color: #318AFE;"
size="small" text="打包" inverted type="success" />
</view>
<view class="u-m-r-20 u-flex" v-if="item.is_print" style="flex-shrink: 0;" >
<uni-tag
custom-style="background-color: #E6F0FF; border-color: #E6F0FF; color: #318AFE;"
size="small" text="打印" inverted type="success" />
</view>
<view>
{{item.name}}
</view>
</view>
<view class="u-font-24 color-999 u-m-t-10">{{item.specInfo||' '}}</view>
</view>
</view>
<view class="">
<view class=" u-relative">
<template v-if="item.is_gift">
<text class="line-th color-999">¥{{formatPrice(item.lowPrice*item.number) }}</text>
<view class="u-absolute" style="right: 0;bottom: 100%;">
<text class="font-bold">¥0</text>
</view>
</template>
<template v-else>
<template v-if="isVip&&item.lowMemberPrice&&item.lowMemberPrice*1!=item.lowPrice*1">
<text
class="line-th color-999">¥{{formatPrice(item.lowPrice*item.number) }}</text>
<view class="u-absolute" style="right: 0;bottom: 100%;">
<text
class="font-bold">¥{{formatPrice(item.lowMemberPrice*item.number) }}</text>
</view>
</template>
<template v-else>
<view class="font-bold">
<text>¥</text>
<text class="">{{formatPrice(item.lowPrice*item.number) }}</text>
</view>
</template>
</template>
</view>
<view class="color-999 u-text-right u-font-24 u-m-t-12">×{{item.number}}</view>
</view>
</view>
<template v-if="item.remark">
<view class="u-p-20 bg-gray u-m-t-16">
{{item.remark}}
</view>
</template>
<scroll-view class="u-m-t-32" scroll-x="true" v-if="index==goods.sel">
<view class=" u-flex no-wrap ">
<view class="u-flex u-m-r-20 " v-if="!item.is_gift">
<button class="tag" hover-class="hover-class"
@tap="showModel('discount',index)">单品打折</button>
</view>
<view class="u-flex u-m-r-20 ">
<!-- <button class="tag" hover-class="hover-class" @tap="showModel('giveFood')">赠菜</button> -->
<button class="tag" hover-class="hover-class"
@tap="toggleItem(item,'is_gift')">{{item.is_gift?'取消赠送':'赠送'}}</button>
</view>
<view class="u-flex u-m-r-20 ">
<button class="tag" hover-class="hover-class"
@tap="showModel('packNumber',index,item)">{{item.pack_number>0?'取消打包':'打包'}}</button>
</view>
<view class="u-flex u-m-r-20 ">
<button class="tag" hover-class="hover-class"
@tap="toggleItem(item,'is_wait_call')">{{item.is_wait_call?'取消等叫':'等叫'}}</button>
</view>
<view class="u-flex u-m-r-20 ">
<button class="tag" hover-class="hover-class"
@tap="toggleItem(item,'is_print')">{{item.is_print?'免厨打':'打印'}}</button>
</view>
<view class="u-flex u-m-r-20 ">
<button class="tag" hover-class="hover-class"
@tap="showModel('remark',index)">单品备注</button>
</view>
</view>
</scroll-view>
</view>
</view>
<view class="border-bottom">
<template v-if="$seatFee&&$seatFee.totalAmount">
<view class="u-flex u-row-between u-m-t-18 u-p-b-34 ">
<view>
<text>桌位费</text>
</view>
<view>¥{{$seatFee.totalAmount||'0.00'}}</view>
</view>
</template>
<template v-if="$packFee>0">
<view class="u-flex u-row-between u-m-t-18 u-p-b-34 ">
<view>
<text>打包费</text>
</view>
<view>¥{{$packFee||'0.00'}}</view>
</view>
</template>
</view>
<view class="u-flex u-row-between u-m-t-38">
<view class="u-flex">
<view class="u-flex price" v-if="youhui*1>0">
<view class="">优惠金额</view>
<view class="font-bold u-font-32">¥{{formatPrice(youhui) }}</view>
</view>
</view>
<view class="u-flex price u-m-l-32">
<view class="">实收金额</view>
<view class="font-bold u-font-32">¥{{formatPrice(allPrice) }}</view>
</view>
</view>
</view>
<view :style="{height:bottomHeight+'px'}"></view>
<view class="safe-bottom fixed">
<view class="btn ">
<my-button shape="circle" @click="createAnOrder">
<view class="font-bold u-font-32">
{{(pageData.shopInfo.registerType=='before'||pageData.eatTypes.active=='take-out')?'结算': '下单'}}
</view>
</my-button>
</view>
</view>
<model-discount title="菜品减免" :ref="setModel" name="discount" :price="modelData.data.salePrice"
@confirm="discountconfirm"></model-discount>
<give-food title="赠菜" :ref="setModel" name="giveFood"></give-food>
<one-remark @confirm="goodsOneRemarkConfirm" title="单品备注" :ref="setModel" name="remark"></one-remark>
<pack-number @confirm="goodsOnePackNumberConfirm" title="打包" :ref="setModel" name="packNumber"></pack-number>
<edit-discount title="优惠金额" :ref="setModel" name="editMoney" :price="allPrice"></edit-discount>
</view>
</template>
<script setup>
import { onLoad, onReady, onShow } from '@dcloudio/uni-app'
import { ref, inject, onBeforeUnmount, reactive, computed, watch } from 'vue';
import { getSafeBottomHeight } from '@/commons/utils/safe-bottom.js'
import modelDiscount from './components/discount'
import giveFood from './components/give-food'
import packNumber from './components/pack-number'
import oneRemark from './components/remark'
import editDiscount from '@/pagesCreateOrder/components/edit-discount.vue'
import go from '@/commons/utils/go.js';
import { returnBoolean } from '@/commons/utils/format.js';
import color from '@/commons/color.js';
import * as Api from '@/http/yskApi/Instead.js'
import $storageManage from '@/commons/utils/storageManage.js'
import { hasPermission } from '@/commons/utils/hasPermission.js'
import { getNowCart } from '@/pagesCreateOrder/util.js'
import { getShopInfo } from '@/api/shop.js'
import { getShopTableDetail } from '@/api/table.js'
import { getProductList } from '@/api/product.js'
import { createOrder } from '@/api/order.js'
import { number } from 'uview-plus/libs/function/test';
const models = new Map();
const modelData = reactive({
data: {},
selIndex: -1
})
const option = reactive({
masterId: '',
tableId: ""
})
/**
* 用餐人数
*/
const userNumbers = reactive({
list: new Array(100).fill(1).map((v, index) => {
// return index === 0 ? '无' : index + '人'
return (index + 1) + '人'
}),
defaultCateIndex: 0,
})
const f = reactive({})
let $goods = []
const goods = reactive({
list: [],
sel: 0
})
const pageData = reactive({
shopInfo: {},
table: {},
user: {},
eatTypes: {
list: [{
name: "堂食",
value: "dine-in",
},
{
name: "外带",
value: "take-out",
}
// ,
// {
// name: "外卖",
// value: "take-away",
// }
],
active: 'dine-in'
},
form: {
note: ""
}
})
onLoad((opt) => {
Object.assign(option, opt)
console.log(opt);
if (opt) {
userNumbers.list = new Array(opt.maxCapacity ? opt.maxCapacity * 1 : 100).fill(1).map((v, index) => {
return (index + 1) + '人'
})
getTableInfo(opt.tableId)
}
getTbShopInfo()
init()
})
let bottomHeight = ref(100)
onReady(() => {
getSafeBottomHeight('safe-bottom').then(res => {
console.log(res);
bottomHeight.value = res
})
})
watch(() => userNumbers.defaultCateIndex, (newval) => {
updateChoseCount()
})
watch(() => eatTypes.active, (newval) => {
changeUseType()
})
onBeforeUnmount(() => {
})
onShow(() => {
watchChooseuser()
watchChooseTable()
})
//餐位费
const $seatFee = reactive({
totalNumber: 0,
totalAmount: 0,
})
/**
* 打包费
*/
const $packFee = computed(() => {
return goods.list.reduce((prve, cur) => {
return prve + (cur.packFee*parseFloat(cur.pack_number).toFixed(0))
}, 0).toFixed(2)
})
/**
* 菜品数量
*/
const goodsNumber = computed(() => {
const result = goods.list.reduce((prve, cur) => {
return prve + cur.number
}, 0)
return result
})
const isVip = computed(() => {
console.log("pageData==",pageData)
return pageData.shopInfo.isMemberPrice && pageData.user && pageData.user.id && pageData.user.isVip
})
const discount_sale_amount = computed(() => {
return goods.list.filter((v) => v.discount_sale_amount && v.discount_sale_amount > 0)
.reduce((a, b) => {
const lowMemberPrice = b.lowMemberPrice ? b.lowMemberPrice : b.lowPrice
const tPrice = (isVip.value ? lowMemberPrice : b.lowPrice)
return a + b.number * (tPrice-b.discount_sale_amount);
}, 0);
})
const goodsPrice = computed(() => {
console.log("isVip===",isVip.value)
const goodsTotalPrice = goods.list.reduce((prve, cur) => {
const lowMemberPrice = cur.lowMemberPrice ? cur.lowMemberPrice : cur.lowPrice
const tPrice = (isVip.value ? lowMemberPrice : cur.lowPrice) * cur.number
const tpackFee = parseFloat(cur.pack_number).toFixed(0) > 0 ? cur.packFee*parseFloat(cur.pack_number).toFixed(0) : 0
return prve + (cur.is_gift ? 0 : tPrice) + tpackFee
}, 0)
console.log("discount_sale_amount===",discount_sale_amount)
return ((goodsTotalPrice - discount_sale_amount.value) || 0).toFixed(2)
})
const allPrice = computed(() => {
console.log("isVip===",goodsPrice.value)
const n = goodsPrice.value * 1 + $seatFee.totalAmount
return n.toFixed(2)
})
/**
* 计算优惠金额
*/
const youhui = computed(() => {
let goodsTotalPrice = 0
if (pageData.user && pageData.user.id && pageData.user.isVip) {
goodsTotalPrice = goods.list.reduce((prve, cur) => {
const tPrice = cur.lowPrice * cur.number
const tpackFee = cur.is_pack ? cur.packFee * 1 : 0
return prve + tPrice + tpackFee
}, 0)
return goodsTotalPrice - allPrice.value
} else {
return (discount_sale_amount.value)
}
return (goodsTotalPrice + discount_sale_amount.value * 1).toFixed(2)
})
const websocketUtil = inject('websocketUtil'); // 注入 WebSocket 工具类实例
/**
* socket消息监听
*/
websocketUtil.onMessage(data => {
let msg = JSON.parse(data);
let cartItem;
if( msg.msg_id ){
// console.log('Received data:', msg);
websocketUtil.send(JSON.stringify({
type: 'receipt',
msg_id: msg.msg_id,
}))
}
if( msg.status == 0 ){
infoBox.showToast('添加失败')
return false;
}
switch (msg.operate_type) {
case 'onboc_init':
goods.list = []
msg.data.map(item=>{
cartItem = getNowCart(item,$goods)
goods.list.push(cartItem)
})
console.log("goods.list===",goods.list)
break;
}
});
async function init() {
let goodsRes = await getGoods()
// await getCart()
$goods = goodsRes.records
console.log($seatFee);
if (!$seatFee.totalNumber) {
updateChoseCount()
}
getCart()
}
/**
* 获取商品列表
*/
function getGoods() {
return getProductList({
page: 1,
size: 300
},'product', false)
}
/**
* 获取购物车数据
*/
function getCart() {
// 初始化购物车
websocketUtil.send(JSON.stringify({
type:'onboc',
account: uni.getStorageSync("iToken").loginId,
shop_id: uni.getStorageSync("shopInfo").id,
operate_type:'init',
table_code: pageData.table.tableCode,
}))
// pageData.eatTypes.active = useType == 'take-out' ? useType : useType.replace(
// /-after|-before/g, '');
}
/**
* 获取店铺信息
*/
async function getTbShopInfo() {
const res = await getShopInfo({id: uni.getStorageSync('shopInfo').id})
pageData.shopInfo = res
}
/**
* 获取桌台信息
*/
async function getTableInfo(id) {
const res = await getShopTableDetail({id: id})
pageData.table = res
}
/**
* 更新选择用户
*/
function watchChooseuser() {
uni.$off('choose-user')
uni.$on('choose-user', (data) => {
pageData.user = data
goods.list.map(item => {
let par = {
id: item.id,
product_id: item.product_id ,
sku_id: item.sku_id
}
let lowMemberPrice = item.lowMemberPrice ? item.lowMemberPrice : item.lowPrice
let tPrice = (isVip.value ? lowMemberPrice : item.lowPrice)
let discount_sale_amount = item.is_gift ? 0 : tPrice
par['discount_sale_amount'] = discount_sale_amount
updateCart(par)
}, 0)
})
}
/**
* 就餐类型切换监听
*/
async function changeUseType() {
const { registerType } = pageData.shopInfo
//before 先付 after 后付
const isPayAfter = registerType == "before" ? false : true;
let useType = "take-out";
if (pageData.eatTypes.active == "take-out") {
uni.setStorageSync("useType", "take-out");
} else {
//堂食
useType = `dine-in-${isPayAfter? "after" : "before"}`;
uni.setStorageSync("useType", useType);
}
const tableId = useType == 'take-out' ? undefined : pageData.table.id;
if (!goods.list.length) {
return
}
const res = await Api.$changeUseType({
useType,
tableId: tableId || '',
cartIds: goods.list.map((v) => v.id),
})
getCart()
return res
}
/**
* 购物车数据修改
* @param {Object} par
*/
function updateCart (par) {
// 初始化购物车
websocketUtil.send(JSON.stringify({
type:'onboc',
account: uni.getStorageSync("iToken").loginId,
shop_id: uni.getStorageSync("shopInfo").id,
operate_type:'edit',
table_code: pageData.table.tableCode,
...par
}))
getCart()
}
/**
* 菜品赠送/等叫/打印修改
* @param {Object} item
*/
function toggleItem(item,key) {
let par = {
id: item.id,
product_id: item.product_id ,
sku_id: item.sku_id
}
par[key] = item[key] == 0 ? 1 : 0
updateCart(par)
}
/**
* 打包
*/
function toggleIsPack (item,key) {
let par = {
id: item.id,
product_id: item.product_id ,
sku_id: item.sku_id,
pack_num: 0
}
par['pack_number'] = item['pack_number'] == 0 ? 1 : 0
updateCart(par)
}
/**
* 单品打折
* @param {Object} form
*/
async function discountconfirm(form) {
if (form.discountMoney != '.') {
let str = ''
if (form.notes) {
form.notes.forEach(ele => {
if (ele.checked) {
str = str + ele.name + ','
}
})
}
let lowMemberPrice = modelData.data.lowMemberPrice ? modelData.data.lowMemberPrice : modelData.data.lowPrice
let tPrice = (isVip.value ? lowMemberPrice : modelData.data.lowPrice)
let discount_sale_amount = modelData.data.is_gift ? 0 : tPrice - form.discountMoney
let par = {
id: modelData.data.id,
product_id: modelData.data.product_id,
sku_id: modelData.data.sku_id,
discount_sale_amount: discount_sale_amount,
discount_sale_note: str + form.note,
}
updateCart(par)
}
}
/**
* 打包
*/
function goodsOnePackNumberConfirm (e) {
let par = {
id: modelData.data.id,
product_id: modelData.data.product_id ,
sku_id: modelData.data.sku_id,
pack_number: e
}
updateCart(par)
}
/**
* 单品备注确认
* @param {Object} e
*/
async function goodsOneRemarkConfirm(e) {
let par = {
id: modelData.data.id,
product_id: modelData.data.product_id,
sku_id: modelData.data.sku_id,
remark: e.remark
}
updateCart(par)
}
/**
* 设置弹窗信息
* @param {Object} el
*/
function setModel(el) {
if (el && el.$attrs['name']) {
models.set(el.$attrs['name'], el);
}
}
/**
* 打开弹窗
* @param {Object} key
* @param {Object} index
*/
function showModel(key, index, item) {
modelData.data = goods.list[index]
modelData.selIndex = index
const model = models.get(key)
if( key == 'packNumber'){
if( item.pack_number > 0 ){
let par = {
id: modelData.data.id,
product_id: modelData.data.product_id ,
sku_id: modelData.data.sku_id,
pack_number: 0
}
updateCart(par)
return false;
}
model && model.open({
number: item.number
})
} else {
model && model.open({
packNumber: modelData.data.remark || ''
})
}
}
function formatPrice(n) {
return Number(n).toFixed(2)
}
function rotatingTables() {
uni.navigateTo({
url: '/pagesCreateOrder/confirm-order/rotatingTables?item='+JSON.stringify(goods.list),
})
}
/**
* 更新就餐人数
*/
async function updateChoseCount() {
const maxCapacity = pageData.table.id ? (pageData.table.maxCapacity || 0) : 100
if (pageData.table.id && userNumbers.defaultCateIndex * 1 + 1 > maxCapacity) {
uni.showToast({
title: '当前台桌最大人数为: ' + maxCapacity
})
userNumbers.defaultCateIndex = maxCapacity - 1
return
}
if (!pageData.shopInfo.isTableFee && pageData.table.id) {
//不免餐位费
let seatFee = {
totalNumber: userNumbers.defaultCateIndex * 1 + 1,
totalAmount: (userNumbers.defaultCateIndex * 1 + 1) * pageData.shopInfo.tableFee,
}
Object.assign($seatFee, seatFee)
userNumbers.defaultCateIndex = $seatFee.totalNumber - 1
}
}
/**
* 选择就餐人数
* @param {Object} e
*/
function userNumberChange(e) {
console.log(e);
userNumbers.defaultCateIndex = e.detail.value
}
function chooseUser() {
go.to('PAGES_CHOOSE_USER')
}
function chooseTable() {
go.to('PAGES_CHOOSE_TABLE', {
...pageData.table
})
}
function watchChooseTable() {
uni.$off('choose-table')
uni.$on('choose-table', (data) => {
pageData.table = data
console.log(pageData.table);
})
}
function changeGoodsSel(index) {
goods.sel = index
}
/**
* 创建订单
*/
async function createAnOrder() {
if (pageData.shopInfo.registerType == 'before' || pageData.eatTypes.active == 'take-out') {
const canJiesuan = await hasPermission('允许收款')
if (!canJiesuan) {
return
}
}
let vipPrice = isVip.value ? 1 : 0
let par = {
shopId: pageData.shopInfo.id, //店铺Id
userId: pageData.user.userId, //用户Id
tableCode: pageData.table.tableCode, //台桌编码
dineMode: pageData.eatTypes.active, //用餐模式 堂食 dine-in 外带 take-out 外卖 take-away
remark: pageData.form.note, //备注
seatNum: userNumbers.defaultCateIndex * 1 + 1, //用餐人数
packFee: $packFee.value, //打包费
originAmount: goodsPrice.value, //订单原金额(包含打包费+餐位费) 不含折扣价格
placeNum: 0, //当前订单下单次数
waitCall: 0, //是否等叫 0 否 1 等叫
vipPrice: vipPrice, //是否使用会员价
}
console.log(userNumbers.defaultCateIndex * 1 + 1)
console.log(pageData.shopInfo.registerType)
const res = await createOrder(par)
uni.$emit('update:createOrderIndex')
websocketUtil.send(JSON.stringify({
type:'onboc',
account: uni.getStorageSync("iToken").loginId,
shop_id: uni.getStorageSync("shopInfo").id,
operate_type:'cleanup',
table_code: pageData.table.tableCode,
}))
if (pageData.shopInfo.registerType == 'before' || pageData.eatTypes.active == 'take-out') {
//先付
return go.to('PAGES_ORDER_PAY', {
orderId: res.id,
isNowPay: true
}, 'redirect')
} else {
//后付
console.log(option.isCreateOrderToDetail);
if (option.isCreateOrderToDetail != '0') {
console.log('PAGES_ORDER_DETAIL');
go.to('PAGES_ORDER_DETAIL', {
id: res.id
}, 'redirect')
} else {
console.log('back');
uni.navigateBack({
delta: 2
})
}
}
uni.showToast({
title: '提交成功',
icon: 'none'
})
}
</script>
<style lang="scss" scoped>
.fen {
color: #FF9F2E;
}
.page-gray {
padding: 32rpx 28rpx 0 28rpx;
}
.headeimg {
width: 84rpx;
height: 84rpx;
border-radius: 12rpx 12rpx 12rpx 12rpx;
}
.block {
background-color: #fff;
padding: 32rpx 24rpx;
border-radius: 18rpx;
margin-bottom: 32rpx;
}
.textarea {
border-radius: 12rpx 12rpx 12rpx 12rpx;
padding: 32rpx 0 32rpx 24rpx;
border: 1px solid #999999;
overflow: hidden;
}
.goods {
// padding-bottom: 30rpx;
border-bottom: 1px dashed #E5E5E5;
.item {
.img {
width: 84rpx;
height: 84rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
}
}
}
.headeimg {
width: 60rpx;
height: 60rpx;
display: flex;
background-color: #eee;
border-radius: 12rpx;
overflow: hidden;
.img {
width: 60rpx;
height: 60rpx;
}
}
.price {
color: #EB4F4F;
}
.opacity0 {
opacity: 0;
}
.fixed {
position: fixed;
}
.safe-bottom {
padding: 34rpx 28rpx;
background-color: #fff;
left: 0;
right: 0;
bottom: 0;
z-index: 10;
.btn {
padding: 0 88rpx 56rpx 88rpx;
}
}
.tag {
background-color: #fff;
border: 1px solid #E5E5E5;
line-height: inherit;
font-size: 24rpx;
color: #666666;
padding: 6rpx 16rpx;
border-radius: 100rpx;
}
.hover-class {
background-color: #E5E5E5;
}
</style>