فهرست منبع

Merge branch 'hotfix/v4.9.43.7' of https://jygit.jydev.jianyu360.cn/qmx/jy into hotfix/v4.9.43.7

renjiaojiao 9 ماه پیش
والد
کامیت
9ac1960a43

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

@@ -856,6 +856,7 @@ func CreateSession(q map[string]interface{}, sess *httpsession.Session, typ stri
 		"s_nickname":  s_nickname,
 		"s_nickname":  s_nickname,
 		"s_headimage": sessionVal["s_avatar"],
 		"s_headimage": sessionVal["s_avatar"],
 		"phone":       sessionVal["phone"],
 		"phone":       sessionVal["phone"],
+		"registedate": sessionVal["registedate"],
 	}
 	}
 	if openid, _ := (*person)["s_m_openid"].(string); openid != "" {
 	if openid, _ := (*person)["s_m_openid"].(string); openid != "" {
 		infoData["openid"] = se.EncodeString(openid)
 		infoData["openid"] = se.EncodeString(openid)

+ 1 - 0
src/jfw/front/login.go

@@ -211,6 +211,7 @@ func (l *Login) Login() error {
 					}
 					}
 					_id := mongodb.Save("user", data)
 					_id := mongodb.Save("user", data)
 					if _id != "" {
 					if _id != "" {
+						redis.Del("limitation", fmt.Sprintf("firstVisitTagByWX_%s", l.Session().Id()))
 						//用户日志保存
 						//用户日志保存
 						jy.SaveUserLog(public.Mgo_Log, _id, phone, "phone", "pc", source, "", gconv.String(l.GetSession("RSource")), gconv.String(sessVal["RSource"]), qutil.GetIp(l.Request), l.UserAgent(), "jybx", "")
 						jy.SaveUserLog(public.Mgo_Log, _id, phone, "phone", "pc", source, "", gconv.String(l.GetSession("RSource")), gconv.String(sessVal["RSource"]), qutil.GetIp(l.Request), l.UserAgent(), "jybx", "")
 						jy.ClearPhoneIdentSession(l.Session())
 						jy.ClearPhoneIdentSession(l.Session())

+ 15 - 0
src/jfw/front/websocket.go

@@ -150,6 +150,21 @@ func GetWsByCode(param []string) bool {
 				//jyutil.SetCookieValueForAutoLogin(wss.Conn.W, baseUserId)  不可用
 				//jyutil.SetCookieValueForAutoLogin(wss.Conn.W, baseUserId)  不可用
 				//您可以将自己的webSocket消息发送回客户端,告知它设置cookie,然后在客户端中侦听该消息,当它收到该消息时,它可以在浏览器中设置cookie.
 				//您可以将自己的webSocket消息发送回客户端,告知它设置cookie,然后在客户端中侦听该消息,当它收到该消息时,它可以在浏览器中设置cookie.
 			}
 			}
+			// 新用户注册 记录来源
+			sourceLabel := redis.GetStr("limitation", fmt.Sprintf("firstVisitTagByWX_%s", session.Id()))
+			if sourceLabel != "" && openid != "" {
+				//来源不为空,且 注册时间 在5分钟内
+				registeDate := qutil.Int64All(infoData["registedate"])
+				if time.Now().Unix()-registeDate < 300 {
+					if ok := public.MQFW.Update("user", map[string]interface{}{
+						"s_m_openid": openid,
+					}, &map[string]interface{}{"$set": &map[string]interface{}{"s_rsource": sourceLabel}}, false, false); !ok {
+						log.Println("用户更新来源异常:", openid, "-来源:", sourceLabel)
+					} else {
+						redis.Del("limitation", fmt.Sprintf("firstVisitTagByWX_%s", session.Id()))
+					}
+				}
+			}
 		}
 		}
 		if wss.Conn == nil {
 		if wss.Conn == nil {
 			return true
 			return true

+ 1 - 1
src/jfw/modules/publicapply/src/detail/dao/baseInfo.go

@@ -110,7 +110,7 @@ func (b *BaseInfo) BidBaseInfo() (bi *entity.BidInfo, err error) {
 		} else if isVip && !isOldVip {
 		} else if isVip && !isOldVip {
 			bi.CanRead = true
 			bi.CanRead = true
 			return "new_vip_pay" //新版超级订阅不能看 采购意向 和 拟建
 			return "new_vip_pay" //新版超级订阅不能看 采购意向 和 拟建
-		} else if SeeDetailLimit(nil, b.UserInfo.UserId, b.Id) {
+		} else if SeeDetailLimit(nil, b.UserInfo, b.Id) {
 			bi.CanRead = true
 			bi.CanRead = true
 			return "saleLeads_free" //未留资 三篇非采购意向信息;留资后同pay
 			return "saleLeads_free" //未留资 三篇非采购意向信息;留资后同pay
 		} else {
 		} else {

+ 40 - 1
src/jfw/modules/publicapply/src/detail/dao/bidding.go

@@ -22,6 +22,7 @@ import (
 	"regexp"
 	"regexp"
 	"strconv"
 	"strconv"
 	"strings"
 	"strings"
+	"sync"
 	"time"
 	"time"
 )
 )
 
 
@@ -157,14 +158,50 @@ func CNode(userId string) bool {
 	return false
 	return false
 }
 }
 
 
+var (
+	limitLogsLock  = sync.Mutex{}
+	limitLogsChan  = make(chan struct{}, 4)
+	limitLogsCount = 30
+	limitLogsData  []map[string]interface{}
+)
+
+// 免费未留资用户查看公告超过免费次数限制记录
+func SeeDetailLimitLogs(sessUser util.SessUserInfo, sid string) {
+	limitLogsChan <- struct{}{}
+	defer func() {
+		<-limitLogsChan
+	}()
+	//保存日志
+	limitLogsLock.Lock()
+	limitLogsData = append(limitLogsData, map[string]interface{}{
+		"mgoUserId":    sessUser.MgoUserId,
+		"phone":        sessUser.Phone,
+		"positionId":   sessUser.PositionId,
+		"positionType": sessUser.PositionType,
+		"openId":       sessUser.OpenId,
+		"biddingId":    sid,
+		"createDate":   time.Now().Unix(),
+	})
+	if len(limitLogsData) > limitLogsCount {
+		tmp := limitLogsData
+		limitLogsData = make([]map[string]interface{}, 0)
+		sb := db.Mgo_Log.SaveBulk("detail_limit_logs", tmp...)
+		if !sb {
+			log.Println("免费用户 访问 详情页 超限制日志存储 异常")
+		}
+	}
+	limitLogsLock.Unlock()
+}
+
 // 查看公告详情次数限制
 // 查看公告详情次数限制
-func SeeDetailLimit(obj map[string]interface{}, userId, sid string) bool {
+func SeeDetailLimit(obj map[string]interface{}, sessUser util.SessUserInfo, sid string) bool {
 	if obj != nil {
 	if obj != nil {
 		subTypeStr, _ := obj["subtype"].(string)
 		subTypeStr, _ := obj["subtype"].(string)
 		if strings.Contains(subTypeStr, "拟建") || strings.Contains(subTypeStr, "采购意向") {
 		if strings.Contains(subTypeStr, "拟建") || strings.Contains(subTypeStr, "采购意向") {
 			return false
 			return false
 		}
 		}
 	} else {
 	} else {
+		userId := sessUser.UserId
 		watchKey := fmt.Sprintf("article_count_%d_%s_%d_%s", time.Now().Year(), time.Now().Month(), time.Now().Day(), userId)
 		watchKey := fmt.Sprintf("article_count_%d_%s_%d_%s", time.Now().Year(), time.Now().Month(), time.Now().Day(), userId)
 		//检验是否留资
 		//检验是否留资
 		if CNode(userId) {
 		if CNode(userId) {
@@ -185,6 +222,8 @@ func SeeDetailLimit(obj map[string]interface{}, userId, sid string) bool {
 							return true
 							return true
 						}
 						}
 					}
 					}
+					//超过限制次数 记录
+					go SeeDetailLimitLogs(sessUser, sid)
 					return false
 					return false
 				}
 				}
 			}
 			}

