完善功能

This commit is contained in:
wangxiaowei
2026-05-20 14:15:18 +08:00
parent fa54519467
commit 76ba8e0e65
8 changed files with 149 additions and 99 deletions

View File

@ -1,13 +1,13 @@
<route lang="jsonc" type="page">{ <route lang="jsonc" type="page">{
"layout": "default", "layout": "default",
"style": { "style": {
"navigationStyle": "custom", "navigationStyle": "custom",
"navigationBarBackgroundColor": "#fff" "navigationBarBackgroundColor": "#fff"
} }
}</route> }</route>
<template> <template>
<view> <view>
<view> <view>
<navbar title="订单详情" custom-class="!bg-[transparent]"></navbar> <navbar title="订单详情" custom-class="!bg-[transparent]"></navbar>
</view> </view>
@ -15,39 +15,46 @@
<view class="mt-38rpx"> <view class="mt-38rpx">
<view class=""> <view class="">
<view class="mx-48rpx flex items-center"> <view class="mx-48rpx flex items-center">
<view class="rounded-4rpx w-60rpx text-center text-[#40AE36] border-2rpx border-solid border-[#40AE36] text-22rpx pb-4rpx" v-if="isGroupBuy">团购</view> <view
<view class="rounded-4rpx w-60rpx text-center text-[#FF5951] border-2rpx border-solid border-[#FF5951] text-22rpx pb-4rpx" v-if="isDirectSale">直营</view> class="rounded-4rpx w-60rpx text-center text-[#40AE36] border-2rpx border-solid border-[#40AE36] text-22rpx pb-4rpx"
<template v-if="isRecharge"> v-if="isGroupBuy">团购</view>
<view class="w-600rpx line-2 ml-20rpx font-bold text-30rpx text-[#303133] leading-42rpx text-center"> <view
门店余额充值 class="rounded-4rpx w-60rpx text-center text-[#FF5951] border-2rpx border-solid border-[#FF5951] text-22rpx pb-4rpx"
</view> v-if="isDirectSale">直营</view>
</template> <template v-if="isRecharge">
<template v-else> <view
<view class="w-600rpx line-2 ml-20rpx font-bold text-30rpx text-[#303133] leading-42rpx text-left"> class="w-600rpx line-2 ml-20rpx font-bold text-30rpx text-[#303133] leading-42rpx text-center">
{{ bill?.room?.title }}{{ bill?.order?.group?.title || '' }} 门店余额充值
</view> </view>
</template> </template>
<template v-else-if="isFenRun">
<view
class="w-600rpx line-2 ml-20rpx font-bold text-30rpx text-[#303133] leading-42rpx text-center">
茶艺师订单分润
</view>
</template>
<template v-else>
<view
class="w-600rpx line-2 ml-20rpx font-bold text-30rpx text-[#303133] leading-42rpx text-left">
{{ bill?.room?.title }}{{ bill?.order?.group?.title || '' }}
</view>
</template>
</view> </view>
</view> </view>
<view class="mt-30rpx text-40rpx text-[#303133] leading-56rpx text-center"> <view class="mt-30rpx text-40rpx text-[#303133] leading-56rpx text-center">
<text class="font-bold" v-if="bill.change_type == 1 || bill.change_type == 2 || bill.change_type == 4 || bill.change_type == 9">+</text> <text class="font-bold"
v-if="bill.change_type == 1 || bill.change_type == 2 || bill.change_type == 4 || bill.change_type == 9 || bill.change_type == 15">+</text>
<text class="font-bold" v-if="bill.change_type == 3 || bill.change_type == 5">-</text> <text class="font-bold" v-if="bill.change_type == 3 || bill.change_type == 5">-</text>
{{ bill.amount }} {{ bill.amount }}
</view> </view>
<!-- <view class="flex items-center flex items-center justify-center mt-16rpx">
<wd-img width="28rpx" height="28rpx" :src="`${OSS}images/store/finance/image2.png`" mode="aspectFit" />
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="bill.change_type == 1">预定成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="bill.change_type == 2">续订成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="bill.change_type == 3">提现成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="bill.change_type == 4">核销成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="bill.change_type == 5">退款成功</view>
</view> -->
<view class="flex items-center flex items-center justify-center mt-16rpx"> <view class="flex items-center flex items-center justify-center mt-16rpx">
<wd-img width="28rpx" height="28rpx" :src="`${OSS}images/store/finance/image2.png`" mode="aspectFit" /> <wd-img width="28rpx" height="28rpx" :src="`${OSS}images/store/finance/image2.png`" mode="aspectFit" />
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="isGroupBuy">核销成功</view> <view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="isGroupBuy">核销成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="isDirectSale">结算成功</view> <view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="isDirectSale">结算成功</view>
<view class="text-26rpx text-[#606266] leading-36rpx ml-12rpx" v-if="isFenRun">分润成功</view>
</view> </view>
<view class="mx-28rpx mt-72rpx"> <view class="mx-28rpx mt-72rpx">
@ -94,20 +101,30 @@
<view> <view>
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>总收入</view> <view>总收入</view>
<view>{{ bill?.order?.order_amount }}</view> <view>{{ isFenRun ? bill.amount : bill?.order?.order_amount }}</view>
</view> </view>
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx" v-if="bill.change_type != 9"> <template v-if="bill.change_type == 15">
<view
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>创建时间</view>
<view>{{ bill?.create_time }}</view>
</view>
</template>
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"
v-if="bill.change_type != 9 && bill.change_type != 15">
<view>优惠券</view> <view>优惠券</view>
<view>-{{ bill?.order?.coupon_price }}</view> <view>-{{ bill?.order?.coupon_price }}</view>
</view> </view>
<view class="mt-20rpx"> <view class="mt-20rpx" v-if="!isFenRun">
<wd-gap height="2rpx" bg-color="#E5E5E5"></wd-gap> <wd-gap height="2rpx" bg-color="#E5E5E5"></wd-gap>
</view> </view>
</view> </view>
<view> <view v-if="!isFenRun">
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>用户手机号</view> <view>用户手机号</view>
<view>{{ bill?.order.mobile }}</view> <view>{{ bill?.order.mobile }}</view>
@ -123,13 +140,15 @@
</view> </view>
<!-- 直营显示 --> <!-- 直营显示 -->
<view v-if="isDirectSale" class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view v-if="isDirectSale"
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>交易方式</view> <view>交易方式</view>
<view>{{ bill?.order?.pay_way_title }}</view> <view>{{ bill?.order?.pay_way_title }}</view>
</view> </view>
<!-- 充值的支付方式 --> <!-- 充值的支付方式 -->
<view v-if="isRecharge" class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view v-if="isRecharge"
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>支付方式</view> <view>支付方式</view>
<view>{{ bill?.order?.pay_way_title }}</view> <view>{{ bill?.order?.pay_way_title }}</view>
</view> </view>
@ -141,73 +160,83 @@
<!-- 团购显示 --> <!-- 团购显示 -->
<view v-if="isGroupBuy"> <view v-if="isGroupBuy">
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>验券时间</view> <view>验券时间</view>
<view>{{ bill?.order?.group?.yanquan_dtime }}</view> <view>{{ bill?.order?.group?.yanquan_dtime }}</view>
</view> </view>
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>验券门店</view> <view>验券门店</view>
<view>{{ bill?.store?.name }}</view> <view>{{ bill?.store?.name }}</view>
</view> </view>
<view class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>券号</view> <view>券号</view>
<view>{{ bill?.order?.group?.qr_sn }}</view> <view>{{ bill?.order?.group?.qr_sn }}</view>
</view> </view>
</view> </view>
<!-- 直营显示 --> <!-- 直营显示 -->
<view v-if="isDirectSale" class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view v-if="isDirectSale"
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>付款时间</view> <view>付款时间</view>
<view>{{ bill?.order?.dtime }}</view> <view>{{ bill?.order?.dtime }}</view>
</view> </view>
<!-- 充值 --> <!-- 充值 -->
<view v-if="isRecharge" class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx"> <view v-if="isRecharge"
class="text-28rpx leading-40rpx text-[#606266] flex items-center justify-between mt-22rpx">
<view>付款时间</view> <view>付款时间</view>
<view>{{ bill?.order?.pay_time }}</view> <view>{{ bill?.order?.pay_time }}</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { toTimes, copy } from '@/utils/tools' import { toTimes, copy } from '@/utils/tools'
import { getUserTransactionDetailsInfo } from '@/api/user' import { getUserTransactionDetailsInfo } from '@/api/user'
const OSS = inject('OSS') const OSS = inject('OSS')
const bill = ref<any>({}) const bill = ref<any>({})
onLoad(async (args) => { onLoad(async (args) => {
const id = Number(args.id) || 0 const id = Number(args.id) || 0
if (id) { if (id) {
const res = await getUserTransactionDetailsInfo(id) const res = await getUserTransactionDetailsInfo(id)
bill.value = res.details bill.value = res.details
} }
}) })
// 团购 // 团购
const isGroupBuy = computed(() => { const isGroupBuy = computed(() => {
return bill.value.change_type === 4 return bill.value.change_type === 4
}) })
// 直营 // 直营
const isDirectSale = computed(() => { const isDirectSale = computed(() => {
return bill.value.change_type === 1 || bill.value.change_type === 2 return bill.value.change_type === 1 || bill.value.change_type === 2
}) })
// 充值 // 充值
const isRecharge = computed(() => { const isRecharge = computed(() => {
return bill.value.change_type === 9 return bill.value.change_type === 9
}) })
// 分润
const isFenRun = computed(() => {
return bill.value.change_type === 15
})
</script> </script>
<style lang="scss"> <style lang="scss">
page { page {
background-color: #fff; background-color: #fff;
} }
</style> </style>

