jufubao-base 1.0.198-beta1 → 1.0.200-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 (28) 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 +152 -77
  6. package/src/components/JfbBaseAddress/XdTfkItem.vue +117 -0
  7. package/src/components/JfbBaseConDialog/JfbBaseConDialog.vue +13 -41
  8. package/src/components/JfbBaseFastLink/Attr.js +24 -8
  9. package/src/components/JfbBaseFastLink/JfbBaseFastLink.vue +37 -21
  10. package/src/components/JfbBaseFooter/Attr.js +141 -75
  11. package/src/components/JfbBaseFooter/JfbBaseFooter.vue +50 -15
  12. package/src/components/JfbBaseOrderDetail/Attr.js +147 -65
  13. package/src/components/JfbBaseOrderDetail/JfbBaseOrderDetail.vue +96 -46
  14. package/src/components/JfbBaseOrderList/Attr.js +59 -2
  15. package/src/components/JfbBaseOrderList/JfbBaseOrderList.vue +139 -92
  16. package/src/components/JfbBaseOrderList/Mock.js +3 -0
  17. package/src/components/JfbBaseOrderList/XdTfkOrderItem.vue +267 -0
  18. package/src/components/JfbBasePosterBigSmall/JfbBasePosterBigSmall.vue +14 -13
  19. package/src/components/JfbBasePosterBigSmall/getWidthHeight.js +6 -8
  20. package/src/components/JfbBaseUserCenter/Attr.js +297 -52
  21. package/src/components/JfbBaseUserCenter/JfbBaseUserCenter.vue +135 -44
  22. package/src/components/JfbBaseUserInfo/Attr.js +212 -37
  23. package/src/components/JfbBaseUserInfo/JfbBaseUserInfo.vue +89 -60
  24. package/src/components/JfbBaseUserOrder/Attr.js +332 -30
  25. package/src/components/JfbBaseUserOrder/JfbBaseUserOrder.vue +183 -55
  26. package/src/components/JfbBaseWallet/Attr.js +376 -8
  27. package/src/components/JfbBaseWallet/JfbBaseWallet.vue +185 -49
  28. package/src/mixins/componentsMixins.js +210 -35
@@ -64,104 +64,129 @@
64
64
  class="jfb-base-order-list__body-order"
65
65
  :style="{ padding: outMargin }"
66
66
  >
