Jelajahi Sumber

Merge remote-tracking branch 'origin/dev4.5' into dev4.5

wangkaiyue 4 tahun lalu
induk
melakukan
c19053224c
29 mengubah file dengan 1040 tambahan dan 101 penghapusan
  1. 23 2
      src/jfw/modules/app/src/web/staticres/jyapp/js/historypush.js
  2. 1 1
      src/jfw/modules/app/src/web/staticres/jyapp/js/searchindex.js
  3. 29 4
      src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js
  4. 3 1
      src/jfw/modules/app/src/web/templates/frontRouter/collection/sess/index.html
  5. 14 9
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  6. 2 2
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  7. 2 0
      src/web/staticres/common-module/collection/js/index-wx.js
  8. 22 12
      src/web/staticres/common-module/collection/js/industry-mobile.js
  9. 10 0
      src/web/staticres/common-module/ent-search/ent-search-template.js
  10. 600 0
      src/web/staticres/common-module/ent-search/ent-search-template.prefixer.css
  11. 58 11
      src/web/staticres/common-module/keep-tags/keep-tags-template.js
  12. 11 2
      src/web/staticres/css/ele-reset.css
  13. 2 0
      src/web/staticres/css/selector/selector.css
  14. 14 3
      src/web/staticres/frontRouter/pc/collection/css/index-pc.css
  15. 95 13
      src/web/staticres/frontRouter/pc/collection/js/index-pc.js
  16. 44 13
      src/web/staticres/js/ent-search-index-pc.js
  17. 6 6
      src/web/staticres/js/login.js
  18. 12 1
      src/web/staticres/js/selector/date-time-pc.js
  19. 8 2
      src/web/staticres/js/selector/select-level2-pc.js
  20. 8 4
      src/web/staticres/js/superSearch.js
  21. 1 1
      src/web/staticres/js/wxSupersearch.js
  22. 31 3
      src/web/staticres/vipsubscribe/js/historypush.js
  23. 1 0
      src/web/staticres/vipsubscribe/js/vip_index_new.js
  24. 27 2
      src/web/staticres/vipsubscribe/js/vip_renew.js
  25. 3 1
      src/web/templates/frontRouter/pc/collection/sess/index.html
  26. 3 1
      src/web/templates/frontRouter/wx/collection/sess/index.html
  27. 2 1
      src/web/templates/pc/entsearchindex.html
  28. 6 4
      src/web/templates/weixin/historypush.html
  29. 2 2
      src/web/templates/weixin/search/mainSearch.html

+ 23 - 2
src/jfw/modules/app/src/web/staticres/jyapp/js/historypush.js

