jufubao-base 1.0.287 → 1.0.289-beta1

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 (56) hide show
  1. package/get.package.path.js +2 -2
  2. package/package.json +1 -1
  3. package/src/components/CusCouponChose/CusCouponChose.vue +1027 -0
  4. package/src/components/CusCouponItem/CusCouponItem.vue +298 -0
  5. package/src/components/CusEnter/CusEnter.vue +360 -0
  6. package/src/components/CusPoster/CusPoster.vue +212 -0
  7. package/src/components/CusPoster/CusSwiperDot.vue +234 -0
  8. package/src/components/CusProduct/CusProduct.vue +372 -0
  9. package/src/components/CusShops/CusShops.vue +518 -0
  10. package/src/components/CusSwiperDot/CusSwiperDot.vue +234 -0
  11. package/src/components/CusTab/CusTab.vue +411 -0
  12. package/src/components/CusVideo/CusVideo.vue +170 -0
  13. package/src/components/JfbBaseCard/JfbBaseCard.vue +6 -0
  14. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +6 -0
  15. package/src/components/JfbBaseCardV2/JfbBaseCardV2.vue +6 -0
  16. package/src/components/JfbBaseCardV3/JfbBaseCardV3.vue +6 -0
  17. package/src/components/JfbBaseChangeCompany/Api.js +18 -0
  18. package/src/components/JfbBaseChangeCompany/Attr.js +18 -0
  19. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompany.vue +201 -0
  20. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompanyLess.less +79 -0
  21. package/src/components/JfbBaseChangeCompany/JfbBaseChangeCompanyMixin.js +30 -0
  22. package/src/components/JfbBaseChangeCompany/Mock.js +7 -0
  23. package/src/components/JfbBaseChangeCompany/cusAttr/advanced.js +24 -0
  24. package/src/components/JfbBaseChangeCompany/cusAttr/content.js +27 -0
  25. package/src/components/JfbBaseChangeCompany/cusAttr/style.js +127 -0
  26. package/src/components/JfbBaseChoseCompany/Api.js +33 -0
  27. package/src/components/JfbBaseChoseCompany/Attr.js +18 -0
  28. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompany.vue +350 -0
  29. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompanyLess.less +79 -0
  30. package/src/components/JfbBaseChoseCompany/JfbBaseChoseCompanyMixin.js +30 -0
  31. package/src/components/JfbBaseChoseCompany/Mock.js +9 -0
  32. package/src/components/JfbBaseChoseCompany/cusAttr/advanced.js +24 -0
  33. package/src/components/JfbBaseChoseCompany/cusAttr/content.js +69 -0
  34. package/src/components/JfbBaseChoseCompany/cusAttr/style.js +327 -0
  35. package/src/components/JfbBaseFooter/Attr.js +10 -155
  36. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +96 -43
  37. package/src/components/JfbBaseFooter/cusAttr/advanced.js +12 -0
  38. package/src/components/JfbBaseFooter/cusAttr/content.js +446 -0
  39. package/src/components/JfbBaseFooter/cusAttr/style.js +7 -0
  40. package/src/components/JfbBaseFooter/cusAttr/tools.js +17 -0
  41. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +2 -3
  42. package/src/components/JfbBaseOrderList/Mock.js +1 -1
  43. package/src/components/JfbBaseTfkSearch/Api.js +15 -0
  44. package/src/components/JfbBaseTfkSearch/CustomList.vue +10 -0
  45. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +247 -7
  46. package/src/components/JfbBaseTfkSearch/XdQueryFilter.vue +354 -0
  47. package/src/components/JfbBaseTfkSearch/XdQuerySort.vue +192 -0
  48. package/src/components/JfbBaseUserInfo/Attr.js +12 -0
  49. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +8 -2
  50. package/src/components/JfbBaseWalletDetail/JfbBaseWalletDetail.vue +3 -0
  51. package/src/components/JfbBaseWalletEffective/JfbBaseWalletEffective.vue +3 -0
  52. package/src/components/JfbBaseWalletIndex/JfbBaseWalletIndex.vue +17 -7
  53. package/src/components/JfbBaseWalletItem/JfbBaseWalletItem.vue +6 -2
  54. package/src/mixins/componentsMixins.js +363 -55
  55. package/src/mixins/posterMixins.js +27 -199
  56. package/src/mixins/productCompMixins.js +252 -0
