jufubao-base 1.0.197-beta4 → 1.0.197-beta7

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 (37) hide show
  1. package/commands.js +1 -1
  2. package/package.json +1 -1
  3. package/src/ICONS.js +1128 -0
  4. package/src/components/JfbBaseAddress/Attr.js +109 -1
  5. package/src/components/JfbBaseAddress/JfbBaseAddress.vue +164 -80
  6. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  7. package/src/components/JfbBaseCardEntry/JfbBaseCardEntry.vue +2 -0
  8. package/src/components/JfbBaseCardEntry/Mock.js +1 -0
  9. package/src/components/JfbBaseCardEntry/XdCardNew.vue +21 -4
  10. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +41 -13
  11. package/src/components/JfbBaseFastLink/Attr.js +24 -8
  12. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +37 -21
  13. package/src/components/JfbBaseFooter/Attr.js +141 -75
  14. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
  15. package/src/components/JfbBaseHeader/Attr.js +20 -51
  16. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +23 -28
  17. package/src/components/JfbBaseHeaderElephant/Attr.js +8 -0
  18. package/src/components/JfbBaseHeaderElephant/JfbBaseHeaderElephant.vue +33 -5
  19. package/src/components/JfbBaseNotice/Attr.js +26 -0
  20. package/src/components/JfbBaseNotice/JfbBaseNotice.vue +13 -1
  21. package/src/components/JfbBaseOrderDetail/Attr.js +147 -65
  22. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +97 -47
  23. package/src/components/JfbBaseOrderList/Attr.js +59 -2
  24. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
  25. package/src/components/JfbBaseOrderList/Mock.js +3 -0
  26. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  27. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +27 -29
  28. package/src/components/JfbBasePosterBigSmall/getWidthHeight.js +13 -9
  29. package/src/components/JfbBaseUserCenter/Attr.js +297 -52
  30. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +135 -44
  31. package/src/components/JfbBaseUserInfo/Attr.js +227 -88
  32. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +106 -86
  33. package/src/components/JfbBaseUserOrder/Attr.js +332 -30
  34. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +183 -55
  35. package/src/components/JfbBaseWallet/Attr.js +376 -8
  36. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +185 -49
  37. package/src/mixins/componentsMixins.js +210 -35
@@ -16,16 +16,19 @@
16
16
  <view class="jfb-base-footer__edit-icon" @click="delEdit">删除</view>
17
17
  </view>
18
18
  <!-- #endif -->
19
- <view class="jfb-base-footer__body" :style="{height:height + 'rpx'}">
20
- <xd-footer-bar
21
- v-if="list !== null"
22
- :height="height"
23
- :tabbar="list"
24
- :view="view"
25
- :styles="styles"
26
- :key="footerBarKey"
27
- :base-url="baseUrl"
28
- ></xd-footer-bar>
19
+ <view class="jfb-base-footer__body">
20
+ <view :style="[bodyStyle]">
21
+ <xd-footer-bar
22
+ style="height:100%"
23
+ v-if="list !== null"
24
+ :height="height"
25
+ :tabbar="list"
26
+ :view="view"
27
+ :styles="styles"
28
+ :key="footerBarKey"
29
+ :base-url="baseUrl"
30
+ ></xd-footer-bar>
31
+ </view>
29
32
  </view>
30
33
  </view>
31
34
  </template>
@@ -42,6 +45,7 @@
42
45
  getContainerPropsValue,
43
46
  getComponentAttr
44
47
  } from "@/utils/xd.base";
48
+ import getServiceUrl from "@/common/getServiceUrl";
45
49
 
46
50
  export default {
47
51
  name: "JfbBaseFooter",
@@ -50,6 +54,21 @@
50
54
  XdFooterBar
51
55
  },
52
56
  mixins: [componentsMixins,extsMixins,JfbBaseFooterMixin],
