jufubao-base 1.0.186 → 1.0.187-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.
@@ -129,6 +129,9 @@
129
129
  v-for="(Ditem, Dindex) in info.film_show.detail.items"
130
130
  :key="Dindex"
131
131
  class="jfb-base-order-detail__body-delivery-bottom-item"
132
+ :style="{
133
+ marginBottom: lineHeight + 'rpx'
134
+ }"
132
135
  >
133
136
  <view style="width: 130rpx"
134
137
  >{{ Ditem.label }} <span v-if="Ditem.label">:</span>
@@ -214,6 +217,9 @@
214
217
  v-for="(Ditem, Dindex) in item.info"
215
218
  :key="Dindex"
216
219
  class="jfb-base-order-detail__body-delivery-bottom-item"
220
+ :style="{
221
+ marginBottom: lineHeight + 'rpx'
222
+ }"
217
223
  >
218
224
  <view style="width: 130rpx;display: flex;">
219
225
  <view v-html="Ditem.label"></view>
@@ -510,6 +516,9 @@
510
516
  v-for="(item, index) in info.detail"
511
517
  :key="index"
512
518
  class="jfb-base-order-detail__body-order"
519
+ :style="{
520
+ marginBottom: lineHeight + 'rpx'
521
+ }"
513
522
  >
514
523
  <view :style="{ fontWeight: item.style }">
515
524
  <view style="display: flex;">
@@ -541,6 +550,9 @@
541
550
  <view
542
551
  v-if="item.type !== 'line'"
543
552
  class="jfb-base-order-detail__body-price"
553
+ :style="{
554
+ marginBottom: lineHeight + 'rpx'
555
+ }"
544
556
  >
545
557
  <view :style="{ fontWeight: item.style }">{{ item.label }}</view>
546
558
  <xd-unit
@@ -683,41 +695,51 @@
683
695
  :style="prod_bottom"
684
696
  v-if="info.buttons && info.buttons.length > 0"
685
697
  >
686
- <view v-for="(item, index) in info.buttons" :key="index">
687
- <view
688
- style="display: flex; align-items: center"
689
- v-if="item.action === 'pay'"
690
- >
698
+ <view :style="[bottomBoxStyle]">
699
+ <view v-for="(item, index) in info.buttons" :key="index">
691
700
  <view
692
- style="display: flex; align-items: center; margin-right: 30rpx"
693
- v-if="biz_code !== 'gift' || info.is_show_gift_price"
701
+ style="display: flex; align-items: center"
702
+ v-if="item.action === 'pay'"
694
703
  >
695
- <text>应付:</text>
696
- <xd-unit
697
- :price="info.pay_info.real_pay_amount"
698
- :font-size="36"
699
- :iocn-size="0.45"
700
- ></xd-unit>
704
+ <view
705
+ style="display: flex; align-items: center; margin-right: 30rpx"
706
+ v-if="biz_code !== 'gift' || info.is_show_gift_price"
707
+ >
708
+ <text>应付:</text>
709
+ <xd-unit
710
+ :price="info.pay_info.real_pay_amount"
711
+ :font-size="36"
712
+ :iocn-size="0.45"
713
+ ></xd-unit>
714
+ </view>
715
+ <view>
716
+ <xd-button
717
+ @click="handleToPay"
718
+ size="small"
719
+ type="primary"
720
+ :style="{
721
+ height: bottomBtnHeight + 'rpx',
722
+ lineHeight: bottomBtnHeight + 'rpx',
723
+ }"
724
+ :radius="bottomBtnRadius + 'rpx'"
725
+ :bg-color="mainColor"
726
+ >{{ item.text }}
727
+ </xd-button>
728
+ </view>
701
729
  </view>
702
- <view>
730
+ <view v-else>
703
731
  <xd-button
704
- @click="handleToPay"
705
732
  size="small"
706
- type="primary"
707
- radius="40rpx"
708
- :bg-color="mainColor"
709
- >{{ item.text }}
710
- </xd-button>
733
+ :type="item.type !== undefined ? item.type: 'primary'"
734
+ :radius="bottomBtnRadius + 'rpx'"
735
+ :style="{
736
+ height: bottomBtnHeight + 'rpx',
737
+ lineHeight: bottomBtnHeight + 'rpx',
738
+ }"
739
+ @click="handleAction(item)"
740
+ >{{ item.text }}</xd-button>
711
741
  </view>
