jufubao-base 1.0.169-beta1 → 1.0.169-beta11

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 (40) hide show
  1. package/package.json +1 -1
  2. package/src/components/JfbBaseHeader/JfbBaseHeader.vue +2 -2
  3. package/src/components/JfbBaseLogin/Attr.js +54 -16
  4. package/src/components/JfbBaseMapSearch/MapSearchMp.vue +1 -1
  5. package/src/components/JfbBaseOrderDetail/Api.js +12 -7
  6. package/src/components/JfbBaseOrderDetail/Attr.js +28 -14
  7. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +68 -18
  8. package/src/components/JfbBaseOrderDetail/Mock.js +3 -1
  9. package/src/components/JfbBaseTfkCardBind/Api.js +49 -30
  10. package/src/components/JfbBaseTfkCardBind/Attr.js +61 -10
  11. package/src/components/JfbBaseTfkCardBind/JfbBaseTfkCardBind.vue +169 -9
  12. package/src/components/JfbBaseTfkCardBind/Mock.js +19 -9
  13. package/src/components/JfbBaseTfkCardDetail/Api.js +26 -0
  14. package/src/components/JfbBaseTfkCardDetail/Attr.js +336 -9
  15. package/src/components/JfbBaseTfkCardDetail/JfbBaseTfkCardDetail.vue +241 -36
  16. package/src/components/JfbBaseTfkCardDetail/Mock.js +2 -2
  17. package/src/components/JfbBaseTfkCardLogin/Attr.js +301 -5
  18. package/src/components/JfbBaseTfkCardLogin/JfbBaseTfkCardLogin.vue +317 -158
  19. package/src/components/JfbBaseTfkCardLogin/Mock.js +2 -46
  20. package/src/components/JfbBaseTfkCardLogin/XdCouponItem.vue +271 -0
  21. package/src/components/JfbBaseTfkSearch/AllList.vue +232 -0
  22. package/src/components/JfbBaseTfkSearch/Api.js +11 -42
  23. package/src/components/JfbBaseTfkSearch/Attr.js +225 -33
  24. package/src/components/JfbBaseTfkSearch/ContentCinema.vue +157 -0
  25. package/src/components/JfbBaseTfkSearch/ContentFilm.vue +180 -0
  26. package/src/components/JfbBaseTfkSearch/ContentProduct.vue +308 -0
  27. package/src/components/JfbBaseTfkSearch/ContentShop.vue +184 -0
  28. package/src/components/JfbBaseTfkSearch/CusAttr.js +213 -0
  29. package/src/components/JfbBaseTfkSearch/CustomList.vue +402 -0
  30. package/src/components/JfbBaseTfkSearch/JfbBaseTfkSearch.vue +230 -26
  31. package/src/components/JfbBaseTfkSearch/Mock.js +90 -11
  32. package/src/components/JfbBaseTfkSearch/SkeletonCinema.vue +45 -0
  33. package/src/components/JfbBaseTfkSearch/SkeletonFilm.vue +109 -0
  34. package/src/components/JfbBaseTfkSearch/SkeletonProduct.vue +246 -0
  35. package/src/components/JfbBaseTfkSearch/SkeletonShop.vue +81 -0
  36. package/src/components/JfbBaseTfkSearch/handleKeyword.js +24 -0
  37. package/src/components/JfbBaseTfkSearch/listMixins.js +153 -0
  38. package/src/components/JfbBaseTfkSearch/search.js +293 -0
  39. package/src/mixins/colorCardMixins.js +71 -9
  40. package/src/mixins/componentsMixins.js +346 -23