67
- <view
68
- @click="handleToLink(detailPath, item)"
69
- class="jfb-base-order-list__body-order-item"
70
- v-for="item in orderList"
71
- :key="item.main_order_id"
72
- :style="{
73
- background: backgroundColor,
74
- border: borderBox,
75
- borderRadius: radius + 'rpx',
76
- boxShadow: shadowBox,
77
- marginBottom: padding + 'rpx',
78
- }"
79
- >
80
- <view class="jfb-base-order-list__body-order-item-biz">
81
- <xd-font-icon
82
- v-if="item.biz_code_icon"
83
- :icon="item.biz_code_icon"
84
- :size="item['biz_code_icon_size']"
85
- ></xd-font-icon>
86
- <view :class="{ marginLeft: item.biz_code_icon }">{{item.biz_code_name }}</view>
87
- </view>
88
- <view class="jfb-base-order-list__body-order-item-title">
89
- <view>订单编号:{{ item.main_order_id }}</view>
90
- <view :style="{color:item.status.status_type !== 'error' ? mainColor : '#999999',}">{{ item.status.status_name }}</view>
91
- </view>
92
- <view class="order-list">
93
- <view
94
- class="jfb-base-order-list__body-order-item-content"
95
- v-for="(Sitem, Sindex) in item.products"
96
- :key="Sitem.key"
97
- v-if="(item['isOpen'] === false && Sindex < showLen) || item['isOpen']"
98
- >
99
- <image :src="Sitem.product_thumb" style="background: #ffffff" mode="aspectFit"></image>
100
- <view class="jfb-base-order-list__body-order-item-content-info">
101
- <view class="jfb-base-order-list__body-order-item-content-info-name">{{ Sitem.product_name }}</view>
102
- <view class="brand-name" v-if="Sitem.brand_name" :style="{color:brandTextColor}">{{ Sitem.brand_name }}</view>
103
- <view v-if="Sitem.product_sku_name" class="jfb-base-order-list__body-order-item-content-info-skuname">规格:{{ Sitem.product_sku_name }}</view>
104
- <view class="jfb-base-order-list__body-order-item-content-info-price">
105
- <view></view>
106
- <view class="info-price">
107
- <text>X</text>
108
- <text>{{ Sitem.product_num }}</text>
67
+ <template v-if="layout_style === 'old'">
68
+ <view
69
+ @click="handleToLink(detailPath, item)"
70
+ class="jfb-base-order-list__body-order-item"
71
+ v-for="item in orderList"
72
+ :key="item.main_order_id"
73
+ :style="{
74
+ background: backgroundColor,
75
+ border: borderBox,
76
+ borderRadius: radius + 'rpx',
77
+ boxShadow: shadowBox,
78
+ marginBottom: padding + 'rpx',
79
+ }"
80
+ >
81
+ <view class="jfb-base-order-list__body-order-item-biz">
82
+ <xd-font-icon
83
+ v-if="item.biz_code_icon"
84
+ :icon="item.biz_code_icon"
85
+ :size="item['biz_code_icon_size']"
86
+ ></xd-font-icon>
87
+ <view :class="{ marginLeft: item.biz_code_icon }">{{item.biz_code_name }}</view>
88
+ </view>
89
+ <view class="jfb-base-order-list__body-order-item-title">
90
+ <view>订单编号:{{ item.main_order_id }}</view>
91
+ <view :style="{color:item.status.status_type !== 'error' ? mainColor : '#999999',}">{{ item.status.status_name }}</view>
92
+ </view>
93
+ <view class="order-list">
94
+ <view
95
+ class="jfb-base-order-list__body-order-item-content"
96
+ v-for="(Sitem, Sindex) in item.products"
97
+ :key="Sitem.key"
98
+ v-if="(item['isOpen'] === false && Sindex < showLen) || item['isOpen']"
99
+ >
100
+ <image :src="Sitem.product_thumb" style="background: #ffffff" mode="aspectFit"></image>
101
+ <view class="jfb-base-order-list__body-order-item-content-info">
102
+ <view class="jfb-base-order-list__body-order-item-content-info-name">{{ Sitem.product_name }}</view>
103
+ <view class="brand-name" v-if="Sitem.brand_name" :style="{color:brandTextColor}">{{ Sitem.brand_name }}</view>
104
+ <view v-if="Sitem.product_sku_name" class="jfb-base-order-list__body-order-item-content-info-skuname">规格:{{ Sitem.product_sku_name }}</view>
105
+ <view class="jfb-base-order-list__body-order-item-content-info-price">
106
+ <view></view>
107
+ <view class="info-price">
108
+ <text>X</text>
109
+ <text>{{ Sitem.product_num }}</text>
110
+ </view>
109
111
  </view>
110
112
  </view>
111
113
  </view>
114
+ <view
115
+ class="order-list-icon"
116
+ :style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
117
+ v-if="item.products.length > showLen"
118
+ @click.stop="switchOpen(item)"
119
+ >
120
+ <view :style="{ background: backgroundColor }">
121
+ <xd-font-icon
122
+ color="#666"
123
+ :icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
124
+ size="24"
125
+ ></xd-font-icon>
126
+ </view>
127
+ </view>
128
+ </view>
129
+ <view class="jfb-base-order-list__body-order-item-bottom">
130
+ <view>下单时间:{{ item.created_time_text }}</view>
131
+ <view v-if="item.biz_code !== 'gift' && item.is_not_show_price !== 'Y'">
132
+ <text>合计:</text>
133
+ <xd-unit
134
+ :isOld="false"
135
+ :price="item.total_amount"
136
+ :color="mainColor"
137
+ :fontSize="28"
138
+ ></xd-unit>
139
+ </view>
140
+ <view style="color:#999" v-if="item['main_user_server_amount'] !== undefined && item['main_user_server_amount'] > 0">
141
+ <text>(平台服务费:</text>
142
+ <xd-unit
143
+ :isOld="false"
144
+ :price="item['main_user_server_amount']"
145
+ :fontSize="24"
146
+ :is-gray="true"
147
+ color="#999"
148
+ :icon-size=".25"
149
+ ></xd-unit>
150
+ <text>)</text>
151
+ </view>
112
152
  </view>
113
153
  <view
