Authored by baoss

Merge branch 'develop' of git.yoho.cn:fe/xianyu-ufo-app-web into develop

@@ -165,6 +165,7 @@ export default { @@ -165,6 +165,7 @@ export default {
165 165
166 .coupon-name { 166 .coupon-name {
167 font-size: 24px; 167 font-size: 24px;
  168 + font-weight: bold;
168 color: #002b47; 169 color: #002b47;
169 margin-bottom: 10px; 170 margin-bottom: 10px;
170 } 171 }
@@ -4,20 +4,19 @@ @@ -4,20 +4,19 @@
4 <div class="left-content"> 4 <div class="left-content">
5 <Scroll> 5 <Scroll>
6 <div class="category-left-item-root" 6 <div class="category-left-item-root"
7 - v-for="(item, index) in categoryParent"  
8 - :key="index"  
9 - :data-id="item"  
10 - @click="onClick(item)">  
11 - <div :class="{'category-left-item-select-flag' : item.isSelect }"></div>  
12 - <p  
13 - class="category-left-item-title"  
14 - :class="{'category-left-item-select' : item.isSelect }">  
15 - {{item.name}}  
16 - </p> 7 + v-for="(item, index) in categoryParent"
  8 + :key="index"
  9 + :class="{'category-left-item-select-flag' : item.isSelect }"
  10 + :data-id="item"
  11 + @click="onClick(item)">
  12 + <p
  13 + class="category-left-item-title"
  14 + :class="{'category-left-item-select' : item.isSelect }">
  15 + {{item.name}}
  16 + </p>
17 </div> 17 </div>
18 </Scroll> 18 </Scroll>
19 </div> 19 </div>
20 - <div class="left-right-split-line"></div>  
21 <div class="right-content"> 20 <div class="right-content">
22 <Scroll> 21 <Scroll>
23 <div v-for="(itemSub, index) in categorySubList" :key="index"> 22 <div v-for="(itemSub, index) in categorySubList" :key="index">
@@ -35,8 +34,8 @@ @@ -35,8 +34,8 @@
35 :width="60" 34 :width="60"
36 :height="60" 35 :height="60"
37 /> 36 />
38 - <p class="item-title">{{item.name}}</p>  
39 </div> 37 </div>
  38 + <p class="item-title">{{item.name}}</p>
40 <LayoutLink v-if="item.isShow" class="item-a-div" :href="item.link"></LayoutLink> 39 <LayoutLink v-if="item.isShow" class="item-a-div" :href="item.link"></LayoutLink>
41 </div> 40 </div>
42 </div> 41 </div>
@@ -114,22 +113,19 @@ export default { @@ -114,22 +113,19 @@ export default {
114 background-color: #FFFFFF; 113 background-color: #FFFFFF;
115 } 114 }
116 115
117 - .left-right-split-line {  
118 - height: 100%;  
119 - width: 2px;  
120 - background-color: #EEEEEE;  
121 - }  
122 -  
123 .left-content { 116 .left-content {
124 - width: 30%; 117 + width: 28%;
125 height: 100%; 118 height: 100%;
  119 + border-right: 1px solid #EEEEEE;
  120 + flex-shrink: 0;
126 } 121 }
127 122
128 .right-content { 123 .right-content {
129 display: flex; 124 display: flex;
130 flex-direction: column; 125 flex-direction: column;
131 - width: 70%; 126 + flex-grow: 1;
132 height: 100%; 127 height: 100%;
  128 + margin: 0 20px;
133 } 129 }
134 130
135 .category-left-item-root { 131 .category-left-item-root {
@@ -139,6 +135,7 @@ export default { @@ -139,6 +135,7 @@ export default {
139 align-items: center; 135 align-items: center;
140 height: 104px; 136 height: 104px;
141 line-height: 104px; 137 line-height: 104px;
  138 + position: relative;
142 } 139 }
143 140
144 .category-left-item-title { 141 .category-left-item-title {
@@ -154,17 +151,19 @@ export default { @@ -154,17 +151,19 @@ export default {
154 } 151 }
155 152
156 .category-left-item-select { 153 .category-left-item-select {
157 - font-size: 48px; 154 + font-size: 44px;
158 color: #000000; 155 color: #000000;
159 } 156 }
160 157
161 - .category-left-item-select-flag {  
162 - width: 9px; 158 + .category-left-item-select-flag:before {
  159 + content: "";
  160 + width: 6px;
163 height: 48px; 161 height: 48px;
164 - margin-bottom: 10px;  
165 - margin-top: 10px; 162 + position: absolute;
  163 + left: 0;
  164 + top: 50%;
  165 + margin-top: -24px;
166 background-color: #000000; 166 background-color: #000000;
167 - justify-self: flex-start;  
168 } 167 }
169 168
170 .category-sub-root { 169 .category-sub-root {
@@ -182,21 +181,17 @@ export default { @@ -182,21 +181,17 @@ export default {
182 181
183 .item-div { 182 .item-div {
184 position: relative; 183 position: relative;
185 - display: flex;  
186 flex: 0 0 33%; 184 flex: 0 0 33%;
187 - height: 195px; 185 + padding: 20px 0;
188 } 186 }
189 187
190 .item-imge-div { 188 .item-imge-div {
191 - height: 100%;  
192 width: 100%; 189 width: 100%;
  190 + height: 130px;
193 display: flex; 191 display: flex;
194 - flex-direction: column;  
195 - justify-content: space-between;  
196 - position: absolute;  
197 - z-index: 1;  
198 - padding-top: 20px;  
199 - padding-bottom: 20px; 192 + align-items: center;
  193 + justify-content: center;
  194 + position: relative;
200 } 195 }
201 196
202 .item-imge { 197 .item-imge {
@@ -213,7 +208,6 @@ export default { @@ -213,7 +208,6 @@ export default {
213 display: -webkit-box; 208 display: -webkit-box;
214 -webkit-box-orient: vertical; 209 -webkit-box-orient: vertical;
215 overflow: hidden; 210 overflow: hidden;
216 -  
217 } 211 }
218 212
219 .item-a-div { 213 .item-a-div {
1 <template> 1 <template>
2 - <LayoutApp> 2 + <LayoutApp title="我的优惠券">
3 <div class="tab"> 3 <div class="tab">
4 <div class="item right-line" :class="type ==='unused' ? 'item-selected' : 'item-default'" 4 <div class="item right-line" :class="type ==='unused' ? 'item-selected' : 'item-default'"
5 @click="onChangeList('unused')">未使用{{unused.total && '('+ unused.total + ')' || null}} 5 @click="onChangeList('unused')">未使用{{unused.total && '('+ unused.total + ')' || null}}
@@ -84,7 +84,8 @@ export default { @@ -84,7 +84,8 @@ export default {
84 bounce: { 84 bounce: {
85 top: false 85 top: false
86 }, 86 },
87 - pullUpLoad: true 87 + pullUpLoad: true,
  88 + pullDownRefresh: false
88 }, 89 },
89 type: 'unused', 90 type: 'unused',
90 list: [], 91 list: [],
@@ -218,6 +219,7 @@ export default { @@ -218,6 +219,7 @@ export default {
218 219
219 .item-price { 220 .item-price {
220 font-size: 72px; 221 font-size: 72px;
  222 + font-weight: bold;
221 color: #002B47; 223 color: #002B47;
222 } 224 }
223 225
1 <template> 1 <template>
2 - <LayoutApp :show-back="true" :title="title">  
3 - <Scroll  
4 - ref="scrolllist"  
5 - :scroll-events="['scroll-end','scroll']"  
6 - @scroll-end="fetchList(isMore)"  
7 - v-if="favoriteProductList.list.length"  
8 - class="fav-scroll-bg"  
9 - > 2 + <LayoutApp :show-back="true" :title="title" class="favorite-wrapper">
  3 + <Scroll
  4 + ref="scrolllist"
  5 + :scroll-events="['scroll-end', 'scroll']"
  6 + @scroll-end="fetchList(isMore)"
  7 + v-if="favoriteProductList.list.length"
  8 + class="fav-scroll-bg"
  9 + >
10 <ProductList :list="favoriteProductList.list"></ProductList> 10 <ProductList :list="favoriteProductList.list"></ProductList>
11 </Scroll> 11 </Scroll>
12 <!-- <empty-list v-show="!isShowEmpty" /> --> 12 <!-- <empty-list v-show="!isShowEmpty" /> -->
13 - <UfoNoItem :tip="`暂无数据`" v-else></UfoNoItem> 13 + <UfoNoItem class="empty" :tip="`暂无数据`" v-else></UfoNoItem>
14 </LayoutApp> 14 </LayoutApp>
15 </template> 15 </template>
16 <script> 16 <script>
17 -import ProductList from '../../list/components/productList'; 17 +import ProductList from "../../list/components/productList";
18 import EmptyList from "../../order/order-list/components/empty"; 18 import EmptyList from "../../order/order-list/components/empty";
19 -import UfoNoItem from '../../../components/ufo-no-item'  
20 -import {Scroll} from 'cube-ui';  
21 -import {createNamespacedHelpers} from 'vuex'; 19 +import UfoNoItem from "../../../components/ufo-no-item";
  20 +import { Scroll } from "cube-ui";
  21 +import { createNamespacedHelpers } from "vuex";
22 22
23 -const {mapState, mapActions} = createNamespacedHelpers('home/favorite'); 23 +const { mapState, mapActions } = createNamespacedHelpers("home/favorite");
24 24
25 export default { 25 export default {
26 - name: 'list', 26 + name: "list",
27 components: { 27 components: {
28 ProductList, 28 ProductList,
29 Scroll, 29 Scroll,
@@ -34,22 +34,22 @@ export default { @@ -34,22 +34,22 @@ export default {
34 return { 34 return {
35 scrollToY: -200, 35 scrollToY: -200,
36 scrollToTime: 700, 36 scrollToTime: 700,
37 - scrollToEasing: 'bounce', 37 + scrollToEasing: "bounce",
38 scrollToEasingOptions: [ 38 scrollToEasingOptions: [
39 { 39 {
40 - text: 'bounce',  
41 - value: 'bounce' 40 + text: "bounce",
  41 + value: "bounce"
42 }, 42 },
43 { 43 {
44 - text: 'swipe',  
45 - value: 'swipe' 44 + text: "swipe",
  45 + value: "swipe"
46 }, 46 },
47 { 47 {
48 - text: 'swipeBounce',  
49 - value: 'swipeBounce' 48 + text: "swipeBounce",
  49 + value: "swipeBounce"
50 } 50 }
51 ], 51 ],
52 - title: '我的收藏', 52 + title: "我的收藏",
53 scrollOptions: { 53 scrollOptions: {
54 bounce: { 54 bounce: {
55 top: false 55 top: false
@@ -62,39 +62,38 @@ export default { @@ -62,39 +62,38 @@ export default {
62 // mounted() { 62 // mounted() {
63 // this.fetchFavoriteList(); 63 // this.fetchFavoriteList();
64 // }, 64 // },
65 - activated(){  
66 - console.log('favorite====activated') 65 + activated() {
  66 + console.log("favorite====activated");
67 let params = { 67 let params = {
68 - isReset: true, 68 + isReset: true
69 }; 69 };
70 -  
71 - this.fetchFavoriteList({isReset: true}); 70 +
  71 + this.fetchFavoriteList({ isReset: true });
72 // this.scrollToTop(); 72 // this.scrollToTop();
73 }, 73 },
74 methods: { 74 methods: {
75 - ...mapActions(['fetchFavoriteList']), 75 + ...mapActions(["fetchFavoriteList"]),
76 76
77 scrollToTop() { 77 scrollToTop() {
78 // let height = this.$refs.scroll.scrollHeight 78 // let height = this.$refs.scroll.scrollHeight
79 - console.log(this.$refs)  
80 - console.log(this.$refs.scrolllist) 79 + console.log(this.$refs);
  80 + console.log(this.$refs.scrolllist);
81 this.$refs.scroll.scrollTo( 81 this.$refs.scroll.scrollTo(
82 0, 82 0,
83 this.scrollToY, 83 this.scrollToY,
84 this.scrollToTime, 84 this.scrollToTime,
85 ease[this.scrollToEasing] 85 ease[this.scrollToEasing]
86 - ) 86 + );
87 }, 87 },
88 88
89 async fetchList(isMore) { 89 async fetchList(isMore) {
90 - if(this.isMore){ 90 + if (this.isMore) {
91 let params = { 91 let params = {
92 - isReset: false, 92 + isReset: false
93 }; 93 };
94 - await this.fetchFavoriteList({isReset: false}); 94 + await this.fetchFavoriteList({ isReset: false });
95 } 95 }
96 -  
97 - }, 96 + }
98 // scroll({ y }) { 97 // scroll({ y }) {
99 // const height = this.$refs.banner.$el.offsetHeight + this.$refs.header.offsetHeight; 98 // const height = this.$refs.banner.$el.offsetHeight + this.$refs.header.offsetHeight;
100 99
@@ -105,15 +104,27 @@ export default { @@ -105,15 +104,27 @@ export default {
105 // } 104 // }
106 // } 105 // }
107 }, 106 },
108 - 107 +
109 computed: { 108 computed: {
110 - ...mapState(['favoriteProductList','isMore']),  
111 - }, 109 + ...mapState(["favoriteProductList", "isMore"])
  110 + }
112 }; 111 };
113 </script> 112 </script>
114 113
115 -<style scoped>  
116 - .fav-scroll-bg {  
117 - background-color: #f5f5f5; 114 +<style lang="scss" scoped>
  115 +.favorite-wrapper {
  116 + /deep/ .layout-context {
  117 + display: flex;
  118 + flex-direction: column;
118 } 119 }
  120 +
  121 + .empty {
  122 + flex: 1;
  123 + }
  124 +}
  125 +
  126 +.fav-scroll-bg {
  127 + background-color: #f5f5f5;
  128 +}
119 </style> 129 </style>
  130 +
@@ -36,6 +36,7 @@ export default { @@ -36,6 +36,7 @@ export default {
36 .news-list-title { 36 .news-list-title {
37 margin-top: 60px; 37 margin-top: 60px;
38 font-size: 40px; 38 font-size: 40px;
  39 + font-weight: bold;
39 color: #000000; 40 color: #000000;
40 } 41 }
41 .news-list-content { 42 .news-list-content {
1 <template> 1 <template>
2 <div class="bg"> 2 <div class="bg">
3 - <div class="item" v-if="list.length" v-for="(product,index) in list" @click="goDetail(product)" 3 + <div class="product-list-item" v-if="list.length" v-for="(product,index) in list" @click="goDetail(product, index)"
4 :key="index" :class="(index) % 2 === 0 && 'magrin-right'"> 4 :key="index" :class="(index) % 2 === 0 && 'magrin-right'">
5 <div class="item-top"> 5 <div class="item-top">
6 <div class="item-price"> 6 <div class="item-price">
@@ -21,15 +21,87 @@ import ImgSize from '../../../components/img-size'; @@ -21,15 +21,87 @@ import ImgSize from '../../../components/img-size';
21 export default { 21 export default {
22 props: { 22 props: {
23 list: Array, 23 list: Array,
  24 + param: Object,
  25 + },
  26 + data: function() {
  27 + return {
  28 + yasFirstId: 0,
  29 + };
24 }, 30 },
25 methods: { 31 methods: {
26 - goDetail(product) { 32 + goDetail(product, index) {
  33 + this.yasDetail(product.id,index);
27 this.$router.push({ 34 this.$router.push({
28 name: 'ProductDetail', 35 name: 'ProductDetail',
29 params: { 36 params: {
30 productId: product.id, 37 productId: product.id,
31 } 38 }
32 }); 39 });
  40 + },
  41 + yasShowEvent(height) {
  42 + // 获取列表单个元素高度
  43 + let index = 0;
  44 +
  45 + if (height) {
  46 + // 获取第一个曝光元素
  47 + let item = document.querySelector('.product-list-item');
  48 + let itemHeight = item.offsetHeight;
  49 + let row = parseInt((height - 12) / itemHeight) + 1;
  50 +
  51 + index = row * 2 - 2;
  52 + }
  53 +
  54 + // 获取曝光列表
  55 + let list = [];
  56 +
  57 + for (let i = 0; i < 6; i++) {
  58 + if (this.list[i + index]) {
  59 + list.push(this.list[i + index]);
  60 + }
  61 + }
  62 +
  63 + // 判断是否是重复曝光
  64 + if (list.length && list[0].id !== this.yasFirstId) {
  65 + this.yasFirstId = list[0].id;
  66 +
  67 + // 1.P_NAME:页面名称,XY_UFOSearchList,XY_UFOSeriesList,XY_UFOBrandList、XY_UFOProductPoolList等;
  68 + // 2.TYPE_ID:列表页入口类型,1-搜索结果页,2-系列,3-品牌,4-商品池;
  69 + // 3.P_PARAM:页面参数,搜索关键词,系列ID,品牌ID,商品池ID;
  70 + // 4.TAB_ID:tab切id,1-人气,2-价格,3-新品;
  71 + // 5.TAB_NAME:tab切名称,人气,价格,新品;
  72 + // 6.I_INDEX:曝光顺序;
  73 + // 7.PRD_ID:商品id;
  74 + let DATA = [];
  75 +
  76 + list.map((value, i) => {
  77 + DATA.push({...this.param, I_INDEX: i + index, PRD_ID: value.id});
  78 + });
  79 + console.log(DATA)
  80 + this.$store.dispatch('reportYas', {
  81 + params: {
  82 + param: {DATA},
  83 + appop: 'XY_UFO_SHOW_EVENT'
  84 + }
  85 + });
  86 + }
  87 + },
  88 +
  89 + yasDetail(id, index) {
  90 + // XY_UFO_PRD_LIST_C
  91 + // 1.P_NAME:页面名称,XY_UFOSearchList,XY_UFOSeriesList,XY_UFOBrandList、XY_UFOProductPoolList等;
  92 + // 2.TYPE_ID:列表页入口类型,1-搜索结果页,2-系列,3-品牌,4-商品池;
  93 + // 3.P_PARAM:页面参数,搜索关键词,系列ID,品牌ID,商品池ID;
  94 + // 4.TAB_ID:tab切id,1-人气,2-价格,3-新品;
  95 + // 5.TAB_NAME:tab切名称,人气,价格,新品;
  96 + // 6.I_INDEX:商品顺序号,从1开始递增;
  97 + // 7.PRD_ID:商品id
  98 + console.log({...this.param, I_INDEX: index, PRD_ID: id })
  99 + this.$store.dispatch('reportYas', {
  100 + params: {
  101 + param: {...this.param, I_INDEX: index, PRD_ID: id },
  102 + appop: 'XY_UFO_SHOW_EVENT'
  103 + }
  104 + });
33 } 105 }
34 }, 106 },
35 components: { 107 components: {
@@ -44,7 +116,7 @@ export default { @@ -44,7 +116,7 @@ export default {
44 margin-right: 14px; 116 margin-right: 14px;
45 } 117 }
46 118
47 - .item { 119 + .product-list-item {
48 border-radius: 16px; 120 border-radius: 16px;
49 width: 344px; 121 width: 344px;
50 padding: 24px; 122 padding: 24px;
@@ -169,7 +169,6 @@ export default { @@ -169,7 +169,6 @@ export default {
169 for (let key in filter) { 169 for (let key in filter) {
170 filterParams[key] = filter[key]; 170 filterParams[key] = filter[key];
171 } 171 }
172 - console.log(filterParams);  
173 this.filterParams = filterParams; 172 this.filterParams = filterParams;
174 } 173 }
175 }, 174 },
@@ -19,12 +19,14 @@ @@ -19,12 +19,14 @@
19 </div> 19 </div>
20 </div> 20 </div>
21 <Scroll ref="scroll" class="product-list" v-show="!productList.isEmpty" 21 <Scroll ref="scroll" class="product-list" v-show="!productList.isEmpty"
  22 + :scroll-events="['scroll-end']"
22 :options="scrollOptions" 23 :options="scrollOptions"
23 :data="productList.list" 24 :data="productList.list"
  25 + @scroll-end="scrollHandler"
24 @pulling-up="onPullingUp"> 26 @pulling-up="onPullingUp">
25 - <ProductList :list="productList.list"></ProductList> 27 + <ProductList ref="product" :list="productList.list" :param="yasParams"></ProductList>
26 </Scroll> 28 </Scroll>
27 - <EmptyList class="empty-wrapper product-list" :tip="`暂无数据`" v-show="productList.isEmpty" > 29 + <EmptyList class="empty-wrapper product-list" :tip="`暂无数据`" v-show="productList.isEmpty">
28 </EmptyList> 30 </EmptyList>
29 </LayoutApp> 31 </LayoutApp>
30 <Filtrate ref="filtrate"></Filtrate> 32 <Filtrate ref="filtrate"></Filtrate>
@@ -48,19 +50,21 @@ export default { @@ -48,19 +50,21 @@ export default {
48 Filtrate, 50 Filtrate,
49 EmptyList 51 EmptyList
50 }, 52 },
51 - data() { 53 + data: function () {
52 return { 54 return {
53 scrollOptions: { 55 scrollOptions: {
54 bounce: { 56 bounce: {
55 top: false 57 top: false
56 }, 58 },
57 - pullUpLoad: true 59 + pullUpLoad: true,
  60 + pullDownRefresh: false
58 }, 61 },
59 fixed: false, 62 fixed: false,
60 selectedType: 2, // tab类型高亮 63 selectedType: 2, // tab类型高亮
61 priceDesc: true, 64 priceDesc: true,
62 arrowImage: '', 65 arrowImage: '',
63 title: '', 66 title: '',
  67 + yasParams: {P_NAME: 'XY_UFOSearchList', TYPE_ID: 1},
64 productList: { 68 productList: {
65 showErrorPage: false, 69 showErrorPage: false,
66 isFetching: false, 70 isFetching: false,
@@ -98,6 +102,7 @@ export default { @@ -98,6 +102,7 @@ export default {
98 this.changeArrow(); 102 this.changeArrow();
99 let params = {...this.$route.query}; 103 let params = {...this.$route.query};
100 104
  105 + this.setYasParam({param: params, tab: {index: 1, name: '人气'}});
101 if (params.title) { 106 if (params.title) {
102 this.title = params.title; 107 this.title = params.title;
103 delete params.title; 108 delete params.title;
@@ -120,6 +125,12 @@ export default { @@ -120,6 +125,12 @@ export default {
120 await this.fetchList(); 125 await this.fetchList();
121 }, 126 },
122 127
  128 + scrollHandler({y}) {
  129 + let height = -y;
  130 +
  131 + this.$refs.product.yasShowEvent(height);
  132 + },
  133 +
123 // 查询商品列表 134 // 查询商品列表
124 fetchList: async function(params) { 135 fetchList: async function(params) {
125 let searchParams = this.searchParams; 136 let searchParams = this.searchParams;
@@ -190,18 +201,21 @@ export default { @@ -190,18 +201,21 @@ export default {
190 201
191 this.selectedType = flag; 202 this.selectedType = flag;
192 if (flag === 1) { 203 if (flag === 1) {
  204 + this.setYasParam({tab: {index: 2, name: '价格'}});
193 this.priceDesc = !this.priceDesc; 205 this.priceDesc = !this.priceDesc;
194 - params.order = this.priceDesc ? 'p_desc' : 'p_asc'; 206 + params.order = this.priceDesc ? 'availableNowPrice:asc' : 'availableNowPrice:desc';
195 } else if (flag === 2) { 207 } else if (flag === 2) {
  208 + this.setYasParam({tab: {index: 1, name: '人气'}});
196 this.priceDesc = true; 209 this.priceDesc = true;
197 params.order = 'sale_desc'; 210 params.order = 'sale_desc';
198 } else if (flag === 3) { 211 } else if (flag === 3) {
  212 + this.setYasParam({tab: {index: 3, name: '新品'}});
199 this.priceDesc = true; 213 this.priceDesc = true;
200 params.order = 'st_desc'; 214 params.order = 'st_desc';
201 } 215 }
202 params.isReset = true; 216 params.isReset = true;
203 this.fetchList(params); 217 this.fetchList(params);
204 - this.$refs.scroll.scrollTo(0, 0, 300) 218 + this.$refs.scroll.scrollTo(0, 0, 300);
205 this.changeArrow(); 219 this.changeArrow();
206 }, 220 },
207 goSearch() { 221 goSearch() {
@@ -215,7 +229,43 @@ export default { @@ -215,7 +229,43 @@ export default {
215 }, 229 },
216 goFilter() { 230 goFilter() {
217 this.$refs.filtrate.show(); 231 this.$refs.filtrate.show();
218 - } 232 + },
  233 + setYasParam: function({param, tab}) {
  234 + if (param && typeof param === 'object' && Object.keys(param).length) {
  235 + let P_NAME = 'XY_UFOSearchList', TYPE_ID = 1;
  236 +
  237 + for (let key in param) {
  238 + if (key === 'brand' && param[key] && param.type !== 6) {
  239 + P_NAME = 'XY_UFOBrandList';
  240 + TYPE_ID = 3;
  241 + }
  242 + if (key === 'series' && param[key] && param.type !== 6) {
  243 + P_NAME = 'XY_UFOSeriesList';
  244 + TYPE_ID = 2;
  245 + }
  246 + if (key === 'productPool' && param[key] && param.type !== 6) {
  247 + P_NAME = 'XY_UFOProductPoolList';
  248 + TYPE_ID = 4;
  249 + }
  250 + if (!param[key]) {
  251 + delete param[key];
  252 + }
  253 + }
  254 + Object.assign(this.yasParams, {
  255 + P_NAME,
  256 + P_PARAM: JSON.stringify(param),
  257 + TYPE_ID,
  258 + TAB_ID: this.tabIndex || '',
  259 + TAB_NAME: this.tabName || ''
  260 + });
  261 + }
  262 +
  263 + if(tab && typeof tab === 'object' && Object.keys(tab).length) {
  264 + this.yasParams.TAB_ID = tab.index;
  265 + this.yasParams.TAB_NAME = tab.name;
  266 + }
  267 + },
  268 +
219 } 269 }
220 }; 270 };
221 </script> 271 </script>
1 <!--买家求购确认页--> 1 <!--买家求购确认页-->
2 <template> 2 <template>
3 <LayoutApp :show-back="true" title="出价求购"> 3 <LayoutApp :show-back="true" title="出价求购">
  4 + <Scroll :options="options">
4 <div class="body" ref="body"> 5 <div class="body" ref="body">
  6 +
5 <div class="topContainer"> 7 <div class="topContainer">
6 <!--<div class="topView">--> 8 <!--<div class="topView">-->
7 <!--<div class="title"></div>--> 9 <!--<div class="title"></div>-->
@@ -73,6 +75,7 @@ @@ -73,6 +75,7 @@
73 <div class="line"></div> 75 <div class="line"></div>
74 76
75 </div> 77 </div>
  78 +
76 </div> 79 </div>
77 <div class="bottomContainer"> 80 <div class="bottomContainer">
78 <OrderAgree :value="isAgreeTerms" @input="isAgreeTerms = !isAgreeTerms" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree> 81 <OrderAgree :value="isAgreeTerms" @input="isAgreeTerms = !isAgreeTerms" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree>
@@ -80,12 +83,13 @@ @@ -80,12 +83,13 @@
80 <YohoButton class="submit-btn" :txt="submitText" :disable="!isAgreeTerms" @click="submitClick"></YohoButton> 83 <YohoButton class="submit-btn" :txt="submitText" :disable="!isAgreeTerms" @click="submitClick"></YohoButton>
81 </div> 84 </div>
82 </div> 85 </div>
  86 + </Scroll>
83 </LayoutApp> 87 </LayoutApp>
84 </template> 88 </template>
85 89
86 <script> 90 <script>
87 91
88 -import {Input, Button} from 'cube-ui'; 92 +import {Input, Button, Scroll} from 'cube-ui';
89 import OrderAddress from './components/confirm/address'; 93 import OrderAddress from './components/confirm/address';
90 import DayChoose from './components/askorder/day-choose'; 94 import DayChoose from './components/askorder/day-choose';
91 import OrderAgree from './components/confirm/agree'; 95 import OrderAgree from './components/confirm/agree';
@@ -103,6 +107,7 @@ export default { @@ -103,6 +107,7 @@ export default {
103 Input, 107 Input,
104 OrderAddress, 108 OrderAddress,
105 Button, 109 Button,
  110 + Scroll,
106 }, 111 },
107 data() { 112 data() {
108 return { 113 return {
@@ -111,6 +116,7 @@ export default { @@ -111,6 +116,7 @@ export default {
111 url: 'https://activity.yoho.cn/feature/6775.html?share_id=9481&title=%E9%97%B2%E9%B1%BC%E4%B9%B0%E5%AE%B6%E5%8D%8F%E8%AE%AE', 116 url: 'https://activity.yoho.cn/feature/6775.html?share_id=9481&title=%E9%97%B2%E9%B1%BC%E4%B9%B0%E5%AE%B6%E5%8D%8F%E8%AE%AE',
112 agreeDesc: '有货买家协议', 117 agreeDesc: '有货买家协议',
113 submitText: '提交', 118 submitText: '提交',
  119 + options: {pullDownRefresh: false}
114 }; 120 };
115 }, 121 },
116 122
1 <!--卖家求购变现--> 1 <!--卖家求购变现-->
2 <template> 2 <template>
3 <LayoutApp :show-back="true" title="变现"> 3 <LayoutApp :show-back="true" title="变现">
  4 + <Scroll :options="options">
4 <div class="body"> 5 <div class="body">
5 <!--<TitleComp txt="变现"></TitleComp>--> 6 <!--<TitleComp txt="变现"></TitleComp>-->
  7 +
6 <ProductInfo :data="originProductData" class="product-info" :priceType="'现货最高求购价:'"></ProductInfo> 8 <ProductInfo :data="originProductData" class="product-info" :priceType="'现货最高求购价:'"></ProductInfo>
7 <div class="inputView"> 9 <div class="inputView">
8 <span class="inputViewIcon"> 10 <span class="inputViewIcon">
@@ -13,13 +15,16 @@ @@ -13,13 +15,16 @@
13 <OrderMargin class="order-item order-margin" :data="computeTip" :url="url" :superSell="isEntry" ></OrderMargin> 15 <OrderMargin class="order-item order-margin" :data="computeTip" :url="url" :superSell="isEntry" ></OrderMargin>
14 <OrderFee class="order-item" :data="computeTip"></OrderFee> 16 <OrderFee class="order-item" :data="computeTip"></OrderFee>
15 <AddressInfo :data="addressInfo" class="order-item"></AddressInfo> 17 <AddressInfo :data="addressInfo" class="order-item"></AddressInfo>
  18 +
16 </div> 19 </div>
  20 + </Scroll>
17 <div class="footer"> 21 <div class="footer">
18 <OrderAgree :value="isAgreeTerms" @input="isAgreeTerms = !isAgreeTerms" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree> 22 <OrderAgree :value="isAgreeTerms" @input="isAgreeTerms = !isAgreeTerms" class="agree-wrapper" :desc="agreeDesc" :url="url"></OrderAgree>
19 <div class="btn-wrapper"> 23 <div class="btn-wrapper">
20 <YohoButton :txt="submitText"class="submit-btn" :disable="!isAgreeTerms" @click="submitClick"></YohoButton> 24 <YohoButton :txt="submitText"class="submit-btn" :disable="!isAgreeTerms" @click="submitClick"></YohoButton>
21 </div> 25 </div>
22 </div> 26 </div>
  27 +
23 </LayoutApp> 28 </LayoutApp>
24 </template> 29 </template>
25 30
@@ -64,6 +69,7 @@ export default { @@ -64,6 +69,7 @@ export default {
64 url: 'http://m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={\"action\":\"go.h5\",\"params\":{\"url\":\"https://activity.yoho.cn/feature/3187.html?title=卖家协议\"}}', 69 url: 'http://m.yohobuy.com/activity/student/detail/renzhen?openby:yohobuy={\"action\":\"go.h5\",\"params\":{\"url\":\"https://activity.yoho.cn/feature/3187.html?title=卖家协议\"}}',
65 isEntry: false, 70 isEntry: false,
66 submitText: '提交', 71 submitText: '提交',
  72 + options: {pullDownRefresh: false},
67 }; 73 };
68 }, 74 },
69 75
@@ -66,7 +66,7 @@ export default { @@ -66,7 +66,7 @@ export default {
66 } 66 }
67 67
68 span { 68 span {
69 - font-size: 0.8em; 69 + font-size: 0.7em;
70 line-height: 1.4; 70 line-height: 1.4;
71 border: 1px solid #f00;; 71 border: 1px solid #f00;;
72 color: #f00; 72 color: #f00;
@@ -91,7 +91,7 @@ export default { @@ -91,7 +91,7 @@ export default {
91 91
92 .sub { 92 .sub {
93 color: #999; 93 color: #999;
94 - font-size: 0.8em; 94 + font-size: 22px;
95 } 95 }
96 } 96 }
97 </style> 97 </style>