浏览代码

Merge branch 'dev4.5' of ssh://192.168.3.207:10022/qmx/jy into dev4.5

wangchuanjin 4 年之前
父节点
当前提交
e073d066a5
共有 20 个文件被更改,包括 1125 次插入453 次删除
  1. 36 17
      src/jfw/modules/app/src/web/staticres/jyapp/js/searchindex.js
  2. 1 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/price.js
  3. 4 0
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_index_new.js
  4. 117 13
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js
  5. 0 15
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_upgrade.js
  6. 0 6
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_UpgradePage.html
  7. 127 37
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_purchase.html
  8. 52 2
      src/jfw/modules/app/src/web/templates/vipsubscribe/vip_renew.html
  9. 8 50
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  10. 48 183
      src/jfw/modules/app/src/web/templates/weixin/search/tabSearch.html
  11. 255 0
      src/web/staticres/common-module/ent-search/ent-search-template.css
  12. 7 0
      src/web/staticres/common-module/ent-search/ent-search-template.css.map
  13. 104 0
      src/web/staticres/common-module/ent-search/ent-search-template.js
  14. 231 0
      src/web/staticres/common-module/ent-search/ent-search-template.scss
  15. 56 61
      src/web/staticres/common-module/vipsubscribe/js/vip-coupon-template.js
  16. 66 24
      src/web/staticres/common-module/vipsubscribe/js/vip-size-template.js
  17. 0 39
      src/web/staticres/frontRouter/pc/collection/css/index-pc.css
  18. 2 0
      src/web/staticres/frontRouter/pc/collection/js/index-pc.js
  19. 5 0
      src/web/staticres/js/selector/price-pc.js
  20. 6 6
      src/web/templates/frontRouter/pc/collection/sess/index.html

+ 36 - 17
src/jfw/modules/app/src/web/staticres/jyapp/js/searchindex.js