712
742
  </view>
713
- <view v-else>
714
- <xd-button
715
- size="small"
716
- :type="item.type !== undefined ? item.type: 'primary'"
717
- radius="40rpx"
718
- @click="handleAction(item)"
719
- >{{ item.text }}</xd-button>
720
- </view>
721
743
  </view>
722
744
  </view>
723
745
  </view>
@@ -814,15 +836,6 @@ export default {
814
836
  backgroundColor: "",
815
837
  padding: 0,
816
838
 
817
- //投影
818
- is_shadow: "Y",
819
- is_shadow_bg: 0,
820
- is_shadow_w: 0,
821
-
822
- //边框
823
- is_border: "Y",
824
- is_border_w: 0,
825
- is_border_c: "",
826
839
 
827
840
  //其他
828
841
  margin: {
@@ -833,8 +846,15 @@ export default {
833
846
  },
834
847
  is_hot: "Y",
835
848
  logo: "",
849
+ lineHeight: 20,
836
850
 
837
851
  noticeBgc:'',
852
+ sectionShadow: "",
853
+ sectionBorder: "",
854
+ bottomBtnRadius: 0,
855
+ bottomPadding: "",
856
+ bottomBgColor: "",
857
+ bottomBtnHeight: "",
838
858
  };
839
859
  },
840
860
  watch: {
@@ -873,15 +893,21 @@ export default {
873
893
  return str
874
894
  },
875
895
  shadowBox() {
876
- if (this.is_shadow === "Y")
877
- return `0 0 ${this.is_shadow_w}rpx ${this.is_shadow_bg}`;
878
- else return "0 0 0 rgba(0,0,0,0)";
896
+ return this.sectionShadow;
879
897
  },
880
898
  borderBox() {
881
- if (this.is_border === "Y")
882
- return `${this.is_border_w}rpx solid ${this.is_border_c}`;
883
- else return "0";
899
+ return this.sectionBorder;
884
900
  },
901
+ bottomBoxStyle(){
902
+ let padding = `${this.checkValue(this.bottomPadding.top, 20)}rpx`;
903
+ padding = `${padding} ${this.checkValue(this.bottomPadding.right, 20)}rpx`;
904
+ padding = `${padding} ${this.checkValue(this.bottomPadding.bottom, 20)}rpx`;
905
+ padding = `${padding} ${this.checkValue(this.bottomPadding.left, 20)}rpx`;
906
+ return {
907
+ padding: padding,
908
+ backgroundColor: this.bottomBgColor,
909
+ }
910
+ }
885
911
  },