+ 141 - 0
src/web/staticres/css/dataSmt/dataMart.css

@@ -3,6 +3,113 @@
   width: 100%;
   width: 100%;
 }
 }
 
 
+.in-iframe .dataMart {
+  padding: 24px;
+}
+.in-iframe .dataMart .middle {
+  margin-top: 16px;
+  background: #fff;
+  border-radius: 8px;
+}
+
+.in-iframe .dataMart .list_container {
+  padding: 24px 32px 80px;
+  background: #fff;
+}
+.in-iframe .dataMart .list_container .list_content {
+  width: auto;
+}
+.in-iframe .dataMart .list_container .cornerMark {
+  border-radius: 8px 0px 16px 0px;
+}
+.in-iframe .dataMart .list_container .list .item {
+  border: 1px solid #ECECEC;
+  border-radius: 8px;
+}
+.in-iframe .dataMart .middle .tabs_box {
+  position: relative;
+  padding: 0 32px;
+  justify-content: flex-start;
+  height: 53px;
+  width: auto;
+  line-height: 53px;
+  border-bottom: 1px solid #ECECEC;
+}
+.in-iframe .dataMart .middle .tabs_box .keys_desc {
+  position: absolute;
+  right: 32px;
+}
+.in-iframe .dataMart .middle .tabs_box>div {
+  margin-left: 16px;
+  width: 904px;
+  height: 100%;
+  justify-content: normal;
+}
+.in-iframe .dataMart .middle .tabs_box>div a {
+  line-height: 53px;
+  padding: 0;
+  margin: 0 16px;
+}
+.in-iframe .dataMart .middle .tabs_box>div .active {
+  border-bottom: 2px solid #2ABED1;
+  color: #2ABED1;
+  border-radius: initial;
+  background-color: unset;
+}
+.header-in-frame {
+  position: relative;
+  padding: 24px 0 24px 32px;
+  height: 130px;
+  background: url(/images/dataSmt/in-frame-bg.png) no-repeat;
+  background-size: 100% 100%;
+}
+
+.dataMart .header.header-in-frame .header-in-frame-right {
+  position: absolute;
+  right: 0;
+  top: 0;
+  width: 620px;
+  height: 130px;
+  background: url(/images/dataSmt/in-frame-bg-right.png) no-repeat;
+  background-size: 100% 100%;
+  pointer-events: none;
+}
+
+
+.header-in-frame .jy-dataMart-search {
+  position: unset;
+  width: 1200px;
+  transform: none;
+  background: transparent;
+  z-index: 1;
+}
+.header-in-frame .jy-dataMart-search .ser {
+  width: 692px;
+  height: 42px;
+  border: 2px solid #2ABED1;
+}
+
+.header-in-frame .jy-dataMart-search .btn {
+  width: 128px;
+  height: 42px;
+  background: #2CB7CA;
+  font-size: 18px;
+}
+
+.header-in-frame .jy-dataMart-search .search {
+  margin: unset;
+}
+
+.dataMart .header-in-frame  .hotkeywords {
+  position: relative;
+  margin-top: 0;
+  margin: unset;
+  height: 40px;
+}
+.dataMart .header-in-frame  .hotkeywords .content {
+  line-height: 39px;
+}
+
 .dataMart .header img {
 .dataMart .header img {
   width: 100%;
   width: 100%;
 }
 }
