backup: 子客服改造前保本版本(逍遥梦UI+商家客服页mock)

This commit is contained in:
XingQue
2026-06-20 01:50:14 +08:00
parent 0767e23f11
commit a751708d6e
49 changed files with 8189 additions and 5268 deletions

View File

@@ -0,0 +1,47 @@
/** 客服列表 - UI 预览mock 数据 */
Page({
data: {
statusBar: 20,
list: [
{
id: 1,
nickname: '客服总管-阿星',
avatar: '/images/default-avatar.png',
uid: '1008601',
isChief: true,
isFinance: false,
orderCount: 128,
settleCount: 96,
settleAmount: '12800.00',
},
{
id: 2,
nickname: '财务-小李',
avatar: '/images/default-avatar.png',
uid: '1008602',
isChief: false,
isFinance: true,
orderCount: 56,
settleCount: 52,
settleAmount: '6800.00',
},
],
},
onLoad() {
const sys = wx.getSystemInfoSync();
this.setData({ statusBar: sys.statusBarHeight || 20 });
},
goBack() {
wx.navigateBack();
},
copyUid(e) {
wx.setClipboardData({ data: e.currentTarget.dataset.uid || '' });
},
onAction(e) {
wx.showToast({ title: '后端接入后生效', icon: 'none' });
},
});

View File

@@ -0,0 +1,5 @@
{
"navigationStyle": "custom",
"backgroundColor": "#fff8e1",
"usingComponents": {}
}

View File

@@ -0,0 +1,47 @@
<view class="sub-page sj-page">
<view class="status-bar" style="height:{{statusBar}}px"></view>
<view class="sub-nav flexb">
<text class="back" bindtap="goBack"></text>
<text class="sub-nav-title">客服列表</text>
<text class="back placeholder"></text>
</view>
<scroll-view scroll-y class="sub-scroll" enhanced show-scrollbar="{{false}}">
<view wx:for="{{list}}" wx:key="id" class="kefu-card sj-mx20">
<view class="kefu-head flex">
<image class="kefu-av" src="{{item.avatar}}" mode="aspectFill"/>
<view class="kefu-info">
<view class="flex">
<text class="kefu-name">{{item.nickname}}</text>
<text wx:if="{{item.isChief}}" class="badge badge-chief">总管</text>
<text wx:if="{{item.isFinance}}" class="badge badge-finance">财务</text>
</view>
<view class="uid-row flex">
<text class="kefu-uid">ID: {{item.uid}}</text>
<text class="copy-link" bindtap="copyUid" data-uid="{{item.uid}}">复制</text>
</view>
</view>
</view>
<view class="kefu-stats flexa">
<view class="stat-box flexmc">
<text class="stat-n">{{item.orderCount}}</text>
<text class="stat-l">接单数</text>
</view>
<view class="stat-box flexmc">
<text class="stat-n">{{item.settleCount}}</text>
<text class="stat-l">结算数</text>
</view>
<view class="stat-box flexmc">
<text class="stat-n">¥{{item.settleAmount}}</text>
<text class="stat-l">结算金额</text>
</view>
</view>
<view class="kefu-actions flexa">
<text class="act" bindtap="onAction">查看订单</text>
<text class="act" bindtap="onAction">权限管理</text>
<text class="act act-del" bindtap="onAction">删除</text>
</view>
</view>
<view class="load-tip">预览 · 接口就绪后对接真实数据</view>
</scroll-view>
</view>

View File

@@ -0,0 +1,109 @@
@import '../../styles/shangjia-xym-common.wxss';
.sub-nav {
padding: 0 24rpx 12rpx;
}
.back {
width: 60rpx;
font-size: 48rpx;
color: #333;
}
.back.placeholder { opacity: 0; }
.sub-nav-title {
font-size: 34rpx;
font-weight: 700;
color: #343434;
}
.sub-scroll {
height: calc(100vh - 120rpx);
}
.kefu-card {
background: #fff;
border-radius: 20rpx;
padding: 24rpx;
margin-bottom: 16rpx;
margin-top: 12rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.06);
}
.kefu-av {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
margin-right: 16rpx;
background: #eee;
}
.kefu-name {
font-size: 30rpx;
font-weight: 700;
color: #333;
}
.badge {
margin-left: 8rpx;
font-size: 20rpx;
padding: 2rpx 10rpx;
border-radius: 6rpx;
color: #fff;
}
.badge-chief { background: #ffb508; }
.badge-finance { background: #1b6ef3; }
.kefu-uid {
font-size: 24rpx;
color: #999;
margin-top: 8rpx;
}
.copy-link {
margin-left: 12rpx;
font-size: 22rpx;
color: #1b6ef3;
}
.kefu-stats {
margin-top: 20rpx;
padding: 16rpx 0;
border-top: 1rpx solid #f5f5f5;
border-bottom: 1rpx solid #f5f5f5;
}
.stat-n {
font-size: 28rpx;
font-weight: 700;
color: #e67e22;
}
.stat-l {
font-size: 22rpx;
color: #999;
margin-top: 4rpx;
}
.kefu-actions {
margin-top: 16rpx;
gap: 24rpx;
}
.act {
font-size: 24rpx;
color: #1b6ef3;
}
.act-del {
color: #e64340;
}
.load-tip {
text-align: center;
padding: 32rpx;
font-size: 22rpx;
color: #bbb;
}