jufubao-base 1.0.243-beta2 → 1.0.243-beta201

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseAfterOrderList/Attr.js +13 -0
  3. package/src/components/JfbBaseAfterOrderList/JfbBaseAfterOrderList.vue +33 -1
  4. package/src/components/JfbBaseAfterSales/Api.js +58 -0
  5. package/src/components/JfbBaseAfterSales/Attr.js +25 -0
  6. package/src/components/JfbBaseAfterSales/JfbBaseAfterSales.vue +550 -0
  7. package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesLess.less +79 -0
  8. package/src/components/JfbBaseAfterSales/JfbBaseAfterSalesMixin.js +30 -0
  9. package/src/components/JfbBaseAfterSales/Mock.js +13 -0
  10. package/src/components/JfbBaseAfterSales/refundOrderInfo.vue +150 -0
  11. package/src/components/JfbBaseAfterSalesDetail/Api.js +41 -0
  12. package/src/components/JfbBaseAfterSalesDetail/Attr.js +25 -0
  13. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetail.vue +538 -0
  14. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailLess.less +79 -0
  15. package/src/components/JfbBaseAfterSalesDetail/JfbBaseAfterSalesDetailMixin.js +30 -0
  16. package/src/components/JfbBaseAfterSalesDetail/Mock.js +60 -0
  17. package/src/components/JfbBaseAfterSalesDetail/secProd.vue +58 -0
  18. package/src/components/JfbBaseAfterSalesFast/Api.js +30 -0
  19. package/src/components/JfbBaseAfterSalesFast/Attr.js +32 -0
  20. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFast.vue +297 -0
  21. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastLess.less +79 -0
  22. package/src/components/JfbBaseAfterSalesFast/JfbBaseAfterSalesFastMixin.js +30 -0
  23. package/src/components/JfbBaseAfterSalesFast/Mock.js +38 -0
  24. package/src/components/JfbBaseAfterSalesList/Api.js +40 -0
  25. package/src/components/JfbBaseAfterSalesList/Attr.js +107 -0
  26. package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesList.vue +463 -0
  27. package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesListLess.less +79 -0
  28. package/src/components/JfbBaseAfterSalesList/JfbBaseAfterSalesListMixin.js +30 -0
  29. package/src/components/JfbBaseAfterSalesList/Mock.js +362 -0
  30. package/src/components/JfbBaseCardBindV2/JfbBaseCardBindV2.vue +4 -6
  31. package/src/components/JfbBaseConPhone/JfbBaseConPhone.vue +10 -16
  32. package/src/components/JfbBaseLogin/JfbBaseLogin.vue +6 -10
  33. package/src/components/JfbBaseLoginForgetPwd/JfbBaseLoginForgetPwd.vue +6 -10
  34. package/src/components/JfbBaseLoginSetPwd/JfbBaseLoginSetPwd.vue +2 -16
  35. package/src/components/JfbBaseMapOverlay/JfbBaseMapOverlay.vue +3 -5
  36. package/src/components/JfbBaseOrderDetail/Attr.js +36 -0
  37. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +21 -1
  38. package/src/components/JfbBaseOrderList/Attr.js +36 -0
  39. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +30 -0
  40. package/src/components/JfbBaseOrderList/Mock.js +1 -1
  41. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +17 -5
  42. package/src/components/JfbBasePay/JfbBasePay.vue +19 -35
  43. package/src/components/JfbBasePhoneCollect/JfbBasePhoneCollect.vue +5 -21
  44. package/src/components/JfbBasePhoneLogin/JfbBasePhoneLogin.vue +29 -30
  45. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +11 -18
  46. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +3 -5