@@ -1577,14 +1577,16 @@ var SuperSearch = {
 		}
 	},
   changeKeepStatus (id, type) {
-    var aDom = $("a[sid='"+id+"']")
+    var aDom = $("p[sid='"+id+"'], a[sid='"+id+"']")
     if (aDom.length) {
-      var gDom = aDom.parents('.two-group').find('.flow-start-box')
-      if (type) {
-        gDom.addClass('fill')
-      } else {
-        gDom.removeClass('fill')
-      }
+      aDom.each(function () {
+        var gDom = $(this).parents('.two-group').find('.flow-start-box')
+        if (type) {
+          gDom.addClass('fill')
+        } else {
+          gDom.removeClass('fill')
+        }
+      })
     }
   },
   checkStartKeepStatus: function (list) {
@@ -1610,6 +1612,13 @@ var SuperSearch = {
       event.preventDefault();
       event.stopPropagation();
       console.log('收藏')
+
+      // 登陆判断
+      if(userId == ""||userId == null){
+        window.location.href = "/jyapp/free/login?to=back";
+        return;
+      }
+
       var isStartStatus = $(event.target).hasClass('.flow-start-box.fill') || $(event.target).parents('.flow-start-box.fill').length
 
       if (vKeepComponent) {
@@ -2515,6 +2524,11 @@ var SuperSearch = {
 		SuperSearch.listLength =  r["listLength"]
 		SuperSearch.myHistory = r["history"]
 		var list = r["list"]
+    if (list && list.length) {
+      SuperSearch.checkStartKeepStatus(list.map(function(v) {
+        return v._id
+      }))
+    }
 		var homeListHtml = '';
 		if(list!=null&&list.length>0){
 			for(var i=0;i<list.length;i++){
@@ -2535,7 +2549,10 @@ var SuperSearch = {
 				homeListHtml +='<div class="list_item" data-need-bind-phone data-onclick="'+_list["_id"]+'">'
 									+'<div class="list_title">'
 									+'<span class="serial_number">'+(i+1)+'. &nbsp;</span>'
-									+'<p>'+title+'</p>'
+                  + '<div class="two-group">'
+									+'<p sid="'+_list["_id"]+'">'+title+'</p>'
+                  + '<div class="flow-start-box"><i class="icon-flow-start"></i></div>'
+                  + '</div>'
 									+'</div>'
 									+'<div class="list_info">'
 									+'<div class="tags">'
@@ -2598,17 +2615,19 @@ var SuperSearch = {
 			}
 		}
 		SuperSearch.showHomeList(homeListHtml);
-		$("*[data-onclick]").on('click', function () {
-      SuperSearch.HomeToDetails($(this).attr('data-onclick'))
+		$("*[data-onclick]").on('click', function (e) {
+      SuperSearch.HomeToDetails($(this).attr('data-onclick'), e)
     })
 	},
-	HomeToDetails:function(id){
-		if(id!=""){
-			sessionStorage.setItem('main-list-data-set-time', JSON.stringify(new Date().getTime()))
-			sessionStorage.setItem('main-scroll-top', nowTop())
-			sessionStorage.setItem('main-save-dom', JSON.stringify($("#home_main .data_list").html()))
-			window.location.href="/jyapp/article/content/"+id+".html"
-		}
+	HomeToDetails:function(id, e){
+      if (SuperSearch.checkIsStartFn(e, { sid: id })) {
+        if(id!=""){
+          sessionStorage.setItem('main-list-data-set-time', JSON.stringify(new Date().getTime()))
+          sessionStorage.setItem('main-scroll-top', nowTop())
+          sessionStorage.setItem('main-save-dom', JSON.stringify($("#home_main .data_list").html()))
+          window.location.href="/jyapp/article/content/"+id+".html"
+        }
+      }
 	},
 	showHomeList:function(hh){
 		SuperSearch.initHomeTip();

+ 1 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/price.js

@@ -40,6 +40,7 @@ var Calculation = {
                 "oneProvince_allBuyerClass": 3800,
                 "allProvince_allBuyerClass": 59900
             },
+            "quarter": {oneProvince_allBuyerClass: 9900, allProvince_allBuyerClass: 149900},
             "year": {
                 "oneProvince_allBuyerClass": 38000,
                 "allProvince_allBuyerClass": 599900

+ 4 - 0
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_index_new.js

@@ -55,6 +55,10 @@ function getNewYearMarketing () {
 //     }
 // });
 $(function () {
+  // 清除商品规格当前选择
+  sessionStorage.removeItem("vip-cur-select-size")
+  // 清除商品优惠券当前选择
+  sessionStorage.removeItem("vip-cur-select-coupon")
   var $dialog;
   /* vue 代码 start 提交订单 */
   /* 

+ 117 - 13
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js

@@ -37,16 +37,23 @@ var renew = {
             result.area = '全国'
         } else {
             var strArr = []
-            if (buySet.areacount) {
+            if (buySet.upgrade == 1) {
+              if (buySet.areacount) {
+                strArr.push(buySet.areacount + '')
+              }
+            } else {
+              if (buySet.areacount) {
                 strArr.push(buySet.areacount + '个省')
+              }
+              if (buySet.newcitys && buySet.newcitys.length !== 0) {
+                  var count = 0
+                  buySet.newcitys.forEach(function (item) {
+                      count += item
+                  })
+                  strArr.push(count + '个市(分布在' + buySet.newcitys.length + '个省内')
+              }
             }
-            if (buySet.newcitys && buySet.newcitys.length !== 0) {
-                var count = 0
-                buySet.newcitys.forEach(function (item) {
-                    count += item
-                })
-                strArr.push(count + '个市(分布在' + buySet.newcitys.length + '个省内')
-            }
+            
             result.area = strArr.join('、')
         }
 
@@ -88,6 +95,17 @@ var renew = {
                             _this.buyInfo.buyset.upgrade || 0
                         )
                     )
+                    // 新超级订阅续费
+                    if (r.data.buyset.upgrade == 1) {
+                      $("[data-new-vip]").show()
+                      $("[data-old-vip]").hide()
+                      if (_this.buyInfo.buyset.areacount == -1) {
+                        goodsSize.props.areaCount = 16
+                      } else {
+                        goodsSize.props.areaCount = _this.buyInfo.buyset.areacount
+                      }
+                      
+                    }
                     // 初始化默认金额
                     _this.setPrice(_this.calcPrice())
                 }
@@ -101,7 +119,9 @@ var renew = {
             type: 'POST',
             success: function (r) {
                 if (r) {
-                    _this.requestRules = r
+                  _this.requestRules = r
+                  // 将价格列表传至商品规格组件
+                  goodsSize.props.priceInfo = r.new
                 }
             }
         })
@@ -113,7 +133,23 @@ var renew = {
     // 设置价格
     setPrice: function (price) {
         this.price = parseInt(price)
-        coupon.updatePrice(this.price / 100)
+        var size = JSON.parse(sessionStorage.getItem('vip-cur-select-size')) 
+        console.log(renew.buyInfo.buyset)
+        var count = renew.buyInfo.buyset.areacount == -1 ? 16 : renew.buyInfo.buyset.areacount
+        if (this.buyInfo.buyset.upgrade == 1) {
+          // 新规则初始化价格
+          if (size) {
+            // 初始化上次选择的商品规格
+            coupon.updatePrice(size.price / 100)
+          } else {
+            // 初始化默认一个月*省份数量
+            coupon.updatePrice(3800*count / 100)
+          }
+        } else {
+          // 旧规则初始化价格
+          coupon.updatePrice(this.price / 100)
+        }
+        // coupon.updatePrice(this.price / 100)
     },
     // 根据选中结果得到续费了多长时间的字符串
     getDuration: function (timeSelect) {
@@ -281,18 +317,30 @@ var renew = {
             _this.setPrice(_this.calcPrice())
             _this.saveState()
         })
-
         $('.vip-footer.renew .confirm').on('click', function () {
+          var upgrade = renew.buyInfo.buyset.upgrade
+          var size = goodsSize.defaultSize
+          var sizeTime = ''
+          if (size && size.period) {
+            if(size.period.indexOf('月') > -1) {
+              size.period = size.period.replace('月', '个月')
+            }
+            sizeTime = size.period
+          } else {
+            sizeTime = '1个月'
+          }
+          console.log(upgrade,sizeTime, '新or老')
             $('.vip-footer.renew .confirm').prop('disabled', true)
             //支付请求
             var data = {
                 userLotteryId :coupon.$refs.couponRef.coupon.userLotteryId,
                 lotteryId : coupon.$refs.couponRef.coupon.lotteryId,
-                time : _this.getDuration(_this.timeSelect).trim(),
+                time : upgrade == 0 ? _this.getDuration(_this.timeSelect).trim() : sizeTime,
                 orderType: 5,
                 disWord :GetQueryString('disWord'),
-                price: _this.price
+                price: coupon.initPrice*10000/100
             }
+            console.log(data, '提交参数')
             $.ajax({
                 // url: '/subscribepay/vipsubscribe/createOrder',
                 url: '/subscribepay/vipsubscribe/renew',
@@ -485,6 +533,8 @@ function clearSessionStorage() {
     sessionStorage.removeItem("pay_read_cache")
     sessionStorage.removeItem("liveActiveCode_renew");
     sessionStorage.removeItem("liveActiveCode_new");
+    // 清除商品规格当前选择
+    sessionStorage.removeItem("vip-cur-select-size")
 }
 function showToast(text) {
     weui.toast(text, {
@@ -506,6 +556,60 @@ function pickerShow(selector, f) {
     }
 }
 /* vue 代码 start */
+// vip商品规格
+var goodsSize = new Vue({
+  el:'#goods-size-vue',
+  data: function() {
+    return {
+      props: {
+        defaultSize: {},
+        areaCount: 1,
+        priceInfo: {}
+      }
+    }
+  },
+  created () {
+    
+  },
+  mounted () {
+    this.getSizeStorage()
+  },
+  methods: {
+    // 父组件传省份数量至子组件
+    getAreaCount: function() {
+      var areaStorage = JSON.parse(sessionStorage.getItem('vipSubSelectArea'))
+      console.log(renew.buyInfo.buyset.areacount)
+      if (areaStorage) {
+        var count = 0
+        for (var key in areaStorage) {
+          if (key.indexOf('全国') > -1) {
+            count = 16
+          } else {
+            count++
+          }
+        }
+        this.props.areaCount = count
+      }
+    },
+    getSizeStorage: function() {
+      // 恢复商品规格选择
+      var size = JSON.parse(sessionStorage.getItem('vip-cur-select-size')) 
+      console.log(size, '恢复的商品规格')
+      if (size) {
+        this.$refs.goodsSize.goodsActive = size.index
+        this.defaultSize = size
+        this.$nextTick(function(){
+          coupon.updatePrice(size.price/100)
+        })
+      }
+    },
+    getGoodSize: function(data) {
+      console.log(data, '父组件接收子组件传来的商品规格')
+      this.defaultSize = data
+      coupon.updatePrice(data.price/100)
+    }
+  }
+})
 var coupon = new Vue({ 
   el: '#coupon-vue',
   data: function () {

+ 0 - 15
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_upgrade.js

@@ -649,21 +649,6 @@ function pickerShow (selector, f) {
   }
 }
 /* vue 代码 start */
-var goodsSize = new Vue({
-  el:'#goods-size-vue',
-  data: function() {
-    return {}
-  },
-  mounted () {},
-  methods: {
-    getGoodSize: function(data) {
-      console.log(data, '父组件接收子组件传来的商品规格')
-    },
-    getAutoRenew: function(data) {
-      console.log(data, '父组件接收子组件传来的是否开启自动续费')
-    }
-  }
-})
 var coupon = new Vue({
   el: '#coupon-vue',
   data: function () {

+ 0 - 6
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_UpgradePage.html

@@ -17,7 +17,6 @@
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_upgrade.css?v={{Msg "seo" "version"}}'>
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css' />
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}' />
-  <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/css/vip-size-template.css?v={{Msg "seo" "version"}}' />
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/coupon/css/pay-order-template.css?v={{Msg "seo" "version"}}' />
   <style>
     .vip-header {
@@ -92,10 +91,6 @@
             </a>
           </li>
         </ul>
-        <!-- 商品规格 -->
-        <div id="goods-size-vue">
-          <vip-size-template @select-vip-size="getGoodSize" @select-auto-renew="getAutoRenew"></vip-size-template>
-        </div>
         <!-- 超级订阅专属权益 封装为公共页面-->
         {{include "/vipsubscribe/commonRules.html"}}
       </div>
@@ -206,7 +201,6 @@
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/js/price.js?v={{Msg "seo" "mod_version"}}'></script>
   {{include "/common/iosJS.html"}}
   <script src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js></script> 
-  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/js/vip-size-template.js?v={{Msg "seo" "version"}}'></script>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/coupon/js/pay-order-template.js?v={{Msg "seo" "version"}}'>
   </script>
   <script>

+ 127 - 37
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_purchase.html

@@ -4,7 +4,7 @@
 <head>
   <meta charset="utf-8">
   <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>
-  <title>超级订阅</title>
+  <title>开通超级订阅</title>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/rem.js'></script>
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/base.css?v={{Msg "seo" "version"}}'/>
   <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.css'>
@@ -66,13 +66,26 @@
     text-align: left;
     margin-top: 2px;
   }
+  .area-result{
+    /* width:1.2rem; */
+    height: .38rem;
+    padding: 0 .16rem;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    background: #2abed1;
+    border: 1px solid #2abed1;
+    border-radius: 41px;
+    font-size: .22rem;
+    color: #fff;
+  }
   </style>
   <!--E-手机号输入样式-->
 </head>
 <body  data-weui-theme="light">
   <div class="app-layout-header jy-app-header" style="z-index: 8;">
     <span class="app-back jyapp-icon jyapp-icon-zuojiantou"></span>
-    超级订阅{{if not .T.isTrial }}{{else}}(试用){{end}}
+    开通超级订阅{{if not .T.isTrial }}{{else}}(试用){{end}}
     <span></span>
   </div>
   <div class="app-layout-content-b">
@@ -99,14 +112,23 @@
         <div class="choose_condition">
             <ul class="chooseList">
               <li class="choose_item">
-                <a href="/jyapp/vipsubscribe/toChooseArea">
-                  <span class="label">省份数量</span>
-                  {{if not .T.isTrial }}
-                    <input type="text" disabled value="" placeholder="1个省" class="info choose_area">
-                  {{else}}
-                    <input type="text" disabled value="" placeholder="选择全国、省份、地市" class="info choose_area">
-                  {{end}}
-                  <i class="iconfont icon-arrow"></i>
+                <a href="javascript:;" onclick="toChooseArea()">
+                  <div style="display: flex;align-items: center;flex: 1;">
+                    <span class="label">省份数量</span>
+                    <div class="area-result">
+                      {{if not .T.isTrial }}
+                      <input type="hidden" disabled value="" placeholder="1个省" class="info choose_area">
+                      <span class="area-result-text"></span>
+                      {{else}}
+                        <input type="hidden" disabled value="" placeholder="选择全国、省份、地市" class="info choose_area">
+                        <span class="area-result-text"></span>
+                      {{end}}
+                    </div>
+                  </div>
+                  <div style="display: flex;align-items: center;">
+                    <em style="color: #9B9CA3;font-size: .28rem;">选择</em>
+                    <i class="iconfont icon-arrow"></i>
+                  </div>
                 </a>
                 <p class="add_tips area_warn" style="display: none;">请选择区域</p>
                 <!-- 无选择时不显示 -->
@@ -145,11 +167,11 @@
             </ul>
             <!-- 商品规格 -->
             <div id="goods-size-vue">
-              <vip-size-template @select-vip-size="getGoodSize" @select-auto-renew="getAutoRenew"></vip-size-template>
+              <goods-size-template ref="goodsSize" :config="props" @select-vip-size="getGoodSize"></goods-size-template>
             </div>
             <!-- 商品优惠券 -->
             <div id="goods-coupon-vue">
-              <vip-coupon-template></vip-coupon-template>
+              <goods-coupon-template ref="goodsCoupon" @update-coupon="updateCoupon"></goods-coupon-template>
             </div>
             <!-- <div class="pay_mode">
               {{if not .T.isTrial }}
@@ -628,41 +650,89 @@
           //试用用户
         {{end}}
 
+        // 跳转区域选择清除商品规格及优惠券选择
+        function toChooseArea() {
+          sessionStorage.removeItem('vip-cur-select-coupon')
+          sessionStorage.removeItem('vip-cur-select-size')
+          location.href = '/jyapp/vipsubscribe/toChooseArea'         
+        }
         /* vue 代码 start */
         // vip商品规格
         var goodsSize = new Vue({
           el:'#goods-size-vue',
           data: function() {
             return {
-
+              props: {
+                areaCount: 1,
+                priceInfo: {}
+              }
             }
           },
+          created () {
+            this.getAreaCount()
+          },
           mounted () {
-
+            this.getSizeStorage()
           },
           methods: {
+            // 父组件传省份数量至子组件
+            getAreaCount: function() {
+              var areaStorage = JSON.parse(sessionStorage.getItem('vipSubSelectArea'))
+              if (areaStorage) {
+                var count = 0
+                for (var key in areaStorage) {
+                  if (key.indexOf('全国') > -1) {
+                    count = 16
+                  } else {
+                    count++
+                  }
+                }
+                this.props.areaCount = count
+              }
+            },
+            getSizeStorage: function() {
+              // 恢复商品规格选择
+              var size = JSON.parse(sessionStorage.getItem('vip-cur-select-size')) 
+              if (size) {
+                this.$refs.goodsSize.goodsActive = size.index
+                this.$nextTick(function(){
+                  console.log(size.price, 'size.price')
+                  coupon.updatePrice(size.price/100)
+                  goodsCoupon.updatePrice(size.price/100)
+                })
+              }
+            },
             getGoodSize: function(data) {
               console.log(data, '父组件接收子组件传来的商品规格')
-            },
-            getAutoRenew: function(data) {
-              console.log(data, '父组件接收子组件传来的是否开启自动续费')
+              coupon.updatePrice(data.price/100)
+              goodsCoupon.updatePrice(data.price/100)
             }
           }
         })
-        // vip活动
         // vip优惠券
         var goodsCoupon = new Vue({
           el:'#goods-coupon-vue',
           data: function() {
             return {
-
+              curSelectCoupon: {}
             }
           },
-          mounted () {
-
-          },
+          mounted () {},
           methods: {
-            
+            updatePrice: function(data){
+              this.$refs.goodsCoupon.getCoupon(data)
+            },
+            updateCoupon: function(data) {
+              console.log(data, '更新优惠券选择')
+              this.curSelectCoupon = data
+              var curSize = JSON.parse(sessionStorage.getItem('vip-cur-select-size'))
+              // 更新优惠券选择同时更新订单组件的价格及优惠金额
+              if (curSize) {
+                coupon.updatePrice(curSize.price/100)
+              } else {
+                coupon.updatePrice(coupon.initPrice)
+              }
+            }
           }
         })
         // 订单提交
@@ -697,10 +767,17 @@
             // 更新价格相关
             updatePrice: function (before) {
               console.log( '原价:' + before)
+              var curCoupon = JSON.parse(sessionStorage.getItem('vip-cur-select-coupon'))
+              console.log(curCoupon, '当前选择的优惠券')
+              if (curCoupon) {
+                this.$refs.couponRef.coupon.value = curCoupon.reduce
+              } else {
+                this.$refs.couponRef.coupon.value = 0
+              }
               this.initPrice = before;
               // 调用子组件查询最优卡券
               if (!{{.T.isTrial }}) {
-                this.$refs.couponRef.getCoupon();
+                // this.$refs.couponRef.getCoupon();
               }
             },
             // 初始化及回显相关
@@ -843,6 +920,8 @@
                   //     showGiveStatus(false)
                   // }
                   Calculation.Init(false, undefined, [], 0)
+                  // 将价格列表传至商品规格组件
+                  goodsSize.props.priceInfo = r.new
                 }
               }, false)
               sessionStorage.removeItem("pay_read_cache");
@@ -854,23 +933,26 @@
           showArea: function () {
             if (!$.isEmptyObject(this.areaSelect) && !this.areaSelect["一个省"]) { //有选择
               if (this.nowBuyset.areacount === -1) {
-                $(".choose_area").val("全国");
+                $(".choose_area").val("已选: 全国");
+                $(".area-result-text").text("已选: 全国");
               } else {
-                var tipTxt = "已选 ";
-                if (this.nowBuyset.areacount > 0) tipTxt += this.nowBuyset.areacount + " 个省";
+                var tipTxt = "已选: ";
+                if (this.nowBuyset.areacount > 0) tipTxt += this.nowBuyset.areacount + "";
                 var count = 0;
                 this.nowBuyset.citys.forEach(function (item, index) {
                     count += item;
                 });
-                if (count > 0) {
-                    if (this.nowBuyset.areacount > 0) tipTxt += "、";
-                    tipTxt += count + " 个市";
-                    if (this.nowBuyset.citys.length > 1) tipTxt += "(分布在" + this.nowBuyset.citys.length + "个省内)"
-                }
+                // if (count > 0) {
+                //     if (this.nowBuyset.areacount > 0) tipTxt += "、";
+                //     tipTxt += count + " 个市";
+                //     if (this.nowBuyset.citys.length > 1) tipTxt += "(分布在" + this.nowBuyset.citys.length + "个省内)"
+                // }
                 $(".choose_area").val(tipTxt);
+                $(".area-result-text").text(tipTxt);
               }
             } else {
               $(".choose_area").val("");
+              $(".area-result-text").text("");
               //是否勾选已阅读
               if (sessionStorage.getItem("vipSub_read") === "true") {
                 $(".area_warn").css("display", "");
@@ -952,7 +1034,6 @@
                 // var price = getsubVipOrderPriceBybuyset(this.nowBuyset, time);
                 // var givePrice = getsubVipOrderPriceBybuyset(this.nowBuyset, [time[1] === 1 ? 1 :time[0], time[1]]);
                 var obj = this.nowBuyset
-                // console.log(obj, 'obj')
                 obj.areacount = obj.areacount == 0 ? 1 : obj.areacount
                 var price = Calculation.GetTotal(new Buyset(obj.areacount,[],obj.buyerclasscount, 1),time)
                 var givePrice = Calculation.GetTotal(new Buyset(obj.areacount,[],obj.buyerclasscount, 1),[time[1] === 1 ? 1 :time[0], time[1]])
@@ -975,7 +1056,11 @@
                   $('.discount-price .dis-price').text(formatMoney(givePrice))
                 }
                 console.log(price, '计算的价格')
-                coupon.updatePrice(price)
+                var size = JSON.parse(sessionStorage.getItem('vip-cur-select-size')) 
+                if (!size) {
+                  coupon.updatePrice(price)
+                  goodsCoupon.updatePrice(price)
+                }
               }
             }
         };
@@ -986,6 +1071,7 @@
           purchase.showIndustry();
           purchase.showPrice();
           purchase.showTime();
+          console.log(purchase.timeSelect, 'purchase.timeSelect')
           purchase.flushPrice(purchase.timeSelect);
           checkOk();
           var time_limit;//定义一个周期变量
@@ -1180,7 +1266,7 @@
           $("input").bind("input propertychange change", function (event) {
             checkOk();
           });
-          console.log(coupon.$refs.couponRef.coupon, '用户优惠券id')
+          // console.log(coupon.$refs.couponRef.coupon, '用户优惠券id')
           $('#payHandle').click(function () {
             $("#payHandle").attr("disabled", "disabled");
             //支付请求
@@ -1202,8 +1288,8 @@
             }
             //付费用户
             var param = {
-              "userLotteryId":coupon.$refs.couponRef.coupon.userLotteryId,
-              "lotteryId": coupon.$refs.couponRef.coupon.lotteryId,
+              "userLotteryId":goodsCoupon.curSelectCoupon.userLotteryId,
+              "lotteryId": goodsCoupon.curSelectCoupon.lotteryId,
               "area": JSON.stringify(area),
               // "industry": industry.join(","),
               "time": $(".info:eq(2)").val().trim(),
@@ -1304,6 +1390,10 @@
 
           sessionStorage.removeItem("pay_read_cache");
           sessionStorage.removeItem("liveActiveCode_purchase");
+          // 清除商品规格当前选择
+          sessionStorage.removeItem("vip-cur-select-size")
+          // 清除商品优惠券当前选择
+          sessionStorage.removeItem("vip-cur-select-coupon")
         }
 
         /******* 获取url参数(正则)********/

+ 52 - 2
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_renew.html

@@ -17,6 +17,7 @@
     <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_renew.css?v={{Msg "seo" "version"}}'>
     <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/layout.css'/>
     <link rel="stylesheet" type="text/css" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/font.css?v={{Msg "seo" "version"}}'/>
+    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/css/vip-size-template.css?v={{Msg "seo" "version"}}' />
     <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/coupon/css/pay-order-template.css?v={{Msg "seo" "version"}}' />
     <style>
         .vip-header {
@@ -33,6 +34,41 @@
         button[disabled] {
             opacity: .5;
         }
+        .area-result{
+          position: relative;
+          padding: .3rem .32rem;
+          display: flex;
+          align-items: center;
+          background-color: #fff;
+        }
+        .area-result::after{
+          position: absolute;
+          box-sizing: border-box;
+          content: ' ';
+          pointer-events: none;
+          right: 0;
+          bottom: 0;
+          left: .32rem;
+          border-bottom: 1px solid #f5f5f5;
+          -webkit-transform: scaleY(0.7);
+          transform: scaleY(0.7);
+        }
+        .a-r-label{
+          margin-right: 0.08rem;
+          font-size: .32rem;
+          color: #171826;
+        }
+        .a-r-val{
+          height: .38rem;
+          padding: 0 .16rem;
+          display: flex;
+          align-items: center;
+          background: #2abed1;
+          border: 1px solid #2abed1;
+          border-radius: 41px;
+          font-size: .22rem;
+          color: #fff;
+        }
     </style>
 </head>
 <body class="no-touch"  data-weui-theme="light">
@@ -52,8 +88,18 @@
             <span class="header-right">您的超级订阅服务即将到期,为不影响您的使用。请立即续费</span>
         </div>
         <div class="vip-body">
+          <div class="area-result" data-new-vip style="display: none;">
+            <div class="item area" style="display: flex;align-items: center;">
+              <span class="item-l a-r-label">省份数量</span>
+              <span class="a-r-val"><span class="item-r"></span></span>
+            </div>
+          </div>
+          <!-- 商品规格 -->
+          <div id="goods-size-vue" data-new-vip style="display: none;">
+            <goods-size-template ref="goodsSize" :config="props" @select-vip-size="getGoodSize"></goods-size-template>
+          </div>
             <div class="j-notice-bar bar-red vip-bar" style="text-align: center;">限时续费,3个月起,续多久送多久!</div>
-            <ul style="padding: .16rem .24rem;">
+            <ul style="padding: .16rem .24rem;" data-old-vip>
                 <li class="body-item area-industry">
                     <div class="item-container">
                         <div class="item area">
@@ -102,13 +148,16 @@
                     </div>
                 </li>
             </ul>
-            <div class="tips">
+            <div class="tips" data-old-vip>
                 <div class="tip-title l-line">续费说明</div>
                 <div class="tip-content">
                     <div>1、仅支持原套餐延长周期续费,不支持套餐变更(含增加、减少、更改)原订阅的省份、城市、行业。 <br />续费费用=续费周期(按月/年)/原地区/原行业</div>
                     <div>2、套餐周期内,用户也可以选择升级超级订阅2.0版享受更多权益。</div>
                 </div>
             </div>
+            <div data-new-vip style="display: none;">
+              {{include "/vipsubscribe/commonRules.html"}}
+            </div>
         </div>
         <!-- vue组件 -->
         <div class="vip-footer" id="coupon-vue">
@@ -340,6 +389,7 @@
     <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "mod_version"}}"></script>
   {{include "/common/iosJS.html"}}
     <script src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js></script>
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/vipsubscribe/js/vip-size-template.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/coupon/js/pay-order-template.js?v={{Msg "seo" "version"}}'></script>
 	<script>
       $(window).bind("pageshow", function (event) {

+ 8 - 50
src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html

@@ -45,6 +45,7 @@
     <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/iconfont/iconfont.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
     <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/weui.min.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
     <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/css/p13.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
+    <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/ent-search/ent-search-template.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
     <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/reset-css@4.0.1/reset.min.css />
     <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/index.css />
     <link rel="stylesheet" href=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/icon/local.css />
@@ -102,7 +103,8 @@
         width: .88rem;
     }
 
-    .p13 .resnumb .two-group {
+    .p13 .resnumb .two-group,
+    .p13 .two-group {
         display: flex;
         flex-direction: row;
         justify-content: space-between;
@@ -479,6 +481,7 @@
 <script src=//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js></script>
 <script src=//cdn.jsdelivr.net/npm/vant@2.8.2/lib/vant.min.js></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-tags-template.js'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/ent-search/ent-search-template.js'></script>
 <script>
     var vKeepComponent = new Vue({
       delimiters: ['${', '}'],
@@ -497,54 +500,7 @@
       }
     })
 </script>
-<script>
-  new Vue({
-    el: '#v-ent-ent-search-group',
-    delimiters: ['@@', '@@'],
-    data: {
-      statusEnum: ['存续', '吊销', '停业', '撤销'],
-      list: [
-        {
-          name: '北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司',
-          legal: '贾新',
-          money: '1000万元',
-          address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
-          status: 0,
-          checked: false
-        },
-        {
-          name: '北京剑鱼信息技术有限公司',
-          legal: '贾新',
-          money: '1000万元',
-          address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
-          status: 1,
-          checked: true
-        },
-        {
-          name: '北京剑鱼信息技术有限公司',
-          legal: '贾新',
-          money: '1000万元',
-          address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
-          status: 2,
-          checked: false
-        },
-        {
-          name: '北京剑鱼信息技术有限公司',
-          legal: '贾新',
-          money: '1000万元',
-          address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
-          status: 3,
-          checked: false
-        }
-      ]
-    },
-    methods: {
-      selectEnt (ent) {
-        console.log(ent)
-      }
-    }
-  })
-</script>
+
 <script type="text/javascript">
   var adv_url = "/datareport/page/introduce";
   var adv_img = "/jyapp/images/reportTip.png?v=51430"
@@ -888,7 +844,9 @@
               var isNowIndex = $(".tabs-box .tabs-nav .active").index()
                 if (!$(".tabs-box").hasClass('hidden') && isNowIndex !== 0) {
                     if (isNowIndex === 1) {
-
+                      if (vEntSearchComponent) {
+                        vEntSearchComponent.toggleEntShow(true)
+                      }
                     }
                     return
                 }

+ 48 - 183
src/jfw/modules/app/src/web/templates/weixin/search/tabSearch.html

@@ -490,198 +490,63 @@
             </div>
             <div class="tabs-content-page">
                 <!---->
-                <style>
-                    #v-ent-ent-search-group {
-                        display: block !important;
-                        background-color: rgba(0, 0, 0, 0.05);
-                    }
-                    #v-ent-ent-search-group .ent-search-item {
-                        margin-top: 8px;
-                        display: flex;
-                        flex-direction: column;
-                        padding: 0.32rem;
-                        background-color: #fff;
-                    }
-                    #v-ent-ent-search-group .ent-search-list {
-                        display: flex;
-                        flex-direction: column;
-                    }
-                    .ent-info-head {
-                        flex-shrink: 0;
-                        position: relative;
-                        width: 1.68rem;
-                        height: 1.68rem;
-                        background: rgba(0, 0, 0, 0.05);
-                        border: 0.5px solid rgba(0, 0, 0, 0.05);
-                        box-sizing: border-box;
-                        border-radius: 0.08rem;
-                    }
-                    .ent-info-head .ent-info-status.status-1 {
-                        background: #FB483D;
-                    }
-                    .ent-info-head .ent-info-status.status-2 {
-                        background: #FF9F40;
-                    }
-                    .ent-info-head .ent-info-status.status-3 {
-                        background: #9B9CA3;
-                    }
-                    .ent-info-head .ent-info-status {
-                        position: absolute;
-                        top: 0.08rem;
-                        left: 0.08rem;
-                        background: #2ABED1;
-                        border-radius: 0.08rem;
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: 500;
-                        font-size: 0.24rem;
-                        line-height: 0.36rem;
-                        color: #FFFFFF;
-                        padding: 0 0.08rem;
-                        display: inline-block;
-                    }
-                    .ent-info-top {
-                        display: flex;
-                        flex-direction: row;
-                        align-items: center;
-                        justify-content: space-between;
-                    }
-                    .ent-row {
-                        display: flex;
-                        flex-direction: row;
-                        align-items: center;
-                        justify-content: space-between;
-                    }
-                    .ent-search-list .j-icon {
-                        flex-shrink: 0;
-                        width: 0.4rem;
-                        height: 0.4rem;
-                    }
-                    .ent-info-keep .ent-name {
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: 500;
-                        font-size: 0.32rem;
-                        line-height: 0.48rem;
-                        color: #171826;
-                        max-width: 4.3rem;
-                    }
-                    .ent-info-keep .fill-icon-box {
-                        padding: 0.12rem;
-                        padding-right: 0;
-                    }
-                    .ent-info-keep {
-                        margin-left: 0.24rem;
-                        flex: 1;
-                    }
-                    .ent-more span {
-                        color: #2ABED1;
-                        margin-top: 0.08rem;
-                    }
-                    .ent-more {
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: 500;
-                        font-size: 0.26rem;
-                        line-height: 0.36rem;
-                        color: #5F5E64;
-                        margin-top: 0.2rem;
-                    }
-                    .ent-info-bottom {
-                        display: flex;
-                        flex-direction: row;
-                        justify-content: flex-end;
-                        margin-top: 0.24rem;
-                    }
-                    .ent-line-box {
-                        margin-top: 0.24rem;
-                        width: 4.22rem;
-                        height: 0.02rem;
-                        background: rgba(0, 0, 0, 0.05);
-                        border-radius: 0.08rem;
-                    }
-                    .ent-address > div{
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: normal;
-                        font-size: 0.22rem;
-                        line-height: 0.32rem;
-                        color: #5F5E64;
-                        max-width: 4.22rem;
-                        margin-right: 0.32rem;
-                    }
-                    .up-button {
-                        margin: 0 auto;
-                        display: flex;
-                        flex-direction: column;
-                        align-items: center;
-                        justify-content: center;
-                        width: 4.98rem;
-                        height: 0.64rem;
-                        border: 1px solid #2ABED1;
-                        box-sizing: border-box;
-                        border-radius: 0.08rem;
-
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: 500;
-                        font-size: 0.26rem;
-                        line-height: 0.48rem;
-                        color: #2ABED1;
-
-                    }
-                    .ent-more-tip .j-icon {
-                        margin-right: 0.08rem;
-                    }
-                    .ent-more-tip {
-                        display: flex;
-                        flex-direction: row;
-                        align-items: center;
-                        justify-content: center;
-                        font-family: PingFang SC;
-                        font-style: normal;
-                        font-weight: 500;
-                        font-size: 0.28rem;
-                        line-height: 0.4rem;
-                        color: #9B9CA3;
-                    }
-
-
-                </style>
                 <div id="v-ent-ent-search-group" v-cloak>
-                    <div class="ent-search-list">
-                        <div class="ent-search-item" v-for="(item, i) in list" :key="i" @click="selectEnt(item)">
-                            <div class="ent-info-top">
-                                <div class="ent-info-head">
-                                    <span class="ent-info-status" :class="'status-' + item.status">@@statusEnum[item.status]@@</span>
-                                </div>
-                                <div class="ent-info-keep">
-                                    <div class="ent-row">
-                                        <div class="ent-name van-ellipsis">@@item.name@@</div>
-                                        <div class="fill-icon-box">
-                                            <i class="j-icon base-icon icon-no-favorite"></i>
+                    <div v-show="showEntSearch">
+                        <van-tabs @click="onClickTabs" :ellipsis="false" line-height="0" v-model="activeTabIndex">
+                            <van-tab v-for="tab in entTabs"  :key="tab.title" :disabled="tab.disabled">
+                                <template #title>
+                                    <div class="ent-search-tab-item" v-show="tab.title">
+                                        <span>@@ tab.title @@</span>
+                                        <div class="an-icon-box">
+                                            <i class="j-icon base-icon icon-triangle-down"></i>
+                                            <i class="j-icon base-icon icon-triangle-up"></i>
                                         </div>
                                     </div>
-                                    <div class="ent-more">
-                                        <div>法定代表人: <span>@@item.legal@@</span></div>
-                                        <div>注册资本: <span>@@item.money@@</span></div>
+                                </template>
+                            </van-tab>
+                        </van-tabs>
+                        <div class="ent-search-list" :class="{stop: showPop}">
+                            <div v-show="showPop" class="jy-diy-pop">
+                                <div @click="togglePop(false)" class="van-overlay"></div>
+                                <div class="van-popup">
+                                    <div class="pop-bottom">
+                                        <button>1</button>
+                                        <button>2</button>
                                     </div>
-                                    <div class="ent-line-box"></div>
                                 </div>
                             </div>
-                            <div class="ent-info-bottom">
-                                <div  class="ent-row ent-address">
-                                    <div class="van-multi-ellipsis--l2">@@item.address@@</div>
-                                    <i class="j-icon base-icon icon-address"></i>
+                            <div class="ent-search-item" v-for="(item, i) in list" :key="i" @click="selectEnt(item)">
+                                <div class="ent-info-top">
+                                    <div class="ent-info-head">
+                                        <span class="ent-info-status" :class="'status-' + item.status">@@statusEnum[item.status]@@</span>
+                                    </div>
+                                    <div class="ent-info-keep">
+                                        <div class="ent-row">
+                                            <div class="ent-name van-ellipsis">@@item.name@@</div>
+                                            <div class="fill-icon-box">
+                                                <i class="j-icon base-icon icon-no-favorite"></i>
+                                            </div>
+                                        </div>
+                                        <div class="ent-more">
+                                            <div>法定代表人: <span>@@item.legal@@</span></div>
+                                            <div>注册资本: <span>@@item.money@@</span></div>
+                                        </div>
+                                        <div class="ent-line-box"></div>
+                                    </div>
                                 </div>
+                                <div class="ent-info-bottom">
+                                    <div  class="ent-row ent-address">
+                                        <div class="van-multi-ellipsis--l2">@@item.address@@</div>
+                                        <i class="j-icon base-icon icon-address"></i>
+                                    </div>
 
+                                </div>
+                            </div>
+                            <div class="up-button">升级会员,查看更多搜索结果</div>
+                            <div class="ent-more-tip">
+                                <i class="j-icon base-icon icon-up-allow"></i>
+                                <span>上拉查看更多搜索结果</span>
                             </div>
-                        </div>
-
-                        <div class="up-button">升级会员,查看更多搜索结果</div>
-                        <div class="ent-more-tip">
-                            <i class="j-icon base-icon icon-up-allow"></i>
-                            <span>上拉查看更多搜索结果</span>
                         </div>
                     </div>
                 </div>

+ 255 - 0
src/web/staticres/common-module/ent-search/ent-search-template.css

@@ -0,0 +1,255 @@
+#v-ent-ent-search-group {
+  display: block !important;
+  background-color: rgba(0, 0, 0, 0.05);
+}
+
+#v-ent-ent-search-group .ent-search-item {
+  margin-top: 8px;
+  display: flex;
+  flex-direction: column;
+  padding: 0.32rem;
+  background-color: #fff;
+}
+
+#v-ent-ent-search-group .ent-search-list {
+  display: flex;
+  flex-direction: column;
+}
+
+.ent-info-head {
+  flex-shrink: 0;
+  position: relative;
+  width: 1.68rem;
+  height: 1.68rem;
+  background: rgba(0, 0, 0, 0.05);
+  border: 0.5px solid rgba(0, 0, 0, 0.05);
+  box-sizing: border-box;
+  border-radius: 0.08rem;
+}
+
+.ent-info-head .ent-info-status.status-1 {
+  background: #FB483D;
+}
+
+.ent-info-head .ent-info-status.status-2 {
+  background: #FF9F40;
+}
+
+.ent-info-head .ent-info-status.status-3 {
+  background: #9B9CA3;
+}
+
+.ent-info-head .ent-info-status {
+  position: absolute;
+  top: 0.08rem;
+  left: 0.08rem;
+  background: #2ABED1;
+  border-radius: 0.08rem;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.24rem;
+  line-height: 0.36rem;
+  color: #FFFFFF;
+  padding: 0 0.08rem;
+  display: inline-block;
+}
+
+.ent-info-top {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.ent-row {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.ent-search-list .j-icon {
+  flex-shrink: 0;
+  width: 0.4rem;
+  height: 0.4rem;
+}
+
+.ent-info-keep .ent-name {
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.32rem;
+  line-height: 0.48rem;
+  color: #171826;
+  max-width: 4.3rem;
+}
+
+.ent-info-keep .fill-icon-box {
+  padding: 0.12rem;
+  padding-right: 0;
+}
+
+.ent-info-keep {
+  margin-left: 0.24rem;
+  flex: 1;
+}
+
+.ent-more span {
+  color: #2ABED1;
+  margin-top: 0.08rem;
+}
+
+.ent-more {
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.26rem;
+  line-height: 0.36rem;
+  color: #5F5E64;
+  margin-top: 0.2rem;
+}
+
+.ent-info-bottom {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  margin-top: 0.24rem;
+}
+
+.ent-line-box {
+  margin-top: 0.24rem;
+  width: 4.22rem;
+  height: 0.02rem;
+  background: rgba(0, 0, 0, 0.05);
+  border-radius: 0.08rem;
+}
+
+.ent-address > div {
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: normal;
+  font-size: 0.22rem;
+  line-height: 0.32rem;
+  color: #5F5E64;
+  max-width: 4.22rem;
+  margin-right: 0.32rem;
+}
+
+.up-button {
+  margin: 0 auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  width: 4.98rem;
+  height: 0.64rem;
+  border: 1px solid #2ABED1;
+  box-sizing: border-box;
+  border-radius: 0.08rem;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.26rem;
+  line-height: 0.48rem;
+  color: #2ABED1;
+}
+
+.ent-more-tip .j-icon {
+  margin-right: 0.08rem;
+}
+
+.ent-more-tip {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.28rem;
+  line-height: 0.4rem;
+  color: #9B9CA3;
+}
+
+#v-ent-ent-search-group .van-tabs__line {
+  opacity: 0 !important;
+}
+
+#v-ent-ent-search-group .an-icon-box {
+  position: relative;
+  width: 0.32rem;
+  height: 0.32rem;
+}
+
+#v-ent-ent-search-group .an-icon-box .j-icon {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 0.32rem;
+  height: 0.32rem;
+  transition: all 0.2s;
+  margin-left: 0.04rem;
+}
+
+#v-ent-ent-search-group .an-icon-box .icon-triangle-up {
+  opacity: 0;
+}
+
+#v-ent-ent-search-group .an-icon-box .icon-triangle-down {
+  opacity: 1;
+}
+
+#v-ent-ent-search-group .ent-search-tab-item {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.28rem;
+  line-height: 0.4rem;
+  color: #5F5E64;
+  padding: 0.24rem 0.38rem;
+}
+
+#v-ent-ent-search-group .van-tabs--line .van-tabs__wrap::after {
+  border: none;
+}
+
+#v-ent-ent-search-group .van-tab--active .ent-search-tab-item .icon-triangle-up {
+  opacity: 1;
+}
+
+#v-ent-ent-search-group .van-tab--active .ent-search-tab-item .icon-triangle-down {
+  opacity: 0;
+}
+
+#v-ent-ent-search-group .ent-search-list {
+  overflow-y: auto;
+  position: relative;
+}
+
+#v-ent-ent-search-group .ent-search-list.stop {
+  overflow: hidden;
+}
+
+#v-ent-ent-search-group .jy-diy-pop .van-overlay {
+  position: absolute;
+}
+
+#v-ent-ent-search-group .jy-diy-pop .van-popup {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  background-color: #fff;
+  z-index: 2;
+}
+
+.ent-stop-scroll {
+  overflow: hidden;
+}
+
+/*# sourceMappingURL=ent-search-template.css.map */

