jufubao-base 1.0.222-beta1 → 1.0.222-beta2

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.
@@ -0,0 +1,54 @@
1
+ <template>
2
+ <view class="prod_item">
3
+ <view class="prod_img">
4
+ <image :src="item.thumb" mode="aspectFit"></image>
5
+ </view>
6
+ <view class="prod_info">
7
+ <view class="prod_title">{{ item.product_name }}</view>
8
+ <view class="prod_number">申请数量:×{{ item.after_count }}</view>
9
+ </view>
10
+ </view>
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ props: {
16
+ item: {
17
+ type: Object,
18
+ default() {
19
+ return {}
20
+ }
21
+ }
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <style lang="less" scoped>
27
+ .prod_item{
28
+ display: flex;
29
+ align-items: center;
30
+ .prod_img{
31
+ width: 140rpx;
32
+ height: 140rpx;
33
+ border-radius: 16rpx;
34
+ background-color: #EEE;
35
+ image{
36
+ width: 100%;
37
+ height: 100%;
38
+ }
39
+ }
40
+ .prod_info{
41
+ margin-left: 20rpx;
42
+ flex: 1;
43
+ .prod_title{
44
+ margin-bottom: 10rpx;
45
+ font-size: 28rpx;
46
+ color: #333333;
47
+ }
48
+ .prod_number{
49
+ color: #999999;
50
+ font-size: 24rpx;
51
+ }
52
+ }
53
+ }
54
+ </style>
@@ -6,53 +6,25 @@
6
6
  */
7
7
  module.exports = [
8
8
  {
9
- //设置方法名字当别忘记加上【模块名字】:After
10
- mapFnName: 'getAfterByIdFilmSquate',
11
- title: '获取电影广场列表',
12
- path: '/api/account/film/list-film-square',
9
+ mapFnName: "getAfterSalesTypeList",
10
+ path: "/aftersale/v1/service-order/after-sales-type-list",
11
+ title: "售后类型列表",
13
12
  isRule: false,
14
- params: {
15
- last_key: ['当前页', 'Number', '必选'],
16
- page_size: ['每页数量', 'Number', '必选'],
17
- },
18
- isConsole: true,
19
- disabled: true,
20
- },
21
- {
22
- //设置方法名字当别忘记加上【模块名字】:After
23
- mapFnName: 'updateAfterFilmPaiqiDate',
24
- title: '更新排期',
25
- path: '/api/account/film/paiqi-date',
26
- isRule: false,
27
- params: {
28
- film_id: ['电影id', 'Number', '必选'],
29
- cinema_id: ['影院id', 'Number', '必选'],
30
- },
13
+ params: {},
31
14
  isConsole: true,
32
15
  disabled: true,
33
16
  },
34
17
  {
35
- //设置方法名字当别忘记加上【模块名字】:After
36
- mapFnName: 'removeAfterFilmAddress',
37
- title: '删除我的配送地址',
38
- path: '/api/account/film/paiqi-date',
18
+ mapFnName: "createAfterServiceOrderQuick",
19
+ path: "/aftersale/v1/service-order/quick-refund",
20
+ title: "快速退款",
39
21
  isRule: false,
40
- params: {
41
- film_id: ['电影id', 'Number', '必选'],
22
+ data: {
23
+ main_order_id: ['主订单号', 'String', true],
24
+ after_sale_type: ['售后类型', 'String', true],
25
+ db_from: ['来源', 'String', true],
42
26
  },
43
27
  isConsole: true,
44
28
  disabled: true,
45
- },
46
- {
47
- //设置方法名字当别忘记加上【模块名字】:After
48
- mapFnName: 'addAfterFilmcart',
49
- title: '添加购物车',
50
- path: '/api/account/film/paiqi-date',
51
- isRule: false,
52
- params: {
53
- film_id: ['电影id', 'Number', '必选'],
54
- },
55
- isConsole: true,
56
- disabled: true,
57
- },
29
+ }
58
30
  ];
@@ -8,39 +8,23 @@ export default {
8
8
  content: (data) => {
9
9
  return [
10
10
  {
11
- label: '背景颜色:',
12
- ele: 'xd-color',
13
- valueKey: 'bgColor',
14
- value: data.bgColor || '',
15
- placeholder: '请输入占位框背景颜色',
16
- groupKey:'content',
11
+ label: "温馨提示:",
12
+ ele: "xd-tinymce",
13
+ valueKey: "warmTips",
14
+ groupKey: "content",
15
+ value: data['warmTips'] || '',
17
16
  },
18
17
  {
19
- label: '选中路径:',
20
- groupKey:'advanced',
21
- className: 'input100',
18
+ label: '售后详情页面路径:',
22
19
  ele: 'xd-select-pages-path',
23
- valueKey: 'select-pages-path',
24
- value: data['select-pages-path'] || null,
20
+ valueKey: 'refundStepPath',
21
+ groupKey:'advanced',
22
+ placeholder: '请选择售后详情页面路径',
23
+ value: data['refundStepPath'] || null,
25
24
  setting: {
26
- router: XdBus.getParentApi('getPagesTree')
25
+ router: XdBus.getParentApi('getPagesTree'),
27
26
  },
28
- },
29
- data.bgColor && {
30
- label: '高度:',
31
- ele: 'el-input',
32
- groupKey:'style',
33
- type: 'number',
34
- valueKey: 'height',
35
- value: data.height || 100,
36
- placeholder: '请输入占位框高度,单位像素,默认:10px',
37
- className: 'input60',
38
- },
39
- {
40
- label: '', //label
41
- groupKey:'advanced',
42
- ele: 'slot', //package 名称
43
- slot: 'is_reference',
27
+ inline: false,
44
28
  },
45
29
  ].filter(i=>i)
46
30
  },
@@ -13,14 +13,51 @@
13
13
  <view class="jfb-base-after-sales-fast__edit-icon" @click="delEdit">删除</view>
14
14
  </view>
15
15
  <!-- #endif -->
16
- <view class="jfb-base-after-sales-fast__body">
17
- <view>极速退款</view>
16
+ <view class="jfb-base-after-sales-fast__body" :style="{
17
+ minHeight: layoutInfo.bodyMinHeightRpx + 'rpx',
18
+ '--main-color': mainColor
19
+ }">
20
+ <view class="list_section section_inline">
21
+ <view class="sec_label">
22
+ <view class="label_require">*</view>
23
+ <view>申请原因</view>
24
+ </view>
25
+ <view class="sec_content" @click="toChoseReason">
26
+ <view>包装破损</view>
27
+ <xd-font-icon icon="iconxiangyou_xian" :size="28" style="margin-left: 8rpx;"></xd-font-icon>
28
+ </view>
29
+ </view>
30
+ <view class="refund_warm_tip">
31
+ <view class="tip_title">温馨提示</view>
32
+ <xd-content-xss :html="warmTips"></xd-content-xss>
33
+ </view>
34
+ <view class="bottom_fixed">
35
+ <xd-button type="primary" @click="handleApplyRefund">提交申请</xd-button>
36
+ </view>
37
+ <xd-down-drawer :show.sync="reasonShow" :isClose="false">
38
+ <view class="refund_reason_head">申请原因</view>
39
+ <view class="refund_reason_body" style="min-height: 50vh;max-height: 75vh;">
40
+ <view class="reason_cont">
41
+ <view class="reason_item" v-for="item in afterSalesTypes" :key="item.id">
42
+ <view>{{ item.type_name }}</view>
43
+ <xd-radio :value="temp_type === item.id" @change="selectApplyReason(item.id)"></xd-radio>
44
+ </view>
45
+ </view>
46
+ <view class="reason_foot">
47
+ <xd-button type="primary" @click="handleChoseReason">确定</xd-button>
48
+ </view>
49
+ </view>
50
+ </xd-down-drawer>
18
51
  </view>
19
52
  </view>
20
53
  </template>
21
54
 
22
55
  <script>
23
56
  import XdFontIcon from "@/components/XdFontIcon/XdFontIcon";
57
+ import XdContentXss from "@/components/XdContentXss/XdContentXss"
58
+ import XdButton from "@/components/XdButton/XdButton";
59
+ import XdDownDrawer from "@/components/XdDownDrawer/XdDownDrawer"
60
+ import XdRadio from "@/components/XdRadio/XdRadio"
24
61
  import { jfbRootExec } from "@/utils/xd.event";
25
62
  import JfbBaseAfterSalesFastMixin from "./JfbBaseAfterSalesFastMixin";
26
63
  import { getContainerPropsValue } from "@/utils/xd.base";
@@ -29,15 +66,27 @@
29
66
  export default {
30
67
  name: "JfbBaseAfterSalesFast",
31
68
  components: {
32
- XdFontIcon
69
+ XdFontIcon,
70
+ XdContentXss,
71
+ XdButton,
72
+ XdDownDrawer,
73
+ XdRadio
33
74
  },
34
75
  mixins: [
35
76
  componentsMixins, extsMixins, JfbBaseAfterSalesFastMixin
36
77
  ],
37
78
  data() {
38
79
  return {
39
-
80
+ reasonShow: false,
81
+ // content: `1.遇订单拆分,京券将换成同价值京豆返还;<br/>2.本单支付券退还以实际使用规则为准;<br/>3.订单一旦取消,无法恢复;<br/>4.微信搜一搜订单返现金额会从退款中扣除`,
82
+ order_id: "",
40
83
  //todo
84
+ warmTips: "",
85
+ after_sale_type: "",
86
+ temp_type: "",
87
+ afterSalesTypes: [],
88
+
89
+ refundStepPath: "",
41
90
  }
42
91
  },
43
92
  watch: {
@@ -53,29 +102,49 @@
53
102
  },
54
103
  methods: {
55
104
  onJfbLoad(options) {
56
-
57
- // jfbRootExec('baiduUserLogin', {
58
-
59
- // vm: this,// data: {
60
-
61
- // account: 'gaoshiyong',// password: '123456789',// type: 3,// ...options
62
-
63
- // }
64
-
65
- // }).then().catch()
105
+ this.order_id = options.order_id;
66
106
  },
67
107
  /**
68
108
  * @description 监听事件变化
69
109
  * @param container {object} 业务组件对象自己
70
110
  */
71
111
  init(container) {
72
-
73
- //this.bgcolor = getContainerPropsValue(container, 'content.bgcolor', '#fff');
74
-
75
- //this.height = getContainerPropsValue(container, 'content.height', 10);
112
+ this.warmTips = getContainerPropsValue(container, 'content.warmTips', "");
113
+ this.refundStepPath = getContainerPropsValue(container, 'content.refundStepPath', {value: ""}).value;
114
+ },
115
+ p_getAfterSalesTypeList(){
116
+ jfbRootExec("getAfterSalesTypeList", {
117
+ vm: this,
118
+ data: {}
119
+ }).then(res => {
120
+ this.afterSalesTypes = res.list;
121
+ })
122
+ },
123
+ selectApplyReason(id){
124
+ this.temp_type = id;
125
+ },
126
+ handleApplyRefund(){
127
+ jfbRootExec("createAfterServiceOrderQuick", {
128
+ vm: this,
129
+ data: {
130
+ main_order_id: this.order_id,
131
+ after_sale_type: this.after_sale_type,
132
+ }
133
+ }).then(res => {
134
+ this.$xdUniHelper.navigateTo({
135
+ url: `${this.refundStepPath}?service_order_id=${res.service_order_id}`,
136
+ });
137
+ })
138
+ },
139
+ toChoseReason(){
140
+ this.reasonShow = true;
141
+ },
142
+ handleChoseReason(){
143
+ this.reasonShow = false;
144
+ this.after_sale_type = this.temp_type;
76
145
  },
77
146
  onJfbScroll(options) {
78
- console.log('event.onJfbScroll', options)
147
+ // console.log('event.onJfbScroll', options)
79
148
  },
80
149
  onJfbReachBottom(options) {
81
150
  console.log('event.onJfbReachBottom', options)
@@ -105,7 +174,100 @@
105
174
 
106
175
  .jfb-base-after-sales-fast {
107
176
  &__body{
177
+ padding: 20rpx 20rpx 120rpx;
178
+ box-sizing: border-box;
179
+ background-color: #EEEEEE;
180
+ .list_section{
181
+ padding: 24rpx 36rpx;
182
+ border-radius: 16rpx;
183
+ background-color: #FFFFFF;
184
+ display: flex;
185
+ flex-direction: column;
186
+ margin: 20rpx 0;
187
+ color: #333333;
188
+ font-size: 28rpx;
189
+ &.section_inline{
190
+ flex-direction: row;
191
+ justify-content: space-between;
192
+ .sec_label{
193
+ margin-bottom: 0;
194
+ }
195
+ }
196
+ .sec_label{
197
+ display: flex;
198
+ align-items: center;
199
+ margin-bottom: 24rpx;
200
+ .label_require{
201
+ color: #FF5733;
202
+ margin-right: 4rpx;
203
+ }
204
+ .label_sub{
205
+ color: #CCCCCC;
206
+ font-size: 24rpx;
207
+ margin-left: 16rpx;
208
+ }
209
+ }
210
+ .sec_content{
211
+ display: flex;
212
+ align-items: center;
213
+ color: #666666;
108
214
 
215
+ .img_list{
216
+ display: flex;
217
+ flex-wrap: wrap;
218
+ .img_box{
219
+ width: 160rpx;
220
+ height: 160rpx;
221
+ border-radius: 8rpx;
222
+ border: 1px solid #E0E0E0;
223
+ margin-right: 28rpx;
224
+ margin-bottom: 28rpx;
225
+ }
226
+ }
227
+ }
228
+ }
229
+ .refund_warm_tip{
230
+ padding: 24rpx;
231
+ .tip_title{
232
+ font-size: 26rpx;
233
+ color: #333333;
234
+ font-weight: 500;
235
+ margin-bottom: 24rpx;
236
+ }
237
+ }
238
+ .bottom_fixed{
239
+ position: fixed;
240
+ bottom: 0;
241
+ left: 0;
242
+ width: 100%;
243
+ padding: 20rpx;
244
+ box-sizing: border-box;
245
+ }
246
+ .refund_reason_head{
247
+ padding: 32rpx 0;
248
+ text-align: center;
249
+ border-bottom: 1px solid #F2F2F2;
250
+ margin: 0 32rpx;
251
+ }
252
+ .refund_reason_body{
253
+ display: flex;
254
+ flex-direction: column;
255
+ .reason_cont{
256
+ flex: 1;
257
+ padding: 0 40rpx;
258
+ overflow: auto;
259
+ .reason_item{
260
+ display: flex;
261
+ align-items: center;
262
+ justify-content: space-between;
263
+ padding: 20rpx 20rpx;
264
+ }
265
+ }
266
+ .reason_foot{
267
+ padding: 32rpx;
268
+ border-top: 1px solid #F2F2F2;
269
+ }
270
+ }
109
271
  }
110
272
  }
111
273
  </style>
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+ /**
3
+ * @description 接口配置,
4
+ * 在设置方法名字当时候,别忘记加上【模块名字】:After
5
+ * @type {*[]}
6
+ */
7
+ module.exports = [
8
+ {
9
+ mapFnName: 'getAfterServiceOrderList',
10
+ title: '获取服务单列表',
11
+ path: '/aftersale/v1/service-order/list',
12
+ isRule: false,
13
+ params: {
14
+ },
15
+ isConsole: true,
16
+ disabled: true,
17
+ },
18
+ ];
@@ -0,0 +1,48 @@
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: 'bgColor',
14
+ value: data.bgColor || '',
15
+ placeholder: '请输入占位框背景颜色',
16
+ groupKey:'content',
17
+ },
18
+ {
19
+ label: '选中路径:',
20
+ groupKey:'advanced',
21
+ className: 'input100',
22
+ ele: 'xd-select-pages-path',
23
+ valueKey: 'select-pages-path',
24
+ value: data['select-pages-path'] || null,
25
+ setting: {
26
+ router: XdBus.getParentApi('getPagesTree')
27
+ },
28
+ },
29
+ data.bgColor && {
30
+ label: '高度:',
31
+ ele: 'el-input',
32
+ groupKey:'style',
33
+ type: 'number',
34
+ valueKey: 'height',
35
+ value: data.height || 100,
36
+ placeholder: '请输入占位框高度,单位像素,默认:10px',
37
+ className: 'input60',
38
+ },
39
+ {
40
+ label: '', //label
41
+ groupKey:'advanced',
42
+ ele: 'slot', //package 名称
43
+ slot: 'is_reference',
44
+ },
45
+ ].filter(i=>i)
46
+ },
47
+ advanced: [],
48
+ };