@@ -484,4 +591,38 @@ color: #1D1D1D;
   .dataMart .dataMart_dialog .content .table_box{
   .dataMart .dataMart_dialog .content .table_box{
     height: 400px;
     height: 400px;
   }
   }
+}
+
+@media screen and (max-width: 1248px) {
+  .dataMart {
+    overflow: hidden;
+  }
+  .dataMart .tabs_box {
+    width: 1012px;
+  }
+  .in-iframe .dataMart .middle .tabs_box>div {
+    margin-left: 0;
+    width: auto;
+  }
+  .dataMart .tabs_box div a {
+    padding: 8px 16px;
+  }
+  .dataMart .list_container {
+    width: auto;
+    margin: 20px auto 0;
+  }
+  .dataMart .list_container .list_content {
+    width: auto;
+  }
+  .dataMart .list_container .list_content .list .item {
+    margin-right: 20px;
+    margin-bottom: 20px;
+    width: 296px;
+  }
+  .dataMart .list_container .list_content .list .item:nth-child(3n) {
+    margin-right: 0;
+  }
+  .dataMart .dataMart_pagination {
+    transform: translateX(-12px);
+  }
 }
 }

+ 22 - 1
src/web/staticres/frontRouter/pc/customExport/css/index.css

@@ -512,7 +512,28 @@ h2.title{
   left: 200%;
   left: 200%;
 }
 }
 
 