@@ -0,0 +1,354 @@
1
+ <template>
2
+ <view class="xd-query-filter">
3
+ <view class="filter_wrap" :style="[boxListComp]">
4
+ <view
5
+ class="filter_item"
6
+ v-for="tab in filterTabs"
7
+ :key="tab.title"
8
+ :style="[contStyleComp]"
9
+ >
10
+ <view class="filter_title">
11
+ <view>{{tab.title}}</view>
12
+ <view v-if="isFitler && tab.options.length > collapseNum" class="_ext" @click="switchOpen(tab)">
13
+ <text>{{tab.open ? '收起' : '展开'}}</text>
14
+ <xd-font-icon v-if="tab.open" icon="iconshang_up" :size="20"></xd-font-icon>
15
+ <xd-font-icon v-else icon="iconxia_down" :size="20"></xd-font-icon>
16
+ </view>
17
+ </view>
18
+ <view class="filter_tab">
19
+ <template v-for="(item,i) in tab.options">
20
+ <view
21
+ class="_tag"
22
+ :style="[itemStyleComp,(isActive(tab, item.value)?labelActColor:labelColor)]"
23
+ v-if="(!tab.open && i < collapseNum) || tab.open || !isFitler"
24
+ :key="item.value"
25
+ :class="{active: isActive(tab, item.value)}"
26
+ @click="setChooseTag(tab, item)"
27
+ >{{item.label}}</view>
28
+ </template>
29
+ </view>
30
+ </view>
31
+ </view>
32
+ <view class="bottom_btn" v-if="isShowBtn">
33
+ <xd-button class="xd-button" type="info" width="248rpx" size="small" @click="onReset">重置</xd-button>
34
+ <xd-button class="xd-button" type="primary" width="248rpx" size="small" @click="onConfirm">确定</xd-button>
35
+ </view>
36
+ </view>
37
+ </template>
38
+
39
+ <script>
40
+ import XdButton from "@/components/XdButton/XdButton"
41
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
42
+ import Color from "color";
43
+
44
+ export default {
45
+ components: {
46
+ XdButton,
47
+ XdFontIcon
48
+ },
49
+ props: {
50
+ list: {
51
+ type: Array,
52
+ default: function(){
53
+ return [
54
+
55
+ ]
56
+ }
57
+ },
58
+ filterStyle:{
59
+ type: Object,
60
+ default(){
61
+ return {}
62
+ }
63
+ },
64
+ collapseNum: {
65
+ type: Number,
66
+ default: 3
67
+ },
68
+ filterType:{
69
+ type: String,
70
+ default: ""
71
+ },
72
+ filterSelected:{
73
+ type: Object,
74
+ default(){
75
+ return {}
76
+ }
77
+ },
78
+ },
79
+ computed:{
80
+ itemStyleComp(){
81
+ let column = 3,columnSpacing = 24;
82
+
83
+ let outWidth = uni.getSystemInfoSync().safeArea.width;
84
+ let columnSpacingWidth = columnSpacing * (column-1) * this.$rpxNum;
85
+ let marginRL = 96 * this.$rpxNum; //左右默认48rpx
86
+ let paddingRL = 16 * this.$rpxNum
87
+
88
+ return {
89
+ width: (outWidth - (columnSpacingWidth + marginRL + paddingRL))/column + 'px',
90
+ padding: `0 ${paddingRL}px`,
91
+ marginRight: columnSpacing + 'rpx',
92
+ marginTop: columnSpacing + 'rpx',
93
+ };
94
+ },
95
+ boxListComp(){
96
+ let maxHeight = this.$root.layoutInfo['bodyMinHeightRpx'] - 500;
97
+ if(this.$configProject.isPreview) maxHeight = 800;
98
+ return {
99
+ backgroundColor: this.filterStyle['filterListColor'] || '#f8f8f8',
100
+ maxHeight: maxHeight + 'rpx',
101
+ borderTop: this.filterStyle.filterTopBorder|| '2rpx solid #f8f8f8'
102
+ }
103
+ },
104
+ contStyleComp(){
105
+ return {
106
+ backgroundColor: '#fff',
107
+ marginBottom: (this.filterStyle['filterRowSpacing'] || 16) + 'rpx',
108
+ padding: (this.filterStyle['filterRowPadding'] || '32rpx 48rpx'),
109
+ }
110
+ },
111
+ labelColor(){
112
+ let fontStyle = this.filterStyle.filterFontStyle || {}
113
+ return {
114
+ color: fontStyle.color ||'#666',
115
+ borderColor: Color(fontStyle.color || '#666').alpha(0.2).toString(),
116
+ backgroundColor: fontStyle.backgroundColor || '#f8f8f8',
117
+ }
118
+ },
119
+ labelActColor(){
120
+ let fontStyle = this.filterStyle.filterActFontStyle || {}
121
+ let mainColor = fontStyle.color || this.$root.gThemeStyle['--g-theme-mainColor'];
122
+ return {
123
+ color: mainColor,
124
+ borderColor: Color(mainColor).alpha(0.5).toString(),
125
+ backgroundColor: fontStyle.backgroundColor || Color(mainColor).alpha(0.1).toString(),
126
+ }
127
+ },
128
+ },
129
+ data(){
130
+ return {
131
+ isFitler: true, //是筛选OR快捷方式
132
+ isShowBtn: false,
133
+ selectedItems:{},
134
+ selectedLabels:{},
135
+ selectedIds:{},
136
+ filterTabs: [],
137
+ }
138
+ },
139
+ watch: {
140
+ list(){
141
+ this.initData();
142
+ },
143
+ filterType(){
144
+ this.initData();
145
+ },
146
+ },
147
+ created() {
148
+ console.log(this.list,'aaajaj');
149
+ this.initData();
150
+ },
151
+ methods: {
152
+ initData(){
153
+ let filterTabs = [];
154
+ if(this.filterType === 'filter') {
155
+ filterTabs = this.$xdUniHelper.cloneDeep(this.list);
156
+ this.isShowBtn = true;
157
+ this.isFitler = true;
158
+ }
159
+ else {
160
+ this.isFitler = false;
161
+ filterTabs = this.$xdUniHelper.cloneDeep(this.list).filter(item=>{
162
+ if( this.filterType === item.value) {
163
+ this.isShowBtn = item.multiple === true;
164
+ }
165
+ return this.filterType === item.value;
166
+ });
167
+ }
168
+
169
+ filterTabs.map(item=>{
170
+ //未选择
171
+ let ids = !item.multiple?'':[];
172
+ let lables = !item.multiple ?'':[];
173
+ let items = !item.multiple?'':[];
174
+
175
+ //已选中
176
+ if(this.filterSelected[item.value]) {
177
+ ids = this.filterSelected[item.value];
178
+ if(!item.multiple) {
179
+ item.options.map(item=>{
180
+ if(ids === item.value) {
181
+ lables = item.label;
182
+ items = this.$xdUniHelper.cloneDeep(item);
183
+ }
184
+ })
185
+ }
186
+ else {
187
+ item.options.map(item=>{
188
+ ids.map(it=>{
189
+ if(it === item.value) {
190
+ lables.push(item.label)
191
+ items.push(this.$xdUniHelper.cloneDeep(item))
192
+ }
193
+ })
194
+
195
+ })
196
+ }
197
+ }
198
+
199
+ this.$set(this.selectedItems, item.value, items);
200
+ this.$set(this.selectedLabels, item.value, lables);
201
+ this.$set(this.selectedIds, item.value, ids);
202
+ });
203
+
204
+ this.filterTabs = filterTabs
205
+ },
206
+ isActive(tab, value){
207
+ if(!this.selectedIds[tab.value]) return false
208
+ return this.selectedIds[tab.value].includes(value);
209
+ },
210
+ setSelectData(type,ids, items, labels){
211
+ this.$set(this.selectedIds, type, ids);
212
+ this.$set(this.selectedItems, type, items);
213
+ this.$set(this.selectedLabels, type, labels);
214
+ },
215
+
216
+ setChooseTag(tab, item){
217
+ //单选
218
+ if(!tab.multiple) {
219
+ //取消
220
+ if(this.selectedIds[tab.value] && this.selectedIds[tab.value].includes(item.value)) {
221
+ this.setSelectData(tab.value, '', '', '')
222
+ }
223
+ //新增
224
+ else {
225
+ this.setSelectData(tab.value, item.value, item, item.label);
226
+ //单选直接触发返回数据
227
+ if(this.isShowBtn === false) this.onConfirm();
228
+ }
229
+ }
230
+ //多选
231
+ else {
232
+ let index = this.selectedIds[tab.value].indexOf(item.value);
233
+ //新增
234
+ if(index === -1) {
235
+ //选中
236
+ let ids = this.$xdUniHelper.cloneDeep(this.selectedIds[tab.value] || []),
237
+ items = this.$xdUniHelper.cloneDeep(this.selectedItems[tab.value] || []),
238
+ labels = this.$xdUniHelper.cloneDeep(this.selectedLabels[tab.value] || []);
239
+ ids.push(item.value);
240
+ items.push(item);
241
+ labels.push(item.label);
242
+ this.$set(this.selectedIds, tab.value,ids);
243
+ this.$set(this.selectedItems, tab.value,items);
244
+ this.$set(this.selectedLabels, tab.value,labels);
245
+ }
246
+ //取消
247
+ else {
248
+ this.selectedIds[tab.value].splice(index,1);
249
+ this.selectedLabels[tab.value].splice(index,1);
250
+ this.selectedItems[tab.value].splice(index,1);
251
+ }
252
+ }
253
+
254
+ },
255
+ switchOpen(tab){
256
+ this.filterTabs = this.filterTabs.map(item => {
257
+ if(JSON.stringify(item) === JSON.stringify(tab)) item['open'] = !item['open'];
258
+ return item;
259
+ })
260
+ },
261
+
262
+ //重置
263
+ onReset(){
264
+ Object.keys(this.selectedIds).map(key=>{
265
+ let multiple = this.$xdUniHelper.checkVarType(this.selectedIds[key]) === 'array';
266
+ let value = multiple ?'':[];
267
+ this.setSelectData(key, value, value,value)
268
+ })
269
+
270
+
271
+ },
272
+ onConfirm(){
273
+ this.$emit("onConfirm", {
274
+ items: this.$xdUniHelper.cloneDeep(this.selectedItems),
275
+ labels: this.$xdUniHelper.cloneDeep(this.selectedLabels),
276
+ ids: this.$xdUniHelper.cloneDeep(this.selectedIds)
277
+ });
278
+ }
279
+ }
280
+ }
281
+ </script>
282
+
283
+ <style lang="less" scoped>
284
+ .filter_wrap{
285
+ overflow: auto;
286
+ max-height: 50vh;
287
+
288
+ .filter_item{
289
+ &:last-child {
290
+ margin-bottom: 0!important;
291
+ }
292
+ }
293
+ .filter_title{
294
+ color: #333333;
295
+ font-size: 28rpx;
296
+ margin-bottom: 1.2rem;
297
+ font-weight: bold;
298
+ display: flex;
299
+ justify-content: space-between;
300
+
301
+ ._ext{
302
+ display: flex;
303
+ align-items: center;
304
+ font-size: 24rpx;
305
+ color: #BBBBBB;
306
+ font-weight: normal;
307
+
308
+ & > text {
309
+ padding-right: unit(10, rpx);
310
+ }
311
+ }
312
+ }
313
+
314
+ .filter_tab{
315
+ display: flex;
316
+ flex-wrap: wrap;
317
+ justify-content: flex-start;
318
+ align-items: center;
319
+ max-height: 50vh;
320
+
321
+ & > ._tag{
322
+ text-align: center;
323
+ line-height: 66rpx;
324
+ border-radius: 4rpx;
325
+ font-size: 24rpx;
326
+ color: #666;
327
+ text-overflow: ellipsis;
328
+ overflow: hidden;
329
+ white-space: nowrap;
330
+ box-sizing: border-box;
331
+ background-color: #f8f8f8;
332
+
333
+ &:nth-child(3n){
334
+ margin-right: 0!important;
335
+ }
336
+ &:nth-child(1),&:nth-child(2),&:nth-child(3) {
337
+ margin-top: 0!important;
338
+ }
339
+ }
340
+ }
341
+
342
+ }
343
+
344
+ .bottom_btn{
345
+ display: flex;
346
+ justify-content: center;
347
+ padding: 16rpx 32rpx;
348
+ border-top: 2rpx solid #f8f8f8;
349
+
350
+ .xd-button{
351
+ margin: 0 32rpx;
352
+ }
353
+ }
354
+ </style>
@@ -0,0 +1,192 @@
1
+ <template>
2
+ <view class="xd-query-sort" :style="[boxStyleComp]">
3
+ <view
4
+ v-for="item in sortList"
5
+ :key="item.key"
6
+ class="cell_wrap"
7
+ :style="[{borderBottom:lineBorder}]"
8
+ >
9
+ <view class="cell_label">{{item.label}}</view>
10
+ <view class="sub_value" v-if="item.children && item.children.length">
11
+ <view
12
+ class="sub_tag"
13
+ :class="{active: (item.checked && sub.value === item.value)}"
14
+ v-for="sub in item.children" :key="sub.value"
15
+ @click="handleSubClick(item, sub.value)"
16
+ :style="[(item.checked && sub.value === item.value)?labelActColor:labelColor]"
17
+ >{{sub.label}}</view>
18
+ </view>
19
+ <view v-else :key="renderRadio">
20
+ <xd-radio
21
+ @change="e => handleChange(e, item)"
22
+ size="mini"
23
+ :value="item.checked"
24
+ :color="labelActColor.color"
25
+ ></xd-radio>
26
+ </view>
27
+ </view>
28
+ </view>
29
+ </template>
30
+
31
+ <script>
32
+ import XdRadio from "@/components/XdRadio/XdRadio"
33
+ import Color from "color"
34
+
35
+ export default {
36
+ components: {
37
+ XdRadio
38
+ },
39
+ props: {
40
+ list: {
41
+ type: Array,
42
+ default: () => {
43
+ return [
44
+ {
45
+ label: "综合",
46
+ key: "default",
47
+ value: "default"
48
+ },
49
+ {
50
+ label: "销量",
51
+ key: "sale_num",
52
+ children: [
53
+ {label: "由高到低", value: 'sale_num_desc'},
54
+ {label: "由低到高", value: 'sale_num_asc'}
55
+ ]
56
+ },
57
+ {
58
+ label: "价格",
59
+ key: "price",
60
+ children: [
61
+ {label: "由高到低", value: 'price_desc'},
62
+ {label: "由低到高", value: 'price_asc'}
63
+ ]
64
+ }
65
+ ]
66
+ }
67
+ },
68
+ sort: {
69
+ type: String,
70
+ default: "default"
71
+ },
72
+ filterStyle:{
73
+ type: Object,
74
+ default(){
75
+ return {}
76
+ }
77
+ }
78
+ },
79
+ watch: {
80
+ sortList(n){
81
+ this.renderRadio = Date.now();
82
+ let cur = this.sortList.find(item => item.checked);
83
+ if(cur) this.$emit("onConfirm", cur)
84
+ }
85
+ },
86
+ computed:{
87
+ lineBorder(){
88
+ if(['rgba(255, 255, 255, 1)','#fff','#ffffff','#FFF', '#FFFFFF'].includes(this.filterStyle.filterListColor)) {
89
+ return '1px solid #F5F5F5';
90
+ }
91
+ return `1px solid ${Color(this.filterStyle.filterListColor).lighten(.2).hex().toString()}`
92
+ },
93
+ labelColor(){
94
+ return {
95
+ color: this.filterStyle.filterFontStyle.color,
96
+ borderColor: Color(this.filterStyle.filterFontStyle.color).alpha(0.2).toString(),
97
+ backgroundColor: this.filterStyle.filterFontStyle.backgroundColor,
98
+ }
99
+ },
100
+ labelActColor(){
101
+ return {
102
+ color: this.filterStyle.filterActFontStyle.color,
103
+ borderColor: this.filterStyle.filterActFontStyle.color,
104
+ backgroundColor: this.filterStyle.filterActFontStyle.backgroundColor,
105
+ }
106
+ },
107
+ boxStyleComp(){
108
+ return {
109
+ backgroundColor: this.filterStyle.filterListColor,
110
+ }
111
+ },
112
+ },
113
+ data(){
114
+ return {
115
+ sortList: [],
116
+ renderRadio: "renderRadio"
117
+ }
118
+ },
119
+ created(){
120
+ this.sortList = this.list.map(item => {
121
+ if(this.sort.startsWith(item.key)) {
122
+ item.checked = true;
123
+ item.value = this.sort;
124
+ }else{
125
+ item.value = "";
126
+ item.checked = false;
127
+ }
128
+ return item;
129
+ });
130
+
131
+ },
132
+ methods: {
133
+ handleSubClick(item, value){
134
+ this.sortList = this.sortList.map(tt => {
135
+ tt['checked'] = false;
136
+ if(tt.key == item.key){
137
+ tt.value = value;
138
+ tt['checked'] = true;
139
+ }
140
+ return tt;
141
+ })
142
+ },
143
+ handleChange(flat, item){
144
+ if(flat) {
145
+ this.sortList = this.sortList.map(tt => {
146
+ tt['checked'] = false;
147
+ if(tt.key == item.key){
148
+ tt['checked'] = true;
149
+ tt['value'] = tt.key;
150
+ }
151
+ return tt;
152
+ })
153
+ }
154
+ }
155
+ }
156
+ }
157
+ </script>
158
+
159
+ <style lang="less" scoped>
160
+ .xd-query-sort{
161
+ box-shadow: 20rpx 20rpx 20rpx 0 rgba(0,0,0, .29);
162
+ }
163
+ .cell_wrap{
164
+ display: flex;
165
+ align-items: center;
166
+ justify-content: space-between;
167
+ border-bottom: 1px solid #F5F5F5;
168
+ padding: 20rpx 48rpx 20rpx 88rpx;
169
+ .cell_label{
170
+ font-size: 28rpx;
171
+ color: #333333;
172
+ }
173
+ .sub_value{
174
+ display: flex;
175
+ .sub_tag{
176
+ font-size: 24rpx;
177
+ color: #AAAAAA;
178
+ border: 1px solid #F2F2F2;
179
+ line-height: 60rpx;
180
+ width: 160rpx;
181
+ text-align: center;
182
+ border-radius: 80rpx;
183
+ margin-left: 24rpx;
184
+
185
+ &.active{
186
+ color: #A5D63F;
187
+ border-color: #A5D63F;
188
+ }
189
+ }
190
+ }
191
+ }
192
+ </style>
@@ -696,6 +696,18 @@ export default {
696
696
  },
