瀏覽代碼

Merge branch 'dev4.5' of http://192.168.3.207:8080/qmx/jy into dev4.5

TANGSHIZHE 4 年之前
父節點
當前提交
e414865735
共有 22 個文件被更改,包括 751 次插入35 次删除
  1. 1 1
      src/jfw/front/supsearch.go
  2. 1 1
      src/jfw/modules/app/src/app/front/ws_dataExport.go
  3. 14 14
      src/jfw/modules/app/src/web/templates/big-member/page_pro_follow_detail.html
  4. 1 1
      src/jfw/modules/app/src/web/templates/weixin/historypush.html
  5. 1 0
      src/jfw/modules/app/src/web/templates/weixin/search/mainSearch.html
  6. 1 0
      src/jfw/modules/app/src/web/templates/weixin/search/tabSearch.html
  7. 12 12
      src/jfw/modules/publicapply/src/bidcollection/entity/entity.go
  8. 1 0
      src/jfw/modules/publicapply/src/enterpriseSearch/entity/entQuery.go
  9. 1 0
      src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go
  10. 530 0
      src/web/staticres/common-module/collection/css/public.css
  11. 2 2
      src/web/staticres/common-module/collection/js/date-mobile.js
  12. 8 0
      src/web/staticres/common-module/ent-search/ent-search-template.css
  13. 0 0
      src/web/staticres/common-module/ent-search/ent-search-template.css.map
  14. 12 0
      src/web/staticres/common-module/ent-search/ent-search-template.js
  15. 10 0
      src/web/staticres/common-module/ent-search/ent-search-template.prefixer.css
  16. 9 0
      src/web/staticres/common-module/ent-search/ent-search-template.scss
  17. 5 0
      src/web/staticres/css/selector/selector.css
  18. 105 0
      src/web/staticres/js/index_content.js
  19. 29 0
      src/web/staticres/pccss/index.css
  20. 3 2
      src/web/templates/pc/index.html
  21. 3 1
      src/web/templates/weixin/search/mainSearch.html
  22. 2 1
      src/web/templates/weixin/search/tabSearch.html

+ 1 - 1
src/jfw/front/supsearch.go

@@ -290,7 +290,7 @@ func (p *Pcsearch) PcSearchIndex() error {
 		if len([]rune(s_word)) > 3 && int(count) < bidsearch.SearchPageSize_PC {
 			secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address)
 			findfields := `"title"`
-			qstr := bidsearch.GetSearchQuery(secondKWS, industry, minprice, maxprice, findfields, hasBuyerTel, hasWinnerTel, bidsearch.GetBidSearchQuery(area, publishtime, subtype, "", buyerclass))
+			qstr := bidsearch.GetSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, findfields, bidsearch.GetBidSearchQuery(area, publishtime, subtype, "", buyerclass))
 			secRel := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, bidSearch_field, 0, 2*bidsearch.SearchPageSize_PC, 0, false)
 			if secRel != nil {
 				public.BidListConvert(industry, secRel)

+ 1 - 1
src/jfw/modules/app/src/app/front/ws_dataExport.go

@@ -81,7 +81,7 @@ func (w *WsDataExport) GetPreview() error {
 			}
 		}
 	}
-	list := dataexport.FormatExportData(public.Mgo_Ent, &res_screen, config.Sysconfig["webdomain"].(string), dataType)
+	list := dataexport.FormatExportData(public.Mgo_Ent, &res_screen, config.Sysconfig["webdomain"].(string), dataType, true)
 	_res["data"] = subUrl(list, dataType)
 	_res["dataType"] = dataType
 	w.ServeJson(map[string]interface{}{

+ 14 - 14
src/jfw/modules/app/src/web/templates/big-member/page_pro_follow_detail.html

@@ -41,7 +41,7 @@
                 <div class="forecast" @click="goAiAdd()"  v-if="this.$data.prodetail.bidtype=='招标'||this.$data.prodetail.bidtype=='询价'">
                     <span class="j-icon icon-face"></span>
                     <span class="for_text">中标预测</span>
-                </div>	
+                </div>
             </div>
         </div>
         <van-popup class="quotapopup" v-model="quotashow">
@@ -135,7 +135,7 @@
                     <div class="sum_left">采购联系人</div>
                     <div class="sum_center">${this.$data.prolist.buyerperson}</div>
                 </div>
-                <div class="sum_list call-phone" :data-phone="this.$data.prolist.buyertel" v-if="this.$data.prolist.buyertel!=null&&this.$data.prolist.buyertel!=''">
+                <div @click.stop="callPhone" class="sum_list" :data-phone="this.$data.prolist.buyertel" v-if="this.$data.prolist.buyertel!=null&&this.$data.prolist.buyertel!=''">
                     <div class="sum_left">采购电话</div>
                     <div class="sum_center">${this.$data.prolist.buyertel}</div>
                     <div class="sum_right">
@@ -279,6 +279,16 @@
             this.getProDetail()
         },
         methods: {
+            callPhone () {
+              var phone = this.$data.prolist.buyertel
+              if (phone) {
+                try {
+                  JyObj.callPhone(phone);
+                } catch (e) {
+                  console.log('error: app call phone')
+                }
+              }
+            },
             // 获取项目详情
             getProDetail: function() {
                 var _this = this
@@ -350,7 +360,7 @@
                                         _this.currentDate = new Date(new Date(addoneday).pattern('yyyy/MM/dd HH:00'))
                                         _this.bidcurrentDate = new Date(new Date(addoneday).pattern('yyyy/MM/dd HH:00'))
                                     }
-                                    
+
                                 }
                             }
                         }else{
@@ -534,7 +544,7 @@
                             console.log(err)
                         }
                     })