114
- class="order-list-icon"
115
- :style="{ bottom: item['isOpen'] ? '-30rpx' : '-54rpx' }"
116
- v-if="item.products.length > showLen"
117
- @click.stop="switchOpen(item)"
154
+ class="jfb-base-order-list__body-order-item-pay"
155
+ v-if="item.buttons.length"
118
156
  >
119
- <view :style="{ background: backgroundColor }">
120
- <xd-font-icon
121
- color="#666"
122
- :icon="item['isOpen'] ? 'iconshang_up' : 'iconxia_down'"
123
- size="24"
124
- ></xd-font-icon>
157
+ <view v-for="(btn,index) in item.buttons" :key="btn.key">
158
+ <xd-button
159
+ :type="getBtnType(btn.action)"
160
+ size="mini"
161
+ @click="handleBtnEvent(btn.action, item)"
162
+ >{{ btn.text }}</xd-button>
125
163
  </view>
126
164
  </view>
127
165
  </view>
128
- <view class="jfb-base-order-list__body-order-item-bottom">
129
- <view>下单时间:{{ item.created_time_text }}</view>
130
- <view v-if="item.biz_code !== 'gift' && item.is_not_show_price !== 'Y'">
131
- <text>合计:</text>
132
- <xd-unit
133
- :isOld="false"
134
- :price="item.total_amount"
135
- :color="mainColor"
136
- :fontSize="28"
137
- ></xd-unit>
138
- </view>
139
- <view style="color:#999" v-if="item['main_user_server_amount'] !== undefined && item['main_user_server_amount'] > 0">
140
- <text>(平台服务费:</text>
141
- <xd-unit
142
- :isOld="false"
143
- :price="item['main_user_server_amount']"
144
- :fontSize="24"
145
- :is-gray="true"
146
- color="#999"
147
- :icon-size=".25"
148
- ></xd-unit>
149
- <text>)</text>
150
- </view>
151
- </view>
166
+ </template>
167
+ <template v-if="layout_style === 'tfk'">
152
168
  <view
153
- class="jfb-base-order-list__body-order-item-pay"
154
- v-if="item.buttons.length"
169
+ @click="handleToLink(detailPath, item)"
170
+ class="jfb-base-order-list__body-order-item"
171
+ v-for="item in orderList"
172
+ :key="item.main_order_id"
173
+ :style="{
174
+ background: backgroundColor,
175
+ border: borderBox,
176
+ borderRadius: radius + 'rpx',
177
+ boxShadow: shadowBox,
178
+ marginBottom: padding + 'rpx',
179
+ }"
155
180
  >
156
- <view v-for="(btn,index) in item.buttons" :key="btn.key">
157
- <xd-button
158
- :type="getBtnType(btn.action)"
159
- size="mini"
160
- @click="handleBtnEvent(btn.action, item)"
161
- >{{ btn.text }}</xd-button>
162
- </view>
181
+ <xd-tfk-order-item
182
+ :mainColor="mainColor"
183
+ :isShowOrderNo="isShowOrderNo"
184
+ :brandTextColor="brandTextColor"
185
+ :item="item"
186
+ @handleBtnEvent="action => handleBtnEvent(action, item)"
187
+ ></xd-tfk-order-item>
163
188
  </view>
164
- </view>
189
+ </template>
165
190
  </view>
166
191
  <view v-else class="jfb-base-order-list__body-no">
167
192
  <xd-font-icon
@@ -189,6 +214,7 @@ import extsMixins from "@/mixins/extsMixins";
189
214
  import { getContainerPropsValue } from "@/utils/xd.base";
190
215
  import getServiceUrl from "@/common/getServiceUrl";
191
216
  import Color from "color";
217
+ import XdTfkOrderItem from "./XdTfkOrderItem"
192
218
 
