Commit ff5baa035f4016e824fce151cf7caf997ed1fc3d

Authored by 王强
1 parent 90502b38

购好物,8月需求开发中~

src/components/goodsItem_10/goodsItem_10.less
@@ -57,9 +57,32 @@ @@ -57,9 +57,32 @@
57 overflow: hidden; 57 overflow: hidden;
58 } 58 }
59 } 59 }
  60 + .prices-box {
  61 + display: flex;
  62 + justify-content: center;
  63 + align-items: baseline;
  64 + height: 28px;
  65 + line-height: 28px;
  66 + .symbol {
  67 + color: #AAAAAA;
  68 + font-size: 22px;
  69 + font-weight: 300;
  70 + text-decoration: line-through;
  71 + }
  72 + .prices {
  73 + color: #AAAAAA;
  74 + font-size: 22px;
  75 + font-weight: 300;
  76 + text-decoration: line-through;
  77 + }
  78 + }
  79 + .prices-pl-box {
  80 + height: 28px;
  81 + line-height: 28px;
  82 + }
60 } 83 }
61 84
62 - &.pid-2 { // 排名样式 85 + &.pid-2, &.pid-4 { // 积分样式
63 .content-box { 86 .content-box {
64 .price-box { 87 .price-box {
65 justify-content: center; 88 justify-content: center;
src/components/goodsItem_10/goodsItem_10.vue
@@ -8,22 +8,31 @@ @@ -8,22 +8,31 @@
8 </div> 8 </div>
9 <div class="content-box" v-if="item.price || item.num"> 9 <div class="content-box" v-if="item.price || item.num">
10 10
11 - <div class="price-box" v-if="pid == '1'"> 11 + <div class="price-box" v-if="pid == '1' || pid == '3'">
12 <div class="symbol">¥</div> 12 <div class="symbol">¥</div>
13 <div class="price">{{item.price}}</div> 13 <div class="price">{{item.price}}</div>
14 - <!-- <div class="prices" v-if="(pid == '1') && item.prices && parseFloat(item.prices) > 0 && parseFloat(item.prices) > parseFloat(item.price)">¥{{item.prices}}</div> --> 14 + <!-- <div class="prices" v-if="(pid == '1' || pid == '3') && item.prices && parseFloat(item.prices) > 0 && parseFloat(item.prices) > parseFloat(item.price)">¥{{item.prices}}</div> -->
15 </div> 15 </div>
16 16
17 - <!-- <div class="price-box" v-if="pid == '2' && item.price && parseFloat(item.price) > 0"> 17 + <!-- <div class="price-box" v-if="(pid == '2' || pid == '4') && item.price && parseFloat(item.price) > 0">
18 <div class="symbol">¥</div> 18 <div class="symbol">¥</div>
19 <div class="price">{{item.price}}</div> 19 <div class="price">{{item.price}}</div>
20 </div> --> 20 </div> -->
21 21
22 - <!-- <div class="price-box" v-else-if="pid == '2'"> -->  
23 - <div class="price-box" v-if="pid == '2'"> 22 + <!-- <div class="price-box" v-else-if="pid == '2' || pid == '4'"> -->
  23 + <div class="price-box" v-if="pid == '2' || pid == '4'">
24 <div class="price">{{item.num}}</div> 24 <div class="price">{{item.num}}</div>
25 <div class="price-text">积分</div> 25 <div class="price-text">积分</div>
26 </div> 26 </div>
  27 +
  28 + <!-- 划线价格 -->
  29 + <div class="prices-box" v-if="pid == '3' && item.prices && parseFloat(item.prices) > 0 && parseFloat(item.prices) > parseFloat(item.price)">
  30 + <div class="symbol">¥</div>
  31 + <div class="prices">{{item.prices}}</div>
  32 + </div>
  33 +
  34 + <!-- 划线价格高度占位 -->
  35 + <div class="prices-pl-box" v-else-if="pid == '4' || !item.prices || parseFloat(item.prices) <= 0"></div>
27 </div> 36 </div>
28 </div> 37 </div>
29 </template> 38 </template>
src/components/goodsItem_7/goodsItem_7.less
@@ -76,11 +76,39 @@ @@ -76,11 +76,39 @@
76 text-overflow: ellipsis; 76 text-overflow: ellipsis;
77 overflow: hidden; 77 overflow: hidden;
78 } 78 }
79 - .grey-title{  
80 - font-size: 36px;  
81 - height: 76px;  
82 - } 79 + .tags-box {
  80 + // display: flex;
  81 + // justify-content: flex-start;
  82 + // align-items: center;
  83 + .tag {
  84 + margin-top: 10px;
  85 + margin-right: 10px;
  86 + float: left;
  87 + &.week {
  88 + background-color: #FA972F;
  89 + padding: 0 8px 4px 8px;
  90 + color: #fff;
  91 + font-size: 22px;
  92 + font-weight: 500;
  93 + border-radius: 6px;
  94 + }
  95 + &.good {
  96 + background-color: #FC1541;
  97 + padding: 0 8px 4px 8px;
  98 + color: #fff;
  99 + font-size: 22px;
  100 + font-weight: 500;
  101 + border-radius: 6px;
  102 + }
  103 + }
  104 + }
  105 + .grey-title{
  106 + clear: both;
  107 + font-size: 36px;
  108 + height: 76px;
  109 + }
83 .coupon-box { 110 .coupon-box {
  111 + clear: both;
84 display: inline; 112 display: inline;
85 margin-top: 8px; 113 margin-top: 8px;
86 padding: 1px 6px; 114 padding: 1px 6px;
@@ -90,11 +118,12 @@ @@ -90,11 +118,12 @@
90 border-radius: 4px; 118 border-radius: 4px;
91 } 119 }
92 .price-box { 120 .price-box {
  121 + clear: both;
93 display: flex; 122 display: flex;
94 justify-content: space-between; 123 justify-content: space-between;
95 align-items: center; 124 align-items: center;
96 - margin-top: 10px;  
97 margin-bottom: 20px; 125 margin-bottom: 20px;
  126 + padding-top: 10px;
98 .left { 127 .left {
99 display: flex; 128 display: flex;
100 justify-content: flex-start; 129 justify-content: flex-start;
@@ -123,6 +152,7 @@ @@ -123,6 +152,7 @@
123 } 152 }
124 /**积分显示*/ 153 /**积分显示*/
125 .grade-box { 154 .grade-box {
  155 + clear: both;
126 height: 50px; 156 height: 50px;
127 font-size: 36px; 157 font-size: 36px;
128 font-weight: 500; 158 font-weight: 500;
@@ -132,14 +162,14 @@ @@ -132,14 +162,14 @@
132 align-items: center; 162 align-items: center;
133 /**红色字*/ 163 /**红色字*/
134 .num{ 164 .num{
135 - font-size: 36px;  
136 - font-weight: 500;  
137 - color: #FC1541; 165 + font-size: 36px;
  166 + font-weight: 500;
  167 + color: #FC1541;
138 } 168 }
139 /**健康商城商品颜色*/ 169 /**健康商城商品颜色*/
140 .grey-box{ 170 .grey-box{
141 - color: #3EB781;  
142 - font-size: 36px; 171 + color: #3EB781;
  172 + font-size: 36px;
143 } 173 }
144 span { 174 span {
145 font-size: 24px; 175 font-size: 24px;
@@ -150,20 +180,21 @@ @@ -150,20 +180,21 @@
150 } 180 }
151 /**积分加现金*/ 181 /**积分加现金*/
152 .price-title-box{ 182 .price-title-box{
153 - height: 42px;  
154 - font-size: 30px;  
155 - font-weight: 400;  
156 - color: #FC1541;  
157 - line-height: 42px;  
158 - overflow: hidden;  
159 - text-overflow: ellipsis;  
160 - white-space: nowrap; 183 + clear: both;
  184 + height: 42px;
  185 + font-size: 30px;
  186 + font-weight: 400;
  187 + color: #FC1541;
  188 + line-height: 42px;
  189 + overflow: hidden;
  190 + text-overflow: ellipsis;
  191 + white-space: nowrap;
161 } 192 }
162 } 193 }
163 - /*兼容积分商城样式*/  
164 - .integral-content-box{  
165 - width: 100%;  
166 - } 194 + /*兼容积分商城样式*/
  195 + .integral-content-box{
  196 + width: 100%;
  197 + }
167 &.g-2 { 198 &.g-2 {
168 .content-box { 199 .content-box {
169 .title { 200 .title {
@@ -195,4 +226,4 @@ @@ -195,4 +226,4 @@
195 } 226 }
196 } 227 }
197 } 228 }
198 -} 229 -}
  230 +}
199 \ No newline at end of file 231 \ No newline at end of file
src/components/goodsItem_7/goodsItem_7.vue
@@ -2,15 +2,17 @@ @@ -2,15 +2,17 @@
2 <div class="goods-item-7-box" v-if="item" @click="jump(item)"> 2 <div class="goods-item-7-box" v-if="item" @click="jump(item)">
3 <div class="item" :class="'g-' + goodType"> 3 <div class="item" :class="'g-' + goodType">
4 <div class="img-box"> 4 <div class="img-box">
  5 +
  6 + <!-- 产品图片 -->
5 <img v-lazy="item.simg + SIGN.MIDDLE" class="img" /> 7 <img v-lazy="item.simg + SIGN.MIDDLE" class="img" />
6 8
7 - <!-- 补货中按钮 -->  
8 - <div v-if="item && item.stock && item.stock == 0" class="goods_active"> 9 + <!-- 补货中提示 -->
  10 + <div v-if="item && item.stock && item.stock <= 0" class="goods_active">
9 补货中 11 补货中
10 </div> 12 </div>
11 13
12 <!-- goodType=1为积分商城定义实物商品展示tip积分+现金形式 --> 14 <!-- goodType=1为积分商城定义实物商品展示tip积分+现金形式 -->
13 - <div v-if="goodType == 1 && item && item.price && parseInt(item.price)>0" class="goods_tip"> 15 + <div v-if="goodType == 1 && item && item.price && parseInt(item.price) > 0" class="goods_tip">
14 积分+现金 16 积分+现金
15 </div> 17 </div>
16 18
@@ -18,20 +20,36 @@ @@ -18,20 +20,36 @@
18 <slot name="flag"></slot> 20 <slot name="flag"></slot>
19 </div> 21 </div>
20 <div class="content-box" :class="{'integral-content-box':company == 1 || company == 2}"> 22 <div class="content-box" :class="{'integral-content-box':company == 1 || company == 2}">
21 - <div class="title" :class="{'grey-title':company == 2}">{{item.title}}</div> 23 + <div class="title" :class="{'grey-title':company == 2}">
  24 + {{item.title}}
  25 + </div>
  26 +
  27 + <!-- 运营标签 -->
  28 + <div class="tags-box">
  29 + <div class="tag week">本周推荐</div>
  30 + <div class="tag good">好物推荐</div>
  31 + <div class="tag week">本周推荐</div>
  32 + </div>
  33 +
22 <!-- <div class="coupon-box"> 34 <!-- <div class="coupon-box">
23 满180减10 35 满180减10
24 </div> --> 36 </div> -->
25 - <!-- 积分加现金 -->  
26 - <div v-if="goodType == 1" class="price-title-box">  
27 - {{parseInt(item.num)>9999?this.formatDecimal((parseInt(item.num) / 10000), 0) +"万":item.num}}<span>积分 <span v-show="parseInt(item.price)>0">+ {{item.price}}元</span></span>  
28 - </div>  
29 - <!-- 积分 -->  
30 - <div v-else-if="company == 1 || company == 2" class="grade-box" >  
31 - <span class="num" :class="{'grey-box':company == 2}"> {{parseInt(item.num)>9999?this.formatDecimal((parseInt(item.num) / 10000), 0) +"万":item.num}}</span>  
32 - <span v-if="company==1">积分</span><span v-else>健康值</span> 37 +
  38 + <!-- 积分加现金 -->
  39 + <div v-if="goodType == 1" class="price-title-box">
  40 + {{parseInt(item.num) > 9999 ? this.formatDecimal((parseInt(item.num) / 10000), 0) + "万" : item.num}}<span>积分 <span v-show="parseInt(item.price)>0">+ {{item.price}}元</span></span>
  41 + </div>
  42 +
  43 + <!-- 积分 -->
  44 + <div v-else-if="company == 1 || company == 2" class="grade-box" >
  45 + <span class="num" :class="{'grey-box':company == 2}">
  46 + {{parseInt(item.num)>9999 ? this.formatDecimal((parseInt(item.num) / 10000), 0) + "万" : item.num}}
  47 + </span>
  48 + <span v-if="company==1">积分</span>
  49 + <span v-else>健康值</span>
33 </div> 50 </div>
34 - <!-- 价格 --> 51 +
  52 + <!-- 价格 -->
35 <div v-else class="price-box"> 53 <div v-else class="price-box">
36 <div class="left"> 54 <div class="left">
37 <div class="y">¥&nbsp;</div> 55 <div class="y">¥&nbsp;</div>
@@ -49,63 +67,63 @@ @@ -49,63 +67,63 @@
49 67
50 <script> 68 <script>
51 export default { 69 export default {
52 - data: function () {  
53 - return {  
54 -  
55 - }  
56 - },  
57 - props: ["item", "goodType", "company"],  
58 - computed: { 70 + data: function () {
  71 + return {
59 72
60 - /**  
61 - * 获取输入数字的整数部分  
62 - */  
63 - getInteger () {  
64 - return (number) => {  
65 - return parseInt(number);  
66 - } 73 + }
67 }, 74 },
  75 + props: ["item", "goodType", "company"],
  76 + computed: {
  77 +
  78 + /**
  79 + * 获取输入数字的整数部分
  80 + */
  81 + getInteger () {
  82 + return (number) => {
  83 + return parseInt(number);
  84 + }
  85 + },
68 86
69 - /**  
70 - * 获取输入数字的小数部分  
71 - */  
72 - getDecimal () {  
73 - return (number) => {  
74 -  
75 - // 拆分数字  
76 - let numberArr = number.toString().split(".");  
77 -  
78 - // 判断是否有效数部分  
79 - if (numberArr.length === 2) {  
80 - return numberArr[1];  
81 - } else {  
82 - return "00"; 87 + /**
  88 + * 获取输入数字的小数部分
  89 + */
  90 + getDecimal () {
  91 + return (number) => {
  92 +
  93 + // 拆分数字
  94 + let numberArr = number.toString().split(".");
  95 +
  96 + // 判断是否有效数部分
  97 + if (numberArr.length === 2) {
  98 + return numberArr[1];
  99 + } else {
  100 + return "00";
  101 + }
  102 + }
83 } 103 }
84 - }  
85 - }  
86 - },  
87 - methods: {  
88 -  
89 - /**  
90 - * 点击跳转  
91 - * @param {object} item [数据对象]  
92 - */  
93 - jump (item) {  
94 - this.$emit("jump", item);  
95 }, 104 },
  105 + methods: {
  106 +
  107 + /**
  108 + * 点击跳转
  109 + * @param {object} item [数据对象]
  110 + */
  111 + jump (item) {
  112 + this.$emit("jump", item);
  113 + },
96 114
97 - /**  
98 - * 主按钮点击事件  
99 - * @param {object} item [数据对象]  
100 - */  
101 - primary (item) {  
102 - this.$emit("primary", item); 115 + /**
  116 + * 主按钮点击事件
  117 + * @param {object} item [数据对象]
  118 + */
  119 + primary (item) {
  120 + this.$emit("primary", item);
  121 + }
103 } 122 }
104 - }  
105 } 123 }
106 </script> 124 </script>
107 125
108 <!-- Add "scoped" attribute to limit CSS to this component only --> 126 <!-- Add "scoped" attribute to limit CSS to this component only -->
109 <style rel="stylesheet/less" lang="less" scoped> 127 <style rel="stylesheet/less" lang="less" scoped>
110 -@import './goodsItem_7';  
111 -</style> 128 + @import './goodsItem_7';
  129 +</style>
112 \ No newline at end of file 130 \ No newline at end of file
src/pages/discountList/discountList.vue
@@ -343,7 +343,8 @@ @@ -343,7 +343,8 @@
343 343
344 // 获取证书请求接口 344 // 获取证书请求接口
345 this.http("/Api/" + (this.getApiVersion().good) + "/discountGoods", { 345 this.http("/Api/" + (this.getApiVersion().good) + "/discountGoods", {
346 - uid: this.getStore("uid") || 0 346 + uid: this.getStore("uid") || 0,
  347 + goods_id: (this.$route.query && this.$route.query.user_selected_goods_id ? this.$route.query.user_selected_goods_id : '0')
347 }, this.discountGoodsCallback, { 348 }, this.discountGoodsCallback, {
348 method: "POST" 349 method: "POST"
349 }); 350 });
src/pages/optimization2/optimization2.vue
@@ -49,7 +49,7 @@ @@ -49,7 +49,7 @@
49 <div class="section-2 shop-list" v-if="discountLists && discountLists.length"> 49 <div class="section-2 shop-list" v-if="discountLists && discountLists.length">
50 50
51 <!-- 标题 --> 51 <!-- 标题 -->
52 - <text-bg-title-com @more="toDiscountList" 52 + <text-bg-title-com
53 :titles="{ 53 :titles="{
54 bg: 'static/img/text_bg_title_bg_3.png' 54 bg: 'static/img/text_bg_title_bg_3.png'
55 }"> 55 }">
@@ -75,7 +75,7 @@ @@ -75,7 +75,7 @@
75 <!-- 商品展示样式 10 --> 75 <!-- 商品展示样式 10 -->
76 <goods-item-10 class="item" :class="'list-0'" @jump="toDiscountList(discountData.now[0])" 76 <goods-item-10 class="item" :class="'list-0'" @jump="toDiscountList(discountData.now[0])"
77 :item="discountData.now[0]" 77 :item="discountData.now[0]"
78 - pid="1"> 78 + pid="3">
79 79
80 <!-- 折扣角标 --> 80 <!-- 折扣角标 -->
81 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[0].price) < parseFloat(discountData.now[0].prices)"> 81 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[0].price) < parseFloat(discountData.now[0].prices)">
@@ -94,7 +94,7 @@ @@ -94,7 +94,7 @@
94 <!-- 商品展示样式 10 --> 94 <!-- 商品展示样式 10 -->
95 <goods-item-10 class="item" :class="'list-1'" @jump="toDiscountList(discountData.now[1])" 95 <goods-item-10 class="item" :class="'list-1'" @jump="toDiscountList(discountData.now[1])"
96 :item="discountData.now[1]" 96 :item="discountData.now[1]"
97 - pid="1"> 97 + pid="3">
98 98
99 <!-- 折扣角标 --> 99 <!-- 折扣角标 -->
100 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[1].price) < parseFloat(discountData.now[1].prices)"> 100 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[1].price) < parseFloat(discountData.now[1].prices)">
@@ -126,9 +126,9 @@ @@ -126,9 +126,9 @@
126 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[0].id"> 126 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[0].id">
127 127
128 <!-- 商品展示样式 10 --> 128 <!-- 商品展示样式 10 -->
129 - <goods-item-10 class="item" @jump="pointsMore" 129 + <goods-item-10 class="item" @jump="pointsMore(pointsData.now[0])"
130 :item="pointsData.now[0]" 130 :item="pointsData.now[0]"
131 - pid="2"> 131 + pid="4">
132 </goods-item-10> 132 </goods-item-10>
133 </div> 133 </div>
134 </transition> 134 </transition>
@@ -140,9 +140,9 @@ @@ -140,9 +140,9 @@
140 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[1].id"> 140 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[1].id">
141 141
142 <!-- 商品展示样式 10 --> 142 <!-- 商品展示样式 10 -->
143 - <goods-item-10 class="item" @jump="pointsMore" 143 + <goods-item-10 class="item" @jump="pointsMore(pointsData.now[1])"
144 :item="pointsData.now[1]" 144 :item="pointsData.now[1]"
145 - pid="2"> 145 + pid="4">
146 </goods-item-10> 146 </goods-item-10>
147 </div> 147 </div>
148 </transition> 148 </transition>
@@ -251,7 +251,7 @@ @@ -251,7 +251,7 @@
251 </div> --> 251 </div> -->
252 252
253 <!-- 热销排行 --> 253 <!-- 热销排行 -->
254 - <div class="section hot-box" ref="hotBox" v-if="sales && sales.length" @click="toHotSaleList"> 254 + <div class="section hot-box" ref="hotBox" v-if="sales && sales.length">
255 255
256 <!-- 商品样式 10 滑动 --> 256 <!-- 商品样式 10 滑动 -->
257 <!-- <horiz-list class="components-box" 257 <!-- <horiz-list class="components-box"
@@ -269,12 +269,12 @@ @@ -269,12 +269,12 @@
269 </horiz-list> --> 269 </horiz-list> -->
270 270
271 <!-- 热销商品自动滚动 --> 271 <!-- 热销商品自动滚动 -->
272 - <marquee-box class="marquee-box" 272 + <marquee-box class="marquee-box" @jump="toDetail"
273 :lists="sales" 273 :lists="sales"
274 :options="marqueeOptions"> 274 :options="marqueeOptions">
275 275
276 <!-- 标题 --> 276 <!-- 标题 -->
277 - <text-bg-title-com slot="title-box" 277 + <text-bg-title-com slot="title-box" @more="toHotSaleList"
278 :titles="{ 278 :titles="{
279 bg: 'static/img/text_bg_title_bg_5.png', 279 bg: 'static/img/text_bg_title_bg_5.png',
280 more: true 280 more: true
@@ -912,10 +912,10 @@ @@ -912,10 +912,10 @@
912 // 设置跳转参数 912 // 设置跳转参数
913 let params = { 913 let params = {
914 type: '5', 914 type: '5',
915 - to: window.location.origin + window.location.pathname + '#/discountList', 915 + to: window.location.origin + window.location.pathname + '#/discountList' + (item && item.id ? '?user_selected_goods_id=' + item.id : ''),
916 shop_type: '' 916 shop_type: ''
917 }; 917 };
918 - 918 +
919 // 页面跳转 919 // 页面跳转
920 this.$parent.gotoDetail(params); 920 this.$parent.gotoDetail(params);
921 } 921 }
@@ -1022,7 +1022,7 @@ @@ -1022,7 +1022,7 @@
1022 // 设置跳转参数 1022 // 设置跳转参数
1023 let params = { 1023 let params = {
1024 type: '5', 1024 type: '5',
1025 - to: window.location.origin + window.location.pathname + '#/pointsMall', 1025 + to: window.location.origin + window.location.pathname + '#/pointsMall' + (item && item.id ? '?user_selected_goods_id=' + item.id : ''),
1026 shop_type: '' 1026 shop_type: ''
1027 }; 1027 };
1028 1028