697
697
  inline: false,
698
698
  },
699
+ data['is_plus_site'] === 'Y' && {
700
+ label: '已省金额路径:',
701
+ ele: 'xd-select-pages-path',
702
+ valueKey: 'savePath',
703
+ groupKey: 'advanced',
704
+ placeholder: '请选择已省金额路径',
705
+ value: data['savePath'] || null,
706
+ setting: {
707
+ router: XdBus.getParentApi('getPagesTree'),
708
+ },
709
+ inline: false,
710
+ },
699
711
  {
700
712
  label: '',
701
713
  ele: 'slot',
@@ -25,7 +25,7 @@
25
25
  <view v-else>普通用户</view>
26
26
  </view>
27
27
  <view>
28
- <view v-if="is_vip==='Y'">
28
+ <view @click="handleToSave" v-if="is_vip==='Y'">
29
29
  <text style="color:#D19E6B;">已省</text><text style="color: #FEE9CC;">¥{{ $xdUniHelper.divisionFloatNumber(save_amount, 100) }}</text>
30
30
  </view>
31
31
  <!-- <view v-else>
@@ -316,6 +316,7 @@
316
316
  plusPageBgImg: "",
317
317
  normalBgImg: "",
318
318
  normalPageBgImg: "",
319
+ savePath: ''
319
320
  }
