浏览代码

Merge branch 'feature/v4.8.83' of https://jygit.jydev.jianyu360.cn/qmx/jy into dev/v4.8.83_wmh

wenmenghao321 1 年之前
父节点
当前提交
6b52f611bd
共有 47 个文件被更改,包括 2369 次插入472 次删除
  1. 2 2
      src/config.yaml
  2. 0 1
      src/jfw/config/config.go
  3. 3 7
      src/jfw/front/dataServiceArea.go
  4. 23 9
      src/jfw/front/index.go
  5. 1 0
      src/jfw/modules/app/src/web/staticres/jyapp/js/common.js
  6. 16 0
      src/jfw/modules/app/src/web/templates/me/appVersion.html
  7. 3 3
      src/main.go
  8. 4 0
      src/web/staticres/course/css/base.css
  9. 9 0
      src/web/staticres/css/dev2/biddingSearch.css
  10. 1 0
      src/web/staticres/css/pc.css
  11. 二进制
      src/web/staticres/images/index/ent-service-flow-chart@2x.png
  12. 二进制
      src/web/staticres/images/index/icon-img-huo@2x.png
  13. 二进制
      src/web/staticres/images/index/message2@2x.png
  14. 二进制
      src/web/staticres/images/index/notice-card-header-bg@2x.png
  15. 27 0
      src/web/staticres/js/index/index_2023.12.js
  16. 31 0
      src/web/staticres/js/index/index_swiper.js
  17. 84 0
      src/web/staticres/js/index/seo_helper.js
  18. 57 47
      src/web/staticres/js/login.js
  19. 838 0
      src/web/staticres/pccss/index_pc.css
  20. 45 0
      src/web/staticres/pccss/index_swiper.css
  21. 290 0
      src/web/staticres/public-pc/css/header-nav-mini.css
  22. 27 0
      src/web/staticres/public-pc/css/page-img-icons.css
  23. 126 0
      src/web/staticres/public-pc/js/header-nav-mini.js
  24. 63 0
      src/web/templates/common/pc-header-nav-mini.html
  25. 30 0
      src/web/templates/common/pc-login.html
  26. 3 0
      src/web/templates/pc/entsearchindex.html
  27. 157 395
      src/web/templates/pc/newIndex.html
  28. 3 0
      src/web/templates/pc/pursearchindex.html
  29. 38 8
      src/web/templates/pc/supsearch.html
  30. 8 0
      src/web/templates/pc/template/common/empty.html
  31. 16 0
      src/web/templates/pc/template/index/banner-message.html
  32. 16 0
      src/web/templates/pc/template/index/banner-swiper.html
  33. 20 0
      src/web/templates/pc/template/index/bidding-desc-module.html
  34. 27 0
      src/web/templates/pc/template/index/bidding-list-card.html
  35. 24 0
      src/web/templates/pc/template/index/cms-card-deep.html
  36. 27 0
      src/web/templates/pc/template/index/cms-card.html
  37. 42 0
      src/web/templates/pc/template/index/data-service-module.html
  38. 14 0
      src/web/templates/pc/template/index/ent-list-module.html
  39. 31 0
      src/web/templates/pc/template/index/ent-service-module.html
  40. 63 0
      src/web/templates/pc/template/index/hot-buyer-card.html
  41. 45 0
      src/web/templates/pc/template/index/hot-industry-card.html
  42. 12 0
      src/web/templates/pc/template/index/module-card-list-container.html
  43. 24 0
      src/web/templates/pc/template/index/notice-card.html
  44. 70 0
      src/web/templates/pc/template/index/search-module.html
  45. 4 0
      src/web/templates/pc/template/index/user-info-card.html
  46. 27 0
      src/web/templates/pc/template/index/zb-aside-card.html
  47. 18 0
      src/web/templates/pc/template/index/zb-nav-module.html

+ 2 - 2
src/config.yaml

@@ -10,6 +10,6 @@ publicserviceKey: "publicservice.rpc"
 
 
 database:
-  clickhouse:
-    link: "clickhouse:jianyu_appl:Cli3#fkh4ouSe@tcp(cc-2zelp3xmkmsrtjhgp.public.clickhouse.ads.aliyuncs.com:9000)/jyseo_test?dial_timeout=2000ms&max_execution_time=60"
+  default:
+    link: "clickhouse:jianyu_appl:Cli3#fkh4ouSe@tcp(cc-2zelp3xmkmsrtjhgp.public.clickhouse.ads.aliyuncs.com:9000)/jyseo?dial_timeout=2000ms&max_execution_time=60"
     debug: true

+ 0 - 1
src/jfw/config/config.go