View File

@ -52,13 +52,14 @@
<view class="flex items-center justify-between"> <view class="flex items-center justify-between">
<view class="line-1 w-480rpx font-bold text-30rpx text-[#303133] leading-42rpx"> <view class="line-1 w-480rpx font-bold text-30rpx text-[#303133] leading-42rpx">
<template v-if="item.change_type == 9">门店余额充值</template> <template v-if="item.change_type == 9">门店余额充值</template>
<template v-else-if="item.change_type == 15">茶艺师订单分润</template>
<template v-else> <template v-else>
{{ item?.room?.title }}{{ item?.group?.title || '' }} {{ item?.room?.title }}{{ item?.group?.title || '' }}
</template> </template>
</view> </view>
<view class="flex items-center"> <view class="flex items-center">
<view class="text-[#FF5951] font-bold text-30rpx leading-42rpx"> <view class="text-[#FF5951] font-bold text-30rpx leading-42rpx">
<text v-if="item.change_type == 1 || item.change_type == 2 || item.change_type == 4 || item.change_type == 9"> + </text> <text v-if="item.change_type == 1 || item.change_type == 2 || item.change_type == 4 || item.change_type == 9 || item.change_type == 15"> + </text>
<text v-if="item.change_type == 3 || item.change_type == 5"> - </text> <text v-if="item.change_type == 3 || item.change_type == 5"> - </text>
{{ item.amount }} {{ item.amount }}
</view> </view>
@ -68,11 +69,13 @@
<view class="mt-12rpx"> <view class="mt-12rpx">
<view class="flex items-center"> <view class="flex items-center">
<view class="rounded-4rpx min-w-60rpx text-center text-[#40AE36] border-2rpx border-solid border-[#40AE36] text-22rpx pb-4rpx" v-if="item.change_type == 1 || item.change_type == 2 ||item.change_type == 4 || item.change_type == 9"> <view class="rounded-4rpx min-w-60rpx text-center text-[#40AE36] border-2rpx border-solid border-[#40AE36] text-22rpx pb-4rpx"
v-if="item.change_type == 1 || item.change_type == 2 ||item.change_type == 4 || item.change_type == 9 || item.change_type == 15">
<text v-if="item.change_type == 1">预定</text> <text v-if="item.change_type == 1">预定</text>
<text v-if="item.change_type == 2">续单</text> <text v-if="item.change_type == 2">续单</text>
<text v-if="item.change_type == 4">核销</text> <text v-if="item.change_type == 4">核销</text>
<text v-if="item.change_type == 9">充值</text> <text v-if="item.change_type == 9">充值</text>
<text v-if="item.change_type == 15">分润</text>
</view> </view>
<view class="rounded-4rpx min-w-60rpx text-center text-[#FF5951] border-2rpx border-solid border-[#FF5951] text-22rpx pb-4rpx" v-if="item.change_type == 3 || item.change_type == 5"> <view class="rounded-4rpx min-w-60rpx text-center text-[#FF5951] border-2rpx border-solid border-[#FF5951] text-22rpx pb-4rpx" v-if="item.change_type == 3 || item.change_type == 5">
<text v-if="item.change_type == 3">提现</text> <text v-if="item.change_type == 3">提现</text>
@ -89,6 +92,7 @@
<text v-if="item.change_type == 4">核销时间{{ item.create_time }}</text> <text v-if="item.change_type == 4">核销时间{{ item.create_time }}</text>
<text v-if="item.change_type == 5">取消订单时间{{ item.create_time }}</text> <text v-if="item.change_type == 5">取消订单时间{{ item.create_time }}</text>
<text v-if="item.change_type == 9">充值时间{{ item.create_time }}</text> <text v-if="item.change_type == 9">充值时间{{ item.create_time }}</text>
<text v-if="item.change_type == 15">分润时间{{ item.create_time }}</text>
</view> </view>
</view> </view>
</mescroll-body> </mescroll-body>