文件差异内容过多而无法显示
+ 7 - 0
src/web/staticres/common-module/ent-search/ent-search-template.css.map


+ 104 - 0
src/web/staticres/common-module/ent-search/ent-search-template.js

@@ -0,0 +1,104 @@
+var vEntSearchComponent = new Vue({
+  el: '#v-ent-ent-search-group',
+  delimiters: ['@@', '@@'],
+  data: {
+    showEntSearch: false,
+    showPop: true,
+    activeTabIndex: 0,
+    entTabs: [
+      {
+        title: ''
+      },
+      {
+        title: '搜索范围'
+      },
+      {
+        title: '注册地'
+      },
+      {
+        title: '注册资本'
+      },
+      {
+        title: '企业类型'
+      },
+      {
+        title: '企业状态'
+      },
+      {
+        title: '中标区域'
+      },
+      {
+        title: '单位类型'
+      },
+      {
+        title: '联系方式'
+      }
+    ],
+    statusEnum: ['存续', '吊销', '停业', '撤销'],
+    list: [
+      {
+        name: '北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司北京剑鱼信息技术有限公司',
+        legal: '贾新',
+        money: '1000万元',
+        address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
+        status: 0,
+        checked: false
+      },
+      {
+        name: '北京剑鱼信息技术有限公司',
+        legal: '贾新',
+        money: '1000万元',
+        address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
+        status: 1,
+        checked: true
+      },
+      {
+        name: '北京剑鱼信息技术有限公司',
+        legal: '贾新',
+        money: '1000万元',
+        address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
+        status: 2,
+        checked: false
+      },
+      {
+        name: '北京剑鱼信息技术有限公司',
+        legal: '贾新',
+        money: '1000万元',
+        address: '北京市朝阳区北四环中路华严北里健翔3号地峻峰华亭嘉园C座2011号',
+        status: 3,
+        checked: false
+      }
+    ]
+  },
+  methods: {
+    removeFixedScroll () {
+      $(".app-layout-content-b").scrollTop(0)
+      $(".app-layout-content-b").removeClass('ent-stop-scroll')
+      $(".ent-search-list").css({height: 'unset'})
+    },
+    fixedScroll () {
+      $(".app-layout-content-b").scrollTop(0)
+      $(".app-layout-content-b").addClass('ent-stop-scroll')
+      var isMaxHeight = $(".app-layout-content-b").height() - $(".tabs-nav").height() - $(".van-tabs.van-tabs--line").height()
+      $(".ent-search-list").css({height: isMaxHeight})
+    },
+    selectEnt (ent) {
+      console.log(ent)
+    },
+    onClickTabs (name, title) {
+      console.log(name, title)
+      this.togglePop(true)
+    },
+    togglePop (type) {
+      this.showPop = type
+    },
+    toggleEntShow (type) {
+      this.showEntSearch = type
+      if (type) {
+        this.fixedScroll()
+      } else {
+        this.removeFixedScroll()
+      }
+    }
+  }
+})