193
219
  export default {
194
220
  name: "JfbBaseOrderList",
@@ -197,6 +223,7 @@ export default {
197
223
  XdTab,
198
224
  XdUnit,
199
225
  XdButton,
226
+ XdTfkOrderItem,
200
227
  },
201
228
  mixins: [componentsMixins, extsMixins, JfbBaseOrderListMixin],
202
229
  data() {
@@ -226,11 +253,13 @@ export default {
226
253
  is_shadow: "Y",
227
254
  is_shadow_bg: 0,
228
255
  is_shadow_w: 0,
256
+ sectionShadow: "",
229
257
 
230
258
  //边框
231
259
  is_border: "Y",
232
260
  is_border_w: 0,
233
261
  is_border_c: "",
262
+ sectionBorder: "",
234
263
 
235
264
  //其他
236
265
  margin: {
@@ -239,6 +268,8 @@ export default {
239
268
  right: 0,
240
269
  bottom: 0,
241
270
  },
271
+ layout_style: "old",
272
+ isShowOrderNo: "Y",
242
273
 
243
274
  noticeBgc:'',
244
275
  };
@@ -253,14 +284,16 @@ export default {
253
284
  return str
254
285
  },
255
286
  shadowBox() {
256
- if (this.is_shadow === "Y")
257
- return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
258
- else return "0 0 0 rgba(0,0,0,0)";
287
+ // if (this.is_shadow === "Y")
288
+ // return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
289
+ // else return "0 0 0 rgba(0,0,0,0)";
290
+ return this.sectionShadow;
259
291
  },
260
292
  borderBox() {
261
- if (this.is_border === "Y")
262
- return `${this.is_border_w}rpx solid ${this.is_border_c}`;
263
- else return "0";
293
+ // if (this.is_border === "Y")
294
+ // return `${this.is_border_w}rpx solid ${this.is_border_c}`;
295
+ // else return "0";
296
+ return this.sectionBorder;
264
297
  },
265
298
  },
266
299
  watch: {
@@ -308,13 +341,27 @@ export default {
308
341
  this.is_shadow = getContainerPropsValue(container, "content.is_shadow", "N");
309
342
  this.is_shadow_bg = getContainerPropsValue(container, "content.is_shadow_bg", "#fff");
310
343
  this.is_shadow_w = getContainerPropsValue(container, "content.is_shadow_w", "10");
344
+ let sectionShadow = getContainerPropsValue(container, "content.sectionShadow", "");
345
+ this.sectionShadow = this.getShadowCompatibleOldStyle(sectionShadow, {
346
+ type: this.is_shadow,
347
+ width: this.is_shadow_w,
348
+ color: this.is_shadow_bg,
349
+ })
311
350
 
312
351
  this.is_border = getContainerPropsValue(container, "content.is_border", "N");
313
352
  this.is_border_c = getContainerPropsValue(container, "content.is_border_c", "#fff");
314
353
  this.is_border_w = getContainerPropsValue(container, "content.is_border_w", 2);
354
+ let sectionBorder = getContainerPropsValue(container, "content.sectionBorder", "");
355
+ this.sectionBorder = this.getBorderCompatibleOldStyle(sectionBorder, {
356
+ type: this.is_border,
357
+ width: this.is_border_w,
358
+ color: this.is_border_c,
359
+ })
315
360
 
316
361
  this.detailPath = getContainerPropsValue(container, "content.detailPath", { value: "" }).value;
317
362
  this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
363
+ this.layout_style = getContainerPropsValue(container, "content.layout_style", "old");
364
+ this.isShowOrderNo = getContainerPropsValue(container, "content.isShowOrderNo", "Y");
318
365
  this.tabList = getContainerPropsValue(container, "content.orderTypeList", []).map((item) => {
319
366
  return {
320
367
  name: item.customName || item.label,
@@ -9,6 +9,7 @@ module.exports = {
9
9
  "created_time": 1684491205,
10
10
  "status": {"status": "UNPAID", "status_name": "未支付", "status_type": "wait"},
11
11
  "total_amount": 2678,
12
+ "main_user_server_amount": 12,
12
13
  "biz_code": "cake",
13
14
  "biz_code_name": "蛋糕(勿改)订单",
14
15
  "biz_code_icon": "icondangao-01",
@@ -111,6 +112,7 @@ module.exports = {
111
112
  "status": {"status": "HANDLER_ING", "status_name": "处理中", "status_type": "wait"},
112
113
  "total_amount": 10920,
113
114
  "biz_code": "gift",
115
+ "is_not_show_price": "Y",
114
116
  "biz_code_name": "礼包(勿改)订单",
115
117
  "biz_code_icon": "icondalibao-01",
116
118
  "products": [{
@@ -134,6 +136,7 @@ module.exports = {
134
136
  "status": {"status": "COMPLETED", "status_name": "已完成", "status_type": "success"},
135
137
  "total_amount": 4800,
136
138
  "biz_code": "movie",
139
+ "is_not_show_price": "Y",
137
140
  "biz_code_name": "电影(勿改)订单",
138
141
  "biz_code_icon": "icondianying-01",
139
142
  "products": [{
@@ -0,0 +1,267 @@
1
+ <template>
2
+ <view class="xd-tfk-order-item">
3
+ <view class="o_header">
4
+ <view class="h_l">
5
+ <xd-font-icon
6
+ v-if="item.biz_code_icon"
7
+ :icon="item.biz_code_icon"
8
+ :size="item['biz_code_icon_size']"
9
+ ></xd-font-icon>
10
+ <view :class="{ marginLeft: item.biz_code_icon }" style="margin-left: 20rpx;">{{item.biz_code_name }}</view>
11
+ </view>
12
+ <view v-if="isShowOrderNo==='N'" class="o_status" :style="{
13
+ color:item.status.status_type !== 'error' ? mainColor : '#999999',
14
+ }">{{ item.status.status_name }}</view>
15
+ </view>
16
+ <view class="o_title" v-if="isShowOrderNo==='Y'">
17
+ <view class="o_number">订单编号:{{ item.main_order_id }}</view>
18
+ <view class="o_status" :style="{
19
+ color:item.status.status_type !== 'error' ? mainColor : '#999999',
20
+ }">{{ item.status.status_name }}</view>
21
+ </view>
22
+ <view class="prod_list">
23
+ <!-- 单个商品展示商品信息 -->
24
+ <template v-if="item.products.length == 1">
25
+ <view class="one_prod" v-for="Sitem in item.products" :key="Sitem.key">
26
+ <view class="prod_img">
27
+ <image :src="Sitem.product_thumb" style="background: #ffffff" mode="aspectFill"></image>
28
+ </view>
29
+ <view class="prod_info">
30
+ <view class="prod_name">{{ Sitem.product_name }}</view>
31
+ <view v-if="Sitem.brand_name" class="prod_brand" :style="{color: brandTextColor}">{{ Sitem.brand_name }}</view>
32
+ <view v-if="Sitem.product_sku_name" class="prod_sku">规格:{{ Sitem.product_sku_name }}</view>
33
+ <view class="prod_price">
34
+ <view>¥448</view>
35
+ <view class="info-price">
36
+ <text>x</text>
37
+ <text>{{ Sitem.product_num }}</text>
38
+ </view>
39
+ </view>
40
+ </view>
41
+ </view>
42
+ </template>
43
+
44
+ <!-- 多个商品展示更多商品信息 -->
45
+ <view v-if="item.products.length > 1" class="more_prod">
46
+ <view class="img_list">
47
+ <view class="prod_img" v-for="prod in item.products" :key="prod.key">
48
+ <image :src="prod.product_thumb" style="background: #ffffff" mode="aspectFit"></image>
49
+ </view>
50
+ </view>
51
+ <view class="right_arrow">
52
+ <xd-font-icon icon='iconxiangyou_xian' :size="26" color="#bdc0c5"></xd-font-icon>
53
+ </view>
54
+ </view>
55
+ </view>
56
+ <view class="prod_total">
57
+ <view>
58
+ <view class="serve_fee" style="color:#999" v-if="item['main_user_server_amount'] !== undefined && item['main_user_server_amount'] > 0">
59
+ <text>(平台服务费:</text>
60
+ <xd-unit
61
+ :isOld="false"
62
+ :price="item['main_user_server_amount']"
63
+ :fontSize="24"
64
+ :is-gray="true"
65
+ color="#999"
66
+ :icon-size=".25"
67
+ ></xd-unit>
68
+ <text>)</text>
69
+ </view>
70
+ </view>
71
+ <view style="display: flex;align-items: center;">
72
+ 共{{item.products.length}}件商品
73
+ <template v-if="item.biz_code !== 'gift' && item.is_not_show_price !== 'Y'">
74
+ 实付
75
+ <xd-unit
76
+ :isOld="false"
77
+ :price="item.total_amount"
78
+ :color="mainColor"
79
+ :fontSize="28"></xd-unit>
80
+ </template>
81
+
82
+ </view>
83
+ </view>
84
+ <view v-if="item.buttons.length" class="prod_footer">
85
+ <view style="flex: 1;"></view>
86
+ <view class="btn"
87
+ v-for="(btn,index) in item.buttons" :key="btn.key"
88
+ @click="handleBtnEvent(btn.action, item)"
89
+ >{{btn.text}}</view>
90
+ </view>
91
+ </view>
92
+ </template>
93
+
94
+ <script>
95
+ import XdFontIcon from "@/components/XdFontIcon/XdFontIcon"
96
+ import XdUnit from "@/components/XdUnit/XdUnit"
97
+ export default{
98
+ name:"XdTfkOrderItem",
99
+ components: {
100
+ XdFontIcon,
101
+ XdUnit,
102
+ },
103
+ props:{
104
+ item: Object,
105
+ mainColor: String,
106
+ isShowOrderNo: {
107
+ type: String,
108
+ },
109
+ brandTextColor: String
110
+ },
111
+ data(){
112
+ return{
113
+ }
114
+ },
115
+ methods:{
116
+ handleBtnEvent(action){
117
+ this.$emit('handleBtnEvent', action)
118
+ },
119
+ }
120
+ }
121
+ </script>
122
+
123
+ <style lang="less" scoped>
124
+ .xd-tfk-order-item{
125
+ padding-left: 30rpx;
126
+ overflow: hidden;
127
+ .o_header{
128
+ height: 90rpx;
129
+ display: flex;
130
+ align-items: center;
131
+ justify-content: space-between;
132
+ border-bottom: 1px solid #EDEDED;
133
+ padding-right: 30rpx;
134
+ color: #333333;
135
+ font-size: 28rpx;
136
+
137
+ .h_l{
138
+ display: flex;
139
+ align-items: center;
140
+ }
141
+ }
142
+ .o_title{
143
+ height: 80rpx;
144
+ display: flex;
145
+ align-items: center;
146
+ justify-content: space-between;
147
+ padding-right: 30rpx;
148
+ color: #333333;
149
+ font-size: 24rpx;
150
+ border-bottom: 1px solid #EDEDED;
151
+ }
152
+ .one_prod{
153
+ display: flex;
154
+ align-items: center;
155
+ width: 100%;
156
+ padding: 30rpx 30rpx 30rpx 0;
157
+ box-sizing: border-box;
158
+ .prod_img{
159
+ width: 140rpx;
160
+ height: 140rpx;
161
+ background-color: #f5f5f9;
162
+ image{
163
+ width: 100%;
164
+ height: 100%;
165
+ }
166
+ }
167
+ .prod_info{
168
+ flex: 1;
169
+ padding-left: 30rpx;
170
+ .prod_name{
171
+ color: #2e2f30;
172
+ font-size: 30rpx;
173
+ }
174
+ .prod_brand{
175
+ font-size: 24rpx;
176
+ margin-top: 8rpx;
177
+ }
178
+ .prod_sku{
179
+ color: #797d82;
180
+ font-size: 24rpx;
181
+ margin-top: 8rpx;
182
+ }
183
+ }
184
+ .prod_price{
185
+ display: flex;
186
+ justify-content: space-between;
187
+ align-items: center;
188
+ color: rgb(46, 47, 48);
189
+ font-size: 30rpx;
190
+ margin-top: 12rpx;
191
+ .info-price{
192
+ display: flex;
193
+ color: #bdc0c5;
194
+ font-size: 26rpx;
195
+ }
196
+ }
197
+ }
198
+ .prod_list{
199
+ position: relative;
200
+ .right_arrow{
201
+ position: absolute;
202
+ right: 0px;
203
+ height: 100%;
204
+ width: 60rpx;
205
+ top: 0;
206
+ background: #FFF;
207
+ display: flex;
208
+ align-items: center;
209
+ justify-content: center;
210
+ }
211
+ }
212
+ .more_prod{
213
+ display: flex;
214
+ flex-wrap: nowrap;
215
+ overflow: auto;
216
+ padding: 30rpx 30rpx 30rpx 0;
217
+ width: 100%;
218
+ .img_list{
219
+ display: flex;
220
+ flex-wrap: nowrap;
221
+ padding-right: 60rpx;
222
+ }
223
+ .prod_img{
224
+ width: 140rpx;
225
+ height: 140rpx;
226
+ display: flex;
227
+ align-items: center;
228
+ justify-content: center;
229
+ image{
230
+ width: 100%;
231
+ height: 100%;
232
+ }
233
+ }
234
+ }
235
+ .prod_total{
236
+ height: 80rpx;
237
+ display: flex;
238
+ align-items: center;
239
+ justify-content: space-between;
240
+ padding-right: 30rpx;
241
+ border-top: 1px solid #EDEDED;
242
+ color: #2e2f30;
243
+ font-size: 26rpx;
244
+ .serve_fee{
245
+ display: flex;
246
+ align-items: center;
247
+ }
248
+ }
249
+ .prod_footer{
250
+ padding: 16rpx 30rpx 16rpx 0;
251
+ display: flex;
252
+ align-items: center;
253
+ border-top: 1px solid #EDEDED;
254
+ .btn{
255
+ width: 170rpx;
256
+ height: 66rpx;
257
+ border: 1px solid #EDEDED;
258
+ display: flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ margin-left: 20rpx;
262
+ color: #2e2f30;
263
+ font-size: 24rpx;
264
+ }
265
+ }
266
+ }
267
+ </style>
@@ -19,10 +19,10 @@
19
19
  class="jfb-base-poster-big-small__body-wrap"
20
20
  :style="{
21
21
  margin: margin,
22
- flexDirection: position === 1 ? 'row' : 'row-reverse',
23
22
  }"
24
23
  v-if="isShowAd"
25
24
  >
25
+ <!--大图-->
26
26
  <view
27
27
  v-if="isCarousel === 1"
28
28
  :style="{
@@ -98,6 +98,8 @@
98
98
  </xd-swiper-dot>
99
99
  <view v-if="isPreview" class="carousel-mask"></view>
100
100
  </view>
101
+ <!--大图-->
102
+ <!--小图-->
101
103
  <view
102
104
  :style="{
103
105
  width: bigWidth + 'rpx',
@@ -268,6 +270,7 @@
268
270
  </view>
269
271
  </view>
270
272
  </view>
273
+ <!--小图-->
271
274
  </view>
272
275
  </view>
273
276
  </view>
@@ -297,12 +300,7 @@ export default {
297
300
  return {
298
301
  params:{},
299
302
  height: 0, //组件高度
300
- mS: {
301
- top: 0,
302
- bottom: 0,
303
- left: 0,
304
- right: 0,
305
- }, //间距
303
+ mS: {}, //间距
306
304
  isPreview: false, //是否预览
307
305
  test: {
308
306
  content_id: "KpBbUKdj4aBejwe7Fh1ki",
@@ -364,9 +362,7 @@ export default {
364
362
  },
365
363
  computed: {
366
364
  margin() {
367
- return `${this.mS.top || 0}rpx ${this.mS.right || 0}rpx ${
368
- this.mS.bottom || 0
369
- }rpx ${this.mS.left || 0}rpx`;
365
+ return this.getMarginAndPadding(this.mS, 0);
370
366
  },
371
367
  msMarginComputed() {
372
368
  if (this.position === 1) {
@@ -793,10 +789,11 @@ export default {
793
789
  // 获取大小图之间间距,如果没有则设置默认值
794
790
  this.msMargin = getContainerPropsValue(container, "content.msMargin", 10);
795
791
  // 获取安全区域宽度,减去margin的值,再除以2,获取大图宽度
796
- this.bigWidth = getWidthHeight(this.height,this.mS,this.msMargin).bigWidth;
797
- this.bigHeight = getWidthHeight(this.height,this.mS,this.msMargin).bigHeight;
792
+ this.bigWidth = getWidthHeight(this.height,this.mS,this.msMargin , this).bigWidth;
793
+ this.bigHeight = getWidthHeight(this.height,this.mS,this.msMargin, this).bigHeight;
798
794
  // 获取容器高度,减去margin的值,再除以2,获取小图高度
799
- this.smallHeight = getWidthHeight(this.height,this.mS,this.msMargin).smallHeight;
795
+ this.smallHeight = getWidthHeight(this.height, this.mS, this.msMargin, this).smallHeight;
796
+
800
797
  // 获取大图数据
801
798
  this.isCarousel = getContainerPropsValue(
802
799
  container,
@@ -882,6 +879,10 @@ export default {
882
879
  &__body {
883
880
  &-wrap {
884
881
  display: flex;
882
+ justify-content: space-between;
883
+ align-items: flex-start;
884
+ border:1px solid red;
885
+ overflow: hidden;
885
886
  }
886
887
  }
887
888
  }