-                    
+
                     // on confirm
                 })
                 .catch(() => {
@@ -597,16 +607,6 @@
     }
     new Vue(vNode)
 </script>
-<script>
-    $(document).on('click',".call-phone" ,function () {
-        var phone = $(this).attr('data-phone')
-        try {
-            JyObj.callPhone(phone);
-        } catch (e) {
-            console.log('error: app call phone')
-        }
-    })
-</script>
 {{include "/common/baiducc.html"}}
 </body>
 </html>

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

@@ -110,7 +110,7 @@
   			<div class="only-personal" style="position: absolute;top: .35rem;left: 4%;background-image: url(/jyapp/vipsubscribe/image/entback.png?v=51430);background-size: 100%;background-repeat: no-repeat;border-radius: 8px;width: 92%;display: flex;align-items: center;justify-content: space-between;height: 44px;">
   				<img style="width: 20px;height: 20px; margin-left: .3rem;" src="/jyapp/vipsubscribe/image/vip-icon.png?v=1">
   				<span  data-name="doubleEleven_title" style="position: absolute;color:#fff;font-weight: bold;font-size: 15px;text-align: left;left: 43px;">直接对接项目联系人</span>
-  				<span  data-name="doubleEleven_button" class="switch_ext" id="app-historypush-vipSub-banner" style="border-radius: 32px;display: flex;flex-direction: row;padding: 3px 12px;font-size: 12px;color: #FAE7CA;margin-right: .2rem;background: linear-gradient(to bottom, #F1D090 0%, #FAE7CA 100%);color: #33323A;font-family: PingFang SC;font-size: 12px;line-height: 18px;letter-spacing: 0px;text-align: center;white-space: nowrap;">免费试用</span>
+  				<span  data-name="doubleEleven_button" class="switch_ext" id="app-historypush-vipSub-banner" style="border-radius: 32px;display: flex;flex-direction: row;padding: 3px 12px;font-size: 12px;color: #FAE7CA;margin-right: .2rem;background: linear-gradient(to bottom, #F1D090 0%, #FAE7CA 100%);color: #33323A;font-family: PingFang SC;font-size: 12px;line-height: 18px;letter-spacing: 0px;text-align: center;white-space: nowrap;">立即使用</span>
   			</div>
   		</div>
       {{end}}

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

@@ -47,6 +47,7 @@
     <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.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 href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/css/public.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 />

+ 1 - 0
src/jfw/modules/app/src/web/templates/weixin/search/tabSearch.html

@@ -1231,6 +1231,7 @@
     </div>
     <div id="tempDiv" style="display:none;"></div>
 </div>
+<div class="collection" id="date-picker-other-box"></div>
 <!--S-底部提示-->
 <div class="resbm hidden" id="resbm">
     <div class="resbm0">

+ 12 - 12
src/jfw/modules/publicapply/src/bidcollection/entity/entity.go

@@ -300,19 +300,19 @@ func LabelAction(labInfo *LabelInfo, userid string) map[string]interface{} {
 			labInfo.Binfo = FormatColl(labInfo.Binfo)
 			for _, bd := range labInfo.Binfo {
 				now := time.Now().Unix()
-				if collCount >= maxCount {
-					ok, msg = false, qu.If(isPay, "付费用户收藏已达上限", "免费用户收藏已达上限").(string)
-					log.Printf("userid :%s,收藏失败 id : %s ,已收藏数量:%v ,上限数量:%v", userid, util.DecodeId(bd.Bid), collCount, maxCount)
+				if collMap[util.DecodeId(bd.Bid)] {
+					//更新
+					if updatesql == fmt.Sprintf("update %s set labelid=? where userid = ? and ", db.DbConf.Bdcollection) {
+						updatesql += `( bid =? `
+					} else {
+						updatesql += `or bid =? `
+					}
+					updateValue = append(updateValue, util.DecodeId(bd.Bid))
+					i++
 				} else {
-					if collMap[util.DecodeId(bd.Bid)] {
-						//更新
-						if updatesql == fmt.Sprintf("update %s set labelid=? where userid = ? and ", db.DbConf.Bdcollection) {
-							updatesql += `( bid =? `
-						} else {
-							updatesql += `or bid =? `
-						}
-						updateValue = append(updateValue, util.DecodeId(bd.Bid))
-						i++
+					if collCount >= maxCount {
+						ok, msg = false, qu.If(isPay, "付费用户收藏已达上限", "免费用户收藏已达上限").(string)
+						log.Printf("userid :%s,收藏失败 id : %s ,已收藏数量:%v ,上限数量:%v", userid, util.DecodeId(bd.Bid), collCount, maxCount)
 					} else {
 						i++
 						//新增并绑定标签 "userid", "bid", "labelid", "buyerclass", "buyerinfo", "winnerinfo", "createdate"

+ 1 - 0
src/jfw/modules/publicapply/src/enterpriseSearch/entity/entQuery.go

@@ -264,6 +264,7 @@ func GetEntIndexShow() (list *[]map[string]interface{}) {
 		}
 	}
 	sql := fmt.Sprintf(entQuery, fmt.Sprintf(`{"terms":{"_id":["%s"]}}`, strings.Join(config.Config.DefaultEntList, "\",\"")))
+	sql = sql[:len(sql)-1] + fmt.Sprintf(`,"from":%d,"size":%d}"`, 0, 50)
 	listTmp := elastic.Get(index, itype, sql)
 	if listTmp != nil && len(*listTmp) > 0 {
 		list = formatData(listTmp)

+ 1 - 0
src/jfw/modules/subscribepay/src/service/vipSubscribeChange.go

@@ -198,6 +198,7 @@ func (this *SubscribeChange) Upgrade() {
 		//老用户 0元升级
 		if req_price == 0 && 0 == final_price {
 			if oldBuyset.Upgrade == 0 {
+				order_status = 1
 			} else {
 				return &entity.FuncResult{false, errors.New("超级订阅升级异常"), nil}
 			}

+ 530 - 0
src/web/staticres/common-module/collection/css/public.css

@@ -0,0 +1,530 @@
+@charset "UTF-8";
+
+/* reset css start ---------> */
+* {
+    -webkit-box-sizing: border-box;
+    box-sizing: border-box;
+    -webkit-overflow-scrolling: touch;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    -webkit-tap-highlight-color: transparent;
+}
+html,
+body {
+    height: 100%;
+    color: #171826;
+}
+
+html > body {
+    font-size: 12px;
+    background-color: #F5F6F7;
+}
+
+input, textarea {
+    caret-color: #2cb7ca;
+}
+
+
+/* 清除默认样式 */
+ul,
+ol {
+    list-style: none;
+}
+/*清除输入框内阴影*/
+input,
+textarea,
+select,
+button {
+    outline: none;
+    border: 0;
+    -webkit-appearance: none;
+    appearance: none;
+}
+button,
+span,
+div {
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+    /* -webkit-user-modify:read-only; */
+}
+img {
+    border: 0;
+    vertical-align: middle;
+    max-width: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+}
+a {
+    text-decoration: none;
+    color: #3d3d3d;
+    -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
+    -webkit-user-select: none;
+    -moz-user-focus: none;
+    -moz-user-select: none;
+}
+/*禁用长按页面时的弹出菜单(iOS下有效) ,img和a标签都要加*/
+img,
+a {
+    -webkit-touch-callout: none;
+}
+
+input::placeholder {
+    color: #C0C4CC;
+}
+
+/* reset css end ------ */
+
+/* common css class start */
+[v-cloak] {
+    display: none!important;
+}
+
+.clearfix {
+    zoom: 1;
+}
+.clearfix:after {
+    clear: both;
+    height: 0;
+    overflow: hidden;
+    display: block;
+    visibility: hidden;
+    content: '';
+}
+.left {
+    float: left;
+}
+.right {
+    float: right;
+}
+.ellipsis {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+/* 超过2行省略号显示 */
+.ellipsis-2 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 2;
+    -webkit-box-orient: vertical;
+}
+/* 超过3行省略号显示 */
+.ellipsis-3 {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: -webkit-box;
+    -webkit-line-clamp: 3;
+    -webkit-box-orient: vertical;
+}
+.scrollbar-none::-webkit-scrollbar {
+    display: none;
+}
+
+/* 禁止长按复制 加给body ---- */
+.no-touch {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+}
+
+.j-pd {
+    padding-left: 0.32rem;
+    padding-right: 0.32rem;
+}
+
+.j-arrow {
+    display: inline-block;
+    width: 0.26rem;
+    height: 0.26rem;
+    border: 2px solid #5f5e64;
+    border-bottom-color: transparent;
+    border-right-color: transparent;
+    background: 0 0;
+    transform: rotate(-45deg);
+}
+
+.highlight-text {
+    color: #2cb7ca!important;
+}
+.bg-white {
+    background-color: #fff;
+}
+[class*=clickable]:active {
+    background-color: #f2f3f5;
+}
+
+/* 
+    border-line-t 0.5px上边框
+    border-line-b 0.5px下边框
+*/
+.border-line-t,
+.border-line-b {
+    position: relative;
+}
+.border-line-t:after,
+.border-line-b:after {
+    content: '';
+    position: absolute;
+    left: 0;
+    width: 100%;
+    height: 1px;
+    transform: scaleY(0.6);
+    transform-origin: 0 0;
+    background: rgba(0, 0, 0, 0.05);
+    /* background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.05) 65%, transparent 35%); */
+}
+.border-line-t:after {
+    top: -1px;
+}
+.border-line-b:after {
+    bottom: -1px;
+}
+
+/* common css class end ---- */
+
+/* j-container布局  start ---- */
+.j-container {
+    display: flex;
+    flex-direction: column;
+    height: 100%;
+}
+
+.j-header {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+
+.j-header.jy-app-header {
+    box-sizing: border-box;
+    padding: 10.66667vw 3.2vw 0 3.2vw;
+    height: 21.33333vw;
+    background: #fff;
+    z-index: 9;
+}
+
+.j-header .header-left,
+.j-header .header-title,
+.j-header .header-right {
+    display: flex;
+    align-items: center;
+}
+
+.j-header .header-left {
+    height: .6rem;
+    width: .6rem;
+}
+.j-header .header-left .j-icon {
+    height: .4rem;
+    width: .4rem;
+}
+
+.j-header .header-title {
+    position: absolute;
+    left: 50%;
+    font-size: 17px;
+    color: #171826;
+    transform: translateX(-50%);
+}
+
+.j-header .header-right {
+    height: 100%;
+    min-width: 0.4rem;
+    font-size: .3rem;
+}
+
+.j-header .header-left.hide,
+.j-header .header-right.hide {
+    visibility: hidden;
+}
+
+/* 头部透明 */
+.j-container .j-header.transparent-header {
+    background-color: transparent;
+}
+.j-container .j-header.transparent-header:after {
+    content: unset;
+}
+.j-header.transparent-header .header-left,
+.j-header.transparent-header .header-title {
+    color: #fff;
+}
+.j-header.transparent-header .header-title {
+    font-size: 0;
+}
+
+.j-main {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    flex: 1;
+    overflow-y: scroll;
+    overflow-x: hidden;
+    /* 所有都j-main开启ios-touch */
+    -webkit-overflow-scrolling: touch;
+}
+
+.j-main.calc-height-1px {
+    height: calc(100% + 1Px);
+}
+
+/* 单独关闭ios惯性滚动 */
+.j-main.no-ios-touch {
+    -webkit-overflow-scrolling: auto;
+}
+
+.j-footer {
+    box-shadow: 0px -2px 8px rgba(54, 147, 179, 0.051);
+}
+/* j-container布局  end ---- */
+
+@keyframes ballRotate {
+    0% {
+        transform: rotate(0);
+    }
+
+    100% {
+        transform: rotate(360deg);
+    }
+}
+
+.ball-clip-rotate {
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    z-index: 2;
+    transform: translate(-50%, -50%);
+}
+
+.ball-clip-rotate .ball {
+    display: inline-block;
+    width: 26px;
+    height: 26px;
+    border-radius: 50%;
+    border: 3px solid #fff;
+    border-bottom-color: transparent;
+    background: 0 0;
+    -webkit-animation: ballRotate 0.75s 0s linear infinite;
+    animation: ballRotate 0.75s 0s linear infinite;
+}
+
+.j-mask {
+    position: fixed;
+    z-index: 1000;
+    top: 0;
+    right: 0;
+    left: 0;
+    bottom: 0;
+}
+
+.black {
+    background: rgba(0, 0, 0, 0.6);
+}
+
+.j-loading {
+    display: none;
+}
+
+.j-loading .j-toast {
+    position: fixed;
+    top: 45%;
+    left: 50%;
+    z-index: 1001;
+    padding: 0.2rem;
+    min-width: 2.2rem;
+    max-width: 6.2rem;
+    width: auto;
+    height: auto;
+    color: #fff;
+    font-size: 0.28rem;
+    text-align: center;
+    background: rgba(18, 18, 18, 0.7);
+    border-radius: 5px;
+    transform: translate(-50%, -50%);
+}
+
+.j-loading .j-toast.icon {
+    padding: 0.5rem 0.2rem;
+}
+
+.j-loading .j-toast.icon .j-toast_icon {
+    display: inline-block;
+    width: 38px;
+    height: 38px;
+}
+
+.j-loading .j-toast .j-toast_icon {
+    display: none;
+}
+
+.j-loading .j-toast .j-toast_content {
+    text-align: center;
+}
+
+.j-loading-icon {
+    display: inline-block;
+    width: 20px;
+    height: 20px;
+    vertical-align: baseline;
+    background: transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat;
+    background-size: 100%;
+    -webkit-animation: ballRotate 1s steps(12) infinite;
+    animation: ballRotate 1s steps(12) infinite;
+}
+
+.j-button-group {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    width: 100%;
+    padding: 0.16rem 0.32rem 0.24rem;
+    background-color: #fff;
+    box-sizing: border-box;
+}
+
+.j-button-confirm,
+.j-button-cancel {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    flex: 1;
+    width: 100%;
+    height: 0.8rem;
+    font-size: 0.32rem;
+    line-height: inherit;
+    text-align: center;
+    border-radius: 0.16rem;
+}
+
+.single .j-button-confirm,
+.single .j-button-cancel {
+    height: 0.92rem;
+}
+
+.j-button-cancel {
+    margin-right: 0.26rem;
+    color: #5f5e64;
+    background-color: #edeff2;
+}
+
+.j-button-confirm {
+    color: #fff;
+    background-color: #2cb7ca;
+}
+
+button[disabled] {
+    opacity: 0.5;
+}
+
+.checkbox {
+    width: 0.4rem;
+    height: 0.4rem;
+    border: 1px solid #ddd;
+    border-radius: 50%;
+    margin-right: 0.2rem;
+    -webkit-appearance: none;
+    background: #fff;
+}
+
+.checkbox:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAACpElEQVRogc1asa2DMBBlhIyQMpKNxAiMwAiMwAhswAgZgQrOHSVwLhiBERghvwCSwMdgOzYG6aQUhLw7v3u+Z+J5Bq4g724U6pCUTeIznlGGHQHsKcOBAPbT544yntOiTSnUoYnf/Rm0X7YRAXxShgMFfCkH4zkBjE8HTos21QYtCJ/xzDpwAhgTwN4k8OWK4GBlRYK8u1HGc2vA/yfSPaC+GwFPoQ6tVn1vNQoMfgJPyiYxzXXl3ijbSA88YOwa/BzKfUEKDK4C/hOSe8cD6vv1wOOLMhykGvtUtVFPotunDmDsHORBCPth1PoLUmeDStvUKdrUObgxqinE9xRt+q/6TjarZWW79cZFGXaiVQjy7va+0S/byDX4LYUhZZOIvrPoBafKw7BbVFOW1ozn7pt3B/xe9ed4QH33KNSho+pXv4CngC9SNon0zVcDTwFHNTqb/wTwqcX5TQry3KNHmmswfMYzEXif8Uz5mQwHT1r/55MGC+AJ4FPruVIJrJwRhToUbjA74LeATxuoHvg5gSMJFf24bO9YAy+7AgTwuQVAirfrmeULvBHxYDhINTEpm0SYhGgMsQ1+LG4v3f17B09rCyqa2Y0fzzCeq8pXJUpiPB/F6jTwc1GVJ1GNQ6dp3lJSLqkEyjbSG+YYDrKnBA+o77a8xruQunK219yeN/aGNaM0j9NTAvpmXqA2VsHDSigMWMrFdDnt1vY8xtpSep4hUz+qTGXbIG1K+iWMvW7137x1Y27UQtBzHyqd6A80qi/00AsqXfKETuWFh0OjLwSv/KLjSkkcbZjXTYLhoA3eeRI6tBFd86h8Inhzr1m/L+v7xESZQ6m8XCJnARckoketca+paNGmVuiievllG032tKKjtezf1f36u43PeEYAY1PV/gMeU6lGAhyHxgAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.checkbox.transparent:checked {
+    border: 0;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHBSURBVHgBzZiPcYIwFIeDE7hB6QR1gzqCG2g3cAPtBLqBdoK6Ae0EXCd4bmA3+PW9JlxTJEJCgnx37xQSku9IyL9MeQIg558FxxPHnGNqQvjmOJv45DhlWXZWKWCRFUcBf0p5VsWCC5tzEPpDvcT44SnHDvGRMqe+Mjn0q04FQffFzjKE9FCrFHQzEYZDWuFf801qThuOXA3HzNR5DfRnfS/mlUdmCZEa9u3YnHkAfZQ/EyOzGkjmyPHWcD+HPUYh7SdesbXqOzakF1VijvRs7dfB1wdHvgdJXCMtdZnljbxryfCOccgIh1v9h6CbM3Qa8ZX5rVMyXtoKhB7Bfd5kiIxwUTcSCbW5hq/38JdZwAPVkk4NUlt0l5nB3QJOobYHqKNUbxmYJqMuGaWCWoX23HeMICOUrlHTxbKh4n0kGeEUMjA2LxdUlMXdOnTq2CSQEfKqsAL+7CLLlK4O6lUI9C4itM/YrMRlnAs0w4u6H6+Nd9FtaojN3qkJPYkOsXqsILTtYjGmjeKAUmVnmVrzpehTUqbfYUNNTMYoQn8I1oawN0YspMMX8DgXypQn+DvSe1Z6IJWwj/QkPji+VMCR3g//T7SIqLP6vQAAAABJRU5ErkJggg==) no-repeat center center;
+    background-size: 100% 100%;
+}
+
+.j-button {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 0.72rem;
+    padding: 0 0.2rem;
+    background-color: #f5f6f7;
+    color: #5f5e64;
+    border-radius: 0.08rem;
+}
+
+.j-button-item {
+    position: relative;
+    display: inline-block;
+    color: #171826;
+}
+
+.j-button-item.active {
+    color: #2abed1;
+    background-color: #e8fafd;
+}
+
+.j-button-item.active:after {
+    content: '';
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    width: 0.24rem;
+    height: 0.24rem;
+    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAKySURBVHgB7Zg/aNRQHMd/eXfWP6i9omJBhBOXa0W4bK6ni6Murro76Cgu1kF0aysOjnXTyTopLkEcHM8TxIMOHghFQfBAaUtp8/P9Qt+Rpnm99y+XBO6zXJJ7gc83v+S9XwIwZsyY0jIbdB54UFIuBF/mEfFu6QLUX7drR2qVeUC8RfulChDJT7KAbzbFsdIEaLxt19nBSL4eP16KADJ5ovAB9pMnCh1g9n276VVZgAA12RgGBaURdG4OkycKWYGZoHPHQ1hQGVu4CkSrq6I8UagKkDwgzOmcU5gAojUATXIPkGwNdMk1QFproEtuAYYtUKrkEsCVPDHyAC7liZEGUGkNdBnZQqbaGugykgrotAa6ZF4B3dZAlwpkiElrILg2PQVL/nm4ceYE/N3ahu6/jdRxmd1Cpq0BQfKPZs4O9inApY9fU8dWwTGiNUDD1iApT1AAGU4DDFoDRKPWIE2eePb9l/QcZ7eQ7QIlk7//7Qe8+flHep6TAHnJE9azUFJedfYQ2MgTVgGoNWAT7BPfnBbHnl6sw8mJA3C8WoErpyZhdWNTGsJWntM3XshkrQGJxyFBEk3iQJ7oGVWAWgOG8JxvHkr+93tzK7rycZKVcCTPn2B8px1gpzV4IvufJElWFqJx9LAbeU6IuKg1C+m0BrKrnIaJPLHmhVPKFaDWgMvfUx0vq0QSU3l++yyttPxXQ1dim9ZgeUdMVgljeU4I+JB+961A7KvBVTBEVgkbeURY7F5uvqRtaQVcvruKStw+dxqO8Wn28cqquTyfOtdZOCf2Ux9i1y/eriB59MJWt+X3xLE9C1mR5T0vvB6XJ3ZVIIuvBi5Iu/KCQQWy+mpgCz2w617op8kTUQWy/GpgSB8xfIEMFmTiAs/mxdshfX6te9zjM78pPqyx7eVey++rnPgfnLxxiLvERTEAAAAASUVORK5CYII=) no-repeat;
+    background-size: contain;
+}
+
+/* 空状态 配合j-icons中的img-empty和j-img使用 */
+/* 具体使用参考page_ent_follow.html */
+.empty {
+    display: flex;
+    align-items: center;
+    flex-direction: column;
+    flex: 1;
+    padding-top: 1.34rem;
+    width: 100%;
+}
+.empty .empty-img {
+    padding: .2rem;
+    width: 3.2rem;
+    height: 3.2rem;
+    margin-bottom: 0.24rem;
+    background-origin: content-box;
+}
+.empty .empty-text {
+    font-size: .26rem;
+    line-height: .4rem;
+    color: #9B9CA3;
+}
+
+.shiyong_common {
+    width: 5.92rem!important;
+    height: 4.48rem;
+}
+
+.shiyong_common .van-dialog__header{
+    font-size: 0.36rem;
+    font-weight: bold;
+    color: #000000;
+}
+
+.shiyong_common .van-dialog__message--has-title {
+    padding-top: 0.36rem;
+    padding-bottom: 0;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_text{
+    line-height: 0.4rem;
+    font-size: 0.28rem;
+    text-align: justify;
+    color: #5f5e64;
+}
+
+.shiyong_common .van-dialog__message--has-title .shiyong_buy{
+    margin-top: 0.36rem;
+    width: 100%;
+    height: 0.8rem;
+    background: #2ABED1;
+    border-radius: 4px;
+    color: #F7F9FA;
+    font-size: 0.32rem;
+}

+ 2 - 2
src/web/staticres/common-module/collection/js/date-mobile.js

@@ -9,7 +9,7 @@ var dateComponentTemplate = `<div class="j-container">
     <van-field @focus="getEndFocus" v-model="dateTimePickerState.endPlaceHolder" placeholder="结束时间"></van-field>
     </div>
 </div>
-<van-popup v-model="datePicker.startshow" round position="bottom" :style="{ height: '43%' }">
+<van-popup v-model="datePicker.startshow" :safe-area-inset-bottom="true" get-container="#date-picker-other-box" round position="bottom" :style="{ height: '43%' }">
     <div class="j-container">
       <div class="j-header">
         <div class="headertitle">
@@ -43,7 +43,7 @@ var dateComponentTemplate = `<div class="j-container">
       </div>
     </div>
   </van-popup>
-  <van-popup v-model="datePicker.endshow" round position="bottom" :style="{ height: '43%' }">
+  <van-popup v-model="datePicker.endshow" :safe-area-inset-bottom="true" get-container="#date-picker-other-box" round position="bottom" :style="{ height: '43%' }">
     <div class="j-container">
       <div class="j-header">
         <div class="headertitle">

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

@@ -480,4 +480,12 @@
   position: relative;
 }
 
+#date-picker-other-box .van-overlay {
+  z-index: 2050 !important;
+}
+
+#date-picker-other-box .van-popup {
+  z-index: 2051 !important;
+}
+
 /*# sourceMappingURL=ent-search-template.css.map */

文件差異過大導致無法顯示
+ 0 - 0
src/web/staticres/common-module/ent-search/ent-search-template.css.map


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

@@ -1029,6 +1029,9 @@ var vMainSearchComponent = new Vue({
         this.activeTabIndex = Number(this.beforeTabIndex)
         this.togglePop(true)
         this.doQueryList()
+        $(window).on('resize', this.fixedScroll.bind(this))
+      } else {
+        $(window).off('resize', this.fixedScroll.bind(this))
       }
       var _this = this
       this.$nextTick(function () {
@@ -1038,6 +1041,15 @@ var vMainSearchComponent = new Vue({
           _this.removeFixedScroll()
         }
       })
+      setTimeout(function () {
+        _this.$nextTick(function () {
+          if (type) {
+            _this.fixedScroll()
+          } else {
+            _this.removeFixedScroll()
+          }
+        })
+      }, 300)
     }
   }
 })

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

@@ -603,3 +603,13 @@
 #supersearchPage .app-layout-content-b #wrapper {
     position: relative;
 }
+
+
+#date-picker-other-box .van-overlay {
+    z-index: 2050 !important;
+}
+
+#date-picker-other-box .van-popup {
+    z-index: 2051 !important;
+}
+

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

@@ -434,3 +434,12 @@
 #supersearchPage .app-layout-content-b #wrapper {
   position: relative;
 }
+
+#date-picker-other-box {
+  .van-overlay {
+    z-index: 2050 !important;
+  }
+  .van-popup {
+    z-index: 2051 !important;
+  }
+}

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

@@ -369,3 +369,8 @@
     color: #797a7e;
     line-height: 24px;
 }
