فهرست منبع

Merge branch 'feature/v4.7.23' of http://192.168.3.207:8080/qmx/jy into feature/v4.7.23

zhangxinlei1996 3 سال پیش
والد
کامیت
8ef94bdce9

+ 4 - 2
src/jfw/front/dataExport.go

@@ -4,6 +4,7 @@ import (
 	"encoding/json"
 	"errors"
 	"fmt"
+	"github.com/go-xweb/xweb"
 	"jfw/config"
 	"jfw/public"
 	"log"
@@ -16,8 +17,6 @@ import (
 	"strings"
 	"sync"
 	"time"
-
-	"github.com/go-xweb/xweb"
 )
 
 type DataExport struct {
@@ -389,6 +388,8 @@ func (d *DataExport) SuperSearchExport() error {
 		Notkey:       d.GetString("notkey"),                       //排除词
 		FileExists:   d.GetString("fileExists"),                   //是否有附件
 		City:         d.GetString("city"),                         //城市
+		BidField:     d.GetString("bid_field"),                    // 领域数据类型 0101- 医疗行业
+
 	}
 	selectType := strings.Join(jy.GetVipState(public.Mysql, public.MQFW, userId).GetQueryItems(d.GetString("selectType"), util.Int64All(config.Sysconfig["bidSearchOldUserLimit"])), ",")
 	//数据回显
@@ -407,6 +408,7 @@ func (d *DataExport) SuperSearchExport() error {
 	d.SetSession("Echo_notkey", reqData.Notkey)
 	d.SetSession("Echo_fileExists", reqData.FileExists)
 	d.SetSession("Echo_city", reqData.City)
+	d.SetSession("Echo_bid_field", reqData.BidField) // 领域类型 0101-医疗行业
 
 	saveData := reqData.PassBidSearchExport()
 	saveData["selectType"] = selectType

+ 2 - 2
src/jfw/front/pcIndex.go

@@ -151,7 +151,7 @@ func GetNewArticle(typ int) (list []map[string]interface{}) {
 	if l, ok := redis.Get("other", rediskey).([]interface{}); ok && l != nil && len(l) > 0 {
 		list = util.ObjArrToMapArr(l)
 	} else {
-		_, _, lists := bidsearch.GetPcBidSearchData("", "", "", "", subtype, "", "", "", "", "", "", "", "", 1, bidsearch.SearchPageSize_PC, false, nil, bidSearch_field_1, "", false, false)
+		_, _, lists := bidsearch.GetPcBidSearchData("", "", "", "", subtype, "", "", "", "", "", "", "", "", 1, bidsearch.SearchPageSize_PC, false, nil, bidSearch_field_1, "", false, false, "")
 		if lists != nil && len(*lists) > 5 {
 			*lists = (*lists)[0:6]
 			for _, v := range *lists {
@@ -442,7 +442,7 @@ func (f *PcIndex) SearchResult(at, name string) error {
 				// if datas != nil && len(*datas) > limitcount {
 				// 	*datas = (*datas)[0:limitcount]
 				// } else {
-				_, _, datas = bidsearch.GetPcBidSearchData(keywords, "", "", "", "", key_industry, "", "", "", "", "", "", "", 0, bidsearch.SearchPageSize_PC, true, nil, bidSearch_field_1, "", false, false)
+				_, _, datas = bidsearch.GetPcBidSearchData(keywords, "", "", "", "", key_industry, "", "", "", "", "", "", "", 0, bidsearch.SearchPageSize_PC, true, nil, bidSearch_field_1, "", false, false, "")
 				if datas != nil && len(*datas) > limitcount {
 					*datas = (*datas)[0:limitcount]
 				}

+ 84 - 23
src/jfw/front/supsearch.go

@@ -40,6 +40,18 @@ var PCS_time int
 var PCSLock = &sync.Mutex{}
 var FileSignBool = false
 
+const (
+	BidFieldMedical = "0101"
+)
+
+var (
+	// DomainPageType 缓存标签
+	DomainPageType = map[string]string{
+		BidFieldMedical: "medical", // 医疗领域
+
+	}
+)
+
 //
 func init() {
 	xweb.AddAction(&Pcsearch{})
@@ -93,7 +105,11 @@ func PCS_list(page_type string) interface{} {
 	  if PCS_index[_page_type] == nil {
 	  	PCS_index[_page_type] = Newbids(page_type)[0]
 	  }*/
-	return Newbids(page_type)[0]
+	if len(Newbids(page_type)) > 0 {
+		return Newbids(page_type)[0]
+	} else {
+		return nil
+	}
 }
 
 //
@@ -126,7 +142,7 @@ func (p *Pcsearch) ProposedProject() error {
 	var count int64
 	if len(s_word) > 0 {
 		status = 2
-		count, totalPage, list = bidsearch.GetPcBidSearchData(s_word, area, "", publishtime, subtype, "", "", "", "", "", "", "", "", 0, bidsearch.SearchPageSize_PC, true, nil, bidSearch_field_1, "", false, false)
+		count, totalPage, list = bidsearch.GetPcBidSearchData(s_word, area, "", publishtime, subtype, "", "", "", "", "", "", "", "", 0, bidsearch.SearchPageSize_PC, true, nil, bidSearch_field_1, "", false, false, "")
 		listSize := 0
 		if list != nil {
 			listSize = len(*list)
@@ -216,8 +232,19 @@ func (p *Pcsearch) Getstatus() error {
 func (p *Pcsearch) GetNewBids() error {
 	pagenum, _ := p.GetInteger("pageNumber")
 	pageType := p.GetString("pageType")
-
-	list := util.ObjArrToMapArr(Newbids(pageType)[pagenum-1].([]interface{}))
+	bidField := p.GetString("bid_field")
+	// 如果是领域化数据
+	if bidField != "" {
+		if domainPageType, ok := DomainPageType[bidField]; ok {
+			pageType = domainPageType
+		}
+	}
+	p.T["list"] = PCS_list(pageType) //Newbids("")[0]
+	rs := Newbids(pageType)
+	var list []map[string]interface{}
+	if len(rs) >= pagenum {
+		list = util.ObjArrToMapArr(rs[pagenum-1].([]interface{}))
+	}
 	if pageType == "" { //最新招标信息仅第一页条展示表格多字段
 		for k, v := range list {
 			if pagenum == 1 && k < 20 {
@@ -251,6 +278,7 @@ func (p *Pcsearch) GetNewBids() error {
 func (p *Pcsearch) PcSearchIndex() error {
 	defer util.Catch()
 	p.T["logid"] = config.Seoconfig["jysslby"].(string)
+	bidField := p.GetString("bid_field") // 领域类型  医疗-0101
 	keywords := p.GetString("keywords")
 	industry := strings.TrimSpace(p.GetString("industry")) //选中的行业
 	area := p.GetString("area")                            //地区
@@ -298,6 +326,8 @@ func (p *Pcsearch) PcSearchIndex() error {
 		notkey = util.ObjToString(p.GetSession("Echo_notkey"))
 		fileExists = util.ObjToString(p.GetSession("Echo_fileExists"))
 		city = util.ObjToString(p.GetSession("Echo_city"))
+		bidField = util.ObjToString(p.GetSession("Echo_bid_field")) // 领域化数据 0101-医疗行业
+
 		_, _, queryItems, _, _ = bidsearch.PublicSearch(userId, selectType, publishtime, util.Int64All(config.Sysconfig["bidSearchOldUserLimit"]), 0)
 	}
 
@@ -313,10 +343,21 @@ func (p *Pcsearch) PcSearchIndex() error {
 	if len(s_word) > 0 || len(industry) > 0 {
 		searchTypeSwitch, _ := config.Sysconfig["searchTypeSwitch"].(bool)
 		status = 2
-		secondKWS, _, _, _, secondFlag, count, totalPage, list = bidsearch.SearchData("pc", p.Request, 1, util.ObjToString(p.GetSession("userId")), secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, 0, bidsearch.SearchPageSize_PC, true, queryItems, bidSearch_field_1, notkey, isPayedUser, searchTypeSwitch)
+		field := bidSearch_field_1
+		if bidField != "" { // 如果是领域化数据
+			field = bidSearch_domain_field_1
+		}
+		secondKWS, _, _, _, secondFlag, count, totalPage, list = bidsearch.SearchData("pc", p.Request, 1, util.ObjToString(p.GetSession("userId")), secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, 0, bidsearch.SearchPageSize_PC, true, queryItems, field, notkey, isPayedUser, searchTypeSwitch, bidField)
 	} else {
 		p.DisableHttpCache()
-		p.T["list"] = PCS_list("") //Newbids("")[0]
+		pageType := ""
+		// 如果是领域化数据
+		if bidField != "" {
+			if domainPageType, ok := DomainPageType[bidField]; ok {
+				pageType = domainPageType
+			}
+		}
+		p.T["list"] = PCS_list(pageType) //Newbids("")[0]
 		count, totalPage = 500, 10
 	}
 	if status == 2 {
@@ -347,6 +388,7 @@ func (p *Pcsearch) PcSearchIndex() error {
 		p.T["notkey"] = notkey
 		p.T["fileExists"] = fileExists
 		p.T["city"] = city
+		p.T["bid_field"] = bidField
 		p.SetSession("paramkey", b_word)
 		switch publishtime {
 		case "lately-7":
@@ -377,6 +419,7 @@ func (p *Pcsearch) PcSearchIndex() error {
 	p.T["industrylist"] = industrylist
 	p.T["sortArray"] = sortArray
 	p.T["showVipScreen"] = isPayedUser
+	p.T["bidField"] = bidField
 	//
 	if userId != "" {
 		//企业画像 权限
@@ -391,12 +434,18 @@ func Newbids(p string) []interface{} {
 	if len(pages) == 0 {
 		var list *[]map[string]interface{}
 		subtype := ""
-		if len(p) > 0 {
-			subtype = "拟建"
+		bidField := ""
+		// 判断是不是医疗行业
+		if p == "medical" {
+			bidField = "0101"
+		} else {
+			if len(p) > 0 {
+				subtype = "拟建"
+			}
 		}
 		//查询置顶信息
 		var ss []map[string]interface{}
-		ls := top500(subtype)
+		ls := top500(subtype, bidField)
 		if ls != nil && len(*ls) > 0 {
 			ss = append(ss, *ls...)
 		}
@@ -418,23 +467,27 @@ func Newbids(p string) []interface{} {
 				}
 			}
 			for i := 0; i < 10; i++ {
-				_, list = getLastNewsData("", "", "", "", subtype, "", "", "", "", "", "", "", "Y", intns[i], true, false, "")
-				ss = append(ss, *list...)
-				// pages = append(pages, list)
+				_, list = getLastNewsData("", "", "", "", subtype, "", "", "", "", "", "", "", "Y", intns[i], true, false, "", bidField)
+				if list != nil && len(*list) > 0 {
+					ss = append(ss, *list...)
+					// pages = append(pages, list)
+				}
 			}
 		}
 		data := duplicateRemoval(ss)
-		for i := 0; i < 10; i++ {
-			sta := i * 50
-			end := i*50 + 50
-			if end > len(data) {
-				pages = append(pages, data[end:])
-				break
+		if len(data) > 0 {
+			for i := 0; i < 10; i++ {
+				sta := i * 50
+				end := i*50 + 50
+				if end > len(data) {
+					pages = append(pages, data[end:])
+					break
+				}
+				pages = append(pages, data[sta:end])
 			}
-			pages = append(pages, data[sta:end])
+			redis.Put("newother", "index_list"+p, pages, 60*60*24)
+			pages, _ = redis.Get("newother", "index_list"+p).([]interface{})
 		}
-		redis.Put("newother", "index_list"+p, pages, 60*60*24)
-		pages, _ = redis.Get("newother", "index_list"+p).([]interface{})
 	}
 	return pages
 }
@@ -476,8 +529,16 @@ func duplicateRemoval(ss []map[string]interface{}) []map[string]interface{} {
 	return data
 }
 
-func top500(industry string) (list *[]map[string]interface{}) {
-	qstr := `{"query": {"bool": {"should": [{"term": {"dataweight": 1}}]}}}`
+func top500(industry string, bidField string) (list *[]map[string]interface{}) {
+	qstr := ""
+	if bidField != "" {
+		// 如果是领域化数据
+		q := `{"query": {"bool": {"should": [{"term": {"dataweight": 1}}], "must": [
+        {"term": {"bid_field": "%s"}}]}}}`
+		qstr = fmt.Sprintf(q, bidField)
+	} else {
+		qstr = `{"query": {"bool": {"should": [{"term": {"dataweight": 1}}]}}}`
+	}
 	repl := elastic.GetAllByNgram(INDEX, TYPE, qstr, `"title"`, `{"publishtime":-1}`, bidSearch_field, 0, 500, 115, false)
 	if repl != nil && *repl != nil && len(*repl) > 0 {
 		public.BidListConvert(industry, repl)

+ 26 - 11
src/jfw/front/swordfish.go

@@ -33,10 +33,11 @@ import (
 )
 
 var (
-	bidSearch_field_1    = `"_id","title","publishtime","toptype","subtype","type","area","dataweight","city","s_subscopeclass","bidamount","budget","buyerclass","spidercode","site"`
-	bidSearch_field      = bidSearch_field_1 + `,"bidopentime","winner","buyer","projectname","projectcode","projectinfo"`
-	bidSearch_sort       = `{"dataweight":-1,"publishtime":-1}`
-	bidSearch_field_file = `,"filetext","isValidFile"`
+	bidSearch_field_1        = `"_id","title","publishtime","toptype","subtype","type","area","dataweight","city","s_subscopeclass","bidamount","budget","buyerclass","spidercode","site"`
+	bidSearch_field          = bidSearch_field_1 + `,"bidopentime","winner","buyer","projectname","projectcode","projectinfo","s_winner","purchasing"`
+	bidSearch_sort           = `{"dataweight":-1,"publishtime":-1}`
+	bidSearch_field_file     = `,"filetext","isValidFile"`
+	bidSearch_domain_field_1 = bidSearch_field_1 + `,"purchasing","s_winner","buyer"` //领域数据字段基本字段
 )
 
 //剑鱼标讯推送三级页点赞暂弃 改成剑鱼标讯实验室点赞功能
@@ -75,6 +76,7 @@ func (m *Front) Searchinfolist(p string) error {
 
 //ajax分页请求
 func (m *Front) PcAjaxReq() {
+	bidField := m.GetString("bid_field") // 领域类型 0101- 医疗
 	tabularflag := m.GetString("tabularflag")
 	userId := util.ObjToString(m.GetSession("userId"))
 	if tabularflag == "Y" && userId == "" {
@@ -86,7 +88,14 @@ func (m *Front) PcAjaxReq() {
 	if reqType == "lastBids" {
 		//ls := elastic.GetPage(INDEX, TYPE, "{}", bidSearch_sort, bidSearch_field_1, 0, 18)
 		//jyutil.BidListConvert("", ls)
-		ls := Newbids("")
+		// 如果是领域化数据
+		pageType := ""
+		if bidField != "" {
+			if domainPageType, ok := DomainPageType[bidField]; ok {
+				pageType = domainPageType
+			}
+		}
+		ls := Newbids(pageType)
 		if len(ls) >= 18 {
 			ls = ls[:18]
 		}
@@ -128,10 +137,12 @@ func (m *Front) PcAjaxReq() {
 		tabularflag = ""
 	}
 	field := bidSearch_field_1
+	if bidField != "" {
+		field = bidSearch_domain_field_1
+	}
 	if tabularflag == "Y" {
 		field = bidSearch_field
 	}
-
 	searchLimit := public.IsSearchLimit(queryItems)
 
 	b_word, a_word, s_word := jy.InterceptSearchKW(m.GetString("searchvalue"), searchLimit, len(industry) == 0)
@@ -154,7 +165,7 @@ func (m *Front) PcAjaxReq() {
 			}
 		}
 		if isLimit == 1 {
-			second, _, _, pcAjaxFlag, secondFlag, count, totalPage, list = bidsearch.SearchData("pc", m.Request, currentPage, util.ObjToString(m.GetSession("userId")), secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, start, bidsearch.SearchPageSize_PC, true, queryItems, field, notkey, isPayedUser, searchTypeSwitch)
+			second, _, _, pcAjaxFlag, secondFlag, count, totalPage, list = bidsearch.SearchData("pc", m.Request, currentPage, util.ObjToString(m.GetSession("userId")), secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, start, bidsearch.SearchPageSize_PC, true, queryItems, field, notkey, isPayedUser, searchTypeSwitch, bidField)
 		}
 	}
 	_secondList, _totalPage, _ := bidsearch.LisetData(1, currentPage, list, secondFlag, config.Seoconfig, isPayedUser) //只有前20条
@@ -176,10 +187,10 @@ func (m *Front) PcAjaxReq() {
 	})
 }
 
-func getLastNewsData(searchvalue, area, city, publishtime, subtype, industry, minprice, maxprice, buyerclass, hasBuyerTel, hasWinnerTel, fileExists, tabularflag string, start int, isGetCount bool, highlight bool, notkey string) (count int64, list *[]map[string]interface{}) {
+func getLastNewsData(searchvalue, area, city, publishtime, subtype, industry, minprice, maxprice, buyerclass, hasBuyerTel, hasWinnerTel, fileExists, tabularflag string, start int, isGetCount bool, highlight bool, notkey string, bidField string) (count int64, list *[]map[string]interface{}) {
 	//最新招标信息
 	findfields := `"title"`
-	qstr := bidsearch.GetSearchQuery(searchvalue, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, bidsearch.GetBidSearchQuery(area, city, publishtime, subtype, "", buyerclass), notkey, false)
+	qstr := bidsearch.GetSearchQuery(searchvalue, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, bidsearch.GetBidSearchQuery(area, city, publishtime, subtype, "", buyerclass), notkey, false, bidField)
 	if isGetCount && start == 0 {
 		count = elastic.Count(INDEX, TYPE, qstr)
 	}
@@ -191,7 +202,11 @@ func getLastNewsData(searchvalue, area, city, publishtime, subtype, industry, mi
 				list = repl
 			}
 		} else {
-			repl := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, bidSearch_field_1, start, bidsearch.SearchPageSize_PC, 115, highlight)
+			field := bidSearch_field_1
+			if bidField != "" {
+				field = bidSearch_domain_field_1
+			}
+			repl := elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, field, start, bidsearch.SearchPageSize_PC, 115, highlight)
 			if repl != nil && *repl != nil && len(*repl) > 0 {
 				public.BidListConvert(industry, repl)
 				list = repl
@@ -389,7 +404,7 @@ func (m *Front) WxsearchlistPaging() {
 			}
 			if isLimit == 1 {
 				searchTypeSwitch, _ := config.Sysconfig["searchTypeSwitch"].(bool)
-				secondKWS, b_word, a_word, _, secondFlag, _, _, list = bidsearch.SearchData("wx", m.Request, pageNum, util.ObjToString(m.GetSession("userId")), secondKWS, searchvalue, scope, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, pageNum, bidsearch.SearchPageSize_APP, true, queryItems, filed, notkey, isPayedUser, searchTypeSwitch)
+				secondKWS, b_word, a_word, _, secondFlag, _, _, list = bidsearch.SearchData("wx", m.Request, pageNum, util.ObjToString(m.GetSession("userId")), secondKWS, searchvalue, scope, city, publishtime, subtype, industry, minprice, maxprice, "", buyerclass, hasBuyerTel, hasWinnerTel, fileExists, pageNum, bidsearch.SearchPageSize_APP, true, queryItems, filed, notkey, isPayedUser, searchTypeSwitch, "")
 			}
 			//新增历史记录
 			arrs = bidsearch.AddHistory(history, searchvalue)

+ 5 - 0
src/jfw/front/test/http-client.env.json

@@ -0,0 +1,5 @@
+{
+  "local": {
+    "host": "127.0.0.1:83"
+  }
+}

+ 26 - 0
src/jfw/front/test/test.http

@@ -0,0 +1,26 @@
+// 接口测试
+
+### 分页请求
+POST http://{{host}}/front/pcAjaxReq
+Content-Type: application/x-www-form-urlencoded
+Cookie: SESSIONID=95e5eda49ae964ff4092dd148446493fdf9b5ff9;
+
+bid_field=0101&pageNumber=1&reqType=bidSearch&searchvalue=医院手术室洗手衣项目&area=&subtype=&publishtime=fiveyear&selectType=content,title&minprice=&maxprice=&industry=&tabularflag=Y&buyerclass=&buyertel=&winnertel=&notkey=&fileExists=0&city=
+
+
+###  请求缓存
+
+POST http://{{host}}/jylab/supsearch/getNewBids
+Content-Type: application/x-www-form-urlencoded
+Cookie: SESSIONID=95e5eda49ae964ff4092dd148446493fdf9b5ff9;
+
+pageNumber=1&pageType=medical&fileExists=0
+
+### 首页
+POST http://{{host}}/jylab/supsearch/index.html
+Content-Type: application/x-www-form-urlencoded
+Cookie: SESSIONID=95e5eda49ae964ff4092dd148446493fdf9b5ff9;
+
+bid_field=0101&keywords=&publishtime=fiveyear&timeslot=&area=&subtype=&minprice=&maxprice=&industry=&buyerclass=&buyertel=&winnertel=&selectType=content%2Ctitle&notkey=&fileExists=0&city=
+
+

+ 15 - 9
src/jfw/modules/common/src/qfw/util/bidsearch/search.go

@@ -53,7 +53,7 @@ func GetWxsearchlistData(keywords, scope, city, publishtime, subtype, industry,
 	} else {
 		findfields = fmt.Sprintf(`"%s"`, strings.Join(selectTypeArr, "\",\""))
 	}
-	qstr := GetSearchQuery(s_word, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(scope, city, publishtime, subtype, winner, buyerclass), notkey, searchTypeSwitch)
+	qstr := GetSearchQuery(s_word, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(scope, city, publishtime, subtype, winner, buyerclass), notkey, searchTypeSwitch, "")
 	if hightlightContent { //全文搜索
 		list = elastic.GetAllByNgram(INDEX, TYPE, qstr, `"detail"`, bidSearch_sort, field, (pageNum-1)*pageSize, pageSize, 100, true)
 	} else { //标题搜索
@@ -69,7 +69,7 @@ func GetWxsearchlistData(keywords, scope, city, publishtime, subtype, industry,
 }
 
 //GetPcBidSearchData pc端招标信息搜索
-func GetPcBidSearchData(searchvalue, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists string, start, pageSize int, isGetCount bool, selectTypeArr []string, field, notkey string, ispayed, searchTypeSwitch bool) (count, totalPage int64, list *[]map[string]interface{}) {
+func GetPcBidSearchData(searchvalue, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists string, start, pageSize int, isGetCount bool, selectTypeArr []string, field, notkey string, ispayed, searchTypeSwitch bool, bidField string) (count, totalPage int64, list *[]map[string]interface{}) {
 	var findfields string
 	var hightlightContent bool = false //是否高亮正文
 	for _, v := range selectTypeArr {
@@ -83,7 +83,7 @@ func GetPcBidSearchData(searchvalue, area, city, publishtime, subtype, industry,
 	} else {
 		findfields = fmt.Sprintf(`"%s"`, strings.Join(selectTypeArr, "\",\""))
 	}
-	qstr := GetSearchQuery(searchvalue, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(area, city, publishtime, subtype, winner, buyerclass), notkey, searchTypeSwitch)
+	qstr := GetSearchQuery(searchvalue, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(area, city, publishtime, subtype, winner, buyerclass), notkey, searchTypeSwitch, bidField)
 	if isGetCount && qstr != "" && start == 0 {
 		count = elastic.Count(INDEX, TYPE, qstr)
 	}
@@ -246,7 +246,7 @@ func DetailFileORTitle(findfields string) bool {
 func DetailTitle(findfields string) bool {
 	return strings.Contains(findfields, `"detail"`) && strings.Contains(findfields, `"title"`)
 }
-func GetSearchQuery(keyword, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, mustquery, notkey string, searchTypeSwitch bool) (qstr string) {
+func GetSearchQuery(keyword, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, mustquery, notkey string, searchTypeSwitch bool, bidField string) (qstr string) {
 	multi_match := `{"multi_match": {"query": "%s","type": "phrase", "fields": [%s]}}`
 	query := `{"query":{"bool":{"must":[%s],"must_not":[%s]}}}`
 	//query := `{"query": {"function_score": {"query": {"bool": {"must": [%s],"must_not": [%s]}},"field_value_factor": {"field": "dataweight","modifier": "ln1p","missing": 0}}}}`
@@ -255,6 +255,7 @@ func GetSearchQuery(keyword, industry, minprice, maxprice, hasBuyerTel, hasWinne
 	query_bool_must := `{"bool":{"must":[{"terms":{"s_subscopeclass":[%s]}}]}}`
 	query_missing := `{"constant_score":{"filter":{"missing":{"field":"%s"}}}}`
 	query_bool_must_term := `{"bool": {"must": [{ "term": {"isValidFile": %d }}]}}`
+	query_bool_must_term_domain := `{"bool": {"must": [{ "term": {"bid_field": "%s" }}]}}` // 领域化数据类型
 	gte := `"gte": %s`
 	lte := `"lte": %s`
 	musts, must_not := []string{}, []string{}
@@ -365,6 +366,10 @@ func GetSearchQuery(keyword, industry, minprice, maxprice, hasBuyerTel, hasWinne
 			musts = append(musts, fmt.Sprintf(query_missing, "isValidFile"))
 		}
 	}
+	// 如果是领域化数据则需要加标签
+	if bidField != "" {
+		musts = append(musts, fmt.Sprintf(query_bool_must_term_domain, bidField))
+	}
 	qstr = fmt.Sprintf(query, strings.Join(musts, ","), strings.Join(must_not, ","))
 	log.Println(qstr)
 	return
@@ -403,12 +408,12 @@ func PublicSearch(userId, selectType, publishtime string, bidSearchOldUserLimit
 }
 
 //所有的再次分词查询 只查标题
-func IntegratedData(platform string, s_word, secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, secondFlag, area, city, publishtime, subtype, buyerclass, notkey string, queryItems []string, list *[]map[string]interface{}, field string, searchTypeSwitch bool) (string, string, string, string, *[]map[string]interface{}) {
+func IntegratedData(platform string, s_word, secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, secondFlag, area, city, publishtime, subtype, buyerclass, notkey string, queryItems []string, list *[]map[string]interface{}, field string, searchTypeSwitch bool, bidField string) (string, string, string, string, *[]map[string]interface{}) {
 	var pcAjaxFlag string
 	var secRel *[]map[string]interface{} = list
 	if secondKWS = jy.HttpEs(s_word, "ik_smart", public.DbConf.Elasticsearch.Main.Address); secondKWS != "" {
 		findfields := `"title"`
-		qstr := GetSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(area, city, publishtime, subtype, "", buyerclass), notkey, searchTypeSwitch)
+		qstr := GetSearchQuery(secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, findfields, GetBidSearchQuery(area, city, publishtime, subtype, "", buyerclass), notkey, searchTypeSwitch, bidField)
 		secRel = elastic.GetAllByNgram(INDEX, TYPE, qstr, findfields, bidSearch_sort, field, 0, 2*SearchPageSize_PC, 0, false)
 		if secRel != nil && len(*secRel) > 0 {
 			public.BidListConvert(industry, secRel)
@@ -523,7 +528,7 @@ func LisetData(stype, pageNum int, list *[]map[string]interface{}, secondFlag st
 	return secondList, totalPage, hasNextPage
 }
 
-func SearchData(platform string, request *http.Request, currentPage int, userId, secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists string, start, pageSize int, isGetCount bool, queryItems []string, field, notkey string, isPayedUser, searchTypeSwitch bool) (second, b_word, a_word, pcAjaxFlag, secondFlag string, count, totalPage int64, list *[]map[string]interface{}) {
+func SearchData(platform string, request *http.Request, currentPage int, userId, secondKWS, s_word, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists string, start, pageSize int, isGetCount bool, queryItems []string, field, notkey string, isPayedUser, searchTypeSwitch bool, bidField string) (second, b_word, a_word, pcAjaxFlag, secondFlag string, count, totalPage int64, list *[]map[string]interface{}) {
 	//包含标题才能进行二次搜索
 	var secondSearch = strings.Contains(strings.Join(queryItems, ","), "title")
 	var searchvalue = s_word
@@ -534,12 +539,12 @@ func SearchData(platform string, request *http.Request, currentPage int, userId,
 			count = int64(len(*list))
 		}
 	} else {
-		count, totalPage, list = GetPcBidSearchData(s_word, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists, start, pageSize, isGetCount, queryItems, field, notkey, isPayedUser, searchTypeSwitch)
+		count, totalPage, list = GetPcBidSearchData(s_word, area, city, publishtime, subtype, industry, minprice, maxprice, winner, buyerclass, hasBuyerTel, hasWinnerTel, fileExists, start, pageSize, isGetCount, queryItems, field, notkey, isPayedUser, searchTypeSwitch, bidField)
 	}
 
 	if len([]rune(s_word)) > 3 && int(count) < SearchPageSize_PC && start == number && secondSearch {
 		var paramList = list
-		s_word, pcAjaxFlag, secondFlag, second, list = IntegratedData(platform, s_word, secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, secondFlag, area, city, publishtime, subtype, buyerclass, notkey, queryItems, paramList, field, searchTypeSwitch)
+		s_word, pcAjaxFlag, secondFlag, second, list = IntegratedData(platform, s_word, secondKWS, industry, minprice, maxprice, hasBuyerTel, hasWinnerTel, fileExists, secondFlag, area, city, publishtime, subtype, buyerclass, notkey, queryItems, paramList, field, searchTypeSwitch, bidField)
 	}
 
 	listSize := 0
@@ -557,6 +562,7 @@ func SearchData(platform string, request *http.Request, currentPage int, userId,
 		"pagenum":            currentPage,
 		"pagesize":           listSize,
 		"fileExists":         fileExists,
+		"bid_field":          util.If(bidField != "", bidField, nil),
 	})
 	return
 }

+ 9 - 0
src/jfw/modules/common/src/qfw/util/dataexport/dataexport.go

@@ -50,6 +50,7 @@ type SieveCondition struct {
 	Comeinfrom       string    `json:"comeinfrom"`       //查询来源
 	FileExists       string    `json:"fileExists"`       //是否有附件
 	SearchTypeSwitch bool      `json:"searchTypeSwitch"` //是否开启 正文 标题同时搜索只搜正文的开关
+	BidField         string    `json:"bid_field"`        // 领域化数据 0101-医疗行业
 }
 
 const (
@@ -99,6 +100,7 @@ func getDataExportSql(scd *SieveCondition) string {
 	query_bool_must_and := `{"bool":{"must":[%s]%s}}`
 	query_missing := `{"constant_score":{"filter":{"missing":{"field":"%s"}}}}`
 	query_bool_must_term := `{"bool": {"must": [{ "term": {"isValidFile": %d }}]}}`
+	query_bool_must_term_bidField := `{"bool": {"must": [{ "term": {"bid_field": "%s" }}]}}` // 领域化数据类型
 	gte := `"gte": %s`
 	lte := `"lte": %s`
 
@@ -367,6 +369,12 @@ func getDataExportSql(scd *SieveCondition) string {
 			musts = append(musts, fmt.Sprintf(query_missing, "isValidFile"))
 		}
 	}
+	// 如果是领域化数据则需要加标签
+	if scd.BidField != "" {
+
+		musts = append(musts, fmt.Sprintf(query_bool_must_term_bidField, scd.BidField))
+
+	}
 	qstr := fmt.Sprintf(query, strings.Join(musts, ","), strings.Join(must_not, ","), strings.Join(bools, ","), boolsNum)
 	return qstr
 }
@@ -402,6 +410,7 @@ func GetSqlObjFromId(mongo mg.MongodbSim, _id string) *SieveCondition {
 		SelectIds:        getStringArrFromDbResult((*query)["selectIds"]),
 		FileExists:       qutil.ObjToString((*query)["fileExists"]),
 		SearchTypeSwitch: searchTypeSwitch,
+		BidField:         qutil.ObjToString((*query)["bid_field"]), // 领域化数据
 	}
 }
 

+ 2 - 0
src/jfw/public/dataexport.go

@@ -110,6 +110,7 @@ type BidSearchExport struct {
 	Notkey       string //排除词
 	FileExists   string //是否有附件
 	City         string //城市
+	BidField     string // 领域化数据: 0101 医疗
 }
 
 func (this *BidSearchExport) PassBidSearchExport() (returnData map[string]interface{}) {
@@ -186,6 +187,7 @@ func (this *BidSearchExport) PassBidSearchExport() (returnData map[string]interf
 		"hasWinnertel": this.Haswinnertel,
 		"fileExists":   this.FileExists,
 		"comeintime":   now.Unix(),
+		"bid_field":    this.BidField,
 	}
 	//选择信息id
 	if this.SelectIds != "" {

+ 1 - 1
src/jfw/public/public.go

@@ -258,7 +258,7 @@ func SaveUserSearchLog(request *http.Request, userid string, count int64, platfo
 			"createtime": time.Now().Unix(),
 			"userAgent":  request.Header.Get("User-Agent"),
 		}
-		for _, v := range []string{"pagenum", "pagesize", "search_word", "search_area", "search_publishtime", "search_industry", "search_price", "search_type"} {
+		for _, v := range []string{"pagenum", "pagesize", "search_word", "search_area", "search_publishtime", "search_industry", "search_price", "search_type", "bid_field"} {
 			if vv := condition[v]; vv != nil {
 				data[v] = vv
 			}

+ 49 - 1
src/web/staticres/css/dev2/biddingSearch.css

@@ -797,7 +797,6 @@ position: absolute;
   padding: 15px 0px 0px;
   overflow: hidden;
   font-size: 16px;
-  height:61px;
 }
 #searchInner .searchControl .seaTender-inner .tabContainer-2 .lucene li:hover a,
 #searchInner .searchControl .seaTender-inner .tabContainer-2 .lucene li:hover em{
@@ -880,6 +879,55 @@ width:1200px;
   font-size: 16px;
 }
 
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field{
+  float: left;
+  margin: 0 0 10px 22px;
+  width: calc(100% - 34px);
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field .nowrap{
+  text-overflow: ellipsis;
+  overflow: hidden;
+  white-space: nowrap;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field span:nth-child(1){
+  font-size: 12px;
+  font-weight: 400;
+  color: #999999;
+  line-height: 22px;
+  padding: 0 8px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field  span:nth-child(2){
+  font-size: 14px;
+  font-weight: 400;
+  color: #686868;
+  line-height: 22px;
+  padding: 0 8px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field>div{
+  padding-bottom: 10px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field>div:nth-child(1){
+  margin-top: -7px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field>.secondLine{
+  display: flex;
+  flex-direction: row;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field>.secondLine>div:nth-child(2){
+  margin-left: 16px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-field>div:last-child{
+  padding-bottom: 8px;
+}
+
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a {
   display: inline-block;
   padding: 1px 8px;

+ 57 - 13
src/web/staticres/js/superSearch.js

@@ -136,7 +136,7 @@ $(function() {
       submitflag=false;
 		}
 	})
-	
+
   $('#entsearch, #pursearch, #gysearch').on('click', function () {
     location.href= $(this).attr('datahref')
   })
@@ -222,7 +222,7 @@ function prev(){
 
 //取redis里的数据
 function getNewBids(pnum){
-	$.post("/jylab/supsearch/getNewBids",{pageNumber:pnum,pageType:"", fileExists: $("#zbSeatchT [name='fileExists']").val()},function(r){
+	$.post("/jylab/supsearch/getNewBids",{pageNumber:pnum,pageType:"", fileExists: $("#zbSeatchT [name='fileExists']").val(),bid_field: $("#zbSeatchT [name='bid_field']").val()},function(r){
 		if(r&&r.list!=null&&r.list.length>0){
 			$(".tabContainer").show();
 			//$(".pagination").show();
@@ -272,7 +272,8 @@ function getNewBiddings(){
     winnertel: $("#zbSeatchT [name='winnertel']").val(),
     notkey: $(".not-key-input-group input").val().slice(0, 10),
     fileExists: $("#zbSeatchT [name='fileExists']").val(),
-    city: $("#zbSeatchT [name='city']").val()
+    city: $("#zbSeatchT [name='city']").val(),
+    bid_field: $("#zbSeatchT [name='bid_field']").val()
   };
 	$.post("/front/pcAjaxReq",param,function(r){
 		if(r&&r.list!=null&&r.list.length>0){
@@ -314,6 +315,7 @@ function getNewBiddings(){
 
 function appendDatas(datas,flag,isNew,onlyUpdateTable){
   // flag // 是否有输入
+  let is_field=$("#zbSeatchT [name='bid_field']").val()
   console.log('selectType: ' + selectType,',flag: ',flag)
 	var listHtml = '';
 	var tableHtml = '';
@@ -356,6 +358,19 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 			title = keyWordHighlight(title,searchvalueArray,"<font class='com-highlight'>$1</font>");
 			title=title.replace(/\<br>/g,"")
 			detail = keyWordHighlight(detail,searchvalueArray,"<font class='com-highlight'>$1</font>");
+      if (is_field){ //领域化字段高亮
+        if (typeof(datas[i].purchasing) != "undefined" && datas[i].purchasing != null && datas[i].purchasing != ""){
+          datas[i].purchasing =  keyWordHighlight(datas[i].purchasing,searchvalueArray,"<font class='com-highlight'>$1</font>");
+        }
+
+        if (typeof(datas[i].buyer) != "undefined" && datas[i].buyer != null && datas[i].buyer != ""){
+          datas[i].buyer =  keyWordHighlight(datas[i].buyer,searchvalueArray,"<font class='com-highlight'>$1</font>");
+        }
+
+        if (typeof(datas[i].s_winner) != "undefined" && datas[i].s_winner != null && datas[i].s_winner != ""){
+          datas[i].s_winner =  keyWordHighlight(datas[i].s_winner,searchvalueArray,"<font class='com-highlight'>$1</font>");
+        }
+      }
 		}
 		if(title.length<40){
 				title=title+"<span style='color:#fff;display:none;'>"+Math.random().toString(36).substring(2)+"<span>";
@@ -385,7 +400,7 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 				listHtml +='<div class="liLuceneList" style="border-bottom: 1px solid #EBEBEB;">'
       //}
       // 标题搜索 选择框
-      if (selectType.indexOf('content') == -1 || !flag) {
+      if (selectType.indexOf('content') == -1 || is_field || !flag) {
         listHtml += '<input class="custom-checkbox title-text-checkbox" name="bid-list" type="checkbox" dataid="'+datas[i]._id+'" />'
         listHtml +='<div class="luce-left">'
 		if(datas[i].site == '剑鱼信息发布平台') {
@@ -395,12 +410,12 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 						+'<div class="left-title" style="width:auto;max-width:700px">'
 						+'<a class="visited-hd" onclick="noIn(this)" dataid="'+datas[i]._id+'" dataindustry="'+datas[i].industry+'" target="_blank"> '+title+ '</a>'
         if(fileExists) {
-          listHtml+='<span class="haveFile">'+'有附件'+'</span>' 
+          listHtml+='<span class="haveFile">'+'有附件'+'</span>'
         }
         listHtml+='</div>'
       }
-      // 全文搜索
-			if(flag && selectType.indexOf('content') > -1){
+      // 全文搜索 领域化不展示正文
+			if(flag && selectType.indexOf('content') > -1 && !is_field){
 				listHtml +='<div class="luce-left">'
 				if(datas[i].site == '剑鱼信息发布平台') {
 					listHtml += '<span class="userPublish">用户发布</span>'
@@ -413,7 +428,7 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 						+'<a class="visited-hd" onclick="noIn(this)" dataid="'+datas[i]._id+'" dataindustry="'+datas[i].industry+'" target="_blank"> '+title+ '</a>'
 				}
 				if(fileExists) {
-					listHtml+='<span class="haveFile">'+'有附件'+'</span>' 
+					listHtml+='<span class="haveFile">'+'有附件'+'</span>'
 				}
 				listHtml+='</div>'
 				// 全文搜索选择框
@@ -434,7 +449,7 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 				listHtml += '<a href="#" style="display:none;"></a>';
 			}
 			//
-			if(typeof(datas[i].industry) != "undefined" && datas[i].industry != null && datas[i].industry != ""){
+			if(typeof(datas[i].industry) != "undefined" && datas[i].industry != null && datas[i].industry != ""&&!is_field){
 				listHtml += '<a href="/list/industry/'+datas[i].indadd+'.html">'+datas[i].industry+'</a>';
 			}else{
 				listHtml += '<a href="javascript:volid(0);" style="display:none;"></a>';
@@ -461,8 +476,34 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 				}
       }
       // 是否收藏
-      listHtml += '<i class="icon-collect" dataid="'+datas[i]._id+'"></i>'
-			listHtml += '</div></li>';
+      listHtml += '<i class="icon-collect" dataid="'+datas[i]._id+'"></i></div>'
+
+
+      //领域化展示 商品&采购单位&中标单位
+      if (is_field){
+        listHtml += '<div class="luce-field">'
+        if (typeof(datas[i].purchasing) != "undefined" && datas[i].purchasing != null && datas[i].purchasing != ""){
+          listHtml += '<div class="nowrap"><span>产品</span><span>'+datas[i].purchasing +'</span></div>'
+        }
+
+        let secondLine=''
+        if (typeof(datas[i].buyer) != "undefined" && datas[i].buyer != null && datas[i].buyer != ""){
+          secondLine += '<div class="nowrap"><span>采购单位</span><span>'+datas[i].buyer +'</span></div>'
+        }
+
+        if (typeof(datas[i].s_winner) != "undefined" && datas[i].s_winner != null && datas[i].s_winner != ""){
+          secondLine += '<div class="nowrap"><span>中标单位</span><span>'+datas[i].s_winner +'</span></div>'
+        }
+
+        if (secondLine!=='') {
+          listHtml += '<div class="secondLine">'+secondLine+'</div>'
+        }
+
+        listHtml += '</div>'
+      }
+
+      listHtml += '</div></li>';
+
 			if(i == 5) {
 				listHtml += '<div class="_t3di2018y5"></div>'
 			}
@@ -563,6 +604,7 @@ function appendDatas(datas,flag,isNew,onlyUpdateTable){
 	}else{
 		sessionStorage.setItem("table_first_context",tableHtml)
 	}
+  //console.log(listHtml)
   // 没有关键词或者没有选中正文
 	if(!flag||selectType.indexOf('content') == -1){
 		if (!onlyUpdateTable){
@@ -748,7 +790,8 @@ function getVIPData(clickpaging){
         winnertel: $("#zbSeatchT [name='winnertel']").val(),
 		    notkey: $(".not-key-input-group input").val().slice(0, 10),
         fileExists: $("#zbSeatchT [name='fileExists']").val(),
-        city: $("#zbSeatchT [name='city']").val()
+        city: $("#zbSeatchT [name='city']").val(),
+        bid_field: $("#zbSeatchT [name='bid_field']").val()
       };
 	$.ajax({
        type:'post',
@@ -1019,7 +1062,8 @@ function searchOnsubmit(clickpaging){
     winnertel: $("#zbSeatchT [name='winnertel']").val(),
     notkey: $(".not-key-input-group input").val().slice(0, 10),
     fileExists: $("#zbSeatchT [name='fileExists']").val(),
-    city: $("#zbSeatchT [name='city']").val()
+    city: $("#zbSeatchT [name='city']").val(),
+    bid_field: $("#zbSeatchT [name='bid_field']").val()
   };
 	$.post("/front/pcAjaxReq",param,function(r){
 		if(r.limitFlag){

+ 30 - 6
src/web/templates/pc/supsearch.html

@@ -686,23 +686,30 @@ var IframeOnClick = {
 					<input type="hidden" name="subtype" value="{{.T.subtype}}">
 					<input type="hidden" name="minprice" value="{{.T.minprice}}">
 					<input type="hidden" name="maxprice" value="{{.T.maxprice}}">
+          {{if not .T.bidField}}
 					<input type="hidden" name="industry" value="{{.T.industry}}">
-          <!-- <input type="hidden" name="selectType" value="all"> -->
           <input type="hidden" id="buyerInput" name="buyerclass" value="{{.T.buyerclass}}">
+          {{end}}
           <input type="hidden" name="buyertel" value="{{.T.buyertel}}">
           <input type="hidden" name="winnertel" value="{{.T.winnertel}}">
           <input type="hidden" name="selectType" value="{{.T.selectType}}">
           <input type="hidden" name="notkey" value="{{.T.notkey}}">
           <input type="hidden" name="fileExists" value="{{.T.fileExists}}">
           <input type="hidden" name="city" value="{{.T.city}}">
+          {{if .T.bidField}}
+          <input type="hidden" name="bid_field" value="{{.T.bidField}}">
+          {{end}}
 				</form>
 				<!--筛选-->
 				<!-- <div id="screenBtn" class="screen down">
 					筛选
 				</div> -->
+        <!--领域化页面不展示-->
+        {{if not .T.bidField}}
         <el-badge value="限免" type="danger" class="publish-button">
           <el-button type="primary" round @click="goToPublish">信息发布</el-button>
         </el-badge>
+        {{end}}
 				<!--二维码-->
 				<div class="search-right-wx">
 					<img src='{{Msg "seo" "cdn"}}/images/biddingSearch/sea-right-wx.png' />
@@ -719,7 +726,8 @@ var IframeOnClick = {
 					</div>
 				</div>
 			</div>
-
+      <!--领域化页面不展示-->
+      {{if not .T.bidField}}
 			<!--整体页面切换tab-->
 			<div class="control-tabBtn">
 				<span class="bidbutdir"></span>
@@ -747,6 +755,7 @@ var IframeOnClick = {
           采购单位画像
         </a>
 			</div>
+      {{end}}
 		</div>
 	</div>
 	<!--搜索头部 END-->
@@ -772,7 +781,10 @@ var IframeOnClick = {
       <el-collapse-transition>
         <div class="filter-container" v-show="showFilter">
           <!--搜索范围:-->
-          <div class="searchSpace clearfix">
+          <div class="searchSpace clearfix"
+          {{if .T.bidField}}
+               style="padding: 16px 0;border-bottom: 1px dashed #e0e0e0;"
+          {{end}}>
             <div class="leftTitle">
               搜索范围:
             </div>
@@ -809,6 +821,8 @@ var IframeOnClick = {
             </div>
           </div>
           <!--行业-->
+          <!--领域化页面不展示-->
+          {{if not .T.bidField}}
           <div class="industry">
             <div class="leftTitle">
               行业:
@@ -820,6 +834,7 @@ var IframeOnClick = {
 
             </div>
           </div>
+          {{end}}
           <!--价格区间-->
           <div class="Price clearfix">
             <div class="leftTitle">
@@ -873,6 +888,8 @@ var IframeOnClick = {
                 </area-city-component>
             </div>
           </div>
+          <!--领域化页面不展示-->
+          {{if not .T.bidField}}
           <!--信息类型-->
           <div class="information clearfix">
             <div class="leftTitle">
@@ -927,6 +944,7 @@ var IframeOnClick = {
               <span class="remindtwo"><span>"采购意向"</span>是指提供未发布招标公告前1-3个月,政府单位的采购意向信息,包含采购内容、预算金额、预计采购时间、采购联系人及联系方式等相关信息。</span>
             </span>
           </div>
+          {{end}}
           <!--附件-->
           <div class="attachment-filter clearfix">
             <div class="leftTitle">
@@ -940,19 +958,25 @@ var IframeOnClick = {
           </div>
           <!-- 高级筛选 -->
           <div class="advanced-filter clearfix">
-            <div class="advanced-title">
+            <div class="advanced-title" {{if .T.bidField}}style="margin: 0;"{{end}}>
               <strong>高级筛选</strong>
               <img class="icon-vip" src="{{Msg "seo" "cdn"}}/images/biddingSearch/VIP.png" alt="" />
             </div>
+            <!--领域化页面不展示-->
+            {{if not .T.bidField}}
             <div class="leftTitle" style="width: 116px;">采购单位类型:</div>
             <div class="buyclass">
               <span class="buyclass-all active">全部</span>
               <div class="buyclass-content" style="display: none;"></div>
             </div>
+            {{end}}
           </div>
           <!-- 其他筛选条件 -->
-          <div class="other-filter clearfix" style="display: none;">
+          <div class="other-filter clearfix" style="display: none;
+            {{if .T.bidField}}border: none; padding-top: 0px;{{end}}">
+            {{if not .T.bidField}}
             <div class="leftTitle" style="width: 116px;padding-top: 0;line-height: 30px;">其他筛选条件:</div>
+            {{end}}
             <div class="other-content">
               <div class="buy-select">
                 <span style="float: left;line-height: 30px;margin-right: 12px;color: #686868;">采购单位联系方式</span>
@@ -2266,7 +2290,7 @@ if(sessionselect){
         $(window).scrollTop(0);
         // 隐藏页码
         searchInnerVue.showPage = false
-        if($("#zbSeatchT [name='keywords']").val()==""&&$("#zbSeatchT [name='industry']").val()==""){
+        if(!$("#zbSeatchT [name='keywords']").val()&&!$("#zbSeatchT [name='industry']").val()){
           getNewBids(currentPage);
         }else{
           // getNewBiddings()