886
912
  created() {
887
913
  this.noticeBgc = Color(this.warningColor).alpha(0.2).toString();
@@ -1108,17 +1134,23 @@ export default {
1108
1134
  this.brandTextColor = getContainerPropsValue(container, "content.brandTextColor", this.mainColor);
1109
1135
  this.padding = getContainerPropsValue(container, "content.padding", 20);
1110
1136
 
1111
- this.is_shadow = getContainerPropsValue(container, "content.is_shadow", "N");
1112
- this.is_shadow_bg = getContainerPropsValue(container, "content.is_shadow_bg", "#fff");
1113
- this.is_shadow_w = getContainerPropsValue(container, "content.is_shadow_w", "10");
1114
-
1115
- this.is_border = getContainerPropsValue(container, "content.is_border", "N");
1116
1137
  this.is_hot = getContainerPropsValue(container, "content.is_hot", "Y");
1117
- this.is_border_c = getContainerPropsValue(container, "content.is_border_c", "#fff");
1118
- this.is_border_w = getContainerPropsValue(container, "content.is_border_w", 2);
1119
1138
  this.viewStatus = getContainerPropsValue(container, "content.viewStatus", "mall");
1120
1139
  this.is_show_support_shop = getContainerPropsValue(container, "content.is_show_support_shop", "N");
1121
1140
  this.is_show_delete_order = getContainerPropsValue(container, "content.is_show_delete_order", "N");
1141
+ this.lineHeight = getContainerPropsValue(container, "content.lineHeight", 20);
1142
+ let sectionShadow = getContainerPropsValue(container, "content.sectionShadow", "");
1143
+ if(sectionShadow.type === 'Y' && sectionShadow.value){
1144
+ this.sectionShadow = `0 0 ${sectionShadow.value.width}rpx ${sectionShadow.value.color}`;
1145
+ }else this.sectionShadow = '';
1146
+ let sectionBorder = getContainerPropsValue(container, "content.sectionBorder", "");
1147
+ if(sectionBorder.type === 'Y' && sectionBorder.value){
1148
+ this.sectionBorder = `${sectionBorder.value.width}rpx solid ${sectionBorder.value.color}`;
1149
+ }else this.sectionBorder = '';
1150
+ this.bottomBtnRadius = getContainerPropsValue(container, "content.bottomBtnRadius", 0);
1151
+ this.bottomPadding = getContainerPropsValue(container, "content.bottomPadding", {});
1152
+ this.bottomBgColor = getContainerPropsValue(container, "content.bottomBgColor", "#ffffff");
1153
+ this.bottomBtnHeight = getContainerPropsValue(container, "content.bottomBtnHeight", 60);
1122
1154
  },
1123
1155
  getCountDown() {
1124
1156
  this.timer = setInterval(() => {
@@ -1758,8 +1790,6 @@ export default {
1758
1790
  position: fixed;
1759
1791
  left: 0;
1760
1792
  right: 0;
1761
- height: unit(100, rpx);
1762
- padding: 0 unit(30, rpx);
1763
1793
  box-shadow: 0 0 unit(10, rpx) rgba(0, 0, 0, 0.15);
1764
1794
  background: #fff;
1765
1795
  z-index: 3000;
@@ -4,6 +4,17 @@ export default {
4
4
  style: [],
5
5
  content: (data)=>{
6
6
  return [
7
+ {
8
+ label: "布局样式配置",
9
+ ele: "xd-radio",
10
+ valueKey: "layout_style",
11
+ value: data.layout_style || 'old',
12
+ list: [
13
+ {label: '布局1', value: 'old'},
14
+ {label: '布局2', value: 'tfk'},
15
+ ],
16
+ groupKey: "style",
17
+ },
7
18
  {
8
19
  label: '设置订单状态:',
9
20
  ele: 'xd-order-setting',
@@ -30,6 +41,18 @@ export default {
30
41
  {required: true, message: '设置订单配置错误!请检查配置', trigger: 'change'},
31
42
  ],
32
43
  },
44
+ {
45
+ label: "是否展示订单号:",
46
+ ele: 'xd-radio',
47
+ valueKey: 'isShowOrderNo',
48
+ value: data['isShowOrderNo'] || 'Y',
49
+ groupKey:'style',
50
+ list: [
51
+ {label: '是', value: 'Y'},
52
+ {label: '否', value: 'N'},
53
+ ],
54
+ hidden: data.layout_style !== 'tfk'
55
+ },
33
56
  {
34
57
  label: '外填充:',
35
58
  ele: 'xd-margin-padding',
@@ -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() {
@@ -239,6 +266,8 @@ export default {
239
266
  right: 0,
240
267
  bottom: 0,
241
268
  },
269
+ layout_style: "old",
270
+ isShowOrderNo: "Y",
242
271
 
243
272
  noticeBgc:'',
244
273
  };
@@ -315,6 +344,8 @@ export default {
315
344
 
316
345
  this.detailPath = getContainerPropsValue(container, "content.detailPath", { value: "" }).value;
317
346
  this.payPath = getContainerPropsValue(container, "content.payPath", {value: "",}).value;
347
+ this.layout_style = getContainerPropsValue(container, "content.layout_style", "old");
348
+ this.isShowOrderNo = getContainerPropsValue(container, "content.isShowOrderNo", "Y");
318
349
  this.tabList = getContainerPropsValue(container, "content.orderTypeList", []).map((item) => {
319
350
  return {
320
351
  name: item.customName || item.label,