@@ -66,7 +66,6 @@ func init() {
 	util.ReadConfig("./export.json", &ExportConfig)
 	IpInit()
 	util.ReadConfig("./dataService.json", &IndustryTrendConfig)
-	//ClickhouseInit()
 	//log.Println("sysconfig:", Sysconfig)
 	WeixinConfig, _ = Sysconfig["wxJianyu"].(map[string]interface{})
 	Wxoauth = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=` + util.ObjToString(WeixinConfig["appid"]) + `&redirect_uri=%s&response_type=code&scope=snsapi_base&state=%s#wechat_redirect`

+ 3 - 7
src/jfw/front/dataServiceArea.go

@@ -5,6 +5,7 @@ import (
 	"app.yhyue.com/moapp/jybase/redis"
 	"app.yhyue.com/moapp/jypkg/public"
 	"fmt"
+	//_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
 	"github.com/gogf/gf/v2/frame/g"
 	"github.com/gogf/gf/v2/os/gctx"
 	"github.com/gogf/gf/v2/util/gconv"
@@ -101,14 +102,9 @@ func GovernmentTender() {
 			}
 		} else {
 			for code, node := range siteCodeMap {
-				var tagName string
-				if specialArea[name] {
-					tagName = fmt.Sprintf("%s%s", name, node.CitySpecialKeyWord)
-				} else {
-					tagName = fmt.Sprintf("%s%s", name, node.AreaKeyWord)
-				}
+				tagName := common.If(specialArea[name], node.CitySpecialKeyWord, node.AreaKeyWord).(string)
 				data = append(data, argument{
-					tagName,
+					fmt.Sprintf("%s%s", name, tagName),
 					fmt.Sprintf("/list/area/%s_%s", acronym, code),
 				})
 				break

+ 23 - 9
src/jfw/front/index.go

@@ -10,6 +10,7 @@ import (
 	"context"
 	"fmt"
 	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/os/gctx"
 	"jy/src/jfw/config"
 	"jy/src/jfw/jyutil"
 	"jy/src/jfw/site/jySchool"
@@ -65,9 +66,12 @@ func (nIndex *NewIndex) NewIndex() error {
 		nIndex.T[fmt.Sprintf("recommendBid_%d", v)] = GetRecommendBidZone(v, 8)
 	}
 	//项目分包
-
+	nIndex.T["projectPackage"] = GetIndexProjectList(6, 8)
 	//项目专区
-
+	projectZoneType := []int{13, 14, 15, 16}
+	for _, val := range projectZoneType {
+		nIndex.T[fmt.Sprintf("projectZone_%d", val)] = GetIndexProjectList(val, 8)
+	}
 	//中标喜报
 	nIndex.T["winnerGlad"] = WinnerGladTidings()
 	//热门行业  ////重点招标
@@ -223,13 +227,23 @@ func GetStrategyList() (strategyList []map[string]interface{}) {
 	return strategyList
 }
 
-func GetIndexProjectList(typ int) []map[string]interface{} {
-
-	/*res, err := g.DB().GetOne(ctx, fmt.Sprintf(`SELECT col.bid_id FROM jyseo.%s col   WHERE col.seo_id = '%s'`, consts.TableName, seoId))
-	  if err != nil || res.IsEmpty() {
-	  	return nil
-	  }*/
-	return nil
+func GetIndexProjectList(typ, pageSize int) (data []map[string]interface{}) {
+	redidKey := fmt.Sprintf("pcIndexProjectZone_%d", typ)
+	redisArr, _ := redis.Get("newother", redidKey).([]interface{})
+	if len(redisArr) > 0 {
+		data = common.ObjArrToMapArr(redisArr)
+		return
+	}
+	res, err := g.DB().Query(gctx.New(), fmt.Sprintf(`SELECT nbl.bid_id as bid_id,nbl.title as title,nbl.publish_time as publish_time FROM jyseo_test.new_bid_sign nbs  LEFT JOIN jyseo_test.new_bidList nbl ON nbs.bid_id = nbl.bid_id  WHERE bitmapContains(sign, %d) ORDER BY publish_time DESC LIMIT %d `, typ, pageSize))
+	if err != nil || res.IsEmpty() {
+		return nil
+	}
+	for _, v := range res.List() {
+		v["bid_id"] = encrypt.EncodeArticleId2ByCheck(common.InterfaceToStr(v["bid_id"]))
+		v["publish_time"] = time.Unix(common.Int64All(v["publish_time"]), 0).Format("2006-01-02")
+		data = append(data, v)
+	}
+	return data
 }
 
 // 优秀供应商

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

@@ -1734,6 +1734,7 @@ function afterLoginSuccess (type, canBack) {
 
 //ios JyObj对象加载完成回调
 function afterPageInit () {
+  if (!utilsEnv.platformEnvs.inApp) return
   setInterval(function () {
     redSpotOnMenu();
   }, 600000);

+ 16 - 0
src/jfw/modules/app/src/web/templates/me/appVersion.html

@@ -53,6 +53,17 @@
             font-size: .36rem;
             color: #171826;
         }
+        .app-icp {
+          color: #9B9CA3;
+          text-align: center;
+          font-size: 0.24rem;
+          font-style: normal;
+          font-weight: 500;
+          line-height: 0.36rem;
+          position: fixed;
+          bottom: 1rem;
+          width: 100%;
+        }
     </style>
 </head>
 
@@ -72,6 +83,11 @@
                     <van-cell v-if="system == 'Android' && isNewApk" title="新版本检测" @click="updateApp"  :is-link="isUpdate" :value-class="isUpdate ? 'new-version' : ''" :value="isUpdate ? '发现新版本' : '已是最新版本'"></van-cell>
                 </van-cell-group>
             </div>
+            <div class="app-icp">
+              客服电话:400-108- 6670
+              <br>
+              ICP备案号:京ICP备2021020018号-6A
+            </div>
         </div>
     </div>
     <!--S-当前页面的资源-->

+ 3 - 3
src/main.go

@@ -1,15 +1,15 @@
 package main
 
 import (
+	"app.yhyue.com/moapp/jybase/fsw"
 	"app.yhyue.com/moapp/jylog"
+	_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
 	_ "jy/src/jfw/active"
 	"jy/src/jfw/config"
 	. "jy/src/jfw/config"
 	_ "jy/src/jfw/site"
-
-	"app.yhyue.com/moapp/jybase/fsw"
 	// _ "jy/src/jfw/modules/app/src/jfw/course"  线下课程 dev3.5.2 21年2.24 下线
-	_ "github.com/gogf/gf/contrib/drivers/clickhouse/v2"
+
 	_ "jy/src/jfw/filter"
 	"jy/src/jfw/front"
 	_ "jy/src/jfw/nodemgr"

+ 4 - 0
src/web/staticres/course/css/base.css

@@ -115,6 +115,10 @@ em,i{
     -webkit-box-orient: vertical;
 }
 
+/* 强制文字一行显示 */
+.text-nowrap {
+    white-space: nowrap;
+}
 /* 超过一行换行显示 */
 .text-wrap {
     white-space: pre-wrap;

+ 9 - 0
src/web/staticres/css/dev2/biddingSearch.css

@@ -1389,6 +1389,15 @@ position: absolute;
   color: #686868;
   cursor: pointer;
 }
+.search-tabs .search-tab-right{
+  display: flex;
+  align-items: center;
+  height: 48px;
+  float: right;
+  font-size: 14px;
+  color: #1D1D1D;
+  line-height: 22px;
+}
 .search-tabs .search-tab-item.tab-active{
   position: relative;
   color: #2CB7CA;

+ 1 - 0
src/web/staticres/css/pc.css

@@ -4803,6 +4803,7 @@ h6 {
   position: relative;
   cursor: pointer;
   padding: 4px;
+  display: flex;
 }
 .auto-login-container .j-tooltip {
   position: absolute;

二进制
src/web/staticres/images/index/ent-service-flow-chart@2x.png


二进制
src/web/staticres/images/index/icon-img-huo@2x.png


二进制
src/web/staticres/images/index/message2@2x.png


二进制
src/web/staticres/images/index/notice-card-header-bg@2x.png


+ 27 - 0
src/web/staticres/js/index/index_2023.12.js

@@ -0,0 +1,27 @@
+var _page = {
+  init: function () {
+    this.initEvents()
+    this.initHotBuyerShortName()
+  },
+  initEvents: function () {
+    this.initSearchEvents()
+  },
+  initSearchEvents: function () {
+    $('.search-type-list').on('click', '.search-type-item', function (e) {
+      $(this).addClass('active').siblings().removeClass('active')
+    })
+  },
+  initHotBuyerShortName: function () {
+    $('.hot-buyer-list .list-info-item-head').each(function() {
+      var head_text = $(this).text()
+      if (head_text) {
+        var sort_text = __helper.getShortName(head_text)
+        $(this).text(sort_text)
+      }
+    })
+  }
+}
+
+$(function () {
+  _page.init()
+})

+ 31 - 0
src/web/staticres/js/index/index_swiper.js

@@ -0,0 +1,31 @@
+var pageSwiper = {
+  idList: [
+    '#swiper-container-1',
+    '#swiper-container-2',
+  ],
+  swiperList: [],
+  init: function () {
+    for (var i = 0; i < this.idList.length; i++) {
+      this.swiperList.push(this.initSwiper(this.idList[i]))
+    }
+  },
+  initSwiper: function (id) {
+    // banner广告位轮播
+    return new Swiper(id, {
+      slidesPerView: 1,
+      centeredSlides: true,
+      observer: true,
+      speed: 800,
+      pagination: {
+        el: $(id).find('.swiper-pagination'),
+        clickable :true
+      },
+      autoplay: $(id).find('.swiper-slide').length > 1 ? {
+        delay: 5000000000
+      } : false, // imageList.length > 1 ? true : false
+      paginationClickable: true,
+      loop: $(id).find('.swiper-slide').length > 1 ? true : false
+    })
+  }
+}
+pageSwiper.init()

+ 84 - 0
src/web/staticres/js/index/seo_helper.js

@@ -0,0 +1,84 @@
+window.__helper = {
+    doLogin: function () {
+        return location.href = ('/notin/page?backTo=' + location.href);
+    },
+    doRegister: function () {
+        return location.href = ('/notin/page?backTo=' + location.href + '&type=register');
+    },
+    getShortName: function (comName) {
+        var areaMap = chinaMapJSON || []
+        var shortname = comName
+        // 1. 循环省份城市进行替换
+        areaMap.forEach(function (item) {
+            var p = item.name.replace(/[省市]/, '')
+            if (shortname.indexOf(p) !== -1) {
+                shortname = shortname.replace(item.name, '').replace(p, '')
+                // console.log(p + ' -> \'\'')
+            }
+            item.city.forEach(function (iitem) {
+                var c = iitem.name.replace(/[省市]/, '')
+                if (shortname.indexOf(c) !== -1) {
+                    shortname = shortname.replace(iitem.name, '').replace(c, '')
+                    // console.log(c + ' -> \'\'')
+                }
+                iitem.area.forEach(function (iiitem) {
+                    if (shortname.indexOf(iiitem) !== -1) {
+                        shortname = shortname.replace(iiitem, '')
+                        // console.log(iiitem + ' -> \'\'')
+                    }
+                })
+            })
+        })
+        var matchRes = shortname.match(/[\u4e00-\u9fa5]{4}/gm)
+        var shortname = matchRes ? matchRes[0] : shortname.slice(0, 4)
+        if (shortname.length < 4) {
+            shortname = shortname.slice(0, 4)
+        }
+        return shortname
+    },
+    setCopyRightToBottom: function (url) {
+        var host = url || location.host
+        var nowCopyRightInfo = {
+            rule: '',
+            icp: ''
+        }
+        var copyRightMap = [
+            {
+                rule: 'jianyu360.cn',
+                icp: '京ICP备2021020018号-1'
+            },
+            {
+                rule: 'jianyu360.com.cn',
+                icp: '京ICP备2021020018号-2'
+            },
+            {
+                rule: 'jianyubiaoxun.cn',
+                icp: '京ICP备2021020018号-3'
+            },
+            {
+                rule: 'jianyu360.com',
+                icp: '京ICP备2021020018号-4'
+            }
+        ]
+        for(let i=0;i<copyRightMap.length;i++){
+            if (host.indexOf(copyRightMap[i].rule) !== -1) {
+                nowCopyRightInfo = copyRightMap[i]
+                break
+            }
+        }
+        var copyright = '<span>©2015-' + new Date().getFullYear() + ' ' +nowCopyRightInfo.rule+ ' 版权所有 | </span>' + '<a href="https://beian.miit.gov.cn" target="_blank">' + nowCopyRightInfo.icp + '</a>'
+        $('.copyright').html(copyright)
+    }
+}
+
+$(function () {
+    window.__helper.setCopyRightToBottom()
+    $(window.document).on('click', '*[data-quick-login]', function () {
+        var isRegister = $(this).attr('data-quick-login') === 'register'
+        if (isRegister) {
+            window.__helper.doRegister()
+        } else {
+            window.__helper.doLogin()
+        }
+    })
+})

+ 57 - 47
src/web/staticres/js/login.js

@@ -806,56 +806,66 @@ var haslogin = function(num,kyorpn,url){
 	mynum = num;//页面logid
 	keysorpname = kyorpn;//其他参数
 	thurl = url;//列表也跳转快照页url
-	$.post("/front/hasSign",function(data, location){
-		if(data){
-			if(data.resetpwd){
-				afterSignoutClearCookit();
-			    window.location.href = "/?nol=2";
-				return;
-			}
+  $.ajax({
+    url: '/front/hasSign',
+    method: 'post',
+    success: function (data) {
+      if(data){
+        if(data.resetpwd){
+          afterSignoutClearCookit();
+          window.location.href = "/?nol=2";
+          return;
+        }
 
-			loginflag = true;
-      // TODO login callback
-      try {
-        loginCallback()
-      } catch (e) {}
+        loginflag = true;
 
-			encryptId = data.encryptId
-			if(data.s_nickname!=null&&data.s_nickname.length>11){
-				data.s_nickname = data.s_nickname.substring(0,11);
-				data.s_nickname = data.s_nickname + "...";
-			}
-      toggleLoginDom(true)
-      updateUserInfo({
-        update: true,
-        name: data.s_nickname || '',
-        phone: '',
-        avatar: data.s_headimage || ''
-      })
-      try{
-        checkBigStatus()
-        infoListCss();
-        message.init()
-        checkCounts()
-        if (typeof window.initIndexMsgList === 'function') {
-          initIndexMsgList()
+        // TODO login callback
+        try {
+          loginCallback()
+        } catch (e) {}
+  
+        encryptId = data.encryptId
+        if(data.s_nickname!=null&&data.s_nickname.length>11){
+          data.s_nickname = data.s_nickname.substring(0,11);
+          data.s_nickname = data.s_nickname + "...";
         }
-			} catch (e) {
-        console.error(e)
+        toggleLoginDom(true)
+        updateUserInfo({
+          update: true,
+          name: data.s_nickname || '',
+          phone: '',
+          avatar: data.s_headimage || ''
+        })
+        try{
+          checkBigStatus()
+          infoListCss();
+          message.init()
+          checkCounts()
+          if (typeof window.initIndexMsgList === 'function') {
+            initIndexMsgList()
+          }
+        } catch (e) {
+          console.warn(e)
+        }
+      } else{
+        toggleLoginDom(false)
+        loginBtnType();
+        //pc限制登陆
+        var nosess = getParam("nol");
+        if (nosess && (!loginflag)){
+            openLoginDig();
+        }
+              window.localStorage.setItem('noMesg', 0)
       }
-		}
-		else{
-      toggleLoginDom(false)
-			loginBtnType();
-			//pc限制登陆
-			var nosess = getParam("nol");
-			if (nosess && (!loginflag)){
-			    openLoginDig();
-			}
-            window.localStorage.setItem('noMesg', 0)
-		}
-		getNewShareId(num,true);
-	})
+      getNewShareId(num,true);
+    },
+    complete: function () {
+      // TODO login callback
+      try {
+        checkLoginCallback()
+      } catch (e) {}
+    }
+  })
 }
 function loginBtnType(){
 	var href = window.location.pathname;
@@ -2125,7 +2135,7 @@ function switchPassShow (e, str) {
 }
 function closeLoginDig() {
   $("#bidLogin").modal("hide");
-  window.location.reload()
+  // window.location.reload()
 }
 function openLoginDigForWx (type) {
 	var otherArr = ['.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active', '.pass-bottom']

+ 838 - 0
src/web/staticres/pccss/index_pc.css

@@ -0,0 +1,838 @@
+/* index-pc */
+.bg-white {
+    background-color: #fff;
+}
+.mr12 {
+    margin-right: 12px;
+}
+.mt12 {
+    margin-top: 12px;
+}
+.mt20 {
+    margin-top: 20px;
+}
+.mb20 {
+    margin-bottom: 20px;
+}
+.pd-lr20 {
+    padding-left: 20px;
+    padding-right: 20px;
+}
+
+.main-module {
+    padding-top: 20px;
+    font-size: 14px;
+    line-height: 22px;
+}
+
+.aside-layout-container {
+    display: flex;
+    justify-content: space-between;
+}
+.aside-layout-container .aside-layout--main {
+    flex: 1;
+}
+.aside-layout-container .aside-layout--right {
+    width: 288px;
+    margin-left: 20px;
+}
+
+/* module-card */
+.module-card-container {
+    color: #1d1d1d;
+    overflow: hidden;
+}
+.module-card-header {
+    display: flex;
+    align-items: center;
+    padding: 0 20px;
+    height: 52px;
+    border-bottom: 4px solid #2ABED1;
+}
+.module-card-header .module-card-title {
+    font-size: 24px;
+}
+.module-card-content {
+    display: flex;
+    flex-wrap: wrap;
+    padding-top: 10px;
+}
+.module-card-content .cms-card {
+    width: 436px;
+    margin-top: 10px;
+}
+.module-card-content .cms-card:nth-of-type(2n-1) {
+    margin-right: 20px;
+}
+
+
+/* cms-card */
+.cms-card {
+    display: inline-block;
+    width: 100%;
+    color: #1d1d1d;
+    border-radius: 8px;
+    border: 1px solid transparent;
+    overflow: hidden;
+}
+.cms-card-header {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    padding: 0 20px;
+    height: 36px;
+    font-size: 16px;
+    line-height: 22px;
+    border-bottom: 1px solid #ECECEC;
+}
+.cms-card-content {
+    border-bottom-left-radius: 8px;
+    border-bottom-right-radius: 8px;
+}
+.cms-card-title {
+    font-weight: normal;
+    font-size: 16px;
+    line-height: 22px;
+}
+.cms-card-list {
+    padding: 10px 20px;
+    /* min-height: 270px; */
+}
+.cms-card-list.empty {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+.cms-card-list-item {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    line-height: 22px;
+}
+.cms-card-list-item:not(:last-of-type) {
+    margin-bottom: 10px;
+}
+.cms-card-list-item-left {
+    display: block;
+    margin-right: 10px;
+    font-size: 14px;
+    color: #686868;
+    max-width: 84%;
+}
+.cms-card-list-item-right {
+    font-size: 12px;
+    color: #999;
+}
+.cms-card-header-right {
+    font-size: 12px;
+    line-height: 18px;
+}
+.cms-card.border-ec {
+    border-color: rgba(0, 0, 0, 0.05);
+    border-color: #ececec;
+}
+.cms-card.border-ec .cms-card-header {
+    border-bottom-color: rgba(0, 0, 0, 0.05);
+    border-bottom-color: #ececec;
+}
+.cms-card.header-deep-theme .cms-card-header {
+    color: #fff;
+    background-color: #2ABED1;
+}
+.cms-card.header-deep-theme .cms-card-header-right a {
+    font-size: 12px;
+    color: #fff;
+}
+.cms-card.header-deep-theme .cms-card-title {
+    font-weight: bold;
+}
+.cms-card-content.border-ec {
+    border: 1px solid #ECECEC;
+}
+
+
+/* user-info-module */
+.user-info-card {
+    margin-bottom: 40px;
+    height: 328px;
+    border-radius: 4px;
+    border: 1px solid #E0E0E0;
+}
+
+/* search-module */
+.index-search-module {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+.index-search-module .header-top-left {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center
+}
+.index-search-module .logo-link {
+    display: inline-block;
+    width: 182px;
+    height: 48px;
+}
+.index-search-module .logo-img {
+    display: block;
+    width: 100%;
+}
+.index-search-module .logo-text {
+    margin-top: 4px;
+    padding: 0 10px;
+    font-size: 14px;
+    line-height: 24px;
+    color: #2ABED1;
+    border-radius: 18px;
+    background: rgba(42, 190, 209, 0.08);
+}
+.index-search-module .header-top-center {
+    margin: 0 60px;
+}
+.search-type-list {
+    margin-bottom: 18px;
+    display: flex;
+    align-items: center;
+}
+.search-type-item {
+    position: relative;
+    padding: 4px 12px;
+    font-size: 16px;
+    line-height: 22px;
+    background-color: transparent;
+    color: #2ABED1;
+    border-radius: 4px;
+    cursor: pointer;
+}
+.search-type-item.active {
+    color: #fff;
+    background-color: #2ABED1;
+}
+.search-type-item.active::after {
+    content: '';
+    width: 0;
+    height: 0;
+    border: 8px solid;
+    border-color: #2ABED1 transparent transparent transparent;
+    position: absolute;
+    left: 50%;
+    bottom: -16px;
+    transform: translateX(-50%);
+    z-index: 2;
+}
+.index-search-container {
+    display: flex;
+}
+.index-search-input-container {
+    display: flex;
+    align-items: center;
+    flex: 1;
+    padding-left: 40px;
+    padding-right: 32px;
+    border: 2px solid #2ABED1;
+    border-right: none;
+    border-top-left-radius: 6px;
+    border-bottom-left-radius: 6px;
+    background: url(/images/biddingSearch/bidding-search.png) 10px center / 20px 20px no-repeat rgb(255, 255, 255);
+}
+.index-search-container .search-input {
+    flex: 1;
+    height: 32px;
+    line-height: 32px;
+    border: none;
+}
+.index-search-container .search-button {
+    height: 36px;
+    padding: 0 18px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-size: 16px;
+    color: #fff;
+    background: linear-gradient(90deg, #2ABED1 0%, rgba(27, 143, 250, 0.96) 99.98%);
+    border-top-right-radius: 6px;
+    border-bottom-right-radius: 6px;
+}
+.index-search-module .header-top-center-bd {
+    margin-top: 10px;
+}
+.hot-key-container {
+    display: flex;
+    align-items: center;
+}
+.hot-key-title {
+    display: flex;
+    align-items: center;
+}
+.hot-key-title .hot-fire-icon {
+    display: inline-block;
+    width: 24px;
+    height: 24px;
+}
+.hot-key-title .hot-fire-icon img {
+    display: block;
+    width: 100%;
+}
+.hot-key-title .hot-key-title-text {
+    margin-left: 4px;
+    color: #1d1d1d;
+}
+.hot-divider {
+    margin: 0 12px;
+    display: inline-block;
+    width: 1px;
+    height: 14px;
+    background: #E0E0E0;
+}
+.hot-key-list {
+    display: flex;
+}
+.hot-key-list .hot-key-item {
+    margin-right: 12px;
+}
+.index-search-module .header-top-right .j-s-button {
+    padding: 6px 10px;
+}
+.index-search-module .header-top-right .j-icon {
+    width: 20px;
+    height: 20px;
+}
+
+/* zb-type-module */
+.zb-module-nav {
+    position: relative;
+    background: #fff;
+    border-radius: 8px;
+    border: 1px solid #ECECEC;
+    overflow: hidden;
+    box-shadow: 0px 0px 28px 0px rgba(0, 0, 0, 0.08);
+}
+.zb-module-nav .zb-module-nav-hd-bg {
+    position: absolute;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 36px;
+    background: linear-gradient(90deg, #2ABED1 0%, rgba(27, 143, 250, 0.96) 99.98%);
+    z-index: 1;
+}
+.zb-module-nav .search-type-section-list {
+    display: flex;
+}
+.zb-module-nav .search-type-section {
+    position: relative;
+    z-index: 2;
+    display: flex;
+    flex-direction: column;
+}
+.zb-module-nav .search-type-name {
+    position: relative;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    height: 36px;
+    font-size: 16px;
+    font-weight: 700;
+    line-height: 24px;
+    color: #fff;
+}
+.zb-module-nav .search-type-child {
+    display: inline-block;
+    margin: 4px;
+}
+.zb-module-nav .search-type-children {
+    position: relative;
+    padding: 16px 12px;
+    flex: 1;
+}
+/* right-divider */
+.search-type-section:not(:last-of-type) .search-type-name::after,
+.search-type-section:not(:last-of-type) .search-type-children::after {
+    content: '';
+    position: absolute;
+    right: 0;
+    top: 50%;
+    transform: translateY(-50%);
+    display: inline-block;
+    width: 1px;
+    background-color: #ececec;
+}
+.search-type-section:not(:last-of-type) .search-type-name::after {
+    height: 24px;
+}
+.search-type-section:not(:last-of-type) .search-type-children::after {
+    height: 80px;
+}
+
+.zb-module-nav .search-type-section:nth-of-type(1) {
+    min-width: 232px;
+}
+.zb-module-nav .search-type-section:nth-of-type(2) {
+    min-width: 256px;
+}
+.zb-module-nav .search-type-section:nth-of-type(3) {
+    min-width: 160px;
+}
+.zb-module-nav .search-type-section:nth-of-type(4) {
+    min-width: 160px;
+}
+.zb-module-nav .search-type-section:nth-of-type(5) {
+    min-width: 228px;
+}
+.zb-module-nav .search-type-section:nth-of-type(6) {
+    min-width: 164px;
+}
+
+/* message-module */
+.index-message-list-container .list-msg .el-carousel__container{
+    height:24px !important;
+}
+.index-message-list-container .list-msg .el-carousel, .index-message-list-container .list-msg .el-carousel .el-carousel__item{
+    width:100%;
+}
+.index-message-list-container .list-msg {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  width: 1200px;
+  height: 24px;
+  margin: 0px auto;
+}
+
+.index-message-list-container .noActive {
+  margin-top: 56px;
+}
+.index-message-list-container .list-msg .l-msg{
+    display: flex;
+    /*justify-content: flex-start;*/
+    flex-direction: row;
+    align-items: center;
+}
+.index-message-list-container .list-msg .l-msg .words {
+  width:calc(50% - 16px);
+  display: flex;
+  flex-direction: initial;
+  align-items: center;
+}
+.index-message-list-container .list-msg .l-msg .words:nth-of-type(1){
+    margin-right:32px;
+}
+
+.index-message-list-container .list-msg .l-msg .words .icon_voice {
+  margin-right: 4px;
+  width: 24px;
+  height: 24px;
+}
+
+.index-message-list-container .list-msg .r-msg {
+  width: 20px;
+  height: 20px;
+  cursor: pointer;
+}
+.index-message-list-container .list-msg .l-msg .words i {
+  width: 6px;
+  height: 6px;
+  background: #FF3A20;
+  border-radius: 50%;
+  margin-right: 9px;
+}
+
+.index-message-list-container .list-msg .l-msg .words h3 {
+  font-size: 16px;
+  font-weight: 400;
+  color: #1D1D1D;
+  line-height: 24px;
+  white-space: nowrap;
+}
+
+.index-message-list-container .list-msg .l-msg .words .title {
+    /*display: inline-block;*/
+    /*max-width:390px;*/
+  font-size: 14px;
+  color: #1D1D1D;
+  line-height: 24px;
+  margin: 0 16px;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  white-space: nowrap;
+}
+
+.index-message-list-container .list-msg .l-msg .words span:hover {
+  color: #2CB7CA;
+  cursor: pointer;
+}
+
+.index-message-list-container .list-msg .l-msg .words p {
+  font-size: 12px;
+  color: #999999;
+  line-height: 24px;
+  white-space: nowrap;
+}
+
+.index-message-list-container .list-msg .l-msg .words .isActive {
+  margin-left: 15px;
+}
+.index-message-list-container .list-msg  .no-read-count{
+    background: linear-gradient(0deg, #FB483D, #FB483D);
+    color:#FFF;
+    text-align: center;
+    font-size: 12px;
+    line-height: 18px;
+    padding: 2px 8px;
+    border-radius: 10px 10px 0 10px;
+    min-width:75px;
+    margin-right:12px;
+}
+
+/* zb-aside-card */
+.zb-aside-card {
+    width: 288px;
+}
+.zb-aside-card .cms-card-content {
+    min-height: 294px;
+}
+
+.swiper-module-12,
+.swiper-module-21 {
+    width: 100%;
+    max-height: 80px;
+    overflow: hidden;
+}
+
+.swiper-module-15 {
+    margin-left: 20px;
+    width: 584px;
+    height: 330px;
+    border-radius: 8px;
+    overflow: hidden;
+}
+.swiper-module-23 {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+}
+.swiper-module-23-children {
+    flex: 1;
+    min-height: 80px;
+}
+.swiper-module-23-children:not(:first-of-type) {
+    margin-left: 20px;
+}
+.swiper-module-27-row {
+    display: flex;
+}
+.swiper-module-27-row:not(:last-of-type) {
+    margin-bottom: 20px;
+}
+.swiper-module-27-column {
+    flex: 1;
+    min-height: 80px;
+}
+.swiper-module-27-column:not(:last-of-type) {
+    margin-right: 20px;
+}
+
+
+
+/* user-info-card */
+.user-info-card {
+    height: 328px;
+    border: 1px solid #eee;
+}
+
+/* notice-header */
+.notice-card {
+    max-height: 418px;
+    border-radius: 8px;
+    border: 1px solid #2ABED1;
+}
+.notice-card-header,
+.notice-card-title {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+.notice-card-header {
+    margin-top: -15px;
+}
+.notice-card-title {
+    font-size: 16px;
+    line-height: 24px;
+}
+.notice-card .notice-header-bg {
+    width: 249px;
+    height: 40px;
+    color: #fff;
+    background: url(/images/index/notice-card-header-bg@2x.png) no-repeat;
+    background-size: 100%;
+}
+.notice-card .notice-card-content {
+    padding: 10px 20px;
+}
+.notice-card .notice-card-list-item {
+    display: flex;
+    align-items: center;
+}
+.notice-card .notice-item-prefix-icon {
+    display: inline-block;
+    margin-right: 14px;
+    width: 24px;
+    height: 24px;
+}
+.notice-card .notice-card-list-item-content {
+    color: #1D1D1D;
+    font-size: 14px;
+    line-height: 22px;
+    flex: 1;
+}
+
+/* hot-industry */
+.industry-aside-item-links {
+    color: #686868;
+    font-size: 12px;
+    line-height: 22px;
+}
+.industry-aside-list ul {
+    display: flex;
+    flex-wrap: wrap;
+    font-size: 12px;
+    line-height: 22px;
+}
+.industry-aside-list ul li {
+    margin-right: 8px;
+    margin-bottom: 4px;
+}
+.industry-aside-list {
+    color: #1D1D1D;
+    padding: 12px 20px;
+}
+.industry-aside-item {
+    padding: 0 4px;
+    /* border-bottom: 1px solid rgba(0, 0, 0, 0.05); */
+}
+.industry-aside-item:not(:last-of-type) {
+    margin-bottom: 6px;
+}
+.industry-aside-item-name {
+    font-size: 14px;
+    font-weight: 700;
+    line-height: 22px;
+    color: #1D1D1D;
+}
+.industry-aside-item-name::after {
+    content: '';
+    display: inline-block;
+    width: 4px;
+    height: 14px;
+    background-image: url(../img/icon-right-arrow.png);
+    background-repeat: no-repeat;
+    background-size: 4px 6px;
+    vertical-align: middle;
+    background-position: 0px 3px;
+}
+.industry-aside-item-name a {
+    color: inherit;
+}
+
+/* ent-list-module */
+.ent-list-module-content {
+    display: flex;
+}
+.ent-list-module-content-left .cms-card {
+    width: 288px;
+}
+.ent-list-module-content-left .cms-card-list-item-left {
+    max-width: unset;
+}
+.ent-list-module-content-right {
+    flex: 1;
+}
+/* hot-buyer-card */
+.title-left-line {
+    position: relative;
+    padding: 0 10px;
+    height: 24px;
+    font-size: 16px;
+    line-height: 24px;
+    font-weight: normal;
+}
+.title-left-line::before {
+    content: '';
+    display: inline-block;
+    position: absolute;
+    left: 0;
+    top: 50%;
+    transform: translateY(-50%);
+    height: 16px;
+    width: 2px;
+    border-radius: 2px;
+    background-color: #2ABED1;
+}
+/* 采购单位头像 */
+.list-info-item-head {
+    padding: 6px 8px;
+    width: 48px;
+    height: 48px;
+    font-size: 16px;
+    line-height: 18px;
+    border-radius: 4px;
+    overflow: hidden;
+}
+.list-info-item-head.head-blue {
+    color: #fff;
+    background-color: #2ABED1;
+}
+.buyer-list-cell {
+    position: relative;
+    padding: 15px 0;
+    display: flex;
+    font-size: 14px;
+    line-height: 22px;
+    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.05) inset;
+}
+.buyer-list-cell-title a {
+    font-size: 16px;
+    line-height: 22px;
+    color: #1d1d1d;
+}
+.buyer-list-cell .buyer-list-cell-bd {
+    display: flex;
+    flex-direction: column;
+    justify-content: space-between;
+    margin-left: 23px;
+    margin-right: 32px;
+    flex: 1;
+}
+.buyer-list-cell .buyer-list-cell-info {
+    display: flex;
+}
+.buyer-list-cell .buyer-list-cell-info-item {
+    margin-right: 20px;
+}
+.buyer-list-cell .buyer-list-cell-info-item-label {
+    color: #686868;
+}
+.buyer-list-cell-num-container {
+    display: flex;
+    align-items: flex-end;
+    color: #686868;
+}
+.buyer-list-cell-num-container .highlight-text {
+    font-size: 18px;
+    font-weight: 700;
+    line-height: 28px;
+}
+
+/* ent-service-module */
+.service-module-content {
+    display: flex;
+    justify-content: space-between;
+    padding-top: 20px;
+}
+.service-module-content-right {
+    margin-left: 20px;
+    flex: 1;
+}
+.service-module-content-right img {
+    display: block;
+    width: 100%;
+}
+
+
+.service-desc-button {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 100%;
+    height: 40px;
+    font-size: 14px;
+    line-height: 24px;
+    border-radius: 4px;
+}
+.service-desc-button.s-main {
+    color: #2ABED1;
+    background: rgba(42, 190, 209, 0.08);
+}
+.service-desc-button.s-plain {
+    color: #2ABED1;
+    border: 1px solid #2ABED1;
+    background: transparent;
+}
+.service-desc-button.s-confirm {
+    color: #fff;
+    background: linear-gradient(90deg, #2ABED1 0%, rgba(27, 143, 250, 0.96) 99.98%);
+}
+
+.ent-service-module .service-desc-card {
+    width: 288px;
+}
+.ent-service-module .service-desc-header {
+    padding: 0 20px;
+    margin-bottom: 12px;
+}
+.ent-service-module .service-desc-main {
+    padding: 0 20px;
+}
+.ent-service-module .service-desc-text {
+    margin-bottom: 26px;
+    color: #686868;
+    font-size: 12px;
+    line-height: 22px;
+}
+
+.ent-service-module .service-desc-list .service-desc-button:not(:first-of-type) {
+    margin-top: 12px;
+}
+.ent-service-module .service-desc-footer {
+    margin-top: 24px;
+}
+
+/* data-service-module */
+.data-service-module .service-desc-card {
+    width: 288px;
+}
+.data-service-module .service-tags-main {
+    margin-top: 10px;
+    padding-bottom: 12px;
+    border-bottom: 1px solid #e0e0e0;
+}
+.data-service-module .service-desc-footer {
+    margin-top: 20px;
+}
+.data-service-module .service-tags-list {
+    display: flex;
+    flex-wrap: wrap;
+}
+.data-service-module .service-tags-item {
+    margin-right: 8px;
+    margin-bottom: 8px;
+}
+.data-service-module .service-button-list {
+    margin-top: 20px;
+}
+.data-service-module .service-desc-button:not(:last-of-type) {
+    margin-bottom: 16px;
+}
+/* hot-chart */
+.data-service-module  .hot-industry-year-chart {
+    padding: 20px;
+    min-height: 382px;
+    border-radius: 8px;
+    border: 1px solid #E0E0E0;
+    background: linear-gradient(180deg, #F4FEFF 0%, #FFF 100%);
+}
+.hot-industry-year-chart .title-left-line {
+    line-height: 22px;
+}
+.hot-industry-chart-content {
+    margin-top: 24px;
+    /* border: 1px solid deeppink; */
+}
+
+/* bidding-desc-module */
+.bidding-desc-module {
+    
+}

+ 45 - 0
src/web/staticres/pccss/index_swiper.css

@@ -0,0 +1,45 @@
+.swiper-container {
+  border: 1px solid red;
+}
+.swiper-container,
+.swiper-container .swiper-slide {
+  display: block;
+  width: 100%;
+  height: 100%;
+  border-radius: 8px;
+  overflow: hidden;
+  cursor: pointer;
+}
+.swiper-slide > img{
+  display: block;
+  width: 100%;
+  object-fit: cover;
+}
+.custom-dot {
+  bottom: 10%;
+  text-align: center;
+}
+.custom-dot .swiper-pagination-bullet{
+  width: 6px;
+  height: 6px;
+  margin: 0 10px;
+  border: 1px solid #fff;
+  border-radius: unset;
+  background-color: transparent;
+  cursor: pointer;
+  opacity: 1;
+}
+.custom-dot .swiper-pagination-bullet-active{
+  background-color: #fff;
+}
+
+.custom-dot.light-swiper-bg-light-color .swiper-pagination-bullet {
+  background: rgba(255, 255, 255, 0.32);
+  opacity: 1;
+}
+.custom-dot.light-swiper-bg-light-color .swiper-pagination-bullet-active {
+  background: #fff
+}
+.swiper-pagination-bullet:only-child{
+  display: none!important;
+}

+ 290 - 0
src/web/staticres/public-pc/css/header-nav-mini.css

@@ -0,0 +1,290 @@
+/* header-nav-mini */
+a {
+    color: inherit;
+}
+[v-cloak] {
+    display: none!important;
+}
+
+/* link */
+.cms-link {
+    font-size: 14px;
+    color: #686868;
+}
+.cms-link.red {
+    color: #FF3A20;
+}
+.cms-link.highlight-text {
+    color: #2ABED1;
+}
+.cms-link:hover {
+    color: #2ABED1;
+    text-decoration: none;
+}
+.cms-link.no-underline:hover {
+    text-decoration: none;
+}
+.cms-link.red:hover {
+    color: #FF3A20;
+}
+
+.flex-row-center {
+    display: flex;
+    align-items: center;
+}
+.pointer {
+    cursor: pointer;
+}
+
+/* button-blink */
+.button-blink {
+    position: relative;
+    overflow: hidden;
+    cursor: pointer;
+}
+.button-blink::after {
+    content: '';
+    display: block;
+    position: absolute;
+    top: -120px;
+    left: -80px;
+    width: 36px;
+    height: 360px;
+    background: #fff;
+    opacity: 0.16;
+    transform: rotate(-45deg);
+    transition: all 800ms ease-out;
+}
+.button-blink:hover::after {
+    left: 200%;
+}
+
+/* button */
+.j-s-button {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding: 4px 20px;
+    font-size: 14px;
+    line-height: 22px;
+    border-radius: 4px;
+    color: #686868;
+    border: 1px solid #E0E0E0;
+    background-color: transparent;
+    cursor: pointer;
+}
+
+.j-s-button.main {
+    height: auto;
+    color: #fff;
+    border-color: #2ABED1;
+    background-color: #2ABED1;
+}
+
+.j-s-button.main:hover {
+    color: #fff;
+}
+
+.j-s-button.plain {
+    height: auto;
+    color: #2ABED1;
+    border-color: #2ABED1;
+}
+
+.j-s-button.plain.active {
+    background-color: rgba(42, 190, 209, 0.08);
+}
+
+/* empty */
+.image > img {
+    display: block;
+    width: 100%;
+}
+.empty-container {
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    padding: 16px 0;
+}
+.empty-content-position .image {
+    width: 200px;
+    height: 200px;
+}
+.empty-tip-text {
+    text-align: center;
+    font-size: 14px;
+    color: #999;
+    line-height: 22px;
+}
+/* empty */
+
+
+.header-nav-mini {
+    background-color: #F2F2F4;
+}
+.header-nav-mini a:hover {
+    color: unset;
+    text-decoration: none;
+}
+
+.header-nav-mini a:hover {
+    color: #2ABED1;
+}
+
+.h-nav-c-left,
+.h-nav-c-right {
+    height: 100%;
+}
+
+.header-nav-content {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    height: 52px;
+    font-size: 14px;
+    line-height: 22px;
+    color: #1d1d1d;
+}
+
+.header-nav-content .nav-home {
+    height: 100%;
+    font-size: inherit;
+}
+.header-nav-content .nav-home .j-icon {
+    margin-right: 4px;
+}
+.header-nav-content .nav-home a {
+    height: 100%;
+}
+
+.header-nav-content .nav-tip {
+    margin: 0 20px;
+    color: #686868;
+}
+
+.menu-list {
+    height: 100%;
+}
+.menu-list .menu-item:not(:last-of-type) {
+    margin-right: 20px;
+}
+
+.menu-item {
+    position: relative;
+}
+.menu-item,
+.menu-item a {
+    
+    height: 100%;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+}
+
+.header-nav-content .mr20 {
+    margin-right: 20px;
+}
+
+.header-nav-content .avatar-img-container {
+    width: 32px;
+    height: 32px;
+    border-radius: 50%;
+    overflow: auto;
+    cursor: pointer;
+}
+
+.work-user-info {
+    position: absolute;
+    top: 54px;
+    left: -58px;
+    width: 150px;
+    padding: 0;
+    border: none;
+    background: #FFFFFF;
+    box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.1000), 0px 8px 10px 1px rgba(0, 0, 0, 0.0600), 0px 3px 14px 2px rgba(0, 0, 0, 0.0500);
+    border-radius: 8px;
+    overflow: hidden;
+    font-size: 14px;
+    font-weight: 400;
+    color: #1D1D1D;
+    line-height: 22px;
+}
+
+.user-avatar {
+    width: 32px;
+    height: 32px;
+    overflow: hidden;
+    border-radius: 50%;
+    border: 1px solid #E0E0E0;
+}
+
+.work-user-info .info-group span {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    max-width: 100%;
+}
+
+.work-user-info .info-group {
+    padding: 18px 16px 8px 16px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+    justify-content: center;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+}
+
+.work-user-info .out-button {
+    width: 100%;
+    height: 34px;
+    line-height: 34px;
+    background: #F5F6F7;
+    text-align: center;
+    font-size: 12px;
+    font-weight: 400;
+    color: #686868;
+    cursor: pointer;
+}
+
+.icon-img-message {
+    position: relative;
+    display: block;
+    width: 24px;
+    height: 24px;
+}
+.icon-img-message img {
+    display: block;
+    width: 100%;
+}
+.message-menu-link .message-img-active {
+    display: none;
+}
+.message-menu-link:hover .message-img {
+    display: none;
+}
+.message-menu-link:hover .message-img-active {
+    display: block;
+}
+
+.message-menu-link {
+    position: relative;
+}
+#tips {
+    display: none;
+    position: absolute;
+    left: 14px;
+    top: 6px;
+    height: 18px;
+    line-height: 16px;
+    padding: 0 4px;
+    border: 1px solid #fff;
+    background: #ff3a20;
+    border-radius: 10px;
+    font-size: 12px;
+    color: #fff;
+    min-width:18px;
+    text-align: center;
+}

+ 27 - 0
src/web/staticres/public-pc/css/page-img-icons.css

@@ -0,0 +1,27 @@
+.j-icon {
+    display: inline-block;
+    width: 18px;
+    height: 18px;
+}
+.base-icon {
+    background-color: transparent;
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: contain;
+}
+
+
+.icon-img-nav-home {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALSSURBVHgB7ZdNdtJQFMfvDa1VB5olpBOlQQmMPR4JOLddgXQF4gqkKwBXUFxBceRECK4ggOWjTow7YNQee0qu9wGBR0oJSXoc8Tunp8n7/Oe+/7vvAbBlSzwQYnLwvfMBFSgB0GjsYu3irfEZYhBZkHZmq4+fYAUQi3I5EVSvFPfEMbMjiEAkQclvtoZ7eIaAmVX1BOQAPcgNCvofCIkCIUk1zw0WY3li+ItGLkKRUCwbjKZlqAFet55xWwhJqAjN/FKVihzcTRz2Xr/oiJekZWsKKRY/al6DMQu9MDf31cYROmh0KstiqE17uzlPjGBoZh0XXVPUeWUJ9lSy0fm04TTBERLmffR04pfcXApCdWAaH9f1S1mdChu8NO8D1GJfFYN8tVbQzLzWxBMLMaXBhkugWxwZgrIkKtDsdwp63uy+SwDV+FGdNRwhukfnZrYFIXjZ7L4ZT8fRZkVsfCz28+mvsKkgXaw5Lr6McYRfBq/Cb2PBKrO7HLlhwTiBdYJWJjuk+iXQcdRE55GxbPXaxVMe+9ArW5VElwQdNNu2nOw4v5SH5u2viMMqX10hZT1Rc0E6e4ar63JDJGjJg/ULmWOIgN5ony4VTKOkLl6h2DONL+J5xytMsNnGch9AzrZQ9I0dSZD/vPNDhPMlmyfGn/n0D66pw38GEVvyjtuRK3lJjnTLzihSOF1SRLg1/0DiTHPppsxRVP11Y9gp/covMrjESOHU4b3c8O4V2X1JIASgNzu/PUH9vDFpL3bMX0JbTpj+iS/R3feMymPQrNzhMfbXTBf+tBeMKWGsESNQH7JuiEAkQUsg1UTkJtHDSUaORXxB98xWUBBbQUEECuKt43jPSb7bQEjkPoR8QQucLwD/6QzTXxbiT/O9C1RYZHl/u6VDNLIgQarZtfj0z0EMxJnVM9NmYDvYEL60v+d/JYLbZ9f6CdARF/z+Pd+rtmy5i3+CGB3ZyKqRDAAAAABJRU5ErkJggg==);
+}
+.icon-img-huangguan {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJiSURBVHgB7ZdPctowFMa/J2gYskjoCcqqIbRTwrqLAj1Ac4PkBk1OEHKCcgR6gmbXTWOcE9jOdBKmK/cEpd3QJuBXiX9DjCycYtjUvxkPjJ709OlJlt8DUlJSUmaUOt6RepAgAglRvvTOBKOtnr2O9x4JQUiA0hfvSAi059sCwnG3XvmIFVk5gnvW9buwuJFjGcnHbHfxk1PQtS9EsGRdvxFgmxmtvgjO/Xq1hwheWF8rjKEt/xYiuvQGyNS+NV56MAjb3qEPIDoOQLVu49XVvH0hgk+mygkneSZn//Lmmc5x6bNTXCJOUcjKPs/lQqJ85HfJUeLGkw4XArYgMEPD2WoJVCS6d8OHXjmmHHWWiJuJzGBwEV7o6NzmhKPmmLb9BtzwYO1LUrZcR5oO5tvUlt++rZxOxc07jgODffBWrf/rz8/8jjhTOxTq4t40KtXwuKzOGRGpM3jwsA0n+5Z7KIWpqMWJ3EOfoCLTnb29K7TjmWDrxmkFchB4IKGdBCtgGk9Mtq5de80EQr+adcK5rKtr1wrs1qu+/PGxOfzb1+XvOkP0RU1sY0MwsRtlixTIoMhByaM/f4pIgXQfXGFDDBA9lzFZKFveD/zDlfJIevL+explNCYLtIFtNp0/hVFgQHyBtUPGOYwCs7yBCCLwTHajwEni0MMakXeubbIbBboqF1znNhO3l3XJLuuwBT69o9G38pATeqOlu54sCdp98DlS1kysqm5StbWQ0Bar5JWJmnGqvlhVHQluIsEvisoLZdXXitM3nsBxFp00sa6vWAKDcf3gIyEmb3ETKSkp/wF/AbWnx99VJTM5AAAAAElFTkSuQmCC);
+}
+.icon-img-zixun {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFuSURBVHgB7ZgxTsMwFED/t8CVmHoDMoYsbWamwAU4AtygPUHCCXoEegPYmEq4QZol7Vhu0IkBqTY2YqriKj9O0ijy2yLb8bPj/K9vAIfjvOCpRv8983CELwg4VY9jaBgp5RsAn23ugy+gCmo5NmJZG2JH7KW8nJokmWkU47iA9uXgbw78WZoajYKA+AAd8X+ESmHQD4xfqi+CRi5IvVEuv0HOd1G4hxr4qfrxBMbq+DxWHUPaQcl5UldOs43CHWdyThlDEtzcmuNVVdbEBfb+DJIEvTSzjos6AVD6kwSvBC5uVsU11MR7zcYqAcSUMcZUF3zkEjqkuJuUugzrDJ6DYWUSgZBso8kzWBCkeQwSkqr9STtoK6cpiO8gCfqrnBQiygiI73BhxhYnaIsLM8e4MNMWgwwztYujJjEKqmp/DR0hUV8ilWMUPODhCTrYRdRzcD4ztRsFdQ0rUIRwYnW2Yoj4KUbqZquBctbhaItfIPdxUZNcbIcAAAAASUVORK5CYII=);
+}
+/* 撒花 */
+.icon-img-sahua {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASZSURBVHgB7VjNbttGEJ5ZJv5R0UI9tIdezB56aA6Ncipyiv0Chd8g8hNYtlAkcg9RgSQu0DhWnqD2E0R5AtMo0FPb0Jfm1FpGH8BC65+6MXcyu7QVkiLFXYpBEkAfINta75LzzTe7M7MAE0zwfoMajSqMAYSSQDvrLkxPz+kvZ//s4UK7n7umsVYjB54Tybbz+IfvoQAElIWZqdtskqc/Mx9uGq1BnAt/ibZstnao+d0cWOIKlAWCaCj0jNYgzEe+zLMSHq202ri5vj14rAoxwcqiqPGcKm48fBJ9RHkEkAnQ5VspN3z0NJS1WBQjuoSwxWos8jeXB1x+ZDXyDp9/viECQO7AGAQjAsqjGeOLqaMSusmx8vZANITO6SB3eqOt5tfABvLls+RQeQQyvTkMFddSnN0DO/Sw86OfHCxzD3gqZrUSH+B+1jRq3HXJwacIaOV93gte2vjYBC4TEd5sLuXOba4tsyFtALBOXiIQ26njMAZCb1YOScw+p9U710fNDVZbm2x8BwoYryHkrdRhGAMcCj/pP9TxB6KblYjUhhWIxQy/fAZCI63sKEyAE85tlXwGA4qESkQpL8FOu88JaIkz7gLHvgfFwAmtspwcLE4AdSzHoUg4s0+z1uCj+x5uPFAk6mCarePvHFKhEAHtfTY2/b84r+J91HomsS02Hn6OhB2ww5AKxQikeT8CRGwEq3fzz3lHdnPnAPZR5YCLDyDFjl/rclp5nwRumcyVkupXIoVZ6vOaa/uk654YfAxOFrDTyS1JrBXI837s4QI7eccrZ6itxIix8fodYIHRsZ+K6qjjVUPKqEJWxisYh5DuuP4836EXpy7YgqiH8vRGlmGqmdG1vqXxCuYKqI7rWsWFL2fBGnnHa0BLRYzXa00mhf3uFHsp3Gz0xwnAi1OwBRF1nMfrK1AizBTQ/e7rkwKvVaCIEup4peadZSgRuQpceD+1PC6qBEqa5753F0pAvgJTVzMTUlElOI90i9xApGEkAe191HVLJgqSqOrCz4IE/f4ode7ohmaE96NQJPSFhE046RJcdrk4G5w+9PPGdbZoUV8QhD22e9GquvBfuCr5mEwFTLyfJGGvBNakqGxGrLnBhrc53dfDmwnddroDm1JUyA4hQ+/HzFEkvqrYrUGoDwo/Bw9HTj6VHw+tT5unW8WvP9rHuWkoAuqx3r8dW61RJxN88+kezEilSA8kHHDl2QeSPW6I+3iz1Utbl74HhLgHvx6Fx+RnU4BfcGhUzJM2ujPhnrAhIYSLCyvqaM29HIi9KzkQNupi+NxnNXSIWBDJV0LV+upCWHCndv8JFMCQAoNGPYmDMyD+wCdXQzIG4TWsBBtMfD2I6EMgd7HzwIcxEVOAvm3dImnYdCslWBFUhDJVQdVBefDLv7vwN3jc3PegZMQVCLBhXGCfSND7RBnPJMLwcnjDURcC2APxv5e18cpEjAB3W4tgAb5d8OE48OBY7sFfh90i5fC4SOwBNggo885S3+mQ9AGdXQiOvLdhcBIxAkiiThiomwL34jbA1wYL5xmcH/nvgsFG4KtAFyaYYIIJJjDAK3oCwv+hYzYXAAAAAElFTkSuQmCC);
+}
+

+ 126 - 0
src/web/staticres/public-pc/js/header-nav-mini.js

@@ -0,0 +1,126 @@
+// 消息列表获取未读消息
+function Message() {
+  // 初始化
+  this.init = function () {
+    if (!loginflag) return
+    $('#noticed').show()
+    this.getMessageList()
+  }
+  // 悬浮窗列表数据请求
+  this.getMessageList = function () {
+    var params =  {
+      isColumn: false, // 是否需要栏目(消息中心需要)
+      isColumnNewMsg: false,
+      isMsgList: false, // 是否需要列表数据
+      isContainLetter: false, // 是否包含私信数
+      msgType: -1, // 消息类型,-1为全部
+      isRead: 0, // 是否已读
+      offset: 1,
+      size: 0
+    }
+    $.ajax({
+      url: '/jyapi/messageCenter/MessageList',
+      type: 'POST',
+      data: JSON.stringify(params),
+      dataType: 'json',
+      headers: {'Content-Type': 'application/json'},
+      success:function (res) {
+        if (res.unread) {
+          var unreadNum = res.unread;
+          $('#tips').show();
+          $('#tips').html(unreadNum > 99 ? '99+' : unreadNum);
+        } else {
+          $('#tips').hide();
+        }
+      },
+      error:function () {}
+    })
+  }
+  this.init()
+}
+
+
+var headerNavMini = {
+  init: function () {
+    this.initEvents()
+  },
+  initEvents: function () {
+    this.initLoginButtonEvent()
+    this.initHeaderNavUserInfoEvent()
+  },
+  initLoginButtonEvent: function () {
+    var _this = this
+    $('.login-register-button').on('click', function () {
+      _this.doLogin()
+    })
+  },
+  initHeaderNavUserInfoEvent: function () {
+    function hideUserInfoPop (time) {
+      clearTimeout(window.hideUserInfoTm)
+      window.hideUserInfoTm = setTimeout(function () {
+        $(".work-user-info").hide()
+      }, time || 0)
+    }
+    function addPopListener (selector, time) {
+      $(selector).mouseenter(function () {
+        clearTimeout(window.hideUserInfoTm)
+        $(".work-user-info").show()
+      })
+      $(selector).mouseleave(function () {
+        hideUserInfoPop(time)
+      })
+    }
+    addPopListener('.work-user-info')
+    addPopListener('#public-nav .nav-avatar', 500)
+    //隐藏弹窗
+    $('body').click(function(event){
+      //获取鼠标点击目标
+      var target = $(event.target);
+      //点击目标为头像 弹出或关闭用户信息列表
+      if(target.is('img[class*=user-avatar]')){
+        $(".work-user-info").toggle()
+      }else{
+        //点击body隐藏
+        var isSelf = target.hasClass('.work-user-info') || target.parents('.work-user-info').length > 0
+        if (!isSelf) {
+          $(".work-user-info").hide()
+        }
+      }
+    })
+  },
+  doLogin: function () {
+    openLoginDig(false, 'reload')
+  },
+  checkLogin: function (login) {
+    if (login) {
+      // 登录
+      $('.login-show').show()
+      $('.no-login-show').hide()
+    } else {
+      // 未登录
+      $('.login-show').hide()
+      $('.no-login-show').show()
+    }
+  },
+  updateUserInfo: function () {},
+  updateUserPower: function () {},
+}
+
+
+
+$(function () {
+  headerNavMini.init()
+})
+
+headerNavMini.checkLogin(false)
+function loginCallback () {
+  headerNavMini.checkLogin(loginflag)
+  window.message = new Message()
+  try {
+    LoginPolling.stop()
+  } catch (error) {
+    console.log(error)
+  }
+}
+
+function infoListCss () {}

+ 63 - 0
src/web/templates/common/pc-header-nav-mini.html

@@ -0,0 +1,63 @@
+<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/public-pc/css/page-img-icons.css?v={{Msg "seo" "version"}}' />
+<link rel="stylesheet" href='{{Msg "seo" "cdn"}}/public-pc/css/header-nav-mini.css?v={{Msg "seo" "version"}}' />
+<section class="header-nav-mini" id="public-nav">
+    <main class="w header-nav-content">
+        <div class="h-nav-c-left flex-row-center">
+            <h2 class="nav-home">
+                <a class="flex-row-center" href="/"><i class="j-icon base-icon icon-img-nav-home"></i>首页</a>
+            </h2>
+            <p class="nav-tip">欢迎来到剑鱼标讯</p>
+            <h2 class="nav-area-substation">
+                <a class="j-s-button main" href="https://henan.jianyu360.cn">各省分站</a>
+            </h2>
+        </div>
+        <div class="h-nav-c-right flex-row-center">
+            <ul class="menu-list flex-row-center">
+                <li class="menu-item">
+                    <a href="/product/index?serviceType=0">服务列表</a>
+                </li>
+                <li class="menu-item">
+                    <a href="">付费指导</a>
+                </li>
+                <li class="menu-item">
+                    <a href="">APP下载</a>
+                </li>
+                <li class="menu-item">
+                    <a href="/helpCenter/index">帮助中心</a>
+                </li>
+                <li class="menu-item">
+                    <a href="/brand/index">关于剑鱼</a>
+                </li>
+                <li class="menu-item message-menu login-show" id="noticed" style="display: none;">
+                    <a class="message-menu-link" href="/swordfish/frontPage/messageCenter/sess/index">
+                        <div class="icon-img-message">
+                            <img src="/images/index/message2@2x.png" class="message-img" alt="">
+                            <img src="/images/index/message2@2x.png" class="message-img-active" alt="">
+                            <!-- <img src="/images/index/message-active.png" class="message-img-active" alt=""> -->
+                        </div>
+                        <span class="tips" id="tips" style="display: none">99+</span>
+                    </a>
+                </li>
+                <li class="menu-item avatar-menu nav-avatar login-show" style="display: none;">
+                    <div class="avatar-img-container">
+                        <img data-user-avatar src="/common-module/public/image/auto.png" alt="">
+                    </div>
+                    <div class="work-user-info" style="display: none">
+                        <div class="info-group">
+                            <img class="user-avatar" data-user-avatar>
+                            <span data-user-name></span>
+                            <span data-user-phone></span>
+                        </div>
+                        <div class="out-button" onclick='signout()'>退出登录</div>
+                    </div>
+                </li>
+                <li class="menu-item action-menu">
+                    <button class="login-register-button j-s-button main no-login-show" style="display: none">注册/登录</button>
+                    <a class="j-s-button main login-show" href="/page_workDesktop/" style="display: none">进入工作台</a>
+                </li>
+            </ul>
+        </div>
+    </main>
+</section>
+<script src='{{Msg "seo" "cdn"}}/public-pc/js/header-nav-mini.js?v={{Msg "seo" "version"}}'></script>
+

+ 30 - 0
src/web/templates/common/pc-login.html

@@ -0,0 +1,30 @@
+<!-- 包含了登录弹窗相关的所有资源 -->
+<link href="{{Msg "seo" "cdn"}}/css/bootstrap.min.css" rel="stylesheet" />
+<link href="{{Msg "seo" "cdn"}}/css/unicorn.main.css" rel="stylesheet" />
+<link href="{{Msg "seo" "cdn"}}/css/pc.css" rel="stylesheet" />
+
+<!-- pc登录弹窗html结构 -->
+{{include "/common/pc-login-dialog.html"}}
+
+<script src="{{Msg "seo" "cdn"}}/js/bootstrap.min.js"></script>
+<script src="{{Msg "seo" "cdn"}}/js/jquery.cookie.js"></script>
+<script src='{{Msg "seo" "cdn"}}/js/jyWebScoket.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/js/common.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/js/login.js?v={{Msg "seo" "version"}}'></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/message-tip/js/index.js?v={{Msg "seo" "version"}}'></script>
+<script>
+    var Activedatastring = 'register'
+    var ActivedataType = 'jy-pc-'+ Activedatastring+ '-login'
+    var Activedata = JSON.stringify({
+        codes: [ActivedataType]
+    })
+    /**
+    * 获取后台广告方法
+    *  getActiveInfo: function (active_codes_map,isAppsion)
+    * @param {Array|String} active_codes_map 广告id标识符--数组集合["jy-wx-course-pay-success"]
+    * @param {String} isAppsion 请求环境、app、weixin、pc
+    */
+    getActive.getActiveInfo(Activedata,'PC')
+</script>
+
+<script src='{{Msg "seo" "cdn"}}/common-module/public/head.js?v={{Msg "seo" "version"}}'></script>

+ 3 - 0
src/web/templates/pc/entsearchindex.html

@@ -150,6 +150,9 @@
                     <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/supsearch/index.html')">招标采购公告</span>
                     <span class="tab-item tab-active" @click="location.replace('/jylab/entSearch/index.html')">企业搜索</span>
                     <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/purSearch/index.html')">采购单位搜索</span>
+                    <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/swordfish/page_web_pc/search/issued')">供应搜索</span>
+                    <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/supsearch/index.html?tab=2')">超前项目查询</span>
+                    <!-- <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/swordfish/page_web_pc/search/issued')">拟在建项目查询</span> -->
                 </div>
                 <div class="search-header-content">
                     <div class="search-header-top">

+ 157 - 395
src/web/templates/pc/newIndex.html

@@ -1,406 +1,168 @@
 <!DOCTYPE html>
-<html lang="en">
+<html lang="zh-CN">
 <head>
   <meta charset="UTF-8">
-  <title>新版剑鱼首页</title>
-  <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/swiper.min.css?v={{Msg "seo" "version"}}'>
-  <style>
-    .border {
-      margin: 2px;
-      border: 1px solid #eee;
-    }
-
-    .line-1 {
-      display: flex;
-      flex-direction: row;
-    }
-
-    .line-1 > div {
-      margin: 3px;
-    }
-
-    .line-1 .title {
-      text-align: center;
-      background: #52BED1;
-      color: #fff;
-    }
-
-    .line-1 .detail a {
-      text-decoration: none;
-      color: #000;
-      cursor: pointer;
-      white-space: nowrap
-    }
-
-    .line-2 {
-      height: 100px;
-      width: 100%;
-      text-align: center;
-      line-height: 100px;
-      background: #159BD5;
-    }
-
-    .line-3 {
-      height: 60px;
-      width: 100%;
-      line-height: 60px;
-      text-align: center;
-    }
-
-    .group {
-      display: flex;
-      flex-direction: row;
-    }
-
-    .group .main {
-      flex: 3;
-    }
-
-    .group .right {
-      flex: 1;
-    }
-
-    .line-4 {
-      display: flex;
-      flex-direction: row;
-      height: 260px;
-    }
-
-    .biddingDiv {
-      flex: 2;
-    }
-
-    .adScroll {
-      flex: 3;
-    }
-
-    .line-5 {
-      height: 460px;
-    }
-
-    .ellipsis {
-      overflow: hidden;
-      text-overflow: ellipsis;
-      white-space: nowrap;
-      text-align: justify
-    }
-
-    .line-6 {
-      height: 100px;
-      width: 99.5%;
-      text-align: center;
-      line-height: 100px;
-      background: #159BD5;
-    }
-
-    .line-7 {
-      height: 530px;
-    }
-
-  </style>
+  <title>首页</title>
+  <meta name="Keywords" content="招标订阅,招标项目,中标项目,招标信息,剑鱼标讯" />
+  <meta name="Description" content="使用剑鱼标讯,可以精准匹配招标信息,只需要微信关注剑鱼标讯公众号,然后自行设定所关注的招标关键词和地区,满足订阅需求的招标信息就会在两个小时内自动推送。" />
+  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+  <meta name="format-detection" content="telephone=no" />
+  <meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
+  <meta name="renderer" content="webkit" >
+  <!-- pnc.html是pcbottom.html的依赖 -->
+  {{include "/common/pnc.html"}}
+  <link rel="canonical" href="https://www.jianyu360.cn">
+  <link rel="stylesheet" type="text/css" href='{{Msg "seo" "cdn"}}/pccss/reset_pc.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet" type="text/css" href='{{Msg "seo" "cdn"}}/course/css/base.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet" href="https://cdn-common.jianyu360.com/cdn/lib/swiper/5.4.2/swiper.min.css"/>
+  <link rel="stylesheet" href="https://cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/theme-chalk/index.css" />
+  <link rel="stylesheet" type="text/css" href='{{Msg "seo" "cdn"}}/pccss/index_swiper.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet" type="text/css" href='{{Msg "seo" "cdn"}}/pccss/index_pc.css?v={{Msg "seo" "version"}}' />
 </head>
-<body>
-<content>
-  {{$global:=.T}}
-  <div class="line-1 ">
-    {{range $v:= $global.topMenu}}
-    <div>
-      <div class="title">{{$v.title}}</div>
-      <div class="detail">
-        {{range $item:= $v.child}}
-        <a href="{{$item.href}}">{{$item.name}}</a>
-        {{end}}
-      </div>
-    </div>
-    {{end}}
-  </div>
-  <div class="line-2 border">
-    <!--    12广告位-->
-    {{range $k,$v:=Ad "new-pc-index-top-ad" -1 .Host}}
-    <div class="school-in-header">
-      <img src="{{$v.S_pic}}" alt="" style="width: 1115px;height: 100px;">
-    </div>
-    {{end}}
-  </div>
-  <div class="line-3 border">
-    <!-- 消息展示 -->
-    <div class="list-msg">
-      <div class="no-read" style="width: 100px;float:left;">99+条未读</div>
-      <url style="list-style: none;float:left;">
-        <li style="display: inline;">消息111</li>
-        <li style="display: inline;">消息2</li>
-      </url>
-    </div>
-  </div>
-  <div class="group">
-    <div class="main">
-      <div class="line-4">
-        <div class="biddingDiv border" style="font-size: 12px;">
-          招标公告
-          <a href="{{.T.newbids.more}}" style="float: right">更多</a>
-          <ul>
-            {{range $k,$v := .T.newbids.biddingList}}
-            <li>
-              <span>{{$v.title}}</span>
-              <span>{{$v.publishtime}}</span>
-            </li>
-            {{end}}
-          </ul>
-        </div>
-        <div class="adScroll border">轮播图
-          <!--轮播图  有数据,不会样式 -->
-          <div class="swiper-wrapper">
-            <!--{{range $k,$v:=Ad "new-pc-index-carousel" -1 .Host}}
-            <a class="swiper-slide"
-               {{if $v.S_link }}href="{{$v.S_link}}"{{end}}
-               {{if eq $v.O_extend.Linktype "abroad" }} target="_blank" {{else}} target="_self" {{end}}
-            >
-            <img class="img-banner" data-theme="{{$v.O_extend.Theme}}" src='{{$v.S_pic}}' alt="{{$v.S_remark}}">
-            </a>
-            {{end}}-->
-          </div>
-        </div>
-      </div>
-      <div class="line-5 border" style="font-size: 14px;">
-        <p>17标讯专区</p>
-        <div class="bidAdvance" style="width: 400px;float: left;">
-          招标预告
-          <a href="" style="float: right">更多</a>
-          <ul>
-            {{range $k,$v := .T.recommendBid_1}}
-            <li class="ellipsis">
-              <span>{{$v.title}}</span>
-              <span>{{$v.publishtime}}</span>
-            </li>
-            {{end}}
-          </ul>
-        </div>
-
-        <div class="bidAdvance" style="width: 400px;float: right;">
-          中标成交
-          <a href="" style="float: right">更多</a>
-          <ul>
-            {{range $k,$v := .T.recommendBid_2}}
-            <li class="ellipsis">
-              <span>{{$v.title}}</span>
-              <span>{{$v.publishtime}}</span>
-            </li>
-            {{end}}
-          </ul>
-        </div>
 
-        <div class="bidAdvance" style="width: 400px;float: left">
-          采购意向
-          <a href="" style="float: right">更多</a>
-          <ul>
-            {{range $k,$v := .T.recommendBid_3}}
-            <li class="ellipsis">
-              <span>{{$v.title}}</span>
-              <span>{{$v.publishtime}}</span>
-            </li>
-            {{end}}
-          </ul>
-        </div>
-
-        <div class="bidAdvance" style="width: 400px;float: right">
-          项目分包
-          <a href="" style="float: right">更多</a>
-          <ul>
-            {{range $k,$v := .T.recommendBid_4}}
-            <li class="ellipsis">
-              <span>{{$v.title}}</span>
-              <span>{{$v.publishtime}}</span>
-            </li>
-            {{end}}
-          </ul>
-        </div>
-      </div>
-      <div class="line-5 border">
-        18项目专区
-      </div>
-      <div class="line-6 border">
-        21广告位
-        <!--{{range $k,$v:=Ad "new-pc-index-middle-carousel" -1 .Host}}
-        <div class="school-in-header">
-          <img src="{{$v.S_pic}}" alt=""  style="width: 830px;height: 100px;">
-        </div>
-        {{end}}-->
-      </div>
-      <div class="line-7 border">
-        <p>22机构专区</p>
-        <div style="display: flex;">
-          <div class="winner-ent" style="width: 250px;font-size: 14px;">
-            热门中标企业
-            <ul>
-              {{range $k,$v := .T.hotWinner}}
-              <li class="">{{$v.ent_name}}</li>
-              {{end}}
-            </ul>
-          </div>
-          <div class="buyer" style="font-size: 10px;">
-            热门采购单位
-            <ul>
-              {{range $k,$v := .T.hotBuyers}}
-              <li class="">
-                <p>{{$v.ent_Id}} <span>采购标讯{{$v.count}}条</span></p>
-                <apan>所在地:{{$v.city}}</apan>&nbsp;&nbsp;&nbsp;&nbsp;<span>采购单位类型:{{$v.buyerclass}}</span>
-              </li>
-              {{end}}
-            </ul>
+{{include "/common/pc-login.html"}}
+{{$global:=.T}}
+<body>
+  <section class="body-section bg-white">
+    <header class="body-header">
+      {{include "/common/pc-header-nav-mini.html"}}
+    </header>
+    <main class="body-main">
+      <section class="w">
+        <!-- 头部logo+搜索模块 -->
+        <section class="main-module">
+          {{include "/pc/template/index/search-module.html"}}
+        </section>
+        <!-- 招标采购模块 -->
+        <section class="main-module">
+          {{include "/pc/template/index/zb-nav-module.html"}}
+        </section>
+        <!-- banner swiper -->
+        <section class="main-module swiper-module-12">
+          {{include "/pc/template/index/banner-swiper.html"}}
+        </section>
+        <!-- 13消息中心 -->
+        <section class="main-module">
+          {{include "/pc/template/index/banner-message.html"}}
+        </section>
+        <section class="main-module aside-layout-container">
+          <main class="aside-layout--main">
+            <section class="aside-main-module flex-row-center mb20">
+              <!-- 中标公告 -->
+              {{include "/pc/template/index/zb-aside-card.html"}}
+              <div class="swiper-module-15">
+                <!-- 首页上部分中心轮播图 -->
+                {{include "/pc/template/index/banner-swiper.html"}}
+              </div>
+            </section>
+            <!-- 招标动态 -->
+            <section class="aside-main-module mb20">
+              {{include "/pc/template/index/module-card-list-container.html"}}
+            </section>
+            <!-- 项目专区 -->
+            <section class="aside-main-module mb20">
+              {{include "/pc/template/index/module-card-list-container.html"}}
+            </section>
+            <!-- 项目专区下广告位 -->
+            <section class="aside-main-module mb20 swiper-module-21">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </section>
+            <!-- 机构专区 -->
+            <section class="aside-main-module mb20">
+              {{include "/pc/template/index/ent-list-module.html"}}
+            </section>
+            <!-- 机构专区下广告位 -->
+            <section class="aside-main-module mb20 swiper-module-23">
+              <div class="swiper-module-23-children">
+                {{include "/pc/template/index/banner-swiper.html"}}
+              </div>
+              <div class="swiper-module-23-children">
+                {{include "/pc/template/index/banner-swiper.html"}}
+              </div>
+            </section>
+            <!-- 企业服务专区 -->
+            <section class="aside-main-module">
+              {{include "/pc/template/index/ent-service-module.html"}}
+            </section>
+          </main>
+          <aside class="aside-layout--right">
+            <!-- 用户信息卡片 -->
+            <section class="aside-right-module mb20">
+              {{include "/pc/template/index/user-info-card.html"}}
+            </section>
+            <!-- 中标喜报 -->
+            <section class="aside-right-module mb20">
+              {{include "/pc/template/index/notice-card.html"}}
+            </section>
+            <!-- 热门行业 -->
+            <section class="aside-right-module mb20">
+              {{include "/pc/template/index/hot-industry-card.html"}}
+            </section>
+            <!-- 优秀供应商 -->
+            <section class="aside-right-module mb20">
+              {{include "/pc/template/index/notice-card.html"}}
+            </section>
+          </aside>
+        </section>
+        <!-- 数据服务 -->
+        <section class="main-module">
+          {{include "/pc/template/index/data-service-module.html"}}
+        </section>
+        <!-- 数据服务下轮播图 -->
+        <section class="main-module swiper-module-27">
+          <div class="swiper-module-27-row">
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
           </div>
-        </div>
-      </div>
-      <div style="height: 100px;background: #0CA1F5;display: flex;">
-        <!--        23号广告位-->
-        {{range $k,$v:=Ad "new-pc-index-twenty-three" -1 .Host}}
-        <div class="school-in-header">
-          <img src="{{$v.S_pic}}" alt="" style="width: 420px;height: 100px;">
-        </div>
-        {{end}}
-      </div>
-      <div style="height: 300px;background: #00D7B0;display: flex;">
-        <div style="width: 220px;margin-left: 20px;">
-          24企业服务专区
-          <h4>营销</h4>
-          <p>实现用户在平台上完成咨询,销售线索、销售机会,客服的权限跟踪处理。</p>
-          <button>专属资讯</button>
-          <br>
-          <button>机构管理</button>
-          <br>
-          <button>任务管理</button>
-        </div>
-        <div>
-          {{range $k,$v:=Ad "new-pc-index-ent-service" -1 .Host}}
-          <div class="school-in-header">
-            <img src="{{$v.S_pic}}" alt="" style="width: 600px;height: 300px;">
+          <div class="swiper-module-27-row">
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
+            <div class="swiper-module-27-column">
+              {{include "/pc/template/index/banner-swiper.html"}}
+            </div>
           </div>
-          {{end}}
-        </div>
-
-      </div>
-    </div>
-    <div class="right">
-      <div class="border" style="height: 200px">
-        16登录注册
-      </div>
-      <div class="border" style="height: 200px">
-        19会员中标喜报
-        <ul>
-          {{range $k,$v := .T.winnerGlad}}
-          {{range $kk,$vv := $v}}
-          <li><a href="/nologin/content/{{$vv}}">{{$kk}}</a></li>
-          {{end}}
-          {{end}}
-        </ul>
-      </div>
-      <div class="border" style="height: 500px">
-        20热门行业
-        {{range $k,$v := .T.hotIndustry}}
-        {{range $ke,$va := $v}}
-        <div style="font-size: 12px;display: flex;">
-          <p>{{$ke}}</p>
-          <ul style="font-size: 10px;flex: 1;margin: 15px 0 0 0;padding: 0;">
-            {{range $kk,$vv := $va}}
-            {{if le $kk 4}}
-            <li style="list-style-type: none;float: left;display: inline-block;margin-right: 5px;">
-              <a href="{{$vv.url}}">{{$vv.key}}</a>
-            </li>
-            {{end}}
-            {{end}}
-          </ul>
-        </div>
-        {{end}}
-        {{end}}
-      </div>
-      <div class="border" style="height: 300px;font-size: 13px;">
-        25优秀供应商
-        <ul>
-          {{range $k,$v := .T.supplyEnt}}
-          {{if le $k 14}}
-          <li style="list-style: none;">{{$v.name}}</li>
-          {{end}}
-          {{end}}
-        </ul>
-      </div>
-    </div>
-  </div>
-  <div class="line-10 border" style="height: 300px;background: #0A9AEA;">
-    26数据服务专区
-  </div>
-  <div style="height: 400px;display: flex;flex-wrap:wrap;">
-    {{range $k,$v:=Ad "new-pc-index-twenty-seven" -1 .Host}}
-    <div class="school-in-header" style="width: 33.3%">
-      <img src="{{$v.S_pic}}" alt="" style="height: 200px;">
-    </div>
-    {{end}}
-  </div>
-  <div class="strategy-school border" style="height: 400px;display: flex;">
-    <div class="strategy" style="width: 75%">
-      {{$thisCode := "zbcg"}}
-      {{range $k,$v := .T.strategyList}}
-      {{if eq $k 1 }}
-      <div class="school_classify jyxt">
-        <a {{if eq $v.code $thisCode}} class="classify_tabs is-active" {{else}} class="classify_tabs" {{end}}
-           href="/jySchool/{{$v.code}}/index.html">
-          {{$v.name}}
-        </a>
-        <ul>
-          {{range $kk,$vv := $v.list}}
-          <li><span>{{$vv.s_title}}</span> <span>{{$vv.l_createdate}}</span></li>
-          {{end}}
-        </ul>
-      </div>
-      {{end}}
-      {{end}}
+        </section>
+        <!-- 招投标攻略 -->
+        <section class="main-module aside-layout-container">
+          <main class="aside-layout--main">
+            {{include "/pc/template/index/bidding-desc-module.html"}}
+          </main>
+          <aside class="aside-layout--right">
+            {{include "/pc/template/index/cms-card-deep.html"}}
+          </aside>
+        </section>
+      </section>
+    </main>
+    <div class="body-footer">
+      {{include "/common/friend-link.html"}}
+      {{include "/common/pcbottom.html"}}
     </div>
-    <div class="school" style="width: 25%">
-      <p>剑鱼学堂</p>
-      <ul>
-        {{range $k,$v := .T.jySchool}}
-        <li>{{$v.s_name}}</li>
-        {{end}}
-      </ul>
-    </div>
-  </div>
-  <div class="line-11 border" style="height: 100px;display: flex;flex-wrap:wrap;">
-    {{range $k,$v:=Ad "new-pc-index-bottom-ad" -1 .Host}}
-    <div class="" style="">
-      <img src="{{$v.S_pic}}" alt="" style="height: 100px;width: 184px;">
-    </div>
-    {{end}}
-  </div>
-  <div style="height: 260px;">
-    31地区导航
-    {{range $v := .T.areaNav}}
-    <div>
-      {{$v.name}}
-      {{range $vv := $v.child}}
-      <a href="{{$vv.Url}}">{{$vv.Name}}</a>
-      {{end}}
-    </div>
-    {{end}}
-  </div>
-  <div style="height: 400px;">
-    <div style="height: 200px;">
-      重点招标
-    </div>
-    <div style="height: 200px;">
-      政府招标
-    </div>
-
-  </div>
-
-
-
-</content>
+  </section>
+
+  <script defer src="//cdn-common.jianyu360.com/cdn/lib/vue/2.7.14/vue.min.js"></script>
+  <script defer src="//cdn-common.jianyu360.com/cdn/lib/element-ui/2.15.7/lib/index.js"></script>
+  <script defer src=//cdn-common.jianyu360.com/cdn/lib/svga-web/svga.min.js></script>
+  <script defer src='{{Msg "seo" "cdn"}}/js/dateFunc.js?v={{Msg "seo" "version"}}'></script>
+  <script defer src='{{Msg "seo" "cdn"}}/js/pc-message-new.js?v={{Msg "seo" "version"}}'></script>
+  <script src="https://cdn-common.jianyu360.com/cdn/lib/swiper/5.4.2/swiper.min.js"></script>
+  <script type="text/javascript" src='{{Msg "seo" "cdn"}}/common-module/public/js/china-map-data.js?v={{Msg "seo" "version"}}'></script>
+  <script type="text/javascript" src='{{Msg "seo" "cdn"}}/js/index/seo_helper.js?v={{Msg "seo" "version"}}'></script>
+  <script type="text/javascript" src='{{Msg "seo" "cdn"}}/js/index/index_swiper.js?v={{Msg "seo" "version"}}'></script>
+  <script type="text/javascript" src='{{Msg "seo" "cdn"}}/js/index/index_2023.12.js?v={{Msg "seo" "version"}}'></script>
+  <script>
+    haslogin('10')
+  </script>
 </body>
-<script src='{{Msg "seo" "cdn"}}/js/pc-message-new.js?v={{Msg "seo" "version"}}'></script>
-<script>
-  // tab点击切换
-  $('.school_classify .classify_tabs').click(function () {
-    $(this).addClass('is-active')
-    $(this).siblings().removeClass('is-active')
-  })
 
-</script>
 </html>

+ 3 - 0
src/web/templates/pc/pursearchindex.html

@@ -99,6 +99,9 @@
                   <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/supsearch/index.html')">招标采购公告</span>
                   <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/entSearch/index.html')">企业搜索</span>
                   <span class="tab-item tab-active" @click="location.replace('/jylab/purSearch/index.html')">采购单位搜索</span>
+                  <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/swordfish/page_web_pc/search/issued')">供应搜索</span>
+                  <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/supsearch/index.html?tab=2')">超前项目查询</span>
+                  <!-- <span class="tab-item" v-show="!isLogin && !inIframe" @click="location.replace('/jylab/entSearch/index.html')">拟在建项目查询</span> -->
                 </div>
                 <div class="search-header-content w">
                     <div class="search-header-top">

+ 38 - 8
src/web/templates/pc/supsearch.html

@@ -608,7 +608,11 @@
       searchInnerVue.attachVal_cg = buyerTelVal?buyerTelVal:''
       searchInnerVue.attachVal_zb = winnerTelVal?winnerTelVal:''
       $("#zbSeatchT [name='fileExists']").val(fileExistsTemp)
-      searchInnerVue.searchTab = loginStatusTem ? searchGroup : 1
+      if(getParam('tab') === '2') {
+        searchInnerVue.searchTab = Number(getParam('tab'))
+      } else {
+        searchInnerVue.searchTab = loginStatusTem ? searchGroup : 1
+      }
       searchInnerVue.keywordSearchType = searchModel
       if (addKeyTemp) {
         searchInnerVue.keywordTags = addKeyTemp.split(',')
@@ -724,6 +728,13 @@
         <span class="search-tab-item badge-recommend nologin-hide" :class="{'tab-active': searchTab === 2}" @click="onSearchTab(2)">超前项目</span>
         <span class="search-tab-item tab-item-ent-search" style="display: none;"  @click="location.replace('/jylab/entSearch/index.html')">企业搜索</span>
         <span class="search-tab-item tab-item-buyer-search" style="display: none;"  @click="location.replace('/jylab/purSearch/index.html')">采购单位搜索</span>
+        <span class="search-tab-item tab-item-supply-search" style="display: none;"  @click="location.replace('/swordfish/page_web_pc/search/issued')">供应搜索</span>
+        <span class="search-tab-item tab-item-recommend-search" style="display: none;" :class="{'tab-active': searchTab === 2}"  @click="location.replace('/jylab/supsearch/index.html?tab=2')">超前项目查询</span>
+        <!-- <span class="search-tab-item tab-item-nzj-search" style="display: none;"  @click="location.replace('/swordfish/page_web_pc/search/issued')">拟在建项目查询</span> -->
+        <div class="search-tab-right">
+          <span>完整版筛选,戳我>></span>
+          <span style="color: #2ABED1;cursor: pointer;">进入工作台</span>
+        </div>
       </div>
       <!--搜索-->
       <div class="searchInput clearfix" :class="{'change-search-input': showAddKeyword || keywordMult}">
@@ -1942,17 +1953,28 @@
         }
       }
     }
-    if(!loginflag){//未登录隐藏
+    if(!loginflag){ //未登录隐藏
       $('#go-customer-4').addClass('hide')
-      $('.nologin-hide').addClass('hide')
+      if(getParam('tab') === '2') {
+        searchInnerVue.searchTab = 2
+      }
+      if(!searchInnerVue.hideCQ) {
+        $('.nologin-hide').removeClass('hide')
+        $('.badge-recommend').addClass('hide')
+        $('.search-tab-item-0').addClass('hide')
+      } else {
+        $('.nologin-hide').addClass('hide')
+      }
       $('.city-list-divide').addClass('hide')
       $('#sideIcon').addClass('hide')
       try{
         searchInnerVue.$refs.areaRefs.shoWcity=false//隐藏地市
       }catch(e){
       }
-      $('.tab-item-ent-search').show()
-      $('.tab-item-buyer-search').show()
+      const searchDoms = ['.tab-item-ent-search', '.tab-item-buyer-search', '.tab-item-supply-search', '.tab-item-recommend-search', '.tab-item-nzj-search', '.search-tab-right']
+      for (let i = 0; i < searchDoms.length; i++) {
+        $(searchDoms[i]).show()
+      }
     }
 
     // 数据导出后续不再提示复选框
@@ -1984,8 +2006,10 @@
       }catch(e){
       }
       searchInnerVue.islogin=true
-      $('.tab-item-ent-search').hide()
-      $('.tab-item-buyer-search').hide()
+      const searchDoms = ['.tab-item-ent-search', '.tab-item-buyer-search', '.tab-item-supply-search', '.tab-item-recommend-search', '.tab-item-nzj-search', '.search-tab-right']
+      for (let i = 0; i < searchDoms.length; i++) {
+        $(searchDoms[i]).hide()
+      }
       /**
        * @date 2022/12/15 山川环境嵌入搜索
        */
@@ -1999,7 +2023,7 @@
         var formNode_ = $('#zbSeatchT')
         var goHref_ = location.origin + '/jylab/supsearch/index.html'
         if (getParam('resource') !== 'BI') {
-          window.location.replace('/page_workDesktop/work-bench/page?link=' + encodeURIComponent(goHref_ + '?' + formNode_.serialize()))
+          // window.location.replace('/page_workDesktop/work-bench/page?link=' + encodeURIComponent(goHref_ + '?' + formNode_.serialize()))
         }
       }
     }
@@ -3068,6 +3092,9 @@ function checkTagDisabled () {
       hideCQ: function () {
         if (this.islogin) {
           return this.searchTab == 1 || this.searchTab == 0
+        } else if(getParam('tab') === '2') {
+          // 未登录点击超前项目搜索tab
+          return false
         } else {
           return true
         }
@@ -4887,6 +4914,9 @@ function checkTagDisabled () {
       },
       // 全部、招标采购搜索公告、超前项目切换
       onSearchTab: function (item) {
+        if(item === 1) {
+          location.replace('/jylab/supsearch/index.html')
+        }
         this.searchTab = item
         // if (item !== 0) {
         //   // 招标采购公共、超前项目切换时要清除信息类型选择结果

+ 8 - 0
src/web/templates/pc/template/common/empty.html

@@ -0,0 +1,8 @@
+<div class="empty-container">
+    <div class="empty-content-position">
+        <div class="image">
+            <img src='/common-module/public/image/jy-back.png'  alt="empty">
+        </div>
+        <div class="empty-tip-text">暂无数据</div>
+    </div>
+</div>

+ 16 - 0
src/web/templates/pc/template/index/banner-message.html

@@ -0,0 +1,16 @@
+<!-- 消息提示 -->
+<div id="vue-message-index-pc" class="index-message-list-container" v-cloak>
+    <div class="list-msg" v-if="lists.length > 0">
+        <div class="no-read-count" v-if="totalNum > 0">${totalNum > 99 ? '99+' : totalNum }条未读</div>
+        <el-carousel :interval="rollingTiming" arrow="never" :autoplay="lists.length > 1" indicator-position="none">
+            <el-carousel-item class="l-msg" v-for="(tempList, index) in lists" :key="'msg_' + index">
+                <div class="words" v-for="item in tempList" :key="item.id">
+                    <img class="icon_voice" src="/images/pc/icon_voice.png"  />
+                    <h3>${typeObj[item.msg_type]}</h3>
+                    <span class="title" @click="titleGoto(item)">${item.title}</span>
+                    <p>${item.createtime}</p>
+                </div>
+            </el-carousel-item>
+        </el-carousel>
+    </div>
+</div>

+ 16 - 0
src/web/templates/pc/template/index/banner-swiper.html

@@ -0,0 +1,16 @@
+<!-- 参考jyseo/template/pc/swiper-index.html -->
+<!-- 首页所有轮播图,复用此片段。每次引用都需要给id重新赋值,让id保持唯一,并在js中注册此id -->
+<div class="banner-swiper swiper-container" id="swiper-container-1">
+  <div class="swiper-wrapper">
+    <a class="swiper-slide" target="_blank">
+      <img class="img-banner" src='https://cdn-ali2.jianyu360.com/qmxupload/2022/10/10/202210101621130104161FtjU.png' alt="">
+    </a>
+    <a class="swiper-slide" target="_blank">
+      <img class="img-banner" src='https://cdn-ali2.jianyu360.com/qmxupload/2022/10/10/202210101621130104161FtjU.png' alt="">
+    </a>
+    <a class="swiper-slide" target="_blank">
+      <img class="img-banner" src='https://cdn-ali2.jianyu360.com/qmxupload/2022/10/10/202210101621130104161FtjU.png' alt="">
+    </a>
+  </div>
+  <div class="w1200 swiper-pagination custom-dot"></div>
+</div>

+ 20 - 0
src/web/templates/pc/template/index/bidding-desc-module.html

@@ -0,0 +1,20 @@
+<!-- 招投标攻略 -->
+<section class="module-card-container bidding-desc-module">
+  <header class="module-card-header">
+    <h3 class="module-card-title">招投标攻略</h3>
+  </header>
+  <main class="module-card-content bidding-desc-module-content">
+    <ul class="service-module-content-hd bidding-desc-list">
+      <li class="bidding-desc-item" data-name="招标采购">招标采购</li>
+      <li class="bidding-desc-item" data-name="投标指南">投标指南</li>
+      <li class="bidding-desc-item" data-name="中标技巧">中标技巧</li>
+      <li class="bidding-desc-item" data-name="回答百科">回答百科</li>
+    </ul>
+    <ul class="service-module-content-bd">
+      <li class="bidding-desc-content-card-list" data-name="招标采购"></li>
+      <li class="bidding-desc-content-card-list" data-name="投标指南"></li>
+      <li class="bidding-desc-content-card-list" data-name="中标技巧"></li>
+      <li class="bidding-desc-content-card-list" data-name="回答百科"></li>
+    </ul>
+  </main> 
+</section>

+ 27 - 0
src/web/templates/pc/template/index/bidding-list-card.html

@@ -0,0 +1,27 @@
+<section class="cms-card bidding-list-card">
+  <header class="cms-card-header">
+      <h3 class="cms-card-title">招标预告</h3>
+      <div class="cms-card-header-right">
+        <a class="highlight-text pointer cms-link" href="" target="_blank">查看更多</a>
+      </div>
+  </header>
+  <main class="cms-card-content">
+    <ul class="cms-card-list clearfix">
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+    </ul>
+  </main>
+  <!-- <main class="cms-card-content cms-card-list empty">
+    {{include "/pc/template/common/empty.html" .}}
+  </main> -->
+</section>

+ 24 - 0
src/web/templates/pc/template/index/cms-card-deep.html

@@ -0,0 +1,24 @@
+<section class="cms-card header-deep-theme zb-aside-card">
+  <header class="cms-card-header">
+    <h3 class="cms-card-title">中标公告cms-card-deep</h3>
+  </header>
+  <main class="cms-card-content border-ec">
+    <ul class="cms-card-list clearfix">
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <!-- <span class="cms-card-list-item-right">asdfsafsdafsadf</span> -->
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <!-- <span class="cms-card-list-item-right">asdfsafsdafsadf</span> -->
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <!-- <span class="cms-card-list-item-right">asdfsafsdafsadf</span> -->
+      </li>
+    </ul>
+  </main>
+  <!-- <main class="cms-card-content cms-card-list empty">
+    {{include "/pc/template/common/empty.html" .}}
+  </main> -->
+</section>

+ 27 - 0
src/web/templates/pc/template/index/cms-card.html

@@ -0,0 +1,27 @@
+<section class="cms-card">
+  <header class="cms-card-header">
+    <h3 class="cms-card-title">招标预告</h3>
+    <div class="cms-card-header-right">
+      <a class="highlight-text pointer cms-link" href="" target="_blank">查看更多 ></a>
+    </div>
+  </header>
+  <main class="cms-card-content">
+    <ul class="cms-card-list clearfix">
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+    </ul>
+  </main>
+  <!-- <main class="cms-card-content cms-card-list empty">
+    {{include "/pc/template/common/empty.html" .}}
+  </main> -->
+</section>

+ 42 - 0
src/web/templates/pc/template/index/data-service-module.html

@@ -0,0 +1,42 @@
+<!-- 企业服务专区卡片 -->
+<section class="module-card-container data-service-module">
+  <header class="module-card-header">
+    <h3 class="module-card-title">数据服务专区</h3>
+  </header>
+  <main class="module-card-content service-module-content">
+    <div class="service-module-content-left">
+      <section class="service-desc-card pd-lr20">
+        <header class="service-desc-header">
+          <h3 class="title-left-line">热门采购数据</h3>
+        </header>
+        <main class="service-tags-main">
+          <ul class="service-tags-list">
+            <li class="service-tags-item">
+              <a class="cms-link" href="">DR</a>
+            </li>
+            <li class="service-tags-item">
+              <a class="cms-link" href="">物业管理</a>
+            </li>
+            <li class="service-tags-item">
+              <a class="cms-link" href="">信息系统</a>
+            </li>
+          </ul>
+        </main>
+        <header class="service-desc-footer">
+          <h3 class="title-left-line">数据服务</h3>
+        </header>
+      </section>
+      <ul class="service-button-list">
+        <li class="service-desc-button pointer s-plain">数据导出</li>
+        <li class="service-desc-button pointer s-confirm">定制服务</li>
+        <li class="service-desc-button pointer s-plain">对接服务</li>
+      </ul>
+    </div>
+    <div class="service-module-content-right">
+      <section class="hot-industry-year-chart">
+        <h3 class="title-left-line">热门行业 / 地区年度招标趋势</h3>
+        <main class="hot-industry-chart-content"></main>
+      </section>
+    </div>
+  </main> 
+</section>

+ 14 - 0
src/web/templates/pc/template/index/ent-list-module.html

@@ -0,0 +1,14 @@
+<!-- 机构专区卡片 -->
+<section class="module-card-container ent-list-module">
+  <header class="module-card-header">
+    <h3 class="module-card-title">机构专区</h3>
+  </header>
+  <main class="module-card-content ent-list-module-content">
+    <div class="ent-list-module-content-left">
+      {{include "/pc/template/index/cms-card-deep.html"}}
+    </div>
+    <div class="ent-list-module-content-right">
+      {{include "/pc/template/index/hot-buyer-card.html"}}
+    </div>
+  </main> 
+</section>

+ 31 - 0
src/web/templates/pc/template/index/ent-service-module.html

@@ -0,0 +1,31 @@
+<!-- 企业服务专区卡片 -->
+<section class="module-card-container ent-service-module">
+  <header class="module-card-header">
+    <h3 class="module-card-title">企业服务专区</h3>
+  </header>
+  <main class="module-card-content service-module-content">
+    <div class="service-module-content-left">
+      <section class="service-desc-card">
+        <header class="service-desc-header">
+          <h3 class="title-left-line">数字化营销</h3>
+        </header>
+        <main class="service-desc-main">
+          <p class="service-desc-text">实现用户在平台上完成资讯、销售线索、销售就会、客户的全线跟踪处理。</p>
+          <ul class="service-desc-list">
+            <li class="service-desc-button s-main">专属情报库</li>
+            <li class="service-desc-button s-main">客户管理</li>
+            <li class="service-desc-button s-main">数字看板</li>
+          </ul>
+        </main>
+        <footer class="service-desc-footer">
+          <button class="service-desc-button s-confirm">申请开通</button>
+        </footer>
+      </section>
+    </div>
+    <div class="service-module-content-right">
+      <div class="service-flow-chart">
+        <img src="/images/index/ent-service-flow-chart@2x.png" alt="">
+      </div>
+    </div>
+  </main> 
+</section>

+ 63 - 0
src/web/templates/pc/template/index/hot-buyer-card.html

@@ -0,0 +1,63 @@
+<section class="hot-buyer-card">
+  <header class="hot-buyer-card-header">
+    <h3 class="hot-buyer-card-title title-left-line">热门采购单位</h3>
+  </header>
+  <main class="hot-buyer-card-content">
+    <ul class="hot-buyer-list">
+      <li class="hot-buyer-list-item buyer-list-cell">
+        <div class="buyer-list-cell-hd">
+          <div class="list-info-item-head head-blue">北京剑鱼信息技术</div>
+        </div>
+        <div class="buyer-list-cell-bd">
+          <div class="buyer-list-cell-title">
+            <a class="cms-link" title="" href="" target="_blank">北京剑鱼信息技术</a>
+          </div>
+          <div class="buyer-list-cell-info">
+            <p class="buyer-list-cell-info-item">
+              <span class="buyer-list-cell-info-item-label">所在地:</span>
+              <span class="buyer-list-cell-info-item-value">河南,郑州</span>
+            </p>
+            <p class="buyer-list-cell-info-item">
+              <span class="buyer-list-cell-info-item-label">采购单位类型:</span>
+              <span class="buyer-list-cell-info-item-value">市政</span>
+            </p>
+          </div>
+        </div>
+        <div class="buyer-list-cell-ft">
+          <p class="buyer-list-cell-num-container">
+            <span class="buyer-list-cell-num-container">
+              采购标讯:<i class="highlight-text">3552</i> 条
+            </span>
+          </p>
+        </div>
+      </li>
+      <li class="hot-buyer-list-item buyer-list-cell">
+        <div class="buyer-list-cell-hd">
+          <div class="list-info-item-head head-blue">北京剑鱼信息技术</div>
+        </div>
+        <div class="buyer-list-cell-bd">
+          <div class="buyer-list-cell-title">
+            <a class="cms-link" title="" href="" target="_blank">北京剑鱼信息技术</a>
+          </div>
+          <div class="buyer-list-cell-info">
+            <p class="buyer-list-cell-info-item">
+              <span class="buyer-list-cell-info-item-label">所在地:</span>
+              <span class="buyer-list-cell-info-item-value">河南,郑州</span>
+            </p>
+            <p class="buyer-list-cell-info-item">
+              <span class="buyer-list-cell-info-item-label">采购单位类型:</span>
+              <span class="buyer-list-cell-info-item-value">市政</span>
+            </p>
+          </div>
+        </div>
+        <div class="buyer-list-cell-ft">
+          <p class="buyer-list-cell-num-container">
+            <span class="buyer-list-cell-num-container">
+              采购标讯:<i class="highlight-text">3552</i> 条
+            </span>
+          </p>
+        </div>
+      </li>
+    </ul>
+  </main>
+</section>

+ 45 - 0
src/web/templates/pc/template/index/hot-industry-card.html

@@ -0,0 +1,45 @@
+<section class="cms-card header-deep-theme hot-industry">
+  <header class="cms-card-header">
+    <h3 class="cms-card-title">热门行业</h3>
+  </header>
+  <main class="cms-card-content border-ec industry-aside-list">
+    <div class="industry-aside-item">
+      <div class="industry-aside-item-name">
+        <a class="cms-link" title="" href="" target="_blank">fasfsafsadf</a>
+      </div>
+      <ul class="industry-aside-item-content">
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link highlight-text" title="" href="" target="_blank">更多 ></a>
+        </li>
+      </ul>
+    </div>
+    <div class="industry-aside-item">
+      <div class="industry-aside-item-name">
+        <a class="cms-link" title="" href="" target="_blank">fasfsafsadf</a>
+      </div>
+      <ul class="industry-aside-item-content">
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link" title="" href="" target="_blank">fassdds</a>
+        </li>
+        <li>
+          <a class="cms-link highlight-text" title="" href="" target="_blank">更多 ></a>
+        </li>
+      </ul>
+    </div>
+  </main>
+</section>

+ 12 - 0
src/web/templates/pc/template/index/module-card-list-container.html

@@ -0,0 +1,12 @@
+<!-- 招标动态/项目专区卡片 -->
+<section class="module-card-container">
+  <header class="module-card-header">
+    <h3 class="module-card-title">招标预告</h3>
+  </header>
+  <main class="module-card-content">
+    {{include "/pc/template/index/cms-card.html"}}
+    {{include "/pc/template/index/cms-card.html"}}
+    {{include "/pc/template/index/cms-card.html"}}
+    {{include "/pc/template/index/cms-card.html"}}
+  </main> 
+</section>

+ 24 - 0
src/web/templates/pc/template/index/notice-card.html

@@ -0,0 +1,24 @@
+<section class="notice-card">
+  <header class="notice-card-header">
+    <h3 class="notice-card-title notice-header-bg">剑鱼会员中标喜报</h3>
+  </header>
+  <main class="notice-card-content">
+    <ul class="notice-card-list clearfix">
+      <li class="notice-card-list-item">
+        <i class="notice-item-prefix-icon j-icon base-icon icon-img-sahua"></i>
+        <p class="notice-card-list-item-content ellipsis">fasfasdfasdfsadfasf</p>
+      </li>
+      <li class="notice-card-list-item">
+        <i class="notice-item-prefix-icon j-icon base-icon icon-img-sahua"></i>
+        <p class="notice-card-list-item-content ellipsis">fasfasdfasdfsadfasf</p>
+      </li>
+      <li class="notice-card-list-item">
+        <i class="notice-item-prefix-icon j-icon base-icon icon-img-sahua"></i>
+        <p class="notice-card-list-item-content ellipsis">fasfasdfasdfsadfasf</p>
+      </li>
+    </ul>
+  </main>
+  <!-- <main class="notice-card-content notice-card-list empty">
+    {{include "/pc/template/common/empty.html" .}}
+  </main> -->
+</section>

+ 70 - 0
src/web/templates/pc/template/index/search-module.html

@@ -0,0 +1,70 @@
+<!-- 头部搜索模块 -->
+<section class="index-search-module">
+  <div class="header-top-left">
+    <h2 class="logo-container">
+      <a class="logo-link" href="/">
+        <img class="logo-img" src="/images/index/logo_main.png" alt="">
+      </a>
+    </h2>
+    <p class="logo-text">全国招标信息免费看,不遮挡</p>
+  </div>
+  <div class="header-top-center">
+    <div class="header-top-center-hd index-search-wrapper">
+      <ul class="search-type-list">
+        <li class="search-type-item active">招标采购搜索</li>
+        <li class="search-type-item">企业搜索</li>
+        <li class="search-type-item">采购单位搜索</li>
+        <li class="search-type-item">代理机构搜索</li>
+        <li class="search-type-item">供应搜索</li>
+      </ul>
+      <div class="index-search-container">
+        <div class="index-search-input-container">
+          <input type="text" class="search-input" name="keywords" autocomplete="off" placeholder="请输入您要查询的招标信息,多个关键词用空格隔开">
+        </div>
+        <input type="button" class="search-button" value="剑鱼一下">
+      </div>
+    </div>
+    <div class="header-top-center-bd hot-key-container">
+      <div class="hot-key-title">
+        <span class="hot-fire-icon">
+          <img src="/images/index/icon-img-huo@2x.png" alt="">
+        </span>
+        <span class="hot-key-title-text">热门搜索</span>
+      </div>
+      <i class="hot-divider"></i>
+      <ul class="hot-key-list">
+        <li class="hot-key-item">
+          <a class="cms-link" href="">医院</a>
+        </li>
+        <li class="hot-key-item">
+          <a class="cms-link" href="">一卡通</a>
+        </li>
+        <li class="hot-key-item">
+          <a class="cms-link" href="">台式机</a>
+        </li>
+        <li class="hot-key-item">
+          <a class="cms-link" href="">多媒体</a>
+        </li>
+        <li class="hot-key-item">
+          <a class="cms-link" href="">综合布线综合布线</a>
+        </li>
+      </ul>
+    </div>
+  </div>
+  <div class="header-top-right">
+    <div class="flex-row-center">
+      <button class="j-s-button plain mr12">
+        <i class="j-icon base-icon icon-img-huangguan"></i>
+        剑鱼官网
+      </button>
+      <a class="cms-link mr12" href="">企业愿景</a>
+      <a class="cms-link" href="">品牌介绍</a>
+    </div>
+    <div class="flex-row-center mt12">
+      <button class="j-s-button plain">
+        <i class="j-icon base-icon icon-img-zixun"></i>
+        商情门户
+      </button>
+    </div>
+  </div>
+</section>

+ 4 - 0
src/web/templates/pc/template/index/user-info-card.html

@@ -0,0 +1,4 @@
+<!-- 用户信息卡片 -->
+<section class="user-info-card">
+  user-info-card
+</section>

+ 27 - 0
src/web/templates/pc/template/index/zb-aside-card.html

@@ -0,0 +1,27 @@
+<section class="cms-card header-deep-theme zb-aside-card">
+  <header class="cms-card-header">
+    <h3 class="cms-card-title">中标公告</h3>
+    <div class="cms-card-header-right">
+      <a class="pointer cms-link" href="" target="_blank">查看更多 ></a>
+    </div>
+  </header>
+  <main class="cms-card-content border-ec">
+    <ul class="cms-card-list clearfix">
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+      <li class="cms-card-list-item">
+        <a class="cms-card-list-item-left cms-link ellipsis" target="_blank" title="" href="" target="_blank">fasfasdfasdfsadfasf</a>
+        <span class="cms-card-list-item-right">asdfsafsdafsadf</span>
+      </li>
+    </ul>
+  </main>
+  <!-- <main class="cms-card-content cms-card-list empty">
+    {{include "/pc/template/common/empty.html" .}}
+  </main> -->
+</section>

+ 18 - 0
src/web/templates/pc/template/index/zb-nav-module.html

@@ -0,0 +1,18 @@
+<!-- 顶部招标类型导航 -->
+<section class="zb-module-nav">
+  <div class="zb-module-nav-hd-bg"></div>
+  <ul class="search-type-section-list">
+    {{range $v:= $global.topMenu}}
+      <li class="search-type-section">
+        <p class="search-type-name">{{$v.title}}</p>
+        <ul class="search-type-children">
+          {{range $item:= $v.child}}
+            <li class="search-type-child">
+              <a class="cms-link" href="{{$item.href}}">{{$item.name}}</a>
+            </li>
+          {{end}}
+        </ul>
+      </li>
+    {{end}}
+  </ul>
+</section>