Commit e7ee243fd5478394e29b060352f8e59007567637

Authored by zhiyangdu
1 parent 5ea9febc

党建积分商城兑换

src/pages/partyBuildingGoodDetails/partyBuildingGoodDetails.vue
@@ -54,7 +54,8 @@ @@ -54,7 +54,8 @@
54 </div> 54 </div>
55 <!-- 商品信息 --> 55 <!-- 商品信息 -->
56 <div class="goods-info"> 56 <div class="goods-info">
57 - <div class="good-title"> 57 + <div v-if="goodsInfo && goodsInfo.content"
  58 + class="good-title">
58 <span class="left"></span>商品详情 59 <span class="left"></span>商品详情
59 <span class="right"></span> 60 <span class="right"></span>
60 </div> 61 </div>
src/pages/partyBuildingPointsMall/partyBuildingPointsMall.less
@@ -26,6 +26,89 @@ @@ -26,6 +26,89 @@
26 height: 93px; 26 height: 93px;
27 } 27 }
28 } 28 }
  29 + // 头部
  30 + .top_main{
  31 + margin:40px 30px;
  32 + padding: 30px;
  33 + background: #FFFFFF;
  34 + box-shadow: 0px 0px 24px 0px rgba(0, 0, 0, 0.06);
  35 + border-radius: 24px;
  36 + .top{
  37 + display: flex;
  38 + justify-content: space-between;
  39 + .left{
  40 + height: 40px;
  41 + font-size: 28px;
  42 + font-weight: 400;
  43 + color: #45270D;
  44 + line-height: 40px;
  45 + span{
  46 + margin-left: 8px;
  47 + height: 40px;
  48 + font-size: 28px;
  49 + font-weight: 500;
  50 + color: #F5A623;
  51 + line-height: 40px;
  52 + }
  53 + }
  54 + .right{
  55 + height: 33px;
  56 + font-size: 24px;
  57 + font-weight: 400;
  58 + color: #999999;
  59 + line-height: 33px;
  60 + display: flex;
  61 + justify-content: center;
  62 + align-items: center;
  63 + .back_right_iocn{
  64 + display: block;
  65 + width: 20px;
  66 + height:20px;
  67 + margin-left: 10px;
  68 + }
  69 + }
  70 + }
  71 + //赚取积分
  72 + .earn_points_box{
  73 + height: 90px;
  74 + background: #FFF8E8;
  75 + border-radius: 12px;
  76 + display:flex;
  77 + justify-content: space-between;
  78 + align-items: center;
  79 + padding: 20px 20px;
  80 + margin-top: 20px;
  81 + .earn_icon{
  82 + display: block;
  83 + width: 36px;
  84 + height:36px;
  85 + }
  86 + .desc{
  87 + height: 90px;
  88 + font-size: 26px;
  89 + font-weight: 400;
  90 + color: #746037;
  91 + line-height: 90px;
  92 + }
  93 + .btn{
  94 + font-size: 24px;
  95 + padding: 0 20px;
  96 + height: 50px;
  97 + background: #DAB277;
  98 + border-radius: 26px;
  99 + color: #fff;
  100 + text-align: center;
  101 + display: flex;
  102 + align-items: center;
  103 + .earn_right_back{
  104 + display: block;
  105 + width: 9px;
  106 + height: 18px;
  107 + margin-left: 8px;
  108 + }
  109 + }
  110 + }
  111 + }