+
+/* select-list */
+.select-group-container .el-checkbox__label {
+    color: #1d1d1d;
+}

+ 105 - 0
src/web/staticres/js/index_content.js

@@ -121,3 +121,108 @@ $("#index .ser").bind("input propertychange",function(){
       judgeTop();
   });
 })();
+
+var entAssoc = {
+    list: [],
+    preSearch: {
+        hover: false,
+        focus: false
+    },
+    init: function () {
+        this.initDOMEvents()
+    },
+    initDOMEvents: function () {
+        var _this = this
+        $('#keywords').on('input', this.debounce(function () {
+            var isEntSearch = $('.search .tips .active').text().indexOf('企业搜索') !== -1
+            if (isEntSearch) {
+                _this.getAssocList()
+                _this.checkListShow()
+            }
+        }, 300))
+        $('.pre-search-list').on('click', '.pre-search-item', function () {
+            var id = $(this).attr('data-id')
+            window.open('/swordfish/page_big_pc/svip/ent_ser_portrait/' + id)
+        })
+        // 控制list显示隐藏
+        $('#keywords').on('focus', function () {
+            _this.preSearch.focus = true
+            _this.checkListShow()
+        }).on('blur', function () {
+            _this.preSearch.focus = false
+            _this.checkListShow()
+        })
+        $('.pre-search-list').on('mouseout', function () {
+            _this.preSearch.hover = false
+            _this.checkListShow()
+        }).on('mouseover', function () {
+            _this.preSearch.hover = true
+            _this.checkListShow()
+        })
+    },
+    checkListShow: function () {
+        var show = $('#keywords').val().length >= 2 && this.list.length && (this.preSearch.focus || this.preSearch.hover)
+        this.listShow(show)
+    },
+    getAssocList: function () {
+        var _this = this
+        var data = {
+            name: $('#keywords').val()
+        }
+        if (data.name.length < 2) return
+        $.ajax({
+            url: '/bigmember/search/ent/association',
+            method: 'POST',
+            data: data,
+            success: function (res) {
+                if (res.error_code === 0) {
+                    if (res.data) {
+                        _this.list = res.data.list || []
+                        if (_this.list.length) {
+                            _this.render()
+                            _this.checkListShow()
+                        }
+                    }
+                }
+            }
+        })
+    },
+    render: function () {
+        var container = $('.pre-search-list')
+        var html = ''
+        this.list.forEach(function (item) {
+            html += ('<div class="pre-search-item ellipsis" data-id='+ item.entId +'>' + item.name + '</div>')
+        })
+        container.html(html)
+    },
+    listShow: function (f) {
+        if (f) {
+            $('.pre-search-list').show()
+        } else {
+            $('.pre-search-list').hide()
+        }
+    },
+    debounce: function (func, delay, immediate){
+        var timer = null;
+        delay = delay || 200
+        return function() {
+            var context = this;
+            var args = arguments;
+            if(timer) clearTimeout(timer);
+            if(immediate){
+                var doNow = !timer;
+                timer = setTimeout(function(){
+                    timer = null;
+                },delay);
+                if(doNow){
+                    func.apply(context,args);
+                }
+            }else{
+                timer = setTimeout(function(){
+                    func.apply(context,args);
+                },delay);
+            }
+        }
+    }
+}
+entAssoc.init()

