修复部分样式问题,修改清空购物车弹框

This commit is contained in:
YeMingfei666 2024-10-22 14:24:24 +08:00
parent 40e9f10bcc
commit a183514533
2 changed files with 117 additions and 79 deletions

View File

@ -1,4 +1,6 @@
<template>
<view>
<view class="mask" @tap="hideGoods" v-if="switchGoods"></view>
<view class="car border-top u-flex u-row-between u-col-bottom u-relative">
<view class="u-absolute goods bg-fff">
@ -7,7 +9,7 @@
<view>已添加{{goodsNumber}}件商品</view>
<view class="color-666">
<uni-icons color="#666" type="trash"></uni-icons>
<text class="u-m-l-10" @tap="clear">清空</text>
<text class="u-m-l-10" @tap="setModalShow('clear',true)">清空</text>
</view>
</view>
<scroll-view scroll-y="true" class="tranistion" :style="{height:switchGoods?'50vh':0 }">
@ -21,11 +23,11 @@
</view>
</view>
<!-- 占位 -->
<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="color-333 item border-top u-flex u-row-center u-row-between"
v-for="(item,index) in data" :key="index">
<view class="">
<view>{{item.name}}</view>
<view class="u-m-t-10 u-font-24 color-666">{{item.specSnap||''}}</view>
<view class="u-line-1">{{item.name}}</view>
<view class="u-m-t-10 u-font-24 color-666 u-line-1">{{item.specSnap||''}}</view>
</view>
<view class="u-flex">
<view class="font-bold red u-m-r-32">{{formatPrice(item.salePrice*item.number) }}</view>
@ -59,16 +61,23 @@
<text class="u-font-32 font-bold">{{table.type=='add'?'确认加菜':'去下单'}} </text>
</my-button>
</view>
<up-modal title="提示" content="是否清空全部已添加的商品?" :show="modal.clear" showCancelButton closeOnClickOverlay @confirm="confirmModelConfirm"
@cancel="setModalShow('clear',false)" @close="setModalShow('clear',false)" width="300px"></up-modal>
</view>
</template>
<script setup>
import go from '@/commons/utils/go.js';
import infoBox from '@/commons/utils/infoBox.js';
import {formatPrice} from '@/commons/utils/format.js';
import {
formatPrice
} from '@/commons/utils/format.js';
import {
computed,
reactive,
ref
} from 'vue';
const props = defineProps({
@ -79,7 +88,8 @@
}
},
isCreateOrderToDetail: {
type:Boolean,default:false
type: Boolean,
default: false
},
user: {
type: Object,
@ -102,6 +112,27 @@
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'])
@ -125,10 +156,21 @@
if (props.data.length <= 0) {
return infoBox.showToast('还没有选择商品')
}
const {tableId,name,maxCapacity,status,type}=props.table
const {
tableId,
name,
maxCapacity,
status,
type
} = props.table
go.to('PAGES_CONFIRM_ORDER', {
masterId:props.masterId,type,
tableId,name,maxCapacity,status,isCreateOrderToDetail:props.isCreateOrderToDetail?1:0
masterId: props.masterId,
type,
tableId,
name,
maxCapacity,
status,
isCreateOrderToDetail: props.isCreateOrderToDetail ? 1 : 0
})
}
@ -158,17 +200,10 @@
}
function clear() {
uni.showModal({
title: '提示',
content: '是否清空全部已添加的商品?',
success(res) {
if (res.confirm) {
setModalShow('clear',false)
edmits('clear')
hideGoods()
}
}
})
}
import myButton from '@/components/my-components/my-button.vue'
</script>
@ -249,6 +284,7 @@
justify-content: center;
align-items: center;
z-index: 2;
.dot {
position: absolute;
right: 0;

View File

@ -1,9 +1,11 @@
<template>
<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>
<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">
{{data.price}}
</view>