320
321
  },
321
322
  watch: {
@@ -462,7 +463,7 @@
462
463
  this.profilePath = getContainerPropsValue(container, 'content.profilePath', { value: "" }).value;
463
464
  this.plusNickStyle = getContainerPropsValue(container, 'content.plusNickStyle', {});
464
465
  this.normalNickStyle = getContainerPropsValue(container, 'content.normalNickStyle', {});
465
-
466
+ this.savePath = getContainerPropsValue(container, 'content.savePath', { value: "" }).value;
466
467
  if(this.is_plus_site === 'Y'){
467
468
  let bg = this.is_vip === 'Y' ? this.plusPageBgImg : this.normalPageBgImg;
468
469
  if(this.$configProject['isPreview']){
@@ -504,6 +505,11 @@
504
505
  url: this.codePath
505
506
  })
506
507
  },
508
+ handleToSave() {
509
+ this.$xdUniHelper.navigateTo({
510
+ url: this.savePath
511
+ })
512
+ },
507
513
  onJfbShow(options) {
508
514
  this.onJfbLoad(options);
509
515
  },
@@ -64,6 +64,7 @@ export default {
64
64
  list: [],
65
65
  amount: "",
66
66
  status: false,
67
+ wallet_nnid: null
67
68
  };
68
69
  },
