处理订单

This commit is contained in:
2026-01-16 03:47:05 +08:00
parent ff07af055f
commit 3fb9b37708
14 changed files with 376 additions and 907 deletions

View File

@@ -65,7 +65,7 @@
<nut-form-item label-position="top">
<template v-slot:label>时长(小时)</template>
<template v-slot:default>
<nut-input v-model="form.often" placeholder="请输入小时" type="number" />
<nut-input v-model="form.over_often" placeholder="请输入小时" type="number" />
</template>
</nut-form-item>

View File

@@ -230,7 +230,8 @@
form.fee_type = res.fee_type.value
form.fee_type_name = res.fee_type.text
form.fee_combo_id = res.fee_combo_id
form.fee_combo_name = res.fee_combo_name
form.fee_combo_name = res.fee_combo_name
form.fee_combo_price = res.fee_combo_price
form.fee_amount = res.fee_amount
form.fee_pay_status = res.fee_pay_status.value
form.fee_pay_status_txt = res.fee_pay_status.text

View File

@@ -9,22 +9,8 @@
<text class="user-id">UID{{ uid }}</text>
</view>
</view>
<!-- <view class="user-inner" v-else>
<view @click="goToLoginPage()">
<nut-avatar size="large">
<nut-icon name="my" />
</nut-avatar>
</view>
<view @click="goToLoginPage()">
<text>点击登录</text>
</view>
</view> -->
<view class="content">
<nut-cell-group title="">
<nut-grid>
<nut-grid-item text="订单管理" @click="navigateTo('/pages/order/index?tab=0')">
@@ -32,60 +18,9 @@
</nut-grid-item>
<nut-grid-item text="运营数据" @click="navigateTo('/pages/order/shopOrder/index?tab=0')">
<nut-icon name="eye"></nut-icon>
</nut-grid-item>
<!-- <nut-grid-item text="商城配置" @click="navigateTo('/pages/config/store')">
<nut-icon name="people"></nut-icon>
</nut-grid-item>
<nut-grid-item text="价格调整" @click="navigateTo('/pages/config/price')">
<nut-icon name="refresh"></nut-icon>
</nut-grid-item>
<nut-grid-item text="商品管理" @click="navigateTo('/pages/config/goodsList')">
<nut-icon name="shop"></nut-icon>
</nut-grid-item> -->
<!-- <nut-grid-item text="仓库订单" @click="navigateTo('/pages/order/list/index?tab=3')">
<nut-icon name="order"></nut-icon> -->
<!-- </nut-grid-item> -->
</nut-grid>
</nut-cell-group>
<!-- <nut-cell-group title="我的订单" v-if="showMyOrder && !audit">
<nut-grid>
<nut-grid-item text="全部"
@click="navigateTo('/pages/order/index?tab=0')">{{ countInfo.all }}</nut-grid-item>
<nut-grid-item text="待付款"
@click="navigateTo('/pages/order/index?tab=1')">{{ countInfo.payment }}</nut-grid-item>
<nut-grid-item text="待发货"
@click="navigateTo('/pages/order/index?tab=2')">{{ countInfo.delivery }}</nut-grid-item>
<nut-grid-item text="待收货"
@click="navigateTo('/pages/order/index?tab=3')">{{ countInfo.received }}</nut-grid-item>
</nut-grid>
</nut-cell-group> -->
<!-- <nut-cell-group title="控制台">
<nut-cell title="商城配置" @click="navigateTo('')"></nut-cell>
<nut-cell title="价格调整" @click="navigateTo('/pages/config/index')"></nut-cell>
<nut-cell title="店内机器管理" @click="navigateTo('/pages/config/index')"></nut-cell>
<nut-cell title="订单管理" @click="navigateTo('/pages/config/index')"></nut-cell> -->
<!-- <nut-cell v-if="user_info.super_user_from.includes('parts')" title="配件管理"
@click="navigateTo('/pages/control/parts/index')"></nut-cell> -->
<!-- </nut-cell-group> -->
<!-- <nut-cell-group title="控制台" v-if="user_info.is_super_user">
<nut-cell v-if="user_info.super_user_from.includes('store')" title="手机管理"
@click="navigateTo('/pages/control/goods/index')"></nut-cell> -->
<!-- <nut-cell v-if="user_info.super_user_from.includes('parts')" title="配件管理"
@click="navigateTo('/pages/control/parts/index')"></nut-cell> -->
<!-- </nut-cell-group> -->
<!--
<nut-cell-group title="联系我们">
<nut-cell :title="phone" @click="makePhoneCall(phone)"></nut-cell>
</nut-cell-group> -->
</view>
</view>
@@ -104,60 +39,18 @@
onLoad,
onShow,
} from '@dcloudio/uni-app';
// import TabBar from '@/components/TabBar/TabBar.vue';
// 默认选中第一个tab
// const currentTab = ref(3);
// 导入获取用户信息的API函数
// import {
// fetchUserInfo
// } from '@/api/user';
// 导入页面跳转工具函数
import {
goToLoginPage,
navigateTo
} from '@/utils/helper';
// 导入uni-app生命周期钩子
// 导入获取订单总数的API函数
// import {
// fetchOrderTotalCount
// } from '@/api/order';
// import {
// fetchGetConfig
// } from '@/api/config';
// const audit = ref(true);
// const showMyOrder = ref(false);
// const phone = ref('');
// 用户ID
const uid = ref(0);
const staffName = ref('');
/**
* 用户信息响应式对象
*/
// const userInfo = reactive({});
// /**
// * 订单统计信息响应式对象
// */
// const countInfo = reactive({
// all: 0,
// payment: 0,
// delivery: 0,
// received: 0
// });
onLoad(options => {
init();
@@ -165,19 +58,7 @@
// const makePhoneCall = (phoneNumber) => {
// console.log(123);
// uni.makePhoneCall({
// phoneNumber: phoneNumber,
// success: () => {
// console.log('拨打电话成功');
// },
// fail: (err) => {
// console.error('拨打电话失败:', err);
// }
// });
// }
// 获取配置
const init = () => {
@@ -188,53 +69,15 @@
console.log("staff_name", staff_name);
uid.value = user_id
staffName.value = staff_name
// fetchGetConfig().then(res => {
// console.log('getConfig=====>', res)
// audit.value = res.appConfig.is_audit == 1
// phone.value = res.appConfig.shop_phone
// })
}
/**
* 页面显示生命周期钩子
* 每次页面显示时都会执行
*/
onShow(() => {
console.log('init');
init();
// // 获取配置
// getConfig()
// // 如果用户登陆
// if (uid.value > 0) {
// // 获取用户信息
// fetchUserInfo().then(res => {
// // if (res.is_bind_phone) {
// // navigateTo('/pages/login/phoneAuthorization');
// // return
// // }
// // 将API返回的数据合并到userInfo响应式对象中
// Object.assign(userInfo, res);
// // 显示订单
// showMyOrder.value = true
// // 获取订单总数统计
// fetchOrderTotalCount().then(res => {
// // 将API返回的数据合并到count_info响应式对象中
// Object.assign(countInfo, res);
// });
// });
// }
});
</script>

View File

@@ -1,188 +0,0 @@
<template>
<view class="page-content">
<nut-steps :current="detail.progress">
<nut-step title="待付款">1</nut-step>
<nut-step title="待发货">2</nut-step>
<nut-step title="待收货">3</nut-step>
<nut-step title="已完成">4</nut-step>
</nut-steps>
<nut-cell-group>
<nut-cell>
<view class="address-inner" v-if="detail.address_info">
<text>{{detail.address_info.user_name}} - {{detail.address_info.tel_number}}</text>
<text>{{detail.address_info.province_name + detail.address_info.city_name + detail.address_info.county_name + detail.address_info.street_name + detail.address_info.detail_info_new}}</text>
</view>
</nut-cell>
</nut-cell-group>
<nut-cell-group>
<nut-cell v-for="(goods,index) in detail.goods" :key="index" center
@click="navigateTo('/pages/mall/detail?id=' + goods.goods_id)">
<template #title>
<view class="goods-info-row">
<view class="left-text">
<view class="goods-name">
<nut-tag custom-color="#1a1a1a">{{goods.snapshot_info.degree.degree_name}}</nut-tag>
<text style="margin-left: 10rpx;">{{goods.goods_name}}</text>
</view>
<text class="goods-no">串号{{goods.goods_no}}</text>
</view>
</view>
</template>
<template #link>
<nut-price :price="goods.goods_price" size="small" :need-symbol="true" />
</template>
</nut-cell>
</nut-cell-group>
<nut-cell-group>
<nut-cell>
<view class="total-price-inner">
<text>商品总额</text>
<nut-price :price="detail.pay_price" size="normal" :need-symbol="true" />
</view>
</nut-cell>
</nut-cell-group>
<nut-cell-group>
<nut-cell title="订单编号" :desc="detail.order_no" />
<nut-cell title="下单时间" :desc="detail.create_time" />
</nut-cell-group>
<nut-cell-group v-if="detail.progress >= 3">
<nut-cell title="物流公司" :desc="detail.express_company" />
<nut-cell title="物流单号" :desc="detail.express_no" />
</nut-cell-group>
<!-- <view v-if="detail.progress === 1 && !audit" class="wechat-img-inner">
<nut-button type="primary" block @click="showPayImgs()">
点我付款
</nut-button>
</view> -->
</view>
</template>
<script setup>
import {
reactive,
ref
} from 'vue';
import {
onLoad,
onShow
} from '@dcloudio/uni-app'
import {
fetchOrderDetail
} from '@/api/order';
import {
navigateTo,
} from '@/utils/helper';
import {
fetchGetConfig
} from '@/api/config';
// 审核模式 默认开启 true
const audit = ref(true);
// 订单ID
const id = ref(0)
// 订单详情
const detail = reactive({})
// 支付码
const images = ref([]);
onLoad((options) => {
id.value = options.id
})
/**
* 页面显示生命周期钩子
* 每次页面显示时都会执行
*/
onShow(() => {
// 获取配置
getConfig()
// 获取订单详情
fetchOrderDetail(id.value).then(res => {
Object.assign(detail, res)
})
})
// 获取配置
const getConfig = () => {
fetchGetConfig().then(res => {
console.log('getConfig=====>', res)
audit.value = res.appConfig.is_audit == 1
console.log(res.appConfig.pay_imgs);
let pay_imgs = JSON.parse(res.appConfig.pay_imgs) || [];
let wechat_imgs = JSON.parse(res.appConfig.wechat_imgs) || [];
let pay_imgs_arr = pay_imgs.map(item => item.file_path) || [];
let wechat_imgs_arr = wechat_imgs.map(item => item.file_path) || [];
const merged_imgs_arr = pay_imgs_arr.concat(wechat_imgs_arr);
images.value = merged_imgs_arr;
})
}
// // 显示支付码
// const showPayImgs = () => {
// if (images.value.length === 0) {
// uni.showToast({
// title: '暂无图片',
// icon: 'none'
// });
// return;
// }
// console.log('preview images:', images);
// uni.previewImage({
// urls: images.value
// });
// }
</script>
<style scoped lang="scss">
.page-content {
min-height: 100vh;
background-color: #f2f3f5;
padding: 20rpx;
}
.address-inner {
display: flex;
flex-direction: column;
justify-content: center;
}
.total-price-inner {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
// flex-direction: row;
view:nth-child(2) {
color: #fa2c19;
}
}
.wechat-img-inner {
margin-top: 60rpx;
padding: 0rpx 80rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
// gap: 5px;
}
</style>

View File

@@ -1,20 +1,6 @@
<template>
<view class="page-content">
<!-- <nut-dialog title="取消订单" content="确认取消吗?此操作不可恢复!" v-model:visible="visibleCancelOrderDialog"
@cancel="visibleCancelOrderDialog = false" @ok="onClickCancelOrder" />
<nut-dialog title="标记付款" content="确认标记吗?此操作不可恢复!" v-model:visible="visiblePayOrderDialog"
@cancel="visiblePayOrderDialog = false" @ok="onClickPayOrder" /> -->
<nut-sticky>
<!-- <nut-searchbar placeholder="请输入商品串号" clearable v-model="search_val" input-background="#eee"
@search="onSearch" @clear="onClear">
<template #rightout>
<nut-button size="small" type="primary" @click="onSearch">搜索</nut-button>
</template>
</nut-searchbar> -->
<nut-tabs v-model="current_tab_idx" background="#fff">
<template #titles>
<div class="title-list">
@@ -32,83 +18,84 @@
<z-paging ref="paging" :fixed="false" style="height: 88vh;" class="order-list" v-model="dataList"
@query="queryList">
<view class="order-inner" v-for="(order,index) in dataList" :key="index">
<view class="order-inner-header">
<text>{{order.create_time}}</text>
<nut-tag custom-color="#1a1a1a">{{order?.status?.text}}</nut-tag>
<!-- <text>{{order.order_no}}</text> -->
<nut-tag v-if="order.order_type == 1" plain type="primary">房间订单</nut-tag>
<nut-tag v-else="order.order_type == 2" plain type="warning">商品订单</nut-tag>
<nut-tag v-if="order.order_type == 1" custom-color="#ffc209">{{order?.rooms?.room_name}}</nut-tag>
<nut-tag plain type="danger" v-if="order?.status?.value == 1">{{order?.status?.text}}</nut-tag>
<nut-tag plain type="success"
v-else-if="order?.status?.value == 2">{{order?.status?.text}}</nut-tag>
</view>
<view class="goods-info-row" v-for="(goods,iidx) in order.goods" :key="iidx"
@click="navigateToDetail(order.order_id)">
<view class="goods-info-row" v-if="order.order_type == 1 && order?.fee_type?.value != 0">
<view class="left-text">
<view class="goods-name">
<nut-tag custom-color="#1a1a1a">{{goods.goods_type_name}}</nut-tag>
<nut-tag plain custom-color="#fa2400">{{order?.fee_type?.text}}</nut-tag>
<text style="margin-left: 10rpx;"
v-if="order?.fee_type?.value == 0 || order?.fee_type?.value == 3"></text>
<text style="margin-left: 10rpx;"
v-else-if="order?.fee_type?.value == 1 || order?.fee_type?.value == 2 ">{{order?.fee_combo_name}}</text>
</view>
</view>
<view class="price" v-if="order?.fee_type?.value == 0 || order?.fee_type?.value == 3">
{{order?.fee_amount}}
</view>
<view class="price" v-else-if="order?.fee_type?.value == 1 || order?.fee_type?.value == 2 ">
{{order?.fee_combo_price}}
</view>
<view class="goods-pay-status">
{{order?.fee_pay_status?.text}}
</view>
</view>
<view class="goods-info-row" v-if="order.over_often>0">
<view class="left-text">
<view class="goods-name">
<nut-tag plain custom-color="#fa2400">超时</nut-tag>
<text style="margin-left: 10rpx;">{{order?.over_often}}小时</text>
</view>
</view>
<view class="price">
{{order?.over_amount}}
</view>
<view class="goods-pay-status">
{{order?.over_pay_status?.text}}
</view>
</view>
<view class="goods-info-row" v-for="(goods,iidx) in order.goods" :key="iidx">
<view class="left-text">
<view class="goods-name">
<nut-tag plain custom-color="#fa2400">{{goods.goods_type_name}}</nut-tag>
<text style="margin-left: 10rpx;">{{goods.goods_name}}</text>
</view>
<!-- <text class="goods-no">串号{{goods.goods_no}}</text> -->
</view>
<view class="price">
<view class="price">
{{goods?.goods_price}}
</view>
<view class="goods-pay-status">
{{goods?.goods_pay_status?.text}}
</view>
<view class="goods-pay-status">
{{goods?.goods_pay_status_txt}}
</view>
</view>
<view class="footer">
<!-- <view class="order-inner-price">
总计:<nut-price :price="order.total_price" size="normal" :need-symbol="true" />
</view> v-if="order.order_status.value === 10"-->
<view class="order-inner-action" >
<view style="margin-left:10rpx;">
<!-- v-if="order.pay_status.value === 10 " -->
<!-- <nut-button plain size="small" v-if="order.delivery_status.value !== 20 "
@click="visibleCancelOrderDialog = true;current_cancel_order_id=order.order_id;">
取消订单
</nut-button> -->
</view>
<view style="margin-left:10rpx;">
<!-- <nut-button type="primary" size="small"
@click="visiblePayOrderDialog = true;current_pay_order_id=order.order_id;"
v-if="order.pay_status.value === 10 && !audit">
标记付款
</nut-button> -->
</view>
<view style="margin-left:10rpx;">
<!-- <nut-button type="primary" size="small" @click="onClickDeliveryOrder(order)"
v-if="order.pay_status.value === 20 && order.delivery_status.value === 10">
去发货
</nut-button> -->
</view>
<view class="order-inner-price">
<view>优惠:<nut-price :price="order.discount_amount" size="normal" :need-symbol="true" /></view>
<view>总计:<nut-price :price="order.total_price" size="normal" :need-symbol="true" /></view>
</view>
<view v-if="order.remarks" style="padding-left:20rpx;font-size: 26rpx;">备注</view>
<view v-if="order.remarks" class="remarks">
{{order.remarks}}
</view>
<view class="order-inner-price">
<view style="color: rgba(0, 0, 0, .5);font-size: 24rpx;">订单时间:{{order.create_time}}</view>
<view style="color: rgba(0, 0, 0, .5);font-size: 24rpx;">员工:{{order?.user?.staff_name}}</view>
</view>
</view>
</view>
</z-paging>
</view>
</template>
<script setup>
import {
onMounted,
@@ -119,8 +106,6 @@
onLoad,
onShow
} from '@dcloudio/uni-app';
import {
navigateTo,
} from '@/utils/helper';
@@ -128,65 +113,6 @@
fetchOrderList,
} from '@/api/index';
// import {
// fetchGetConfig
// } from '@/api/config';
// // 审核模式 默认开启 true
// const audit = ref(true);
// // 支付码
// const images = ref([]);
// // 展示发货弹窗
// const openDeliveryPopup = ref(false)
// // 发货订单
// const orderDetail = reactive({})
// const form = reactive({
// order_id: 0,
// express_company: '',
// express_no: '',
// })
// // 发货
// const deliveryOrder = () => {
// form.order_id = orderDetail.order_id
// console.log('form===>', form);
// fetchDeliveryOrder(form).then(res => {
// uni.showToast({
// icon: 'none',
// title: '发货成功'
// })
// onCloseDeliveryPopup()
// paging.value.reload();
// })
// }
// // 打开发货弹窗
// const onClickDeliveryOrder = (order) => {
// console.log(order);
// Object.assign(orderDetail, order)
// openDeliveryPopup.value = true
// }
// // 关闭发货弹窗
// const onCloseDeliveryPopup = () => {
// // 重置 发货订单
// Object.assign(orderDetail, {})
// Object.assign(form, {
// order_id: 0,
// express_company: '',
// express_no: '',
// })
// openDeliveryPopup.value = false
// console.log("关闭");
// };
// 默认tab
const current_tab_idx = ref(0);
// 定义tab切换
@@ -199,10 +125,10 @@
{
title: '昨日',
status: 'yesterday'
},
{
title: '当月',
status: 'month'
},
{
title: '当月',
status: 'month'
},
{
title: '全部',
@@ -215,103 +141,24 @@
// zp
const paging = ref(null);
// 取消订单弹窗
const visibleCancelOrderDialog = ref(false);
// 被取消订单id
const current_cancel_order_id = ref(0);
// 订单付款弹窗
const visiblePayOrderDialog = ref(false);
// 付款订单id
const current_pay_order_id = ref(0);
// 搜索内容
const search_val = ref('')
// tab切换
const onChangeTab = (item, idx) => {
current_tab_idx.value = idx
paging.value.reload();
}
// 获取配置
// const getConfig = () => {
// fetchGetConfig().then(res => {
// console.log('getConfig=====>', res)
// audit.value = res.appConfig.is_audit == 1
// console.log(res.appConfig.pay_imgs);
// let pay_imgs = JSON.parse(res.appConfig.pay_imgs) || [];
// let wechat_imgs = JSON.parse(res.appConfig.wechat_imgs) || [];
// let pay_imgs_arr = pay_imgs.map(item => item.file_path) || [];
// let wechat_imgs_arr = wechat_imgs.map(item => item.file_path) || [];
// const merged_imgs_arr = pay_imgs_arr.concat(wechat_imgs_arr);
// images.value = merged_imgs_arr;
// })
// }
// // 显示支付码
// const showPayImgs = () => {
// if (images.value.length === 0) {
// uni.showToast({
// title: '暂无图片',
// icon: 'none'
// });
// return;
// // 跳转详情页面
// const navigateToDetail = (id) => {
// console.log(id);
// if (!id) {
// console.warn('导航ID不能为空')
// return
// }
// console.log('preview images:', images);
// uni.previewImage({
// urls: images.value
// });
// }
// 跳转详情页面
const navigateToDetail = (id) => {
console.log(id);
if (!id) {
console.warn('导航ID不能为空')
return
}
uni.navigateTo({
url: `/pages/config/shopOrder/detail?id=${encodeURIComponent(id)}`
})
}
// // 取消订单
// const onClickCancelOrder = () => {
// fetchCancelOrder(current_cancel_order_id.value).then(res => {
// uni.showToast({
// title: '取消成功',
// icon: 'none'
// })
// paging.value.reload();
// uni.navigateTo({
// url: `/pages/config/shopOrder/detail?id=${encodeURIComponent(id)}`
// })
// }
// // 标记付款
// const onClickPayOrder = () => {
// fetchPayOrder(current_pay_order_id.value).then(res => {
// uni.showToast({
// title: '标记付款成功',
// icon: 'none'
// })
// paging.value.reload();
// })
// }
// 获取订单列表
const queryList = (pageNo = 1, pageSize = 10) => {
console.log(tabs_config[current_tab_idx.value]['status']);
@@ -332,7 +179,6 @@
current_tab_idx.value = parseInt(options.tab)
})
/**
* 页面显示生命周期钩子
* 每次页面显示时都会执行
@@ -346,41 +192,7 @@
// paging.value.refreshToPage(1)
// paging.value.reload();
}
})
// 搜索
const onSearch = () => {
console.log("搜索:", search_val.value);
paging.value.reload();
}
// 清空搜索框
const onClear = () => {
console.log("搜索:", search_val.value);
paging.value.reload();
}
// 订单状态
const getStatusText = (order) => {
if (order.order_status.value == 20) {
return order.order_status.text
} else if (order.order_status.value == 30) {
return order.order_status.text
} else if (order.order_status.value == 10) {
if (order.pay_status.value == 10) {
return order.pay_status.text
} else if (order.pay_status.value == 20) {
if (order.delivery_status.value == 10) {
return order.delivery_status.text
} else if (order.delivery_status.value == 20) {
return order.receipt_status.text
}
}
}
}
</script>
@@ -391,138 +203,6 @@
background-color: #f2f3f5;
}
.order-popup {
.address-inner {
display: flex;
flex-direction: column;
justify-content: center;
}
.total-price-inner {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
// flex-direction: row;
view:nth-child(2) {
color: #fa2c19;
}
}
}
.wechat-img-inner {
margin-top: 60rpx;
padding: 0rpx 80rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
// gap: 5px;
}
.order-list {
display: flex;
flex-direction: column;
width: 100%;
}
.order-inner {
display: flex;
flex-direction: column;
background: #fff;
border-radius: 15rpx;
overflow: hidden;
margin: 20rpx;
.order-inner-header {
display: flex;
align-items: center;
background-color: #dcdcdc;
color: rgba(0, 0, 0, .5);
font-size: 24rpx;
justify-content: space-between;
line-height: 45rpx;
padding: 15rpx 20rpx;
}
/* 信息行布局 */
.goods-info-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #f2f3f5;
/* 左侧文字样式 */
.left-text {
flex: 1;
}
.goods-name {
font-size: 28rpx;
color: #000000;
display: block;
// margin-bottom: 8rpx;
}
// .goods-no {
// font-size: 26rpx;
// color: #000000;
// display: block;
// }
/* 右侧价格样式 */
.price {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
color: #fa2c19;
/* 垂直居中在两行文字之间 */
}
.goods-pay-status{
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
}
}
.footer {
display: flex;
flex-direction: column;
.order-inner-price {
display: flex;
justify-content: flex-end;
padding-top: 10rpx;
padding-right: 20rpx;
padding-bottom: 20rpx;
font-size: 24rpx;
align-items: center;
}
.order-inner-action {
display: flex;
padding-top: 10rpx;
padding-bottom: 30rpx;
align-items: center;
justify-content: flex-end;
}
}
}
.title-list {
display: flex;
justify-content: space-around;
@@ -559,4 +239,89 @@
}
}
}
.order-list {
display: flex;
flex-direction: column;
width: 100%;
}
.order-inner {
display: flex;
flex-direction: column;
background: #fff;
border-radius: 15rpx;
overflow: hidden;
margin: 20rpx;
.order-inner-header {
display: flex;
align-items: center;
font-size: 24rpx;
justify-content: space-between;
line-height: 45rpx;
padding: 15rpx 20rpx;
border-bottom: 2rpx solid #f2f3f5;
}
/* 信息行布局 */
.goods-info-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #f2f3f5;
/* 左侧文字样式 */
.left-text {
flex: 1;
}
.goods-name {
font-size: 26rpx;
color: #000000;
display: block;
}
/* 右侧价格样式 */
.price {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
color: #fa2c19;
/* 垂直居中在两行文字之间 */
}
.goods-pay-status {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
}
}
.footer {
display: flex;
flex-direction: column;
.order-inner-price {
display: flex;
justify-content: space-evenly;
padding: 20rpx;
font-size: 24rpx;
align-items: center;
}
.remarks {
padding: 20rpx;
color: rgba(0, 0, 0, .5);
font-size: 24rpx;
}
}
}
</style>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -286,11 +286,11 @@ const _sfc_main = {
}, form.fee_type == 1 || form.fee_type == 2 ? {} : {}, {
o: form.fee_type == 1 || form.fee_type == 2
}, form.fee_type == 1 || form.fee_type == 2 ? {
p: common_vendor.o(($event) => form.often = $event),
p: common_vendor.o(($event) => form.over_often = $event),
q: common_vendor.p({
placeholder: "请输入小时",
type: "number",
modelValue: form.often
modelValue: form.over_often
}),
r: common_vendor.p({
["label-position"]: "top"

View File

@@ -42,6 +42,7 @@ const _sfc_main = {
form.fee_type_name = res.fee_type.text;
form.fee_combo_id = res.fee_combo_id;
form.fee_combo_name = res.fee_combo_name;
form.fee_combo_price = res.fee_combo_price;
form.fee_amount = res.fee_amount;
form.fee_pay_status = res.fee_pay_status.value;
form.fee_pay_status_txt = res.fee_pay_status.text;
@@ -73,21 +74,21 @@ const _sfc_main = {
}
];
const onConfirmFeeType = (selectedValue) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:281", selectedValue);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:282", selectedValue);
form.fee_type_name = selectedValue.selectedOptions[0].label;
form.fee_type = selectedValue.selectedOptions[0].value;
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:284", form);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:285", form);
if (form.fee_type !== 3) {
getCombos();
}
visibleFeeTypePopup.value = false;
};
const getCombos = () => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:293", "获取套餐");
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:294", "获取套餐");
api_index.fetchCombos({
type: form.fee_type
}).then((res) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:297", res);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:298", res);
combos.value = res;
});
};
@@ -95,11 +96,11 @@ const _sfc_main = {
const popupCombosVal = common_vendor.ref([]);
const combos = common_vendor.ref([]);
const onConfirmCombos = (selectedValue) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:312", selectedValue);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:313", selectedValue);
form.fee_combo_name = selectedValue.selectedOptions[0].label;
form.fee_combo_id = selectedValue.selectedOptions[0].value;
form.fee_combo_price = selectedValue.selectedOptions[0].combo_price;
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:316", form);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:317", form);
visibleCombosPopup.value = false;
};
const visiblePaymentStatusPopup = common_vendor.ref(false);
@@ -123,7 +124,7 @@ const _sfc_main = {
popupPaymentTypeVal.value = type;
goodsPayIndex.value = index;
visiblePaymentStatusPopup.value = true;
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:344", type);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:345", type);
};
const onConfirmPaymentStatus = (selectedValue) => {
if (popupPaymentTypeVal.value == "fee") {
@@ -135,11 +136,11 @@ const _sfc_main = {
form.over_pay_status = selectedValue.selectedOptions[0].value;
}
if (popupPaymentTypeVal.value == "goods" && goodsPayIndex.value >= 0) {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:359", "处理商品支付状态", goodsPayIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:360", "处理商品支付状态", goodsPayIndex.value);
orderGoods.value[goodsPayIndex.value].goods_pay_status_txt = selectedValue.selectedOptions[0].label;
orderGoods.value[goodsPayIndex.value].goods_pay_status = selectedValue.selectedOptions[0].value;
}
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:363", form);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:364", form);
visiblePaymentStatusPopup.value = false;
popupPaymentTypeVal.value = "";
goodsPayIndex.value = -1;
@@ -159,7 +160,7 @@ const _sfc_main = {
const goodsPayIndex = common_vendor.ref(0);
const goodsIndex = common_vendor.ref(0);
const addGoods = () => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:390", orderGoods.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:391", orderGoods.value);
orderGoods.value.push({
goods_type_name: null,
goods_type_id: null,
@@ -185,12 +186,12 @@ const _sfc_main = {
}
});
const onGoodsChange = (...args) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:418", "onGoodsChange", args);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:419", "onGoodsChange", args);
};
const onGoodsPathChange = (args) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:422", "onGoodsPathChange", args);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:423", "goodsIndex", goodsIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:424", "orderGoods.value[goodsIndex.value]", orderGoods.value[goodsIndex.value]);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:423", "onGoodsPathChange", args);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:424", "goodsIndex", goodsIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:425", "orderGoods.value[goodsIndex.value]", orderGoods.value[goodsIndex.value]);
orderGoods.value[goodsIndex.value].goods_type_name = null;
orderGoods.value[goodsIndex.value].goods_type_id = null;
orderGoods.value[goodsIndex.value].goods_name = null;
@@ -205,11 +206,11 @@ const _sfc_main = {
orderGoods.value[goodsIndex.value].goods_id = args[1].value;
orderGoods.value[goodsIndex.value].goods_price = args[1].goods_price;
}
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:440", "orderGoods.value[goodsIndex.value]", orderGoods.value[goodsIndex.value]);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:441", "orderGoods.value[goodsIndex.value]", orderGoods.value[goodsIndex.value]);
};
const onCloseGoodsCascader = () => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:443", "onCloseGoodsCascader");
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:444", "goodsIndex.value", goodsIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:444", "onCloseGoodsCascader");
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:445", "goodsIndex.value", goodsIndex.value);
if (orderGoods.value[goodsIndex.value].goods_type_id && orderGoods.value[goodsIndex.value].goods_id) {
orderGoods.value[goodsIndex.value].cascader_val = [
orderGoods.value[goodsIndex.value].goods_type_id,
@@ -217,11 +218,11 @@ const _sfc_main = {
];
}
goodsIndex.value = 0;
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:452", "goodsIndex.value", goodsIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:453", "goodsIndex.value", goodsIndex.value);
};
const onOpenGoodsCascader = () => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:455", "onOpenGoodsCascader");
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:456", "goodsIndex.value", goodsIndex.value);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:456", "onOpenGoodsCascader");
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:457", "goodsIndex.value", goodsIndex.value);
};
const form = common_vendor.reactive({
order_type: 1,
@@ -263,9 +264,9 @@ const _sfc_main = {
order: form,
flag
};
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:502", "提交的订单数据:", data);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:503", "提交的订单数据:", data);
api_index.fetchEditOrder(data).then((res) => {
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:504", res);
common_vendor.index.__f__("log", "at pages/index/orderEdit.vue:505", res);
common_vendor.index.showToast({
icon: "none",
title: "更新账单成功"

View File

@@ -5,15 +5,17 @@ if (!Array) {
const _easycom_nut_tabs2 = common_vendor.resolveComponent("nut-tabs");
const _easycom_nut_sticky2 = common_vendor.resolveComponent("nut-sticky");
const _easycom_nut_tag2 = common_vendor.resolveComponent("nut-tag");
const _easycom_nut_price2 = common_vendor.resolveComponent("nut-price");
const _easycom_z_paging2 = common_vendor.resolveComponent("z-paging");
(_easycom_nut_tabs2 + _easycom_nut_sticky2 + _easycom_nut_tag2 + _easycom_z_paging2)();
(_easycom_nut_tabs2 + _easycom_nut_sticky2 + _easycom_nut_tag2 + _easycom_nut_price2 + _easycom_z_paging2)();
}
const _easycom_nut_tabs = () => "../../uni_modules/nutui-uni/components/tabs/tabs.js";
const _easycom_nut_sticky = () => "../../uni_modules/nutui-uni/components/sticky/sticky.js";
const _easycom_nut_tag = () => "../../uni_modules/nutui-uni/components/tag/tag.js";
const _easycom_nut_price = () => "../../uni_modules/nutui-uni/components/price/price.js";
const _easycom_z_paging = () => "../../uni_modules/z-paging/components/z-paging/z-paging.js";
if (!Math) {
(_easycom_nut_tabs + _easycom_nut_sticky + _easycom_nut_tag + _easycom_z_paging)();
(_easycom_nut_tabs + _easycom_nut_sticky + _easycom_nut_tag + _easycom_nut_price + _easycom_z_paging)();
}
const _sfc_main = {
__name: "index",
@@ -39,34 +41,19 @@ const _sfc_main = {
];
const dataList = common_vendor.ref([]);
const paging = common_vendor.ref(null);
common_vendor.ref(false);
common_vendor.ref(0);
common_vendor.ref(false);
common_vendor.ref(0);
common_vendor.ref("");
const onChangeTab = (item, idx) => {
current_tab_idx.value = idx;
paging.value.reload();
};
const navigateToDetail = (id) => {
common_vendor.index.__f__("log", "at pages/order/index.vue:277", id);
if (!id) {
common_vendor.index.__f__("warn", "at pages/order/index.vue:279", "导航ID不能为空");
return;
}
common_vendor.index.navigateTo({
url: `/pages/config/shopOrder/detail?id=${encodeURIComponent(id)}`
});
};
const queryList = (pageNo = 1, pageSize = 10) => {
common_vendor.index.__f__("log", "at pages/order/index.vue:317", tabs_config[current_tab_idx.value]["status"]);
common_vendor.index.__f__("log", "at pages/order/index.vue:164", tabs_config[current_tab_idx.value]["status"]);
const params = {
page: pageNo,
pageSize: 10,
status: tabs_config[current_tab_idx.value]["status"]
};
api_index.fetchOrderList(params).then((res) => {
common_vendor.index.__f__("log", "at pages/order/index.vue:324", res);
common_vendor.index.__f__("log", "at pages/order/index.vue:171", res);
paging.value.complete(res.list);
}).catch((res) => {
paging.value.complete(false);
@@ -96,38 +83,124 @@ const _sfc_main = {
modelValue: current_tab_idx.value
}),
d: common_vendor.f(dataList.value, (order, index, i0) => {
var _a;
return {
a: common_vendor.t(order.create_time),
b: common_vendor.t((_a = order == null ? void 0 : order.status) == null ? void 0 : _a.text),
c: "17a44f9d-3-" + i0 + ",17a44f9d-2",
d: common_vendor.f(order.goods, (goods, iidx, i1) => {
var _a2;
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _A, _B, _C;
return common_vendor.e({
a: order.order_type == 1
}, order.order_type == 1 ? {
b: "17a44f9d-3-" + i0 + ",17a44f9d-2",
c: common_vendor.p({
plain: true,
type: "primary"
})
} : {
e: "17a44f9d-4-" + i0 + ",17a44f9d-2",
f: common_vendor.p({
plain: true,
type: "warning"
})
}, {
d: order.order_type == 2,
g: order.order_type == 1
}, order.order_type == 1 ? {
h: common_vendor.t((_a = order == null ? void 0 : order.rooms) == null ? void 0 : _a.room_name),
i: "17a44f9d-5-" + i0 + ",17a44f9d-2",
j: common_vendor.p({
["custom-color"]: "#ffc209"
})
} : {}, {
k: ((_b = order == null ? void 0 : order.status) == null ? void 0 : _b.value) == 1
}, ((_c = order == null ? void 0 : order.status) == null ? void 0 : _c.value) == 1 ? {
l: common_vendor.t((_d = order == null ? void 0 : order.status) == null ? void 0 : _d.text),
m: "17a44f9d-6-" + i0 + ",17a44f9d-2",
n: common_vendor.p({
plain: true,
type: "danger"
})
} : ((_e = order == null ? void 0 : order.status) == null ? void 0 : _e.value) == 2 ? {
p: common_vendor.t((_f = order == null ? void 0 : order.status) == null ? void 0 : _f.text),
q: "17a44f9d-7-" + i0 + ",17a44f9d-2",
r: common_vendor.p({
plain: true,
type: "success"
})
} : {}, {
o: ((_g = order == null ? void 0 : order.status) == null ? void 0 : _g.value) == 2,
s: order.order_type == 1 && ((_h = order == null ? void 0 : order.fee_type) == null ? void 0 : _h.value) != 0
}, order.order_type == 1 && ((_i = order == null ? void 0 : order.fee_type) == null ? void 0 : _i.value) != 0 ? common_vendor.e({
t: common_vendor.t((_j = order == null ? void 0 : order.fee_type) == null ? void 0 : _j.text),
v: "17a44f9d-8-" + i0 + ",17a44f9d-2",
w: common_vendor.p({
plain: true,
["custom-color"]: "#fa2400"
}),
x: ((_k = order == null ? void 0 : order.fee_type) == null ? void 0 : _k.value) == 0 || ((_l = order == null ? void 0 : order.fee_type) == null ? void 0 : _l.value) == 3
}, ((_m = order == null ? void 0 : order.fee_type) == null ? void 0 : _m.value) == 0 || ((_n = order == null ? void 0 : order.fee_type) == null ? void 0 : _n.value) == 3 ? {} : ((_o = order == null ? void 0 : order.fee_type) == null ? void 0 : _o.value) == 1 || ((_p = order == null ? void 0 : order.fee_type) == null ? void 0 : _p.value) == 2 ? {
z: common_vendor.t(order == null ? void 0 : order.fee_combo_name)
} : {}, {
y: ((_q = order == null ? void 0 : order.fee_type) == null ? void 0 : _q.value) == 1 || ((_r = order == null ? void 0 : order.fee_type) == null ? void 0 : _r.value) == 2,
A: ((_s = order == null ? void 0 : order.fee_type) == null ? void 0 : _s.value) == 0 || ((_t = order == null ? void 0 : order.fee_type) == null ? void 0 : _t.value) == 3
}, ((_u = order == null ? void 0 : order.fee_type) == null ? void 0 : _u.value) == 0 || ((_v = order == null ? void 0 : order.fee_type) == null ? void 0 : _v.value) == 3 ? {
B: common_vendor.t(order == null ? void 0 : order.fee_amount)
} : ((_w = order == null ? void 0 : order.fee_type) == null ? void 0 : _w.value) == 1 || ((_x = order == null ? void 0 : order.fee_type) == null ? void 0 : _x.value) == 2 ? {
D: common_vendor.t(order == null ? void 0 : order.fee_combo_price)
} : {}, {
C: ((_y = order == null ? void 0 : order.fee_type) == null ? void 0 : _y.value) == 1 || ((_z = order == null ? void 0 : order.fee_type) == null ? void 0 : _z.value) == 2,
E: common_vendor.t((_A = order == null ? void 0 : order.fee_pay_status) == null ? void 0 : _A.text)
}) : {}, {
F: order.over_often > 0
}, order.over_often > 0 ? {
G: "17a44f9d-9-" + i0 + ",17a44f9d-2",
H: common_vendor.p({
plain: true,
["custom-color"]: "#fa2400"
}),
I: common_vendor.t(order == null ? void 0 : order.over_often),
J: common_vendor.t(order == null ? void 0 : order.over_amount),
K: common_vendor.t((_B = order == null ? void 0 : order.over_pay_status) == null ? void 0 : _B.text)
} : {}, {
L: common_vendor.f(order.goods, (goods, iidx, i1) => {
return {
a: common_vendor.t(goods.goods_type_name),
b: "17a44f9d-4-" + i0 + "-" + i1 + ",17a44f9d-2",
b: "17a44f9d-10-" + i0 + "-" + i1 + ",17a44f9d-2",
c: common_vendor.t(goods.goods_name),
d: common_vendor.t(goods == null ? void 0 : goods.goods_price),
e: common_vendor.t((_a2 = goods == null ? void 0 : goods.goods_pay_status) == null ? void 0 : _a2.text),
f: iidx,
g: common_vendor.o(($event) => navigateToDetail(order.order_id), iidx)
e: common_vendor.t(goods == null ? void 0 : goods.goods_pay_status_txt),
f: iidx
};
}),
e: index
};
M: "17a44f9d-11-" + i0 + ",17a44f9d-2",
N: common_vendor.p({
price: order.discount_amount,
size: "normal",
["need-symbol"]: true
}),
O: "17a44f9d-12-" + i0 + ",17a44f9d-2",
P: common_vendor.p({
price: order.total_price,
size: "normal",
["need-symbol"]: true
}),
Q: order.remarks
}, order.remarks ? {} : {}, {
R: order.remarks
}, order.remarks ? {
S: common_vendor.t(order.remarks)
} : {}, {
T: common_vendor.t(order.create_time),
U: common_vendor.t((_C = order == null ? void 0 : order.user) == null ? void 0 : _C.staff_name),
V: index
});
}),
e: common_vendor.p({
["custom-color"]: "#1a1a1a"
plain: true,
["custom-color"]: "#fa2400"
}),
f: common_vendor.p({
["custom-color"]: "#1a1a1a"
}),
g: common_vendor.sr(paging, "17a44f9d-2", {
f: common_vendor.sr(paging, "17a44f9d-2", {
"k": "paging"
}),
h: common_vendor.o(queryList),
i: common_vendor.o(($event) => dataList.value = $event),
j: common_vendor.p({
g: common_vendor.o(queryList),
h: common_vendor.o(($event) => dataList.value = $event),
i: common_vendor.p({
fixed: false,
modelValue: dataList.value
})

View File

@@ -5,6 +5,7 @@
"nut-tabs": "../../uni_modules/nutui-uni/components/tabs/tabs",
"nut-sticky": "../../uni_modules/nutui-uni/components/sticky/sticky",
"nut-tag": "../../uni_modules/nutui-uni/components/tag/tag",
"nut-price": "../../uni_modules/nutui-uni/components/price/price",
"z-paging": "../../uni_modules/z-paging/components/z-paging/z-paging"
}
}

View File

@@ -1 +1 @@
<view class="page-content data-v-17a44f9d"><nut-sticky class="data-v-17a44f9d" u-s="{{['d']}}" u-i="17a44f9d-0" bind:__l="__l"><nut-tabs wx:if="{{c}}" class="data-v-17a44f9d" u-s="{{['titles']}}" u-i="17a44f9d-1,17a44f9d-0" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"><view class="title-list data-v-17a44f9d" slot="titles"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="{{['title-item', 'data-v-17a44f9d', item.c && 'tabs-active']}}" bindtap="{{item.d}}"><view class="nut-tabs__titles-item__text data-v-17a44f9d">{{item.a}}</view><view class="item__line data-v-17a44f9d"/></view></view></nut-tabs></nut-sticky><z-paging wx:if="{{j}}" u-s="{{['d']}}" u-r="paging" style="height:88vh" class="order-list r data-v-17a44f9d" bindquery="{{h}}" u-i="17a44f9d-2" bind:__l="__l" bindupdateModelValue="{{i}}" u-p="{{j}}"><view wx:for="{{d}}" wx:for-item="order" wx:key="e" class="order-inner data-v-17a44f9d"><view class="order-inner-header data-v-17a44f9d"><text class="data-v-17a44f9d">{{order.a}}</text><nut-tag wx:if="{{e}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.c}}" bind:__l="__l" u-p="{{e}}">{{order.b}}</nut-tag></view><view wx:for="{{order.d}}" wx:for-item="goods" wx:key="f" class="goods-info-row data-v-17a44f9d" bindtap="{{goods.g}}"><view class="left-text data-v-17a44f9d"><view class="goods-name data-v-17a44f9d"><nut-tag wx:if="{{f}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{goods.b}}" bind:__l="__l" u-p="{{f}}">{{goods.a}}</nut-tag><text class="data-v-17a44f9d" style="margin-left:10rpx">{{goods.c}}</text></view></view><view class="price data-v-17a44f9d">{{goods.d}}</view><view class="goods-pay-status data-v-17a44f9d">{{goods.e}}</view></view><view class="footer data-v-17a44f9d"><view class="order-inner-action data-v-17a44f9d"><view class="data-v-17a44f9d" style="margin-left:10rpx"></view><view class="data-v-17a44f9d" style="margin-left:10rpx"></view><view class="data-v-17a44f9d" style="margin-left:10rpx"></view></view></view></view></z-paging></view>
<view class="page-content data-v-17a44f9d"><nut-sticky class="data-v-17a44f9d" u-s="{{['d']}}" u-i="17a44f9d-0" bind:__l="__l"><nut-tabs wx:if="{{c}}" class="data-v-17a44f9d" u-s="{{['titles']}}" u-i="17a44f9d-1,17a44f9d-0" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"><view class="title-list data-v-17a44f9d" slot="titles"><view wx:for="{{a}}" wx:for-item="item" wx:key="b" class="{{['title-item', 'data-v-17a44f9d', item.c && 'tabs-active']}}" bindtap="{{item.d}}"><view class="nut-tabs__titles-item__text data-v-17a44f9d">{{item.a}}</view><view class="item__line data-v-17a44f9d"/></view></view></nut-tabs></nut-sticky><z-paging wx:if="{{i}}" u-s="{{['d']}}" u-r="paging" style="height:88vh" class="order-list r data-v-17a44f9d" bindquery="{{g}}" u-i="17a44f9d-2" bind:__l="__l" bindupdateModelValue="{{h}}" u-p="{{i}}"><view wx:for="{{d}}" wx:for-item="order" wx:key="V" class="order-inner data-v-17a44f9d"><view class="order-inner-header data-v-17a44f9d"><nut-tag wx:if="{{order.a}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.b}}" bind:__l="__l" u-p="{{order.c}}">房间订单</nut-tag><nut-tag wx:else class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.e}}" bind:__l="__l" u-p="{{order.f||''}}">商品订单</nut-tag><nut-tag wx:if="{{order.g}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.i}}" bind:__l="__l" u-p="{{order.j}}">{{order.h}}</nut-tag><nut-tag wx:if="{{order.k}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.m}}" bind:__l="__l" u-p="{{order.n}}">{{order.l}}</nut-tag><nut-tag wx:elif="{{order.o}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.q}}" bind:__l="__l" u-p="{{order.r}}">{{order.p}}</nut-tag></view><view wx:if="{{order.s}}" class="goods-info-row data-v-17a44f9d"><view class="left-text data-v-17a44f9d"><view class="goods-name data-v-17a44f9d"><nut-tag wx:if="{{order.w}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.v}}" bind:__l="__l" u-p="{{order.w}}">{{order.t}}</nut-tag><text wx:if="{{order.x}}" class="data-v-17a44f9d" style="margin-left:10rpx"></text><text wx:elif="{{order.y}}" class="data-v-17a44f9d" style="margin-left:10rpx">{{order.z}}</text></view></view><view wx:if="{{order.A}}" class="price data-v-17a44f9d">{{order.B}}</view><view wx:elif="{{order.C}}" class="price data-v-17a44f9d">{{order.D}}</view><view class="goods-pay-status data-v-17a44f9d">{{order.E}}</view></view><view wx:if="{{order.F}}" class="goods-info-row data-v-17a44f9d"><view class="left-text data-v-17a44f9d"><view class="goods-name data-v-17a44f9d"><nut-tag wx:if="{{order.H}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{order.G}}" bind:__l="__l" u-p="{{order.H}}">超时</nut-tag><text class="data-v-17a44f9d" style="margin-left:10rpx">{{order.I}}小时</text></view></view><view class="price data-v-17a44f9d">{{order.J}}</view><view class="goods-pay-status data-v-17a44f9d">{{order.K}}</view></view><view wx:for="{{order.L}}" wx:for-item="goods" wx:key="f" class="goods-info-row data-v-17a44f9d"><view class="left-text data-v-17a44f9d"><view class="goods-name data-v-17a44f9d"><nut-tag wx:if="{{e}}" class="data-v-17a44f9d" u-s="{{['d']}}" u-i="{{goods.b}}" bind:__l="__l" u-p="{{e}}">{{goods.a}}</nut-tag><text class="data-v-17a44f9d" style="margin-left:10rpx">{{goods.c}}</text></view></view><view class="price data-v-17a44f9d">{{goods.d}}</view><view class="goods-pay-status data-v-17a44f9d">{{goods.e}}</view></view><view class="footer data-v-17a44f9d"><view class="order-inner-price data-v-17a44f9d"><view class="data-v-17a44f9d">优惠:<nut-price wx:if="{{order.N}}" class="data-v-17a44f9d" u-i="{{order.M}}" bind:__l="__l" u-p="{{order.N}}"/></view><view class="data-v-17a44f9d">总计:<nut-price wx:if="{{order.P}}" class="data-v-17a44f9d" u-i="{{order.O}}" bind:__l="__l" u-p="{{order.P}}"/></view></view><view wx:if="{{order.Q}}" class="data-v-17a44f9d" style="padding-left:20rpx;font-size:26rpx">备注</view><view wx:if="{{order.R}}" class="remarks data-v-17a44f9d">{{order.S}}</view><view class="order-inner-price data-v-17a44f9d"><view class="data-v-17a44f9d" style="color:rgba(0, 0, 0, .5);font-size:24rpx">订单时间:{{order.T}}</view><view class="data-v-17a44f9d" style="color:rgba(0, 0, 0, .5);font-size:24rpx">员工:{{order.U}}</view></view></view></view></z-paging></view>

View File

@@ -52,101 +52,6 @@
min-height: 100vh;
background-color: #f2f3f5;
}
.order-popup .address-inner.data-v-17a44f9d {
display: flex;
flex-direction: column;
justify-content: center;
}
.order-popup .total-price-inner.data-v-17a44f9d {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.order-popup .total-price-inner view.data-v-17a44f9d:nth-child(2) {
color: #fa2c19;
}
.wechat-img-inner.data-v-17a44f9d {
margin-top: 60rpx;
padding: 0rpx 80rpx;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
}
.order-list.data-v-17a44f9d {
display: flex;
flex-direction: column;
width: 100%;
}
.order-inner.data-v-17a44f9d {
display: flex;
flex-direction: column;
background: #fff;
border-radius: 15rpx;
overflow: hidden;
margin: 20rpx;
/* 信息行布局 */
}
.order-inner .order-inner-header.data-v-17a44f9d {
display: flex;
align-items: center;
background-color: #dcdcdc;
color: rgba(0, 0, 0, 0.5);
font-size: 24rpx;
justify-content: space-between;
line-height: 45rpx;
padding: 15rpx 20rpx;
}
.order-inner .goods-info-row.data-v-17a44f9d {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #f2f3f5;
/* 左侧文字样式 */
/* 右侧价格样式 */
}
.order-inner .goods-info-row .left-text.data-v-17a44f9d {
flex: 1;
}
.order-inner .goods-info-row .goods-name.data-v-17a44f9d {
font-size: 28rpx;
color: #000000;
display: block;
}
.order-inner .goods-info-row .price.data-v-17a44f9d {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
color: #fa2c19;
/* 垂直居中在两行文字之间 */
}
.order-inner .goods-info-row .goods-pay-status.data-v-17a44f9d {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
}
.order-inner .footer.data-v-17a44f9d {
display: flex;
flex-direction: column;
}
.order-inner .footer .order-inner-price.data-v-17a44f9d {
display: flex;
justify-content: flex-end;
padding-top: 10rpx;
padding-right: 20rpx;
padding-bottom: 20rpx;
font-size: 24rpx;
align-items: center;
}
.order-inner .footer .order-inner-action.data-v-17a44f9d {
display: flex;
padding-top: 10rpx;
padding-bottom: 30rpx;
align-items: center;
justify-content: flex-end;
}
.title-list.data-v-17a44f9d {
display: flex;
justify-content: space-around;
@@ -179,4 +84,72 @@
height: 3px;
content: " ";
background: var(--nut-tabs-horizontal-tab-line-color, linear-gradient(90deg, var(--nut-primary-color, #fa2c19) 0%, rgba(250, 44, 25, 0.15) 100%));
}
.order-list.data-v-17a44f9d {
display: flex;
flex-direction: column;
width: 100%;
}
.order-inner.data-v-17a44f9d {
display: flex;
flex-direction: column;
background: #fff;
border-radius: 15rpx;
overflow: hidden;
margin: 20rpx;
/* 信息行布局 */
}
.order-inner .order-inner-header.data-v-17a44f9d {
display: flex;
align-items: center;
font-size: 24rpx;
justify-content: space-between;
line-height: 45rpx;
padding: 15rpx 20rpx;
border-bottom: 2rpx solid #f2f3f5;
}
.order-inner .goods-info-row.data-v-17a44f9d {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
border-bottom: 2rpx solid #f2f3f5;
/* 左侧文字样式 */
/* 右侧价格样式 */
}
.order-inner .goods-info-row .left-text.data-v-17a44f9d {
flex: 1;
}
.order-inner .goods-info-row .goods-name.data-v-17a44f9d {
font-size: 26rpx;
color: #000000;
display: block;
}
.order-inner .goods-info-row .price.data-v-17a44f9d {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
color: #fa2c19;
/* 垂直居中在两行文字之间 */
}
.order-inner .goods-info-row .goods-pay-status.data-v-17a44f9d {
font-size: 26rpx;
margin-left: 20rpx;
align-self: center;
}
.order-inner .footer.data-v-17a44f9d {
display: flex;
flex-direction: column;
}
.order-inner .footer .order-inner-price.data-v-17a44f9d {
display: flex;
justify-content: space-evenly;
padding: 20rpx;
font-size: 24rpx;
align-items: center;
}
.order-inner .footer .remarks.data-v-17a44f9d {
padding: 20rpx;
color: rgba(0, 0, 0, 0.5);
font-size: 24rpx;
}