View File

@ -14,16 +14,15 @@
<view class="order-list sticky top-0 left-0 z-50 bg-[#F6F7F8] pb-10rpx"> <view class="order-list sticky top-0 left-0 z-50 bg-[#F6F7F8] pb-10rpx">
<wd-navbar safeAreaInsetTop custom-class='!bg-[#F6F7F8]' :bordered="false" placeholder> <wd-navbar safeAreaInsetTop custom-class='!bg-[#F6F7F8]' :bordered="false" placeholder>
<template #left> <template #left>
<!-- <view class="search-box"> <view class="flex items-center">
<wd-search v-model="keywords" hide-cancel placeholder-left light placeholder="搜索订单信息"></wd-search> <view @click="router.navigateBack()">
</view> --> <wd-icon name="thin-arrow-left" size="30rpx" color="#121212" ></wd-icon>
<view @click="router.navigateBack()"> </view>
<wd-icon name="thin-arrow-left" size="30rpx" color="#121212" ></wd-icon> <view class="search-box flex items-center ml-26rpx" @click="Order.handleToSearch">
</view> <wd-search placeholder="搜索订单信息" hide-cancel disabled :placeholder-left="true"
<view class="search-box flex items-center ml-26rpx" @click="Order.handleToSearch"> placeholderStyle="text-align:left;padding-left: 24rpx;line-heigt: 44rpx;color: #C9C9C9; font-size: 32rpx;font-weight: normal;">
<wd-search placeholder="搜索订单信息" hide-cancel disabled :placeholder-left="true" </wd-search>
placeholderStyle="text-align:left;padding-left: 24rpx;line-heigt: 44rpx;color: #C9C9C9; font-size: 32rpx;font-weight: normal;"> </view>
</wd-search>
</view> </view>
</template> </template>
</wd-navbar> </wd-navbar>