@@ -14,7 +14,6 @@ var vm = new Vue({
     return {
       // 时间参数
       time:'',
-      timeText: '时间',
       // 选择的时间数据
       selectDate: {
         startDate: '',
@@ -47,12 +46,20 @@ var vm = new Vue({
       selectNoticeList: [] // 选择的公告类型列表
     }
   },
-  mounted () {
+  created () {
     var recover = this.recover()
     if (!recover) {
       this.getUserRoot()
     }
   },
+  mounted () {
+    setTimeout(() => {
+      console.log(this.time)
+      if(this.time !== '') {
+        this.setPushTime(this.time)
+      }
+    })
+  },
   methods: {
     recover: function () {
       let _this = this
@@ -112,6 +119,20 @@ var vm = new Vue({
       }
       return !!$data
     },
+
+    // 订阅推送消息展示数据
+    setPushTime: function(time) {
+      console.log(time)
+      let pushtime = {
+        start: parseInt(time.split('_')[0]),
+        end: parseInt(time.split('_')[0]),
+      }
+      this.tagText.timeText = new Date(pushtime.start).pattern('yyyy.MM.dd') + '~' + new Date(pushtime.end).pattern('yyyy.MM.dd')
+      this.selectDate.startDate = pushtime.start
+      this.selectDate.endDate= pushtime.end
+      this.selectDate.exact = 'exact'
+    },
+
     // 判断是否是有筛选条件
     getUserRoot: function() {
       let _this = this

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

@@ -1044,7 +1044,7 @@ var SuperSearch = {
 				scope.push(thisText);
 			}
 		});
-		SuperSearch.reqParam.scope=scope.join(",");
+		// SuperSearch.reqParam.scope=scope.join(",");
 
 		//行业类型
 		var industrySelect="";

+ 29 - 4
src/jfw/modules/app/src/web/staticres/jyapp/vipsubscribe/js/vip_renew.js

@@ -19,6 +19,7 @@ var renew = {
         isTrial: false,
         renewList: []
     },
+    isMaxTime:false,
     init: function () {
         this.initEvents()
         this.recoverState()
@@ -141,6 +142,8 @@ var renew = {
           if (size) {
             // 初始化上次选择的商品规格
             coupon.updatePrice(size.price / 100)
+            // 校验本次选择的周期是否达到3年的最大限制
+            renew.checkOver3Years(goodsSize.getTimeSelect(size.period))
           } else {
             // 初始化默认一个月*省份数量或全国价格
             sessionStorage.removeItem('$select-coupon')
@@ -149,12 +152,13 @@ var renew = {
             } else {
               coupon.updatePrice(3800*count / 100)
             }
+            // 校验本次选择的周期是否达到3年的最大限制
+            renew.checkOver3Years(goodsSize.getTimeSelect('1月'))
           }
         } else {
           // 旧规则初始化价格
           coupon.updatePrice(this.price / 100)
         }
-        // coupon.updatePrice(this.price / 100)
     },
     // 根据选中结果得到续费了多长时间的字符串
     getDuration: function (timeSelect) {
@@ -226,18 +230,22 @@ var renew = {
         // 续费后套餐剩余月数(需要加上原剩余月数lastMonth)
         var renewMonthTotalStamp = lastMonthStamp + durationStamp
         var renewMonthTotal = Math.round(renewMonthTotalStamp / (60 * 60 * 24 * 30))
-
+        console.log(renewMonthTotal, maxEndMonth)
         if (renewMonthTotal > maxEndMonth) {
             var showTipText = '<div style="white-space: nowrap;">最长订阅周期不可超过3年</div>剩余周期:' + this.monthToYear(lastMonth).str
             weui.toast(showTipText, {
                 duration: 3000,
                 className: 'jy-toast',
             })
+            renew.isMaxTime = true
             // 确认按钮置灰
             $('#enter_period').prop('disabled', true)
         } else {
+            renew.isMaxTime = false
             $('#enter_period').prop('disabled', false)
         }
+        console.log(renew.isMaxTime,'renew.isMaxTime')
+        renew.flushSubmit()
     },
     // 是否展示即将到期
     checkShowDueTip () {
@@ -299,7 +307,7 @@ var renew = {
     },
     // 是否可提交
     flushSubmit: function () {
-        if (this.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true") {
+        if (this.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true" && !this.isMaxTime) {
             $('.vip-footer.renew .confirm').prop('disabled', false)
             coupon.checkboxStatus = true
             coupon.$refs.couponRef.submitStatus = false
@@ -611,9 +619,26 @@ var goodsSize = new Vue({
     },
     getGoodSize: function(data) {
       // console.log(data, '父组件接收子组件传来的商品规格')
+      renew.checkOver3Years(this.getTimeSelect(data.period))
       sessionStorage.removeItem('$select-coupon')
       this.defaultSize = data
       coupon.updatePrice(data.price/100)
+    },
+    getTimeSelect: function(data) {
+      var time;
+      switch (data) {
+        case '1月':
+          time = [1,2]
+          break;
+        case '1季':
+          time = [3,2]
+          break;
+        case '1年':
+          time = [1,1]
+          break;
+      }
+      console.log(time)
+      return time
     }
   }
 })
@@ -660,7 +685,7 @@ var coupon = new Vue({
     checkSubmitStatus: function (checkStatus) {
       sessionStorage.setItem("vipSub_read", checkStatus)
       renew.flushSubmit()
-      return renew.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true"
+      return renew.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true" && !renew.isMaxTime
     },
     saveEvent: function () {
       renew.saveState()

+ 3 - 1
src/jfw/modules/app/src/web/templates/frontRouter/collection/sess/index.html

@@ -31,7 +31,9 @@
           <div class="search-container van-fade-an" ref="searchContainer">
             <div class="listaction">
               <div class="action_editor">
-                <span v-show="screenShow" @click="screenBtn">筛选</span>
+                <span @click="screenBtn">
+                  <span v-if="screenShow">筛选</span>
+                </span>
               </div>
               <div class="data_report">
                 <div class="collec_datareport" @click="dataReport">

+ 14 - 9
src/jfw/modules/app/src/web/templates/weixin/historypush.html

@@ -87,7 +87,7 @@
   <ul>
     <li>订阅</li>
     <li{{if or .T.isIosExam .T.isIosExamPhone}} style="visibility:hidden;"{{end}}>
-      <div class="switch only-member" data-need-bind-phone id="app-historypush-vipSub-btn" style="display:none;">
+      <div class="switch" data-need-bind-phone id="app-historypush-vipSub-btn" style="display:none;">
         <span></span>
       </div>
     </li>
@@ -127,7 +127,8 @@
                         <p class="area_box" id="showArea">
                             <span class="jymobile-tab-triangle">地区</span>
                         </p>
-                    </div> -->
+                    </div>
+                </div> -->
                     <van-dropdown-menu style="width: auto;overflow-x: auto;">
                         <van-dropdown-item :title="tagText.timeText"  ref="dateItem">
                             <date-component @cancel="cancel" @confirm="confirm" :selectdate="selectDate"/>
@@ -193,10 +194,11 @@
             </div>
         </div>
         <div class="color_top" style="display:none;"></div>
-        <div class="listcontent j-main" onscroll="listScroll()">
-            <div id="list"></div>
+        <div class="j-main">
+            <div class="listcontent" onscroll="listScroll()">
+                <div id="list"></div>
+            </div>
         </div>
-
         <span class="empty findnull-no-key">
             <div><img class="empty-img" src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/images/wxkeyset/nopush.png?v={{Msg "seo" "version"}}"></div>
             <div class="empty-text">订阅关键词,接收最新招投标信息</div>
@@ -524,11 +526,13 @@
         isinitpage = true;
       }
   });
-  var firstTime
-  if({{.T.selectTime}} == '') {
-    firstTime = vm.time
+  var firstTime = {{.T.selectTime}}
+    // firstTime = '1624377600'
+  if( firstTime != '') {
+    firstTime = firstTime + "000" +'_'+ firstTime + "000";
+    vm.time = firstTime
   }else {
-    firstTime = {{.T.selectTime}}+'-'+{{.T.selectTime}};
+    firstTime = vm.time
   }
   
   var userId = "";
@@ -1648,6 +1652,7 @@ function hasNoData() {
         }
         // 点击选择时间
         $('#showDatePicker').on('click', function () {
+            console.log('11')
             var that = this
             // 判断头部vip订阅广告是否显示
             var isAdShow = $('.header_header').is(':visible')

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

@@ -45,7 +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 href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/ent-search/ent-search-template.prefixer.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
     <link href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/css/index.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 />
@@ -246,7 +246,7 @@
             </div>
             <!-- 最新标讯 -->
             <div class="home_data">
-                <h3 class="data_nav">最新标讯</h3>
+                <h3 class="data_nav" onclick="location.href='https://web-zyh.jydev.jianyu360.com/jyapp/jylab/mainSearch'">最新标讯</h3>
                 <div class="data_list">
                     <!--首页列表-->
                 </div>

+ 2 - 0
src/web/staticres/common-module/collection/js/index-wx.js

@@ -80,6 +80,8 @@ var vNode = {
   mounted() {
     if(this.tagText.timeText !=='' || this.tagText.perText != '' || this.tagText.cateText != '' ||  this.limitlist.buyerPhone != 0 || this.limitlist.winnerPhone != 0) {
       this.limitshow = true
+    } else {
+      this.limitshow = false
     }
   },
   mounted () {

+ 22 - 12
src/web/staticres/common-module/collection/js/industry-mobile.js

@@ -121,20 +121,30 @@ var industryComponent = {
       let indArr = this.selectindustrylist
       let newindArr = []
       let bool = true
-      indArr.forEach(function(sum) {
-        newindArr.push(sum.split('_')[1])
-      })
-      this.tablist.forEach(function(item){
-        item[Object.keys(item)[0]].forEach(function(data) {
-          newindArr.forEach(function(sum) {
-            if(data.name == sum) {
-              data.type = true
-              bool = false
-            }
+      if(indArr && indArr.length == 0) {
+        this.tablist.forEach(function(item){
+          item[Object.keys(item)[0]].forEach(function(data) {
+            data.type = false
           })
         })
-      })
-      this.canClick = bool
+        this.canClick = bool
+      } else {
+        indArr.forEach(function(sum) {
+          newindArr.push(sum.split('_')[1])
+        })
+        console.log(newindArr)
+        this.tablist.forEach(function(item){
+          item[Object.keys(item)[0]].forEach(function(data) {
+            newindArr.forEach(function(sum) {
+              if(data.name == sum) {
+                data.type = true
+                bool = false
+              }
+            })
+          })
+        })
+        this.canClick = bool
+      }
     },
     // 总全选
     checkBoxAll:function() {

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

@@ -728,6 +728,16 @@ var vMainSearchComponent = new Vue({
             var tempDate = tempParams.data.exact
             if (tempDate === 'exact') {
               tempDate = (tempParams.data.start ? tempParams.data.start / 1000 : '')  + '_' + (tempParams.data.end ? tempParams.data.end / 1000 : '')
+            } else {
+              if (tempDate === 'lately7') {
+                tempDate = 'lately-7'
+              }
+              if (tempDate === 'lately30') {
+                tempDate = 'lately-30'
+              }
+              if (tempDate === 'lastYear') {
+                tempDate = 'thisyear'
+              }
             }
             this.conditionStrMap.publishtime = tempDate
             if (this.conditionStrMap.publishtime === '_' || this.conditionStrMap.publishtime === 'all') {

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

@@ -0,0 +1,600 @@
+/*
+* Prefixed by https://autoprefixer.github.io
+* PostCSS: v7.0.29,
+* Autoprefixer: v9.7.6
+* Browsers: iOS >= 7,Android >= 4
+*/
+
+.v-ent-search-group {
+    display: block !important;
+    background-color: #f5f6f7;
+}
+
+.v-ent-search-group .ent-search-item {
+    margin-top: 8px;
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    padding: 0.32rem;
+    background-color: #fff;
+}
+
+.v-ent-search-group .ent-search-list {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+}
+
+.ent-info-head {
+    -webkit-flex-shrink: 0;
+    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;
+    font-weight: 500;
+    font-size: 0.48rem;
+    line-height: 0.56rem;
+    text-align: center;
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: center;
+    justify-content: center;
+    padding: 0 0.1rem 0 0.2rem;
+    letter-spacing: 0.1rem;
+    color: #fff;
+}
+
+.ent-info-bottom {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    margin-top: 0.24rem;
+    -webkit-box-pack: justify;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.ent-info-bottom .ent-info-status {
+    background: transparent;
+    border-radius: 0.08rem;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    font-size: 0.24rem;
+    line-height: 0.36rem;
+    color: #2ABED1;
+    border: 0.01rem solid #2ABED1;
+    padding: 0 0.08rem;
+    display: inline-block;
+}
+
+.ent-info-bottom .ent-info-status.status-1 {
+    color: #FB483D;
+    border-color: #FB483D;
+}
+
+.ent-info-bottom .ent-info-status.status-1 {
+    color: #FF9F40;
+    border-color: #FF9F40;
+}
+
+.ent-info-bottom .ent-info-status.status-1 {
+    color: #9B9CA3;
+    border-color: #9B9CA3;
+}
+
+.ent-info-top {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.ent-row {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+}
+
+.ent-search-list .j-icon {
+    -webkit-flex-shrink: 0;
+    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;
+    -webkit-box-flex: 1;
+    -webkit-flex: 1;
+    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-line-box {
+    margin-top: 0.24rem;
+    width: 4.22rem;
+    height: 0.01rem;
+    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.48rem auto;
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: 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: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: 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-search-group .van-tabs__line {
+    opacity: 0 !important;
+}
+
+.v-ent-search-group .an-icon-box {
+    position: relative;
+    width: 0.32rem;
+    height: 0.32rem;
+}
+
+.v-ent-search-group .an-icon-box .j-icon {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 0.32rem !important;
+    height: 0.32rem !important;
+    -webkit-transition: all 0.2s;
+    transition: all 0.2s;
+    margin-left: 0.04rem;
+}
+
+.v-ent-search-group .an-icon-box .icon-triangle-up {
+    opacity: 0;
+}
+
+.v-ent-search-group .an-icon-box .icon-triangle-down {
+    opacity: 1;
+}
+
+.v-ent-search-group .ent-search-tab-item {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: 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-search-group .ent-search-tab-item .disabled-tag {
+    display: none;
+    width: 0.64rem;
+    height: 0.32rem;
+    border: 0.02rem solid #FB483D;
+    box-sizing: border-box;
+    border-radius: 0.16rem;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    text-align: center;
+    font-size: 0.2rem;
+    line-height: 0.32rem;
+    color: #FB483D;
+    margin: 0 0.04rem;
+}
+
+.v-ent-search-group .ent-search-tab-item.ent-p-disabled {
+    color: #C0C4CC !important;
+}
+
+.v-ent-search-group .ent-search-tab-item.ent-p-disabled .disabled-tag {
+    display: inline-block;
+}
+
+.v-ent-search-group .ent-search-tab-item.ent-p-select {
+    color: #2ABED1 !important;
+}
+
+.v-ent-search-group .ent-search-tab-item.ent-p-hide {
+    display: none;
+}
+
+.v-ent-search-group .van-tabs--line .van-tabs__wrap::after {
+    border-width: 0;
+    border-bottom-width: 1px;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item {
+    color: #2ABED1;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item .icon-triangle-up {
+    opacity: 1;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item .icon-triangle-down {
+    opacity: 0;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item.ent-p-close {
+    color: #5F5E64;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item.ent-p-close .icon-triangle-up {
+    opacity: 0;
+}
+
+.v-ent-search-group .van-tab--active .ent-search-tab-item.ent-p-close .icon-triangle-down {
+    opacity: 1;
+}
+
+.v-ent-search-group .ent-search-list {
+    overflow-y: auto;
+    position: relative;
+}
+
+.v-ent-search-group .ent-search-list.stop {
+    overflow: hidden;
+}
+
+.v-ent-search-group .jy-diy-pop {
+    position: absolute;
+    bottom: 0;
+    left: 0;
+    width: 100%;
+    height: unset;
+}
+
+.v-ent-search-group .jy-diy-pop > .van-overlay {
+    position: absolute;
+    z-index: 2020;
+}
+
+.v-ent-search-group .jy-diy-pop > .van-popup {
+    position: absolute;
+    top: 0;
+    left: 0;
+    width: 100%;
+    background-color: #fff;
+    z-index: 2021;
+}
+
+.v-ent-search-group .jy-diy-pop .popup-content {
+    max-height: 40vh;
+    overflow-y: auto;
+}
+
+.v-ent-search-group .jy-diy-pop .popup-content .j-footer {
+    display: none;
+}
+
+.v-ent-search-group .jy-diy-pop .popup-content .van-popup .j-footer {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+}
+
+.v-ent-search-group .empty-tip-group {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: center;
+    justify-content: center;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    font-size: 0.28rem;
+    line-height: 0.4rem;
+    color: #5F5E64;
+}
+
+.v-ent-search-group .empty-tip-group .img-empty {
+    width: 3.2rem;
+    height: 3.2rem;
+    margin-bottom: 0.24rem;
+    margin-top: 1.76rem;
+}
+
+.v-ent-search-group .wait-buy-tip-group {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: vertical;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: column;
+    flex-direction: column;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: center;
+    -webkit-justify-content: center;
+    justify-content: center;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    padding: 0.96rem 0;
+    border-bottom: 0.5px solid rgba(0, 0, 0, 0.05);
+}
+
+.v-ent-search-group .wait-buy-tip-group h3 {
+    font-size: 0.36rem;
+    line-height: 0.52rem;
+    color: #171826;
+    margin-bottom: 0.16rem;
+}
+
+.v-ent-search-group .wait-buy-tip-group p {
+    font-size: 0.3rem;
+    line-height: 0.44rem;
+    text-align: center;
+    color: #5F5E64;
+}
+
+.v-ent-search-group .condition-select-group {
+    padding-left: 0.32rem;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item .more-icon-box {
+    position: relative;
+    width: 0.48rem;
+    height: 0.48rem;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item .more-icon-box .j-icon {
+    top: 0;
+    left: 0;
+    position: absolute;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item .icon-tick-circle-fill {
+    opacity: 0;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item .icon-tick-circle {
+    opacity: 1;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item.checked .icon-tick-circle-fill {
+    opacity: 1;
+}
+
+.v-ent-search-group .condition-select-group.more .condition-select-item.checked .icon-tick-circle {
+    opacity: 0;
+}
+
+.v-ent-search-group .condition-select-group .condition-select-item {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+    padding: 0.24rem 0.32rem;
+    padding-left: 0;
+    border-bottom: 0.5px solid rgba(0, 0, 0, 0.05);
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    font-size: 0.28rem;
+    line-height: 0.4rem;
+    color: #5F5E64;
+}
+
+.v-ent-search-group .condition-select-group .condition-select-item .j-icon {
+    opacity: 0;
+    width: 0.48rem;
+    height: 0.48rem;
+    -webkit-transition: all 0.2s;
+    transition: all 0.2s;
+}
+
+.v-ent-search-group .condition-select-group .condition-select-item.checked {
+    color: #2ABED1;
+}
+
+.v-ent-search-group .condition-select-group .condition-select-item.checked .j-icon {
+    opacity: 1;
+}
+
+.v-ent-search-group .pop-bottom {
+    display: -webkit-box;
+    display: -webkit-flex;
+    display: flex;
+    -webkit-box-orient: horizontal;
+    -webkit-box-direction: normal;
+    -webkit-flex-direction: row;
+    flex-direction: row;
+    -webkit-box-align: center;
+    -webkit-align-items: center;
+    align-items: center;
+    -webkit-box-pack: justify;
+    -webkit-justify-content: space-between;
+    justify-content: space-between;
+    padding: 0.16rem 0.32rem;
+}
+
+.v-ent-search-group .pop-bottom > .van-button {
+    -webkit-box-flex: 1;
+    -webkit-flex: 1;
+    flex: 1;
+    font-family: PingFang SC;
+    font-style: normal;
+    font-weight: 500;
+    font-size: 0.32rem;
+    line-height: 0.48rem;
+    color: #5F5E64;
+    background: #EDEFF2;
+    border-radius: 4px;
+}
+
+.v-ent-search-group .pop-bottom > .van-button--primary {
+    color: #fff;
+    border-color: #2ABED1;
+    background-color: #2ABED1;
+}
+
+.v-ent-search-group .pop-bottom > .van-button + .van-button {
+    margin-left: 0.26rem;
+}
+
+.ent-stop-scroll {
+    overflow: hidden !important;
+}

+ 58 - 11
src/web/staticres/common-module/keep-tags/keep-tags-template.js

@@ -1,4 +1,22 @@
 var tempStyleComponent = `<style>
+/*
+* Prefixed by https://autoprefixer.github.io
+* PostCSS: v7.0.29,
+* Autoprefixer: v9.7.6
+* Browsers: iOS >= 7,Android >= 4
+*/
+
+
+    /* 对号角标 */
+    .base-icon {
+        background-color: transparent;
+        background-repeat: no-repeat;
+        background-position: center;
+        background-size: contain;
+    }
+    .icon-corner-mark {
+        background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAACE4AAAhOAFFljFgAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKUSURBVHgB7ZdPaxNBGIffmYS2aqBRKkWxur2lLWJy0HtbBY/6AfzTa3vQb6AeBA9CBbF4FLx4M54EQVZPCj3EeDF4MQepFkXXUqXYdqbzbrtlu53p7sxOsnvoc8lMZpY8eZN3frsA++yTXyovGw6BnIOStJe6uRYdfdWokiJ1OUCZQk6puM1rgSTOc1nREbd5g3B4EH4vdxUddZu3opJIriqKksDhtmwtN6Jj7sdZzvlN1Xrmos7zRvlguTALnF/fa1+mor5kP3XFsBq3NzPR4CAXQyfJ/kxEdSWRrouaSCJdFQ1HImjStQM/Gom6dKWiskjUpeMVVUWiLh2t6F6RqEvHROMiURfrokkjMUqldACW1tZhYeW/dL0AFglF4kWd62acQbg/dhKuDg3AspBtLv3btcdaM+FBLiQbkCC3ISI5PTy4PZ842i/dZ0XUNG2ikkj92y/p3tSiNiUftReh/v23dH+qZjKNRJXk3JdF5TXGzYSRSCl5hpLH+3rg4elTcHdkCIj46vPeX7ApaSyKkUg5PBbDPpxfOTEAl44d8dfOlktKWVNJgactuhWJ96LvB6Iq2RSSItzIey1RVSQurKz6r+cOl0Amm0Zyy/RF4mZKEonTQmgmIjTvLfvSxpICts7GY0V1I1Emm0ZSNGv708SZ4SLESWIkcp44bebamxIyWV1JX5SzO/iq/I/iQd5ziL7DIWgSNFH4P2skKarZmqxO4biokjRJmzBYWbwTwtPg9Y8/8PTrT9DE44SNBxPSCUkbrDF2+fP5Wj2Y78h6jMRCr38H5EB2eIyzqbAksi2a9inRBuKzPzDCaq3J2pPomv/T23hKTAM2DXa3TDCA2HwA08ATekKOv+UM6q0LtTdxF2wAr7U5snLQCTUAAAAASUVORK5CYII=);
+    }
     .van-dialog.ent-search-dialog {
       border-radius: 0.16rem;
       font-family: PingFang SC;
@@ -62,10 +80,19 @@ var tempStyleComponent = `<style>
     }
     #v-keep-component .keep-component-title {
         padding-bottom: 0.12rem;
+        display: -webkit-box;
+        display: -webkit-flex;
         display: flex;
-        flex-direction: row;
-        align-items: center;
-        justify-content: space-between;
+        -webkit-box-orient: horizontal;
+        -webkit-box-direction: normal;
+        -webkit-flex-direction: row;
+                flex-direction: row;
+        -webkit-box-align: center;
+        -webkit-align-items: center;
+                align-items: center;
+        -webkit-box-pack: justify;
+        -webkit-justify-content: space-between;
+                justify-content: space-between;
         font-family: PingFang SC;
         font-style: normal;
         font-weight: 500;
@@ -99,9 +126,15 @@ var tempStyleComponent = `<style>
         padding-top: 0.24rem;
     }
     #v-keep-component .keep-component-tag-group {
+        display: -webkit-box;
+        display: -webkit-flex;
         display: flex;
-        flex-direction: row;
-        flex-wrap: wrap;
+        -webkit-box-orient: horizontal;
+        -webkit-box-direction: normal;
+        -webkit-flex-direction: row;
+                flex-direction: row;
+        -webkit-flex-wrap: wrap;
+                flex-wrap: wrap;
         max-height: 30vh;
         overflow-x: hidden;
         overflow-y: scroll;
@@ -114,6 +147,7 @@ var tempStyleComponent = `<style>
         bottom: 0;
         right: 0;
         opacity: 0;
+        -webkit-transition: all 0.2s;
         transition: all 0.2s;
     }
     #v-keep-component .keep-component-tag {
@@ -130,6 +164,7 @@ var tempStyleComponent = `<style>
         padding: 0.1rem 0.2rem;
         margin-bottom: 0.24rem;
         margin-right: 0.24rem;
+        -webkit-transition: color 0.2s;
         transition: color 0.2s;
     }
     #v-keep-component .keep-component-tag.checked i {
@@ -144,17 +179,27 @@ var tempStyleComponent = `<style>
         margin-left: 0.3rem;
         padding: 0.2rem;
         padding-right: 0;
-        flex-shrink: 0;
+        -webkit-flex-shrink: 0;
+                flex-shrink: 0;
         background: transparent;
         border-color: transparent;
         color: inherit;
     }
     #v-keep-component .keep-component-input-group {
         width: 100%;
+        display: -webkit-box;
+        display: -webkit-flex;
         display: flex;
-        flex-direction: row;
-        align-items: center;
-        justify-content: space-between;
+        -webkit-box-orient: horizontal;
+        -webkit-box-direction: normal;
+        -webkit-flex-direction: row;
+                flex-direction: row;
+        -webkit-box-align: center;
+        -webkit-align-items: center;
+                align-items: center;
+        -webkit-box-pack: justify;
+        -webkit-justify-content: space-between;
+                justify-content: space-between;
         margin-bottom: 0.44rem;
         font-family: PingFang SC;
         font-style: normal;
@@ -167,8 +212,11 @@ var tempStyleComponent = `<style>
         border-color: #2ABED1;
     }
     #v-keep-component .keep-component-input-group  input {
+        -webkit-transition: width 0.2s;
         transition: width 0.2s;
-        flex: 1;
+        -webkit-box-flex: 1;
+        -webkit-flex: 1;
+                flex: 1;
         border: 1px solid rgba(0, 0, 0, 0.1);
         box-sizing: border-box;
         border-radius: 0.08rem;
@@ -185,7 +233,6 @@ var tempStyleComponent = `<style>
         opacity: 0.5;
         cursor: not-allowed;
     }
-
 </style>`
 
 Vue.component('keep-component', {

+ 11 - 2
src/web/staticres/css/ele-reset.css

@@ -125,6 +125,7 @@ li.el-select-dropdown__item {
     justify-content: center;
     padding: 10px 50px;
     font-size: 16px;
+    white-space: nowrap;
     color: #686868;
     border: 1px solid #e0e0e0;
     border-radius: 7px;
@@ -145,6 +146,7 @@ li.el-select-dropdown__item {
 
 /* dialog居中布局 */
 .j-el-confirm {
+    width: 380px!important;
     border-radius: 8px;
 }
 .j-el-confirm .el-dialog__header,
@@ -153,18 +155,25 @@ li.el-select-dropdown__item {
     text-align: center;
 }
 .j-el-confirm .el-dialog__header {
-    padding-top: 30px;
+    padding: 30px 32px 10px;
 }
 .j-el-confirm .el-dialog__body {
+    padding: 30px 32px;
     color: #686868;
     font-size: 14px;
     line-height: 22px;
 }
 .j-el-confirm .el-dialog__footer {
+    padding: 10px 32px 20px;
     padding-bottom: 40px;
 }
 .j-el-confirm .dialog-footer {
     display: flex;
     align-items: center;
     justify-content: center;
-}
+}
+
+/* tag */
+.el-tag__close.el-icon-close {
+    font-weight: 700;
+}

+ 2 - 0
src/web/staticres/css/selector/selector.css

@@ -244,6 +244,7 @@
 .area-city-content .el-tag {
     margin: 4px 6px;
     height: 30px;
+    font-size: 14px;
 }
 .area-city-content .select-list {
     position: relative;
@@ -287,6 +288,7 @@
     display: inline-block;
     margin: 0 4px 4px;
     padding: 4px 8px;
+    font-size: 14px;
     border-radius: 4px;
     cursor: pointer;
 }

+ 14 - 3
src/web/staticres/frontRouter/pc/collection/css/index-pc.css

@@ -161,9 +161,9 @@
 .list-item {
     border-bottom: 1px solid #ECECEC;
 }
-.list-item:hover,
-.list-item:hover .a-i-title {
-    color: #2abed1;
+.list-item:hover {
+    background-color: #F5F6F7;
+    box-shadow: inset 0px -1px 0px rgb(0,0,0,.05);
 }
 
 .list-index {
@@ -249,10 +249,21 @@
     margin: 6px;
     padding: 1px 8px;
     height: auto;
+    color: #1d1d1d;
     background-color: #f5f6f7;
     border: 1px solid #ececec;
     border-radius: 5px;
     line-height: 22px;
+    cursor: pointer;
+}
+.tag-drawer .el-tag:hover {
+    color: #2CB7CA;
+    border-color: #2CB7CA;
+}
+.tag-drawer .el-tag:hover .el-icon-close {
+    color: #2CB7CA;
+    background-color: transparent;
+
 }
 .tag-drawer .el-tag .el-icon-close {
     font-weight: 700;

+ 95 - 13
src/web/staticres/frontRouter/pc/collection/js/index-pc.js

@@ -10,6 +10,7 @@ var vm = new Vue({
     },
     data: function () {
         return {
+            sessKey: '$data-collection-index',
             powerInfo: {},
             power: false,
             powerLoaded: false,
@@ -36,9 +37,14 @@ var vm = new Vue({
             ],
             filterState: {
                 tags: [],
-                timeStart: 0,
-                timeEnd: 0,
+                selectTime: '',
+                timeSelectorObj: {
+                    start: '',
+                    end: '',
+                    exact: ''
+                },
                 buyerclass: [],
+                buyerclassObj: {}, // buyerclass原始选中数据
                 buyerPhone: 0, // 采购单位联系方式
                 bidPhone: 0, // 中标企业联系方式
             },
@@ -52,6 +58,7 @@ var vm = new Vue({
                 list: [] // 查询请求返回的数据
             },
             currentPageAllChecked: false,
+            currentSelectItems: [],
             tagDrawer: {
                 dialogShow: false,
                 toastShow: false,
@@ -61,12 +68,24 @@ var vm = new Vue({
         }
     },
     created: function () {
+        var _this = this
         this.getPower(function () {
-            this.getTagList()
-            this.getList()
-        }.bind(this))
+            if (_this.hasRestoreState()) {
+                // 等TagList请求完成后在恢复数据
+                _this.getTagList(function () {
+                    setTimeout(function () {
+                        var $data = _this.restorePageState()
+                        if (!$data) {
+                            _this.getList()
+                        }
+                    }, 0)
+                })
+            } else {
+                _this.getTagList()
+                _this.getList()
+            }
+        })
     },
-    mounted: function () {},
     methods: {
         showToast: function (content, timer, callback) {
             content = content || '暂无数据'
@@ -100,7 +119,7 @@ var vm = new Vue({
                 this.listState.pageSize = 100
             }
         },
-        getTagList: function () {
+        getTagList: function (callback) {
             $.ajax({
                 url: '/publicapply/bidcoll/getLabel',
                 type: 'POST',
@@ -108,6 +127,7 @@ var vm = new Vue({
                     if (res.error_code === 0 && res.data) {
                         this.tagList = res.data
                         this.initSelectTagList()
+                        callback && callback()
                     }
                 }.bind(this)
             })
@@ -118,12 +138,11 @@ var vm = new Vue({
                 pagenum: this.listState.pageNum,
                 pagesize: this.listState.pageSize,
                 label: this.filterState.tags.join(','),
-                selectTime: this.filterState.timeStart / 1000 + '_' + this.filterState.timeEnd / 1000,
+                selectTime: this.filterState.selectTime,
                 buyerclass: this.filterState.buyerclass.join(','),
                 buyPhone: this.filterState.buyPhone ? this.filterState.buyPhone : 0,
                 bidPhone: this.filterState.bidPhone ? this.filterState.bidPhone : 0
             }
-
             this.listState.loading = true
             this.listState.loaded = false
 
@@ -215,12 +234,24 @@ var vm = new Vue({
             this.doQuery()
         },
         dateTimeFilterChange: function (t) {
-            this.filterState.timeStart = t.start
-            this.filterState.timeEnd = t.end
+            this.filterState.timeSelectorObj = t
+            var arr = []
+            if (t.start) {
+                arr.push(t.start / 1000)
+            }
+            if (t.end) {
+                arr.push(t.end / 1000)
+            }
+            if (arr.length === 0) {
+                this.filterState.selectTime = ''
+            } else {
+                this.filterState.selectTime = arr.join('_')
+            }
             this.doQuery()
         },
         buyerClassFilterChange: function (buyerclass) {
             var buyerclassArr = []
+            this.filterState.buyerclassObj = buyerclass
             for (var key in buyerclass) {
                 buyerclassArr = buyerclassArr.concat(buyerclass[key])
             }
@@ -236,9 +267,33 @@ var vm = new Vue({
         dataExport: function () {
             var info = this.getSelectedIdArr()
             var ids = info.ids
-            if (ids.length !== 0) {
-                return window.open('/front/dataExport/superSearchExport?selectIds=' + ids.join(','))
+            var data = null
+            if (ids.length === 0) {
+                data = {
+                    label: this.filterState.tags.join(','),
+                    selectTime: this.filterState.selectTime,
+                    buyerclass: this.filterState.buyerclass.join(','),
+                    buyPhone: this.filterState.buyPhone ? this.filterState.buyPhone : 0,
+                    bidPhone: this.filterState.bidPhone ? this.filterState.bidPhone : 0
+                }
+            } else {
+                data = {
+                    selectIds: ids.join(',')
+                }
             }
+            $.ajax({
+                url: '/publicapply/dataexpoet/bycollection',
+                type: 'POST',
+                data: data,
+                success: function (res) {
+                    if (res.error_code === 0) {
+                        if (res.data._id) {
+                            this.savePageState()
+                            location.href = '/front/dataExport/toCreateOrderPage/' + res.data._id
+                        }
+                    }
+                }.bind(this)
+            })
         },
         // 批量取消收藏
         unStarSelected: function () {
@@ -276,6 +331,7 @@ var vm = new Vue({
                     ids.push(item._id)
                 }
             })
+            this.currentSelectItems = ids
             return {
                 ids: ids,
                 arr: arr
@@ -377,5 +433,31 @@ var vm = new Vue({
                 }.bind(this)
             })
         },
+        savePageState: function () {
+            var data = {
+                filterState: this.filterState,
+                listState: this.listState,
+                currentSelectItems: this.currentSelectItems,
+                currentPageAllChecked: this.currentPageAllChecked
+            }
+            sessionStorage.setItem(this.sessKey, JSON.stringify(data))
+        },
+        hasRestoreState: function () {
+            return !!sessionStorage.getItem(this.sessKey)
+        },
+        restorePageState: function () {
+            var $data = sessionStorage.getItem(this.sessKey)
+            if ($data) {
+                $data = JSON.parse($data)
+                // 恢复数据
+                Object.assign(this.filterState, $data.filterState || {})
+                Object.assign(this.listState, $data.listState || {})
+                Object.assign(this.currentSelectItems, $data.currentSelectItems || {})
+                // 恢复页面状态
+                this.currentPageAllChecked = $data.currentPageAllChecked
+                sessionStorage.removeItem(this.sessKey)
+            }
+            return !!$data
+        }
     }
 })

+ 44 - 13
src/web/staticres/js/ent-search-index-pc.js

@@ -22,14 +22,14 @@ var vm = new Vue({
                     label: '法定代表人',
                     value: 'B'
                 },
-                {
-                    label: '股东',
-                    value: 'C'
-                },
-                {
-                    label: '高管',
-                    value: 'D'
-                },
+                // {
+                //     label: '股东',
+                //     value: 'C'
+                // },
+                // {
+                //     label: '高管',
+                //     value: 'D'
+                // },
                 {
                     label: '中标项目/标的物',
                     value: 'E'
@@ -138,7 +138,7 @@ var vm = new Vue({
                 ],
             },
             filterState: {
-                searchType: [],
+                searchType: ['A'],
                 entArea: [],
                 entCity: [],
                 entType: [],
@@ -184,7 +184,7 @@ var vm = new Vue({
     },
     computed: {
         preSearchListShow: function () {
-            return this.searchContent.trim().length > 2 && this.preSearch.list.length && (this.preSearch.focus || this.preSearch.hover)
+            return this.searchContent.trim().length >= 2 && this.preSearch.list.length && (this.preSearch.focus || this.preSearch.hover)
         },
         buttonText: function () {
             if (this.power) {
@@ -207,7 +207,8 @@ var vm = new Vue({
     },
     mounted: function () {
         this.initDOMEvents()
-        // this.checkLogin()
+        // 默认选中搜索范围
+        this.$refs.searchType.setState(this.filterState.searchType)
     },
     methods: {
         checkLogin: function () {
@@ -340,7 +341,7 @@ var vm = new Vue({
             var data = {
                 name: this.searchContent.trim()
             }
-            if (data.name.length <= 2) return
+            if (data.name.length < 2) return
             $.ajax({
                 url: '/bigmember/search/ent/association',
                 method: 'POST',
@@ -356,6 +357,36 @@ var vm = new Vue({
                 }.bind(this)
             })
         }, 200),
+        getDefaultList: function () {
+            $.ajax({
+                url: '/publicapply/enterpriseSearch/index',
+                type: 'POST',
+                success: function (res) {
+                    if (res.error_code === 0 && res.data) {
+                        if (res.data.list) {
+                            if (this.power) {
+                                this.listState.list = res.data.list || []
+                            } else {
+                                if (res.data.list.length > 4) {
+                                    res.data.list.length = 4
+                                    res.data.list.push({
+                                        company_address: 'xxx',
+                                        company_name: 'xxx',
+                                        company_status: 'xxx',
+                                        legal_person: 'xxx',
+                                        id: 'xxx',
+                                        showMask: true
+                                    })
+                                }
+                                this.listState.list = res.data.list || []
+                            }
+                        }
+                    } else {
+                        this.checkLogin()
+                    }
+                }.bind(this)
+            })
+        },
         getList: function () {
             var data = {
                 match: this.searchContent,
@@ -371,7 +402,7 @@ var vm = new Vue({
                 pageSize: this.listState.pageSize,
                 pageNum: this.listState.pageNum - 1, // 当前页, 从0开始
             }
-            // return console.info(JSON.stringify(data, null, 2))
+
             if (!data.match.replace(/\s+/g, '')) return
 
             this.listState.loading = true

+ 6 - 6
src/web/staticres/js/login.js

@@ -394,12 +394,12 @@ var logic = function(data,num){
           +"<div class=\"myorderDiv lastBox\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc'\">"
           +"<span>大会员</span>"
           +"</div>"
+          +"<div class=\"myorderDiv ent-search\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc/svip/ent_search'\">"
+          +"<span>企业查询</span>"
+          +"</div>"
           +"<div class=\"myorderDiv bx-collection\" onclick=\"window.location.href='/swordfish/frontPage/collection/sess/index'\">"
           +"<span>标讯收藏</span>"
           +"</div>"
-        //   +"<div class=\"myorderDiv ent-search\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc/svip/ent_search'\">"
-        //   +"<span>企业查询</span>"
-        //   +"</div>"
 					hhtml+= "<div class='exitDiv' onclick='signout()'>"
 						+"<img id='outImg' src='/images/userexit.png'/>"
 						+"<span>退出</span>"
@@ -671,12 +671,12 @@ var haslogin = function(num,kyorpn,url){
             +"<div class=\"myorderDiv lastBox\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc'\">"
             +"<span>大会员</span>"
             +"</div>"
+            +"<div class=\"myorderDiv ent-search\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc/svip/ent_search'\">"
+            +"<span>企业查询</span>"
+            +"</div>"
             +"<div class=\"myorderDiv bx-collection\" onclick=\"window.location.href='/swordfish/frontPage/collection/sess/index'\">"
             +"<span>标讯收藏</span>"
             +"</div>"
-            // +"<div class=\"myorderDiv ent-search\" style='display: none' onclick=\"window.location.href='/swordfish/page_big_pc/svip/ent_search'\">"
-            // +"<span>企业查询</span>"
-            // +"</div>"
             hhtml+= "<div class='exitDiv' onclick='signout()'>"
             +"<img id='outImg' src='/images/userexit.png'/>"
             +"<span>退出</span>"

+ 12 - 1
src/web/staticres/js/selector/date-time-pc.js

@@ -46,6 +46,12 @@ var dateTimeComponent = {
     name: 'date-time-pc',
     template: dateTimeComponentTemplate,
     props: {
+        initSelected: {
+            type: Object,
+            default: function () {
+                return {}
+            }
+        },
         showSelectGroup: {
             type: Boolean,
             default: true
@@ -106,9 +112,14 @@ var dateTimeComponent = {
             }
         }
     },
+    watch: {
+        initSelected: function (newVal) {
+            this.setState(newVal)
+        }
+    },
     created: function () {},
     methods: {
-        setState: function () {
+        setState: function (data) {
             // {
             //   start: 1620230400000, // 2021-5-6
             //   end: 1620489600000, // 2021-5-9

+ 8 - 2
src/web/staticres/js/selector/select-level2-pc.js

@@ -48,6 +48,12 @@ var selectLevel2Component = {
                 }
             }
         },
+        initSelected: {
+            type: Object,
+            default: function () {
+                return {}
+            }
+        },
         // 是否需要显示更多按钮
         useShowMore: {
             type: Boolean,
@@ -55,8 +61,8 @@ var selectLevel2Component = {
         }
     },
     watch: {
-        map: function (newVal, oldVal) {
-            // this.initData()
+        initSelected: function (newVal) {
+            this.setState(newVal)
         }
     },
     data: function () {

+ 8 - 4
src/web/staticres/js/superSearch.js

@@ -60,18 +60,22 @@ $(function() {
 	if(rsw!=null){
 		if(rsw=="D"){
 			$("#screenBtn").addClass("down");
-			$(".searchTender").show();
+      $(".searchTender").show();
+      $('#fold').show()
 		}else{
 			$("#screenBtn").removeClass("down");
-			$(".searchTender").hide();
+      $(".searchTender").hide();
+      $('#fold').hide()
 		}
 	}
 	//记录用户刷选按钮状态
 	$("#screenBtn").click(function(){
 		if($(this).attr("class").indexOf("down")>0){
-			localStorage.setItem("hideorshow", "D");
+      localStorage.setItem("hideorshow", "D");
+      $('#fold').show()
 		}else{
-			localStorage.setItem("hideorshow", "U");
+      localStorage.setItem("hideorshow", "U");
+      $('#fold').hide()
 		}
 	})
 	//

+ 1 - 1
src/web/staticres/js/wxSupersearch.js

@@ -1014,7 +1014,7 @@ var SuperSearch = {
 				scope.push(thisText);
 			}
 		});
-		SuperSearch.reqParam.scope=scope.join(",");
+		// SuperSearch.reqParam.scope=scope.join(",");
 
 		//行业类型
 		var industrySelect="";

+ 31 - 3
src/web/staticres/vipsubscribe/js/historypush.js

@@ -41,18 +41,25 @@ var vm = new Vue({
         noticeText: '公告类型'
       },
       selectCateList: [], // 选择的采购单位类型列表
-      selectAreaList: [], // 选择的采购单位类型列表
+      selectAreaList: [], // 选择的地区列表
       selectIndustryList: [], // 选择的行业列表
-      selectKeyWordList: [], // 选择的行业列表
+      selectKeyWordList: [], // 选择的关键词列表
       selectNoticeList: [] // 选择的公告类型列表
     }
   },
-  mounted () {
+  created () {
     var recover = this.recover()
     if (!recover) {
       this.getUserRoot()
     }
   },
+  mounted () {
+    setTimeout(() => {
+      if(this.time !== '') {
+        this.setPushTime(this.time)
+      }
+    })
+  },
   methods: {
     recover: function () {
       let _this = this
@@ -112,6 +119,17 @@ var vm = new Vue({
       }
       return !!$data
     },
+    // 订阅推送消息展示数据
+    setPushTime: function(time) {
+      let pushtime = {
+        start: parseInt(time.split('_')[0]),
+        end: parseInt(time.split('_')[0]),
+      }
+      this.tagText.timeText = new Date(pushtime.start).pattern('yyyy.MM.dd') + '~' + new Date(pushtime.end).pattern('yyyy.MM.dd')
+      this.selectDate.startDate = pushtime.start
+      this.selectDate.endDate= pushtime.end
+      this.selectDate.exact = 'exact'
+    },
     // 判断是否是有筛选条件
     getUserRoot: function() {
       let _this = this
@@ -209,18 +227,28 @@ var vm = new Vue({
         this.time = ''
       } else if(data.name === 'areaItem'){
         this.area = ''
+        this.selectAreaList = []
+        this.$refs.areaItem.setState()
         $('.areaText').html('地区')
       } else if(data.name === 'industryItem'){
         this.subscopeclass = ''
+        this.selectIndustryList = []
+        this.$refs.industryCom.setState()
         $('.industryText').html('行业')
       } else if(data.name === 'cateItem'){
         this.buyerclass = ''
+        this.selectCateList = []
+        this.$refs.cateItem.setState()
         $('.cateText').html('采购单位')
       } else if(data.name === 'keywordItem'){
         this.key = ''
+        this.selectKeyWordList = []
+        this.$refs.keywordItem.setState()
         $('.keywordText').html('关键词')
       } else if(data.name === 'noticeItem'){
         this.subtype = ''
+        this.selectNoticeList = []
+        this.$refs.noticeItem.setState()
         $('.noticeText').html('公告类型')
       }
       this.setToggle()

+ 1 - 0
src/web/staticres/vipsubscribe/js/vip_index_new.js

@@ -879,6 +879,7 @@ $(function () {
           $('[data-update-tips]').hide()
           if (state.buyset.areacount == -1) {
             $('*[data-bind-update]').hide()
+            $('button[data-bind-renew]').css("margin-right", 0)
           }
         }
         // 清除升级页面的区域选择

+ 27 - 2
src/web/staticres/vipsubscribe/js/vip_renew.js

@@ -19,6 +19,7 @@ var renew = {
         isTrial: false,
         renewList: []
     },
+    isMaxTime: false,
     init: function () {
         this.initEvents()
         this.recoverState()
@@ -141,6 +142,8 @@ var renew = {
           if (size) {
             // 初始化上次选择的商品规格
             coupon.updatePrice(size.price / 100)
+            // 校验本次选择的周期是否达到3年的最大限制
+            renew.checkOver3Years(goodsSize.getTimeSelect(size.period))
           } else {
             // 初始化默认一个月*省份数量或全国价格
             sessionStorage.removeItem('$select-coupon')
@@ -149,6 +152,8 @@ var renew = {
             } else {
               coupon.updatePrice(3800*count / 100)
             }
+            // 校验本次选择的周期是否达到3年的最大限制
+            renew.checkOver3Years(goodsSize.getTimeSelect('1月'))
           }
         } else {
           // 旧规则初始化价格
@@ -232,11 +237,14 @@ var renew = {
                 duration: 3000,
                 className: 'jy-toast',
             })
+            renew.isMaxTime = true
             // 确认按钮置灰
             $('#enter_period').prop('disabled', true)
         } else {
+            renew.isMaxTime = false
             $('#enter_period').prop('disabled', false)
         }
+        renew.flushSubmit()
     },
     // 是否展示即将到期
     checkShowDueTip () {
@@ -298,7 +306,7 @@ var renew = {
     },
     // 是否可提交
     flushSubmit: function () {
-        if (this.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true") {
+        if (this.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true" && !this.isMaxTime) {
             $('.vip-footer.renew .confirm').prop('disabled', false)
             coupon.checkboxStatus = true
             coupon.$refs.couponRef.submitStatus = false
@@ -610,9 +618,26 @@ var goodsSize = new Vue({
     },
     getGoodSize: function(data) {
       // console.log(data, '父组件接收子组件传来的商品规格')
+      renew.checkOver3Years(this.getTimeSelect(data.period))
       sessionStorage.removeItem('$select-coupon')
       this.defaultSize = data
       coupon.updatePrice(data.price/100)
+    },
+    getTimeSelect: function(data) {
+      var time;
+      switch (data) {
+        case '1月':
+          time = [1,2]
+          break;
+        case '1季':
+          time = [3,2]
+          break;
+        case '1年':
+          time = [1,1]
+          break;
+      }
+      console.log(time)
+      return time
     }
   }
 })
@@ -659,7 +684,7 @@ var coupon = new Vue({
     checkSubmitStatus: function (checkStatus) {
       sessionStorage.setItem("vipSub_read", checkStatus)
       renew.flushSubmit()
-      return renew.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true"
+      return renew.timeCheckOk && sessionStorage.getItem("vipSub_read") === "true" && !renew.isMaxTime
     },
     saveEvent: function () {
       renew.saveState()

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

@@ -80,6 +80,7 @@
                     <div class="selector-card-header">收藏日期:</div>
                     <div class="selector-card-content">
                         <date-time-component
+                            :init-selected="filterState.timeSelectorObj"
                             :show-select-group="false"
                             @change="dateTimeFilterChange"
                         ></date-time-component>
@@ -89,6 +90,7 @@
                     <div class="selector-card-header">采购单位类型:</div>
                     <div class="selector-card-content">
                         <select-level2-component
+                            :init-selected="filterState.buyerclassObj"
                             :map="buyclassMap"
                             @change="buyerClassFilterChange"
                         ></select-level2-component>
@@ -106,7 +108,7 @@
                                 :value="item.value">
                             </el-option>
                         </el-select>
-                        <div class="select-title">采购单位联系方式</div>
+                        <div class="select-title">中标企业联系方式</div>
                         <el-select v-model="filterState.bidPhone" @change="otherFilterChange" placeholder="中标企业联系方式">
                             <el-option
                                 v-for="item in buyerPhoneOptions"

+ 3 - 1
src/web/templates/frontRouter/wx/collection/sess/index.html

@@ -38,7 +38,9 @@
         <div class="j-main">
           <div class="search-container van-fade-an" ref="searchContainer">
             <div class="listaction">
-              <div class="action_editor" @click="screenBtn">筛选</div>
+              <div class="action_editor" @click="screenBtn">
+                <span  v-if="screenShow">筛选</span>
+              </div>
               <div class="data_report">
                 <div class="collec_datareport" @click="dataReport">
                   <span class="data_download"></span>

+ 2 - 1
src/web/templates/pc/entsearchindex.html

@@ -187,7 +187,7 @@
                             @click="toDetail(item.id)"
                             :key="item.id">
                             <div class="ei-i-left">
-                                <div class="ei-i-l-container" :class="randomBgc()">${ item.company_name.slice(0,4) }</div>
+                                <div class="ei-i-l-container" :class="randomBgc()">${ item.company_shortname.slice(0,4) }</div>
                             </div>
                             <div class="ei-i-right">
                                 <div class="ei-r-title-container flex">
@@ -257,6 +257,7 @@
     <script src="//cdn.jsdelivr.net/npm/element-ui@2.13.2/lib/index.js"></script>
     <script src="{{Msg "seo" "cdn"}}/big-member/js/utils.js?v={{Msg "seo" "version"}}"></script>
     <script>
+        var dataId = '';
         var pageInfo = {
             searchContent: {{.T.searchvalue}},
         }

+ 6 - 4
src/web/templates/weixin/historypush.html

@@ -531,7 +531,7 @@
 <div class="_header collection" id="select-meau">
     <div class="wx_header">
         <div class="wx_header_left">
-            <div class="switch only-member" data-need-bind-phone style="display:none;margin-left: 0;">
+            <div class="switch" data-need-bind-phone style="display:none;margin-left: 0;">
                 <span></span>
             </div>
         </div>
@@ -583,7 +583,7 @@
             </div>
         </div> -->
         <van-dropdown-menu style="width: auto;overflow-x: auto;">
-            <van-dropdown-item :title="tagText.timeText"  ref="dateItem">
+            <van-dropdown-item :title="tagText.timeText"  ref="dateItem" id="showDatePicker">
                 <date-component ref="datecom" @cancel="cancel" @confirm="confirm" :selectdate="selectDate"/>
             </van-dropdown-item>
             <van-dropdown-item ref="areaItem">
@@ -605,7 +605,7 @@
                         <span class="root_open">开通</span>
                     </span>
                 </template>
-                <industry-component v-if="screenShow" @cancel="cancel" @confirm="confirm" :selectindustrylist="selectIndustryList"></industry-component>
+                <industry-component ref="industryCom" v-if="screenShow" @cancel="cancel" @confirm="confirm" :selectindustrylist="selectIndustryList"></industry-component>
                 <root-component v-if="!screenShow" @cancel="cancel" @confirm="confirm"></root-component>
             </van-dropdown-item>
             <van-dropdown-item  ref="cateItem">
@@ -928,8 +928,10 @@
       var userId = "";
       //
       var firstTime = {{.T.stime}}; // 时间
+    //   firstTime = '1624377600'
       if (firstTime != "") {
-          firstTime = firstTime + "000";
+          firstTime = firstTime + "000" +'_'+ firstTime + "000";
+          vm.time = firstTime
       } else {
           firstTime = vm.time
       }

+ 2 - 2
src/web/templates/weixin/search/mainSearch.html

@@ -74,7 +74,7 @@
 <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 />
 <link href='{{Msg "seo" "cdn"}}/common-module/ent-search/j-icon.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
-<link href='{{Msg "seo" "cdn"}}/common-module/ent-search/ent-search-template.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
+<link href='{{Msg "seo" "cdn"}}/common-module/ent-search/ent-search-template.prefixer.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
 <link href='{{Msg "seo" "cdn"}}/common-module/collection/css/index.css?v={{Msg "seo" "version"}}' rel="stylesheet"/>
 
 
@@ -607,7 +607,7 @@
         </div>
         <!-- 最新标讯 -->
         <div class="home_data">
-            <h3 class="data_nav">最新标讯</h3>
+            <h3 class="data_nav" onclick="location.href='https://web-zyh.jydev.jianyu360.com/jylab/mainSearch'">最新标讯</h3>
             <div class="data_list">
 				<!--首页列表-->
             </div>