@@ -0,0 +1,107 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * @description 当表单组件中有联动操作时候,使用方法进行返回
5
+ */
6
+ export default {
7
+ style: [],
8
+ content: (data) => {
9
+ return [
10
+ {
11
+ label: "背景颜色:",
12
+ ele: "xd-color",
13
+ valueKey: "bodyBgColor",
14
+ value: data.bodyBgColor || "",
15
+ groupKey: "style",
16
+ },
17
+ {
18
+ label: "内容配置设置",
19
+ ele: "title",
20
+ groupKey: "style",
21
+ size: "small"
22
+ },
23
+ {
24
+ label: "背景颜色:",
25
+ ele: "xd-color",
26
+ valueKey: "cardItemBgColor",
27
+ value: data.cardItemBgColor || "#FFFFFF",
28
+ groupKey: "style",
29
+ labelInline: true,
30
+ },
31
+ {
32
+ label: "间距设置:",
33
+ ele: "el-input",
34
+ valueKey: "cardItemSpace",
35
+ value: data.cardItemSpace || "20",
36
+ placeholder: '请输入间距',
37
+ groupKey: "style",
38
+ className: "input80",
39
+ labelInline: true,
40
+ inline: false,
41
+ notice: '设置间距,<span style="color: red">单位:像素</span>。默认值:<span style="color:red">20</span>像素',
42
+ },
43
+ {
44
+ label: '投影设置:',
45
+ ele: 'xd-shadow',
46
+ groupKey:'style',
47
+ labelInline: true,
48
+ valueKey: 'cardItemShadow',
49
+ value: data['cardItemShadow'] || '',
50
+ setting: {
51
+ selected: 'N',
52
+ },
53
+ handleCustom({action, data}) {
54
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
55
+ .then(res => {
56
+ data.cb(res.list)
57
+ })
58
+ .catch(error => {
59
+ console.error(error);
60
+ data.cb([])
61
+ });
62
+ },
63
+ },
64
+ {
65
+ label: '边框设置:',
66
+ ele: 'xd-border',
67
+ groupKey:'style',
68
+ labelInline: true,
69
+ valueKey: 'cardItemBorder',
70
+ value: data['cardItemBorder'] || '',
71
+ setting: {
72
+ selected:'N'
73
+ },
74
+ },
75
+ {
76
+ label: "圆角设置:",
77
+ groupKey: 'style',
78
+ ele: 'xd-slider',
79
+ valueKey: "cardItemRadius",
80
+ value: data['cardItemRadius'] === undefined?16:data['cardItemRadius'] ,
81
+ className: "input80",
82
+ labelInline: true,
83
+ setting:{
84
+ min: 0,//最小值
85
+ max: 60, //最小值
86
+ step:1, //步长
87
+ showStops:false,//显示间断点
88
+ showInput:false,//显示输入框
89
+ }
90
+ },
91
+ {
92
+ label: '服务详情跳转路径:',
93
+ ele: 'xd-select-pages-path',
94
+ valueKey: 'afterSalesDetailPath',
95
+ placeholder: '请选择服务详情跳转路径',
96
+ groupKey:'advanced',
97
+ className: 'input100',
98
+ value: data['afterSalesDetailPath'] || null,
99
+ setting: {
100
+ router: XdBus.getParentApi('getPagesTree'),
101
+ },
102
+ inline: false,
103
+ },
104
+ ].filter(i=>i)
105
+ },
106
+ advanced: [],
107
+ };
@@ -0,0 +1,463 @@
1
+ <template>
2
+ <view
3
+ class="jfb-base-after-sales-list"
4
+ @click="handleEditxSelect"
5
+ :class="{ editx : isEditx && active }"
6
+ >
7
+ <!--#ifdef H5-->
8
+ <view
9
+ class="jfb-base-after-sales-list__edit"
10
+ :class="{ editx : isEditx && active }"
11
+ v-if="isEditx && active"
12
+ >
13
+ <view class="jfb-base-after-sales-list__edit-icon" @click="delEdit">删除</view>
14
+ </view>
15
+ <!-- #endif -->
16
+ <view class="jfb-base-after-sales-list__body" :style="[bodyBoxStyle]">
17
+ <view class="fixed_header" :style="{
18
+ top: layoutInfo.top + 'rpx',
19
+ }">
20
+ <view class="filter_tab">
21
+ <view v-for="item in statusTabs" :key="item.value" class="filter_item"
22
+ :class="{active: item.value===status}"
23
+ @click="selectStatusTab(item.value)"
24
+ >{{ item.label }}</view>
25
+ </view>
26
+ <view class="search_bar" :style="{
27
+ backgroundColor: bodyBgColor
28
+ }">
29
+ <view class="search_box">
30
+ <xd-font-icon style="margin: 0 32rpx;" icon="iconsousuo_mian" size="32" color="#BBBBBB"></xd-font-icon>
31
+ <input type="text"
32
+ v-model="keyword"
33
+ style="width: 100%;"
34
+ confirm-type="search"
35
+ placeholder="请输入搜索内容"
36
+ @confirm="handleSearch"/>
37
+ </view>
38
+
39
+ </view>
40
+ </view>
41
+
42
+ <view style="height: 220rpx"></view>
43
+
44
+ <view v-if="loaded" class="service_list_wrap">
45
+ <view v-if="orderList.length" class="service_list">
46
+ <view v-for="item in orderList"
47
+ :key="item.service_order_id"
48
+ class="service_item"
49
+ :style="[cardItemBoxStyle]"
50
+ @click="handleToLink(item)">
51
+ <view class="service_header">
52
+ <view class="biz_name">
53
+ <xd-font-icon
54
+ v-if="item.business_icon"
55
+ class="biz_icon"
56
+ :icon="item.business_icon"
57
+ :size="28"
58
+ ></xd-font-icon>
59
+ {{item.business_name}}</view>
60
+ <view class="service_type" :style="getMethodTypeStyle(item.after_sale_method)">{{ item.after_sale_method_name }}</view>
61
+ </view>
62
+ <view class="service_body">
63
+ <view class="service_number">服务单号:{{ item.service_order_id }}</view>
64
+ <view v-for="prod in item.product_list" :key="prod.product_id" class="prod_item">
65
+ <view class="prod_img">
66
+ <image :src="prod.thumb" mode="aspectFit"></image>
67
+ </view>
68
+ <view class="prod_info">
69
+ <view class="prod_title"> {{ prod.product_name }} </view>
70
+ <view class="prod_number">申请数量:×{{ prod.after_count }}</view>
71
+ </view>
72
+ </view>
73
+ </view>
74
+ <view class="service_foot">
75
+ <view v-if="item.is_show_cancel_btn === 'Y'" class="opt_btn primary" @click.stop="handleCancel(item)">撤销</view>
76
+ <view v-if="item.is_show_delete_btn === 'Y'" class="opt_btn" @click.stop="handleDel(item)">删除</view>
77
+ </view>
78
+ </view>
79
+ </view>
80
+ <view v-else>
81
+ <xd-no-data></xd-no-data>
82
+ </view>
83
+ </view>
84
+ </view>
85
+ </view>
86
+ </template>
87
+
88
+ <script>
89
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
90
+ import XdNoData from "@/components/XdNoData/XdNoData.vue"
91
+ import { jfbRootExec } from "@/utils/xd.event";
92
+ import JfbBaseAfterSalesListMixin from "./JfbBaseAfterSalesListMixin";
93
+ import { getContainerPropsValue } from "@/utils/xd.base";
94
+ import componentsMixins from "@/mixins/componentsMixins";
95
+ import extsMixins from "@/mixins/extsMixins";
96
+ import getServiceUrl from "@/common/getServiceUrl";
97
+ export default {
98
+ name: "JfbBaseAfterSalesList",
99
+ components: {
100
+ XdFontIcon,
101
+ XdNoData
102
+ },
103
+ mixins: [
104
+ componentsMixins, extsMixins, JfbBaseAfterSalesListMixin
105
+ ],
106
+ data() {
107
+ return {
108
+ orderList: [],
109
+
110
+ loaded: false,
111
+ status: "2", //状态 0:全部 1:待处理,2:处理中 3:已完成
112
+ keyword: "",
113
+ page_size: 10,
114
+ page_token: 1,
115
+ hasNext: true,
116
+ next_page_token: "",
117
+ // showStatusFilter: "",
118
+
119
+ statusTabs: [
120
+ // { label: '全部', value: '0'},
121
+ // { label: '待处理', value: '1'},
122
+ { label: '处理中', value: '2'},
123
+ { label: '已完成', value: '3'},
124
+ ],
125
+
126
+ bodyBgColor: "",
127
+
128
+ cardItemBgColor: "",
129
+ cardItemSpace: 20,
130
+ cardItemShadow: "",
131
+ cardItemBorder: "",
132
+ cardItemRadius: 16,
133
+
134
+ afterSalesDetailPath: "",
135
+
136
+ }
137
+ },
138
+ watch: {
139
+ container(value, oldValue) {
140
+ if (JSON.stringify(value) === JSON.stringify(oldValue)) return;
141
+ if (this.$configProject['isPreview']) this.init(value)
142
+ },
143
+ },
144
+ computed: {
145
+ bodyBoxStyle(){
146
+ return {
147
+ backgroundColor: this.bodyBgColor,
148
+ minHeight: this.layoutInfo.bodyMinHeight,
149
+ '--main-color': this.mainColor,
150
+ }
151
+ },
152
+ cardItemBoxStyle(){
153
+ return {
154
+ backgroundColor: this.cardItemBgColor,
155
+ marginBottom: this.cardItemSpace + 'rpx',
156
+ boxShadow: this.cardItemShadow,
157
+ border: this.cardItemBorder,
158
+ borderRadius: this.cardItemRadius + 'rpx',
159
+ }
160
+ }
161
+ },
162
+ created() {
163
+ this.init(this.container);
164
+
165
+ //todo
166
+ },
167
+ methods: {
168
+ onJfbLoad(options) {
169
+ this.getList();
170
+ },
171
+ /**
172
+ * @description 监听事件变化
173
+ * @param container {object} 业务组件对象自己
174
+ */
175
+ init(container) {
176
+ // this.showStatusFilter = getContainerPropsValue(container, "content.showStatusFilter", "");
177
+ this.bodyBgColor = getContainerPropsValue(container, "content.bodyBgColor", "#EEEEEE");
178
+
179
+ this.cardItemBgColor = getContainerPropsValue(container, 'content.cardItemBgColor', "#FFFFFF");
180
+ this.cardItemSpace = getContainerPropsValue(container, 'content.cardItemSpace', 20);
181
+ this.cardItemShadow = this.getXdShadow({width:20, color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.cardItemShadow', {}))
182
+ this.cardItemBorder = this.getXdBorder({width:2,color:'rgba(0,0,0,0)'},getContainerPropsValue(container, 'content.cardItemBorder', {}));
183
+ this.cardItemRadius = getContainerPropsValue(container, 'content.cardItemRadius', 16);
184
+
185
+ this.afterSalesDetailPath = getContainerPropsValue(container, "content.afterSalesDetailPath", { value: "" }).value;
186
+ },
187
+ getMethodTypeStyle(method){
188
+ switch (method) {
189
+ case "refund_and_good":
190
+ return { color: "#FF5733" };
191
+ case "refund":
192
+ return { color: "#FF5733" };
193
+ case "exchange":
194
+ return { color: "#2A82E4" };
195
+ case "again":
196
+ return { color: "#43CF7C" };
197
+ case "good":
198
+ return { color: "#FF8D1A" };
199
+ default:
200
+ return {};
201
+ }
202
+ },
203
+ handleSearch(e){
204
+ console.log("handleSearch",e)
205
+ this.page_token = 1;
206
+ this.getList();
207
+ },
208
+ selectStatusTab(status){
209
+ this.status = status;
210
+ this.page_token = 1;
211
+ uni.pageScrollTo({
212
+ scrollTop: 0,
213
+ duration: 0
214
+ });
215
+ this.getList();
216
+ },
217
+ handleCancel(item){
218
+ this.handleConfirm(() => {
219
+ jfbRootExec("cancelAfterServiceOrder", {
220
+ vm: this,
221
+ data:{
222
+ service_order_id: item.service_order_id
223
+ }
224
+ }).then(res => {
225
+ this.page_token = 1;
226
+ this.getList();
227
+ })
228
+ })
229
+ },
230
+ handleDel(item){
231
+ this.handleConfirm(() => {
232
+ jfbRootExec("delAfterServiceOrder", {
233
+ vm: this,
234
+ data:{
235
+ service_order_id: item.service_order_id
236
+ }
237
+ }).then(res => {
238
+ this.page_token = 1;
239
+ this.getList();
240
+ })
241
+ })
242
+ },
243
+ getList() {
244
+ this.$xdShowLoading({});
245
+ jfbRootExec("getAfterServiceOrderList", {
246
+ vm: this,
247
+ data: {
248
+ page_size: this.page_size,
249
+ page_token: this.page_token,
250
+ status: this.status,
251
+ keyword: this.keyword,
252
+ },
253
+ })
254
+ .then((res) => {
255
+ this.loaded = true;
256
+ this.$xdHideLoading();
257
+ let list = res.list.map(item => {
258
+ item.thumb = getServiceUrl(item.thumb, 'size2');
259
+ return item;
260
+ });
261
+ if (this.page_token === 1) {
262
+ this.orderList = list;
263
+ } else {
264
+ this.orderList = this.orderList.concat(list);
265
+ }
266
+ this.hasNext = res.next_page_token !== "";
267
+ this.next_page_token = res.next_page_token;
268
+ })
269
+ .catch((err) => {
270
+ this.$xdHideLoading();
271
+ });
272
+ },
273
+ handleToLink(item) {
274
+ this.$xdUniHelper.navigateTo({
275
+ url: `${this.afterSalesDetailPath}?service_order_id=${item.service_order_id}`,
276
+ });
277
+ },
278
+ handleConfirm(cb){
279
+ this.$xdConfirm({
280
+ styles: this.styles,
281
+ title: "提示",
282
+ width: '90%',
283
+ content: '确定删除当前工单吗?',
284
+ confirmText: '确认',
285
+ isHtml: true,
286
+ cancelText: '取消',
287
+ showClose: false,
288
+ success: (res) => {
289
+ if (res.confirm) {
290
+ cb && cb();
291
+ }
292
+ else{}
293
+ }
294
+ })
295
+ },
296
+ onJfbScroll(options) {
297
+ // console.log("event.onJfbScroll", options);
298
+ },
299
+ onJfbReachBottom(options) {
300
+ if (this.hasNext) {
301
+ this.page_token = this.next_page_token;
302
+ this.getList();
303
+ }
304
+ },
305
+ onJfbShow(options) {
306
+ // console.log('event.onJfbShow', options)
307
+ },
308
+ onJfbHide(options) {
309
+ console.log('event.onJfbHide', options)
310
+ },
311
+ onJfbBack(options) {
312
+ console.log('event.onJfbBack', options)
313
+ },
314
+ onJfbUpdate(...data) {
315
+ console.log('event.onJfbUpdate', data)
316
+ },
317
+ onJfbCustomEvent(options) {
318
+ console.log('event.onJfbReachBottom', options)
319
+ },
320
+ }
321
+ }
322
+
323
+ </script>
324
+
325
+ <style scoped lang="less">
326
+ @import "./JfbBaseAfterSalesListLess.less";
327
+
328
+ .jfb-base-after-sales-list {
329
+ &__body{
330
+ padding: 24rpx;
331
+ box-sizing: border-box;
332
+ .fixed_header{
333
+ position: fixed;
334
+ top: 0;
335
+ left: 0;
336
+ width: 100%;
337
+ z-index: 111;
338
+ }
339
+ .filter_tab{
340
+ display: flex;
341
+ align-items: center;
342
+ background-color: #FFFFFF;
343
+ justify-content: center;
344
+ height: 100rpx;
345
+ line-height: 100rpx;
346
+ border-bottom: 1px solid #DDD;
347
+
348
+ .filter_item{
349
+ margin: 0 40rpx;
350
+ font-size: 28rpx;
351
+ &.active{
352
+ border-bottom: 1px solid var(--main-color);
353
+ color: var(--main-color);
354
+ }
355
+ }
356
+ }
357
+ .search_bar{
358
+ padding: 24rpx;
359
+
360
+ .search_box{
361
+ height: 80rpx;
362
+ display: flex;
363
+ align-items: center;
364
+ background-color: #FFFFFF;
365
+ border-radius: 80rpx;
366
+ ::v-deep .input-placeholder{
367
+ color: #BBBBBB;
368
+ }
369
+ }
370
+ }
371
+ .service_list_wrap{
372
+
373
+ }
374
+ .service_list{
375
+
376
+ }
377
+ .service_item{
378
+ padding: 32rpx;
379
+ .service_header{
380
+ display: flex;
381
+ align-items: center;
382
+ justify-content: space-between;
383
+ padding-bottom: 24rpx;
384
+ border-bottom: 1px solid #F2F2F2;
385
+ font-size: 28rpx;
386
+ font-weight: 500;
387
+ color: #333333;
388
+ .biz_name{
389
+ display: flex;
390
+ align-items: center;
391
+ .biz_icon{
392
+ margin-right: 16rpx;
393
+ }
394
+ }
395
+ }
396
+ .service_body{
397
+ .service_number{
398
+ font-size: 24rpx;
399
+ font-weight: 500;
400
+ color: #333333;
401
+ margin: 24rpx 0;
402
+ }
403
+ .prod_item{
404
+ display: flex;
405
+ align-items: center;
406
+ margin: 24rpx 0;
407
+ .prod_img{
408
+ width: 140rpx;
409
+ height: 140rpx;
410
+ border-radius: 16rpx;
411
+ background-color: #EEE;
412
+ image{
413
+ width: 100%;
414
+ height: 100%;
415
+ }
416
+ }
417
+ .prod_info{
418
+ margin-left: 20rpx;
419
+ flex: 1;
420
+ align-self: stretch;
421
+ display: flex;
422
+ flex-direction: column;
423
+ justify-content: space-between;
424
+ .prod_title{
425
+ margin-bottom: 10rpx;
426
+ font-size: 28rpx;
427
+ color: #333333;
428
+ }
429
+ .prod_number{
430
+ color: #999999;
431
+ font-size: 24rpx;
432
+ }
433
+ }
434
+ }
435
+ }
436
+ .service_foot{
437
+ text-align: right;
438
+ margin-top: 24rpx;
439
+ .opt_btn{
440
+ width: 120rpx;
441
+ height: 60rpx;
442
+ background: #FFFFFF;
443
+ color: #999999;
444
+ border: 1px solid #999999;
445
+ font-size: 24rpx;
446
+ text-align: center;
447
+ line-height: 60rpx;
448
+ border-radius: 60rpx;
449
+ display: inline-block;
450
+ & + .opt_btn{
451
+ margin-left: 20rpx;
452
+ }
453
+ &.primary{
454
+ background: var(--main-color);
455
+ border-color: var(--main-color);
456
+ color: #FFFFFF;
457
+ }
458
+ }
459
+ }
460
+ }
461
+ }
462
+ }
463
+ </style>
@@ -0,0 +1,79 @@
1
+ /**
2
+ * @desc 获取绝对路径完整地址
3
+ * @param @path
4
+ **/
5
+ //例如:https://image.jufubao.cn/20220501010108/image/bg/default_gonghui_bg.png
6
+ @basePath: 'business/';
7
+ @doMain: '//sandbox-img.jufubao.cn/';
8
+
9
+ .getBusinessImageUrl(@path, @size: 'size8') {
10
+ @url: "@{doMain}@{basePath}@{path}?x-oss-process=style/@{size}";
11
+ background-image: url(@url);
12
+ }
13
+
14
+ //start
15
+ .jfb-base-after-sales-list {
16
+ box-sizing: border-box;
17
+
18
+ &__body{
19
+ position: relative;
20
+ overflow: hidden;
21
+ z-index: 2
22
+ }
23
+
24
+ &.editx,&.editx:hover {
25
+ position: relative;
26
+ min-height: unit(100, rpx);
27
+ z-index: 3;
28
+ &::after {
29
+ border: 2rpx dashed blue;
30
+ content: " ";
31
+ position: absolute;
32
+ top:0;
33
+ left:0;
34
+ bottom:0;
35
+ right:0;
36
+ z-index: 4;
37
+ cursor: pointer;
38
+ }
39
+
40
+ }
41
+
42
+
43
+ &__edit {
44
+ cursor: pointer;
45
+ position: absolute;
46
+ right: unit(0, rpx);
47
+ top: unit(-52, rpx);
48
+ height: unit(50, rpx);
49
+ line-height: unit(50, rpx);
50
+ display: flex;
51
+ justify-content: center;
52
+ align-items: center;
53
+ background: rgba(0, 0, 0, .6);
54
+ border-radius: unit(10, rpx);
55
+ box-shadow: 0 0 10px rbga(0, 0, 0, 0.3);
56
+ color: #fff;
57
+ font-size: unit(22, rpx);
58
+
59
+ &-icon{
60
+ padding: 0 unit(20, rpx);
61
+ }
62
+
63
+ &.editx {
64
+ box-sizing: border-box;
65
+
66
+ }
67
+ }
68
+ }
69
+ //end
70
+
71
+
72
+ /**notPreview**/
73
+ .jfb-base-after-sales-list {
74
+ //&:before {
75
+ //content: " ";
76
+ //display: table;
77
+ //}
78
+ }
79
+ /**endNotPreview**/
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+
4
+ //@AttrImport
5
+ import Attr from "./Attr";
6
+ //@EndAttrImport
7
+
8
+
9
+ export default {
10
+ data() {
11
+ return {
12
+ //#ifdef H5
13
+
14
+ //@AttrData
15
+ Attr:{}, //对外开发编辑属性
16
+ //@EndAttrData
17
+
18
+ // #endif
19
+ cssRoot: 'jfb-base-after-sales-list'
20
+ }
21
+ },
22
+ created() {
23
+
24
+ //@AttrDataCreated
25
+ this.Attr = this.$xdUniHelper.customClone(Attr);
26
+ //@EndAttrDataCreated
27
+
28
+
29
+ },
30
+ }