58083915
“wangming”
对门店PC进行设计
|
1
|
<template>
|
20099e65
“wangming”
1111
|
2
3
|
<el-dialog :visible.sync="visibleProxy" :show-close="false" :close-on-click-modal="true" :close-on-press-escape="true"
custom-class="member-dialog" append-to-body>
|
58083915
“wangming”
对门店PC进行设计
|
4
|
<div class="member-dialog-inner">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
5
6
7
8
9
10
11
12
13
14
15
16
|
<!-- 左侧边栏 -->
<div class="sidebar">
<!-- 会员身份区 -->
<div class="sidebar-identity">
<div class="member-avatar"><span>{{ initials }}</span></div>
<div class="member-name">{{ displayName }}</div>
<div class="member-sub-info">
<span v-if="member.sjh" class="member-phone"><i class="el-icon-phone"></i>{{ member.sjh }}</span>
<span v-if="member.dah" class="member-dah">档案号:{{ member.dah }}</span>
</div>
<span v-if="consumeLevelText" :class="['level-tag', consumeLevelClass]">{{ consumeLevelText }}</span>
<div class="member-type-tags" v-if="memberTypeList.length">
|
20099e65
“wangming”
1111
|
17
18
|
<span v-for="t in memberTypeList" :key="t.type" :class="['type-tag', 'type-tag--' + t.type]">{{ t.label
}}会员</span>
|
58083915
“wangming”
对门店PC进行设计
|
19
|
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
20
|
<div class="member-meta">
|
58083915
“wangming”
对门店PC进行设计
|
21
|
<span v-if="member.xb">{{ member.xb }}</span>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
22
23
24
|
<span v-if="member.gsmdName || member.storeName">{{ member.gsmdName || member.storeName }}</span>
</div>
<div class="member-visit-row">
|
20099e65
“wangming”
1111
|
25
26
27
28
|
<el-tooltip v-if="member.lastVisitTime || member.lastVisit"
:content="member.lastVisitTime || member.lastVisit" placement="right" effect="dark">
<span class="member-visit"><i class="el-icon-time"></i>最后到店:{{ relativeTime(member.lastVisitTime ||
member.lastVisit) }}</span>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
29
30
|
</el-tooltip>
<span v-else class="member-visit"><i class="el-icon-time"></i>最后到店:—</span>
|
20099e65
“wangming”
1111
|
31
32
|
<span class="member-sleep" v-if="member.sleepDays > 0"><i class="el-icon-warning"></i>沉睡 {{ member.sleepDays
}} 天</span>
|
58083915
“wangming”
对门店PC进行设计
|
33
|
</div>
|
58083915
“wangming”
对门店PC进行设计
|
34
35
36
37
|
<div v-if="Array.isArray(member.tags) && member.tags.length" class="tag-row">
<span v-for="tag in member.tags" :key="tag" class="member-tag">{{ tag }}</span>
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
<!-- 消费统计 -->
<div class="sidebar-section">
<div class="sidebar-section-title"><i class="el-icon-wallet"></i>消费统计</div>
<div class="sidebar-row">
<span class="sidebar-label">耗卡总金额</span>
<span class="sidebar-value sidebar-value--amount">¥{{ formatMoney(member.totalConsumeAmount) }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">开卡总金额</span>
<span class="sidebar-value sidebar-value--amount">¥{{ formatMoney(member.totalBillingAmount) }}</span>
</div>
<div class="sidebar-row sidebar-row--highlight">
<span class="sidebar-label">剩余权益</span>
<span class="sidebar-value sidebar-value--gradient">¥{{ formatMoney(member.remainingRightsAmount) }}</span>
</div>
</div>
<!-- 基本信息 -->
<div class="sidebar-section">
<div class="sidebar-section-title"><i class="el-icon-user"></i>基本信息</div>
<div class="sidebar-row">
<span class="sidebar-label"><i class="el-icon-date"></i>生日</span>
<span class="sidebar-value">{{ formattedBirthday }}</span>
</div>
<div class="sidebar-row">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
<span class="sidebar-label">注册时间</span>
<span class="sidebar-value">{{ member.zcsj || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">首次到店</span>
<span class="sidebar-value">{{ member.firstVisitTime || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">进店渠道</span>
<span class="sidebar-value">{{ member.jdqd || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">推荐人</span>
<span class="sidebar-value">{{ member.tjrName || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">健康师</span>
<span class="sidebar-value">{{ member.mainHealthUserName || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">负责顾问</span>
<span class="sidebar-value">{{ member.subHealthUserName || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">拓客人员</span>
<span class="sidebar-value">{{ member.expandUserName || '—' }}</span>
</div>
<div class="sidebar-row">
<span class="sidebar-label">联系地址</span>
<span class="sidebar-value">{{ member.lxdz || member.address || '—' }}</span>
</div>
<div class="sidebar-row sidebar-row--remark">
<span class="sidebar-label">备注</span>
<span class="sidebar-value">{{ member.bz || member.remark || '—' }}</span>
</div>
</div>
|
58083915
“wangming”
对门店PC进行设计
|
100
101
|
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
102
103
104
105
106
107
|
<!-- 右侧内容区 -->
<div class="main-content">
<!-- Tab区 + 搜索 -->
<div class="content-header">
<div class="records-tab-list">
<div class="records-tab-indicator" :style="recordsTabIndicatorStyle" />
|
20099e65
“wangming”
1111
|
108
109
|
<button v-for="tab in recordTabs" :key="tab.key" class="records-tab"
:class="{ 'records-tab--active': recordsTab === tab.key }" @click="recordsTab = tab.key">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
110
111
|
<span class="records-tab-label">{{ tab.label }}</span>
</button>
|
58083915
“wangming”
对门店PC进行设计
|
112
|
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
113
|
<div class="records-tabs-search">
|
20099e65
“wangming”
1111
|
114
115
|
<el-input v-model="currentSearch" size="mini" clearable :placeholder="currentSearchPlaceholder"
class="records-search">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
116
117
|
<i slot="prefix" class="el-icon-search"></i>
</el-input>
|
58083915
“wangming”
对门店PC进行设计
|
118
119
120
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
121
122
123
124
125
126
127
128
|
<!-- 表格区 -->
<div class="content-body">
<!-- 权益明细 -->
<div v-if="recordsTab === 'rights'" class="records-panel">
<div class="records-table-wrap">
<el-table :data="filteredRemainingItems" size="mini" class="rights-table" empty-text="暂无权益">
<el-table-column prop="ItemName" label="项目名称" min-width="110" align="center" />
<el-table-column prop="ItemPrice" label="单价" width="80" align="center">
|
20099e65
“wangming”
1111
|
129
130
|
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.ItemPrice)
}}</span></template>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
</el-table-column>
<el-table-column prop="SourceType" label="来源" width="65" align="center" />
<el-table-column prop="TotalPurchased" label="总购买" width="65" align="center" />
<el-table-column prop="ConsumedCount" label="已消费" width="65" align="center" />
<el-table-column prop="RefundedCount" label="已退款" width="65" align="center" />
<el-table-column prop="DeductCount" label="已扣除" width="65" align="center" />
<el-table-column prop="RemainingCount" label="剩余" width="65" align="center">
<template slot-scope="scope">
<span class="num-remaining">{{ scope.row.RemainingCount ?? scope.row.remainingCount ?? 0 }}</span>
</template>
</el-table-column>
<el-table-column label="剩余价值" width="90" align="center">
<template slot-scope="scope">
<span class="num-total">¥{{ formatMoney(remainingItemTotal(scope.row)) }}</span>
</template>
</el-table-column>
</el-table>
|
58083915
“wangming”
对门店PC进行设计
|
148
|
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
149
|
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
150
151
152
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="rightsTotalCount"
:page-size.sync="pageSize" :current-page.sync="rightsPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
153
154
155
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
156
|
<!-- 预约记录 -->
|
58083915
“wangming”
对门店PC进行设计
|
157
158
|
<div v-else-if="recordsTab === 'booking'" class="records-panel">
<div class="records-table-wrap">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
159
160
161
162
163
|
<el-table :data="filteredBookingRecords" size="mini" class="record-table" empty-text="暂无预约记录">
<el-table-column prop="AppointmentDate" label="预约时间" width="140" align="center" />
<el-table-column prop="StoreName" label="门店" width="80" align="center" />
<el-table-column prop="InviterName" label="邀约人" width="75" align="center" />
<el-table-column prop="HealthCoachName" label="预约健康师" width="85" align="center" />
|
20099e65
“wangming”
1111
|
164
165
166
|
<el-table-column prop="ExperienceItem" label="体验项目" min-width="100" align="center"
show-overflow-tooltip />
<el-table-column prop="Status" label="状态" width="80" align="center">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
167
168
169
170
|
<template slot-scope="scope">
<span :class="['status-capsule', statusClass(scope.row.Status)]">{{ scope.row.Status }}</span>
</template>
</el-table-column>
|
20099e65
“wangming”
1111
|
171
172
|
<el-table-column prop="NoDealRemark" label="未成交说明" min-width="100" align="center"
show-overflow-tooltip />
|
58083915
“wangming”
对门店PC进行设计
|
173
|
</el-table>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
174
175
|
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
176
177
178
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="bookingTotalCount"
:page-size.sync="pageSize" :current-page.sync="bookingPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
179
180
181
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
182
|
<!-- 开单记录 -->
|
58083915
“wangming”
对门店PC进行设计
|
183
184
|
<div v-else-if="recordsTab === 'billing'" class="records-panel">
<div class="records-table-wrap">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
185
186
187
188
189
190
191
192
|
<el-table :data="filteredBillingRecords" size="mini" class="record-table" empty-text="暂无开单记录">
<el-table-column prop="BillingDate" label="开单日期" width="140" align="center" />
<el-table-column prop="StoreName" label="门店" width="80" align="center" />
<el-table-column prop="CreatorName" label="开单人员" width="75" align="center" />
<el-table-column prop="HealthCoachNames" label="健康师" width="85" align="center" show-overflow-tooltip />
<el-table-column prop="TechTeacherNames" label="科技老师" width="85" align="center" show-overflow-tooltip />
<el-table-column prop="Items" label="开单品项" min-width="140" align="center" show-overflow-tooltip />
<el-table-column label="实付金额" width="85" align="center">
|
20099e65
“wangming”
1111
|
193
194
|
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.Amount)
}}</span></template>
|
58083915
“wangming”
对门店PC进行设计
|
195
|
</el-table-column>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
196
|
<el-table-column label="欠款金额" width="85" align="center">
|
20099e65
“wangming”
1111
|
197
198
|
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.DebtAmount)
}}</span></template>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
199
200
|
</el-table-column>
<el-table-column prop="ActivityName" label="活动名称" width="85" align="center" show-overflow-tooltip />
|
58083915
“wangming”
对门店PC进行设计
|
201
|
</el-table>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
202
203
|
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
204
205
206
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="billingTotalCount"
:page-size.sync="pageSize" :current-page.sync="billingPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
207
208
209
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
210
|
<!-- 消耗记录 -->
|
58083915
“wangming”
对门店PC进行设计
|
211
212
|
<div v-else-if="recordsTab === 'consume'" class="records-panel">
<div class="records-table-wrap">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
213
214
|
<el-table :data="filteredConsumeRecords" size="mini" class="record-table" empty-text="暂无消耗记录">
<el-table-column prop="ConsumeDate" label="消耗日期" width="140" align="center" />
|
20099e65
“wangming”
1111
|
215
|
<el-table-column prop="StoreName" label="门店" width="100" align="center" />
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
216
217
218
219
|
<el-table-column prop="OperatorName" label="操作人员" width="75" align="center" />
<el-table-column prop="HealthCoachNames" label="健康师" width="85" align="center" show-overflow-tooltip />
<el-table-column prop="TechTeacherNames" label="科技老师" width="85" align="center" show-overflow-tooltip />
<el-table-column prop="Items" label="消耗品项" min-width="140" align="center" show-overflow-tooltip />
|
20099e65
“wangming”
1111
|
220
221
222
|
<el-table-column label="消耗金额" width="100" align="center">
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.Amount)
}}</span></template>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
223
|
</el-table-column>
|
20099e65
“wangming”
1111
|
224
225
226
|
<el-table-column label="手工费" width="100" align="center">
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.LaborCost)
}}</span></template>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
227
|
</el-table-column>
|
58083915
“wangming”
对门店PC进行设计
|
228
|
</el-table>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
229
230
|
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
231
232
233
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="consumeTotalCount"
:page-size.sync="pageSize" :current-page.sync="consumePage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
234
235
236
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
237
238
|
<!-- 服务日志 -->
<div v-else-if="recordsTab === 'serviceLog'" class="records-panel">
|
58083915
“wangming”
对门店PC进行设计
|
239
|
<div class="records-table-wrap">
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
240
241
242
243
244
|
<el-table :data="filteredServiceLogRecords" size="mini" class="record-table" empty-text="暂无服务日志">
<el-table-column prop="CreateTime" label="记录时间" width="140" align="center" />
<el-table-column prop="CreatorName" label="添加人" width="75" align="center" />
<el-table-column prop="Remark" label="备注" min-width="200" align="center" show-overflow-tooltip />
<el-table-column prop="KjbRemark" label="科技部备注" min-width="100" align="center" show-overflow-tooltip />
|
58083915
“wangming”
对门店PC进行设计
|
245
|
</el-table>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
246
247
|
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
248
249
250
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="serviceLogTotalCount"
:page-size.sync="pageSize" :current-page.sync="serviceLogPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
251
252
253
|
</div>
</div>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
254
255
256
257
258
259
260
261
262
263
264
|
<!-- 旧日志 -->
<div v-else-if="recordsTab === 'oldLog'" class="records-panel">
<div class="records-table-wrap">
<el-table :data="filteredOldLogRecords" size="mini" class="record-table" empty-text="暂无旧日志">
<el-table-column prop="CreateTime" label="记录时间" width="140" align="center" />
<el-table-column prop="OrderNo" label="开单号" width="130" align="center" />
<el-table-column prop="MemberName" label="会员名称" width="85" align="center" />
<el-table-column prop="Remarks" label="备注" min-width="200" align="center" show-overflow-tooltip />
</el-table>
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
265
266
267
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="oldLogTotalCount"
:page-size.sync="pageSize" :current-page.sync="oldLogPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
268
269
270
271
272
273
274
275
|
</div>
</div>
<!-- 退卡列表 -->
<div v-else-if="recordsTab === 'refund'" class="records-panel">
<div class="records-table-wrap">
<el-table :data="filteredRefundRecords" size="mini" class="record-table" empty-text="暂无退卡记录">
<el-table-column prop="RefundDate" label="退卡日期" width="140" align="center" />
|
20099e65
“wangming”
1111
|
276
277
278
279
|
<el-table-column prop="StoreName" label="门店" width="100" align="center" />
<el-table-column label="退卡金额" width="100" align="center">
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.RefundAmount)
}}</span></template>
|
58083915
“wangming”
对门店PC进行设计
|
280
|
</el-table-column>
|
20099e65
“wangming”
1111
|
281
282
283
|
<el-table-column label="实际退款" width="100" align="center">
<template slot-scope="scope"><span class="amount-text">¥{{ formatMoney(scope.row.ActualRefundAmount)
}}</span></template>
|
58083915
“wangming”
对门店PC进行设计
|
284
|
</el-table-column>
|
20099e65
“wangming”
1111
|
285
286
|
<el-table-column prop="RefundReason" label="退卡原因" min-width="120" align="center"
show-overflow-tooltip />
|
58083915
“wangming”
对门店PC进行设计
|
287
|
</el-table>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
288
289
|
</div>
<div class="records-pagination">
|
20099e65
“wangming”
1111
|
290
291
292
|
<el-pagination background layout="total, sizes, prev, pager, next, jumper" :total="refundTotalCount"
:page-size.sync="pageSize" :current-page.sync="refundPage" :page-sizes="[10, 20, 50, 100]"
@size-change="initData" @current-change="initData" />
|
58083915
“wangming”
对门店PC进行设计
|
293
294
295
|
</div>
</div>
</div>
|
58083915
“wangming”
对门店PC进行设计
|
296
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
297
298
|
<!-- 底部按钮 -->
<div class="content-footer">
|
20099e65
“wangming”
1111
|
299
300
301
302
303
304
305
306
307
308
309
310
|
<span class="records-op-btn records-op-btn--ghost records-op-btn--invite" @click="emitAction('invite')"><i
class="el-icon-phone-outline"></i>去邀约</span>
<span class="records-op-btn records-op-btn--ghost records-op-btn--booking" @click="emitAction('booking')"><i
class="el-icon-date"></i>去预约</span>
<span class="records-op-btn records-op-btn--ghost records-op-btn--billing" @click="emitAction('billing')"><i
class="el-icon-document"></i>去开单</span>
<span class="records-op-btn records-op-btn--ghost records-op-btn--consume" @click="emitAction('consume')"><i
class="el-icon-s-claim"></i>去耗卡</span>
<span class="records-op-btn records-op-btn--ghost records-op-btn--refund" @click="emitAction('refund')"><i
class="el-icon-refresh-left"></i>去退卡</span>
<span class="records-op-btn records-op-btn--ghost records-op-btn--close" @click="close"><i
class="el-icon-close"></i>关闭</span>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
311
|
</div>
|
58083915
“wangming”
对门店PC进行设计
|
312
313
314
315
316
317
318
319
320
321
322
323
324
325
|
</div>
</div>
</el-dialog>
</template>
<script>
export default {
name: 'MemberProfileDialog',
props: {
visible: { type: Boolean, default: false },
member: { type: Object, default: () => ({}) }
},
data() {
return {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
326
|
recordsTab: 'rights',
|
58083915
“wangming”
对门店PC进行设计
|
327
328
329
330
331
332
|
searchRights: '',
searchBilling: '',
searchConsume: '',
searchInvite: '',
searchBooking: '',
searchRefund: '',
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
333
334
|
searchServiceLog: '',
searchOldLog: '',
|
58083915
“wangming”
对门店PC进行设计
|
335
336
337
338
339
340
|
pageSize: 5,
rightsPage: 1,
billingPage: 1,
consumePage: 1,
invitePage: 1,
bookingPage: 1,
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
341
342
343
|
refundPage: 1,
serviceLogPage: 1,
oldLogPage: 1
|
58083915
“wangming”
对门店PC进行设计
|
344
345
346
347
348
349
350
351
352
353
354
355
356
357
|
}
},
computed: {
visibleProxy: {
get() { return this.visible },
set(val) { this.$emit('update:visible', val) }
},
displayName() {
return this.member.khmc || this.member.name || '会员'
},
initials() {
const n = this.displayName
return n ? n[0] : '会'
},
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
358
359
360
361
362
363
364
365
366
367
|
consumeLevelText() {
const level = this.member.consumeLevel
const map = { 0: 'D', 1: 'C', 2: 'B', 3: 'A', 4: 'A+', 5: 'A++' }
return map[level] !== undefined ? map[level] : (this.member.consumeLevelName || '')
},
consumeLevelClass() {
const level = this.member.consumeLevel
const map = { 0: 'level--d', 1: 'level--c', 2: 'level--b', 3: 'level--a', 4: 'level--aplus', 5: 'level--aplusplus' }
return map[level] || 'level--default'
},
|
58083915
“wangming”
对门店PC进行设计
|
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
remainingItems() {
const list = this.member.RemainingItems || this.member.remainingItems || []
return Array.isArray(list) ? list : []
},
remainingRightsTotal() {
const list = this.remainingItems
return list.reduce((sum, row) => sum + (Number(row.RemainingCount ?? row.remainingCount ?? 0) * Number(row.ItemPrice ?? row.itemPrice ?? 0)), 0)
},
memberTypeSummary() {
const t = []
if (this.member.isBeautyMember === 1) t.push('生美')
if (this.member.isMedicalMember === 1) t.push('医美')
if (this.member.isTechMember === 1) t.push('科技')
if (this.member.isEducationMember === 1) t.push('教育')
return t.length ? t.join(' / ') : '—'
},
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
|
formattedBirthday() {
const m = this.member
const yang = m.yanglsr || ''
const yin = m.yinlsr || ''
if (yang && yin) return `${yang}(${yin})`
if (yang) return yang
if (yin) return yin
return '—'
},
memberTypeList() {
const list = []
if (this.member.isBeautyMember === 1) list.push({ type: 'beauty', label: '生美' })
if (this.member.isMedicalMember === 1) list.push({ type: 'medical', label: '医美' })
if (this.member.isTechMember === 1) list.push({ type: 'tech', label: '科美' })
return list
},
|
58083915
“wangming”
对门店PC进行设计
|
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
|
filteredRightsAll() {
const kw = (this.searchRights || '').trim()
const list = this.remainingItems
if (!kw) return list
return list.filter(row => {
const name = String(row.ItemName || row.itemName || '')
return name.includes(kw)
})
},
rightsTotalCount() {
return this.filteredRightsAll.length
},
filteredRemainingItems() {
const list = this.filteredRightsAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.rightsPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
billingRecords() {
const list = this.member.billingRecords || this.member.BillingRecords || []
return Array.isArray(list) ? list : []
},
filteredBillingAll() {
const kw = (this.searchBilling || '').trim()
const list = this.billingRecords
if (!kw) return list
return list.filter(row => {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
429
430
431
|
const items = String(row.Items || '')
const creator = String(row.CreatorName || '')
return items.includes(kw) || creator.includes(kw)
|
58083915
“wangming”
对门店PC进行设计
|
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
|
})
},
billingTotalCount() {
return this.filteredBillingAll.length
},
filteredBillingRecords() {
const list = this.filteredBillingAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.billingPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
consumeRecords() {
const list = this.member.consumeRecords || this.member.ConsumeRecords || []
return Array.isArray(list) ? list : []
},
filteredConsumeAll() {
const kw = (this.searchConsume || '').trim()
const list = this.consumeRecords
if (!kw) return list
return list.filter(row => {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
454
455
456
|
const items = String(row.Items || '')
const operator = String(row.OperatorName || '')
return items.includes(kw) || operator.includes(kw)
|
58083915
“wangming”
对门店PC进行设计
|
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
|
})
},
consumeTotalCount() {
return this.filteredConsumeAll.length
},
filteredConsumeRecords() {
const list = this.filteredConsumeAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.consumePage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
inviteRecords() {
const list = this.member.inviteRecords || this.member.InviteRecords || []
return Array.isArray(list) ? list : []
},
filteredInviteAll() {
const kw = (this.searchInvite || '').trim()
const list = this.inviteRecords
if (!kw) return list
return list.filter(row => {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
479
480
481
|
const record = String(row.ContactRecord || '')
const inviter = String(row.InviterName || '')
return record.includes(kw) || inviter.includes(kw)
|
58083915
“wangming”
对门店PC进行设计
|
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
|
})
},
inviteTotalCount() {
return this.filteredInviteAll.length
},
filteredInviteRecords() {
const list = this.filteredInviteAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.invitePage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
bookingRecords() {
const list = this.member.bookingRecords || this.member.BookingRecords || []
return Array.isArray(list) ? list : []
},
filteredBookingAll() {
const kw = (this.searchBooking || '').trim()
const list = this.bookingRecords
if (!kw) return list
return list.filter(row => {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
504
505
506
|
const item = String(row.ExperienceItem || '')
const coach = String(row.HealthCoachName || '')
return item.includes(kw) || coach.includes(kw)
|
58083915
“wangming”
对门店PC进行设计
|
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
|
})
},
bookingTotalCount() {
return this.filteredBookingAll.length
},
filteredBookingRecords() {
const list = this.filteredBookingAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.bookingPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
refundRecords() {
const list = this.member.refundRecords || this.member.RefundRecords || []
return Array.isArray(list) ? list : []
},
filteredRefundAll() {
const kw = (this.searchRefund || '').trim()
const list = this.refundRecords
if (!kw) return list
return list.filter(row => {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
529
530
|
const reason = String(row.RefundReason || '')
return reason.includes(kw)
|
58083915
“wangming”
对门店PC进行设计
|
531
532
533
534
535
536
537
538
539
540
541
542
543
|
})
},
refundTotalCount() {
return this.filteredRefundAll.length
},
filteredRefundRecords() {
const list = this.filteredRefundAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.refundPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
|
serviceLogRecords() {
const list = this.member.serviceLogRecords || []
return Array.isArray(list) ? list : []
},
filteredServiceLogAll() {
const kw = (this.searchServiceLog || '').trim()
const list = this.serviceLogRecords
if (!kw) return list
return list.filter(row => {
const remark = String(row.Remark || '')
const creator = String(row.CreatorName || '')
return remark.includes(kw) || creator.includes(kw)
})
},
serviceLogTotalCount() { return this.filteredServiceLogAll.length },
filteredServiceLogRecords() {
const list = this.filteredServiceLogAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.serviceLogPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
oldLogRecords() {
const list = this.member.oldLogRecords || []
return Array.isArray(list) ? list : []
},
filteredOldLogAll() {
const kw = (this.searchOldLog || '').trim()
const list = this.oldLogRecords
if (!kw) return list
return list.filter(row => {
const no = String(row.OrderNo || '')
const remarks = String(row.Remarks || '')
return no.includes(kw) || remarks.includes(kw)
})
},
oldLogTotalCount() { return this.filteredOldLogAll.length },
filteredOldLogRecords() {
const list = this.filteredOldLogAll
const size = this.pageSize
const maxPage = Math.max(1, Math.ceil((list.length || 1) / size))
const page = Math.min(this.oldLogPage || 1, maxPage)
const start = (page - 1) * size
return list.slice(start, start + size)
},
|
58083915
“wangming”
对门店PC进行设计
|
590
591
|
recordTabs() {
return [
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
592
|
{ key: 'rights', label: '权益明细' },
|
58083915
“wangming”
对门店PC进行设计
|
593
594
595
596
|
{ key: 'invite', label: '邀约记录' },
{ key: 'booking', label: '预约记录' },
{ key: 'billing', label: '开单记录' },
{ key: 'consume', label: '消耗记录' },
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
597
598
599
|
{ key: 'serviceLog', label: '服务日志' },
{ key: 'oldLog', label: '旧日志' },
{ key: 'refund', label: '退卡列表' }
|
58083915
“wangming”
对门店PC进行设计
|
600
601
602
603
604
605
606
607
608
609
610
|
]
},
currentSearch: {
get() {
switch (this.recordsTab) {
case 'invite': return this.searchInvite
case 'booking': return this.searchBooking
case 'billing': return this.searchBilling
case 'consume': return this.searchConsume
case 'refund': return this.searchRefund
case 'rights': return this.searchRights
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
611
612
|
case 'serviceLog': return this.searchServiceLog
case 'oldLog': return this.searchOldLog
|
58083915
“wangming”
对门店PC进行设计
|
613
614
615
616
617
618
619
620
621
622
623
|
default: return ''
}
},
set(val) {
switch (this.recordsTab) {
case 'invite': this.searchInvite = val; break
case 'booking': this.searchBooking = val; break
case 'billing': this.searchBilling = val; break
case 'consume': this.searchConsume = val; break
case 'refund': this.searchRefund = val; break
case 'rights': this.searchRights = val; break
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
624
625
|
case 'serviceLog': this.searchServiceLog = val; break
case 'oldLog': this.searchOldLog = val; break
|
58083915
“wangming”
对门店PC进行设计
|
626
627
628
629
630
|
}
}
},
currentSearchPlaceholder() {
switch (this.recordsTab) {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
631
632
633
634
635
|
case 'invite': return '按联系记录/邀约人搜索'
case 'booking': return '按体验项目/健康师搜索'
case 'billing': return '按品项/开单人员搜索'
case 'consume': return '按品项/操作人员搜索'
case 'refund': return '按退卡原因搜索'
|
58083915
“wangming”
对门店PC进行设计
|
636
|
case 'rights': return '按项目名称搜索'
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
637
638
|
case 'serviceLog': return '按备注/添加人搜索'
case 'oldLog': return '按开单号/备注搜索'
|
58083915
“wangming”
对门店PC进行设计
|
639
640
641
642
643
644
645
646
647
648
|
default: return '输入关键字搜索'
}
},
recordsTabIndicatorStyle() {
const tabs = this.recordTabs
const count = tabs.length || 1
const index = Math.max(0, tabs.findIndex(t => t.key === this.recordsTab))
const width = 100 / count
return {
width: `${width}%`,
|
58083915
“wangming”
对门店PC进行设计
|
649
650
651
652
653
|
transform: `translateX(${index * 100}%)`
}
}
},
methods: {
|
20099e65
“wangming”
1111
|
654
655
656
|
initData() {
// 分页切换时由 .sync 自动更新 pageSize/current-page,computed 会自动重算,无需额外逻辑
},
|
58083915
“wangming”
对门店PC进行设计
|
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
|
formatMoney(val) {
if (val == null || val === '') return '0.00'
const n = Number(val)
if (isNaN(n)) return '0.00'
return n.toFixed(2).replace(/\B(?=(\d{3})+(?!\d))/g, ',')
},
remainingItemTotal(row) {
const c = Number(row.RemainingCount ?? row.remainingCount ?? 0)
const p = Number(row.ItemPrice ?? row.itemPrice ?? 0)
return c * p
},
emitAction(type) {
this.$emit('action', { type, member: this.member })
},
close() {
this.visibleProxy = false
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
|
},
relativeTime(dateStr) {
if (!dateStr) return '—'
const date = new Date(dateStr)
if (isNaN(date.getTime())) return dateStr
const now = new Date()
const diff = now - date
const days = Math.floor(diff / (1000 * 60 * 60 * 24))
if (days < 0) return dateStr
if (days === 0) return '今天'
if (days === 1) return '昨天'
if (days < 7) return `${days}天前`
if (days < 30) return `${Math.floor(days / 7)}周前`
if (days < 365) return `${Math.floor(days / 30)}个月前`
return `${Math.floor(days / 365)}年前`
},
statusClass(status) {
if (!status) return 'status--default'
const greenList = ['已到店', '已完成', '已签到', '已服务']
const orangeList = ['待跟进', '待确认', '待服务', '进行中']
const redList = ['已取消', '已退卡', '已退款', '已过期']
const blueList = ['已预约', '待到店', '处理中', '已确认']
if (greenList.includes(status)) return 'status--green'
if (orangeList.includes(status)) return 'status--orange'
if (redList.includes(status)) return 'status--red'
if (blueList.includes(status)) return 'status--blue'
return 'status--default'
|
58083915
“wangming”
对门店PC进行设计
|
700
701
702
703
704
705
|
}
}
}
</script>
<style lang="scss" scoped>
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
706
707
|
/* ========== Dialog 外壳 ========== */
::v-deep .el-dialog {
|
20099e65
“wangming”
1111
|
708
709
710
711
|
width: 92vw;
max-width: 1500px;
height: 94vh;
margin-top: 3vh !important;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
712
713
|
border-radius: 20px;
padding: 0;
|
20099e65
“wangming”
1111
|
714
715
716
|
background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.96) 0, rgba(248, 250, 252, 0.98) 38%, rgba(241, 245, 249, 0.98) 100%);
box-shadow: 0 24px 48px rgba(15, 23, 42, 0.2), 0 0 0 0.5px rgba(148, 163, 184, 0.35);
border: 1px solid rgba(226, 232, 240, 0.9);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
717
718
|
backdrop-filter: blur(26px);
-webkit-backdrop-filter: blur(26px);
|
58083915
“wangming”
对门店PC进行设计
|
719
720
|
display: flex;
flex-direction: column;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
721
722
|
position: relative;
overflow: hidden;
|
58083915
“wangming”
对门店PC进行设计
|
723
|
}
|
58083915
“wangming”
对门店PC进行设计
|
724
|
|
20099e65
“wangming”
1111
|
725
726
727
728
729
730
731
732
|
::v-deep .el-dialog__header {
display: none;
}
::v-deep .el-dialog__body {
padding: 0;
flex: 1;
overflow: hidden;
|
58083915
“wangming”
对门店PC进行设计
|
733
734
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
735
736
737
738
739
740
741
742
743
744
|
/* ========== 主容器:左右分栏 ========== */
.member-dialog-inner {
display: flex;
flex-direction: row;
height: 100%;
box-sizing: border-box;
}
/* ========== 左侧边栏 ========== */
.sidebar {
|
20099e65
“wangming”
1111
|
745
|
width: 320px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
746
747
748
|
flex-shrink: 0;
display: flex;
flex-direction: column;
|
20099e65
“wangming”
1111
|
749
750
|
background: rgba(248, 250, 252, 0.98);
border-right: 1px solid rgba(226, 232, 240, 0.6);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
751
|
border-radius: 0 0 0 20px;
|
58083915
“wangming”
对门店PC进行设计
|
752
|
overflow-y: auto;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
753
754
|
scrollbar-width: none;
-ms-overflow-style: none;
|
20099e65
“wangming”
1111
|
755
756
757
758
|
&::-webkit-scrollbar {
display: none;
}
|
58083915
“wangming”
对门店PC进行设计
|
759
760
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
761
762
763
764
765
|
/* -- 身份区 -- */
.sidebar-identity {
display: flex;
flex-direction: column;
align-items: center;
|
20099e65
“wangming”
1111
|
766
|
padding: 28px 20px 18px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
767
|
}
|
20099e65
“wangming”
1111
|
768
|
|
58083915
“wangming”
对门店PC进行设计
|
769
|
.member-avatar {
|
20099e65
“wangming”
1111
|
770
771
|
width: 68px;
height: 68px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
772
|
border-radius: 50%;
|
58083915
“wangming”
对门店PC进行设计
|
773
774
775
776
777
|
background: linear-gradient(145deg, #6366f1, #a855f7);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
778
|
font-weight: 600;
|
20099e65
“wangming”
1111
|
779
|
font-size: 26px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
780
|
flex-shrink: 0;
|
20099e65
“wangming”
1111
|
781
782
|
box-shadow: 0 6px 16px rgba(99, 102, 241, 0.3), 0 0 0 3px rgba(255, 255, 255, 0.8);
margin-bottom: 12px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
783
|
}
|
20099e65
“wangming”
1111
|
784
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
785
|
.member-name {
|
20099e65
“wangming”
1111
|
786
|
font-size: 19px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
787
788
789
790
|
font-weight: 600;
color: #0f172a;
letter-spacing: 0.3px;
text-align: center;
|
20099e65
“wangming”
1111
|
791
|
margin-bottom: 8px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
792
|
}
|
20099e65
“wangming”
1111
|
793
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
794
795
|
.level-tag {
display: inline-block;
|
20099e65
“wangming”
1111
|
796
797
|
font-size: 12px;
padding: 3px 16px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
798
799
|
border-radius: 999px;
font-weight: 600;
|
20099e65
“wangming”
1111
|
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
|
margin-bottom: 10px;
}
.level--d {
background: #e5e7eb;
color: #6b7280;
}
.level--c {
background: rgba(59, 130, 246, 0.1);
color: #2563eb;
border: 1px solid rgba(59, 130, 246, 0.2);
}
.level--b {
background: rgba(34, 197, 94, 0.1);
color: #16a34a;
border: 1px solid rgba(34, 197, 94, 0.2);
}
.level--a {
background: rgba(245, 158, 11, 0.1);
color: #d97706;
border: 1px solid rgba(245, 158, 11, 0.2);
}
.level--aplus {
background: linear-gradient(135deg, #f59e0b, #d97706);
color: #fff;
box-shadow: 0 2px 6px rgba(245, 158, 11, 0.3);
}
.level--aplusplus {
background: linear-gradient(135deg, #ef4444, #dc2626);
color: #fff;
box-shadow: 0 2px 6px rgba(239, 68, 68, 0.3);
}
.level--default {
background: linear-gradient(135deg, #f59e0b, #d97706);
color: #fff;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
841
|
}
|
20099e65
“wangming”
1111
|
842
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
843
844
845
846
|
.member-meta {
display: flex;
align-items: center;
justify-content: center;
|
20099e65
“wangming”
1111
|
847
|
font-size: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
848
849
850
|
color: #64748b;
flex-wrap: wrap;
text-align: center;
|
20099e65
“wangming”
1111
|
851
852
|
span+span::before {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
853
854
855
856
|
content: '\00b7';
margin: 0 5px;
color: #cbd5e1;
font-weight: 700;
|
20099e65
“wangming”
1111
|
857
|
font-size: 15px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
858
859
|
}
}
|
20099e65
“wangming”
1111
|
860
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
861
862
863
864
865
|
.member-sub-info {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
|
20099e65
“wangming”
1111
|
866
|
font-size: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
867
|
color: #64748b;
|
20099e65
“wangming”
1111
|
868
|
margin-bottom: 8px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
869
870
|
flex-wrap: wrap;
}
|
20099e65
“wangming”
1111
|
871
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
872
873
|
.member-phone {
color: #16a34a;
|
58083915
“wangming”
对门店PC进行设计
|
874
|
font-weight: 500;
|
20099e65
“wangming”
1111
|
875
876
877
878
879
|
i {
margin-right: 3px;
font-size: 14px;
}
|
58083915
“wangming”
对门店PC进行设计
|
880
|
}
|
20099e65
“wangming”
1111
|
881
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
882
883
|
.member-dah {
color: #94a3b8;
|
20099e65
“wangming”
1111
|
884
|
font-size: 13px;
|
58083915
“wangming”
对门店PC进行设计
|
885
|
}
|
20099e65
“wangming”
1111
|
886
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
887
|
.member-type-tags {
|
58083915
“wangming”
对门店PC进行设计
|
888
889
|
display: flex;
flex-wrap: wrap;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
890
|
justify-content: center;
|
20099e65
“wangming”
1111
|
891
892
|
gap: 5px;
margin-bottom: 6px;
|
58083915
“wangming”
对门店PC进行设计
|
893
|
}
|
20099e65
“wangming”
1111
|
894
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
895
|
.type-tag {
|
20099e65
“wangming”
1111
|
896
|
padding: 3px 12px;
|
58083915
“wangming”
对门店PC进行设计
|
897
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
898
|
font-size: 12px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
899
|
font-weight: 500;
|
58083915
“wangming”
对门店PC进行设计
|
900
|
}
|
20099e65
“wangming”
1111
|
901
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
902
|
.type-tag--beauty {
|
20099e65
“wangming”
1111
|
903
|
background: rgba(34, 197, 94, 0.1);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
904
|
color: #16a34a;
|
20099e65
“wangming”
1111
|
905
|
border: 1px solid rgba(34, 197, 94, 0.15);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
906
|
}
|
20099e65
“wangming”
1111
|
907
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
908
|
.type-tag--medical {
|
20099e65
“wangming”
1111
|
909
|
background: rgba(249, 115, 22, 0.1);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
910
|
color: #ea580c;
|
20099e65
“wangming”
1111
|
911
|
border: 1px solid rgba(249, 115, 22, 0.15);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
912
|
}
|
20099e65
“wangming”
1111
|
913
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
914
|
.type-tag--tech {
|
20099e65
“wangming”
1111
|
915
|
background: rgba(59, 130, 246, 0.1);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
916
|
color: #2563eb;
|
20099e65
“wangming”
1111
|
917
|
border: 1px solid rgba(59, 130, 246, 0.15);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
918
|
}
|
20099e65
“wangming”
1111
|
919
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
920
|
.member-visit-row {
|
58083915
“wangming”
对门店PC进行设计
|
921
922
|
display: flex;
align-items: center;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
923
924
925
926
927
|
justify-content: center;
gap: 8px;
margin-top: 6px;
flex-wrap: wrap;
}
|
20099e65
“wangming”
1111
|
928
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
929
|
.member-visit {
|
20099e65
“wangming”
1111
|
930
|
font-size: 13px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
931
932
|
color: #94a3b8;
cursor: default;
|
20099e65
“wangming”
1111
|
933
934
935
936
937
|
i {
margin-right: 3px;
font-size: 13px;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
938
|
}
|
20099e65
“wangming”
1111
|
939
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
940
|
.member-sleep {
|
20099e65
“wangming”
1111
|
941
942
|
font-size: 12px;
padding: 3px 10px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
943
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
944
|
background: rgba(249, 115, 22, 0.1);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
945
|
color: #ea580c;
|
58083915
“wangming”
对门店PC进行设计
|
946
|
font-weight: 500;
|
20099e65
“wangming”
1111
|
947
948
949
950
951
|
i {
margin-right: 2px;
font-size: 12px;
}
|
58083915
“wangming”
对门店PC进行设计
|
952
|
}
|
20099e65
“wangming”
1111
|
953
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
954
|
.tag-row {
|
20099e65
“wangming”
1111
|
955
|
margin-top: 10px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
956
957
958
|
display: flex;
flex-wrap: wrap;
justify-content: center;
|
20099e65
“wangming”
1111
|
959
|
gap: 5px;
|
58083915
“wangming”
对门店PC进行设计
|
960
|
}
|
20099e65
“wangming”
1111
|
961
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
962
|
.member-tag {
|
20099e65
“wangming”
1111
|
963
|
padding: 3px 10px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
964
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
965
966
|
font-size: 12px;
background: rgba(129, 140, 248, 0.1);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
967
|
color: #4f46e5;
|
20099e65
“wangming”
1111
|
968
|
border: 1px solid rgba(129, 140, 248, 0.15);
|
58083915
“wangming”
对门店PC进行设计
|
969
970
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
971
972
|
/* -- 侧边栏通用 section -- */
.sidebar-section {
|
20099e65
“wangming”
1111
|
973
974
|
padding: 14px 20px;
border-top: 1px solid rgba(226, 232, 240, 0.5);
|
58083915
“wangming”
对门店PC进行设计
|
975
|
}
|
20099e65
“wangming”
1111
|
976
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
977
|
.sidebar-section-title {
|
20099e65
“wangming”
1111
|
978
|
font-size: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
979
980
|
font-weight: 600;
color: #64748b;
|
20099e65
“wangming”
1111
|
981
|
margin-bottom: 8px;
|
58083915
“wangming”
对门店PC进行设计
|
982
983
|
display: flex;
align-items: center;
|
20099e65
“wangming”
1111
|
984
985
986
987
988
989
|
gap: 5px;
i {
font-size: 14px;
color: #6366f1;
}
|
58083915
“wangming”
对门店PC进行设计
|
990
|
}
|
20099e65
“wangming”
1111
|
991
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
992
993
994
995
|
.sidebar-row {
display: flex;
justify-content: space-between;
align-items: center;
|
20099e65
“wangming”
1111
|
996
997
|
padding: 5px 0;
min-height: 26px;
|
58083915
“wangming”
对门店PC进行设计
|
998
|
}
|
20099e65
“wangming”
1111
|
999
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1000
|
.sidebar-row--highlight {
|
20099e65
“wangming”
1111
|
1001
|
background: linear-gradient(135deg, rgba(37, 99, 235, 0.04), rgba(124, 58, 237, 0.04));
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1002
1003
1004
|
border-radius: 6px;
padding: 4px 8px;
margin: 1px -8px;
|
58083915
“wangming”
对门店PC进行设计
|
1005
|
}
|
20099e65
“wangming”
1111
|
1006
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1007
1008
|
.sidebar-row--remark {
align-items: flex-start;
|
20099e65
“wangming”
1111
|
1009
1010
1011
1012
1013
1014
1015
|
.sidebar-value {
white-space: normal;
word-break: break-all;
text-align: right;
max-width: 160px;
}
|
58083915
“wangming”
对门店PC进行设计
|
1016
|
}
|
20099e65
“wangming”
1111
|
1017
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1018
1019
|
.sidebar-label {
color: #94a3b8;
|
20099e65
“wangming”
1111
|
1020
|
font-size: 13px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1021
1022
1023
|
flex-shrink: 0;
display: flex;
align-items: center;
|
20099e65
“wangming”
1111
|
1024
1025
1026
1027
1028
1029
|
i {
margin-right: 3px;
font-size: 13px;
color: #94a3b8;
}
|
58083915
“wangming”
对门店PC进行设计
|
1030
|
}
|
20099e65
“wangming”
1111
|
1031
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1032
1033
|
.sidebar-value {
color: #1e293b;
|
20099e65
“wangming”
1111
|
1034
|
font-size: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1035
1036
1037
1038
|
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
|
20099e65
“wangming”
1111
|
1039
|
max-width: 170px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1040
|
text-align: right;
|
58083915
“wangming”
对门店PC进行设计
|
1041
|
}
|
20099e65
“wangming”
1111
|
1042
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1043
|
.sidebar-value--amount {
|
20099e65
“wangming”
1111
|
1044
|
font-size: 15px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1045
1046
|
font-weight: 600;
color: #0f172a;
|
58083915
“wangming”
对门店PC进行设计
|
1047
|
}
|
20099e65
“wangming”
1111
|
1048
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1049
|
.sidebar-value--gradient {
|
20099e65
“wangming”
1111
|
1050
|
font-size: 16px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1051
1052
1053
1054
1055
|
font-weight: 700;
background: linear-gradient(135deg, #2563eb, #7c3aed);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
|
58083915
“wangming”
对门店PC进行设计
|
1056
1057
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1058
1059
1060
1061
1062
1063
|
/* ========== 右侧内容区 ========== */
.main-content {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
|
20099e65
“wangming”
1111
|
1064
|
padding: 18px 28px;
|
58083915
“wangming”
对门店PC进行设计
|
1065
1066
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1067
1068
|
/* -- 内容头部:Tab + 搜索 -- */
.content-header {
|
58083915
“wangming”
对门店PC进行设计
|
1069
1070
1071
|
display: flex;
justify-content: space-between;
align-items: center;
|
20099e65
“wangming”
1111
|
1072
|
margin-bottom: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1073
|
flex-shrink: 0;
|
58083915
“wangming”
对门店PC进行设计
|
1074
|
}
|
20099e65
“wangming”
1111
|
1075
|
|
58083915
“wangming”
对门店PC进行设计
|
1076
1077
|
.records-tab-list {
display: inline-flex;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1078
|
flex: 1;
|
58083915
“wangming”
对门店PC进行设计
|
1079
1080
|
min-width: 0;
width: 100%;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1081
|
max-width: 100%;
|
20099e65
“wangming”
1111
|
1082
|
background: rgba(229, 231, 235, 0.7);
|
58083915
“wangming”
对门店PC进行设计
|
1083
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
1084
|
padding: 3px;
|
58083915
“wangming”
对门店PC进行设计
|
1085
1086
1087
1088
1089
|
position: relative;
overflow: hidden;
backdrop-filter: blur(14px);
-webkit-backdrop-filter: blur(14px);
}
|
20099e65
“wangming”
1111
|
1090
|
|
58083915
“wangming”
对门店PC进行设计
|
1091
1092
1093
1094
|
.records-tab {
border: none;
outline: none;
background: transparent;
|
20099e65
“wangming”
1111
|
1095
|
padding: 0 10px;
|
58083915
“wangming”
对门店PC进行设计
|
1096
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
1097
|
font-size: 14px;
|
58083915
“wangming”
对门店PC进行设计
|
1098
1099
|
color: #4b5563;
cursor: pointer;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1100
|
transition: color 0.25s ease;
|
58083915
“wangming”
对门店PC进行设计
|
1101
1102
|
flex: 1 1 0;
text-align: center;
|
20099e65
“wangming”
1111
|
1103
1104
|
height: 34px;
line-height: 34px;
|
58083915
“wangming”
对门店PC进行设计
|
1105
1106
1107
|
position: relative;
z-index: 1;
}
|
20099e65
“wangming”
1111
|
1108
1109
1110
1111
1112
1113
|
.records-tab--active {
color: #1d4ed8;
font-weight: 600;
}
|
58083915
“wangming”
对门店PC进行设计
|
1114
1115
|
.records-tab-indicator {
position: absolute;
|
20099e65
“wangming”
1111
|
1116
1117
|
top: 3px;
bottom: 3px;
|
58083915
“wangming”
对门店PC进行设计
|
1118
1119
|
left: 0;
border-radius: 999px;
|
20099e65
“wangming”
1111
|
1120
1121
|
background: rgba(255, 255, 255, 0.98);
box-shadow: 0 3px 10px rgba(15, 23, 42, 0.12), 0 0 0 1px rgba(255, 255, 255, 0.8);
|
58083915
“wangming”
对门店PC进行设计
|
1122
1123
|
backdrop-filter: blur(18px);
-webkit-backdrop-filter: blur(18px);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1124
|
transition: transform 0.32s cubic-bezier(0.4, 0, 0.2, 1);
|
58083915
“wangming”
对门店PC进行设计
|
1125
1126
|
z-index: 0;
}
|
20099e65
“wangming”
1111
|
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
|
.records-tab-label {
white-space: nowrap;
}
.records-tabs-search {
flex-shrink: 0;
margin-left: 12px;
}
.records-search {
width: 200px;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1141
|
.records-search ::v-deep .el-input__inner {
|
58083915
“wangming”
对门店PC进行设计
|
1142
|
border-radius: 999px;
|
20099e65
“wangming”
1111
|
1143
1144
1145
|
height: 34px;
line-height: 34px;
font-size: 14px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1146
1147
|
border-color: #e2e8f0;
transition: border-color 0.2s;
|
20099e65
“wangming”
1111
|
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
|
&:focus {
border-color: #6366f1;
}
}
.records-search ::v-deep .el-input__prefix {
display: flex;
align-items: center;
height: 100%;
|
58083915
“wangming”
对门店PC进行设计
|
1158
|
}
|
58083915
“wangming”
对门店PC进行设计
|
1159
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1160
1161
1162
1163
1164
1165
|
/* -- 表格主体区:flex:1 填满 -- */
.content-body {
flex: 1;
min-height: 0;
display: flex;
flex-direction: column;
|
58083915
“wangming”
对门店PC进行设计
|
1166
|
}
|
20099e65
“wangming”
1111
|
1167
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1168
1169
1170
|
.records-panel {
flex: 1;
min-height: 0;
|
58083915
“wangming”
对门店PC进行设计
|
1171
|
display: flex;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1172
|
flex-direction: column;
|
58083915
“wangming”
对门店PC进行设计
|
1173
|
}
|
20099e65
“wangming”
1111
|
1174
|
|
58083915
“wangming”
对门店PC进行设计
|
1175
|
.records-table-wrap {
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1176
1177
|
flex: 1;
min-height: 0;
|
58083915
“wangming”
对门店PC进行设计
|
1178
|
overflow-y: auto;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1179
1180
|
scrollbar-width: none;
-ms-overflow-style: none;
|
20099e65
“wangming”
1111
|
1181
1182
1183
1184
1185
1186
1187
1188
1189
|
&::-webkit-scrollbar {
display: none;
}
}
.record-table,
.rights-table {
font-size: 14px;
|
58083915
“wangming”
对门店PC进行设计
|
1190
|
}
|
58083915
“wangming”
对门店PC进行设计
|
1191
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1192
|
::v-deep .el-table {
|
20099e65
“wangming”
1111
|
1193
1194
1195
1196
|
&::before {
display: none;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1197
|
th {
|
20099e65
“wangming”
1111
|
1198
1199
|
padding: 10px 0;
font-size: 13px;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1200
1201
1202
1203
1204
|
background: #f8fafc;
color: #64748b;
font-weight: 500;
border-bottom: 1px solid #e2e8f0;
}
|
20099e65
“wangming”
1111
|
1205
|
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1206
|
td {
|
20099e65
“wangming”
1111
|
1207
|
padding: 9px 0;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1208
1209
|
border-bottom: 1px solid #f1f5f9;
}
|
20099e65
“wangming”
1111
|
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
|
.el-table__row:hover>td {
background: rgba(99, 102, 241, 0.03);
}
&.el-table--border td,
&.el-table--border th {
border-right: none;
}
&.el-table--border::after {
display: none;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1223
|
}
|
20099e65
“wangming”
1111
|
1224
|
|
58083915
“wangming”
对门店PC进行设计
|
1225
|
.records-pagination {
|
20099e65
“wangming”
1111
|
1226
|
margin-top: 8px;
|
58083915
“wangming”
对门店PC进行设计
|
1227
|
text-align: right;
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1228
|
flex-shrink: 0;
|
58083915
“wangming”
对门店PC进行设计
|
1229
1230
|
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1231
|
/* ========== 状态胶囊 ========== */
|
20099e65
“wangming”
1111
|
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
|
.status-capsule {
display: inline-block;
padding: 3px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 500;
line-height: 1.6;
}
.status--green {
background: rgba(34, 197, 94, 0.1);
color: #16a34a;
}
.status--orange {
background: rgba(249, 115, 22, 0.1);
color: #ea580c;
}
.status--red {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
}
.status--blue {
background: rgba(59, 130, 246, 0.1);
color: #2563eb;
}
.status--default {
background: rgba(148, 163, 184, 0.1);
color: #64748b;
}
.amount-text {
font-weight: 600;
color: #2563eb;
}
.num-remaining {
font-weight: 600;
color: #2563eb;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1275
|
|
20099e65
“wangming”
1111
|
1276
1277
1278
1279
|
.num-total {
font-weight: 600;
color: #7c3aed;
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1280
1281
1282
1283
1284
1285
1286
1287
|
/* -- 底部操作按钮 -- */
.content-footer {
display: flex;
justify-content: flex-start;
gap: 10px;
padding-top: 8px;
flex-shrink: 0;
|
20099e65
“wangming”
1111
|
1288
|
border-top: 1px solid rgba(226, 232, 240, 0.5);
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1289
|
}
|
20099e65
“wangming”
1111
|
1290
|
|
58083915
“wangming”
对门店PC进行设计
|
1291
1292
1293
1294
|
.records-op-btn {
display: inline-flex;
align-items: center;
justify-content: center;
|
ed6ada0d
“wangming”
Update MemberProf...
|
1295
1296
1297
1298
|
gap: 4px;
min-width: 84px;
height: 32px;
padding: 0 14px;
|
58083915
“wangming”
对门店PC进行设计
|
1299
|
border-radius: 999px;
|
ed6ada0d
“wangming”
Update MemberProf...
|
1300
|
font-size: 13px;
|
58083915
“wangming”
对门店PC进行设计
|
1301
1302
1303
1304
1305
|
font-weight: 500;
cursor: pointer;
position: relative;
overflow: hidden;
transition: color 0.2s ease, box-shadow 0.2s ease, transform 0.12s ease;
|
20099e65
“wangming”
1111
|
1306
1307
1308
1309
|
i {
font-size: 13px;
}
|
58083915
“wangming”
对门店PC进行设计
|
1310
|
}
|
20099e65
“wangming”
1111
|
1311
|
|
58083915
“wangming”
对门店PC进行设计
|
1312
|
.records-op-btn--ghost {
|
20099e65
“wangming”
1111
|
1313
|
background: rgba(239, 246, 255, 0.9);
|
58083915
“wangming”
对门店PC进行设计
|
1314
|
color: #2563eb;
|
20099e65
“wangming”
1111
|
1315
1316
1317
1318
1319
1320
|
border: 1px solid rgba(37, 99, 235, 0.18);
}
.records-op-btn:hover {
transform: translateY(-0.5px);
box-shadow: 0 4px 10px rgba(15, 23, 42, 0.12);
|
58083915
“wangming”
对门店PC进行设计
|
1321
|
}
|
20099e65
“wangming”
1111
|
1322
1323
1324
1325
1326
|
.records-op-btn--ghost:hover {
color: #ffffff;
}
|
58083915
“wangming”
对门店PC进行设计
|
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
|
.records-op-btn::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
background-size: 200% 100%;
background-position: 0% 0;
opacity: 0.9;
transform: translateX(-100%);
transition: transform 0.25s ease;
z-index: -1;
}
|
20099e65
“wangming”
1111
|
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
|
.records-op-btn:hover::before {
transform: translateX(0);
}
.records-op-btn--invite::before {
background-image: linear-gradient(135deg, #0ea5e9, #22c55e);
}
.records-op-btn--booking::before {
background-image: linear-gradient(135deg, #f97316, #facc15);
}
.records-op-btn--billing::before {
background-image: linear-gradient(135deg, #3b82f6, #2563eb);
}
.records-op-btn--consume::before {
background-image: linear-gradient(135deg, #22c55e, #16a34a);
}
.records-op-btn--refund::before {
background-image: linear-gradient(135deg, #f97316, #ef4444);
}
|
ad197adf
“wangming”
完成了基本的门店PC的设计
|
1364
1365
|
.records-op-btn--close {
margin-left: auto;
|
20099e65
“wangming”
1111
|
1366
1367
1368
1369
|
&::before {
background-image: linear-gradient(135deg, #94a3b8, #64748b);
}
|
58083915
“wangming”
对门店PC进行设计
|
1370
1371
|
}
</style>
|