+ 231 - 0
src/web/staticres/common-module/ent-search/ent-search-template.scss

@@ -0,0 +1,231 @@
+#v-ent-ent-search-group {
+  display: block !important;
+  background-color: rgba(0, 0, 0, 0.05);
+}
+#v-ent-ent-search-group .ent-search-item {
+  margin-top: 8px;
+  display: flex;
+  flex-direction: column;
+  padding: 0.32rem;
+  background-color: #fff;
+}
+#v-ent-ent-search-group .ent-search-list {
+  display: flex;
+  flex-direction: column;
+}
+.ent-info-head {
+  flex-shrink: 0;
+  position: relative;
+  width: 1.68rem;
+  height: 1.68rem;
+  background: rgba(0, 0, 0, 0.05);
+  border: 0.5px solid rgba(0, 0, 0, 0.05);
+  box-sizing: border-box;
+  border-radius: 0.08rem;
+}
+.ent-info-head .ent-info-status.status-1 {
+  background: #FB483D;
+}
+.ent-info-head .ent-info-status.status-2 {
+  background: #FF9F40;
+}
+.ent-info-head .ent-info-status.status-3 {
+  background: #9B9CA3;
+}
+.ent-info-head .ent-info-status {
+  position: absolute;
+  top: 0.08rem;
+  left: 0.08rem;
+  background: #2ABED1;
+  border-radius: 0.08rem;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.24rem;
+  line-height: 0.36rem;
+  color: #FFFFFF;
+  padding: 0 0.08rem;
+  display: inline-block;
+}
+.ent-info-top {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+.ent-row {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+.ent-search-list .j-icon {
+  flex-shrink: 0;
+  width: 0.4rem;
+  height: 0.4rem;
+}
+.ent-info-keep .ent-name {
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.32rem;
+  line-height: 0.48rem;
+  color: #171826;
+  max-width: 4.3rem;
+}
+.ent-info-keep .fill-icon-box {
+  padding: 0.12rem;
+  padding-right: 0;
+}
+.ent-info-keep {
+  margin-left: 0.24rem;
+  flex: 1;
+}
+.ent-more span {
+  color: #2ABED1;
+  margin-top: 0.08rem;
+}
+.ent-more {
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.26rem;
+  line-height: 0.36rem;
+  color: #5F5E64;
+  margin-top: 0.2rem;
+}
+.ent-info-bottom {
+  display: flex;
+  flex-direction: row;
+  justify-content: flex-end;
+  margin-top: 0.24rem;
+}
+.ent-line-box {
+  margin-top: 0.24rem;
+  width: 4.22rem;
+  height: 0.02rem;
+  background: rgba(0, 0, 0, 0.05);
+  border-radius: 0.08rem;
+}
+.ent-address > div{
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: normal;
+  font-size: 0.22rem;
+  line-height: 0.32rem;
+  color: #5F5E64;
+  max-width: 4.22rem;
+  margin-right: 0.32rem;
+}
+.up-button {
+  margin: 0 auto;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  width: 4.98rem;
+  height: 0.64rem;
+  border: 1px solid #2ABED1;
+  box-sizing: border-box;
+  border-radius: 0.08rem;
+
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.26rem;
+  line-height: 0.48rem;
+  color: #2ABED1;
+
+}
+.ent-more-tip .j-icon {
+  margin-right: 0.08rem;
+}
+.ent-more-tip {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: center;
+  font-family: PingFang SC;
+  font-style: normal;
+  font-weight: 500;
+  font-size: 0.28rem;
+  line-height: 0.4rem;
+  color: #9B9CA3;
+}
+
+#v-ent-ent-search-group {
+  .van-tabs__line {
+    opacity: 0 !important;
+  }
+  .an-icon-box {
+    position: relative;
+    width: 0.32rem;
+    height: 0.32rem;
+    .j-icon {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 0.32rem;
+      height: 0.32rem;
+      transition: all 0.2s;
+      margin-left: 0.04rem;
+    }
+    .icon-triangle-up {
+      opacity: 0;
+    }
+    .icon-triangle-down {
+      opacity: 1;
+    }
+  }
+  .ent-search-tab-item {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    justify-content: center;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    font-size: 0.28rem;
+    line-height: 0.4rem;
+    color: #5F5E64;
+    padding: 0.24rem 0.38rem;
+  }
+  .van-tabs--line .van-tabs__wrap::after {
+    border: none;
+  }
+
+  .van-tab--active {
+    .ent-search-tab-item {
+      .icon-triangle-up {
+        opacity: 1;
+      }
+      .icon-triangle-down {
+        opacity: 0;
+      }
+    }
+  }
+  .ent-search-list {
+    overflow-y: auto;
+    position: relative;
+    &.stop {
+      overflow: hidden;
+    }
+  }
+  .jy-diy-pop {
+    .van-overlay {
+      position: absolute;
+    }
+    .van-popup {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      background-color: #fff;
+      z-index: 2;
+    }
+  }
+}
+
+.ent-stop-scroll {
+  overflow: hidden;
+}

+ 56 - 61
src/web/staticres/common-module/vipsubscribe/js/vip-coupon-template.js

@@ -1,67 +1,16 @@
-Vue.component('vip-coupon-template', {
+var vipCouponTem = {
   delimiters: ['@@', '@@'],
-  props: {
-    
-  },
+  props: {},
   data: function () {
     return {
-      couponList: [
-        {
-          "lotteryId": "4159",
-          "lotteryAttribute": "满减卷",
-          "lotteryBeginDate": "2021-04-08",
-          "lotteryEndDate": "2021-05-10",
-          "products": [],
-          "available": true,
-          "full": 100,
-          "reduce": 10,
-          "instructions": "使用说明",
-          "userLotteryId": "465c"
-        },
-        {
-          "lotteryId": "4159",
-          "lotteryAttribute": "折扣卷",
-          "lotteryBeginDate": "2021-04-08",
-          "lotteryEndDate": "2021-05-10",
-          "products": [],
-          "available": true,
-          "full": 100,
-          "reduce": 10,
-          "instructions": "使用说明",
-          "userLotteryId": "465c"
-        },
-        {
-          "lotteryId": "4159",
-          "lotteryAttribute": "折扣卷",
-          "lotteryBeginDate": "2021-04-08",
-          "lotteryEndDate": "2021-05-10",
-          "products": [],
-          "available": true,
-          "full": 100,
-          "reduce": 10,
-          "instructions": "使用说明",
-          "userLotteryId": "465c"
-        },
-        {
-          "lotteryId": "4159",
-          "lotteryAttribute": "折扣卷",
-          "lotteryBeginDate": "2021-04-08",
-          "lotteryEndDate": "2021-05-10",
-          "products": [],
-          "available": true,
-          "full": 100,
-          "reduce": 10,
-          "instructions": "使用说明",
-          "userLotteryId": "465c"
-        }
-      ]
+      couponList: []
     }
   },
   template: `
   <div class="vip-coupon-template" id="vip-coupon-template">
     <div class="vip-coupon-list" v-for="(item,index) in couponList" :key="item.lotteryId">
-      <div :class="['list-left', item.lotteryAttribute == '满减卷' ? 'red-bg': '', item.lotteryAttribute == '折扣卷' ? 'yellow-bg' : '']">
-        <div :class="['c-name', item.lotteryAttribute == '满减卷' ? 'red-bg': '', item.lotteryAttribute == '折扣卷' ? 'yellow-bg' : '']">@@item.lotteryAttribute@@</div>
+      <div :class="['list-left', item.lotteryAttribute == '满减券' ? 'red-bg': '', item.lotteryAttribute == '折扣券' ? 'yellow-bg' : '']">
+        <div :class="['c-name', item.lotteryAttribute == '满减券' ? 'red-bg': '', item.lotteryAttribute == '折扣券' ? 'yellow-bg' : '']">@@item.lotteryAttribute@@</div>
         <div class="c-result">@@item.reduce@@</div>
         <div class="c-sub">满@@item.full@@元可用</div>
       </div>
@@ -71,9 +20,8 @@ Vue.component('vip-coupon-template', {
           <p class="valid-value">@@item.lotteryBeginDate@@ - @@item.lotteryEndDate@@</p>
         </div>
         <div class="handle">
-          <button v-if="1 !== 2" :class="['handle-use', item.lotteryAttribute == '满减卷' ? 'red-color': 'yellow-color']" @click="useFn(item)">使用</button>
-          <button v-else-if="1 == 3" class="handle-disabled">暂不可用</button>
-          <button v-else class="handle-selected">已选择</button>
+          <button v-if="item.available" :class="['handle-use', item.active ? 'handle-selected' : '', item.lotteryAttribute == '满减券' ? 'red-color': 'yellow-color']" @click="useFn(item)" v-html="item.active ? '已选择': '使用'"></button>
+          <button v-else-if="!item.available" class="handle-disabled">暂不可用</button>
         </div>
       </div> 
     </div>
@@ -82,7 +30,54 @@ Vue.component('vip-coupon-template', {
   mounted() {},
   methods: {
     useFn: function(item) {
-      console.log(item)
+      this.couponList.forEach(function(item) {
+        item.active = false
+      })
+      item.active = true
+      sessionStorage.setItem('vip-cur-select-coupon', JSON.stringify(item))
+      this.$emit('update-coupon', item)
+    },
+    getCoupon: function(price) {
+      var _this = this
+      $.ajax({
+        type:'POST',
+        url:'/jyCoupon/showCoupons',
+        data:{
+          pId: 101,
+          price: parseInt(price*10000/100) ,
+          JYR: 1
+        },
+        success:function(res) {
+          if (res.data) {
+            res.data.forEach(function(item) {
+              if (item.lotteryBeginDate) {
+                item.lotteryBeginDate = item.lotteryBeginDate.replace(/-/g, '.')
+              }
+              if (item.lotteryEndDate) {
+                item.lotteryEndDate = item.lotteryEndDate.replace(/-/g, '.')
+              }
+              // 如当前选择过优惠券,将其状态回显至已选择
+              var curCoupon = JSON.parse(sessionStorage.getItem('vip-cur-select-coupon'))
+              if (curCoupon) {
+                if (curCoupon.userLotteryId && curCoupon.userLotteryId == item.userLotteryId) {
+                  item.active = true
+                } else {
+                  item.active = false
+                }
+              } else {
+                item.active = false
+              }
+            })
+            _this.couponList = res.data
+          }
+        },
+        error:function(err) {
+          console.log(err)
+        }
+      })
     }
   }
-})
+}
+if (typeof Vue !== 'undefined') {
+  Vue.component('goods-coupon-template', vipCouponTem)
+}

+ 66 - 24
src/web/staticres/common-module/vipsubscribe/js/vip-size-template.js

@@ -1,28 +1,20 @@
-Vue.component('vip-size-template', {
+var goodsSizeTem = {
   delimiters: ['@@', '@@'],
   props: {
-    
+    config: {
+      type: Object,
+      default: function() {
+        return {
+          areaCount: Number,
+          priceInfo: Object
+        }
+      }
+    }
   },
   data: function () {
     return {
       goodsActive: 0,
-      goodsSize: [
-        {
-          period: '1月',
-          price: 38,
-          summary: '每天仅需1.27元'
-        },
-        {
-          period: '1季',
-          price: 99,
-          summary: '每天仅需1.09元'
-        },
-        {
-          period: '1年',
-          price: 380,
-          summary: '每天仅需1.04元'
-        }
-      ],
+      goodsInfo: {},
       isShowAuto: false, // 是否显示自动续费,本次版本不显示
       autoChecked: false, // 自动续费是否勾选
     }
@@ -30,13 +22,13 @@ Vue.component('vip-size-template', {
   template: `
   <div class="goods-size-template">
     <div class="goods">
-      <div :class="['goods-list', goodsActive == index ? 'goods-active' : '']" v-for="(item,index) in goodsSize" :key="item.price" @click="chooseGoods(item, index)">
+      <div :class="['goods-list', goodsActive == index ? 'goods-active' : '']" v-for="(item,index) in priceList" :key="item.period" @click="chooseGoods(item, index)">
         <div class="goods-period">@@item.period@@</div>
         <div class="goods-price">
           <span>¥</span>
-          <strong>@@item.price@@</strong>
+          <strong>@@item.price/100@@</strong>
         </div>
-        <div class="goods-summary">@@item.summary@@</div>
+        <div class="goods-summary">每天仅需@@(item.price/item.days/100).toFixed(2)@@元</div>
       </div>
     </div>
     <div class="auto-renew" v-if="isShowAuto">
@@ -45,11 +37,58 @@ Vue.component('vip-size-template', {
     </div>
   </div>
   `,
-  mounted() {},
+  mounted() {
+    
+  },
+  computed: {
+    priceList: function() {
+      var list = []
+      var count = this.config.areaCount
+      var obj = {
+        '1月': this.config.priceInfo.month,
+        '1季': this.config.priceInfo.quarter,
+        '1年': this.config.priceInfo.year
+      }
+      for (var key in obj) {
+        var days = 30
+        if (obj[key]) {
+          switch (key) {
+            case '1月':
+              days = 30
+              break;
+            case '1季':
+              days = 90
+              break;
+            case '1年':
+              days = 365
+              break;
+          }
+          if (count < 16) {
+            list.push({
+              period: key,
+              price: obj[key].oneProvince_allBuyerClass * count,
+              days: days
+            })
+          } else {
+            list.push({
+              period: key,
+              price: obj[key].allProvince_allBuyerClass,
+              days: days
+            })
+          }
+        }
+      }
+      console.log(list)
+      return list
+    }
+  },
   methods: {
     // 选择商品规格
     chooseGoods: function(item, index) {
       this.goodsActive = index
+      sessionStorage.removeItem('vip-cur-select-coupon')
+      item.index = index
+      sessionStorage.setItem('vip-cur-select-size', JSON.stringify(item))
       this.$emit('select-vip-size', item)
     },
     // 自动续费
@@ -58,4 +97,7 @@ Vue.component('vip-size-template', {
       this.$emit('select-auto-renew', this.autoChecked)
     }
   }
-})
+}
+if (typeof Vue !== 'undefined') {
+  Vue.component('goods-size-template', goodsSizeTem)
+}

+ 0 - 39
src/web/staticres/collection/css/index-pc.css → src/web/staticres/frontRouter/pc/collection/css/index-pc.css

@@ -243,42 +243,3 @@
 .tag-drawer .el-tag {
     margin: 6px;
 }
-
-.j-t-button {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-    padding: 7px 50px;
-    font-size: 16px;
-    color: #686868;
-    border: 1px solid #e0e0e0;
-    border-radius: 7px;
-    background-color: #fff;
-}
-.j-t-button.confirm {
-    color: #2cb7ca;
-    border-color: #2cb7ca;
-}
-.j-t-button.confirm:hover {
-    color: #fff;
-    background-color: #2cb7ca;
-}
-.j-t-button.cancel {
-    margin-left: 40px;
-}
-.j-el-confirm .el-dialog__header,
-.j-el-confirm .el-dialog__body,
-.j-el-confirm .el-dialog__footer {
-    text-align: center;
-}
-.j-el-confirm .el-dialog__header {
-    padding-top: 30px;
-}
-.j-el-confirm .el-dialog__footer {
-    padding-bottom: 40px;
-}
-.dialog-footer {
-    display: flex;
-    align-items: center;
-    justify-content: center;
-}

+ 2 - 0
src/web/staticres/collection/js/index-pc.js → src/web/staticres/frontRouter/pc/collection/js/index-pc.js

@@ -11,6 +11,7 @@ var vm = new Vue({
     data: function () {
         return {
             power: false,
+            powerLoaded: false,
             toast: {
                 show: false,
                 content: '暂无数据'
@@ -82,6 +83,7 @@ var vm = new Vue({
                     }
                 }.bind(this),
                 complete: function () {
+                    this.powerLoaded = true
                     callback && callback()
                 }.bind(this)
             })

+ 5 - 0
src/web/staticres/js/selector/price-pc.js

@@ -38,6 +38,11 @@ var priceComponent = {
             this.price.max = max
         },
         getState: function () {
+            if (this.price.min > this.price.max) {
+                var max = this.price.max
+                this.price.max = this.price.min
+                this.price.min = max
+            }
             return this.price
         },
         confirm: function () {

+ 6 - 6
src/web/templates/frontRouter/pc/collection/sess/index.html

@@ -18,7 +18,7 @@
         <link href="//cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/theme-chalk/index.css" rel="stylesheet" />
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/ele-reset.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/selector.css?v={{Msg "seo" "version"}}'>
-        <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/collection/css/index-pc.css?v={{Msg "seo" "version"}}'>
+        <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/frontRouter/pc/collection/css/index-pc.css?v={{Msg "seo" "version"}}'>
         <style>
             .collection-container {
                 line-height: 1;
@@ -34,7 +34,7 @@
         <div class="collection-header w">
             <h3 class="tab-title">标讯收藏</h3>
         </div>
-        <div class="search-content w" v-cloak>
+        <div class="search-content w" v-cloak v-show="powerLoaded">
             <div class="selector-card-container search-filters" v-if="power">
                 <div class="selector-card">
                     <div class="selector-card-header">个人标签:</div>
@@ -117,7 +117,7 @@
                 </div>
             </div>
             <div class="collect-list-container">
-                <div class="collect-list-header">
+                <div class="collect-list-header" v-show="listState.list.length !== 0 && listState.loaded">
                     <div class="c-tab-container flex">
                         <div class="left flex">
                             <el-checkbox v-model="currentPageAllChecked" @change="allCheckboxChange"></el-checkbox>
@@ -166,7 +166,7 @@
                     </div>
                     <div class="list collect-table-list" v-loading="listState.loading" v-show="listState.listType === 'table'" style="display: none;">
                         <table class="table">
-                            <thead class="thead">
+                            <thead class="thead" v-show="listState.list.length !== 0">
                                 <tr>
                                     <td width="48">序号</td>
                                     <td width="315" class="deep-border">项目名称</td>
@@ -241,7 +241,7 @@
                 width="30%">
                 <span>确定删除该标签?</span>
                 <span slot="footer" class="dialog-footer">
-                    <button class="j-t-button confirm" @click="delThisTagConfirm">确 定</el-button>
+                    <button class="j-t-button confirm active" @click="delThisTagConfirm">确 定</el-button>
                     <button class="j-t-button cancel" @click="tagDrawer.dialogShow=false">取 消</button>
                 </span>
             </el-dialog>
@@ -264,7 +264,7 @@
     <script src='{{Msg "seo" "cdn"}}/js/selector/select-level2-pc.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/js/selector/article-item-pc.js?v={{Msg "seo" "version"}}'></script>
     <script src='{{Msg "seo" "cdn"}}/js/selector/no-data-pc.js?v={{Msg "seo" "version"}}'></script>
-    <script src='{{Msg "seo" "cdn"}}/collection/js/index-pc.js?v={{Msg "seo" "version"}}'></script>
+    <script src='{{Msg "seo" "cdn"}}/frontRouter/pc/collection/js/index-pc.js?v={{Msg "seo" "version"}}'></script>
 </body>
 
 </html>

部分文件因为文件数量过多而无法显示