-
+@media screen and (max-width: 1460px) {
+  .w1200 {
+    width: 1012px;
+  }
+  .custom-report-box-b .content .con-row {
+    width: 235px;
+    height: 240px;
+  }
+  .custom-process-box .con-row {
+    padding: 0;
+    
+  }
+  .custom-process-box .con-row:nth-of-type(4) {
+    padding: 0;
+  }
+  .industry-solution-box .content {
+    padding-left: 24px;
+  }
+  .custom-process-box .dot-line {
+    left: 140px;
+  }
+}
 
 
 
 
 
 

+ 7 - 0
src/web/staticres/frontRouter/pc/my_data_packet/css/index-pc.css

@@ -314,4 +314,11 @@
 
 
 .exports .el-table::before {
 .exports .el-table::before {
     height: 0;
     height: 0;
+}
+
+/* 媒体查询 */
+@media screen and (max-width: 1460px) {
+  .data-box {
+    width: 1012px;
+  }
 }
 }

+ 1 - 1
src/web/staticres/frontRouter/pc/my_data_packet/js/index-pc.js

@@ -41,7 +41,7 @@ var vm = new Vue({
 		}
 		}
       },
       },
       goBuyPage () {
       goBuyPage () {
-        location.href = '/front/dataPack/createOrder'
+        window.open('/front/dataPack/createOrder', '_blank')
       },
       },
       tabClick() {
       tabClick() {
         this.setUrlQuery()
         this.setUrlQuery()

+ 4 - 2
src/web/staticres/frontRouter/pc/seeBuyerHistory/js/index-pc.js

@@ -94,7 +94,8 @@ var vm = new Vue({
     },
     },
     goHandle (item) {
     goHandle (item) {
       if (item == '充值画像包') {
       if (item == '充值画像包') {
-        location.href = '/swordfish/page_big_pc/free/filePack/buy?type=1'
+        // location.href = '/swordfish/page_big_pc/free/filePack/buy?type=1'
+        window.open('/swordfish/page_big_pc/free/filePack/buy?type=1', '_blank')
       } else if (item == '前往升级') {
       } else if (item == '前往升级') {
         window.open('/swordfish/page_big_pc/free/svip/buy?type=upgrade')
         window.open('/swordfish/page_big_pc/free/svip/buy?type=upgrade')
         this.tipDialog = false
         this.tipDialog = false
@@ -106,7 +107,8 @@ var vm = new Vue({
     tipDialogShow () {
     tipDialogShow () {
       const usage =  this.points
       const usage =  this.points
       if(usage.provin === -1 || !this.showUpdate) {
       if(usage.provin === -1 || !this.showUpdate) {
-        location.href = '/swordfish/page_big_pc/free/filePack/buy?type=1'
+        window.open('/swordfish/page_big_pc/free/filePack/buy?type=1', '_blank')
+        // location.href = '/swordfish/page_big_pc/free/filePack/buy?type=1'
       } else {
       } else {
         this.tipDialog = true
         this.tipDialog = true
       }
       }

BIN
src/web/staticres/images/dataSmt/in-frame-bg-right.png


BIN
src/web/staticres/images/dataSmt/in-frame-bg.png


+ 1 - 1
src/web/templates/dataMarket/customExport/index.html

@@ -224,8 +224,8 @@
                   <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/customExport/image/solution-logo11.png?v={{Msg "seo" "version"}}'>
                   <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/customExport/image/solution-logo11.png?v={{Msg "seo" "version"}}'>
                   <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/customExport/image/solution-logo12.png?v={{Msg "seo" "version"}}'>
                   <img src='{{Msg "seo" "cdn"}}/frontRouter/pc/customExport/image/solution-logo12.png?v={{Msg "seo" "version"}}'>
                 </div>
                 </div>
+                <div class="data-demo-btn btn-light"  onClick="needSubmitHandle('pc_data_custom_export')">获取数据样例</div>
               </div>
               </div>
-              <div class="data-demo-btn btn-light"  onClick="needSubmitHandle('pc_data_custom_export')">获取数据样例</div>
             </div>
             </div>
           </div>
           </div>
           <div class="swiper-slide swiper5 bg-cover">
           <div class="swiper-slide swiper5 bg-cover">

+ 8 - 0
src/web/templates/frontRouter/pc/docs/sess/index.html

@@ -69,6 +69,14 @@
             margin: 0 auto;
             margin: 0 auto;
             min-width: 1200px;
             min-width: 1200px;
         }
         }
+       .in-iframe .w1200 {
+          width: auto!important;
+          min-width: auto!important;
+       }
+       .in-iframe.page--docs--index .page-container {
+          background-color: rgb(242, 242, 244)!important;
+          padding: 24px!important;
+       }
     </style>
     </style>
 </head>
 </head>
 <body class="page--docs--index">
 <body class="page--docs--index">

+ 14 - 2
src/web/templates/frontRouter/pc/seeBuyerHistory/sess/index.html

@@ -130,12 +130,24 @@
     .custom-dialog .el-dialog__body{
     .custom-dialog .el-dialog__body{
       padding: 20px 32px 22px;
       padding: 20px 32px 22px;
     }
     }
+    /* 适配工作台 */
+    .in-iframe .see-container .see-header.weighting_{
+      margin: 0px auto 24px auto;
+    }
+    .in-iframe .see-container .see-header.w1080{
+      width: auto;
+    }
+    .in-iframe  .see-content.weighting_{
+      background-color: #fff;
+      border-radius: 8px;
+      width: auto;
+    }
 </style>
 </style>
 <body>
 <body>
   {{include "/common/pchead.html"}}
   {{include "/common/pchead.html"}}
 
 
   <section class="see-container" v-cloak>
   <section class="see-container" v-cloak>
-    <div class="see-header flex">
+    <div class="see-header flex weighting_">
       <div class="w1080">
       <div class="w1080">
         <h3 class="tab-title">采购单位画像记录</h3>
         <h3 class="tab-title">采购单位画像记录</h3>
         <div class="show-total-info-group">
         <div class="show-total-info-group">
@@ -160,7 +172,7 @@
         <i class="el-icon-arrow-down r-icons" ></i>
         <i class="el-icon-arrow-down r-icons" ></i>
       </div>
       </div>
     </div>
     </div>
-    <div class="see-content w1080" v-show="seeList.list.length !== 0 && empty">
+    <div class="see-content w1080 weighting_" v-show="seeList.list.length !== 0 && empty">
       <div class="lists flex" v-for="item in seeList.list" :key="item._id">
       <div class="lists flex" v-for="item in seeList.list" :key="item._id">
         <div class="r-conts flex">
         <div class="r-conts flex">
           <h3 class="flex" @click="detailed(item.name)">{item.name}<span v-show="item.status >= 0"
           <h3 class="flex" @click="detailed(item.name)">{item.name}<span v-show="item.status >= 0"

+ 27 - 4
src/web/templates/frontRouter/pc/seeHistory/sess/index.html

@@ -19,12 +19,33 @@
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/ele-reset.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/ele-reset.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/selector.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/css/selector/selector.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/frontRouter/pc/seeHistory/css/index-pc.css?v={{Msg "seo" "version"}}'>
         <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/frontRouter/pc/seeHistory/css/index-pc.css?v={{Msg "seo" "version"}}'>
+        <style>
+            /* 适配工作台内 */
+            .in-iframe .see-container.weighting_{
+                padding: 26px 24px;
+
+            }
+            .in-iframe .list_box.weighting_{
+                background-color: #fff;
+                padding-top: 1px;
+                padding-bottom: 1px;
+                border-radius: 8px;
+
+            }
+            .in-iframe .see-container .see-header.weighting_ {
+                margin: 0px auto 24px auto;
+            }
+            .in-iframe .no-data.weighting_{
+                margin-bottom: 100px;       
+            }
+
+        </style>
 	</head>
 	</head>
 
 
 	<body>
 	<body>
 	{{include "/common/pchead.html"}}
 	{{include "/common/pchead.html"}}
-	<section class="see-container" v-cloak >
-        <div class="see-header flex w">
+	<section class="see-container weighting_" v-cloak >
+        <div class="see-header flex w weighting_">
             <div class="l-tabs flex">
             <div class="l-tabs flex">
                 <h3 class="tab-title">企业画像记录</h3>
                 <h3 class="tab-title">企业画像记录</h3>
                 <div class="tips">
                 <div class="tips">
@@ -46,6 +67,7 @@
                 <i class="el-icon-arrow-down r-icons" @click="dateHandler"></i>
                 <i class="el-icon-arrow-down r-icons" @click="dateHandler"></i>
             </div>
             </div>
         </div>
         </div>
+        <div class="list_box weighting_">
         <div class="see-content w" v-show="seeList.list.length !== 0 && empty">
         <div class="see-content w" v-show="seeList.list.length !== 0 && empty">
             <div class="lists flex" v-for="item in seeList.list" :key="item._id">
             <div class="lists flex" v-for="item in seeList.list" :key="item._id">
                 <div class="words-img" :style="{'background-color': item.color}" @click="detailed(item._id)">
                 <div class="words-img" :style="{'background-color': item.color}" @click="detailed(item._id)">
@@ -71,8 +93,9 @@
                 ></el-pagination>
                 ></el-pagination>
             </div>
             </div>
         </div>
         </div>
-        <div class="no-data" v-if="working"><el-image src="/images/working.gif"></el-image><div class="tip-text"><p>剑鱼标讯正在努力工作中...</p></div></div>
-        <div class="no-data" v-if="seeList.list == 0 && empty"><el-image src="/images/pc_12.png"></el-image><div class="tip-text"><p>暂无数据</p></div></div>
+        <div class="no-data weighting_" v-if="working"><el-image src="/images/working.gif"></el-image><div class="tip-text"><p>剑鱼标讯正在努力工作中...</p></div></div>
+        <div class="no-data weighting_" v-if="seeList.list == 0 && empty"><el-image src="/images/pc_12.png"></el-image><div class="tip-text"><p>暂无数据</p></div></div>
+    </div>
     </section>
     </section>
 
 
     {{include "/common/pcbottom.html"}}
     {{include "/common/pcbottom.html"}}

+ 3 - 0
src/web/templates/frontRouter/pc/xspc/sess/index.html

@@ -56,6 +56,9 @@
             margin: 0 auto;
             margin: 0 auto;
             min-width: 1200px;
             min-width: 1200px;
         }
         }
+        .page--jyxspc--index.in-iframe .page-container {
+            padding-top: 0;
+        }
     </style>
     </style>
 </head>
 </head>
 <body class="page--jyxspc--index">
 <body class="page--jyxspc--index">

+ 38 - 5
src/web/templates/pc/dataSmt/list.html

@@ -22,11 +22,11 @@
   <style>
   <style>
   </style>
   </style>
 </head>
 </head>
-<body>
+<body class="in-iframe" style="background-color: transparent;">
 {{include "/common/pchead.html"}}
 {{include "/common/pchead.html"}}
 
 
 <div class="dataMart">
 <div class="dataMart">
-  <header class="header">
+  <header class="header no-in-frame" style="display: none;">
     <img src="{{Msg "seo" "cdn"}}/images/dataSmt/banner.jpg?v={{Msg "seo" "version"}}" alt="数据超市,提供海量热门行业数据,专业安全合规,成品数据一键下载。">
     <img src="{{Msg "seo" "cdn"}}/images/dataSmt/banner.jpg?v={{Msg "seo" "version"}}" alt="数据超市,提供海量热门行业数据,专业安全合规,成品数据一键下载。">
     <!-- 搜索 -->
     <!-- 搜索 -->
     <div class="jy-dataMart-search">
     <div class="jy-dataMart-search">
@@ -39,9 +39,33 @@
     </div>
     </div>
     <!-- 搜索结束 -->
     <!-- 搜索结束 -->
   </header>
   </header>
+  <header class="header header-in-frame" style="display: none;">
+    <div class="header-in-frame-right"></div>
+    <!-- 搜索 -->
+    <div class="jy-dataMart-search">
+      <div class="search">
+        <form method="get" action="/datasmt/{{.T.dataType}}_1" class="form-search" id="dataMartForm"  onsubmit="return false;">
+          <input class="ser" onkeydown="onkeydowndataMart()" autocomplete="off"  type="text" name="searchValue" placeholder="请输入业务范围,如:物业管理" value="{{.T.searchValue}}"/>
+          <button class="btn" onclick="dataMartSearch()">搜 索</button>
+        </form>
+      </div>
+    </div>
+    <!-- 搜索结束 -->
+    {{$dataType := .T.dataType}}
+    <!-- 热搜词 -->
+    <section class="hotkeywords">
+      <p><img src="{{Msg "seo" "cdn"}}/images/dataSmt/hot_icon.png?v={{Msg "seo" "version"}}" alt="热搜icon">热搜:</p>
+      <div class="content">
+        {{range $k,$v := .T.hotKeys}}
+        <a href="/datasmt/{{$dataType}}_1?searchValue={{$v}}">{{$v}}</a>
+        {{end}}
+      </div>
+    </section>
+    <!-- 热搜词结束 -->
+  </header>
   {{$dataType := .T.dataType}}
   {{$dataType := .T.dataType}}
   <!-- 热搜词 -->
   <!-- 热搜词 -->
-  <section class="hotkeywords">
+  <section class="hotkeywords no-in-frame" style="display: none;">
     <p><img src="{{Msg "seo" "cdn"}}/images/dataSmt/hot_icon.png?v={{Msg "seo" "version"}}" alt="热搜icon">热搜:</p>
     <p><img src="{{Msg "seo" "cdn"}}/images/dataSmt/hot_icon.png?v={{Msg "seo" "version"}}" alt="热搜icon">热搜:</p>
     <div class="content">
     <div class="content">
       {{range $k,$v := .T.hotKeys}}
       {{range $k,$v := .T.hotKeys}}
@@ -153,6 +177,7 @@
 <script src='{{Msg "seo" "cdn"}}/common-module/pc-dialog/js/leave-info-dialog.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Msg "seo" "cdn"}}/common-module/pc-dialog/js/leave-info-dialog.js?v={{Msg "seo" "version"}}'></script>
 <script>
 <script>
   haslogin({{.T.logid}});
   haslogin({{.T.logid}});
+  var inIframe = window.goTemplateData?.inIframe || false
   $(function(){
   $(function(){
     // initAdvertising()
     // initAdvertising()
     brightKeyword()
     brightKeyword()
@@ -179,6 +204,13 @@
     $('#dataSupermarket_industry_fields').on('click',function(){
     $('#dataSupermarket_industry_fields').on('click',function(){
       needSubmitHandle('pc_DataSupermarket_IndustryFields')
       needSubmitHandle('pc_DataSupermarket_IndustryFields')
     })
     })
+    if(inIframe) {
+      $('.no-in-frame').hide()
+      $('.header-in-frame').show()
+    } else {
+      $('.no-in-frame').show()
+      $('.header-in-frame').hide()
+    }
   })
   })
   function initAdvertising(){
   function initAdvertising(){
     var windowHeight = $(window).height(); // 可视窗口的高度
     var windowHeight = $(window).height(); // 可视窗口的高度
@@ -202,8 +234,9 @@
   }
   }
   var  isNull =  {{.T.dataType}}=="index"
   var  isNull =  {{.T.dataType}}=="index"
   function dataMartSearch(){
   function dataMartSearch(){
-    var val_ = $('#dataMartForm .ser').val().replace(/\s+/g, "")
-    $('#dataMartForm .ser').val(val_)
+    const serDom = inIframe ? $('.header-in-frame #dataMartForm .ser') : $('#dataMartForm .ser')
+    var val_ = serDom.val().replace(/\s+/g, "")
+    serDom.val(val_)
     if(!val_){
     if(!val_){
       if (isNull) {
       if (isNull) {
         window.location.replace("/datasmt/index")
         window.location.replace("/datasmt/index")