57
+ computed:{
58
+ bodyStyle(){
59
+ let background = 'url(none)';
60
+ if(this.backgroundImage && this.backgroundImage.url) {
61
+ background = `url(${getServiceUrl(this.backgroundImage.url)})`;
62
+ }
63
+ return {
64
+ height: this.height + 'rpx',
65
+ backgroundImage: background,
66
+ backgroundSize: '100% 100%',
67
+ backgroundRepeat: 'no-repeat',
68
+ backgroundPosition: 'top center',
69
+ }
70
+ }
71
+ },
53
72
  data() {
54
73
  return {
55
74
  height: 0,
@@ -58,6 +77,7 @@
58
77
  numObj: {},
59
78
  footerBarKey: 'footerBarKey', //刷新
60
79
  baseUrl: '',
80
+ backgroundImage: '',
61
81
  }
62
82
  },
63
83
  watch: {
@@ -73,21 +93,23 @@
73
93
  created() {
74
94
  this.view = this.$configProject.isPreview;
75
95
 
76
- //生产模式 + 非预览模式
77
- if (this.$configProject.UNI_PLATFORM === 'h5'
78
- && this.$configProject.NODE_ENV === 'production'
79
- ){
96
+ //非预览模式
97
+ //#ifdef H5
98
+ if (!this.$configProject.isPreview){
80
99
  this.baseUrl = this.projectAttr['deploy_dir']
81
100
  }
101
+ //#endif
82
102
 
83
103
  //设置高度
84
104
  if(this.$configProject.isPreview) {
85
- this.height = getComponentAttr(this.componentAttr, 'height') - 4;
105
+ this.height = getComponentAttr(this.componentAttr, 'height');
86
106
  }
87
107
  else {
88
108
  this.height = getComponentAttr(this.componentAttr, 'height');
89
109
  }
90
110
 
111
+ this.height = Number(this.height);
112
+
91
113
  this.init(this.container);
92
114
  //监听重试消息数量
93
115
  this.$xdRoot.$on('restFooterNumber', this.handle)
@@ -159,6 +181,13 @@
159
181
  this.footerBarKey = this.$xdUniHelper.randomChar(20);
160
182
  },
161
183
 
184
+ getImage(list=[],index,key){
185
+ if(!list[index]) return '';
186
+ if(list[index] && !list[index][key]) return '';
187
+ let item = list[index][key];
188
+ return getServiceUrl(item.url, 'size1');
189
+ },
190
+
162
191
  /**
163
192
  * @description 监听事件变化
164
193
  * @param value {object} 业务组件对象自己
@@ -166,8 +195,11 @@
166
195
  init(value) {
167
196
  //设置底部菜单
168
197
  let bar = getContainerPropsValue(value, 'content.footer-setting', []);
198
+ let imageIcons = getContainerPropsValue(value, 'content.footerSettingImage', []);
199
+ this.backgroundImage = getContainerPropsValue(value, 'content.backgroundImage', '');
169
200
  this.list = {
170
201
  bgColor: getContainerPropsValue(value, 'content.bgColor', '#fff'),
202
+ bodyStyle: this.bodyStyle,
171
203
  selectedColor: getContainerPropsValue(value, 'content.selectedColor', this.mainColor),
172
204
  color: getContainerPropsValue(value, 'content.color', '#333'),
173
205
  list: bar.map((item,index)=>{
@@ -177,6 +209,8 @@
177
209
  path: item.path.value,
178
210
  size: item.size,
179
211
  num: this.numObj[index] ? this.numObj[index]: 0 ,
212
+ image: this.getImage(imageIcons,index,'image') || this.getImage(imageIcons,index,'actImage'),
213
+ actImage: this.getImage(imageIcons,index,'actImage') || this.getImage(imageIcons,index,'image'),
180
214
  }
181
215
  }),
182
216
  };
@@ -190,6 +224,7 @@
190
224
  @import "./JfbBaseFooterLess.less";
191
225
 
192
226
  .jfb-base-footer {
227
+
193
228
  &__body{
194
229
  box-sizing: border-box;
195
230
  }
@@ -200,6 +200,14 @@ export default {
200
200
  classNmae: 'input80',
201
201
  groupKey:'style',
202
202
  },
203
+ {
204
+ label: "底部边框设置:",
205
+ ele: "xd-border",
206
+ valueKey: "bottomBorder",
207
+ value: data['bottomBorder'] || {},
208
+ className: 'input80',
209
+ groupKey: 'style',
210
+ },
203
211
  {
204
212
  ele: 'title',
205
213
  label: '定位功能样式设置',
@@ -266,7 +274,7 @@ export default {
266
274
  value: data['inputBackgroundColor'] || '',
267
275
  groupKey:'style',
268
276
  placeholder: '请选择背景颜色',
269
- classNmae: 'input80',
277
+ className: 'input80',
270
278
  },
271
279
  {
272
280
  label: '输入框文字颜色:',
@@ -275,64 +283,22 @@ export default {
275
283
  groupKey:'style',
276
284
  value: data['inputTextColor'] || '',
277
285
  placeholder: '请选择输入框文字颜色',
278
- classNmae: 'input80',
279
- },
280
- {
281
- ele: 'title',
282
- label: '投影设置',
283
- size: 'small',
284
- groupKey:'style',
285
- },
286
- {
287
- label: '是否有投影:',
288
- ele: 'xd-radio',
289
- valueKey: 'is_shadow',
290
- value: data['is_shadow'] || 'N',
291
- placeholder: '请选择是否投影',
292
- groupKey:'style',
293
- multiple: false,
294
286
  className: 'input80',
295
- list: [
296
- {label: '是', value: 'Y'},
297
- {label: '否', value: 'N'},
298
- ]
299
- },
300
- data['is_shadow'] === 'Y' && {
301
- label: '投影颜色:',
302
- ele: 'xd-color',
303
- valueKey: 'is_shadow_bg',
304
- value: data['is_shadow_bg'] || '',
305
- groupKey:'style',
306
- placeholder: '请选择投影颜色',
307
- classNmae: 'input80',
308
287
  },
309
- data['is_shadow'] === 'Y' && {
310
- label: '投影范围:',
311
- ele: 'xd-site-select-list',
312
- groupKey:'style',
313
- valueKey: 'is_shadow_w',
314
- value: data['is_shadow_w'] || '10',
315
- placeholder: '请选择投影范围',
316
- multiple: false,
288
+ {
289
+ label: "输入框边框设置:",
290
+ ele: "xd-border",
291
+ valueKey: "inputBorder",
292
+ value: data['inputBorder'] || {},
317
293
  className: 'input80',
318
- handleCustom({action, data}) {
319
- XdBus.getParentApi('getOptionsSettingList')({
320
- setting_id: 'edtix_style_radius',
321
- key: Date.now()
322
- })
323
- .then(res => {
324
- data.cb(res.list)
325
- })
326
- .catch(error => {
327
- console.error(error);
328
- });
329
- },
294
+ groupKey: 'style',
330
295
  },
331
296
  {
332
297
  ele: 'title',
333
298
  label: '边框设置',
334
299
  size: 'small',
335
300
  groupKey:'style',
301
+ hidden: true,
336
302
  },
337
303
  {
338
304
  label: '是否有边框:',
@@ -346,7 +312,8 @@ export default {
346
312
  list: [
347
313
  {label: '是', value: 'Y'},
348
314
  {label: '否', value: 'N'},
349
- ]
315
+ ],
316
+ hidden: true,
350
317
  },
351
318
  data['is_border'] === 'Y' && {
352
319
  label: '边框颜色:',
@@ -356,6 +323,7 @@ export default {
356
323
  value: data['is_border_c'] || '',
357
324
  placeholder: '请选择边框颜色',
358
325
  classNmae: 'input80',
326
+ hidden: true,
359
327
  },
360
328
  data['is_border'] === 'Y' && {
361
329
  label: '边框大小:',
@@ -366,6 +334,7 @@ export default {
366
334
  value: data['is_border_w'] || '',
367
335
  placeholder: '请输入边框颜色',
368
336
  className: 'input80',
337
+ hidden: true,
369
338
  },
370
339
  {
371
340
  label: '搜索页面链接:',
@@ -18,8 +18,7 @@
18
18
  class="header_wrap"
19
19
  :style="{
20
20
  background: backgroundColor,
21
- boxShadow,
22
- borderBottom:boxBorder
21
+ borderBottom: bottomBorder
23
22
  }"
24
23
  >
25
24
  <view class="header_wrap-back" @click="onJfbBack" v-if="showBack==='Y'">
@@ -47,10 +46,11 @@
47
46
  :style="{
48
47
  background:inputBackgroundColor,
49
48
  color:inputTextColor,
50
- borderRadius: searchBoxRadius + 'rpx'
49
+ borderRadius: searchBoxRadius + 'rpx',
50
+ border: inputBorder
51
51
  }"
52
52
  >
53
- <view v-if="loaded && showLocation==='Y' && searchBoxPosition==='in'" class="header-city-in">
53
+ <view v-if="loaded && showLocation==='Y' && searchBoxPosition==='in'" class="header-city-in" @click.stop>
54
54
  <xd-city-show-api
55
55
  @done="handleCityDone"
56
56
  @onChange="handleCityChange"
@@ -74,12 +74,12 @@
74
74
  <xd-font-icon v-if="searchIconPosition==='right'" :icon="icon" :color="iconColor" size="32"/>
75
75
  <view v-if="showSearchBtn==='Y' && searchBtnPosition==='in'"
76
76
  :style="[searchBtnStyle]"
77
- style="padding: 4rpx 32rpx;"
78
- @click="doSearch"
77
+ style="padding: 4rpx 32rpx;font-size: 28rpx;"
78
+ @click.stop="doSearch"
79
79
  >{{searchBtnText || '搜索'}}</view>
80
80
  </view>
81
81
  <view v-if="showSearchBtn==='Y' && searchBtnPosition==='out'"
82
- style="margin-left: 4px;padding: 8rpx 32rpx;"
82
+ style="margin-left: 4px;padding: 8rpx 32rpx;font-size: 28rpx;"
83
83
  :style="[searchBtnStyle]"
84
84
  @click="doSearch"
85
85
  >{{searchBtnText || '搜索'}}</view>
@@ -108,15 +108,6 @@
108
108
  mixins: [componentsMixins,extsMixins,JfbBaseHeaderMixin],
109
109
  computed:{
110
110
  ...mapState(['siteInfo']),
111
-
112
- boxShadow() {
113
- if (this.is_shadow === 'Y') return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
114
- else return '0 0 0 rgba(0,0,0,0)';
115
- },
116
- boxBorder() {
117
- if (this.is_border === 'Y') return `${this.is_border_w}rpx solid ${this.is_border_c}`;
118
- else return '0';
119
- },
120
111
  searchBtnStyle(){
121
112
  return {
122
113
  background: this.searchBtnBgColor,
@@ -131,6 +122,7 @@
131
122
  saveKey: 'xd_user_current_access_city', //用户选中城市存储key
132
123
  loaded: false,
133
124
  keyword: "",
125
+ isPreview: false,
134
126
 
135
127
  //面板
136
128
  showLocation: "",
@@ -157,12 +149,6 @@
157
149
  icon: '',
158
150
  iconColor: '',
159
151
 
160
- //投影
161
- is_shadow: 'Y',
162
- is_shadow_bg: 0,
163
- is_shadow_w: 0,
164
-
165
-
166
152
  //边框
167
153
  is_border: 'Y',
168
154
  is_border_w: 0,
@@ -182,6 +168,8 @@
182
168
  searchBtnTextColor: "",
183
169
  searchBtnRadius: 0,
184
170
  searchBoxRadius: 30,
171
+ bottomBorder: "",
172
+ inputBorder: "",
185
173
  }
186
174
  },
187
175
  watch: {
@@ -192,6 +180,7 @@
192
180
  },
193
181
  created() {
194
182
  this.init(this.container);
183
+ this.isPreview = this.$configProject['isPreview'];
195
184
  },
196
185
  methods: {
197
186
  ...mapMutations(['setShowSwitchCity', 'setCityInfo']),
@@ -223,10 +212,6 @@
223
212
  this.locationIcon = getContainerPropsValue(container, "content.locationIcon", "icondizhitubiao")
224
213
  this.locationBackgroundColor = getContainerPropsValue(container, "content.locationBackgroundColor", "")
225
214
 
226
- this.is_shadow = getContainerPropsValue(container, 'content.is_shadow', 'N');
227
- this.is_shadow_bg = getContainerPropsValue(container, 'content.is_shadow_bg', '#fff');
228
- this.is_shadow_w = getContainerPropsValue(container, 'content.is_shadow_w', '10');
229
-
230
215
  this.is_border = getContainerPropsValue(container, 'content.is_border', 'N');
231
216
  this.is_border_c = getContainerPropsValue(container, 'content.is_border_c', '#fff');
232
217
  this.is_border_w = getContainerPropsValue(container, 'content.is_border_w', '2');
@@ -240,6 +225,13 @@
240
225
  this.searchBtnTextColor = getContainerPropsValue(container, 'content.searchBtnTextColor', "");
241
226
  this.searchBtnRadius = getContainerPropsValue(container, 'content.searchBtnRadius', 0);
242
227
  this.searchBoxRadius = getContainerPropsValue(container, 'content.searchBoxRadius', 30);
228
+ let bottomBorder = getContainerPropsValue(container, 'content.bottomBorder', "Y");
229
+ this.bottomBorder = this.getBorderCompatibleOldStyle(bottomBorder, {
230
+ type: this.is_border,
231
+ width: this.is_border_w,
232
+ color: this.is_border_c
233
+ })
234
+ this.inputBorder = this.getXdBorder({}, getContainerPropsValue(container, 'content.inputBorder', {}))
243
235
 
244
236
  let name , logo, platform_logo;
245
237
  if (this.projectAttr['site_name']) name = this.projectAttr['site_name'];
@@ -249,8 +241,9 @@
249
241
  this.logo = platform_logo || logo || '//dummyimage.com/100x100';
250
242
  this.partnerName = name || '聚福宝福利';
251
243
 
252
-
253
-
244
+ if(this.isPreview){
245
+ document.querySelector('.xd-Layout__top').style.zIndex = 149099;
246
+ }
254
247
  },
255
248
  handleInput(e){
256
249
  this.keyword = e.detail.value;
@@ -403,9 +396,11 @@
403
396
  padding-left: 20rpx;
404
397
  }
405
398
  .search_placeholder{
399
+ flex: 1;
406
400
  width: 100%;
407
401
  text-align: left;
408
402
  font-size: unit(28, rpx);
403
+ padding-left: 20rpx;
409
404
  }
410
405
  }
411
406
  }
@@ -397,6 +397,14 @@ export default {
397
397
  groupKey:'content',
398
398
  hidden: data.showCategory !== "Y" || data.navExpand !== "Y"
399
399
  },
400
+ {
401
+ label: '单个导航字体颜色:',
402
+ ele: "xd-color",
403
+ valueKey: "navFontColor",
404
+ value: data.navFontColor,
405
+ groupKey:'content',
406
+ hidden: data.showCategory !== "Y" || data.navExpand !== "Y"
407
+ },
400
408
  {
401
409
  label: "导航横向间距:",
402
410
  ele: "el-input",
@@ -27,13 +27,13 @@
27
27
  >{{ site_name }}</view>
28
28
  </view>
29
29
  <view v-if="showCategory === 'Y'" class="box_r" @click="isExtendCate=!isExtendCate">
30
- <xd-font-icon :icon=" categoryIcon || 'iconfenlei1'"></xd-font-icon>
30
+ <xd-font-icon :icon=" categoryIcon || 'iconfenlei1'" :color="siteNameFont.color"></xd-font-icon>
31
31
  </view>
32
32
  </view>
33
33
  <view v-if="isExtendCate && showCategory==='Y'" class="cate_pop" :style="[catePopBoxStyle]">
34
34
  <view class="cate_list" :style="[cateListBoxStyle]">
35
35
  <view class="cate_item"
36
- v-for="item in cateList" :key="item"
36
+ v-for="(item, i) in cateList" :key="i"
37
37
  :style="[cateItemBoxStyle]"
38
38
  @click="handleClick(item)"
39
39
  >
@@ -46,6 +46,10 @@
46
46
  </view>
47
47
 
48
48
  </view>
49
+ <view v-if="isExtendCate && showCategory==='Y'" class="_modal"
50
+ @click="isExtendCate=false"
51
+ @touchmove.stop.prevent="moveHandle"
52
+ ></view>
49
53
  </view>
50
54
  </view>
51
55
  </template>
@@ -70,6 +74,7 @@
70
74
  return {
71
75
  useNumber: 24,
72
76
  cateList: [],
77
+ previewCateList: [],
73
78
  site_logo: "",
74
79
  site_name: "",
75
80
  isPreview: false,
@@ -89,6 +94,7 @@
89
94
  iconWidth: "",
90
95
  iconHeight: "",
91
96
  navBgColor: "",
97
+ navFontColor: "",
92
98
  navColumnGap: "",
93
99
  navRowGap: "",
94
100
  navExpand: "",
@@ -117,7 +123,8 @@
117
123
  },
118
124
  cateItemBoxStyle(){
119
125
  return {
120
- backgroundColor: this.navBgColor
126
+ backgroundColor: this.navBgColor,
127
+ color: this.navFontColor
121
128
  }
122
129
  },
123
130
  cateIconStyle(){
@@ -165,7 +172,7 @@
165
172
  page_size: this.useNumber //可以不传
166
173
  },
167
174
  }).then(res => {
168
-
175
+ this.previewCateList = res.list;
169
176
  if(res.list.length === 0 && this.isPreview) {
170
177
  res.list = this.getTestData();
171
178
  }
@@ -190,6 +197,7 @@
190
197
  this.iconWidth = getContainerPropsValue(container, 'content.iconWidth', 100);
191
198
  this.iconHeight = getContainerPropsValue(container, 'content.iconHeight', 100);
192
199
  this.navBgColor = getContainerPropsValue(container, 'content.navBgColor', '');
200
+ this.navFontColor = getContainerPropsValue(container, 'content.navFontColor', '');
193
201
  this.navColumnGap = getContainerPropsValue(container, 'content.navColumnGap', 10);
194
202
  this.navRowGap = getContainerPropsValue(container, 'content.navRowGap', 10);
195
203
  this.navExpand = getContainerPropsValue(container, 'content.navExpand', '');
@@ -205,10 +213,19 @@
205
213
 
206
214
  this.useNumber = this.navRow * this.navColumn;
207
215
  if(this.isPreview){
208
- if(!this.cateList.length) this.handleOne(this.getTestData());
216
+ let testData = this.getTestData();
217
+ testData.unshift(...this.previewCateList);
218
+ //从数组testData中取useNumber个数据
219
+ this.handleOne(testData.slice(0, this.useNumber));
209
220
  this.isExtendCate = this.navExpand === 'Y' ? true : false;
221
+ if(this.isExtendCate){
222
+ document.querySelector('.xd-Layout__top').style.zIndex = 149099;
223
+ }else{
224
+ document.querySelector('.xd-Layout__top').style.zIndex = 1490;
225
+ }
210
226
  }
211
227
  },
228
+ moveHandle(){},
212
229
  handleClick(item) {
213
230
  if(!item.redirect_data) {
214
231
  console.warn(`未配置链接地址: ${item.redirect_data}`);
@@ -378,8 +395,19 @@
378
395
 
379
396
  .jfb-base-header-elephant {
380
397
  &__body{
398
+ overflow: initial !important;
399
+ ._modal{
400
+ position: fixed;
401
+ top: 0;
402
+ left: 0;
403
+ width: 100vh;
404
+ height: 100vh;
405
+ background: rgba(0, 0, 0, .5);
406
+ z-index: 999;
407
+ }
381
408
  .box_wrap{
382
409
  position: relative;
410
+ z-index: 1000;
383
411
  .cate_pop{
384
412
  top: 100%;
385
413
  left: 0;
@@ -275,6 +275,32 @@ export default {
275
275
  { label: '否', value: 'N' },
276
276
  ]
277
277
  },
278
+ {
279
+ label: "按钮长度:",
280
+ ele: "el-input",
281
+ valueKey: "btnConfirmWidth",
282
+ value: data['btnConfirmWidth'] || '',
283
+ placeholder: '请输入按钮长度',
284
+ className: 'input60',
285
+ groupKey: "content",
286
+ },
287
+ {
288
+ label: "按钮背景颜色:",
289
+ ele: "xd-color",
290
+ valueKey: "btnConfirmBgColor",
291
+ groupKey:'content',
292
+ value: data['btnConfirmBgColor'] || '',
293
+ placeholder: '请选择按钮背景颜色',
294
+ groupKey: "content",
295
+ },
296
+ {
297
+ label: "按钮文字颜色:",
298
+ ele: "xd-color",
299
+ valueKey: "btnConfirmTextColor",
300
+ groupKey:'content',
301
+ value: data['btnConfirmTextColor'] || '',
302
+ placeholder: '请选择按钮文字颜色',
303
+ },
278
304
  {
279
305
  ele: 'title',
280
306
  label: '静态显示',
@@ -220,7 +220,11 @@
220
220
  backgroundColor: '',
221
221
  is_hide_dailog:'N',
222
222
 
223
- isMp:false
223
+ isMp:false,
224
+
225
+ btnConfirmWidth: "",
226
+ btnConfirmBgColor: "",
227
+ btnConfirmTextColor: "",
224
228
  }
225
229
  },
226
230
  watch: {
@@ -330,11 +334,16 @@
330
334
  this.scrollMargin = getContainerPropsValue(container, 'content.scrollMargin', {});
331
335
  this.radius = getContainerPropsValue(container, 'content.radius', 0);
332
336
  this.fontSize = Number(getContainerPropsValue(container, 'content.fontSize', '20'));
337
+ this.btnConfirmWidth = getContainerPropsValue(container, 'content.btnConfirmWidth', '');
338
+ this.btnConfirmBgColor = getContainerPropsValue(container, 'content.btnConfirmBgColor', '');
339
+ this.btnConfirmTextColor = getContainerPropsValue(container, 'content.btnConfirmTextColor', '');
333
340
  if (this.fontSize === 20) this.titleFontSize = 28;
334
341
  if (this.fontSize === 26) this.titleFontSize = 36;
335
342
  if (this.fontSize === 36) this.titleFontSize = 44;
336
343
  this.isTitle = getContainerPropsValue(container, 'content.isTitle', false);
337
344
 
345
+ console.log("this.btnConfirmTextColor", this.btnConfirmTextColor);
346
+
338
347
  if(this.style === '2') {
339
348
  this.num = getContainerPropsValue(container, 'content.num', 1);
340
349
  //#ifdef H5
@@ -358,6 +367,9 @@
358
367
  isHtml: true,
359
368
  zIndex: 2000,
360
369
  cancel: false,
370
+ btnConfirmWidth: this.btnConfirmWidth,
371
+ btnConfirmBgColor: this.btnConfirmBgColor,
372
+ btnConfirmTextColor: this.btnConfirmTextColor,
361
373
  });
362
374
  },
363
375