69
70
  watch: {
@@ -77,10 +78,12 @@ export default {
77
78
  },
78
79
  methods: {
79
80
  onJfbLoad(options) {
81
+ this.wallet_nnid = options.wallet_nnid;
80
82
  jfbRootExec("getRecordDetail", {
81
83
  vm: this,
82
84
  data: {
83
85
  trade_id: options.trade_id,
86
+ wallet_nnid: this.wallet_nnid
84
87
  },
85
88
  })
86
89
  .then((res) => {
@@ -66,6 +66,7 @@ export default {
66
66
  type: "",
67
67
  wallet_type: "",
68
68
  status: false,
69
+ wallet_nnid: null
69
70
  };
70
71
  },
71
72
  watch: {
@@ -81,6 +82,7 @@ export default {
81
82
  async onJfbLoad(options) {
82
83
  this.wallet_type = options.wallet_type;
83
84
  this.type = options.type;
85
+ this.wallet_nnid = options.wallet_nnid;
84
86
  await this.getList();
85
87
  this.status = true;
86
88
  },
@@ -98,6 +100,7 @@ export default {
98
100
  vm: this,
99
101
  data: {
100
102
  wallet_type: this.wallet_type,
103
+ wallet_nnid: this.wallet_nnid,
101
104
  page_size: this.page_size,
102
105
  page_token: this.page_token,
103
106
  },