Commit ff5baa035f4016e824fce151cf7caf997ed1fc3d

Authored by 王强
1 parent 90502b38

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

src/components/goodsItem_10/goodsItem_10.less
... ... @@ -57,9 +57,32 @@
57 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 86 .content-box {
64 87 .price-box {
65 88 justify-content: center;
... ...
src/components/goodsItem_10/goodsItem_10.vue
... ... @@ -8,22 +8,31 @@
8 8 </div>
9 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 12 <div class="symbol">¥</div>
13 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 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 18 <div class="symbol">¥</div>
19 19 <div class="price">{{item.price}}</div>
20 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 24 <div class="price">{{item.num}}</div>
25 25 <div class="price-text">积分</div>
26 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 36 </div>
28 37 </div>
29 38 </template>
... ...
src/components/goodsItem_7/goodsItem_7.less
... ... @@ -76,11 +76,39 @@
76 76 text-overflow: ellipsis;
77 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 110 .coupon-box {
  111 + clear: both;
84 112 display: inline;
85 113 margin-top: 8px;
86 114 padding: 1px 6px;
... ... @@ -90,11 +118,12 @@
90 118 border-radius: 4px;
91 119 }
92 120 .price-box {
  121 + clear: both;
93 122 display: flex;
94 123 justify-content: space-between;
95 124 align-items: center;
96   - margin-top: 10px;
97 125 margin-bottom: 20px;
  126 + padding-top: 10px;
98 127 .left {
99 128 display: flex;
100 129 justify-content: flex-start;
... ... @@ -123,6 +152,7 @@
123 152 }
124 153 /**积分显示*/
125 154 .grade-box {
  155 + clear: both;
126 156 height: 50px;
127 157 font-size: 36px;
128 158 font-weight: 500;
... ... @@ -132,14 +162,14 @@
132 162 align-items: center;
133 163 /**红色字*/
134 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 170 .grey-box{
141   - color: #3EB781;
142   - font-size: 36px;
  171 + color: #3EB781;
  172 + font-size: 36px;
143 173 }
144 174 span {
145 175 font-size: 24px;
... ... @@ -150,20 +180,21 @@
150 180 }
151 181 /**积分加现金*/
152 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 198 &.g-2 {
168 199 .content-box {
169 200 .title {
... ... @@ -195,4 +226,4 @@
195 226 }
196 227 }
197 228 }
198 229 -}
  230 +}
199 231 \ No newline at end of file
... ...
src/components/goodsItem_7/goodsItem_7.vue
... ... @@ -2,15 +2,17 @@
2 2 <div class="goods-item-7-box" v-if="item" @click="jump(item)">
3 3 <div class="item" :class="'g-' + goodType">
4 4 <div class="img-box">
  5 +
  6 + <!-- 产品图片 -->
5 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 12 </div>
11 13  
12 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 17 </div>
16 18  
... ... @@ -18,20 +20,36 @@
18 20 <slot name="flag"></slot>
19 21 </div>
20 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 34 <!-- <div class="coupon-box">
23 35 满180减10
24 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 50 </div>
34   - <!-- 价格 -->
  51 +
  52 + <!-- 价格 -->
35 53 <div v-else class="price-box">
36 54 <div class="left">
37 55 <div class="y">¥&nbsp;</div>
... ... @@ -49,63 +67,63 @@
49 67  
50 68 <script>
51 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 124 </script>
107 125  
108 126 <!-- Add "scoped" attribute to limit CSS to this component only -->
109 127 <style rel="stylesheet/less" lang="less" scoped>
110   -@import './goodsItem_7';
111   -</style>
  128 + @import './goodsItem_7';
  129 +</style>
112 130 \ No newline at end of file
... ...
src/pages/discountList/discountList.vue
... ... @@ -343,7 +343,8 @@
343 343  
344 344 // 获取证书请求接口
345 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 348 }, this.discountGoodsCallback, {
348 349 method: "POST"
349 350 });
... ...
src/pages/optimization2/optimization2.vue
... ... @@ -49,7 +49,7 @@
49 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 53 :titles="{
54 54 bg: 'static/img/text_bg_title_bg_3.png'
55 55 }">
... ... @@ -75,7 +75,7 @@
75 75 <!-- 商品展示样式 10 -->
76 76 <goods-item-10 class="item" :class="'list-0'" @jump="toDiscountList(discountData.now[0])"
77 77 :item="discountData.now[0]"
78   - pid="1">
  78 + pid="3">
79 79  
80 80 <!-- 折扣角标 -->
81 81 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[0].price) < parseFloat(discountData.now[0].prices)">
... ... @@ -94,7 +94,7 @@
94 94 <!-- 商品展示样式 10 -->
95 95 <goods-item-10 class="item" :class="'list-1'" @jump="toDiscountList(discountData.now[1])"
96 96 :item="discountData.now[1]"
97   - pid="1">
  97 + pid="3">
98 98  
99 99 <!-- 折扣角标 -->
100 100 <div class="discount-flag" slot="flag" v-if="parseFloat(discountData.now[1].price) < parseFloat(discountData.now[1].prices)">
... ... @@ -126,9 +126,9 @@
126 126 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[0].id">
127 127  
128 128 <!-- 商品展示样式 10 -->
129   - <goods-item-10 class="item" @jump="pointsMore"
  129 + <goods-item-10 class="item" @jump="pointsMore(pointsData.now[0])"
130 130 :item="pointsData.now[0]"
131   - pid="2">
  131 + pid="4">
132 132 </goods-item-10>
133 133 </div>
134 134 </transition>
... ... @@ -140,9 +140,9 @@
140 140 <div class="list" v-if="pointsData.now && pointsData.now.length && pointsData.now[1].id">
141 141  
142 142 <!-- 商品展示样式 10 -->
143   - <goods-item-10 class="item" @jump="pointsMore"
  143 + <goods-item-10 class="item" @jump="pointsMore(pointsData.now[1])"
144 144 :item="pointsData.now[1]"
145   - pid="2">
  145 + pid="4">
146 146 </goods-item-10>
147 147 </div>
148 148 </transition>
... ... @@ -251,7 +251,7 @@
251 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 256 <!-- 商品样式 10 滑动 -->
257 257 <!-- <horiz-list class="components-box"
... ... @@ -269,12 +269,12 @@
269 269 </horiz-list> -->
270 270  
271 271 <!-- 热销商品自动滚动 -->
272   - <marquee-box class="marquee-box"
  272 + <marquee-box class="marquee-box" @jump="toDetail"
273 273 :lists="sales"
274 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 278 :titles="{
279 279 bg: 'static/img/text_bg_title_bg_5.png',
280 280 more: true
... ... @@ -912,10 +912,10 @@
912 912 // 设置跳转参数
913 913 let params = {
914 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 916 shop_type: ''
917 917 };
918   -
  918 +
919 919 // 页面跳转
920 920 this.$parent.gotoDetail(params);
921 921 }
... ... @@ -1022,7 +1022,7 @@
1022 1022 // 设置跳转参数
1023 1023 let params = {
1024 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 1026 shop_type: ''
1027 1027 };
1028 1028  
... ...