29 .back-box{ 112 .back-box{
30 background-color: #FFF; 113 background-color: #FFF;
31 position:fixed; 114 position:fixed;
src/pages/partyBuildingPointsMall/partyBuildingPointsMall.vue
@@ -18,6 +18,34 @@ @@ -18,6 +18,34 @@
18 :style="'padding-top: ' + $parent.top.value + 'px'" 18 :style="'padding-top: ' + $parent.top.value + 'px'"
19 :class="{'is-cnlive': isCNLive.value, 'is-open-app': $parent.isOpenApp.value, 'hide': $route.query.hideBack == true}"></div> 19 :class="{'is-cnlive': isCNLive.value, 'is-open-app': $parent.isOpenApp.value, 'hide': $route.query.hideBack == true}"></div>
20 <!-- 商品样式 7 列表 --> 20 <!-- 商品样式 7 列表 -->
  21 + <div class="top_main">
  22 + <!-- 头部 -->
  23 + <div class="top">
  24 + <div class="left">
  25 + 我的积分:
  26 + <span>{{myGrade || 0}}</span>
  27 + </div>
  28 + <div @click="toExchangeRecord"
  29 + class="right">
  30 + 兑换记录
  31 + <!-- 返回图标 -->
  32 + <img class="back_right_iocn"
  33 + src="static/img/points_icon_grey_right.png"
  34 + alt="" />
  35 + </div>
  36 + </div>
  37 + <!--积分赚取 -->
  38 + <div class="earn_points_box">
  39 + <img class="earn_icon"
  40 + src="static/img/points_icon_pice.png"
  41 + alt="">
  42 + <div class="desc">赚取更多积分,兑换精美礼品~</div>
  43 + <div @click="jumpClientIntegralList"
  44 + class="btn">赚积分 <img class="earn_right_back"
  45 + src="static/img/points_icon_white_right.png"
  46 + alt="" /></div>
  47 + </div>
  48 + </div>
21 <div class="gift_main_box" 49 <div class="gift_main_box"
22 v-if="phyicalGoods && phyicalGoods.list && phyicalGoods.list.length" 50 v-if="phyicalGoods && phyicalGoods.list && phyicalGoods.list.length"
23 infinite-scroll-immediate-check="true" 51 infinite-scroll-immediate-check="true"
@@ -54,6 +82,7 @@ export default { @@ -54,6 +82,7 @@ export default {
54 name: 'morePoints', 82 name: 'morePoints',
55 data () { 83 data () {
56 return { 84 return {
  85 + myGrade: 0, // 我的积分
57 title: "积分商城", // 标题 86 title: "积分商城", // 标题
58 backs: null, // 后退按钮组 87 backs: null, // 后退按钮组
59 loading: true, 88 loading: true,
@@ -95,6 +124,22 @@ export default { @@ -95,6 +124,22 @@ export default {
95 }, 124 },
96 //方法表示一个具体的操作,主要书写业务逻辑; 125 //方法表示一个具体的操作,主要书写业务逻辑;
97 methods: { 126 methods: {
  127 + /**
  128 + * 跳转到兑换记录详情页
  129 + * @param {Object} item [数据对象]
  130 + */
  131 + toExchangeRecord () {
  132 + // 校验登录
  133 + if (this.$parent.checkLogin()) {
  134 + this.$router.push({
  135 + path: '/pointsExchangeRecords',
  136 + query: {
  137 + uid: this.getStore("uid"),
  138 + type: 3 // 1亲子嘉年华 2 康疫健步 3 积分商城 4 脐橙 7 健康商城
  139 + }
  140 + })
  141 + }
  142 + },
98 /** 143 /**
99 * 上拉加载 144 * 上拉加载
100 */ 145 */
@@ -198,7 +243,75 @@ export default { @@ -198,7 +243,75 @@ export default {
198 } 243 }
199 } 244 }
200 }, 245 },
  246 + /**
  247 + * 跳转赚取积分页面
  248 + * @param {Object} item [数据对象]
  249 + */
  250 + jumpClientIntegralList () {
  251 + // 判断APP内
  252 + if (this.isCNLive.value) {
  253 + // 校验登录
  254 + if (this.$parent.checkLogin()) {
  255 + // (判断app内是否有该方法)
  256 + if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.jumpClientIntegralList) {
  257 + // 跳转到原生的任务列表
  258 + window.webkit.messageHandlers.jumpClientIntegralList.postMessage({ body: {} });
  259 + } else if (window.obj && window.obj.jumpClientIntegralList) {
  260 + // 跳转到原生的任务列表
  261 + window.obj.jumpClientIntegralList();
  262 + }
  263 + }
  264 + } else {
  265 + this.$parent.callApp();
  266 + }
  267 + },
  268 + // 积分商场首页
  269 + /**
  270 + * 获取积分商场首页信息
  271 + * * @param {string} uid [用户id]
  272 + */
  273 + integralMallIndex () {
  274 +
  275 + // 加载中提示
  276 + Indicator.open('加载中...');
  277 +
  278 + // 请求接口
  279 + this.http("/Api/" + (this.getApiVersion().LuckDraw) + "/integralNewIndex", {
  280 + uid: this.getStore("uid"),
  281 + goods_id:this.$route.query.user_selected_goods_id || 0 // 记录从优选库那个商品点击进入进来的
  282 + }, this.integralMallIndexCallback, {
  283 + method: "POST"
  284 + });
  285 + },
  286 +
  287 + /**
  288 + * 获取积分商场首页信息
  289 + * @param {object} res [服务器返回数据]
  290 + * @param {object} ext [扩展参数]
  291 + */
  292 + integralMallIndexCallback (res, ext) {
  293 +
  294 + // 加载完成
  295 + Indicator.close();
  296 +
  297 + // 返回处理
  298 + if (res.code == 200) {
201 299
  300 + // 解构数据
  301 + let { data: datas } = res;
  302 + this.info = datas
  303 + /* 积分商场首页信息 开始 */
  304 + /*用户信息 */
  305 + this.$set(this, "myGrade", datas.grade);
  306 + } else if (res.code == 400) {
  307 +
  308 + // 获取积分商场首页信息失败
  309 + Toast(res.message || "获取积分商场首页信息失败");
  310 + } else {
  311 + // 获取积分商场首页信息失败
  312 + Toast(res.message);
  313 + }
  314 + },
202 /** 315 /**
203 * 后退 316 * 后退
204 */ 317 */
@@ -231,7 +344,7 @@ export default { @@ -231,7 +344,7 @@ export default {
231 }, 344 },
232 //请求数据 345 //请求数据
233 created () { 346 created () {
234 - // 抽奖记录 347 + // 加载商品列表
235 this.getIntegralNewGoodsList(this.page); 348 this.getIntegralNewGoodsList(this.page);
236 349
237 // 判断是否在App内 350 // 判断是否在App内
@@ -255,7 +368,8 @@ export default { @@ -255,7 +368,8 @@ export default {
255 /*设置标题 */ 368 /*设置标题 */
256 this.$set(this.backs, 'title', "积分商城"); 369 this.$set(this.backs, 'title', "积分商城");
257 } 370 }
258 - 371 + // 获取积分商城商品信息接口
  372 + this.integralMallIndex();
259 }, 373 },
260 mounted () { 374 mounted () {
261 // 如果是App外,设置唤起App和微信内分享参数 375 // 如果是App外,设置唤起App和微信内分享参数