宴席2.0
Some checks are pending
deploy / deploy (push) Waiting to run

This commit is contained in:
sjeam 2025-08-15 10:36:08 +08:00
parent 45ead1dd41
commit 01886bf729
4 changed files with 82 additions and 103 deletions

View File

@ -225,8 +225,8 @@
message: '请输入详细地址' message: '请输入详细地址'
} }
]" /> ]" />
<wd-textarea label="备注" v-model="orderInfo.remark" placeholder="请填写备注" /> <wd-textarea label="备注" auto-height v-model="orderInfo.remark" placeholder="请填写备注" />
<view class="pb-4" />
<wd-button plain hairline custom-style="width: calc(100vw - 100rpx);" <wd-button plain hairline custom-style="width: calc(100vw - 100rpx);"
@click="handleSubmit(1)">确定预定做席后再支付</wd-button> @click="handleSubmit(1)">确定预定做席后再支付</wd-button>
<wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="handleSubmit(1)">付定金锁定订单</wd-button> <wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="handleSubmit(1)">付定金锁定订单</wd-button>

View File

@ -534,11 +534,11 @@ export default defineComponent({
console.log(item); console.log(item);
if (item.type === 1) { if (item.type === 1) {
uni.navigateTo({ uni.navigateTo({
url: `/pages/banquet/combo/dishes?id=${item.id}&is_add=1` url: `/pages/banquet/combo/dishes?id=${item.id}`
}); });
} else { } else {
uni.navigateTo({ uni.navigateTo({
url: `/pages/banquet/combo/dishes_combo?id=${item.id}&is_add=1` url: `/pages/banquet/combo/dishes_combo?id=${item.id}`
}); });
} }

View File

@ -66,9 +66,9 @@
prefixIcon="weixin-fill" customStyle="font-weight:bold" prefixIcon="weixin-fill" customStyle="font-weight:bold"
iconStyle="font-size:64rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none"> iconStyle="font-size:64rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text> </up-text>
<!-- <u-icon size="48rpx" slot="right" label-color="red" :label="`¥2000.00元`"></u-icon> --> <!-- <u-icon size="48rpx" slot="right" label-color="red" readonly:label="`¥2000.00元`"></u-icon> -->
<view style="display: inline-block; float:right"> <view style="display: inline-block; float:right">
<u-radio iconSize="36rpx" size="36rpx" activeColor="#59CB56" label=""></u-radio> <u-radio iconSize="36rpx" size="36rpx" activeColor="#59CB56" readonly label=""></u-radio>
</view> </view>
</view> </view>
@ -84,6 +84,9 @@
</wd-cell-group> </wd-cell-group>
</u-popup> </u-popup>
<view v-for="(matchedItems, index) in matchedItems_sp" :key="index"> <view v-for="(matchedItems, index) in matchedItems_sp" :key="index">
<wd-card> <wd-card>
<template #title> <template #title>
@ -115,17 +118,16 @@
:show="true" prefixIcon="" customStyle="font-weight:bold" :show="true" prefixIcon="" customStyle="font-weight:bold"
iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none"> iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text> </up-text>
<u-icon slot="right" label-color="red" :label="`¥${item.dishes.price}元`"></u-icon> <u-icon slot="right" label-color="red" readonly:label="`¥${item.dishes.price}元`"></u-icon>
</view> </view>
</template> </template>
<template #label> <template #label>
<view class="h-60 flex color-gray"> <view class="h-60 flex color-gray">
<up-text size="26rpx" :text="`${item.dishes.intro}`" :flex1="true" align="left" wordWrap="normal" <up-text size="26rpx" :text="`${item.dishes.intro}`" :flex1="true" align="left" wordWrap="normal"
:show="true" prefixIcon="" customStyle="" :show="true" prefixIcon="" customStyle=""
iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none"> iconStyle="font-size:28rpx;color:#59CB56;margin-right:10rpx;" lines="1" decoration="none">
</up-text> </up-text>
<u-icon slot="right" label-color="red" :label="`X${item.number}`"></u-icon> <u-icon slot="right" label-color="red" readonly:label="`X${item.number}`"></u-icon>
</view> </view>
</template> </template>
</u-cell> </u-cell>
@ -133,36 +135,42 @@
</up-cell-group> </up-cell-group>
</view> </view>
<!-- <template #footer> <template #footer>
<view> <!-- <view>
<wd-button size="small" style="margin-right: 8px;">评价</wd-button> <wd-button size="small" style="margin-right: 8px;">评价</wd-button>
<wd-button size="small" plain>立即使用</wd-button> <wd-button size="small" plain>立即使用</wd-button>
</view> </view> -->
</template> -->
</wd-card>
</view>
<wd-card>
<template #title>
<view class="title font-size-32"> <view class="title font-size-32">
<view>费用合计</view> <view>费用合计</view>
<view class="title-tip"> <view class="title-tip">
<text class="font-size-32 color-red ">{{ totalPrice }}</text> <text class="font-size-32 color-red ">{{ orderInfo.final_price }}</text>
</view> </view>
</view> </view>
</template> </template>
</wd-card> </wd-card>
</view>
<wd-card title="厨师信息"> <wd-card title="厨师信息">
<view>厨师姓名{{ server_user.public_name }}</view> <view>厨师姓名{{ server_user.public_name }}</view>
<view>厨师联系方式{{ server_user.phone }}</view> <view class="pt-2">厨师联系方式{{ server_user.phone }}</view>
<template #footer> <template #footer>
<wd-button size="small" plain @click="cookDetail(server_user.id)">查看详情</wd-button> <wd-button size="small" plain @click="cookDetail(server_user.id)">查看详情</wd-button>
</template> </template>
</wd-card> </wd-card>
<wd-card> <wd-card title="订单信息">
<view>订单编号{{ orderInfo.order_sn }}</view>
<view class="pt-2">下单时间{{ orderInfo.create_time }}</view>
<view class="pt-2">支付方式 微信</view>
<view class="pt-2">支付金额<text class="color-red">{{ orderInfo.final_price }}</text></view>
<view class="pt-2">预付金额<text class="color-red">{{ orderInfo.prepay_price }}</text></view>
<view class="pt-2">联系人{{ orderInfo.customer_name }}</view>
<view class="pt-2">联系电话{{ orderInfo.phone }}</view>
<view class="pt-2">宴席类型{{ orderInfo.banquet_type }}</view>
<view class="pt-2">宴席地址{{ orderInfo.address }}</view>
<view class="pt-2">备注{{ orderInfo.remark }}</view>
<view class="pt-4" />
<template #title> <template #title>
</template> </template>
<view>1.(不交定金)如若厨师接到更高价订单可能会将您的订单取消</view> <view>1.(不交定金)如若厨师接到更高价订单可能会将您的订单取消</view>
@ -172,62 +180,19 @@
<wd-form ref="form" :model="orderInfo" errorType="message"> <wd-form ref="form" :model="orderInfo" errorType="message">
<wd-cell-group border> <wd-cell-group border>
<!--
<view class="pb-4" />
<wd-input readonly label="联系姓名" prop="customer_name" clearable v-model="orderInfo.customer_name"
placeholder="请填写联系姓名" />
<wd-input readonly label="联系电话" prop="phone" clearable v-model="orderInfo.phone" placeholder="请填写联系电话" />
<wd-input readonly label="宴席类型" prop="banquet_type" clearable v-model="orderInfo.banquet_type"
placeholder="请填写详细地址" />
<wd-textarea readonly auto-height label="详细地址" prop="address" clearable v-model="orderInfo.address"
placeholder="请填写详细地址" />
<wd-textarea readonly auto-height label="备注" v-model="orderInfo.remark" placeholder="请填写备注" /> -->
<view class="pb-4" /> <view class="pb-4" />
<!-- <wd-input label="联系姓名" prop="customer_name" clearable v-model="orderInfo.customer_name" placeholder="请填写联系姓名"
:rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请输入姓名'
}
]" />
<wd-input label="联系电话" prop="phone" clearable v-model="orderInfo.phone" placeholder="请填写联系电话"
:rules="[{ required: false, pattern: /^1[3-9]\d{9}$/, message: '请输入有效手机号码' }]" />
<wd-select-picker label="宴席类型" prop="banquet_type" v-model="orderInfo.banquet_type" :columns="banquetType"
type="radio" :rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请选择宴席类型'
}
]"></wd-select-picker>
<wd-col-picker label="做宴地址" v-model="orderInfo.district_name" prop="district_name" :columns="area"
:column-change="columnChange" placeholder="请填写做宴地址" @confirm="handleConfirm" :rules="[
{
required: false,
validator: (value: string) => {
if (value.length > 0) {
return true;
}
return false;
},
message: '做宴地址不能为空,请填写'
}
]"></wd-col-picker>
<wd-input label="详细地址" prop="street_name" clearable v-model="orderInfo.street_name" placeholder="请填写详细地址"
:rules="[
{
required: false,
validator: (value: string) => {
return /^[\u4e00-\u9fa5a-zA-Z0-9_]+$/.test(value)
},
message: '请输入详细地址'
}
]" />
<wd-textarea label="备注" v-model="orderInfo.remark" placeholder="请填写备注" /> -->
<wd-button plain hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(1)">确定支付</wd-button> <wd-button plain hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(1)">确定支付</wd-button>
<wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(2)">取消支付</wd-button> <wd-button hairline custom-style="width: calc(100vw - 100rpx);" @click="payOrder(2)">取消订单</wd-button>
</wd-cell-group> </wd-cell-group>
</wd-form> </wd-form>
@ -248,30 +213,31 @@ export default defineComponent({
return { return {
totalPrice: 0, totalPrice: 0,
server_user: { server_user: {
id: 0,
phone: '', phone: '',
public_name: '', public_name: '',
}, },
order_id: 0, order_id: 0,
address_string: '', address_string: '',
banquetType: this.getBanquetType(), banquetType: this.getBanquetType(),
propShowOrder: false, propShowOrder: false,
area: [], // area: [],
value: [], // value: [],
orderInfo: { orderInfo: [],
district_name: [], // orderInfo: {
street_name: '', // district_name: [],
// cart_ids: [], // street_name: '',
customer_name: '', // // cart_ids: [],
phone: '', // customer_name: '',
address: '', // phone: '',
remark: '', // address: '',
banquet_type: '1', // remark: '',
reservation_type: 1, // banquet_type: '1',
order_id: 0, // reservation_type: 1,
// table_number: 0, // order_id: 0,
// banquet_date: '', // // table_number: 0,
}, // // banquet_date: '',
// },
matchedItems_sp: [], matchedItems_sp: [],
}; };
@ -337,7 +303,17 @@ export default defineComponent({
} }
}); });
} else { } else {
// //
CommonApi.commonPost('/api/banquet/order/cancel', { order_id: this.order_id }).catch((res) => {
if (res.code === 1) {
// this.payOrder(res.data.order_id);
// this.propShowOrder = true;
console.log(res.data);
// this.close();
} else {
uni.$u.toast(res.msg);
}
});
} }
@ -391,10 +367,13 @@ export default defineComponent({
CommonApi.commonGet('/api/banquet/order/detail', { order_id: this.order_id }).catch((res) => { CommonApi.commonGet('/api/banquet/order/detail', { order_id: this.order_id }).catch((res) => {
if (res.code === 1) { if (res.code === 1) {
console.log(res) console.log(res)
// this.matchedItems_sp = res.data.cart_list; this.matchedItems_sp = res.data.order_info;
// this.totalPrice = res.data.total_price; // this.totalPrice = res.data.total_price;
// this.server_user.phone = res.data.server_user.certification.phone; this.orderInfo = res.data.order;
// this.server_user.public_name = res.data.server_user.certification.public_name; this.server_user.phone = res.data.server_info.certification.phone;
this.server_user.public_name = res.data.server_info.certification.public_name;
this.server_user.id = res.data.server_info.id;
// this.$refs.pagingRefSP?.complete(res.data); // this.$refs.pagingRefSP?.complete(res.data);
// console.log(res); // console.log(res);
} else { } else {

View File

@ -184,7 +184,7 @@ export default defineComponent({
goodsDetail (id: number) { goodsDetail (id: number) {
console.log(id); console.log(id);
uni.navigateTo({ uni.navigateTo({
url: `/pages/common/goods/detail?id=${id}&is_add=1` url: `/pages/common/goods/detail?id=${id}`
}); });
}, },