View File

@ -295,7 +295,7 @@
</view> --> </view> -->
<!-- 适用包间 --> <!-- 适用包间 -->
<view class="mt-28rpx"> <view class="mt-28rpx" v-if="useStore.defaultStore.operationType == 1">
<view class="flex items-center mb-20rpx"> <view class="flex items-center mb-20rpx">
<!-- TODO 有包间的显示包间还需要添加一个全适合用没有包间的显示通用 --> <!-- TODO 有包间的显示包间还需要添加一个全适合用没有包间的显示通用 -->
<view class="text-30rpx leading-44rpx text-#303133 mr-10rpx font-bold">适用包间</view> <view class="text-30rpx leading-44rpx text-#303133 mr-10rpx font-bold">适用包间</view>
@ -418,7 +418,7 @@
const startTime = ref<number>(Date.now()) const startTime = ref<number>(Date.now())
const endTime = ref<number>(Date.now()) const endTime = ref<number>(Date.now())
onLoad(async (args) => { onLoad(async (args: any) => {
token.value = uni.getStorageSync('token') token.value = uni.getStorageSync('token')
await Add.handleGetRoomList() await Add.handleGetRoomList()
@ -593,8 +593,8 @@
// return // return
// } // }
// 适用包间 // 直营点才填写适用包间
if (roomId.value.length == 0) { if (roomId.value.length == 0 && useStore.defaultStore.operationType == 1) {
toast.info('请选择适用包间') toast.info('请选择适用包间')
return return
} }

View File

@ -39,6 +39,13 @@
</view> </view>
</view> </view>
<view class="mt-22rpx">
<view class="text-26rpx leading-32rpx text-#606266">身份证号码</view>
<view class="mt-20rpx border-b border-b-solid border-b-[#F6F7F8] pb-20rpx">
<wd-input no-border placeholder="请输入身份证号码" v-model="form.person_card"></wd-input>
</view>
</view>
<view class="mt-22rpx"> <view class="mt-22rpx">
<view class="text-26rpx leading-32rpx text-#606266">有效期</view> <view class="text-26rpx leading-32rpx text-#606266">有效期</view>
<view class="mt-20rpx"> <view class="mt-20rpx">
@ -117,6 +124,7 @@
card: '', // 证件号码 card: '', // 证件号码
name: '', // 企业名称 name: '', // 企业名称
legal_person: '', // 法定代表 legal_person: '', // 法定代表
person_card: '', // 法定代表身份证号码
operation_type: 1, // 有效期 1-长期 2-非长期 operation_type: 1, // 有效期 1-长期 2-非长期
start_time: '', start_time: '',
end_time: '' end_time: ''
@ -152,6 +160,7 @@
form.name = details.name form.name = details.name
form.legal_person = details.legal_person form.legal_person = details.legal_person
form.operation_type = details.effective form.operation_type = details.effective
form.person_card = details.person_card
form.start_time = details.start_time form.start_time = details.start_time
form.end_time = details.end_time form.end_time = details.end_time
fileList.value = [{url: details.license_img, name: 'license.jpg'}] fileList.value = [{url: details.license_img, name: 'license.jpg'}]
@ -181,6 +190,7 @@
if (!form.start_time) return toast.error('请选择起始日期') if (!form.start_time) return toast.error('请选择起始日期')
if (!form.end_time) return toast.error('请选择截止日期') if (!form.end_time) return toast.error('请选择截止日期')
} }
if (!form.person_card) return toast.error('请输入身份证号码')
if (fileList.value.length === 0) return toast.error('请上传营业执照') if (fileList.value.length === 0) return toast.error('请上传营业执照')
@ -191,6 +201,7 @@
legal_person: form.legal_person, legal_person: form.legal_person,
license_img: removeImageUrlPrefix(fileList.value)[0], license_img: removeImageUrlPrefix(fileList.value)[0],
effective: form.operation_type, effective: form.operation_type,
person_card: form.person_card,
start_time: form.operation_type === 1 ? '' : form.start_time, start_time: form.operation_type === 1 ? '' : form.start_time,
end_time: form.operation_type === 1 ? '' : form.end_time end_time: form.operation_type === 1 ? '' : form.end_time
} }