+ 29 - 0
src/web/staticres/pccss/index.css

@@ -1146,3 +1146,32 @@ body{
   /*color: #0a74bf;*/
   /*font-weight: bolder;*/
 /*}*/
+
+.pre-search-list {
+    position: absolute;
+    padding: 20px 0;
+    z-index: 6;
+    top: 90px;
+    left: 50%;
+    width: 620px;
+    background: #fff;
+    box-shadow: 0 0 20px rgb(0,0,0,0.1);
+    border-radius: 8px;
+    overflow: hidden;
+    transform: translateX(-50%);
+}
+.pre-search-item {
+    padding: 12px 40px;
+    width: 100%;
+    font-size: 16px;
+    line-height: 24px;
+    color: #686868;
+    box-sizing: border-box;
+    transition: all .3s;
+    cursor: pointer;
+}
+.pre-search-item:hover {
+    padding: 12px 30px;
+    color: #1d1d1d;
+    background-color: #ececec;
+}

+ 3 - 2
src/web/templates/pc/index.html

@@ -121,7 +121,7 @@
 			<h3 class="title">全国招标信息免费看,不遮挡</h3>
 			<div class="search">
 				<form method="post" action="/jylab/supsearch/index.html" id="zbIndex">
-					<input class="ser" autocomplete="off"  type="text"  name="keywords" placeholder="请输入您想要查询的招标信息" id="keywords" value="" />
+					<input class="ser" autocomplete="off"  type="text" name="keywords" placeholder="请输入您想要查询的招标信息" id="keywords" value="" />
 					<input type="hidden" name="searchvalue">
 					<input class="btn" type="button" onclick="zbSeatch('zbIndex')" />
 				</form>
@@ -134,7 +134,8 @@
           <span>企业搜索</span>
           <i></i>
         </div>
-			</div>
+        <div class="pre-search-list" style="display: none;"></div>
+		</div>
 
       <div class="projectList CfadeInUp">
         <ul>

+ 3 - 1
src/web/templates/weixin/search/mainSearch.html

@@ -74,8 +74,10 @@
 <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.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"/>
+<link href='{{Msg "seo" "cdn"}}/common-module/collection/css/public.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"/>
+
 
 
 <title>搜索</title>

+ 2 - 1
src/web/templates/weixin/search/tabSearch.html

@@ -1201,7 +1201,7 @@
                     <div class="TableText">推荐使用电脑浏览器访问剑鱼标讯网站<br>jianyu360.com查看数据表格,体验更佳。</div></div>
             </div>
             <div class="shade_table">
-                <div class="more">查看更多</div>
+                <div class="more export">查看更多</div>
             </div>
         </div>
     </div>
@@ -1239,6 +1239,7 @@
     </div>
     <div id="tempDiv" style="display:none;"></div>
 </div>
+<div class="collection" id="date-picker-other-box"></div>
 <!--S-底部提示-->
 <div class="resbm hidden" id="resbm">
     <div class="resbm0">

部分文件因文件數量過多而無法顯示