店铺管理 & 订单列表

This commit is contained in:
赵毅 2025-07-03 17:17:29 +08:00
parent 8fb714feef
commit 3c88a2d879
6 changed files with 1007 additions and 0 deletions

View File

@ -13,6 +13,8 @@ image {
display: flex; display: flex;
align-items: center; align-items: center;
padding-left: 20rpx; padding-left: 20rpx;
position: relative;
z-index: 3;
} }
.container { .container {

View File

@ -514,6 +514,21 @@
} }
} }
] ]
},
{
"root": "storeManagement",
"pages": [{
"path": "index/index",
"style": {
"navigationBarTitleText": "店铺管理"
}
},{
"path": "order/index",
"style": {
"navigationBarTitleText": "订单列表"
}
}
]
} }
], ],

View File

@ -0,0 +1,596 @@
page {
background-color: #F6F6FA;
padding-bottom: 180rpx;
min-height: calc(100vh - 180rpx);
}
.container {
display: flex;
flex-direction: column;
min-height: calc(100vh - 120rpx);
width: 100%;
}
image {
width: 100%;
height: 100%;
}
.searchBox {
display: flex;
align-items: center;
padding: 0 20rpx;
/* margin-top: 35rpx; */
justify-content: space-between;
background-color: #fff;
padding-bottom: 24rpx;
}
.searchBox_add {
display: flex;
align-items: center;
font-weight: 400;
font-size: 30rpx;
color: #000000;
}
.searchBox_add image {
width: 30rpx;
height: 30rpx;
margin-right: 16rpx;
}
.content{
margin-top: 30rpx;
height: 1100rpx;
padding: 20rpx;
width: 100%;
box-sizing: border-box;
background-color: #fff;
display: flex;
}
.iconStyle{
width: 100%;
height: 200rpx;
}
.nav_icon {
width: 50rpx;
height: 50rpx;
margin-bottom: 20rpx;
}
.community {
margin-top: 30rpx;
height: 200rpx;
padding: 20rpx;
width: 100%;
box-sizing: border-box;
background-color: #fff;
display: flex;
align-items: center;
}
.community_left {
width: 180rpx;
height: 160rpx;
border-radius: 20rpx 20rpx 20rpx 20rpx;
overflow: hidden;
}
.community_right {
display: flex;
align-items: center;
justify-content: space-between;
margin-left: 20rpx;
flex: 1;
}
.community_right_text1 {
font-size: 32rpx;
color: #222222;
}
.community_right_text2 {
font-size: 26rpx;
color: #555555;
}
.tabList {
margin-top: 20rpx;
display: flex;
align-items: center;
padding-top: 16rpx;
background-color: #fff;
}
.tabItem {
flex: 1;
font-size: 32rpx;
color: #222222;
text-align: center;
padding-bottom: 10rpx;
}
.line {
height: 30rpx;
width: 1rpx;
background-color: #999999;
}
.active {
border-bottom: 1rpx solid #FF370B;
font-weight: 600;
}
.homeMoney {
background-color: #fff;
padding-top: 40rpx;
width: 100%;
padding-bottom: 37rpx;
}
.homeMoney_box {
width: 710rpx;
height: 160rpx;
background: linear-gradient(90deg, #F7E4B9 0%, #EAAF67 100%);
border-radius: 20rpx 20rpx 20rpx 20rpx;
margin: 0 auto;
box-sizing: border-box;
position: relative;
display: flex;
padding-left: 28rpx;
}
.homeMoney_box::after {
content: '';
width: 171rpx;
height: 117rpx;
position: absolute;
right: 8rpx;
top: 23rpx;
background: url(http://192.168.0.172:5500/com_jfImg.png) no-repeat;
background-size: 100% 100%;
}
.homeMoney_box_left {
margin-right: 157rpx;
}
.homeMoney_box_left1 {
font-size: 32rpx;
color: #222222;
font-weight: 600;
margin-top: 35rpx;
}
.homeMoney_box_left2 {
font-size: 26rpx;
color: rgba(137, 75, 17, 0.5);
margin-top: 10rpx;
}
.homeMoney_box_right1 {
font-size: 40rpx;
color: #894B11;
margin-top: 34rpx;
}
.homeMoney_box_right1 span {
font-size: 28rpx;
}
.homeMoney_box_right2 {
font-size: 28rpx;
color: #894B11;
margin-top: 10rpx;
display: flex;
align-items: center;
}
.payList {
margin-top: 20rpx;
background-color: #fff;
padding: 0 20rpx;
}
.payItem {
padding-top: 30rpx;
padding-bottom: 30rpx;
border-bottom: 1rpx solid #EBEBEB;
width: 100%;
}
.payItem_tit {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
}
.payItem_left {
font-size: 32rpx;
color: #222222;
display: flex;
align-items: center;
}
.payItem_right {
display: flex;
align-items: center;
font-size: 40rpx;
color: #FF370B;
}
.payItem_right span {
font-size: 28rpx;
}
.payItem_right p {
font-size: 24rpx;
}
.bottom {
width: 750rpx;
background: #FFFFFF;
box-shadow: 3rpx -3rpx 15rpx 0rpx rgba(255, 27, 27, 0.05);
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20rpx;
padding-top: 30rpx;
padding-bottom: 40rpx;
box-sizing: border-box;
position: fixed;
left: 0;
right: 0;
bottom: 0;
}
.bottom_left {
display: flex;
align-items: center;
font-size: 40rpx;
color: #FF370B;
}
.bottom_left p {
font-size: 32rpx;
}
.bottom_left span {
font-size: 32rpx;
color: #222222;
margin-right: 13rpx;
}
.bottom_right {
font-size: 36rpx;
color: #fff;
width: 230rpx;
height: 70rpx;
background: linear-gradient(91deg, #FF7658 0%, #FF370B 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
}
.payItem:last-child {
border-bottom: 0;
}
.payItem_List {
display: flex;
align-items: center;
padding: 23rpx 0;
padding-left: 50rpx;
}
.Item_time {
font-size: 28rpx;
color: #222222;
margin-left: 24rpx;
width: 114rpx;
}
.Item_type {
font-size: 28rpx;
color: #FF370B;
width: 200rpx;
}
.Item_money {
font-size: 32rpx;
color: #FF370B;
flex: 1;
}
.Item_status {
font-size: 28rpx;
color: #FF370B;
font-weight: 700;
}
.boxshadow {
background: rgba(0, 0, 0, 0.16);
position: fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 8;
}
.boxshadowCon {
width: 750rpx;
height: 545rpx;
background: #FFFFFF;
box-shadow: 0rpx 4rpx 4rpx 0rpx rgba(0, 0, 0, 0.6);
border-radius: 50rpx 50rpx 0rpx 0rpx;
position: fixed;
left: 0;
right: 0;
bottom: 0;
z-index: 9;
display: flex;
flex-direction: column;
}
.boxshadowCon_Tit {
font-size: 32rpx;
color: #222222;
text-align: center;
font-weight: 600;
padding-top: 33rpx;
padding-bottom: 15rpx;
position: relative;
}
.boxshadowCon_Text{
font-size: 20rpx;
color: #999999;
text-align: center;
font-weight: 500;
padding-top: 10rpx;
padding-bottom: 15rpx;
position: relative;
}
.boxshadowCon_Text2{
font-size: 20rpx;
color: #999999;
font-weight: 500;
margin-top: -50rpx;
margin-bottom: 15rpx;
/* position: absolute;
top:170rpx */
}
.cancel {
font-size: 28rpx;
color: #da4e27;
position: absolute;
font-weight: 500;
right: 33rpx;
top: 33rpx;
}
.lines {
height: 20rpx;
width: 100%;
background: #F6F7FB;
}
.communityItem {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
border-bottom: 1rpx solid #EBEBEB;
}
.communityList {
height: auto;
overflow: hidden;
overflow-y: auto;
padding: 0 20rpx;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
padding-bottom: 60rpx;
flex: 1;
}
.communityItem_text {
margin-left: 49rpx;
font-size: 32rpx;
color: #222222;
}
.payTypeList {
margin-top: 20rpx;
background-color: #fff;
padding: 0 20rpx;
}
.PayTypeItem {
display: flex;
padding: 30rpx 0;
justify-content: space-between;
align-items: center;
}
.PayTypeItem_left {
display: flex;
}
.PayTypeItem_img {
width: 50rpx;
height: 44rpx;
margin-right: 20rpx;
}
.PayTypeItem_con_tit {
font-size: 32rpx;
color: #000000;
font-weight: 600;
}
.PayTypeItem_con_msg {
font-size: 28rpx;
color: #000000;
margin-top: 10rpx;
}
.line3 {
height: 1rpx;
width: 100%;
background-color: #EBEBEB;
}
.boxshadowCon_subTit {
font-weight: bold;
font-size: 50rpx;
color: #FF370B;
text-align: center;
padding-bottom: 30rpx;
}
.boxshadowCon_subTit span {
font-size: 40rpx;
}
.BanlenceList {
padding: 0 20rpx;
}
.banlenceItem {
display: flex;
align-content: center;
justify-content: space-between;
padding: 30rpx 0;
}
.banlenceItem_left {
font-size: 32rpx;
color: #000000;
font-weight: 600;
display: flex;
align-items: center;
}
.banlenceItem_left image {
width: 50rpx;
height: 44rpx;
margin-right: 20rpx;
}
.boxshadowCon_subTit {
font-weight: bold;
font-size: 40rpx;
color: #FF370B;
display: flex;
}
.boxshadowCon_subTit span {
font-size: 32rpx;
color: #FF370B;
}
.btn {
width: 710rpx;
height: 90rpx;
background: linear-gradient(91deg, #FF7658 0%, #FF370B 100%);
border-radius: 100rpx 100rpx 100rpx 100rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 36rpx;
color: #FFFFFF;
margin: 0 auto;
margin-top: 25rpx;
}
.btn span {
font-size: 32rpx;
}
.payHisItem {
padding: 0 20rpx;
padding-top: 8rpx;
background-color: #fff;
margin-bottom: 20rpx;
}
.row {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 20rpx;
}
.row_label {
font-size: 28rpx;
color: #999999;
}
.row_con1 {
font-size: 36rpx;
color: #222222;
}
.row_label2 {
font-size: 24rpx;
color: #999999;
}
.row_con2 {
font-size: 24rpx;
color: #999999;
}
.line4 {
width: 100%;
height: 1rpx;
background-color: #EBEBEB;
margin-top: 30rpx;
}
.row_con3 {
display: flex;
flex-direction: column;
align-items: flex-end;
}
.row_con3_1 {
font-size: 28rpx;
color: #222222;
}
.row_con3_2 {
font-size: 24rpx;
color: #999999;
margin-top: 8rpx;
}
.row_con4 {
font-size: 28rpx;
color: #222222;
}
.Receipt {
font-size: 32rpx;
color: #222222;
text-align: center;
margin-top: 30rpx;
padding-bottom: 20rpx;
}

View File

@ -0,0 +1,134 @@
<template>
<div class="container">
<!-- <div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }">
<div class="searchBox_add">
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon>
</div>
</div> -->
<div class="community">
<div class="community_left">
<image mode="aspectFill" src="../../static/logo.png" alt="" />
</div>
<div class="community_right" @click="changeShow">
<div class="community_right_text">
<div class="community_right_text1">七个2锁城</div>
<div class="community_right_text2">衡水市上海公馆6A</div>
</div>
<div class="community_right_more">
<u-icon bold color="#999999" size="30" name="arrow-right" @click="back"></u-icon>
</div>
</div>
</div>
<div class="content">
<view class="iconStyle">
<u-grid col="6" :border="false" @click="click">
<u-grid-item v-for="(item, index) in baseList" :key="index">
<image class="nav_icon" :src="item.image" mode=""></image>
<text class="grid-text">{{item.name}}</text>
</u-grid-item>
</u-grid>
</view>
</div>
<div class="boxshadow" v-if="show" @click="changeShow">
<div class="boxshadowCon">
<div class="boxshadowCon_Tit">
请选择店铺
</br>
<view class="boxshadowCon_Text">从以下列表中选择您的管理权限的店铺</view>
<div class="cancel">确定</div>
</div>
<div class="lines"></div>
<div class="communityList">
<div class="boxshadowCon_Text2">您有n个店铺的管理权限</div>
<div style="width: 100%;height: 200rpx;">
<div class="communityItem" v-for="item in 8">
<div class="community_left">
<image mode="aspectFill" src="../../static/logo.png" alt="" />
</div>
<div class="community_right" @click="changeShow2">
<div class="community_right_text">
<div class="community_right_text1">七个2锁城</div>
<div class="community_right_text2">衡水市上海公馆6A</div>
</div>
</div>
<div class="communityItem_radio">
<radio></radio>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import {
request,
picUrl,
uniqueByField,
menuButtonInfo,
NavgateTo
} from '../../utils';
import {
apiArr
} from '../../api/community';
export default {
data() {
return {
top: "",
localHeight: "",
active: 1,
show: false,
show2: false,
baseList: [{
image: "",
name: "订单",
url: "",
}],
}
},
onLoad(options) {
const meun = menuButtonInfo();
this.top = meun.top;
// this.top = meun.height + meun.top;
this.localHeight = meun.height;
},
methods: {
changeTab(index) {
this.active = index;
},
back() {
uni.navigateBack({
delta: 1
});
},
changeShow() {
this.show = !this.show
},
changeShow2() {
this.show2 = !this.show
},
click() {
console.log('点击跳转订单页面')
NavgateTo( '/storeManagement/order/index')
}
},
}
</script>
<style>
@import url("./index.css");
</style>

View File

@ -0,0 +1,148 @@
page {
background: #F6F7FB;
}
.top {
margin: 20rpx;
height: 310rpx;
background-color: #f3445b;
border-radius: 20rpx;
color: white;
font-size: 26rpx;
padding-top: 5rpx;
}
.top_top {
text-align: center;
}
.top_bottom {
display: flex;
align-items: center;
}
.upText {
margin-top: 30rpx;
}
.downText {
font-size: 48rpx;
margin-top: 10rpx;
}
.bottomText2 {
width: 50%;
text-align: center;
}
.boldText {
font-size: 54rpx;
font-weight: bold;
margin-top: 10rpx;
}
.center {
margin: 20rpx;
height: 150rpx;
background-color: #ffffff;
border-radius: 20rpx;
font-size: 26rpx;
}
.line {
height: 100rpx;
width: 1rpx;
background-color: #f4f4f4;
margin-top: 25rpx;
}
.centerText {
margin-top: 25rpx;
color: #979797;
}
.bi {
font-size: 28rpx;
}
.bottom {
margin: 20rpx;
height: 580rpx;
background-color: #ffffff;
border-radius: 20rpx;
font-size: 26rpx;
}
.numStyle {
height: 80rpx;
display: flex;
align-items: center;
font-size: 24rpx;
font-weight: bolder;
border-radius: 20rpx 20rpx 0 0;
background-image: linear-gradient(to right, #fee8c9, white);
padding-left: 25rpx;
}
.div {
display: flex;
align-items: center;
height: 70rpx;
}
.div text {
font-size: 26rpx;
color: #979797;
margin-left: 25rpx;
flex: 1;
}
.div view {
font-size: 26rpx;
float: left;
margin-right: 25rpx;
}
.divv {
width: 660rpx;
height: 75rpx;
border-bottom: 1px solid #f4f4f4;
margin: 0 auto;
padding-top: 20rpx;
padding-bottom: 30rpx;
}
.divv text {
font-size: 26rpx;
color: #979797;
float: left;
}
.divView {
font-size: 22rpx;
float: right;
display: flex;
flex-direction: column;
align-items: flex-end;
}
.div img {
width: 40rpx;
height: 40rpx;
margin-right: 10rpx;
}
.line2 {
height: 1rpx;
width: 660rpx;
background-color: #f4f4f4;
margin-top: 25rpx;
margin: 0 auto;
}
.line3 {
height: 60rpx;
width: 1rpx;
background-color: #f4f4f4;
margin-top: 15rpx;
}

View File

@ -0,0 +1,112 @@
<template>
<view>
<view class="top">
<view class="top_top">
<view class="upText">收益</view>
<view class="boldText">520.00</view>
</view>
<view class="top_bottom">
<view class="bottomText2">
<view class="upText">收款</view>
<view class="downText">520.00</view>
</view>
<view class="bottomText2">
<view class="upText">退款</view>
<view class="downText">0.00</view>
</view>
</view>
</view>
<view class="center">
<view class="top_bottom">
<view class="bottomText2">
<view class="centerText">收款订单</view>
<view class="downText">520<text class="bi"></text></view>
</view>
<view class="line"></view>
<view class="bottomText2">
<view class="centerText">退款订单</view>
<view class="downText">0<text class="bi"></text></view>
</view>
</view>
</view>
<view v-for="(item, index) in orderList" :key="index">
<view class="bottom">
<view class="numStyle">订单编号{{item.bianhao}}</view>
<view class="divv">
<text>收益金额</text>
<view class="divView">
<view style="margin-bottom: 15rpx;font-size: 30rpx;">{{item.jine}}</view>
<view>{{item.shijian}}</view>
</view>
</view>
<view class="div">
<text>消费门店</text>
<view>{{item.mendian}}</view>
</view>
<view class="div">
<text>支付方式</text>
<img src="https://img0.baidu.com/it/u=1471529724,2678837426&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500"
alt="图标" />
<view>{{item.fangshi}}</view>
</view>
<view class="div">
<text>支付状态</text>
<view>{{item.zhuangtai}}</view>
</view>
<view class="div">
<text>创建时间</text>
<view>{{item.shijian}}</view>
</view>
<view class="line2"></view>
<view class="top_bottom">
<view class="bottomText2" @click="remark(item.bianhao)">
<view style="margin: 20rpx 0;">备注</view>
</view>
<view class="line3"></view>
<view class="bottomText2" @click="refund(item.bianhao)">
<view style="margin-top: 20rpx;">退款</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
orderList: [{
bianhao: '1234567891011',
jine: 65.1,
mendian: '真彩图文',
tubiao: 'https://img0.baidu.com/it/u=1471529724,2678837426&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
fangshi: '微信支付',
zhuangtai: '已支付',
shijian: '2025-06-06 18:10:08'
}, {
bianhao: '1110987654321',
jine: 66.0,
mendian: '真彩图文',
tubiao: 'https://img0.baidu.com/it/u=1471529724,2678837426&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500',
fangshi: '微信支付',
zhuangtai: '已退款',
shijian: '2025-06-06 18:10:08'
}]
}
},
methods:{
remark(id){
console.log('-----' + id + '备注')
},
refund(id){
console.log('-----' + id + '退款')
}
}
}
</script>
<style>
@import url("./index.css");
</style>