@@ -0,0 +1,308 @@
1
+ <template>
2
+ <view class="prodcut" :class="{tow: cell === 2, one: cell === 1}" @click="handleDetail()">
3
+ <view
4
+ class="prodcut-image"
5
+ :style="{
6
+ marginRight: (cell === 1 ? (outSpacing + 'rpx'):0),
7
+ width: (cell === 1 ? '200rpx': '100%'),
8
+ height: (cell === 1 ? '200rpx': (height + 'rpx')),
9
+ backgroundColor: '#f8f8f8',
10
+ borderRadius: borderRadius + 'rpx',
11
+ }"
12
+ >
13
+ <image :src="imageUrl" :alt="item['product_name']" mode="aspectFit"></image>
14
+ </view>
15
+ <view class="prodcut-content" :style="{marginTop:cell === 1? 0: (outSpacing + 'rpx') }">
16
+ <view class="prodcut-content-info">
17
+ <view class="name" v-html="cusName" :class="{showOne: isOne}"></view>
18
+ <view class="brand" v-if="productConfig.is_show_brand==='Y'" :style="{color:brandColor}">{{item['brand_name']}}</view>
19
+ <view class="tags" v-if="productConfig.isShowTag === 'Y'">
20
+ <view
21
+ v-for="tag in tagsList"
22
+ :key="tag"
23
+ :style="{background:tagObjColor[tag]}"
24
+ >{{tagObj[tag]}}</view>
25
+ </view>
26
+ </view>
27
+ <view class="prodcut-content-btn" v-if="isBtn">
28
+ <view :class="{onePrice: cell === 1}">
29
+ <view v-if="productConfig.isPrice === 'Y'">
30
+ <xd-unit
31
+ :price="(item['promo_price'] || item['sale_price'])"
32
+ :isOld="false"
33
+ :iconSize="0.3"
34
+ :fontSize="36"
35
+ />
36
+ </view>
37
+ <view
38
+ v-if="productConfig.isShowDiscount==='Y' && checkDiscountPrice"
39
+ :style="{color:oldPriceColor}" class="oldPrice">
40
+ <xd-unit
41
+ :price="dividePrice"
42
+ :iconSize="0.21"
43
+ :fontSize="24"
44
+ delete-line
45
+ is-gray
46
+ />
47
+ </view>
48
+ </view>
49
+ <view>
50
+ <view @click.stop="handleDetail()" v-if="productConfig.isAddCart === 'Y'">
51
+ <xd-font-icon
52
+ icon="icongouwuche-01"
53
+ :color="color"
54
+ size="40"
55
+ ></xd-font-icon>
56
+ </view>
57
+ </view>
58
+ </view>
59
+ </view>
60
+ </view>
61
+ </template>
62
+
63
+ <script>
64
+ import handleKeyword from "./handleKeyword";
65
+ import getServiceUrl from "@/common/getServiceUrl";
66
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon.vue";
67
+ import XdUnit from "@/components/XdUnit/XdUnit.vue";
68
+
69
+ export default {
70
+ name: "ContentProduct",
71
+ components:{
72
+ XdFontIcon,
73
+ XdUnit
74
+ },
75
+ props:{
76
+ keyword:{
77
+ type:String,
78
+ default:'北京'
79
+ },
80
+
81
+ height:{
82
+ type:Number|String,
83
+ default:"auto",
84
+ },
85
+
86
+ item:Object,
87
+ outSpacing: {
88
+ type: Number|String,
89
+ default: 20
90
+ },
91
+ color:{
92
+ type:String,
93
+ default:'red',
94
+ },
95
+ brandColor:{
96
+ type: String,
97
+ default: '#999'
98
+ },
99
+ oldPriceColor: {
100
+ type: String,
101
+ default: '#999'
102
+ },
103
+ borderRadius:{
104
+ type: String,
105
+ default: '10'
106
+ },
107
+ cell:{
108
+ type: Number|String,
109
+ required: true
110
+ },
111
+ productConfig:{
112
+ type:Object|null,
113
+ default: null
114
+ },
115
+ },
116
+ computed:{
117
+ cusName(){
118
+ return handleKeyword(this, this.item['product_name'] || this.item['list_title'], this.keyword)
119
+ },
120
+ imageUrl(){
121
+ return getServiceUrl(this.item['thumb'])
122
+ },
123
+ isOne(){
124
+ let status = false;
125
+ if(this.cell === 1) status = false
126
+ return status
127
+ },
128
+ isBtn(){
129
+ return this.productConfig.isPrice === 'Y' || this.productConfig.isAddCart === 'Y'
130
+ },
131
+ dividePrice() {
132
+ return this.$xdUniHelper.divisionFloatNumber(this.item.market_price, 100);
133
+ },
134
+
135
+ checkDiscountPrice() {
136
+ if(this.productConfig.isPrice === 'N') return false
137
+ if (this.productConfig.isShowDiscount === 'Y') {
138
+ let price = Number(this.item.market_price) - Number(this.item.sale_price);
139
+ return this.$xdUniHelper.divisionFloatNumber(price,100) > Number(this.productConfig.differ);
140
+ }
141
+ return false
142
+ },
143
+
144
+ tagsList(){
145
+ if(this.productConfig.showActivityPrice === 'N') {
146
+ return this.item['market_tags'].filter(tag=>{
147
+ return tag !== 'flashsale';
148
+ })
149
+ }
150
+ else return this.item['market_tags'];
151
+ },
152
+ },
153
+ data(){
154
+ return {
155
+ tagObj: null,
156
+ tagObjColor: null
157
+ }
158
+ },
159
+ created() {
160
+ this.tagObj = this.$colorConfig.productTags;
161
+ this.tagObjColor = this.$colorConfig.productTagsColor;
162
+ },
163
+ methods:{
164
+ handleDetail(){
165
+ this.$emit('on-product-detail', this.item);
166
+ }
167
+ }
168
+ }
169
+ </script>
170
+
171
+
172
+
173
+ <style scoped lang="less">
174
+ .prodcut {
175
+ &.one {
176
+ display: flex;
177
+ justify-content: space-between;
178
+ align-items: flex-start;
179
+ min-height: 200rpx;
180
+
181
+ .prodcut-image {
182
+ flex-shrink: 0;
183
+ }
184
+
185
+ .prodcut-content {
186
+ flex: 1;
187
+ min-height: 200rpx;
188
+ display: flex;
189
+ justify-content: flex-start;
190
+ flex-flow: wrap;
191
+ align-content: space-between;
192
+ }
193
+ }
194
+
195
+ &.tow {
196
+ .prodcut-image {
197
+ width: 100%;
198
+ }
199
+
200
+ }
201
+
202
+ &-image {
203
+ overflow: hidden;
204
+ & > image {
205
+ max-height: 100%;
206
+ max-width: 100%;
207
+ }
208
+ }
209
+
210
+ &-content {
211
+ &-info {
212
+
213
+ }
214
+
215
+ &-btn {
216
+ width: 100%;
217
+ display: flex;
218
+ justify-content: space-between;
219
+ align-items: center;
220
+
221
+ .onePrice {
222
+ display: flex;
223
+ justify-content: flex-start;
224
+ align-items: center;
225
+
226
+ & > view:nth-child(2) {
227
+ margin-left: 20rpx;
228
+ }
229
+ }
230
+
231
+ & > view:first-child {
232
+ flex: 1;
233
+ & > view:first-child {
234
+ height: 40rpx;
235
+ display: flex;
236
+ justify-content: flex-start;
237
+ align-items: center;
238
+ overflow: hidden;
239
+ }
240
+ & > view:nth-child(2) {
241
+ line-height: 30rpx;
242
+ }
243
+ }
244
+
245
+
246
+
247
+ & > view:nth-child(2) {
248
+ flex-shrink: 0;
249
+ width: 40rpx;
250
+ height: 40rpx;
251
+ display: flex;
252
+ justify-content: center;
253
+ align-items: center;
254
+ cursor: pointer;
255
+ }
256
+
257
+ .oldPrice {
258
+ margin-left: 6rpx;
259
+ }
260
+ }
261
+
262
+ & .name {
263
+ font-size: 30rpx;
264
+ font-weight: 400;
265
+ margin-bottom: 10rpx;
266
+ line-height: 40rpx;
267
+ .uni-max-cut(2,80);
268
+
269
+ &.showOne {
270
+ .uni-max-cut(1,40);
271
+ }
272
+ }
273
+
274
+ & .brand {
275
+ font-size: 22rpx;
276
+ line-height: 30rpx;
277
+ margin-bottom: 10rpx;
278
+ .uni-max-cut(1,30);
279
+
280
+ }
281
+
282
+ .tags {
283
+ display: flex;
284
+ justify-content: flex-start;
285
+ align-content: flex-start;
286
+ margin-bottom: 10rpx;
287
+ flex-flow: wrap;
288
+
289
+ & > view {
290
+ padding: 0 14rpx;
291
+ height: 32rpx;
292
+ line-height: 31rpx;
293
+ font-size: 20rpx;
294
+ color:#fff;
295
+ border-radius: 16rpx;
296
+ margin-right: 10rpx;
297
+
298
+ &:last-child {
299
+ margin-right: 0;
300
+ }
301
+ &:nth-child(4),&:nth-child(5),&:nth-child(6){
302
+ margin-top: 8rpx;
303
+ }
304
+ }
305
+ }
306
+ }
307
+ }
308
+ </style>
@@ -0,0 +1,184 @@
1
+ <template>
2
+ <view class="content-item" @click="handleDetail(item)">
3
+ <view class="content-item-image" :style="{marginRight:outSpacing+'rpx',borderRadius:borderRadius+'rpx'}">
4
+ <image :src="imageUrl" :alt="item['resource_shop_name']"></image>
5
+ </view>
6
+ <view class="content-item-cont">
7
+ <view class="title">
8
+ <view :class="{one:isSupportJhd}" v-html="name"></view>
9
+ <view :style="{marginLeft: item['distance'] ? '10rpx': 0,color: color}">{{item['distance']}}</view>
10
+ </view>
11
+ <view class="bottom">
12
+ <view class="address">
13
+ <view><xd-font-icon icon="icondizhitubiao" size="30"></xd-font-icon></view>
14
+ <view>{{getAddress}}</view>
15
+ </view>
16
+ <view class="phone">
17
+ <view><xd-font-icon icon="icondianhuatubiao" size="26"></xd-font-icon></view>
18
+ <view>{{item['phone']}}</view>
19
+ </view>
20
+ <view class="eChange" v-if="isSupportJhd">
21
+ <view><xd-button @click.stop="handleJhd(item)" type="primary" size="mini">去兑换</xd-button></view>
22
+ </view>
23
+ </view>
24
+ </view>
25
+ </view>
26
+ </template>
27
+
28
+
29
+ <script>
30
+
31
+ import getServiceUrl from "@/common/getServiceUrl";
32
+ import handleKeyword from "./handleKeyword";
33
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon.vue";
34
+ import XdButton from "@/components/XdButton/XdButton.vue";
35
+
36
+ export default {
37
+ name: "ContentShop",
38
+ props:{
39
+ keyword:{
40
+ type:String,
41
+ default:'',
42
+ },
43
+ isEchange:{
44
+ type:String,
45
+ default:'N'
46
+ },
47
+ item:Object,
48
+ outSpacing: {
49
+ type: Number|String,
50
+ default: 20
51
+ },
52
+ borderRadius:{
53
+ type: String,
54
+ default: '10'
55
+ },
56
+ color: {
57
+ type: String,
58
+ default: ''
59
+ },
60
+ },
61
+ components:{
62
+ XdFontIcon,
63
+ XdButton
64
+ },
65
+ computed:{
66
+ imageUrl(){
67
+ return getServiceUrl(this.item.shop_icon)
68
+ },
69
+ name(){
70
+ return handleKeyword(this, this.item.resource_shop_name,this.keyword)
71
+ },
72
+ isSupportJhd(){
73
+ return this.isEchange === 'Y' && this.item.is_support_jhd
74
+ },
75
+ getAddress() {
76
+ let sy = `${this.item.province_name}${this.item.city_name}${this.item.area_name}${this.item.street_name}`;
77
+ return `${sy}${this.item.address}`;
78
+ },
79
+ },
80
+ created() {
81
+ // console.log(this.item)
82
+ // debugger
83
+ },
84
+ methods:{
85
+ handleJhd(item){
86
+ this.$emit('on-shop-jhd',item);
87
+ },
88
+ handleDetail(item){
89
+ this.$emit('on-shop-detail',item);
90
+ }
91
+ },
92
+ }
93
+ </script>
94
+
95
+
96
+ <style scoped lang="less">
97
+ .content-item {
98
+ display: flex;
99
+ justify-content: space-between;
100
+ align-items: center;
101
+ height: 200rpx;
102
+
103
+ &-image {
104
+ width: 200rpx;
105
+ height: 200rpx;
106
+ flex-shrink: 0;
107
+ overflow: hidden;
108
+
109
+ & > image {
110
+ width: 100%;
111
+ height: 100%;
112
+ }
113
+ }
114
+
115
+ &-cont {
116
+ flex: 1;
117
+ height: 100%;
118
+
119
+ & .title {
120
+ margin-bottom: 10rpx;
121
+ display: flex;
122
+ justify-content: space-between;
123
+ align-items: flex-start;
124
+
125
+ & > view:first-child {
126
+ font-size: 30rpx;
127
+ font-weight: 500;
128
+ .uni-max-cut(2,80);
129
+ line-height: 40rpx;
130
+
131
+ &.one {
132
+ .uni-max-cut(1,40);
133
+ }
134
+ }
135
+
136
+ & > view:last-child {
137
+ flex-shrink: 0;
138
+ font-size: 22rpx;
139
+ line-height: 40rpx;
140
+ }
141
+
142
+
143
+ }
144
+
145
+ .address,.phone {
146
+ display: flex;
147
+ justify-content: flex-start;
148
+ align-items: flex-start;
149
+ font-size: 22rpx;
150
+ color: #999;
151
+
152
+ & > view:first-child {
153
+ width: 40rpx;
154
+ height: 40rpx;
155
+ margin-right: 10rpx;
156
+ display: flex;
157
+ justify-content: center;
158
+ align-items: center;
159
+ flex-shrink: 0;
160
+ }
161
+
162
+ }
163
+
164
+ .address {
165
+ margin-bottom: 6rpx;
166
+ & > view:last-child {
167
+ .uni-max-cut(2,60);
168
+ line-height: 30rpx;
169
+ }
170
+
171
+ }
172
+
173
+ .eChange {
174
+ display: flex;
175
+ justify-content: flex-end;
176
+ align-items: center;
177
+ & > view {
178
+ width: 140rpx;
179
+ }
180
+ }
181
+
182
+ }
183
+ }
184
+ </style>
@@ -0,0 +1,213 @@
1
+ 'use strict';
2
+ export default (data)=>{
3
+ return [
4
+ {
5
+ ele: 'title',
6
+ label: '商品搜索相关设置',
7
+ size: 'small',
8
+ groupKey:'content',
9
+ },
10
+ {
11
+ label: '是否展示品牌:',
12
+ ele: 'xd-radio',
13
+ valueKey: 'is_show_brand',
14
+ value: data['is_show_brand'] || 'N',
15
+ placeholder: '请选择是否展示品牌',
16
+ multiple: false,
17
+ className: 'input80',
18
+ groupKey:'content',
19
+ list: [
20
+ {label: '是', value: 'Y'},
21
+ {label: '否', value: 'N'},
22
+ ]
23
+ },
24
+ {
25
+ label: "可否直接加入购物车",
26
+ ele: "xd-radio",
27
+ valueKey: "isAddCart",
28
+ groupKey:'content',
29
+ value: data['isAddCart'] || 'Y',
30
+ list: [
31
+ {label: "是", value: 'Y'},
32
+ {label: "否", value: 'N'}
33
+ ]
34
+ },
35
+ {
36
+ label: '是否显示价格:',
37
+ ele: 'xd-radio',
38
+ groupKey:'content',
39
+ valueKey: 'isPrice',
40
+ value: data['isPrice'] || 'Y',
41
+ placeholder: '请选择是否显示价格',
42
+ multiple: false,
43
+ className: 'input80',
44
+ list: [
45
+ {label: '是', value: 'Y'},
46
+ {label: '否', value: 'N'},
47
+ ]
48
+ },
49
+ data['isPrice']==='Y'&&{
50
+ label: '是否展示原价:',
51
+ ele: 'xd-radio',
52
+ groupKey:'content',
53
+ valueKey: 'isShowDiscount',
54
+ value: data['isShowDiscount'] || "Y",
55
+ rules: [
56
+ {required: true, message: '请选择', trigger: ['blur', 'change']}
57
+ ],
58
+ list: [
59
+ {"label": "显示", "value": "Y"},
60
+ {"label": "隐藏", "value": "N"},
61
+ ]
62
+ },
63
+ data['isShowDiscount']==='Y'&&{
64
+ label: '市场价减去售价大于多少展示:',
65
+ ele: 'el-input',
66
+ type: 'number',
67
+ valueKey: 'differ',
68
+ value: data['differ'] || '',
69
+ groupKey:'content',
70
+ placeholder: '价差',
71
+ className: 'input80',
72
+ },
73
+ data['isPrice']==='Y'&&{
74
+ label: '是否标明活动价:',
75
+ ele: 'xd-radio',
76
+ valueKey: 'showActivityPrice',
77
+ value: data['showActivityPrice'] || 'N',
78
+ placeholder: '请选择是否标明活动价',
79
+ groupKey:'content',
80
+ multiple: false,
81
+ className: 'input80',
82
+ list: [
83
+ {label: '是', value: 'Y'},
84
+ {label: '否', value: 'N'},
85
+ ]
86
+ },
87
+ {
88
+ label: '是否显示标签:',
89
+ ele: 'xd-radio',
90
+ valueKey: "isShowTag",
91
+ value: data['isShowTag'] || 'N',
92
+ groupKey:'content',
93
+ list: [
94
+ {label: '是', value: 'Y'},
95
+ {label: '否', value: 'N'},
96
+ ]
97
+ },
98
+
99
+ {
100
+ ele: 'title',
101
+ label: '列表样式设置',
102
+ size: 'small',
103
+ groupKey:'style',
104
+ },
105
+ {
106
+ label: '商品的品牌文字颜色:',
107
+ ele: 'xd-color',
108
+ valueKey: 'brandColor',
109
+ value: data['brandColor'] || '',
110
+ placeholder: '请选择商品的品牌文字颜色',
111
+ classNmae: 'input80',
112
+ groupKey:'style',
113
+ },
114
+
115
+ {
116
+ label: '填充设置:',
117
+ ele: 'xd-margin-padding',
118
+ groupKey:'style',
119
+ valueKey: 'contMargin',
120
+ value: data['contMargin'] || null,
121
+ setting: {
122
+ type: 'margin',
123
+ },
124
+ inline: false,
125
+ notice: '填充设置,单位:<span style="color: red">像素</span>。默认值:<span style="color: red">20</span> 像素',
126
+ },
127
+ {
128
+ label: '背景颜色:',
129
+ ele: 'xd-color',
130
+ valueKey: 'contBgColor',
131
+ value: data['contBgColor'] || '',
132
+ placeholder: '请选择背景颜色',
133
+ classNmae: 'input80',
134
+ groupKey:'style',
135
+ inline: false,
136
+ notice:'背景颜色值建议使用相对浅色系色值',
137
+ },
138
+ {
139
+ label: '当前投影设置:',
140
+ ele: 'xd-shadow',
141
+ groupKey:'style',
142
+ valueKey: 'contShadow',
143
+ value: data['contShadow'] || '',
144
+ setting: {
145
+ selected: 'N',
146
+ },
147
+ handleCustom({action, data}) {
148
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
149
+ .then(res => {
150
+ data.cb(res.list)
151
+ })
152
+ .catch(error => {
153
+ console.error(error);
154
+ data.cb([])
155
+ });
156
+ },
157
+ },
158
+ {
159
+ label: '当前边框设置:',
160
+ ele: 'xd-border',
161
+ groupKey:'style',
162
+ valueKey: 'contBorder',
163
+ value: data['contBorder'] || '',
164
+ setting: {
165
+ selected:'N'
166
+ },
167
+ },
168
+ {
169
+ label: '圆角设置:',
170
+ ele: 'xd-site-select-list',
171
+ valueKey: 'contRradius',
172
+ value: data['contRradius'] || '10',
173
+ groupKey:'style',
174
+ placeholder: '请选择内容圆角设置',
175
+ multiple: false,
176
+ className: 'input80',
177
+ handleCustom({action, data}) {
178
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
179
+ .then(res => {
180
+ data.cb(res.list)
181
+ })
182
+ .catch(error => {
183
+ console.error(error);
184
+ });
185
+ },
186
+ },
187
+ {
188
+ ele: 'title',
189
+ label: '图片样式设置',
190
+ size: 'small',
191
+ groupKey:'style',
192
+ },
193
+ {
194
+ label: '圆角设置:',
195
+ ele: 'xd-site-select-list',
196
+ valueKey: 'imgRradius',
197
+ value: data['imgRradius'] || '10',
198
+ groupKey:'style',
199
+ placeholder: '请选择内容圆角设置',
200
+ multiple: false,
201
+ className: 'input80',
202
+ handleCustom({action, data}) {
203
+ XdBus.getParentApi('getOptionsSettingList')({setting_id: 'edtix_style_radius'})
204
+ .then(res => {
205
+ data.cb(res.list)
206
+ })
207
+ .catch(error => {
208
+ console.error(error);
209
+ });
210
+ },
211
+ },
212
+ ]
213
+ }