View File

@ -33,6 +33,11 @@
<view class="text-[#303133]">{{ licenses.legal_person }}</view> <view class="text-[#303133]">{{ licenses.legal_person }}</view>
</view> </view>
<view class="flex items-center mt-28rpx text-28rpx leading-40rpx">
<view class="mr-20rpx text-[#606266]">身份证号</view>
<view class="text-[#303133]">{{ licenses.person_card }}</view>
</view>
<view class="flex items-center mt-28rpx text-28rpx leading-40rpx"> <view class="flex items-center mt-28rpx text-28rpx leading-40rpx">
<view class="mr-20rpx text-[#606266]">有效期至{{ licenses.effective == 1 ? '永久有效' : licenses.end_time }}</view> <view class="mr-20rpx text-[#606266]">有效期至{{ licenses.effective == 1 ? '永久有效' : licenses.end_time }}</view>
</view> </view>
@ -61,6 +66,7 @@
card: '', // 证件号码 card: '', // 证件号码
name: '', // 企业名称 name: '', // 企业名称
legal_person: '', // 法定代表 legal_person: '', // 法定代表
person_card: '', // 法定代表身份证号码
effective: 0, // 有效期 1-长期 2-非长期 effective: 0, // 有效期 1-长期 2-非长期
end_time: '', // 结束时间 end_time: '', // 结束时间
license_img: '' // 营业执照图片地址 license_img: '' // 营业执照图片地址

View File

@ -88,6 +88,7 @@
onShow(() => { onShow(() => {
// 直营店才能操作菜单 // 直营店才能操作菜单
auth.value = useStore.defaultStore.operationType == 1 ? true : false auth.value = useStore.defaultStore.operationType == 1 ? true : false
console.log("🚀 ~ auth.value:", auth.value)
}) })
const Store = { const Store = {