index.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <template>
  2. <view>
  3. <!--pages/integralshop/integralRule/index.wxml-->
  4. <!-- <text>pages/integralshop/integralRule/index.wxml</text> -->
  5. <view class="banner">
  6. 如何获取积分?
  7. <!-- <image src="/integralshop/static/integralshop/images/integral_rule_bg1.png" mode="widthFix"></image> -->
  8. </view>
  9. <view class="cont">
  10. <view class="ziyou">
  11. <!-- <rich-text :nodes="diyNodes" @tap="richImg"></rich-text>
  12. <block v-for="(item, index) in diyImgs" :key="index">
  13. <image class="img" :src="item + '?x-oss-process=style/w750-auto'" mode="widthFix" @tap="chooseImg1" :data-src="item"></image>
  14. </block> -->
  15. <mp-html :content="diyNodes" @imgtap="choose" v-if="diyNodes!='<p><br></p>'" />
  16. <view class="nodata" v-else>
  17. <image :src="picUrlss+'empty.png'"></image>
  18. <text>暂无~</text>
  19. </view>
  20. <!-- <image src="{{item}}" mode="widthFix" wx:for="{{imgs}}" wx:key="{{index}}"></image> -->
  21. </view>
  22. <view class="tits">积分获取规则</view>
  23. <view class="guize">
  24. <view class="li dflex">
  25. <label class="label">场景</label>
  26. <view class="item flex">获取规则</view>
  27. </view>
  28. <view class="lis dflex" v-for="(item,index) in ruleList" :key="index" v-if="item.state == 2">
  29. <label class="label">{{getText(item.type)}}</label>
  30. <block v-if="item.type == 1">
  31. <view class="item flex" v-if="item.giveMode == 1">首次赠送{{item.firstGiveIntegral}}积分,后续每次赠送{{item.fixedGiveIntegral}}积分</view>
  32. <view class="item flex" v-else>首次赠送{{item.firstGiveIntegral}}积分,连续叠加赠送{{item.superpositionIntegral}}积分,最多叠加{{item.maxFrequency}}次</view>
  33. </block>
  34. <view class="item flex" v-if="item.type == 2">首单赠送{{item.firstGiveIntegral}}积分,下单消费1元赠送{{item.proportionGiftsOrders}}积分</view>
  35. <view class="item flex" v-if="item.type == 3">首次赠送{{item.firstGiveIntegral}}积分,现金兑换积分比例{{item.proportionGiftsOrders}}</view>
  36. <block v-if="item.type == 7">
  37. <view class="item flex" v-if="item.giveMode == 1">首次赠送{{item.firstGiveIntegral}}积分,后续每次赠送{{item.fixedGiveIntegral}}积分</view>
  38. <view class="item flex" v-else>首次赠送{{item.firstGiveIntegral}}积分,连续叠加赠送{{item.superpositionIntegral}}积分,最多叠加{{item.maxFrequency}}次</view>
  39. </block>
  40. <block v-if="item.type == 8">
  41. <view class="item flex" v-if="item.giveMode == 1">首次赠送{{item.firstGiveIntegral}}积分,后续每次赠送{{item.fixedGiveIntegral}}积分</view>
  42. <view class="item flex" v-else>首次赠送{{item.firstGiveIntegral}}积分,连续叠加赠送{{item.superpositionIntegral}}积分,最多叠加{{item.maxFrequency}}次</view>
  43. </block>
  44. <view class="item flex" v-if="item.type == 99">首次赠送{{item.firstGiveIntegral}}积分,后续每次赠送{{item.fixedGiveIntegral}}积分</view>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. </template>
  50. <script>
  51. // pages/integralshop/integralRule/index.js
  52. const req = require("../../utils/request.js");
  53. const route = require("../../utils/route");
  54. import mpHtml from "../../components/mp-html/components/mp-html/mp-html";
  55. export default {
  56. components: {
  57. mpHtml
  58. },
  59. data() {
  60. return {
  61. picUrlss: req.public.picUrls,
  62. freshen: true,
  63. diyImgs: "",
  64. diyNodes: "",
  65. ruleList: []
  66. };
  67. },
  68. components: {},
  69. props: {},
  70. onLoad(){
  71. this.getRule();
  72. },
  73. onShow: function() {
  74. // INTEGRAL_EXPLANATION_CONFIG
  75. if (this.freshen) {
  76. route.getConfing(res => {
  77. if (res.INTEGRAL_EXPLANATION_CONFIG) {
  78. let that = this; //富文本图片放大
  79. var diyNodes = res.INTEGRAL_EXPLANATION_CONFIG;
  80. that.setData({
  81. diyNodes: diyNodes
  82. });
  83. }
  84. });
  85. }
  86. },
  87. methods: {
  88. chooseImg1: function(e) {
  89. //预览
  90. var src = e.currentTarget.dataset.src;
  91. this.setData({
  92. freshen: false
  93. });
  94. uni.previewImage({
  95. current: src,
  96. // 当前显示图片的http链接
  97. urls: this.diyImgs
  98. });
  99. },
  100. getRule(){
  101. req.getRequest('/api/integral/config',{},res=>{
  102. if(res && res.length > 0){
  103. res.map(it=>{
  104. if(it.state == 2){
  105. return it;
  106. }
  107. })
  108. this.ruleList = res;
  109. }
  110. console.log('规则=='+res)
  111. })
  112. },
  113. getText(type){
  114. let text = '';
  115. switch (type) {
  116. case 1:
  117. text = '签到送积分';
  118. break;
  119. case 2:
  120. text = '下单送积分';
  121. break;
  122. case 3:
  123. text = '现金兑换积分';
  124. break;
  125. case 4:
  126. text = '积分兑换商品';
  127. break;
  128. case 7:
  129. text = '推荐会员';
  130. break;
  131. case 8:
  132. text = '推荐分销商';
  133. break;
  134. case 99:
  135. text = '其它';
  136. break;
  137. }
  138. return text;
  139. }
  140. }
  141. };
  142. </script>
  143. <style>
  144. @import "./index.css";
  145. </style>