소스 검색

Merge branch 'dev2.0' of 192.168.3.17:qmx/jy into dev2.0

张金坤 8 년 전
부모
커밋
99b0cf9151
45개의 변경된 파일6077개의 추가작업 그리고 2218개의 파일을 삭제
  1. 2 1
      src/config.json
  2. 97 0
      src/jfw/front/entsearch.go
  3. 0 26
      src/jfw/front/entserach.go
  4. 101 10
      src/jfw/front/search.go
  5. 189 4
      src/jfw/front/supsearch.go
  6. 104 29
      src/jfw/front/swordfish.go
  7. 2 2
      src/jfw/jylabutil/entsearch.go
  8. 50 0
      src/jfw/jyutil/jyutil.go
  9. 603 0
      src/jfw/modules/entsesearch/.idea/workspace.xml
  10. 22 13
      src/jfw/modules/entsesearch/src/search/entsesearch.go
  11. 145 122
      src/jfw/modules/entsesearch/src/web/templates/weixin/entseSearch.html
  12. 1 0
      src/jfw/modules/followent/src/config.json
  13. 59 70
      src/jfw/modules/followent/src/followent/followent.go
  14. 4 3
      src/jfw/modules/followent/src/followent/myfwent.go
  15. 2 2
      src/jfw/modules/followent/src/web/staticres/jylab/followent/css/follow.css
  16. BIN
      src/jfw/modules/followent/src/web/staticres/jylab/followent/images/wx/nullxx.png
  17. 635 0
      src/jfw/modules/followent/src/web/templates/_error.html
  18. 7 4
      src/jfw/modules/followent/src/web/templates/weixin/add.html
  19. 7 3
      src/jfw/modules/followent/src/web/templates/weixin/list.html
  20. 99 67
      src/jfw/modules/followent/src/web/templates/weixin/set.html
  21. 5 0
      src/jfw/modules/weixin/src/wx/wx.go
  22. 0 1
      src/jfw/timetask/fishindex.go
  23. 4 1
      src/seo.json
  24. 80 15
      src/web/staticres/css/dev2/biddingSearch.css
  25. 75 27
      src/web/staticres/css/dev2/biddingSearch1.css
  26. 1 1
      src/web/staticres/css/dev2/reset_pc.css
  27. 8 8
      src/web/staticres/css/pc.css
  28. 1370 76
      src/web/staticres/css/search/superSearch.css
  29. 1 0
      src/web/staticres/css/wxlist.css
  30. 0 0
      src/web/staticres/images/biddingSearch/labbkimg.png
  31. 0 0
      src/web/staticres/images/biddingSearch/layclose.png
  32. BIN
      src/web/staticres/images/search/dy_close.png
  33. BIN
      src/web/staticres/images/search/history.png
  34. BIN
      src/web/staticres/images/search/history_clean.png
  35. BIN
      src/web/staticres/images/search/msgset.png
  36. 51 22
      src/web/staticres/js/biddingSearch.js
  37. 544 0
      src/web/staticres/js/superSearch.js
  38. 244 1
      src/web/staticres/wxswordfish/superSearch.css
  39. 86 55
      src/web/staticres/wxswordfish/superSearch.js
  40. 0 165
      src/web/staticres/wxswordfish/superSearch1.js
  41. 210 112
      src/web/templates/pc/biddingsearch_enterprise.html
  42. 174 414
      src/web/templates/pc/supsearch.html
  43. 154 22
      src/web/templates/weixin/search/mainSearch.html
  44. 936 936
      src/web/templates/weixin/search/superSearch.html
  45. 5 6
      src/web/templates/weixin/wxpush.html

+ 2 - 1
src/config.json

@@ -99,5 +99,6 @@
             "bodymsg": "剑鱼-招标信息打赏",
             "detailmsg": "招标推送信息[%s] 打赏%s元钱"
         }
-    }
+    },
+	"industry":"分类综合测试"
 }

+ 97 - 0
src/jfw/front/entsearch.go

@@ -0,0 +1,97 @@
+package front
+
+import (
+	"fmt"
+	"jfw/jylabutil"
+	"log"
+	//"math/rand"
+	"qfw/util"
+	//"qfw/util/redis"
+
+	"time"
+
+	"jfw/jyutil"
+	//"regexp"
+	"strconv"
+	//"strings"
+	//"sync"
+
+	"github.com/go-xweb/xweb"
+
+	//. "github.com/thinxer/go-word2vec"
+	//"gopkg.in/mgo.v2/bson"
+)
+
+type Entsearch struct {
+	*xweb.Action
+	bidsearchforent  xweb.Mapper `xweb:"/jylab/bidsearchforent"`
+	pcSearchZbqyAjax xweb.Mapper `xweb:"/jylab/pcSearchZbqyAjax"`
+}
+
+func init() {
+	xweb.AddAction(&Entsearch{})
+}
+
+func (e *Entsearch) Bidsearchforent() error {
+	defer util.Catch()
+	searchvalue := e.GetString("searchvalue")
+	area := e.GetString("area")
+	minprice, _ := strconv.Atoi(e.GetString("minprice"))
+	maxprice, _ := strconv.Atoi(e.GetString("maxprice"))
+
+	fmt.Println("searchvalue==", searchvalue)
+	fmt.Println("area==", area)
+	fmt.Println("lower==", minprice)
+	fmt.Println("upper==", maxprice)
+
+	if minprice == 0 {
+		e.T["minprice"] = ""
+	} else {
+		e.T["minprice"] = minprice
+	}
+	if maxprice == 0 {
+		e.T["maxprice"] = ""
+	} else {
+		e.T["maxprice"] = maxprice
+	}
+
+	e.T["searchvalue"] = searchvalue
+	e.T["area"] = area
+
+	log.Println("-------中标企业搜索:")
+
+	list := []map[string]interface{}{}
+	list = jylabutil.GetProjectByEntName("", "", 0, 0, 1, 10)
+	jyutil.BidListConvert("", &list)
+
+	for k, v := range list {
+		v["k"] = k + 1
+		t1 := time.Unix(util.Int64All(v["createtime"]), 0)
+		v["time1"] = util.TimeDiff(t1)
+		t2 := time.Unix(util.Int64All(v["zbtime"]), 0)
+		v["time2"] = util.TimeDiff(t2)
+
+		//fmt.Println(v["industry"])
+		//for i,z := range v{
+		//	fmt.Println(i)
+		//	fmt.Println(z)
+		//}
+	}
+	e.T["list"] = list
+	return e.Render("/pc/biddingsearch_enterprise.html", &e.T)
+}
+func (e *Entsearch) PcSearchZbqyAjax() error {
+	defer util.Catch()
+	searchvalue := e.GetString("searchvalue")
+	area := e.GetString("area")
+	minprice, _ := strconv.Atoi(e.GetString("minprice"))
+	maxprice, _ := strconv.Atoi(e.GetString("maxprice"))
+
+	fmt.Println("searchvalue==", searchvalue)
+	fmt.Println("area==", area)
+	fmt.Println("lower==", minprice)
+	fmt.Println("upper==", maxprice)
+
+	return nil
+
+}

+ 0 - 26
src/jfw/front/entserach.go

@@ -1,26 +0,0 @@
-package front
-
-import (
-	//"fmt"
-	//"jfw/config"
-	"log"
-	//"math/rand"
-	//"qfw/util"
-	//"time"
-
-	"github.com/go-xweb/xweb"
-)
-
-type Entsearch struct {
-	*xweb.Action
-	bidsearchforent xweb.Mapper `xweb:"/jylab/bidsearchforent"`
-}
-
-func init() {
-	xweb.AddAction(&Entsearch{})
-}
-
-func (p *Entsearch) Bidsearchforent() error {
-	log.Println("-------中标企业搜索:")
-	return p.Render("/pc/biddingsearch_enterprise.html", &p.T)
-}

+ 101 - 10
src/jfw/front/search.go

@@ -1,29 +1,120 @@
 package front
 
 import (
-	"fmt"
-
 	"github.com/go-xweb/xweb"
+	"strings"
+	"qfw/util"
+	"qfw/util/redis"
+	"jfw/wx"
+	"gopkg.in/mgo.v2/bson"
+	"fmt"
 )
 
 type Search struct {
 	*xweb.Action
 	/********************剑鱼搜索dev2.0**************************/
-	mainSearch  xweb.Mapper `xweb:"/jylab/mainSearch"`
-	superSearch xweb.Mapper `xweb:"/jylab/superSearch"`
+	mainSearch  xweb.Mapper `xweb:"/jylab/mainSearch"`				//剑鱼搜索主页面
+	superSearch xweb.Mapper `xweb:"/jylab/superSearch"`				//超级搜索
 }
 
 func init() {
 	xweb.AddAction(&Search{})
 }
 func (s *Search) MainSearch() error {
-	fmt.Println("------主页面搜索------")
-	s.T["name"] = "主页面搜索"
+	if userid := s.GetSession("userId"); userid != nil {
+		history := redis.GetStr("other", "s_"+userid.(string))
+		arrs := strings.Split(history, ",")
+		if history == "" {
+			arrs = make([]string, 0)
+		}
+		l := len(arrs) - 1
+		for i := 0; i < len(arrs)/2; i++ {
+			tmp := arrs[l-i]
+			arrs[l-i] = arrs[i]
+			arrs[i] = tmp
+		}
+		s.T["history"] = arrs
+		one, _ := mongodb.FindOneByField("user", bson.M{"_id": bson.ObjectIdHex(userid.(string))}, `{"o_jy":1}`)
+		if one != nil && len(*one) > 0 {
+			o_jy, _ := (*one)["o_jy"].(map[string]interface{})
+			a_key, _ := o_jy["a_key"].([]interface{})
+			var keys []interface{}
+			for _, v := range a_key {
+				keyMap, _ := v.(map[string]interface{})
+				key, _ := keyMap["key"].([]interface{})
+				keys = append(keys, key)
+			}
+			s.T["msgset"] = keys
+		}
+	}
 	return s.Render("/weixin/search/mainSearch.html", &s.T)
 }
+func (m *Search) SuperSearch() error{
+	defer util.Catch()
+	searchvalue := strings.Trim(m.GetString("searchvalue"), " ")
+	var list *[]map[string]interface{}
+	if userid := m.GetSession("userId"); userid != nil {
+		if len(searchvalue) > 0 {
+			searchname := strings.Replace(strings.Replace(searchvalue, " ", "+", -1), "++", "+", -1)
+			list = getWxsearchlistData(searchvalue, searchname, "", "", "","", 1, "all")
+			history := redis.GetStr("other", "s_"+userid.(string))
+			arrs := strings.Split(history, ",")
+			if history == "" {
+				arrs = make([]string, 0)
+			}
+			var historyFlag = 0
+			for _, v := range arrs {
+				fmt.Print(v == strings.Trim(searchvalue, " "))
+				if v == strings.Trim(searchvalue, " ") {
+					historyFlag = 1
+					break
+				}
+			}
+			if historyFlag != 1 {
+				arrs = append(arrs, searchvalue)
+				if len(arrs) > 5 {
+					arrs = arrs[1:6]
+				}
+				redis.Del("other", "s_"+userid.(string))
+				redis.Put("other", "s_"+userid.(string), strings.Join(arrs, ","), -1)
+			}
+			l := len(arrs) - 1
+			for i := 0; i < len(arrs)/2; i++ {
+				tmp := arrs[l-i]
+				arrs[l-i] = arrs[i]
+				arrs[i] = tmp
+			}
+			m.T["history"] = arrs
+			one, _ := mongodb.FindOneByField("user", bson.M{"_id": bson.ObjectIdHex(userid.(string))}, `{"o_jy":1}`)
+			if one != nil && len(*one) > 0 {
+				o_jy, _ := (*one)["o_jy"].(map[string]interface{})
+				a_key, _ := o_jy["a_key"].([]interface{})
+				var keys []interface{}
+				for _, v := range a_key {
+					keyMap, _ := v.(map[string]interface{})
+					key, _ := keyMap["key"].([]interface{})
+					keys = append(keys, key)
+				}
+				m.T["msgset"] = keys
+			}
+		}
+		m.T["list"] = list
+		m.T["pageSize"] = wx_pageSize
+		m.T["searchvalue"] = searchvalue
 
-func (s *Search) SuperSearch() error {
-	fmt.Println("------超级搜索------")
-	s.T["name"] = "超级搜索"
-	return s.Render("/weixin/search/superSearch.html", &s.T)
+		//搜索列表增加分享
+		m.T["signature"] = wx.SignJSSDK(m.Site() + m.Url())
+		myopenid, _ := m.Session().Get("s_m_openid").(string)
+		m.T["openid"] = se.EncodeString(myopenid)
+		mynickname, _ := m.Session().Get("s_nickname").(string)
+		myavatar, _ := m.Session().Get("s_avatar").(string)
+		m.T["nickname"] = mynickname
+		m.T["avatar"] = myavatar
+		//行业信息数据
+		industry, sortArray := getindustrys()
+		m.T["industry"]=industry
+		m.T["sortArray"]=sortArray
+	}
+	return  m.Render("/weixin/search/superSearch.html", &m.T)
 }
+

+ 189 - 4
src/jfw/front/supsearch.go

@@ -3,9 +3,12 @@ package front
 import (
 	"fmt"
 	"jfw/config"
+	"jfw/jyutil"
 	"log"
 	"math/rand"
 	"qfw/util"
+	"qfw/util/redis"
+	"strings"
 	"time"
 
 	"github.com/go-xweb/xweb"
@@ -14,8 +17,8 @@ import (
 type Pcsearch struct {
 	*xweb.Action
 
-	pcSearchIndex xweb.Mapper `xweb:"/jylab/supsearch/index"`
-	getEntName    xweb.Mapper `xweb:"/jylab/supsearch/getentname"`
+	pcSearchIndex xweb.Mapper `xweb:"/jylab/supsearch/index.html"`
+	getNewBids    xweb.Mapper `xweb:"/jylab/supsearch/getNewBids"`
 }
 
 func init() {
@@ -23,7 +26,22 @@ func init() {
 }
 
 //
-func (p *Pcsearch) GetEntName() error {
+func (p *Pcsearch) GetNewBids() error {
+	pagenum, _ := p.GetInteger("pageNumber")
+	var count int64
+	count = 500
+	//	searchvalue := p.GetString("searchvalue")
+	//	area := p.GetString("area")
+	//	publishtime := p.GetString("publishtime")
+	//toptype := p.GetString("toptype")
+	//subtype := p.GetString("subtype")
+	log.Println("pagenum:", pagenum)
+	pagenum = util.IntAll(pagenum)
+	data := redis.Get("other", "index_list").([]interface{})
+	p.ServeJson(map[string]interface{}{
+		"list":  data[pagenum-1],
+		"count": count,
+	})
 	return nil
 }
 
@@ -35,7 +53,174 @@ func (p *Pcsearch) PcSearchIndex() error {
 	if len(shareid) == 0 {
 		shareid = fmt.Sprintf("%s%d", config.Seoconfig["jysslby"].(string)+fmt.Sprintf("%d", time.Now().UnixNano())[8:14], rand.Intn(9))
 	}
+	keywords := p.GetString("keywords")       //关键词
+	searchvalue := p.GetString("searchvalue") //关键词
+	area := p.GetString("area")               //地区
+	publishtime := p.GetString("publishtime") //发布时间
+	toptype := p.GetString("toptype")         //信息类型
+	subtype := p.GetString("subtype")         //信息类型
+	minprice, _ := p.GetFloat("minprice")     //最低价格
+	maxprice, _ := p.GetFloat("maxprice")     //最高价格
+	log.Println(minprice, "---", maxprice)
+	industry := p.GetString("industry")     //选中的行业
+	selectType := p.GetString("selectType") //标题或全文
+	selectTypesess := p.GetSession("selectType")
+	if selectTypesess != nil && selectTypesess != "" {
+		selectType = selectTypesess.(string)
+	}
+	if selectType == "" {
+		selectType = "all"
+	}
+	var count int64
+	var list *[]map[string]interface{}
+	if len(searchvalue) > 0 {
+		count, list = getBidSearchData(searchvalue, area, publishtime, subtype, industry, 0, true, selectType)
+	} else if p.Method() == "POST" {
+		count, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, 0, true)
+		if list != nil {
+			for _, v := range *list {
+				v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
+				stp, _ := v["subtype"].(string)
+				if stp == "" {
+					stp, _ = v["toptype"].(string)
+				}
+				area, _ := v["area"].(string)
+				v["stypeadd"], v["areaadd"] = classify(stp, area)
+				//正文匹配检索关键词
+				highlight, _ := v["highlight"].(map[string][]string)
+				detail := ""
+				for _, val := range highlight["detail"] {
+					detail += clearHtml.ReplaceAllString(val, "")
+				}
+				v["detail"] = detail
+			}
+		}
+		p.T["list"] = list
+		p.T["area"] = area
+		p.T["publishtime"] = publishtime
+		p.T["timeslot"] = p.GetString("timeslot")
+		p.T["toptype"] = toptype
+		p.T["subtype"] = subtype
+		p.T["count"] = count
+		p.T["keywords"] = keywords
+		p.T["searchvalue"] = searchvalue
+		p.T["selectType"] = selectType
+		p.T["login"] = p.Session().Get("user")
+		p.SetSession("paramkey", keywords)
+		if publishtime == "lately-7" {
+			p.SetSession("parampublishtime", "最近7天")
+		} else if publishtime == "lately-30" {
+			p.SetSession("parampublishtime", "最近30天")
+		} else if publishtime == "thisyear" {
+			p.SetSession("parampublishtime", "去年")
+		} else {
+			p.SetSession("parampublishtime", publishtime)
+		}
+		p.SetSession("paramarea", area)
+		if subtype != "" {
+			p.SetSession("paraminfotype", subtype)
+		} else {
+			p.SetSession("paraminfotype", toptype)
+		}
+	} else {
+		p.DisableHttpCache()
+		Newbids()
+		data := redis.Get("other", "index_list").([]interface{})
+		p.T["list"] = data[0]
+	}
+	industrylist, sortArray := getindustrys()
+	p.T["industrylist"] = industrylist
+	p.T["sortArray"] = sortArray
 	p.T["shareid"] = se.EncodeString(shareid)
-	log.Println("-------超级搜索:")
 	return p.Render("/pc/supsearch.html", &p.T)
 }
+
+//
+func getindustrys() (industry map[string][]string, sortArray []string) {
+	industry = map[string][]string{}
+	sortArray = []string{}
+	industryname := config.Sysconfig["industry"].(string)
+	classdata, ok1 := mongodb.FindOneByField("rc_task", `{"s_name":"`+industryname+`"}`, `{"s_class":1}`)
+	if ok1 && len(*classdata) > 0 {
+		classid := ""
+		if util.ObjToString((*classdata)["s_class"]) != "" {
+			classids := strings.Split(util.ObjToString((*classdata)["s_class"]), ",")
+			for k, v := range classids {
+				if k > 0 {
+					classid += `,`
+				}
+				classid += `"` + v + `"`
+			}
+		}
+		industryData, ok := mongodb.Find("rc_rule", `{"s_pid":{"$ne":""},"s_classid":{"$in":[`+classid+`]}}`, `{"i_order":1}`, `{"_id":1,"s_name":1}`, false, -1, -1)
+		if ok && industryData != nil && len(*industryData) > 0 {
+			for _, v := range *industryData {
+				fatFlag := 0
+				industryname, _ := v["s_name"].(string)
+				if strings.Contains(industryname, "_") {
+					fat := strings.Split(industryname, "_")[0]
+					child := strings.Split(industryname, "_")[1]
+					if len(industry[fat]) == 0 {
+						sortArray = append(sortArray, fat)
+					}
+					for _, fv := range industry[fat] {
+						if fv == strings.Trim(child, " ") {
+							fatFlag = 1
+							break
+						}
+					}
+					if fatFlag != 1 {
+						industry[fat] = append(industry[fat], child)
+					}
+				}
+			}
+		}
+	}
+	return industry, sortArray
+}
+
+//
+func Newbids() {
+	var list *[]map[string]interface{}
+	pages := make([]interface{}, 0)
+	if redis.Get("other", "index_list") == nil {
+		intns := make([]int, 0)
+		for i := 0; i < 10; i++ {
+			if len(intns) == 0 {
+				intns = append(intns, rand.Intn(100))
+			} else {
+				for {
+					v := rand.Intn(intns[(i-1)] + 100)
+					if v-intns[(i-1)] >= 30 {
+						intns = append(intns, v)
+						break
+					}
+				}
+			}
+		}
+		for i := 0; i < 10; i++ {
+			_, list = getLastNewsData("", "", "", "", "", intns[i], true)
+			jyutil.BidListConvert("", list)
+			for k, v := range *list {
+				v["k"] = (k + 1) + i*50
+				t := time.Unix(util.Int64All(v["publishtime"]), 0)
+				v["timetemp"] = fmt.Sprint(util.Int64All(v["publishtime"]))
+				v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
+				v["time"] = util.TimeDiff(t)
+				var stp = ""
+				if v["subtype"] != nil {
+					stp, _ = v["subtype"].(string)
+				} else {
+					stp = ""
+				}
+				if stp == "" && v["toptype"] != nil {
+					stp, _ = v["toptype"].(string)
+				}
+				area, _ := v["area"].(string)
+				v["stypeadd"], v["areaadd"] = classify(stp, area)
+			}
+			pages = append(pages, list)
+		}
+		redis.Put("other", "index_list", pages, 60*60*2)
+	}
+}

+ 104 - 29
src/jfw/front/swordfish.go

@@ -6,6 +6,7 @@ import (
 	"fmt"
 	"html/template"
 	"jfw/config"
+	"jfw/jyutil"
 	"jfw/tools"
 	"jfw/wx"
 	"log"
@@ -29,7 +30,8 @@ const (
 	bidSearch_maxPageSize = 10 //招标搜索分页--最大页数
 	wx_maxPageNum         = 20
 	wx_pageSize           = 50
-	bidSearch_field       = `"_id","title","publishtime","toptype","subtype","type","area","href","detail"`
+	bidSearch_field_1     = `"_id","title","publishtime","toptype","subtype","type","area","href","bidopentime","winner","agency","bidamount","budget","biddingcontent","projectname"`
+	bidSearch_field       = bidSearch_field_1 + `,"detail"`
 	bidSearch_sort        = `{"publishtime":-1}`
 )
 
@@ -137,8 +139,9 @@ func (m *Front) NewSordfish() error {
 			return m.SetBody([]byte(ret.(string)))
 		} else {
 			m.DisableHttpCache()
-			lastBids := elastic.GetPage("bidding", "bidding", "{}", `{"publishtime":-1}`, `"_id","title","publishtime","toptype","subtype","type","area","href"`, 0, 18)
+			lastBids := elastic.GetPage("bidding", "bidding", "{}", bidSearch_sort, `"_id","title","publishtime","toptype","subtype","type","area","href","biddingcontent"`, 0, 18)
 			if lastBids != nil && len(*lastBids) > 0 {
+				jyutil.BidListConvert("", lastBids)
 				lbnHtml, olHtml := structureLastBidsHtml(lastBids)
 				m.T["lbnHtml"] = lbnHtml
 				m.T["olHtml"] = olHtml
@@ -279,6 +282,7 @@ func (m *Front) Searchinfolist(p string) error {
 	publishtime := m.GetString("publishtime")
 	toptype := m.GetString("toptype")
 	subtype := m.GetString("subtype")
+	industry := m.GetString("industry")
 	selectType := m.GetString("selectType")
 	selectTypesess := m.GetSession("selectType")
 	if selectTypesess != nil && selectTypesess != "" {
@@ -292,10 +296,10 @@ func (m *Front) Searchinfolist(p string) error {
 	var list *[]map[string]interface{}
 	pages := make([]interface{}, 0)
 	if len(searchvalue) > 0 {
-		count, list = getBidSearchData(searchvalue, area, publishtime, subtype, 0, true, selectType)
+		count, list = getBidSearchData(searchvalue, area, publishtime, subtype, industry, 0, true, selectType)
 	} else if m.Method() == "POST" {
 		status = 2
-		count, list = getLastNewsData(searchvalue, area, publishtime, subtype, 0, true)
+		count, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, 0, true)
 	} else {
 		status = 2
 		if redis.Get("other", "index_list") == nil {
@@ -314,7 +318,7 @@ func (m *Front) Searchinfolist(p string) error {
 				}
 			}
 			for i := 0; i < 10; i++ {
-				count, list = getLastNewsData(searchvalue, area, publishtime, subtype, intns[i], true)
+				count, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, intns[i], true)
 				for k, v := range *list {
 					v["k"] = (k + 1) + i*50
 					t := time.Unix(util.Int64All(v["publishtime"]), 0)
@@ -418,8 +422,10 @@ func (m *Front) PcAjaxReq() {
 	reqType := m.GetString("reqType")
 	//获取最新招标信息
 	if reqType == "lastBids" {
+		ls := elastic.GetPage(INDEX, TYPE, "{}", bidSearch_sort, bidSearch_field_1, 0, 18)
+		jyutil.BidListConvert("", ls)
 		m.ServeJson(map[string]interface{}{
-			"list": elastic.GetPage("bidding", "bidding", "{}", `{"publishtime":-1}`, `"_id","title","publishtime","toptype","subtype","type","area","href"`, 0, 18),
+			"list": ls,
 		})
 		return
 	} else if reqType == "rewardText" {
@@ -437,22 +443,21 @@ func (m *Front) PcAjaxReq() {
 	searchvalue := m.GetString("searchvalue")
 	publishtime := m.GetString("publishtime")
 	selectType := m.GetString("selectType")
+	industry := m.GetString("industry")
 	m.SetSession("selectType", selectType)
-	fmt.Println(selectType)
-
 	var list *[]map[string]interface{}
 	var count int64
 	status, _ := m.GetInteger("status")
 	if reqType == "filter" {
 		if status == 1 {
-			count, list = getBidSearchData(searchvalue, area, publishtime, subtype, 0, true, selectType)
+			count, list = getBidSearchData(searchvalue, area, publishtime, subtype, industry, 0, true, selectType)
 		} else if status == 2 {
-			count, list = getLastNewsData(searchvalue, area, publishtime, subtype, 0, true)
+			count, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, 0, true)
 		}
 	} else if reqType == "bidSearch" {
-		_, list = getBidSearchData(searchvalue, area, publishtime, subtype, start, false, selectType)
+		count, list = getBidSearchData(searchvalue, area, publishtime, subtype, industry, start, true, selectType)
 	} else if reqType == "lastNews" {
-		_, list = getLastNewsData(searchvalue, area, publishtime, subtype, start, false)
+		_, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, start, false)
 	}
 	if list != nil && len(*list) > 0 {
 		for _, v := range *list {
@@ -484,8 +489,8 @@ func (m *Front) PcAjaxReq() {
 /**
 **页面搜索
 **/
-func getBidSearchData(searchvalue, area, publishtime, subtype string, start int, isGetCount bool, selectType string) (count int64, list *[]map[string]interface{}) {
-	query := getBidSearchQuery(area, publishtime, subtype)
+func getBidSearchData(searchvalue, area, publishtime, subtype, industry string, start int, isGetCount bool, selectType string) (count int64, list *[]map[string]interface{}) {
+	query := getBidSearchQuery(area, publishtime, subtype, industry)
 	//selectType:全文搜索(all)、标题搜索(title)
 	var qstr string
 	qstr = elastic.GetNgramQuery(searchvalue, query, `"title","detail"` /*FINDF*/)
@@ -502,6 +507,7 @@ func getBidSearchData(searchvalue, area, publishtime, subtype string, start int,
 			repl = elastic.GetByNgram(INDEX, TYPE, searchvalue, query, `"title"` /*FINDF*/, bidSearch_sort, bidSearch_field, start, bidSearch_pageSize)
 		}
 		if repl != nil && *repl != nil && len(*repl) > 0 {
+			jyutil.BidListConvert(industry, repl)
 			list = repl
 		}
 	}
@@ -511,9 +517,9 @@ func getBidSearchData(searchvalue, area, publishtime, subtype string, start int,
 	}
 	return
 }
-func getLastNewsData(searchvalue, area, publishtime, subtype string, start int, isGetCount bool) (count int64, list *[]map[string]interface{}) {
+func getLastNewsData(searchvalue, area, publishtime, subtype, industry string, start int, isGetCount bool) (count int64, list *[]map[string]interface{}) {
 	//最新招标信息
-	query := getBidSearchQuery(area, publishtime, subtype)
+	query := getBidSearchQuery(area, publishtime, subtype, industry)
 	strquery := `{"query":{"bool":{"must":[` + query + `],"must_not":[],"should":[],"minimum_should_match" : 1}}}`
 	if isGetCount {
 		count = elastic.Count(INDEX, TYPE, strquery)
@@ -526,6 +532,7 @@ func getLastNewsData(searchvalue, area, publishtime, subtype string, start int,
 		}
 		repl := elastic.GetByNgramOther(INDEX, TYPE, searchvalue, query, `"title","detail"` /*FINDF*/, bidSearch_sort, bidSearch_field, start, bidSearch_pageSize, true, false, 115)
 		if repl != nil && *repl != nil && len(*repl) > 0 {
+			jyutil.BidListConvert(industry, repl)
 			list = repl
 		}
 	}
@@ -535,7 +542,7 @@ func getLastNewsData(searchvalue, area, publishtime, subtype string, start int,
 	}
 	return
 }
-func getBidSearchQuery(area, publishtime, subtype string) string {
+func getBidSearchQuery(area, publishtime, subtype, industry string) string {
 	query := ``
 	if area != "" {
 		query += `{"terms":{"area":[`
@@ -595,6 +602,19 @@ func getBidSearchQuery(area, publishtime, subtype string) string {
 		}
 		query += `]}}`
 	}
+	if industry != "" {
+		if len(query) > 0 {
+			query += ","
+		}
+		query += `{"regexp":{"industry":".*(`
+		for k, v := range strings.Split(industry, ",") {
+			if k > 0 {
+				query += `|`
+			}
+			query += "," + v + ","
+		}
+		query += `).*"}}`
+	}
 	return query
 }
 func getLastNewsQuery(area, publishtime, subtype string) string {
@@ -698,6 +718,7 @@ func (m *Front) Wxsearch() error {
 	subtype := m.GetSession("subtype")
 	scope := m.GetSession("scope")
 	publishtime := m.GetSession("publishtime")
+	industry := m.GetSession("industry")
 	if shname != "" && shname != nil {
 		m.T["shname"] = shname
 	}
@@ -705,6 +726,7 @@ func (m *Front) Wxsearch() error {
 	m.T["subtype"] = subtype
 	m.T["scope"] = scope
 	m.T["publishtime"] = publishtime
+	m.T["industry"] = industry
 	m.T["signature"] = wx.SignJSSDK(m.Site() + m.Url())
 	mynickname, _ := m.Session().Get("s_nickname").(string)
 	myavatar, _ := m.Session().Get("s_avatar").(string)
@@ -748,12 +770,14 @@ func (m *Front) Wxsearchlist() error {
 	searchvalue := m.GetString("searchvalue")
 	toptype := m.GetString("toptype")
 	subtype := m.GetString("subtype")
+	industry := m.GetString("industry")
 	scope := m.GetString("scope")
 	publishtime := m.GetString("publishtime")
 	selectType := m.GetString("selectType")
 	m.SetSession("shname", keywords)
 	m.SetSession("toptype", toptype)
 	m.SetSession("subtype", subtype)
+	m.SetSession("industry", industry)
 	m.SetSession("scope", scope)
 	m.SetSession("publishtime", publishtime)
 	var list *[]map[string]interface{}
@@ -762,7 +786,7 @@ func (m *Front) Wxsearchlist() error {
 			if selectType == "" { //默认设置为全文搜索
 				selectType = "all"
 			}
-			list = getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype, 1, selectType)
+			list = getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype, industry, 1, selectType)
 
 			r := redis.GetStr("other", "s_"+userid.(string))
 			arrs := strings.Split(r, ",")
@@ -812,17 +836,68 @@ func (m *Front) WxsearchlistPaging() {
 	var list *[]map[string]interface{}
 	pageNum, _ := m.GetInteger("pageNum")
 	if userid != nil && pageNum <= wx_maxPageNum {
-		keywords := strings.Trim(m.GetString("searchname"), " ")
-		searchvalue := m.GetString("searchvalue")
+		//keywords := strings.Trim(m.GetString("searchvalue"), " ")
+		searchvalue := strings.Trim(m.GetString("searchvalue"), " ")
+		searchname := strings.Replace(strings.Replace(searchvalue, " ", "+", -1), "++", "+", -1)
 		subtype := m.GetString("subtype")
 		scope := m.GetString("scope")
 		publishtime := m.GetString("publishtime")
 		selectType := m.GetString("selectType")
-		list = getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype, pageNum, selectType)
+		industry := m.GetString("industry")
+		list = getWxsearchlistData(searchvalue, searchname, scope, publishtime, subtype, industry, pageNum, selectType)
+
+		//历史记录和订阅查询
+		//if userId := m.GetSession("userId"); userId != nil {
+			one, _ := mongodb.FindOneByField("user", bson.M{"_id": bson.ObjectIdHex(userid.(string))}, `{"o_jy":1}`)
+			history := redis.GetStr("other", "s_"+userid.(string))
+			arrs := strings.Split(history, ",")
+
+			if history == "" {
+				arrs = make([]string, 0)
+			}
+			var historyFlag= 0
+			for _, v := range arrs {
+				if v == strings.Trim(searchvalue, " ") {
+					historyFlag = 1
+					break
+				}
+			}
+			if historyFlag != 1 {
+				arrs = append(arrs, searchvalue)
+				if len(arrs) > 5 {
+					arrs = arrs[1:6]
+				}
+				redis.Del("other", "s_"+userid.(string))
+				redis.Put("other", "s_"+userid.(string), strings.Join(arrs, ","), -1)
+			}
+			l := len(arrs) - 1
+			for i := 0; i < len(arrs)/2; i++ {
+				tmp := arrs[l-i]
+				arrs[l-i] = arrs[i]
+				arrs[i] = tmp
+			}
+			m.T["history"] = arrs
+
+			if one != nil && len(*one) > 0 {
+				o_jy, _ := (*one)["o_jy"].(map[string]interface{})
+				a_key, _ := o_jy["a_key"].([]interface{})
+				var keys []interface{}
+				for _, v := range a_key {
+					keyMap, _ := v.(map[string]interface{})
+					key, _ := keyMap["key"].([]interface{})
+					keys = append(keys, key)
+				}
+				m.T["msgset"] = keys
+			}
+
 	}
+
+
 	m.ServeJson(map[string]interface{}{
 		"list":        list,
 		"hasNextPage": list != nil && len(*list) == wx_pageSize && pageNum < wx_maxPageNum,
+		"history":     m.T["history"],
+		"msgset":      m.T["msgset"],
 	})
 }
 
@@ -842,18 +917,18 @@ func (m *Front) DelWxHistorySearch() {
 }
 
 //微信端搜索
-func getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype string, pageNum int, selectType string) (list *[]map[string]interface{}) {
-	field := `"_id","title","publishtime","toptype","subtype","type","area","href"`
-	sort := `{"publishtime":-1}`
-	query := getBidSearchQuery(scope, publishtime, subtype) //scope是地区对应传进的areas, stype是类型对应scope
+func getWxsearchlistData(keywords, searchvalue, scope, publishtime, subtype, industry string, pageNum int, selectType string) (list *[]map[string]interface{}) {
+	query := getBidSearchQuery(scope, publishtime, subtype, industry) //scope是地区对应传进的areas, stype是类型对应scope
+	fmt.Print("keywords>>>",keywords,"searchvalue>>",searchvalue)
 	if len(keywords) > 0 {
 		if selectType == "all" { //全文搜索
-			list = elastic.GetByNgramOther(INDEX, TYPE, searchvalue, query, `"title","detail"`, sort, field, (pageNum-1)*wx_pageSize, wx_pageSize, true, false, 100)
+			list = elastic.GetByNgramOther(INDEX, TYPE, searchvalue, query, `"title","detail"`, bidSearch_sort, bidSearch_field_1, (pageNum-1)*wx_pageSize, wx_pageSize, true, false, 100)
 		} else { //标题搜索
-			list = elastic.GetByNgram(INDEX, TYPE, searchvalue, query, `"title"` /*FINDF*/, sort, field, (pageNum-1)*wx_pageSize, wx_pageSize)
+			list = elastic.GetByNgram(INDEX, TYPE, searchvalue, query, `"title"` /*FINDF*/, bidSearch_sort, bidSearch_field_1, (pageNum-1)*wx_pageSize, wx_pageSize)
 		}
 
 		if list != nil {
+			jyutil.BidListConvert("", list)
 			for _, v := range *list {
 				v["_id"] = util.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
 			}
@@ -1060,7 +1135,7 @@ func pcVRT(sid string) (po, bo, wo []map[string]interface{}, objdata map[string]
 			objdata = *obj
 			queryStr := ""
 			commonQuery := func(mustquery string) *[]map[string]interface{} {
-				return elastic.GetPage("bidding", "bidding", queryStr, `{"publishtime":-1}`, `"_id","title","publishtime","toptype","subtype","type","area","href"`, 0, 11)
+				return elastic.GetPage("bidding", "bidding", queryStr, bidSearch_sort, `"_id","title","publishtime","toptype","subtype","type","area","href"`, 0, 11)
 			}
 			//同一个项目的其他招标信息
 			projectName, _ := (*obj)["projectname"].(string)
@@ -1960,7 +2035,7 @@ func (f *Front) SearchResult(at, name string) error {
 			if count1 < startPage || startPage < 0 {
 				startPage = 0
 			}
-			datas = elastic.GetPage(INDEX, TYPE, query, `{"publishtime":-1}`, `"_id","title","publishtime","toptype","subtype","type","area","href"`, startPage, limitcount)
+			datas = elastic.GetPage(INDEX, TYPE, query, bidSearch_sort, `"_id","title","publishtime","toptype","subtype","type","area","href"`, startPage, limitcount)
 			redis.Put("other", "classify_"+name, datas, 2*60*60)
 		} else {
 			b, _ := json.Marshal(list)

+ 2 - 2
src/jfw/jylabutil/entsearch.go

@@ -21,7 +21,7 @@ func GetEenNameImmediate(name string, limit int) []map[string]interface{} {
 				  "minimum_should_match": 1
 			    }
 			  },
-			  "_source": ["name"],
+			  "_source": ["name","_id"],
 			  "from": 0,"size": ` + fmt.Sprint(limit) + `
 			}`
 	list := *elastic.Get("winner", "winner", query)
@@ -44,7 +44,7 @@ func GetProjectByEntName(entname string, area string, lower, upper, pagenum, pag
 	list := *elastic.GetByNgram(
 		"projectset", "projectset",
 		entname, mastquery,
-		`"winner"`,
+		`"winner","biddingcontent"`,
 		`{"createtime":-1}`, ``, (pagenum-1)*pagesize, pagesize,
 	)
 	return list

+ 50 - 0
src/jfw/jyutil/jyutil.go

@@ -85,3 +85,53 @@ func ReplaceSymbol(con string, rep []string) string {
 	}
 	return con
 }
+
+/*
+ * 结果列表转换,目前只换行行业字段
+ * 所有的招标搜索都要调用此方法,列表中有展示行业的也可以用
+ * industry 搜索条件中的行业,默认为空
+ */
+func BidListConvert(industry string, list *[]map[string]interface{}) {
+	if list == nil {
+		return
+	}
+	commonSubstring := func(v string) (value string) {
+		bcs := strings.Split(v, "_")
+		if len(bcs) == 1 {
+			value = bcs[0]
+		} else if len(bcs) == 2 {
+			value = bcs[1]
+			if strings.TrimSpace(value) == "" {
+				value = bcs[0]
+			}
+		}
+		return
+	}
+	for _, v := range *list {
+		value := ""
+		biddingcontent, _ := v["biddingcontent"].([]interface{})
+		bct := util.ObjArrToStringArr(biddingcontent)
+		if bct == nil || len(bct) == 0 {
+			continue
+		}
+		//搜索条件中没有行业的话,取查询结果中第一个行业
+		if industry == "" {
+			value = commonSubstring(bct[0])
+		} else { //搜索条件中有行业的话,取行业中和搜索条件相对应的第一个
+			industrys := strings.Split(industry, ",")
+		L:
+			for _, bc := range bct {
+				for _, is := range industrys {
+					if bc == is {
+						value = commonSubstring(bc)
+						break L
+					}
+				}
+			}
+		}
+		if strings.TrimSpace(value) == "" {
+			continue
+		}
+		v["industry"] = value
+	}
+}

+ 603 - 0
src/jfw/modules/entsesearch/.idea/workspace.xml

@@ -0,0 +1,603 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="8aeecff7-7661-418b-8b35-28dd61a91106" name="Default" comment="" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="TRACKING_ENABLED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
+  <component name="FileEditorManager">
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <file leaf-file-name="main.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/main.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="200">
+              <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+              <folding>
+                <element signature="e#14#173#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="entinfo.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/search/entinfo.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="0">
+              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="entsesearch.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/search/entsesearch.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1220">
+              <caret line="70" column="0" lean-forward="false" selection-start-line="70" selection-start-column="0" selection-end-line="70" selection-end-column="0" />
+              <folding>
+                <element signature="e#16#129#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="config.json" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/config.json">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="20">
+              <caret line="1" column="23" lean-forward="true" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="41" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="entseSearch.html" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/web/templates/weixin/entseSearch.html">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="20">
+              <caret line="263" column="50" lean-forward="false" selection-start-line="263" selection-start-column="50" selection-end-line="263" selection-end-column="50" />
+              <folding>
+                <element signature="n#style#0;n#div#0;n#div#0;n#form#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="mongo.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../tools/mongo.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="114">
+              <caret line="12" column="34" lean-forward="true" selection-start-line="12" selection-start-column="34" selection-end-line="12" selection-end-column="34" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="config.go" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/../../config/config.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="80">
+              <caret line="6" column="4" lean-forward="false" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="4" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="entsearch.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../jylabutil/entsearch.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="302">
+              <caret line="84" column="0" lean-forward="false" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="tools.go" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../tools/tools.go">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="0">
+              <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindInProjectRecents">
+    <findStrings>
+      <find>recList</find>
+    </findStrings>
+  </component>
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsGulpfileManager">
+    <detection-done>true</detection-done>
+    <sorting>DEFINITION_ORDER</sorting>
+  </component>
+  <component name="ProjectFrameBounds">
+    <option name="x" value="-8" />
+    <option name="y" value="-8" />
+    <option name="width" value="1382" />
+    <option name="height" value="744" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="ProjectPane" proportions="" version="1">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+      <manualOrder />
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="Scope" />
+      <pane id="Scratches" />
+      <pane id="ProjectPane">
+        <subPane>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="web" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="templates" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="weixin" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="web" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="templates" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="web" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="entsesearch" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="search" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+        </subPane>
+      </pane>
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="settings.editor.selected.configurable" value="com.goide.configuration.GoLibrariesConfigurableProvider" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/src/main.go" />
+    <property name="configurable.Global.GOPATH.is.expanded" value="true" />
+    <property name="configurable.Project.GOPATH.is.expanded" value="true" />
+    <property name="configurable.Module.GOPATH.is.expanded" value="true" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager" selected="Go Application.entseSearch">
+    <configuration default="true" type="GoApplicationRunConfiguration" factoryName="Go Application">
+      <module name="" />
+      <working_directory value="$PROJECT_DIR$" />
+      <go_parameters value="-i" />
+      <filePath value="$PROJECT_DIR$" />
+      <kind value="FILE" />
+      <method />
+    </configuration>
+    <configuration default="true" type="GoRunFileConfiguration" factoryName="Go Single File">
+      <module name="" />
+      <working_directory value="$PROJECT_DIR$" />
+      <filePath value="$PROJECT_DIR$" />
+      <method />
+    </configuration>
+    <configuration default="true" type="GoTestRunConfiguration" factoryName="Go Test">
+      <module name="" />
+      <working_directory value="$PROJECT_DIR$" />
+      <go_parameters value="-i" />
+      <framework value="gotest" />
+      <kind value="DIRECTORY" />
+      <method />
+    </configuration>
+    <configuration default="true" type="JavaScriptTestRunnerJest" factoryName="Jest">
+      <node-interpreter value="project" />
+      <working-dir value="" />
+      <envs />
+      <scope-kind value="ALL" />
+      <method />
+    </configuration>
+    <configuration default="true" type="JavaScriptTestRunnerProtractor" factoryName="Protractor">
+      <config-file value="" />
+      <node-interpreter value="project" />
+      <envs />
+      <method />
+    </configuration>
+    <configuration default="true" type="JavascriptDebugType" factoryName="JavaScript Debug">
+      <method />
+    </configuration>
+    <configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
+      <node-interpreter>project</node-interpreter>
+      <node-options />
+      <gulpfile />
+      <tasks />
+      <arguments />
+      <envs />
+      <method />
+    </configuration>
+    <configuration default="true" type="js.build_tools.npm" factoryName="npm">
+      <command value="run" />
+      <scripts />
+      <node-interpreter value="project" />
+      <envs />
+      <method />
+    </configuration>
+    <configuration default="false" name="entseSearch" type="GoApplicationRunConfiguration" factoryName="Go Application">
+      <output_file path="D:\jianyu\jy\src\jfw\modules\entsesearch\src" />
+      <module name="entsesearch" />
+      <working_directory value="$PROJECT_DIR$" />
+      <go_parameters value="-i" />
+      <filePath value="D:\jianyu\jy\src\jfw\modules\entsesearch\src\main.go" />
+      <kind value="FILE" />
+      <method />
+    </configuration>
+    <list size="1">
+      <item index="0" class="java.lang.String" itemvalue="Go Application.entseSearch" />
+    </list>
+  </component>
+  <component name="ShelveChangesManager" show_recycled="false">
+    <option name="remove_strategy" value="false" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="-8" y="-8" width="1382" height="744" extended-state="6" />
+    <layout>
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2489019" sideWeight="0.5" order="1" side_tool="false" content_ui="combo" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
+      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4148265" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="true" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="8" side_tool="false" content_ui="tabs" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="3" side_tool="false" content_ui="combo" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="processedProjectFiles" value="true" />
+  </component>
+  <component name="VcsContentAnnotationSettings">
+    <option name="myLimit" value="2678400000" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager />
+    <watches-manager />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/main.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="200">
+          <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+          <folding>
+            <element signature="e#14#173#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entinfo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entsesearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1400">
+          <caret line="70" column="0" lean-forward="false" selection-start-line="70" selection-start-column="0" selection-end-line="70" selection-end-column="0" />
+          <folding>
+            <element signature="e#16#129#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/config.json">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="3" column="25" lean-forward="true" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/web/templates/weixin/entseSearch.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="5260">
+          <caret line="263" column="50" lean-forward="true" selection-start-line="263" selection-start-column="50" selection-end-line="263" selection-end-column="50" />
+          <folding>
+            <element signature="n#style#0;n#div#0;n#div#0;n#form#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../jylabutil/entsearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1600">
+          <caret line="84" column="0" lean-forward="false" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/tools.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/mongo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="160">
+          <caret line="12" column="0" lean-forward="false" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="200">
+          <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+          <folding>
+            <element signature="e#14#173#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entinfo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entsesearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1220">
+          <caret line="70" column="0" lean-forward="false" selection-start-line="70" selection-start-column="0" selection-end-line="70" selection-end-column="0" />
+          <folding>
+            <element signature="e#16#129#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/config.json">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="60">
+          <caret line="3" column="25" lean-forward="true" selection-start-line="3" selection-start-column="25" selection-end-line="3" selection-end-column="25" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/mongo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="160">
+          <caret line="12" column="54" lean-forward="false" selection-start-line="12" selection-start-column="40" selection-end-line="12" selection-end-column="54" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../jylabutil/entsearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1600">
+          <caret line="84" column="0" lean-forward="false" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/tools.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/web/templates/weixin/entseSearch.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="5260">
+          <caret line="263" column="50" lean-forward="true" selection-start-line="263" selection-start-column="50" selection-end-line="263" selection-end-column="50" />
+          <folding>
+            <element signature="n#style#0;n#div#0;n#div#0;n#form#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/main.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="200">
+          <caret line="21" column="13" lean-forward="false" selection-start-line="21" selection-start-column="13" selection-end-line="21" selection-end-column="13" />
+          <folding>
+            <element signature="e#14#173#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entinfo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/search/entsesearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1220">
+          <caret line="70" column="0" lean-forward="false" selection-start-line="70" selection-start-column="0" selection-end-line="70" selection-end-column="0" />
+          <folding>
+            <element signature="e#16#129#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/tools.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../jylabutil/entsearch.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="302">
+          <caret line="84" column="0" lean-forward="false" selection-start-line="84" selection-start-column="0" selection-end-line="84" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/web/templates/weixin/entseSearch.html">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="20">
+          <caret line="263" column="50" lean-forward="false" selection-start-line="263" selection-start-column="50" selection-end-line="263" selection-end-column="50" />
+          <folding>
+            <element signature="n#style#0;n#div#0;n#div#0;n#form#0;n#div#0;n#body#0;n#html#0;n#!!top" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/config.json">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="20">
+          <caret line="1" column="23" lean-forward="true" selection-start-line="1" selection-start-column="23" selection-end-line="1" selection-end-column="41" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../tools/mongo.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="12" column="34" lean-forward="true" selection-start-line="12" selection-start-column="34" selection-end-line="12" selection-end-column="34" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../config/config.go">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="80">
+          <caret line="6" column="4" lean-forward="false" selection-start-line="6" selection-start-column="4" selection-end-line="6" selection-end-column="4" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>

+ 22 - 13
src/jfw/modules/entsesearch/src/search/entsesearch.go

@@ -3,10 +3,12 @@ package search
 import (
 	"fmt"
 	"github.com/go-xweb/xweb"
-	//"qfw/util/elastic"
 	"config"
 	"strconv"
 	"jfw/jylabutil"
+	"time"
+	"strings"
+	"qfw/util"
 )
 
 type EntSeSearch struct {
@@ -22,23 +24,13 @@ func init() {
 }
 
 func (e *EntSeSearch) ToSearch() error{
+	e.T["pageSize"] = "10"
 	return e.Render("/weixin/entseSearch.html", &e.T)
 }
 
 func (e *EntSeSearch) RecList() {
 	var entName = e.GetString("entName")
 	limit,_ := strconv.Atoi(config.Sysconfig["recommendEntLimit"].(string))
-	//if entName!=""{
-	//	limit,_ := strconv.Atoi(config.Sysconfig["recommendEntLimit"].(string))
-	//	r := elastic.GetPage("winner", "winner", `{"winner":"`+entName+`"}`, ``, `"_id","winner"`, 0, limit)
-	//	if r!=nil && len(*r) != 0{
-	//		fmt.Println("RecList",r)
-	//		e.ServeJson(map[string]interface{}{
-	//			"recList": r,
-	//		})
-	//	}
-	//}
-	fmt.Println("11111111111111111",entName,limit)
 	re := jylabutil.GetEenNameImmediate(entName,limit)
 	fmt.Println("RecList",re)
 	if re!=nil && len(re) != 0{
@@ -56,7 +48,24 @@ func (e *EntSeSearch) ProList() {
 	var money_to,_ = strconv.Atoi(e.GetString("money_to"))
 	fmt.Println(searchname,scope,money_from,money_to)
 	proMap := jylabutil.GetProjectByEntName(searchname,scope,money_from,money_to,1,10)
-	fmt.Println("------------------",proMap)
+	fmt.Println("proMap------------------",proMap)
+	for _,val := range proMap{
+		var jgtime = val["jgtime"]
+		if jgtime!=nil{
+			val["jgtime"] = time.Unix(int64(jgtime.(float64)),0).Format("20060102")
+		}else{
+			val["jgtime"] = ""
+		}
+		var bidamount = val["bidamount"]
+		if bidamount!=nil{
+			var bidamount_f = bidamount.(float64)/10000
+			val["bidamount"] = strings.Replace(fmt.Sprintf("%.2f", bidamount_f),".00","",-1)
+		}else{
+			val["bidamount"] = ""
+		}
+
+		val["sourceinfoid"] = util.EncodeArticleId2ByCheck(val["sourceinfoid"].(string))
+	}
 	e.ServeJson(map[string]interface{}{
 		"proList": proMap,
 	})

+ 145 - 122
src/jfw/modules/entsesearch/src/web/templates/weixin/entseSearch.html

@@ -221,7 +221,11 @@
 	color: #1d1d1d;
 }
 /*高亮字体*/
-#jytables table span.higHlight{
+/*#jytables table span.highLight{
+	color: #2cb7ca;
+}*/
+
+.highLight{
 	color: #2cb7ca;
 }
 
@@ -247,7 +251,7 @@
 <body>
 <!-->顶部搜索<-->
 <div id="searchDiv">
-	<form class="searchform" id="searchform" method="post" action="/swordfish/searchlist" target="listf">
+	<form class="searchform" id="searchform" method="post" target="listf">
 	<div class="wxhead">
 	<input class="form-control searchname" id="searchname" name="searchname" maxlength ="50" value="{{if .T.shname}}{{.T.shname}}{{end}}" placeholder="中标企业名称"/>
 
@@ -376,18 +380,6 @@
 			</tr>
 			</thead>
 			<tbody>
-			<tr>
-				<td>1</td>
-				<td>2017 0721</td>
-				<td><span>五峰土家族自治县</span>LED单色户外电子屏采购项目</td>
-				<td>1.30</td>
-			</tr>
-			<tr>
-				<td>2</td>
-				<td>2017 0721</td>
-				<td>G320下司至麻江良田公路改扩建项目</td>
-				<td>31</td>
-			</tr>
 			</tbody>
 		</table>
 	</section>
@@ -395,12 +387,23 @@
 <!--tip-->
 <div class="tip_m">提示:为了获得更佳的体验,推荐使用电脑浏览器访问剑鱼网站jianyu360.com查看数据表格。</div>
 </body>
-</html>
 <script>
+	var pageSize = {{.T.pageSize}};
+	var pageNum = "1";
+	//查询参数
+    var reqParam = {
+        "searchname": $.trim($(".searchname").val()),
+        "money_from": $.trim($("#money_from").val()),
+        "money_to": $.trim($("#money_to").val()),
+        "scope": "",
+        "pageNum": pageNum
+    };
 	$(function () {
         $(".qc").addClass("hidden");
         $(".tubiao").addClass("hidden");
         $(".jydqsure").css("background","#ccc");
+        $("#searchList").addClass("hidden");
+        $(".tip_m").addClass("hidden");
 
         //选项卡
         $("#set_search .select ul li:eq(0)").css("color","#2cb7ca");
@@ -432,36 +435,6 @@
             $(".wxhead").find("[name='searchname']").focus();
         });
 
-        //企业推荐列表
-        function getRecList(entName) {
-            $("#recList").html("");
-            $.post("/jylab/entsesearch/recList",{entName:entName},function(r){
-                if(r){
-                    if(typeof (r.recList)!="undefined"){
-                        var recList = r.recList;
-                        for(var i=0;i<recList.length;i++){
-                            var entName = recList[i].name;
-                            if(entName!="" && entName.length>20){
-                                entName = entName.substr(0,20)+"...";
-                            }
-                            var obj=$("<div class='rec'>"+entName+"</div>");
-                            $("#recList").append(obj);
-                        }
-                    }
-                }
-                $("#recList").show();
-
-                $(".rec").click(function(){
-                    if($(this).text()!=""){
-                        $("#searchname").val($(this).text());
-                        $("#recList").hide();
-                        $(".qc").addClass("hidden");
-                        $(".tubiao").removeClass("hidden");
-                    }
-                });
-            });
-        }
-
         $("body").click(function () {
             $("#recList").hide();
         });
@@ -510,41 +483,110 @@
         $(".tubiao").click(function(){
             formSubmit();
         });
-        //确定
-		function formSubmit(){
-			var searchname = $.trim($(".searchname").val().replace(/^\s+|\s+$/g,"").replace(/\s+/g,"+"));
-            var dataObj = {};
-
-            var money = "";
-            //金额
-            if($(".money .btn.active_m").first().length>0){
-                money = $(".money .btn.active_m").first().text();
-                console.log(money);
-			}
-			var money_from = $.trim($("#money_from").val());
-            var money_to = $.trim($("#money_to").val());
 
-            //项目地区
-            this.setScope = function(){
-                var scope = [];
-                $(".contentone .btn.active").each(function(){
-                    var thisText = $(this).text();
-                    if(thisText == "全国"){
-                        scope.push("");
-                        return false;
-                    }else{
-                        scope.push(thisText);
+        //显示筛选过滤选择
+        $(".shaixuan").click(function(){
+            if($("#set_search").attr("class")=="hidden"){
+                $("#set_search").removeClass("hidden");
+                $("#searchList").addClass("hidden");
+                $(".tip_m").addClass("hidden");
+            }else{
+                shaixuanHide();
+            }
+        });
+
+        //选择金额or地区
+        $("#set_search .select ul li:eq(0)").click(function(){
+            $(this).css("color","#2cb7ca");
+            $("#set_search .select ul li:eq(2)").css("color","#888");
+            $("#set_search .select ul li:eq(0) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom2.png");
+            $("#set_search .select ul li:eq(2) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom.png");
+            $(".money").removeClass("hidden");
+            $(".jydq-dialog").addClass("hidden");
+        })
+        $("#set_search .select ul li:eq(2)").click(function(){
+            $(this).css("color","#2cb7ca");
+            $("#set_search .select ul li:eq(0)").css("color","#888");
+            $("#set_search .select ul li:eq(0) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom.png");
+            $("#set_search .select ul li:eq(2) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom2.png");
+            $(".money").addClass("hidden");
+            $(".jydq-dialog").removeClass("hidden");
+        })
+
+        $('#searchList').dropload({
+            scrollArea: window.top.isIOS ? window.top : window,
+            loadDownFn: function (me) {
+                alert(111);
+            }
+        });
+
+    });
+
+    //企业推荐列表
+    function getRecList(entName_key) {
+        $("#recList").html("");
+        $.post("/jylab/entsesearch/recList",{entName:entName_key},function(r){
+            if(r){
+                if(typeof (r.recList)!="undefined"){
+                    var recList = r.recList;
+                    for(var i=0;i<recList.length;i++){
+                        var entName = recList[i].name;
+                        if(entName!="" && entName.length>20){
+                            entName = entName.substr(0,20)+"...";
+                        }
+                        var obj=$("<div class='rec'>"+entName.replace(entName_key,"<span class='highLight'>"+entName_key+"</span>")+"</div>");
+                        $("#recList").append(obj);
                     }
-                });
-                return scope.join(",");
+                }
             }
-            dataObj["searchname"] = searchname;
-            dataObj["scope"] = this.setScope();
-            dataObj["money"] = money;
-            dataObj["money_from"] = money_from;
-            dataObj["money_to"] = money_to;
-            dataObj["pagenum"] = "1";
-            dataObj["pagesize"] = "10";
+            $("#recList").show();
+
+            $(".rec").click(function(){
+                if($(this).text()!=""){
+                    $("#searchname").val($(this).text());
+                    $("#recList").hide();
+                    $(".qc").addClass("hidden");
+                    $(".tubiao").removeClass("hidden");
+                }
+            });
+        });
+    }
+
+    //确定
+    function formSubmit(){
+        var searchname = $.trim($(".searchname").val().replace(/^\s+|\s+$/g,"").replace(/\s+/g,"+"));
+        var dataObj = {};
+
+        var money = "";
+        //金额
+        if($(".money .btn.active_m").first().length>0){
+            money = $(".money .btn.active_m").first().text();
+        }
+        var money_from = $.trim($("#money_from").val());
+        var money_to = $.trim($("#money_to").val());
+
+        //项目地区
+        this.setScope = function(){
+            var scope = [];
+            $(".contentone .btn.active").each(function(){
+                var thisText = $(this).text();
+                if(thisText == "全国"){
+                    scope.push("");
+                    return false;
+                }else{
+                    scope.push(thisText);
+                }
+            });
+            return scope.join(",");
+        };
+        reqParam["scope"] = this.setScope();
+        dataObj["searchname"] = searchname;
+        dataObj["scope"] = this.setScope();
+        dataObj["money"] = money;
+        dataObj["money_from"] = money_from;
+        dataObj["money_to"] = money_to;
+        dataObj["pagenum"] = "1";
+        dataObj["pagesize"] = "10";
 
 //			  $("#searchform [name='scope']").val(this.setScope());
 //            $("#searchform [name='money']").val(money);
@@ -552,58 +594,39 @@
 //            $("#searchform [name='money_to']").val(money_to);
 //            $(".searchform").submit();
 
-            $.post("/jylab/entsesearch/proList",dataObj,function(r){
-                if(r){
-                    console.log(r);
-                    if(typeof (r.proList)!="undefined"){
-                        var proList = r.proList;
-                        for(var i=0;i<proList.length;i++){
-							var bidamount = proList[i].bidamount/10000;
-							var projectname = proList[i].projectname;
-                            var zbtime = proList[i].jgtime;
-                            var obj =$("<tr><td>"+(i+1)+"</td><td>"+zbtime+"</td><td>"+projectname+"</td><td>"+bidamount+"</td></tr>");
-                            $("#searchlist tbody").append(obj);
-                        }
+        $.post("/jylab/entsesearch/proList",dataObj,function(r){
+            if(r){
+                if(typeof (r.proList)!="undefined"){
+                    var proList = r.proList;
+                    //$("#searchList tbody tr").remove();
+                    for(var i=0;i<proList.length;i++){
+                        var bidamount = proList[i].bidamount;
+                        var projectname = proList[i].projectname;
+                        var zbtime = proList[i].jgtime;
+                        var sourceinfoid = proList[i].sourceinfoid;
+                        var projectcode = proList[i].projectcode;
+                        var obj =$("<tr onclick=\"toDetail('"+sourceinfoid+"','"+projectcode+"','"+projectname+"')\"><td>"+(i+1)+"</td><td>"+zbtime+"</td><td>"+projectname+"</td><td>"+bidamount+"</td></tr>");
+                        $("#searchList tbody").append(obj);
                     }
-                    shaixuanHide();
                 }
-            });
-		}
-    });
+                shaixuanHide();
+            }
+        });
+    }
 
-	//显示筛选过滤选择
-	$(".shaixuan").click(function(){
-		if($("#set_search").attr("class")=="hidden"){
-			$("#set_search").removeClass("hidden");
-			$("#searchList").addClass("hidden");
-			$(".tip_m").addClass("hidden");
-		}else{
-            shaixuanHide();
-		}
-	})
+    //
+    function toDetail(id,projectcode,projectname) {
+        if(id!="" && typeof (id)!="undefined" && projectcode!="" && typeof(projectcode)!="undefined" && projectname!="" && typeof(projectname)!="undefined"){
+            window.location.href="/follow/photo/"+id+"__"+projectname+"__"+projectcode;
+        }
+    }
 
+    //筛选隐藏
 	function shaixuanHide() {
         $("#set_search").addClass("hidden");
         $("#searchList").removeClass("hidden");
         $(".tip_m").removeClass("hidden");
     }
 	
-	//选择金额or地区
-	$("#set_search .select ul li:eq(0)").click(function(){
-		$(this).css("color","#2cb7ca");
-        $("#set_search .select ul li:eq(2)").css("color","#888");
-        $("#set_search .select ul li:eq(0) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom2.png");
-        $("#set_search .select ul li:eq(2) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom.png");
-        $(".money").removeClass("hidden");
-        $(".jydq-dialog").addClass("hidden");
-	})
-	$("#set_search .select ul li:eq(2)").click(function(){
-		$(this).css("color","#2cb7ca");
-		$("#set_search .select ul li:eq(0)").css("color","#888");
-		$("#set_search .select ul li:eq(0) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom.png");
-		$("#set_search .select ul li:eq(2) img").attr("src","/jylab/entsesearch/images/wx/sys-jt-bottom2.png");
-		$(".money").addClass("hidden");
-		$(".jydq-dialog").removeClass("hidden");
-	})
-	
-</script>
+</script>
+</html>

+ 1 - 0
src/jfw/modules/followent/src/config.json

@@ -13,5 +13,6 @@
     "cacheflag": false,
     "agreement": "http",
 	"followentlimit":10,
+    "followPushRpc": "127.0.0.1:8759",
     "recommendEntLimit":"50"
 }

+ 59 - 70
src/jfw/modules/followent/src/followent/followent.go

@@ -2,7 +2,6 @@ package followent
 
 import (
 	"config"
-	"fmt"
 	"log"
 	"qfw/util"
 	"qfw/util/elastic"
@@ -12,6 +11,7 @@ import (
 	"tools"
 
 	"github.com/go-xweb/xweb"
+	"jfw/jylabutil"
 )
 
 var mongodb = tools.MQFW
@@ -19,14 +19,13 @@ var mongodb = tools.MQFW
 type FollowEnt struct {
 	*xweb.Action
 
-	entList    xweb.Mapper `xweb:"/jylab/followent/entList"`           //获取关注企业列表
-	addEnt     xweb.Mapper `xweb:"/jylab/followent/addEnt"`            //添加关注企业页面
-	newInfo    xweb.Mapper `xweb:"/jylab/followent/newInfo/(.*)/(.*)"` //企业最新信息
-	recList    xweb.Mapper `xweb:"/jylab/followent/recList"`           //获取推荐企业列表
-	saveEnt    xweb.Mapper `xweb:"/jylab/followent/saveEnt"`           //保存关注企业
-	followYorN xweb.Mapper `xweb:"/jylab/followent/followYorN"`        //查询用户是否关注企业
-	qgFollow   xweb.Mapper `xweb:"/jylab/followent/qgFollow"`          //取消关注
-
+	entList  xweb.Mapper `xweb:"/jylab/followent/entList"`        //获取关注企业列表
+	addEnt   xweb.Mapper `xweb:"/jylab/followent/addEnt"`         //添加关注企业页面
+	newInfo  xweb.Mapper `xweb:"/jylab/followent/newInfo/(.*)"`   //企业最新信息
+	recList  xweb.Mapper `xweb:"/jylab/followent/recList"`        //获取推荐企业列表
+	saveEnt  xweb.Mapper `xweb:"/jylab/followent/saveEnt"`        //保存关注企业
+	qgFollow xweb.Mapper `xweb:"/jylab/followent/qgFollow"`       //取消关注
+	visited  xweb.Mapper `xweb:"/jylab/followent/notice/visited"` //用是否已查看
 }
 
 func init() {
@@ -35,16 +34,8 @@ func init() {
 
 func (f *FollowEnt) EntList() error {
 	defer util.Catch()
-	//var entArr = make([]map[string]string, 0)
-	//for i := 0; i < 10; i++ {
-	//	entMap := make(map[string]string)
-	//	entMap["s_projectname"] = "计算机" + strconv.Itoa(i+1)
-	//	entMap["l_lastpushtime"] = strconv.FormatInt(1501546210, 10)
-	//	entArr = append(entArr, entMap)
-	//}
-	//f.T["datas"] = entArr
 	f.T["followLimit"] = config.Sysconfig["followentlimit"]
-	datas, ok := mongodb.Find("jylab_followent", `{"s_userid":"`+f.GetSession("userId").(string)+`"}`, `{"l_createtime":-1}`, `{"_id":1,"winner":1,"s_userid":1,"s_openid":1,"l_createtime":1,"s_id":1}`, false, 0, 10)
+	datas, ok := mongodb.Find("jylab_followent", `{"s_userid":"`+f.GetSession("userId").(string)+`","s_entname":{$ne:""}}`, `{"l_createtime":-1}`, `{"_id":1,"s_entname":1,"s_userid":1,"s_openid":1,"l_createtime":1,"s_id":1,"i_ispush":1}`, false, 0, 10)
 	f.T["flag"] = false
 	if ok && datas != nil && len(*datas) > 0 {
 		for _, v := range *datas {
@@ -61,25 +52,17 @@ func (f *FollowEnt) AddEnt() error {
 }
 
 func (f *FollowEnt) RecList() {
-	fmt.Println("entName", f.GetString("entName"))
 	var entName = f.GetString("entName")
-	if entName != "" {
-		limit, _ := strconv.Atoi(config.Sysconfig["recommendEntLimit"].(string))
-		r := elastic.GetPage("winner", "winner", `{"winner":"`+entName+`"}`, ``, `"_id","winner"`, 0, limit)
-		if r != nil && len(*r) != 0 {
-			fmt.Println("RecList", r)
-			for _, v := range *r {
-				v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
-			}
-			f.ServeJson(map[string]interface{}{
-				"recList": r,
-			})
+	limit,_ := strconv.Atoi(config.Sysconfig["recommendEntLimit"].(string))
+	re := jylabutil.GetEenNameImmediate(entName,limit)
+	if re!=nil && len(re) != 0{
+		for _, v := range re {
+			v["_id"] = util.EncodeArticleId2ByCheck(v["_id"].(string))
 		}
+		f.ServeJson(map[string]interface{}{
+			"recList": re,
+		})
 	}
-	//var recArr [10]string
-	//for i := 0; i < len(recArr); i++ {
-	//	recArr[i] = "河南省凯陆电子科技有限公司" + strconv.Itoa(i+1)
-	//}
 }
 
 func (f *FollowEnt) SaveEnt() {
@@ -89,47 +72,46 @@ func (f *FollowEnt) SaveEnt() {
 //企业最新信息
 func (f *FollowEnt) NewInfo(winner, id string) error {
 	defer util.Catch()
-	id = util.EncodeArticleId2ByCheck(id)
-	fmt.Println(id)
-	fields := `{"projectname":1,"projectcode":1,"bidamount":1,"title":1,"publishtime":1,"subtype":1,"href":1}`
+	userId := f.GetSession("userId").(string) //用户id
+	var follow = "n"
+	s_id := ""
+	var a_visited interface{}
+	_id := ""
+
+	fields := `{"projectname":1,"bidamount":1,"title":1,"publishtime":1,"subtype":1,"href":1}`
 	data, ok := mongodb.Find("bidding", `{"winner":"`+winner+`"}`, nil, fields, false, -1, -1)
-	//if !ok || data == nil || len(*data) == 0 {
-	//	return f.Render("_error.html")
-	//}
-	if ok && data != nil && *data != nil && len(*data) != 0 {
-		f.T["data"] = data
+	if !ok {
+		return f.Render("_error.html")
 	}
-	f.T["winner"] = winner
-	f.T["id"] = id
-	return f.Render("/weixin/set.html", &f.T)
-}
+	if ok && len(*data) != 0 && data != nil && *data != nil {
+		for _, v := range *data {
+			v["_id"] = util.EncodeArticleId2ByCheck(util.BsonIdToSId(v["_id"]))
+		}
 
-//用户是否已关注企业判断
-func (f *FollowEnt) FollowYorN() error {
-	defer util.Catch()
-	s_id := ""
-	userId := f.GetSession("userId").(string)
-	id := f.GetString("id")
-	winner := f.GetString("winner")
-	fmt.Println("===========", userId, id, winner)
+	}
+
+	//判断用户是否关注
 	if id == "" {
 		s_id = createId(winner)
-		fmt.Println("空")
 	} else {
-		fmt.Println("不为空")
-		s_id = util.DecodeArticleId2ByCheck(f.GetString("id"))[0]
-		fmt.Println("1111111111", s_id)
+		s_id = util.DecodeArticleId2ByCheck(id)[0] //企业id
 	}
-	var follow = "n"
-	if mongodb.Count("jylab_followent", `{"s_userid":"`+userId+`","s_id":"`+s_id+`"}`) > 0 {
+	oneQy, ok := mongodb.FindOneByField("jylab_followent", `{"s_userid":"`+userId+`","s_id":"`+s_id+`"}`, `{"a_visited":1}`)
+	if ok && len(*oneQy) != 0 && oneQy != nil && *oneQy != nil {
 		follow = "y" //已经关注此企业
-		fmt.Println("已关注")
+		if (*oneQy)["a_visited"] != nil {
+			a_visited = (*oneQy)["a_visited"]
+		}
+		_id = util.EncodeArticleId2ByCheck(util.BsonIdToSId((*oneQy)["_id"]))
 	}
-	f.ServeJson(map[string]interface{}{
-		"follow": follow,
-		"s_id":   util.EncodeArticleId2ByCheck(s_id),
-	})
-	return nil
+	f.T["data"] = data
+	f.T["winner"] = winner
+	f.T["s_id"] = util.EncodeArticleId2ByCheck(s_id)
+	f.T["_id"] = _id
+	f.T["follow"] = follow
+	f.T["a_visited"] = a_visited
+
+	return f.Render("/weixin/set.html", &f.T)
 }
 
 //取消企业关注
@@ -138,9 +120,7 @@ func (f *FollowEnt) QgFollow() error {
 	status := "n"
 	userId := f.GetSession("userId").(string)
 	id := f.GetString("id")
-	fmt.Println("取关时id=======", id)
 	s_id := util.DecodeArticleId2ByCheck(id)[0]
-	fmt.Println("解密后的id=======", s_id)
 	ok := mongodb.Del("jylab_followent", `{"s_userid":"`+userId+`","s_id":"`+s_id+`"}`)
 	if ok {
 		status = "y"
@@ -163,11 +143,11 @@ func (f *FollowEnt) Followent() error {
 //没有企业id创建企业id
 func createId(winner string) string {
 	defer util.Catch()
-	tem, ok := mongodb.FindOneByField("winner", `{"winner":"`+winner+`"}`, `{"_id":1}`)
+	tem, ok := mongodb.FindOneByField("winner", `{"name":"`+winner+`"}`, `{"_id":1}`)
 	winnerid := ""
 	if ok && len(*tem) == 0 {
 		data := map[string]interface{}{}
-		data["winner"] = winner
+		data["name"] = winner
 		data["winnersign"] = 1
 		data["l_createtime"] = time.Now().Unix()
 		winnerid = mongodb.Save("winner", data)
@@ -179,3 +159,12 @@ func createId(winner string) string {
 	}
 	return winnerid
 }
+func (f *FollowEnt) Visited() error {
+	defer util.Catch()
+	id := f.GetString("id")
+	id = util.DecodeArticleId2ByCheck(id)[0]
+	mongodb.Update("jylab_followent", `{"_id":"`+id+`"}`, map[string]interface{}{
+		"$addToSet": map[string]interface{}{"a_visited": f.GetString("sid")},
+	}, false, false)
+	return nil
+}

+ 4 - 3
src/jfw/modules/followent/src/followent/myfwent.go

@@ -44,9 +44,10 @@ func (m *Myfwent) Addfwent() error {
 		status = "m" //超过最大关注数
 	} else {
 		data := make(map[string]interface{})
-		data["winner"] = m.GetString("winner")
+		data["s_entname"] = m.GetString("winner")
 		data["s_userid"] = userId
 		data["s_openid"] = openid
+		data["i_ispush"] = 1
 		data["l_createtime"] = time.Now().Unix()
 		data["s_id"] = s_id
 		if followId = mongodb.Save("jylab_followent", data); len(followId) > 0 {
@@ -64,12 +65,12 @@ func (m *Myfwent) Addfwent() error {
 //
 func Findent(entname string) string {
 	defer util.Catch()
-	tem, ok := mongodb.FindOneByField("winner", `{"winner":"`+entname+`"}`, `{"_id":1}`)
+	tem, ok := mongodb.FindOneByField("winner", `{"name":"`+entname+`"}`, `{"_id":1}`)
 	winnerid := ""
 	log.Println(len(*tem), "---------------")
 	if ok && len(*tem) == 0 {
 		data := map[string]interface{}{}
-		data["winner"] = entname
+		data["name"] = entname
 		data["winnersign"] = 1
 		data["l_createtime"] = time.Now().Unix()
 		winnerid = mongodb.Save("winner", data)

+ 2 - 2
src/jfw/modules/followent/src/web/staticres/jylab/followent/css/follow.css

@@ -332,7 +332,7 @@
 	padding-left: 5px;
 	padding-right: 5px;
     position: relative;
-	min-height: 40px;
+	/*min-height: 40px;*/
 }
 .jynoticelist .xh {
     color: #1d1d1d;
@@ -414,7 +414,7 @@
 }
 
 .jynoticelist .visited{
-	color: #000;
+	color: #a0a0a0;
 }
 .jynoticelist .priceStyle{
 	position: absolute;

BIN
src/jfw/modules/followent/src/web/staticres/jylab/followent/images/wx/nullxx.png


+ 635 - 0
src/jfw/modules/followent/src/web/templates/_error.html

@@ -0,0 +1,635 @@
+<html>
+<head>
+<title>剑鱼----网页错误</title>
+<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
+<meta name="renderer" content="webkit">
+<script src="/js/jquery.js"></script>
+<meta content="telephone=no" name="format-detection"/>
+<meta charset="utf-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
+<meta name="renderer" content="webkit">
+<meta name="baidu-site-verification" content="cSFG2PMaYX" />
+<meta name="applicable-device" content="pc,mobile" />
+<link href="/css/bootstrap.min.css" rel="stylesheet">
+<link href="/css/bootswatch.min.css" rel="stylesheet">
+<link href="/css/font.css" rel="stylesheet">
+<link href="/css/jy.css" rel="stylesheet">
+<link href="/css/common.css" rel="stylesheet">
+<link rel="stylesheet" href="/css/unicorn.main.css" />
+<link rel="stylesheet" href="/css/unicorn.grey.css" />
+<script src="/js/jquery.js"></script>
+<script src="/js/jquery.cookie.js"></script>
+<script src="/js/bootstrap.min.js"></script>
+<script src="/js/common.js"></script>
+<script src="/js/login.js"></script>
+<link href="/css/pc.css" rel="stylesheet">
+<style>
+.error-body{
+	width:100%;
+	margin:0;
+	padding:0;
+	text-align:center;
+}
+.back{
+	text-decoration:none;
+	cursor:pointer;
+	display: inline-block;
+    border: 1px solid #24C0D7;
+    background-color: #24C0D7;
+    color: #fff;
+    border-radius: 3px;
+    padding: 4px 32px;
+	margin-top:20px;
+}
+.error-text{
+	margin-top:40px;
+	margin-left: auto;
+    margin-right: auto;
+    width: 325px;
+}
+.error-back{
+	margin-bottom:100px;
+	margin-left: auto;
+    margin-right: auto;
+    width: 100px;
+}
+.error-img{
+	margin-left: auto;
+    margin-right: auto;
+    width: 300px;
+}
+.error-img img{
+	width:200px;
+	margin-top:90px;
+}
+/*j-wx-code Start*/
+.j-wx-code{
+	width: 335px;
+	height: 355px;
+	background-color: #fff;
+	-webkit-border-radius: 6px;
+	   -moz-border-radius: 6px;
+	        border-radius: 6px;
+	position: relative;
+	/*margin: 100px auto;*/
+}
+.j-wx-code>.code-close{
+	width: 40px;
+	height: 40px;
+	position: absolute;
+	right: -20px;
+	top: -20px;
+	cursor: pointer;
+	-webkit-transition: all 1s;
+	-o-transition: all 1s;
+	-moz-transition: all 1s;
+	transition: all 1s;
+}
+.j-wx-code>.code-close:hover{
+	-webkit-transform: scale(1.2);
+	   -moz-transform: scale(1.2);
+	    -ms-transform: scale(1.2);
+	     -o-transform: scale(1.2);
+	        transform: scale(1.2);
+}
+.j-wx-code>.code-title{
+	height: 82px;
+	background:url(/images/j-wx-code-title.png) center center no-repeat;
+	-webkit-animation: moveYun 15s infinite linear both;
+	   -moz-animation: moveYun 15s infinite linear both;
+	     -o-animation: moveYun 15s infinite linear both;
+	        animation: moveYun 15s infinite linear both;
+}
+.j-wx-code>.code-wxm{
+	text-align: center;
+	margin-bottom: -6px;
+	margin-top: -16px;
+	
+}
+.j-wx-code>.code-wxm>img{
+	width: 200px;
+	height: 200px;
+	margin-top: -5px;
+}
+.j-wx-code>.code-text{
+	text-align: center;	
+}
+.j-wx-code>.code-bottom{
+	width: 470px;
+	height: 211px;
+	position: absolute;
+	bottom: -113px;
+	left: -73px;
+	background: url(/images/j-wx-code-bottom.png) 0 0 no-repeat;
+}
+.j-wx-code>.code-bottom>img{
+	position: absolute;
+	left: 280px;
+	top: 88px;
+	-webkit-animation: codeWxMove 10s linear both;
+	   -moz-animation: codeWxMove 10s linear both;
+	     -o-animation: codeWxMove 10s linear both;
+	        animation: codeWxMove 10s linear both;
+	-webkit-animation-fill-mode:forwards;
+	   -moz-animation-fill-mode:forwards;
+	     -o-animation-fill-mode:forwards;
+	        animation-fill-mode:forwards
+}
+</style>
+<script>
+var s="%d,%s,%d,%s,%s,%s";
+$(function(){
+	var wid = window.screen.width;
+	if (wid < 720){
+		window.location.href="/mob/err";
+		return;
+	}else{
+		$(".pc").removeClass("hidden");
+	}
+})
+</script>
+</head>
+<body>
+<div class="pc hidden">
+	<div class="j-head">
+		<div class="j-nav">
+			<ul>
+				<li class="j-nav-logo" onclick="window.location.href='/'" style="width:120px;"><a><img src="/images/swordfish/sf_01.png"></a></li>
+				<li class="navigation">
+				<form method="post" action="/swordfish/searchinfolist.html" id="zbSeatchIndex">
+	            <span style="position:relative" class="j-inputgroup">
+					<input style="width:350px; height:40px; border-radius:22px;" type="text" name="keywords" placeholder="请输入您要查询的招标信息" />
+	<!--				<img src="/images/pc_20.png" class="j-clearicon" id="t-clear">-->
+					<img class="j-searchicon" style="position:absolute; right:18px; top:0px" src="/images/pc_11.png" onclick="zbSeatch('zbSeatchIndex')">
+	<!--				<div style="background-image:/images/pc_11.png; position:absolute; width:50px; height:50px; padding-top:4px; padding-left:100px; z-index:99;"></div>-->
+				</span>
+				<input type="hidden" name="searchvalue">
+			</form>
+				</li>
+				
+				<li class="j-nav-link" style="cursor:default; width:1px; height:1px; margin-right:99px">
+					<div class='useronline' id="login"></div>
+				</li>
+	<!--			<li class="jy_scancode"  ><img src="/wxswordfish/images/QR.gif"/><a>微信扫一扫</a></li>-->
+	<!--			<li class="j-nav-link" id="jy_blog"><a href="/jyblog/index.html">剑鱼博客</a></li>-->
+				<li class="j-nav-link" data-toggle="modal" data-target="#bidcommunity"><a>招标社区</a></li>
+				<li class="j-nav-link" onclick="window.location.href='/swordfish/searchinfolist.html'">
+				<a class="newhead">招标搜索</a></li>
+				<li class="j-nav-link" onclick="window.location.href='/list/stype/NJ.html'"><a>拟建项目</a></li>
+				<li class="j-nav-link" onclick="window.location.href='/front/subscribe.html'"><a>招标订阅</a></li>
+				<li class="j-nav-link" onclick="window.location.href='/'"><a>首页</a></li>
+			</ul>
+		</div>
+		<div class="animatdiv">
+			<div  id="animationSandbox">
+				<div class="jyhead_saoma" style="display: none;">
+					<div class="jyhead_jytou"><img src="/wxswordfish/images/saoma.png"/></div>
+					<div class="jyhead_qr">
+					<img src="/front/share/RV8="/>
+					<div class="jyhead_qr_ts">
+						<font>一键订阅关键词</font><br>
+						<span>招标信息自动推送</span>
+					</div>
+					
+					</div>
+				</div>
+			</div>
+		</div>
+		<div class="animatdiv">
+			<div id="animationSandbox">
+				<div class="QRLogin" style="display: none;">
+					<div class="jyhead_qr">
+					<img src="/front/share/RV8="/>
+					<div class="jyhead_qr_ts">
+						<span>微信扫描登录</span><br>
+						<span>新用户自动注册</span>
+					</div>
+					
+					</div>
+				</div>
+			</div>
+		</div>
+		<!--<div class="animatdiv">
+			<div class="userstatus" style="display: none;">
+				<ul class="userstatuslist">
+					<li class="userstatuschoice"><button onclick="signout()"><img src="/images/userexit.png">退出</button></li>
+				</ul>
+			</div>
+		</div>-->
+	</div>
+	<!-- 模态框(Modal) -->
+	<div class="modal fade deving j-modal-dialog" id="deving" tabindex="-1" role="dialog" aria-labelledby="deving" aria-hidden="true">
+		<div class="modal-dialog">
+	      <div class="modal-content">
+	         <div class="modal-header">
+	            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+	            <h4 class="modal-title">剑鱼</h4>
+	         </div>
+	         <div class="modal-body text-center">
+				<span class="glyphicon qmx-icon-jingqingqidai2" style="font-size:60px;"></span>
+				<br><br>
+	            本栏目正在紧张开发中敬请期待!
+	         </div>
+	      </div><!-- /.modal-content -->
+		</div><!-- /.modal -->
+	</div>
+	<!-- 模态框(Modal) -->
+	<!--<div class="modal fade bidcommunity j-modal-dialog" id="bidcommunity" tabindex="-1" role="dialog" aria-labelledby="bidcommunity" aria-hidden="true">
+		<div class="modal-dialog">
+	      <div class="modal-content">
+	         <div class="modal-header">
+	            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+	            <h4 class="modal-title">剑鱼</h4>
+	         </div>
+	         <div class="modal-body text-center" style="height: 270px;">
+				<img src="/front/share/RV8=" alt="剑鱼招标订阅微信公众号"><br/>
+				微信扫码关注剑鱼,进入招标社区参与互动
+	         </div>
+	      </div>
+		</div>
+	</div>-->
+<!-- 模态框(Modal)登录 -->
+<!--<div class="modal fade bidLogin" id="bidLogin" tabindex="-1" role="dialog" aria-labelledby="bidLogin" aria-hidden="true">
+	<div class="modal-dialog">
+      <div class="modal-content">
+         <div class="modal-header">
+            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+            <h4 class="modal-title">剑鱼</h4>
+         </div>
+         <div class="modal-body text-center" style="height: 270px;">
+			<img src="/front/share/{{.T.shareid}}" alt="剑鱼用户登录"><br/>
+			微信扫描登录,新用户自动注册
+         </div>
+      </div>
+	</div>
+</div> -->
+<div class="modal fade bidLogin" id="bidLogin"  tabindex="-1" role="dialog" aria-labelledby="bidLogin" aria-hidden="true" >
+  <div class="modal-dialog" style="width:400px;border:0px;" >
+		<div class="j-wx-code">
+			<img class="code-close" src="/images/j-wx-code-close.png" alt="" onclick="loginClose();"/>
+			<div class="code-title"></div>
+			<div class="code-wxm"><img id="layerImg-login" src="/front/share/{{.T.shareid}}"/></div>
+			<div class="code-text">
+				<span><img id="wxpng" src="/images/wx1.png"/>微信扫码登录</span>
+				<br/>
+				<span id="freetext">新用户自动注册</span>
+			</div>
+			<div class="code-bottom">
+				<img src="/images/j-wx-cose-move.png" alt=""/>
+			</div>
+		</div>
+  </div>
+</div>
+<div class="modal fade bidcommunity j-modal-dialog" id="bidcommunity"  tabindex="-1" role="dialog" aria-labelledby="bidcommunity" aria-hidden="true" >
+  <div class="modal-dialog" style="width:400px;border:0px;" >
+		<div class="j-wx-code">
+			<img class="code-close" src="/images/j-wx-code-close.png" alt="" onclick="zbsqClose();"/>
+			<div class="code-title"></div>
+			<div class="code-wxm"><img id="layerImg-zbsq" src="/front/share/{{.T.shareid}}"/></div>
+			<div class="code-text">
+				<span><img id="wxpng" src="/images/wx1.png"/>微信扫码关注</span>
+				<br/>
+				<span id="freetext">进入招标社区参与互动</span>
+			</div>
+			<div class="code-bottom2">
+				<img style="margin-left:-73px; margin-top:-57px;" src="/images/j-wx-zbsq-move.png" alt=""/>
+			</div>
+		</div>
+  </div>
+</div>
+<script type="text/javascript">
+
+$(function(){
+	haslogin("11");
+})
+var currentNavActive = null;
+$(".j-nav-link").hover(function(){
+	currentNavActive = $(".j-nav-link.active");
+	currentNavActive.removeClass("active");
+},function(){
+	if(currentNavActive == null){
+		return;
+	}
+	currentNavActive.addClass("active");
+});
+//关闭遮罩层
+function loginClose(){
+	$("#bidLogin").modal("hide");
+}
+function zbsqClose(){
+	$("#bidcommunity").modal("hide");
+}
+//隐藏弹窗
+$("body").click(function(event){
+	//$(".QRLogin").hide();
+	//获取鼠标点击目标
+	var target = $(event.target);
+	//点击目标为头像 弹出或关闭用户信息列表
+	if(target.is('img[class=imgShow]')){
+		$(".infoList").toggle();
+		$(".infoList").css({
+			'boxShadow': '0px 0px 10px rgba(0,0,0, .15)'
+		});
+	}else{
+		//点击body隐藏
+		$(".infoList").hide();
+	}	
+})
+
+function openStyle(){
+	$(".useronline>img").css({"box-shadow":"0px 0px 4px rgba(0,0,0,.45)","cursor":"pointer"})
+}
+function closeStyle(){
+	$(".useronline>img").css("box-shadow","")
+}
+$(function(){
+	commonMouseEvent();
+})
+function commonMouseEvent(){
+	$('.exitDiv').on('mouseover',function(){
+		$(this).css({'backgroundColor':'#f4f4f7','color':'#2cb7ca'})
+	})
+	//$('.usernameDiv').on('mouseover',function(){
+	//	$(this).css('backgroundColor','#f4f4f7')
+	//	$('.two').css('border-color','transparent transparent #f4f4f7 transparent')
+	//})
+	$('.infoList').on('mouseover',function(){
+		$(this).css({
+			'boxShadow': '0px 0px 10px rgba(0,0,0, .15)'
+		});
+		
+	}).mouseout(function(){
+		$(this).css({
+			'boxShadow': 'none'
+		});
+		$('.exitDiv').css({
+			'backgroundColor':'#fff',
+			'color':'#1d1d1d'
+		});
+		//$('.usernameDiv').css({
+		//	'backgroundColor':'#fff'	
+		//});
+		//$('.two').css('border-color','transparent transparent #e0e0e0 transparent')
+		
+	})
+}
+function infoListCss(){
+	var $useronline = $('.useronline');
+	var $infoList = $('.infoList');
+	$useronline.css('position','relative');
+	$infoList.css({
+		'position':'absolute',
+		'left':'-99px',
+		'top':'42px',
+		'z-index':'999',
+		'cursor': 'pointer',
+		'height':'auto',
+		'width':'130px'
+	})
+	$('.one').css({
+		'display': 'inline-block',
+	    'width': '0px',
+	    'height': '0px',
+	    'border': '1px solid #ccc',
+	    'position': 'absolute',
+	    'left': '109px',
+	    'top': '-11px',
+	    'border-width': '6px',
+	    'border-color': 'transparent transparent #e0e0e0 transparent'
+	})
+		
+	$('.two').css({
+		'display': 'inline-block',
+	    'width': '0px',
+	    'height': '0px',
+	    'border': '1px solid #fff',
+	    'position': 'absolute',
+	    'left': '109px',
+	    'top': '-10px',
+	    'border-width': '6px',
+	    'border-color': 'transparent transparent #fff transparent',
+	    'z-index': '99'
+	})
+}
+</script>
+	<!-- content -->
+	<div class="error-body">
+			<div class="error-img">
+				<img  src="/images/wx/404.png">
+			</div>
+			<div class="error-text">很抱歉,您访问的页面不存在!<span onclick="window.location.href='/'" class="back">返回首页</span></div>
+			<div class="error-back"></div>
+	</div>
+	<!-- bottom -->
+	<div class="j-bottom">
+	<div>
+		<div class="jy_proandcify">
+			<div class="jy_province">
+				<div class="jy_protitle">各省浏览</div>
+				<div>
+					<ul>
+						<li><span>A</span>
+							<font><a href="/list/area/AH.html">安徽</a></font>
+						</li>
+						<li><span>B</span>
+							<font><a href="/list/area/BJ.html">北京</a></font>
+						</li>
+						<li><span>C</span>
+						<font><a href="/list/area/CQ.html">重庆</a></font>
+						</li>
+						<li><span>F</span>
+						<font><a href="/list/area/FJ.html">福建</a></font>
+						</li>
+						<li><span>G</span>
+						<font><a href="/list/area/GD.html">广东</a></font>
+						<font><a href="/list/area/GX.html">广西</a></font>
+						<font><a href="/list/area/GZ.html">贵州</a></font>
+						<font><a href="/list/area/GS.html">甘肃</a></font>
+						</li>
+						<li><span>H</span>
+						<font><a href="/list/area/HB.html">河北</a></font>
+						<font><a href="/list/area/HBC.html">湖北</a></font>
+						<font><a href="/list/area/HLJ.html">黑龙江</a></font>
+						<font><a href="/list/area/HN.html">海南</a></font>
+						<font><a href="/list/area/HNC.html">河南</a></font>
+						<font><a href="/list/area/HNS.html">湖南</a></font>
+						</li>
+						<li><span>J</span>
+						<font><a href="/list/area/JL.html">吉林</a></font>
+						<font><a href="/list/area/JS.html">江苏</a></font>
+						<font><a href="/list/area/JX.html">江西</a></font>
+						</li>
+						<li><span>L</span>
+						<font><a href="/list/area/LN.html">辽宁</a></font>
+						</li>
+						<li><span>N</span>
+						<font><a href="/list/area/NMG.html">内蒙古</a></font>
+						<font><a href="/list/area/NX.html">宁夏</a></font>
+						</li>
+						<li><span>Q</span>
+						<font><a href="/list/area/QH.html">青海</a></font>
+						</li>
+						<li><span>S</span>
+						<font><a href="/list/area/SX.html">山西</a></font>
+						<font><a href="/list/area/SXC.html">陕西</a></font>
+						<font><a href="/list/area/SH.html">上海</a></font>
+						<font><a href="/list/area/SD.html">山东</a></font>
+						<font><a href="/list/area/SC.html">四川</a></font>
+						</li>
+						<li><span>T</span>
+						<font><a href="/list/area/TJ.html">天津</a></font>
+						</li>
+						<li><span>X</span>
+						<font><a href="/list/area/XJ.html">新疆</a></font>
+						<font><a href="/list/area/XZ.html">西藏</a></font>
+						</li>
+						<li><span>Y</span>
+						<font><a href="/list/area/YN.html">云南</a></font>
+						</li>
+						<li><span>Z</span>
+						<font><a href="/list/area/ZJ.html">浙江</a></font>
+						</li>
+					</ul>
+				</div>
+			</div>
+			<div class="jy_classify">
+				<div class="jy_protitle">分类浏览</div>
+				<div>
+					<ul>
+						<li><font data-value="拟建"><a href="/list/stype/NJ.html">拟建项目</a></font></li>
+						<li><font data-value="预告"><a href="/list/stype/YG.html">招标预告</a></font></li>
+						<li><font data-value="招标"><a href="/list/stype/ZB.html">公开招标</a></font></li>
+						<li><font data-value="邀请"><a href="/list/stype/YB.html">邀请招标</a></font></li>
+						<li><font data-value="询价"><a href="/list/stype/XJ.html">询价采购</a></font></li>
+						<li><font data-value="竞谈"><a href="/list/stype/JT.html">竞争性谈判</a></font></li>
+						<li><font data-value="单一"><a href="/list/stype/DY.html">单一来源</a></font></li>
+						<li><font data-value="竞价"><a href="/list/stype/JJ.html">公开竞价</a></font></li>
+						<li><font data-value="变更"><a href="/list/stype/BG.html">变更公告</a></font></li>
+						<li><font data-value="中标"><a href="/list/stype/ZHB.html">中标公示</a></font></li>
+						<li><font data-value="成交"><a href="/list/stype/CJ.html">成交公告</a></font></li>
+						<li><font data-value="废标"><a href="/list/stype/FB.html">废标公告</a></font></li>
+						<li><font data-value="流标"><a href="/list/stype/LB.html">流标公告</a></font></li>
+						<li><font data-value="合同"><a href="/list/stype/HT.html">合同公告</a></font></li>
+						<li><font data-value="验收"><a href="/list/stype/YS.html">验收公告</a></font></li>
+						<li><font data-value="违规"><a href="/list/stype/WG.html">违规处理</a></font></li>
+						<li><font data-value="其他"><a href="/list/stype/QT.html">其他信息</a></font></li>
+					</ul>
+				</div>
+			</div>
+			<div class="jy_renzheng">
+				<div class="jy_otherlink"><a href="/" target="_bank">剑鱼</a>|<a href="/swordfish/searchinfolist.html">招标搜索</a>|<a  data-toggle="modal" data-target="#bidcommunity">招标社区</a>|<a href="/jyblog/index.html" target="_bank">剑鱼博客</a>|<a href="/front/aboutus.html">关于我们</a>|<a href="http://www.qmx.top" target="_bank">企明星</a>|<a href="http://www.qmx.top/front/entCommunity.html" target="_bank">企业社区</a></div>
+				<div style="color: #B9B9BB;" id="cpinfo">©2015-2016 zhaobiao.info 版权所有 | 豫ICP备15016539号-2</div>
+			</div>
+		</div>
+		<div style="position:relative" class="jy_imgright">
+		<div class="jy_QRtext">一键订阅关键词<br>招标信息自动推送</div>
+			<img id=bc_bottoming src="/images/yj-background.png"/>
+			<img style="position:absolute;left:39px;margin-top:6px;width:123px;" id="bottomimg" src="/wxswordfish/images/QRcode.png"/>
+		</div>		
+	</div>
+	<div class="hidden">
+		<div class="j-bottom-t">
+			<form method="post" action="/swordfish/searchinfolist.html" id="zbSeatchB">
+	            <span class="j-inputgroup">
+					<input type="text" name="keywords" placeholder="请输入您要查询的招标信息">
+					<img src="/images/pc_20.png" class="j-clearicon" id="b-clear">
+				</span>
+				<input type="hidden" name="searchvalue">
+				<span class="j-searchbtn" onclick="zbSeatch('zbSeatchB')">
+					<img src="/images/pc_10.png">
+				</span>
+			</form>
+			<div><a href="http://www.qmx.top" target="_bank">企明星</a>|<a href="/">剑鱼招标订阅</a>|<a href="http://www.qmx.top/front/entCommunity.html" target="_bank">企业社区</a>|<a href="http://www.qmx.top/front/web_A_help.html" target="_bank">关于我们</a>|<a href="http://www.qmx.top/front/web_H_help.html" target="_bank">帮助中心</a></div>
+			<div>©2015-2016 zhaobiao.info 版权所有 | 豫ICP备15016539号-2</div>
+		</div>
+		<div class="j-bottom-b">
+			<img src="/front/share/RV8=" alt="剑鱼招标订阅微信公众号"><br>
+			<font>微信扫一扫关注</font><br>
+			<font>或搜索公众号“剑鱼招标订阅”</font>
+		</div>
+	</div>
+</div>
+<img src="/images/pc_6.png" class="backTop" id="backTop">
+<script type="text/javascript">
+(function(){
+	var myhost = location.host;
+	if(myhost.indexOf("jianyu360.com")>=0){
+		$("#cpinfo").html("©2015-2016 jianyu360.com 版权所有 | 京ICP备14030217号-3")
+	}else if(myhost.indexOf("jianyu360.cn")>=0){
+		$("#cpinfo").html("©2015-2016 jianyu360.cn 版权所有 | 京ICP备14030217号-3")
+	}else{
+		$("#cpinfo").html("©2015-2016 zhaobiao.info 版权所有 | 豫ICP备15016539号-2")
+	}
+    var bp = document.createElement('script');
+    var curProtocol = window.location.protocol.split(':')[0];
+    if (curProtocol === 'https') {
+        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
+    }
+    else {
+        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
+    }
+    var s = document.getElementsByTagName("script")[0];
+    s.parentNode.insertBefore(bp, s);
+	$(".j-bottom .jy_province font").click(function(){
+		var scope = $(this).text();
+		areasearch(scope);
+	})
+	$(".j-bottom .jy_classify font").click(function(){
+		var stype = $(this).attr("data-value");
+		stypesearch(stype);
+	})
+})();
+//
+function areasearch(scope){
+		$("#bottomform").remove();
+		$(".j-bottom").append('<form id="bottomform" action="/swordfish/searchinfolist.html" method="post" class="hide" ><input type="hidden" name="area" value="'+scope+'"></form>');
+		$("#bottomform").submit();
+}
+//
+function stypesearch(stype){
+		$("#bottomform").remove();
+		$(".j-bottom").append('<form id="bottomform" action="/swordfish/searchinfolist.html" method="post" class="hide" ><input type="hidden" name="subtype" value="'+stype+'"></form>');
+		$("#bottomform").submit();
+}
+//
+function zbSeatch(id){
+	var keywords = $("#"+id+" [name='keywords']").val();
+	keywords = keywords.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"+");
+	$("#"+id+" [name='searchvalue']").val(keywords);
+	$("#"+id).submit();
+}
+var backTopRight = (document.body.clientWidth - 17 - 1200) / 2 - 44;
+if(backTopRight > 0){
+	$("#backTop").css({right: backTopRight});
+}
+$("#backTop").click(function(){
+	$(window).scrollTop(0);
+});
+$("#zbSeatchB [name='keywords']").on("input propertychange",function(){
+	if($(this).val().length > 0){
+		$("#b-clear").show();
+	}else{
+		$("#b-clear").hide();
+	}
+});
+$("#b-clear").click(function(){
+	$("#b-clear").hide();
+	$("#zbSeatchB [name='keywords']").val("").focus();
+});
+$(window).scroll(backTopAdjust);
+function backTopAdjust(){
+	var cHeight = document.body.clientHeight;
+	var bottomHeight = $(".j-bottom").outerHeight();
+	var bodyHeight = $(window).height();
+	var scrollTop = $(this).scrollTop();
+	if(bodyHeight - scrollTop - cHeight <= bottomHeight){
+		$("#backTop").addClass("backTop-a");
+	}else if(bodyHeight - scrollTop - cHeight > bottomHeight){
+		$("#backTop").removeClass("backTop-a");
+	}
+}
+
+</script>
+</div>
+</body>
+</html>

+ 7 - 4
src/jfw/modules/followent/src/web/templates/weixin/add.html

@@ -33,6 +33,9 @@
 		line-height: 35px;
 		font-size: 13px;
 	}
+.highLight{
+    color: #2cb7ca;
+}
 </style>
 <script type="text/javascript">
 	var winner_id = "";
@@ -89,19 +92,19 @@
         });
     });
 
-	function getRecList(entName) {
+	function getRecList(entName_key) {
 		$("#recList").html("");
-		$.post("/jylab/followent/recList",{entName:entName},function(r){
+		$.post("/jylab/followent/recList",{entName:entName_key},function(r){
 			if(r){
 				if(typeof (r.recList)!="undefined"){
 					var recList = r.recList;
 					for(var i=0;i<recList.length;i++){
-					    var entName = recList[i].winner;
+					    var entName = recList[i].name;
 					    var id = recList[i]._id;
 						if(entName!="" && entName.length>20){
 							entName = entName.substr(0,20)+"...";
 						}
-						var obj=$("<div class='rec' data-id='"+id+"'>"+entName+"</div>");
+						var obj=$("<div class='rec' data-id='"+id+"'>"+entName.replace(entName_key,"<span class='highLight'>"+entName_key+"</span>")+"</div>");
 						$("#recList").append(obj);
 					}
 				}

+ 7 - 3
src/jfw/modules/followent/src/web/templates/weixin/list.html

@@ -40,9 +40,13 @@ if(sessionStorage){
             }
 
             var listno = parseInt(i)+parseInt(1);
-            allHtml +="<li data-id='"+data[i]["s_id"]+"' data-winner='"+data[i]["winner"]+"' Sort='"+l_createtime+"'>"
+            var entname = data[i]["s_entname"];
+            if(typeof (entname)=="undefined"){
+                entname = "";
+			}
+            allHtml +="<li data-id='"+data[i]["s_id"]+"' data-entname='"+entname+"' Sort='"+l_createtime+"'>"
                 +"<div class='jyfwlistno'>"+listno+".</div>"
-                +"<div class='jyfwlisttitle' style='width:88%;'>"+(data[i]["winner"]?data[i]["winner"]:data[i]["winner"])+"</div>"
+                +"<div class='jyfwlisttitle' style='width:88%;'>"+entname+"</div>"
                 +"<div style='clear:both;'></div>"+rem
                 +"<img src='/jylab/followent/images/wx/d.png' class='arrow-right'>"
                 +"<div class='jytimest'>"
@@ -58,7 +62,7 @@ if(sessionStorage){
                 sessionStorage.version="0";
             }
 
-            window.location.href = "/jylab/followent/newInfo/"+$(this).attr("data-winner")+"/"+$(this).attr("data-id");
+            window.location.href = "/jylab/followent/newInfo/"+$(this).attr("data-entname")+"/"+$(this).attr("data-id");
         });
 	    //
         $("#addDiv").click(function(){

+ 99 - 67
src/jfw/modules/followent/src/web/templates/weixin/set.html

@@ -16,60 +16,57 @@
 <script type="text/javascript">
 	var data = {{.T.data}};
 	var winner = {{.T.winner}}; //企业名称
-	var id = {{.T.id}}; //企业id        
+	var id = {{.T.s_id}}; //企业id 
+	var follow = {{.T.follow}};   
+	var isOld = ""; 
 	$(function(){
-		//查询用户是否关注此企业
-		$.post(
-			"/jylab/followent/followYorN",
-			{"id":id,"winner":winner},
-			function(data){
-				if(data["follow"] == "n"){
-					$(".gz-followcancel").removeClass("hidden");
-				}else{
-					$(".qy-followcancel").removeClass("hidden");
-				}
-				id = data["s_id"]
-				console.log("111111111"+id)
-				
-			}
-		)
-		console.log("222222222"+id)
-		var easyPopup = new EasyPopup("easypopup");
-		$(".noticehead").html(winner)
+		if(follow == "n"){
+			$(".gz-followcancel").removeClass("hidden");
+		}else{
+			$(".qy-followcancel").removeClass("hidden");
+		}
 		
-		for(var i = 0; i < data.length; i++){
-			var noticetime = '';
-			var type = '';
-			var amountHtml = '';
-			var listhtml = '';
-			var title = data[i]["title"];
-			var amount = data[i]["bidamount"];
-
-			if(data[i]["publishtime"]){
-				noticetime = new Date(Number(data[i]["publishtime"]+"000")).Format("MM-dd");	
-			}
-			if(typeof(data[i]["subtype"]) != "undefined" && data[i]["subtype"] != "" && data[i]["subtype"] !=null){
-				type = data[i]["subtype"];
-			}
-			if(typeof(amount) != "undefined" && amount != null && amount != ""){
-				amount = parseInt(amount)/1000;
-				amountHtml = '<span class="priceStyle">'+amount+'万元中标</span>';
+		var easyPopup = new EasyPopup("easypopup");
+		$(".noticehead").html(winner);
+		if(data.length > 0){
+			for(var i = 0; i < data.length; i++){
+				var noticetime = '';
+				var type = '';
+				var amountHtml = '';
+				var listhtml = '';
+				var title = data[i]["title"];
+				var amount = data[i]["bidamount"];
+	
+				if(data[i]["publishtime"]){
+					noticetime = new Date(Number(data[i]["publishtime"]+"000")).Format("MM-dd");	
+				}
+				if(typeof(data[i]["subtype"]) != "undefined" && data[i]["subtype"] != "" && data[i]["subtype"] !=null){
+					type = data[i]["subtype"];
+				}
+				if(typeof(amount) != "undefined" && amount != null && amount != ""){
+					amount = parseInt(amount)/1000;
+					amountHtml = '<span class="priceStyle">'+amount+'万元中标</span>';
+				}
+				listhtml = '<div class="jynoticelist">'
+				   	 			+'<div>'
+				        			+'<span class="noticetime">'+noticetime+'</span>'
+				       		 		+'<span class="type">'+type+'</span>'
+				    			+'</div>'
+				    	 		+'<div class="timeaxis">'
+				        	 		+'<span></span>'
+				    	 		+'</div>'
+				       			+'<div>'
+									+'<a href="javascript:void(0)" class="'+(isVisited(data[i]["_id"])?' visited':'')+'" onclick="beforeRedirect(this,\''+data[i]["_id"]+'\',\''+data[i]["href"]+'\','+isOld+')">'+title+'</a>'
+									+amountHtml
+				       			+'</div>'
+				    		+'</div>'
+				$(".jynotice").append(listhtml);			
 			}
-			listhtml = '<div class="jynoticelist">'
-			   	 			+'<div>'
-			        			+'<span class="noticetime">'+noticetime+'</span>'
-			       		 		+'<span class="type">'+type+'</span>'
-			    			+'</div>'
-			    	 		+'<div class="timeaxis">'
-			        	 		+'<span></span>'
-			    	 		+'</div>'
-			       			+'<div>'
-								+title
-								+amountHtml
-			       			+'</div>'
-			    		+'</div>'
-			$(".jynotice").append(listhtml)			
+		}else{
+			$(".qyxx").addClass("hidden");
+			$(".nullXx").removeClass("hidden");
 		}
+		
 		//取消企业关注
 		$(".qy-followcancel").click(function(){
 			easyPopup.show();
@@ -77,7 +74,6 @@
 		//确定
 		$("#sure").click(function(){
 			easyPopup.hide();
-			console.log(id)
 			if(id == ""){
 				EasyAlert.show("取消失败!");
 			}
@@ -87,8 +83,7 @@
 				{"id":id},
 				function(r){
 					if(r.status == "y"){
-						console.log("取消")
-						EasyAlert.show("已取消关注")
+						EasyAlert.show("已取消关注");
 						setTimeout(function(){
 							window.location.href = "/jylab/followent/entList";
 						},1000)
@@ -107,17 +102,11 @@
 				"/jylab/followent/addfwent",
 				{"id":id,"winner":winner},
 				function(r){
-					console.log(r);
 					if(r.status == "y" || r.status == "e"){
-                   		if(sessionStorage){
-                        sessionStorage.version="0";
-                   		}
-                  		//window.location.href = "/followeEnt/set/add/"+r.id;
-                  		EasyAlert.show('已关注"'+winner+'"')
+                  		EasyAlert.show('已关注"'+winner+'"');
 						setTimeout(function(){
 							window.location.href = "/jylab/followent/entList";
-						},1000)
-						
+						},1000)	
                		}else if(r.status == "m"){
                     	EasyAlert.show("最多可关注10个企业!");
                		}else{
@@ -125,28 +114,71 @@
                 	}
 				}
 			)
-		})
-		
-		
-		
+		})	
 	})
 	
+function isVisited(sid){
+	var a_visited = {{.T.a_visited}};
+	for(var i=0;i<a_visited.length;i++){
+		if(a_visited[i] == sid){
+			return true;
+		}
+	}
+	return false;
+}
+function beforeRedirect(obj,sid,link,isOld){
+	if($(obj).hasClass("visited")){
+		if(isOld){
+			myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+		}else{
+			newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+		}
+		return;
+	}
+	var _id = {{.T._id}}
+	$(obj).addClass("visited");
+	if(typeof(sid) != "undefined" && sid != null && sid != "" && typeof(_id) != "undefined" && _id != null && _id != ""){
+		$.post("/jylab/followent/notice/visited",{id:_id,sid:sid},function(r){
+			if(isOld){
+				myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+			}else{
+				newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+			}	
+		});
+	}else{
+		if(isOld){
+			myRedirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+		}else{
+			newredirect({{Msg "seo" "ZBADDRESS"}},link,sid);
+		}
+	}
+}
+function myRedirect(zbadd,link,sid){
+	link = link.replace(/\n/g,"");
+	if(!/^http/.test(link)){
+		link="http://"+link
+	}
+	window.location.href=zbadd+"/visit/redirect?id="+sid+"&url="+escape(link);
+}
 </script>
 </head>
 <body class="setpage">
 	<div class="noticehead"></div>
-	<ul>
+	<ul class="qyxx">
 		<li id="notice">企业最新信息</li>
 		<li class="jynotice">	
 		</li>
 	</ul>
+	<div class = "nullXx hidden" style="text-align:center;padding-bottom:8px;">
+		<img src="/jylab/followent/images/wx/nullxx.png" style="margin-top:80px;width:150px;"/>
+		<div style="margin-top:38px">该企业暂时没有招投标信息</div>
+	</div>
 	<div class="qy-followcancel hidden">
 		取消企业关注
 	</div>
 	<div class="gz-followcancel hidden">
 		关注此企业
 	</div>
-	
 	<div class="easypopup" id="easypopup">
 		<div class="easypopup-main" style="margin-top: -77.5px;">
 			<div class="easypopup-header">提示信息</div>

+ 5 - 0
src/jfw/modules/weixin/src/wx/wx.go

@@ -1087,6 +1087,11 @@ func updateIsPush(openid string, status int) {
 			"i_ispush": status,
 		},
 	}, false, true)
+	tools.MQFW.Update("jylab_followent", map[string]interface{}{"s_openid": openid}, map[string]interface{}{
+		"$set": map[string]interface{}{
+			"i_ispush": status,
+		},
+	}, false, true)
 }
 
 //快速订阅关键词

+ 0 - 1
src/jfw/timetask/fishindex.go

@@ -138,7 +138,6 @@ func othershow() error {
 		sess := mongodb.GetMgoConn()
 		defer mongodb.DestoryMongoConn(sess)
 		var res bson.M
-		log.Println(lastTime)
 		pusherr := sess.DB("qfw").C("wxpush").Pipe([]bson.M{bson.M{"$match": bson.M{"l_date": bson.M{"$gte": lastTime}}},
 			bson.M{"$group": bson.M{"_id": "sum", "totalAmount": bson.M{"$sum": "$i_size"}}}}).One(&res)
 		if pusherr != nil {

+ 4 - 1
src/seo.json

@@ -296,6 +296,9 @@
 	},
 	"source":{
 		"baiduSEM":"百度SEM",
-		"360SEM":"360SEM"
+		"360SEM":"360SEM",
+		"QQqun":"QQ群广告",
+		"BDwangmeng":"百度网盟",
+		"PCwailian":"PC端外链"
 	}
 }

+ 80 - 15
src/web/staticres/css/dev2/biddingSearch.css

@@ -66,7 +66,7 @@
   font-size: 16px;
 }
 
-#searchInner .searchHeader .searchHeader-container .searchInput form input[type='submit'] {
+#searchInner .searchHeader .searchHeader-container .searchInput form input[type='button'] {
   float: left;
   width: 106px;
   height: 42px;
@@ -153,14 +153,59 @@
 #searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx {
   float: right;
   position: relative;
+  z-index: 999;
 }
 
-#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx img {
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx > img {
   width: 45px;
   height: 45px;
   cursor: pointer;
 }
 
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner {
+  transition: -webkit-transform 1.5s;
+  transition: transform 1.5s;
+  transition: transform 1.5s, -webkit-transform 1.5s;
+  -webkit-transform: scale(0);
+          transform: scale(0);
+  position: absolute;
+  left: -155px;
+  top: 0;
+  z-index: 999;
+  width: 200px;
+  font-size: 16px;
+  background-color: #ffffff;
+  border: 1px solid #e0e0e0;
+  cursor: pointer;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner .wx-inner-title {
+  height: 44px;
+  line-height: 44px;
+  box-sizing: border-box;
+  padding-left: 10px;
+  color: #2cb7ca;
+  border-bottom: 1px solid #e0e0e0;
+  font-weight: bold;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner .wx-inner-ewm {
+  width: 200px;
+  height: 200px;
+  box-sizing: border-box;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner .wx-inner-bottom {
+  padding: 10px;
+  border-top: 1px solid #e0e0e0;
+  line-height: 21px;
+	text-align:center;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner .wx-inner-bottom i {
+  color: #2cb7ca;
+}
+
 #searchInner .searchControl .searchTender {
   /*招标搜索页面*/
   padding: 0 14px;
@@ -168,7 +213,7 @@
   border: 1px solid #e0e0e0;
   margin-top: 26px;
   font-size: 14px;
-  overflow: hidden;
+/*  overflow: hidden;*/
 }
 
 #searchInner .searchControl .searchTender .industry {
@@ -254,7 +299,7 @@
 
 #searchInner .searchControl .searchTender .Price {
   /*价格区间*/
-  padding: 20px 0;
+  padding: 19px 0;
   border-bottom: 1px dashed #e0e0e0;
 }
 
@@ -276,7 +321,7 @@
 
 #searchInner .searchControl .searchTender .Price .Price-content .PriceInput {
   float: left;
-  margin-top: -2px;
+/*  margin-top: -2px;*/
 }
 
 #searchInner .searchControl .searchTender .Price .Price-content .PriceInput input[type="text"] {
@@ -302,7 +347,7 @@
   float: left;
   width: 58px;
   height: 28px;
-  margin: -2px 0 0 8px;
+  margin: 0px 0 0 8px;
   background-color: #2cb7ca;
   color: #ffffff;
   cursor: pointer;
@@ -310,7 +355,7 @@
 
 #searchInner .searchControl .searchTender .release-time {
   /*发布时间*/
-  padding: 20px 0;
+  padding: 18px 0 19px;
   border-bottom: 1px dashed #e0e0e0;
 }
 
@@ -327,8 +372,11 @@
 }
 
 #searchInner .searchControl .searchTender .release-time .timerInput {
-  margin-top: -2px;
+  margin-top: -7px;
   margin-left: 40px;
+	border: 1px solid #fff;
+/*    background-color: #fff;*/
+    padding: 3px 5px;
 }
 
 #searchInner .searchControl .searchTender .release-time .timerInput input[type="text"] {
@@ -418,6 +466,7 @@
 #searchInner .searchControl .searchTender .information {
   /*信息类型*/
   padding: 20px 0;
+  position:relative;
 }
 
 #searchInner .searchControl .searchTender .information .info-content {
@@ -430,7 +479,7 @@
   vertical-align: middle;
   margin-top: 2px;
   margin-right: 10px;
-  margin-left: 4px;
+  margin-left: 8px !important;
 }
 
 #searchInner .searchControl .searchTender .information .info-content span {
@@ -578,6 +627,11 @@
   overflow: hidden;
   font-size: 16px;
 }
+#searchInner .searchControl .seaTender-inner .tabContainer-2 .lucene li {
+  padding: 15px 20px 0;
+  overflow: hidden;
+  font-size: 16px;
+}
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li:last-of-type .liLuceneList {
   border: none;
@@ -590,9 +644,12 @@
 width:1160px;
 }
 
+#searchInner .searchControl .seaTender-inner .tabContainer-2 .lucene li .liLuceneList {
+	padding-bottom: 15px;
+}
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left {
   float: left;
-  width: 860px;
+  width: 854px;
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left em {
@@ -604,6 +661,7 @@ width:1160px;
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-title {
   float: left;
   line-height: 30px;
+    width: 810px
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-title a {
@@ -617,17 +675,20 @@ width:1160px;
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content {
   float: left;
-  line-height: 24px;
+  line-height: 25px;
   padding-left: 23px;
+	padding-top:15px;
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content a {
-  font-size: 16px;
+  color: #848487;
+  font-size: 15px;
+  cursor: text;
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content a:hover {
-  text-decoration: underline;
-  color: #fe7379;
+/*  text-decoration: underline;
+  color: #fe7379;*/
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right {
@@ -640,6 +701,8 @@ width:1160px;
   padding: 3px 7px;
   color: #FFFFFF;
   font-size: 15px;
+	border-radius:3px;
+    margin-left: 8px;
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a:nth-of-type(1) {
@@ -663,6 +726,8 @@ width:1160px;
   padding-left: 26px;
   color: #888888;
   background: transparent url("/images/biddingSearch/lists-timeImg.png") 6px center no-repeat;
+    color: #686868;
+    margin-left: 3px;
 }
 
 #searchInner .searchControl .seaTender-inner .tabContainer .lucene-table {
@@ -742,7 +807,7 @@ width:1160px;
 #searchInner .pagination span {
   float: left;
   width: 36px;
-  height: 31px;
+  height: 30px;
   line-height: 31px;
   text-align: center;
   color: #ffffff;

+ 75 - 27
src/web/staticres/css/dev2/biddingSearch1.css

@@ -1,31 +1,79 @@
-.popQR{
-	position:absolute;
-	border: 1px solid #ccc;
-    width: 200px;
-    right: 0px;
-    height: 290px;
-	background-color: #fff;
-    top: 0px;
-	z-index: 99;
-	box-shadow: 0 0 10px rgba(0,0,0, .24);
+.customtime-active{
+    background-color: #F8F7FC !important;
+    border: 1px solid #ddd !important;
+    padding: 3px 5px;
+}
+.pricefat{
+	float: left;
+	margin-top: -8px;
+	border: 1px solid #fff;
+    background-color: #fff;
+	padding: 3px 5px;
+}
+.active{
+	background-color: #2cb7ca;
+}
+.hasNoData{
+	border-bottom: 1px solid #e0e0e0;
+    height: 400px;
+	text-align: center;
+	padding-top: 30px;
+	margin-bottom:60px;
+}
+#searchInner{
+	line-height:1;
+}
+.lucene-table tbody>tr>td:nth-child(1) div{
+	width:35px;
+}
+.lucene-table tbody>tr>td:nth-child(2) div{
+	width:88px;
+}
+.lucene-table tbody>tr>td:nth-child(3) div{
+	width:71px;
+}
+.lucene-table tbody>tr>td:nth-child(4) div{
+	width:168px;
+}
+.lucene-table tbody>tr>td:nth-child(5) div{
+	width:308px;
+}
+.lucene-table tbody>tr>td:nth-child(6) div{
+	width:60px;
+}
+.lucene-table tbody>tr>td:nth-child(7) div{
+	width:88px;
+}
+.lucene-table tbody>tr>td:nth-child(8) div{
+	width:161px;
+}
+.lucene-table tbody>tr>td:nth-child(9) div{
+	width:63px;
+}
+.com-highlight{
+	color: #2cb7ca;
+}
+.bidbut{
+	background-color: #2cb7ca;
+    color: #fff;
+    font-size: 14px;
+    padding: 4px 22px 5px 23px;
 	cursor: pointer;
 }
-.promptheader{
-	font-size: 16px;
-    color: #2cb7ca;
-    font-weight: bold;
-    padding-left: 10px;
-    text-align: left;
-    border-bottom: 1px solid #f4f4f9;
-    line-height: 40px;
-}
-#keyImg{
-	width: 190px !important;
-    height: 190px !important;
-    vertical-align: middle;
-}
-.promptbottom{
-	padding:10px;
-	line-height:22px;
+#labmodalcont{
+	width: 500px;
+/*    height: 409px;*/
+    margin: auto;
 	text-align:center;
+	box-shadow: none !important;
+    background-color: rgba(255,255,255,0) !important;
+    border: 0px !important;
+}
+#labmodalbody{
+/*	width:100% !important;
+	height:100% !important;*/
+}
+#labmodalbody img{
+	width: 423px;
+    height: 409px;
 }

+ 1 - 1
src/web/staticres/css/dev2/reset_pc.css

@@ -21,7 +21,7 @@ vertical-align: baseline;
 outline: 0; 
 } 
 body { 
-line-height: 1; 
+/*line-height: 1; */
 /*color: black; 
 background: white; */
 font-family: "Microsoft YaHei",sans-serif;

+ 8 - 8
src/web/staticres/css/pc.css

@@ -1642,8 +1642,8 @@ form{
     height: 0px;
     border: 1px solid #ccc;
     position: absolute;
-    left: 244px;
-    top: 19px;
+    left: 236px;
+    top: 21px;
     border-width: 9px;
     border-color: transparent #ccc transparent transparent;
 }
@@ -1653,8 +1653,8 @@ form{
     height: 0px;
     border: 1px solid #fff;
     position: absolute;
-    left: 246px;
-    top: 19px;
+    left: 238px;
+    top: 21px;
     border-width: 9px;
     border-color: transparent #fff transparent transparent;
 	z-index: 99;
@@ -1664,14 +1664,14 @@ form{
     width: 333px;
     border: 1px solid #cecbce;
     position: absolute;
-    left: 262px;
+    left: 254px;
     background-color: #fff;
     padding: 24px 24px;
     font-family: MicrosoftYaHer-Bold,MicrosoftYaHei;
     font-size: 14px;
     line-height: 24px;
     border-radius: 2px;
-    top: -10px;
+    top: -7px;
     color: #5c5d61;
     box-shadow: 0 0 10px rgba(0,0,0, .24);
 }
@@ -1686,8 +1686,8 @@ form{
     display: inline-block;
     border: 1px solid #cecbce;
     position: absolute;
-    left: 515px;
-    top: 130px;
+    left: 507px;
+    top: 133px;
     border-radius: 2px;
     background-color: #fff;
     padding: 7px 13px;

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1370 - 76
src/web/staticres/css/search/superSearch.css


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

@@ -1,3 +1,4 @@
+<!--           列表样式                  -->
 .tslist .bt{
 	color:#1d1d1d;
 	text-decoration: none;

+ 0 - 0
src/web/staticres/images/biddingSearch/开启实验室弹窗@2x.png → src/web/staticres/images/biddingSearch/labbkimg.png


+ 0 - 0
src/web/staticres/images/biddingSearch/弹窗-close@2x.png → src/web/staticres/images/biddingSearch/layclose.png


BIN
src/web/staticres/images/search/dy_close.png


BIN
src/web/staticres/images/search/history.png


BIN
src/web/staticres/images/search/history_clean.png


BIN
src/web/staticres/images/search/msgset.png


+ 51 - 22
src/web/staticres/js/biddingSearch.js

@@ -1,5 +1,23 @@
 $(function() {
 
+	/*二维码鼠标移入移出*/
+	ewmMoveHover()
+
+	function ewmMoveHover() {
+		var $div = $(".search-right-wx .search-right-wx-inner"),
+			$parent = $(".search-right-wx");
+		$parent.on("mouseover",function(){
+			$div.css({
+				"transform":"scale(1)"
+			})
+		})
+		$parent.on("mouseout",function(){
+			$div.css({
+				"transform":"scale(0)"
+			})
+		})
+	}
+
 	/*筛选下拉*/
 	screenBtnTab();
 
@@ -43,7 +61,7 @@ $(function() {
 	function searchAndEnterpriseTab() {
 		var $tabBtn = $(".searchHeader-container .control-tabBtn a");
 		$tabBtn.on("click", function() {
-			$(this).addClass("on").siblings().removeClass("on")
+			//$(this).addClass("on").siblings().removeClass("on")
 		})
 	}
 
@@ -78,7 +96,7 @@ $(function() {
 		/*更多显示 影藏*/
 		if($moreBtn !== "") {
 			/*影藏行业*/
-			$content.children().not(".parent-node").hide();
+			$content.children().not(".parent-node").not("#induAll").hide();
 			$moreBtn.on('click', function() {
 				$(this).toggleClass("up");
 				if($(this).hasClass("up")) {
@@ -86,7 +104,7 @@ $(function() {
 					$content.children().show();
 				} else {
 					$(this).text("更多");
-					$content.children().not(".parent-node").hide();
+					$content.children().not(".parent-node").not("#induAll").hide();
 				}
 			});
 		}
@@ -103,6 +121,8 @@ $(function() {
 			} else {
 				$prevNode.removeClass("active").addClass("secondActice");
 			}
+			beforeSubmit();
+
 		});
 		$parentNode.on('click', function() {
 			$(this).toggleClass("active").removeClass("secondActice");
@@ -112,6 +132,7 @@ $(function() {
 			} else {
 				$nextALLChildren.addClass('active');
 			}
+			beforeSubmit();
 
 		});
 		/*如果点击没有内容给全部添加类名*/
@@ -121,11 +142,14 @@ $(function() {
 			} else {
 				$induAll.addClass("active");
 			}
+			beforeSubmit();
+
 		})
 		/*全部点击*/
 		$induAll.on("click", function() {
 			$(this).addClass("active");
-			$content.children().not($(this)).removeClass("active secondActice")
+			$content.children().not($(this)).removeClass("active secondActice");
+			beforeSubmit();
 		})
 	};
 	/*时间发布*/
@@ -134,36 +158,41 @@ $(function() {
 	function silbingsTabClass(children) {
 		var $childrenLi = children;
 		$childrenLi.on("click", function() {
-			$(this).addClass("active").siblings().removeClass("active")
+			$(this).addClass("active").siblings().removeClass("active");
+			$(".timerInput").removeClass("active");
+			beforeSubmit();
 		})
 	}
-	
+
 	/*表格 列表样式切换*/
 	tabListsConcrol()
-	function tabListsConcrol (){
+
+	function tabListsConcrol() {
 		var $tabBtn = $(".seaTender-inner  .right-tabBtn button"),
 			$controlDiv = $(".tabContainer>div"),
 			$controlDiv_2 = $(".tabContainer-2>div");
-			$tabBtn.on("click",function(){
-				$(this).addClass("active").siblings().removeClass("active");
-				$controlDiv.eq($(this).index()).show().siblings().hide();
-				$controlDiv_2.eq($(this).index()).show().siblings().hide();
-			})
-		
+		$tabBtn.on("click", function() {
+			$(this).addClass("active").siblings().removeClass("active");
+			$controlDiv.eq($(this).index()).show().siblings().hide();
+			$controlDiv_2.eq($(this).index()).show().siblings().hide();
+		})
+
 	}
-	
+
 	/*全文搜索 标题搜索 添加类名*/
 	luceneTab();
-	function luceneTab(){
-		var $tab = $(".seaTender-inner .tabTitle li"),
+
+	function luceneTab() {
+		var $tab = $(".seaTender-inner .tabTitle ul").not("#newsnow").find("li"),
 			$tabDIv = $(".tabContainer");
-			
-		$tab.on("click",function(){
-			$(this).find("a").addClass("active").parent().siblings().find("a").removeClass("active");
-			$tabDIv.eq($(this).index()).show().siblings().not(".tabTitle").hide()
-			
+
+		$tab.on("click", function() {
+			console.log(submitflag+"----)))))")
+			if(submitflag){
+				$(this).find("a").addClass("active").parent().siblings().find("a").removeClass("active");
+				$tabDIv.eq($(this).index()).show().siblings().not(".tabTitle").hide()
+			}
 		})
 	}
-	
 
 })

+ 544 - 0
src/web/staticres/js/superSearch.js

@@ -0,0 +1,544 @@
+var pageSize = 50;
+var nbflag = false;//是否显示的是最新招标数据
+var currentPage = 1;//当前页
+var submitflag = true;
+var searchvalue = "";//关键词
+var searchtype = "all"//全文或标题
+
+$(function() {
+	$("#minprice").click(function(){
+		$(".pricebut").show();
+		$(".pricefat").addClass("customtime-active");
+	})
+	$("#maxprice").click(function(){
+		$(".pricebut").show();
+		$(".pricefat").addClass("customtime-active");
+	})
+	$("#starttime").click(function(){
+		$("#timebut").show();
+		$(".timerInput").addClass("customtime-active");
+	})
+	$("#endtime").click(function(){
+		$("#timebut").show();
+		$(".timerInput").addClass("customtime-active");
+	})
+	$(".Price-content").find("span:first-child").click(function(){
+		$(this).addClass("active");
+		$(".pricefat").removeClass("active");
+		beforeSubmit();
+	})
+	$(".timer").find("ul li:first-child").click(function(){
+		$(this).addClass("active");
+		$(".timerInput").removeClass("active");
+	})
+	//
+	$(".pricebut").click(function(){
+		var minp = $("#minprice").val();
+		var maxp = $("#maxprice").val();
+		if (minp==""||maxp==""){
+			return false;
+		}
+		if (minp>maxp){
+			$("#minprice").val(maxp);
+			$("#maxprice").val(minp);
+		}
+		$(this).hide();
+		$(".pricefat").addClass("active");
+		$(".Price-content").find("span:first-child").removeClass("active");
+		$(".pricefat").removeClass("customtime-active");
+		beforeSubmit()
+	})
+	//
+	$("#timebut").click(function(){
+		$(this).hide();
+		$(".timerInput").addClass("active");
+		$(".timerInput").removeClass("customtime-active");
+		$(".timer").find("ul li:first-child").removeClass("active");
+		$(".release-time .timer li").removeClass("active");
+		beforeSubmit()
+	})
+	//
+	$(".nbprev").click(function(){
+		$(window).scrollTop(0);
+		prev();
+	})
+	$(".nbnext").click(function(){
+		$(window).scrollTop(0);
+		next();
+	})
+	//筛选关闭和打开
+	//根据cookie值设置筛选是否显示
+	var rsw = localStorage.getItem("hideorshow");
+	if(rsw==null){
+		setTimeout(function(){
+			$(".searchTender").stop(false,true).slideDown(1000);
+			localStorage.setItem("hideorshow", "D");
+		},500);
+	}else{
+		if(rsw=="U"){
+			$("#screenBtn").addClass("down");
+			$(".searchTender").hide();
+		}else{
+			$("#screenBtn").removeClass("down");
+			$(".searchTender").show();
+		}
+	}
+	//记录用户刷选按钮状态
+	$("#screenBtn").click(function(){
+		if($(this).attr("class").indexOf("down")>0){
+			localStorage.setItem("hideorshow", "U");
+		}else{
+			localStorage.setItem("hideorshow", "D");
+		}
+	})
+	//
+	$("#zbSeatchT input[type='button']").click(function(){
+		currentPage=1;
+		beforeSubmit(1)
+	})
+	//全文检索和标题检索切换
+	$("#newsclass li:nth-child(1)").click(function(){
+		$("#zbSeatchT [name='selectType']").val("all");
+		currentPage=1;
+		if(submitflag){
+			searchtype = "all";
+			searchOnsubmit();
+			submitflag=false;
+		}
+		
+	})
+	$("#newsclass li:nth-child(2)").click(function(){
+		$("#zbSeatchT [name='selectType']").val("title");
+		currentPage=1;
+		if(submitflag){
+			searchtype = "title";
+			searchOnsubmit();
+			submitflag=false;
+		}
+	})
+	//点击超级搜索按钮
+	$(".superSearch").click(function(){
+		$("#labModal").modal("show");
+	})
+})
+//
+function next(){
+	if($(".nbnext").hasClass("disabled")){
+		return false;
+	}
+	currentPage = parseInt($(".pagination-inner").find("span").text())+parseInt(1)
+	if(currentPage==10){
+		$(".nbnext").addClass("disabled");
+	}else if(currentPage==2){
+		$(".nbprev").removeClass("disabled");
+	}
+	if(!nbflag&&currentPage<11){
+		getNewBiddings()
+	}else{
+		searchOnsubmit();
+	}
+}
+function prev(){
+	if($(".nbprev").hasClass("disabled")){
+		return false;
+	}
+	currentPage = parseInt($(".pagination-inner").find("span").text())-parseInt(1)
+	if(currentPage==1){
+		$(".nbprev").addClass("disabled");
+	}else if(currentPage==9){
+		$(".nbnext").removeClass("disabled");
+	}
+	if(!nbflag&&currentPage>0){
+		getNewBiddings()
+	}else{
+		searchOnsubmit();
+	}
+}
+////最新招标信息
+function getNewBiddings(){
+	$("#newsclass").hide();
+	$("#newsnow").show();
+	if(currentPage==1){
+		$(".nbprev").addClass("disabled");
+	}
+	var param = {
+				pageNumber: currentPage,
+				reqType: "lastNews",
+				searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
+				area: $("#zbSeatchT [name='area']").val(),
+				subtype: $("#zbSeatchT [name='subtype']").val(),
+				publishtime: $("#zbSeatchT [name='publishtime']").val(),
+				selectType : $("#zbSeatchT [name='selectType']").val(),
+				minprice : $("#zbSeatchT [name='minprice']").val(),
+				maxprice : $("#zbSeatchT [name='maxprice']").val(),
+				industry : $("#zbSeatchT [name='industry']").val(),
+			};
+	$.post("/front/pcAjaxReq",param,function(r){
+		if(r&&r.list!=null&&r.list.length>0){
+			$(".tabContainer").show();
+			$(".pagination").show();
+			$(".hasNoData").hide();
+			//$(".pagination-inner").find("span").text(currentPage);
+			if(r.list.length<pageSize||currentPage==10){
+				$(".nbnext").addClass("disabled");
+			}else{
+				$(".nbnext").removeClass("disabled");
+			}
+			appendDatas(r.list,false);
+		}else{
+			submitflag=true;
+			$(".tabContainer").hide();
+			$(".pagination").hide();
+			$(".hasNoData").show();
+		}
+	})
+}
+//
+
+function appendDatas(datas,flag){
+	var listHtml = '';
+	var tableHtml = '';
+	var searchvalueArray = searchvalue.split("+");
+	$(".pagination-inner").find("span").text(currentPage);
+	for(var i=0;i<datas.length;i++){
+		var index = (currentPage - 1) * pageSize + i + 1;
+		var title = datas[i].title;
+		var detail = datas[i].detail;
+		if(flag){
+			title = keyWordHighlight(title,searchvalueArray.join("|"),"<font class='com-highlight'>$1</font>");
+			detail = keyWordHighlight(detail,searchvalueArray.join("|"),"<font class='com-highlight'>$1</font>");
+		}
+		var href = datas[i].href.replace(/\n/g,"");
+		var aHref = '/article/content/'+datas[i]._id;
+		if(searchvalue != ""){
+			aHref += '.html?kds='+searchvalue;
+		}else{
+			aHref += '.html';
+		}
+		var type = datas[i].subtype;
+		if(typeof(type) == "undefined" || type == null || type == ""){
+			type = datas[i].toptype;
+		}
+		if(typeof(type) == "undefined" || type == null || type == ""){
+			type = datas[i].type;
+			if(type == "bid"){
+				type = "中标";
+				datas[i].stypeadd="ZHB"
+			}else if(type == "tender"){
+				datas[i].stypeadd="ZB"
+				type = "招标";
+			}else{
+				type = "";
+			}
+		}
+		if(flag&&searchtype == "all"){
+			$("#allnews").show();
+			$(".tabContainer-2").hide();
+		}else{
+			$("#allnews").hide();
+			$(".tabContainer-2").show();
+		}
+		listHtml += '<li>'
+					+'<div class="liLuceneList">'
+					+'<div class="luce-left"><em>'+index+'.</em>'
+					+'<div class="left-title">'
+					+'<a href="'+aHref+'"> '+title+'</a>'
+					+'</div>'
+		if(flag&&searchtype == "all"){
+			listHtml += '<div class="left-content">'
+					+'<a href="javascript:volid(0);">'+detail+'...</a>'
+					+'</div>'
+		}
+		listHtml += '</div><div class="luce-right">'
+		if($.trim(datas[i].area) != "" && datas[i].area != "A"){
+			listHtml += '<a href="/list/area/'+datas[i].areaadd+'.html">'+datas[i].area+'</a>';
+		}else{
+			listHtml += '<a href="#" style="display:none;"></a>';
+		}
+		if(typeof(type) != "undefined" && type != null && type != ""){
+			listHtml += '<a href="/list/stype/'+datas[i].stypeadd+'.html">'+type+'</a>';
+		}else{
+			listHtml += '<a href="#" style="display:none;"></a>';
+		}
+		//
+		if(typeof(datas[i].industry) != "undefined" && datas[i].industry != null && datas[i].industry != ""){
+			listHtml += '<a href="javascript:volid(0);">'+datas[i].industry+'</a>';
+		}else{
+			listHtml += '<a href="#" style="display:none;"></a>';
+		}
+		
+		//
+		if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
+			var diff = timeDiff(new Date(Number(datas[i].publishtime+"000")));
+			if(diff != null){
+				listHtml += '<span class="com-time">'+diff+'</span>';
+			}
+		}
+		listHtml += '</div></li>';
+		tableHtml +='<tr>'
+				+'<td><div>'+index+'</div></td>'
+		if(typeof(datas[i].publishtime) != "undefined" && datas[i].publishtime != null && datas[i].publishtime != ""){
+			var diff = formatDate(Number(datas[i].publishtime),"s");
+			if(diff != null){
+				tableHtml += '<td><div>'+diff+'</div></td>';
+			}
+		}else{
+			tableHtml += '<td><div></div></td>';
+		}
+		if(typeof(type) != "undefined" && type != null && type != ""){
+			tableHtml += '<td><div>'+type+'公告</div></td>';
+		}else{
+			tableHtml += '<td><div></div></td>';
+		}
+		if(typeof(datas[i].agency) != "undefined" && datas[i].agency != null && datas[i].agency != ""){
+			tableHtml += '<td class="tt-l"><div>'+datas[i].agency+'</div></td>';
+		}else{
+			tableHtml += '<td class="tt-l"><div></div></td>';
+		}
+		if(typeof(datas[i].projectname) != "undefined" && datas[i].projectname != null && datas[i].projectname != ""){
+			tableHtml += '<td class="tt-l"><div>'+datas[i].projectname+'</div></td>';
+		}else{
+			tableHtml += '<td class="tt-l"><div></div></td>';
+		}
+		if(typeof(datas[i].budget) != "undefined" && datas[i].budget != null && datas[i].budget != ""){
+			var budget =parseInt(datas[i].budget)/10000
+			if(budget.toString().length>6){
+				if(budget.toString().indexOf(".")==5){
+					budget=budget.toString().substr(0,7)
+				}else{
+					budget=budget.toString().substr(0,6)
+				}
+			}
+			tableHtml += '<td class="tt-r"><div>'+budget+'</div></td>';
+		}else{
+			tableHtml += '<td class="tt-r"><div></div></td>';
+		}
+		if(typeof(datas[i].bidopentime) != "undefined" && datas[i].bidopentime != null && datas[i].bidopentime != ""){
+			var diff = formatDate(Number(datas[i].publishtime),"l");
+			tableHtml += '<td><div>'+diff+'</div></td>';
+		}else{
+			tableHtml += '<td><div></div></td>';
+		}
+		if(typeof(datas[i].winner) != "undefined" && datas[i].winner != null && datas[i].winner != ""){
+			tableHtml += '<td class="tt-l"><div>'+datas[i].winner+'</div></td>';
+		}else{
+			tableHtml += '<td class="tt-l"><div></div></td>';
+		}
+		if(typeof(datas[i].bidamount) != "undefined" && datas[i].bidamount != null && datas[i].bidamount != ""){
+			var bidamount = parseInt(datas[i].bidamount)/10000
+			if(bidamount.toString().length>6){
+				if(bidamount.toString().indexOf(".")==5){
+					bidamount=bidamount.toString().substr(0,7)
+				}else{
+					bidamount=bidamount.toString().substr(0,6)
+				}
+			}
+			tableHtml += '<td class="tt-r"><div>'+bidamount+'</div></td>';
+		}else{
+			tableHtml += '<td class="tt-r"><div></div></td>';
+		}
+			tableHtml+='</tr>'
+	}
+	if(!flag||searchtype=="title"){
+		$(".tabContainer-2 .lucene ul").html(listHtml);
+		$(".tabContainer-2 .lucene-table table tbody").html(tableHtml);
+	}else{
+		if(searchtype=="all"){
+			$(".tabContainer .lucene ul").html(listHtml);
+			$(".tabContainer .lucene-table table tbody").html(tableHtml);
+		}
+	}
+	submitflag=true;
+	backTopAdjust();
+}
+//
+//
+function   formatDate(date,sl)   { 
+	var myDate = new Date(date*1000);      
+    var   year=myDate.getFullYear();
+    var   month=myDate.getMonth()+1; 
+//	if(month<10){
+//		month="0"+month
+//	} 
+    var   date=myDate.getDate();      
+//	if(date<10){
+//		date="0"+date
+//	} 
+	var hour = myDate.getHours()
+	var min = myDate.getMinutes()
+	if(sl=="l"){
+		if(hour<10){
+			hour="0"+hour
+		} 
+		if(min<10){
+			min="0"+min
+		} 
+		return   year+"-"+month+"-"+date+"<br>"+hour+":"+min; 
+	}else{
+		return   year+"-"+month+"-"+date; 
+	}
+} 
+//
+function onpicking(dp,obj){
+	var time = new Date(dp.cal.newdate.y,dp.cal.newdate.M-1,dp.cal.newdate.d).getTime()+"";
+	time = time.substring(0,time.length - 3);
+	$(obj).attr("data-value",time);
+}
+//
+function onclearing(obj){
+	$(obj).attr("data-value","");
+	//localStorage.removeItem($(obj).attr("id"))
+	if($(".customtime").hasClass("active") && getInputTime().join("") == ""){
+		$(".customtime").removeClass("active");
+		$("#publishtime #alltime").addClass("active");
+	}
+}
+//
+function picked(dp,obj){
+	//localStorage.setItem($(obj).attr("id"),$(obj).val()+"_"+$(obj).attr("data-value"))
+}
+//
+function getInputTime(){
+	var starttime = $("#starttime").attr("data-value");
+	if(starttime){
+		starttime = $.trim(starttime);
+	}else{
+		starttime = "";
+	}
+	var endtime = $("#endtime").attr("data-value");
+	if(endtime){
+		endtime = $.trim(endtime);
+	}else{
+		endtime = "";
+	}
+	return [starttime,endtime]
+}
+///
+function beforeSubmit(n){
+	$(".tabContainer-2 .lucene ul").html("");
+	$(".tabContainer-2 .lucene-table table tbody").html("");
+	$(".tabContainer .lucene ul").html("");
+	$(".tabContainer .lucene-table table tbody").html("");
+	setTimeout(function(){
+		currentPage=1;
+		//时间
+		if(currentPage==1){
+			$(".nbprev").addClass("disabled");
+		}
+		var publishtime = null;
+		var timeslot = getInputTime().join("_");
+		if($(".timerInput").hasClass("active")){
+			if(timeslot != "_"){
+				$("#zbSeatchT [name='publishtime']").val(timeslot);
+			}else{
+				$("#zbSeatchT [name='publishtime']").val("");
+			}
+		}else{
+			publishtime = $(".timer .active").attr("data-value");
+			if(typeof(publishtime) != "undefined"){
+				$("#zbSeatchT [name='publishtime']").val(publishtime);
+			}else{
+				$("#zbSeatchT [name='publishtime']").val("");
+			}
+		}
+		if(timeslot != "_"){
+			$("#zbSeatchT [name='timeslot']").val(timeslot);	
+		}else{
+			$("#zbSeatchT [name='timeslot']").val("");
+		}
+		//地区
+		var selectAreas = "";
+		$(".region-content .active:not(.parent-node)").each(function(){
+			var thisText = $(this).text();
+			if(thisText != "全国"){
+				if(selectAreas != ""){
+					selectAreas += ",";
+				}
+				selectAreas += thisText;
+			}
+		});
+		$("#zbSeatchT [name='area']").val(selectAreas);
+		//类型
+		var selectSubTypes = "";
+		$(".info-content .active:not(.parent-node)").each(function(){
+			if($(this).attr("id") == "whole"||$(this).attr("id") == "infoBtn"){
+				return true;
+			}
+			var thisText = $(this).attr("data-value");
+			if(selectSubTypes != ""){
+				selectSubTypes += ",";
+			}
+			selectSubTypes += thisText;
+		});
+		$("#zbSeatchT [name='subtype']").val(selectSubTypes);
+		//行业
+		var selectIndustrys = "";
+		$(".industry-content .active:not(.parent-node)").each(function(){
+			if($(this).attr("id") == "induAll"){
+				return true;
+			}
+			var thisText = $(this).attr("data-value");
+			if(selectIndustrys != ""){
+				selectIndustrys += ",";
+			}
+			selectIndustrys += thisText;
+		});
+		$("#zbSeatchT [name='industry']").val(selectIndustrys);
+		//价格
+		var selectMinPrices = $(".PriceInput [name='minprice']").val();
+		var selectMaxPrices =  $(".PriceInput [name='maxprice']").val();
+		$("#zbSeatchT [name='minprice']").val(selectMinPrices);
+		$("#zbSeatchT [name='maxprice']").val(selectMaxPrices);
+		//搜索关键词
+		var searchname = $("#zbSeatchT input[name='keywords']").val();
+		$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname))
+		if(n!="F"){
+			if(submitflag){	
+				if($.trim(searchname)==""){
+					getNewBiddings();
+					nbflag = false;
+				}else{
+					searchvalue = $.trim(searchname);
+					searchOnsubmit();
+					nbflag = true;
+				}
+				submitflag=false;
+			}	
+			setTimeout(function(){
+				submitflag=true
+			},200);
+		}
+		return true
+	},200)
+}
+
+//搜索关键词信息
+function searchOnsubmit(){
+	$("#newsclass").show();
+	$("#newsnow").hide();
+	var param = {
+				pageNumber: currentPage,
+				reqType: "bidSearch",
+				searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
+				area: $("#zbSeatchT [name='area']").val(),
+				subtype: $("#zbSeatchT [name='subtype']").val(),
+				publishtime: $("#zbSeatchT [name='publishtime']").val(),
+				selectType : $("#zbSeatchT [name='selectType']").val(),
+				minprice : $("#zbSeatchT [name='minprice']").val(),
+				maxprice : $("#zbSeatchT [name='maxprice']").val(),
+				industry : $("#zbSeatchT [name='industry']").val(),
+			};
+	$.post("/front/pcAjaxReq",param,function(r){
+		if(r.list == null || r.list.length == 0){
+			$(".tabContainer").hide();
+			$(".pagination").hide();
+			$(".hasNoData").show();
+			submitflag=true;
+		}else{
+			$(".tabContainer").show();
+			$(".pagination").show();
+			$(".hasNoData").hide();
+			appendDatas(r.list,true)
+		}
+	});
+}

+ 244 - 1
src/web/staticres/wxswordfish/superSearch.css

@@ -1099,7 +1099,7 @@
 	text-align:center;
 }
 .jyabout .searchname{
-	background-color: #FFFFFF;
+	background-color: #FFFFFF ;
     border: 1px solid #E6E6E6;
     height: 45px;
     padding: 2px 35px 2px 20px;
@@ -1411,6 +1411,8 @@
 	min-height: 10rem;
 	font-size: 14px;
 	color: #1d1d1d;
+	position: absolute;
+	z-index: 999;
 }
 .industry-dialog .hyHead {
 	width: 34%;
@@ -1465,4 +1467,245 @@
 .money-dialog .active{
 	background-color: #24C0D7;
 	color: #fff;
+}
+<!--           原页面样式                  -->
+body{
+	font-size:16px !important;
+}
+.searchname{
+	background-color: #EEEEEE !important;
+	width:85% !important;
+	font-size:16px;
+	position:relative;
+	box-shadow:none;
+	cursor: pointer;
+	border: none !important;
+	border-radius: 5px !important;
+	webkit-transform: translateZ(0);
+	-moz-transform: translateZ(0);
+	-ms-transform: translateZ(0);
+	-o-transform: translateZ(0);
+	transform: translateZ(0);
+}
+.wxhead{
+	padding:8px 12px;
+}
+.tubiao img{
+	top: 27px;
+	right: 22%;
+	width: 35px;
+	display: inline-block;
+	padding-left: 10px;
+	border-left: 2px solid #ccc;
+	position: absolute;
+	z-index: 10;
+}
+#wrapper{
+	background-color:#fff;
+}
+#list{
+	padding:0px 20px;
+	background-color:#fff;
+}
+.nullcontent{
+	padding-top: 10%;
+	position: absolute;
+	top: 125px;
+	left: 0px;
+	right: 0px;
+	padding:0px 20px;
+	background-color:#fff;
+}
+#wrapper{
+	margin-bottom: 52px;
+}
+.parent-node img {
+	vertical-align: sub !important;
+}
+.searchform{
+	margin: 0px;
+}
+.wxsearch{
+	margin-top: 10px;
+}
+.slistbkc{
+	background-color: #F4F4F9;
+}
+.detail{
+	font-size: 14px;
+	margin-top: 5px;
+	color: #646464;
+	padding-left: 25px;
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: normal !important;
+}
+.resnumb .two{
+	max-height:45px;
+	overflow: hidden;
+}
+.screen{
+	color:#0987ff;
+	font-size: 16px;
+	float: right;
+	position: absolute;
+	z-index: 10;
+	top: 18px;
+	right: 5%;
+	height: 20px;
+}
+.query img{
+	width: 32px;
+	display: inline-block;
+	padding-left: 10px;
+	position: absolute;
+	z-index: 10;
+	top: 18px;
+	right: 20%;
+}
+.clearInpt img{
+	width: 30px;
+	display: inline-block;
+	padding-left: 10px;
+	position: absolute;
+	z-index: 10;
+	top: 18px;
+	right: 30%;
+}
+.selLable{
+	font-size:14px;
+	height:40px;
+	line-height: 40px;
+	color:#888;
+	padding: 0 10px;
+	border-bottom: 1px solid #e0e0e0;
+}
+.selLable div{
+	float: left;
+}
+.com-title{
+	width: 59%;
+}
+.com-title span{
+	float: left;
+	height: 100%;
+	display: block;
+	padding: 0 5px;
+	margin-left: 5px;
+}
+.com-title .on{
+	color: #2cb7ca;
+	border-bottom: 2px solid #2cb7ca;
+}
+.selLable .line-vertical{
+	width: 1px;
+	height: 30px;
+	margin-top: 5px;
+	border-left: 1px solid #e0e0e0;
+}
+.showType{
+	width: 40%;
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+}
+.showType div{
+	padding-left: 30px;
+}
+.showType .showlist{
+	background: url(/images/search/showList.png)10px center no-repeat;
+	background-size: 30%;
+}
+.showType .showtable{
+	background: url(/images/search/showTable.png)10px center no-repeat;
+	background-size: 30%;
+}
+.showType .showlist.on{
+	background: url(/images/search/showList_on.png)10px center no-repeat;
+	background-size: 30%;
+	color: #2cb7ca;
+}
+.showType .showtable.on{
+	background: url(/images/search/showTable_on.png)10px center no-repeat;
+	background-size: 30%;
+	color: #2cb7ca;
+}
+#table{
+	overflow-x: scroll;
+	width: 100%;
+	padding-left: 20px;
+	padding-top: 20px;
+}
+#table table{
+	width: 525px;
+}
+#table table>tr>td:nth-child(1){
+	width:30px;
+}
+#table table>tbody>tr>td:nth-child(2){
+	width:68px;
+}
+#table table>tbody>tr>td:nth-child(3){
+	width:74px;
+}
+#table table>tbody>tr>td:nth-child(4){
+	width:160px;
+}
+#table table>tbody>tr>td:nth-child(5){
+	width: 160px;
+}
+#table tr td{
+	border: 1px solid #E0E0E0;
+	text-align: center;
+	padding: 5px;
+}
+.content .keyword{
+	color: #2cb7ca;
+}
+.resbm{
+	display: table;
+	position: fixed;
+	bottom: 0px;
+	z-index: 2000;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	height: 50px;
+	width: 100%;
+	background-color: #37c6da;
+	border: 1px solid #37c6da;
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+}
+.rests {
+	height: 50px;
+	line-height: 50px;
+	padding-left: 15px;
+	color: #fff;
+	font-size: 14px;
+	float: left;
+	overflow: hidden;
+	width: 60%;
+	text-align: center;
+}
+.resdy {
+	float: left;
+	height: 35px;
+	margin: 7px 10px;
+	width: 107px;
+	border: 1px solid #fff;
+	line-height: 35px;
+	border-radius: 20px;
+	color: #fff;
+	padding-left: 20px;
+	cursor: hand;
+}
+.resdy img {
+	width: 12px;
+	margin: 2px;
+}
+.dy_close img{
+	width: 12px;
+	margin: 4px;
 }

+ 86 - 55
src/web/staticres/wxswordfish/superSearch.js

@@ -19,23 +19,7 @@ $(function(){
 		window.top.lifirst = false;
 		$(".pointlist").addClass("hidden");
 	});
-
-    //行业点击事件
-	var $leftTab = $(".industry-dialog .hyHead li"),
-		$inerLists = $(".industry-dialog .hyBody .iner-list");
-	$leftTab.on('click',function(){
-		$(this).addClass('on').siblings().removeClass("on");
-		$inerLists.eq($(this).index()).show().siblings().hide();
-		//如果点击全部 则清空以下选项
-        if($(this).index()==0){
-        	$(".hyBody li").removeClass("active");
-		}
-	})
-	$inerLists.on('click','li',function(){
-        $(".hyBody li").removeClass("active");//行业只能选一个
-		$(this).addClass('active').siblings().removeClass("active")
-	})
-
+	
 	//金额点击事件
 	$(".money-dialog .btn").click(function(){
 		$(this).addClass("active");
@@ -46,6 +30,8 @@ $(function(){
         $(".money-dialog .btn").removeClass("active");
 	})
 
+
+
     $(".shaixIndustry").click(function(){
         $(this).addClass("shaixcl");
         $(this).siblings().removeClass("shaixcl");
@@ -130,43 +116,88 @@ $(function(){
 	});
 	
 	var dialogObjtwo = $(".contenttwo");
-	dialogObjtwo.find(".btn").click(function(){
-		if($(this).parent().index() == 0){
-			dialogObjtwo.find('div[id="dqbtn"]').removeClass("active");
-			dialogObjtwo.find(".btn").removeClass("active");
-		}else{
-			dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
-		};
-		$(this).toggleClass("active");
-		if ($(this).attr("class")!="active"){
-			$(this).prevAll('div[id="dqbtn"]').removeClass("active");
-		};
-		if($(this).parent("li").find(".btn").length == $(this).parent("li").find(".btn.active").length){
-			$(this).prevAll('div[id="dqbtn"]').addClass("active");
-			dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
-		};
-		if(dialogObjtwo.find(".btn.active").length == 0){
-			dialogObjtwo.find("ul:first li:first .btn").addClass("active");
-		};
-	});
-	
-	dialogObjtwo.find('div[id="dqbtn"]').click(function(){
-		$(this).toggleClass("active");
-		if ($(this).attr("class") != "active"){
-			$(this).nextAll(".btn").removeClass("active");
-		}else{
-			$(this).nextAll(".btn").addClass("active");
-			dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
-		};
-		if(dialogObjtwo.find(".btn.active").length == 0){
-			dialogObjtwo.find("ul:first li:first .btn").addClass("active");
-		};
-	});
-	
-	$(".jysstj").find(".jydqsure").click(function(){
-		beforeSubmit(1);
-	});
-	$(".jysstj").find(".jydqreset").click(function(){
+    dialogObjtwo.find(".btn").click(function(){
+        if($(this).parent().index() == 0){
+            dialogObjtwo.find('div[id="dqbtn"]').removeClass("active");
+            dialogObjtwo.find(".btn").removeClass("active");
+        }else{
+            dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
+        };
+        $(this).toggleClass("active");
+        if ($(this).attr("class")!="active"){
+            $(this).prevAll('div[id="dqbtn"]').removeClass("active");
+        };
+        if($(this).parent("li").find(".btn").length == $(this).parent("li").find(".btn.active").length){
+            $(this).prevAll('div[id="dqbtn"]').addClass("active");
+            dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
+        };
+        if(dialogObjtwo.find(".btn.active").length == 0){
+            dialogObjtwo.find("ul:first li:first .btn").addClass("active");
+        };
+    });
+
+    dialogObjtwo.find('div[id="dqbtn"]').click(function(){
+        $(this).toggleClass("active");
+        if ($(this).attr("class") != "active"){
+            $(this).nextAll(".btn").removeClass("active");
+        }else{
+            $(this).nextAll(".btn").addClass("active");
+            dialogObjtwo.find("ul:first li:first .btn").removeClass("active");
+        };
+        if(dialogObjtwo.find(".btn.active").length == 0){
+            dialogObjtwo.find("ul:first li:first .btn").addClass("active");
+        };
+    });
+    //铺设行业信息
+    var industryHtml="";
+    if(sortArray&&industryData){
+        for(var i in sortArray){
+            industryHtml+="<li><div id=\"dqbtn\" style=\"width:81px;\">"+sortArray[i]+"</div>";
+            var childnode=industryData[sortArray[i]];
+            for(var j in childnode){
+                industryHtml+="<button class=\"btn\" data-value="+sortArray[i]+"_"+childnode[j]+">"+childnode[j]+"</button>";
+            }
+            industryHtml+="</li>";
+        }
+        $(".industry-dialog .contentthree ul").append(industryHtml);
+	}
+
+
+    //行业点击事件
+    var dialogObjthree = $(".contentthree");
+    dialogObjthree.find(".btn").click(function(){
+        if($(this).parent().index() == 0){
+            dialogObjthree.find('div[id="dqbtn"]').removeClass("active");
+            dialogObjthree.find(".btn").removeClass("active");
+        }else{
+            dialogObjthree.find("ul:first li:first .btn").removeClass("active");
+        };
+        $(this).toggleClass("active");
+        if ($(this).attr("class")!="active"){
+            $(this).prevAll('div[id="dqbtn"]').removeClass("active");
+        };
+        if($(this).parent("li").find(".btn").length == $(this).parent("li").find(".btn.active").length){
+            $(this).prevAll('div[id="dqbtn"]').addClass("active");
+            dialogObjthree.find("ul:first li:first .btn").removeClass("active");
+        };
+        if(dialogObjthree.find(".btn.active").length == 0){
+            dialogObjthree.find("ul:first li:first .btn").addClass("active");
+        };
+    });
+
+    dialogObjthree.find('div[id="dqbtn"]').click(function(){
+        $(this).toggleClass("active");
+        if ($(this).attr("class") != "active"){
+            $(this).nextAll(".btn").removeClass("active");
+        }else{
+            $(this).nextAll(".btn").addClass("active");
+            dialogObjthree.find("ul:first li:first .btn").removeClass("active");
+        };
+        if(dialogObjthree.find(".btn.active").length == 0){
+            dialogObjthree.find("ul:first li:first .btn").addClass("active");
+        };
+    });
+/*	$(".jysstj").find(".jydqreset").click(function(){
 		//$(".point").addClass("hidden");
 		$(".searchname [name='searchvalue']").val("");
 		$(".searchname [name='area']").val("");
@@ -184,7 +215,7 @@ $(function(){
 		$(".jypt-timeinputs").removeClass("jypt-timeinputs-active");
 		$(".jypt-pt>button").removeClass("jypt-active");
 		$(".jypt-pt>button:first").addClass("jypt-active");
-	});
+	});*/
 	function processVal(value){
 		$("[name='searchvalue']").val(value.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"+"));
 	}

+ 0 - 165
src/web/staticres/wxswordfish/superSearch1.js

@@ -1,165 +0,0 @@
-$(function(){
-	$("#starttime").click(function(){
-        $('#starttime').mobiscroll('show');
-	});
-	$("#endtime").click(function(){
-        $('#endtime').mobiscroll('show');
-	});
-	initMobiscroll();
-});
-function initMobiscroll(){
-	var starttime = null;
-	var endtime = null;
-	if(localStorage){
-		var stime = localStorage.search_starttime;
-		var etime = localStorage.search_endtime;
-		if(stime){
-			$("#starttime").attr("data-value",stime);
-			starttime = new Date(Number(stime));
-			$('#starttime').val(starttime.Format("yyyy年MM月dd日"));
-		}else{
-			$("#starttime").attr("data-value","");
-			$('#starttime').val("");
-		}
-		if(etime){
-			$("#endtime").attr("data-value",etime);
-			endtime = new Date(Number(etime));
-			$('#endtime').val(endtime.Format("yyyy年MM月dd日"));
-		}else{
-			$("#endtime").attr("data-value","");
-			$('#endtime').val("");
-		}
-	}
-	$.mobiscroll.setDefaults({
-	   	theme: "ios",
-	   	lang: "zh",
-		setText: "确定",
-		clearText: "清空",
-		buttons: [ 
-		    'set',
-		    { 
-		        text: '选择时间',
-				cssClass: 'dwb title',
-		        handler: function(event,inst){ 
-		            
-		        }
-		    },
-			'clear'
-		],
-		dateFormat: "yyyy年mm月dd日",
-		dateOrder: "yyyymd",
-		timeWheels: "H",
-		timeFormat: "HH时 周DD",
-		dayNames: ["日","一","二","三","四","五","六"],
-		headerText: false,
-		yearSuffix: "年",
-		monthSuffix: "月",
-		daySuffix: "日",
-		showOnTap: false,
-		onBeforeShow: function(inst){
-			if(typeof(isWxsearchlist) != "undefined"){
-				window.top.$(".sl-jyshxbottom").addClass("hide");
-			}
-		},
-		onClosed: function(valueText, inst){
-			if(typeof(isWxsearchlist) != "undefined"){
-				window.top.$(".sl-jyshxbottom").removeClass("hide");
-			}
-		}
-	});
-	$("#starttime").mobiscroll().date({
-		maxDate: endtime,
-		onInit: function(inst){
-			if(starttime){
-				inst.setVal(new Date(Number(starttime)));
-			}
-		},
-		onSelect: function(valueText,inst){
-			var arrayVal = inst.getArrayVal();
-			var date = new Date(arrayVal[0],arrayVal[1],arrayVal[2]);
-			var inst = $("#endtime").mobiscroll('getInst');
-			inst.option({minDate: date});
-			if(localStorage){
-				localStorage.search_starttime = date.getTime();
-			}
-			$("#starttime").attr("data-value",date.getTime());
-			afterSelect();
-		},
-		onClear: function (event, inst){
-			$("#starttime").attr("data-value","");
-			if(localStorage){
-				localStorage.removeItem("search_starttime");
-			}
-			afterOnClear();
-    	}
-    });
-	$("#endtime").mobiscroll().date({
-		minDate: starttime,
-		onInit: function(inst){
-			if(endtime){
-				inst.setVal(new Date(Number(endtime)));
-			}
-		},
-		onSelect: function(valueText,inst){
-			var arrayVal = inst.getArrayVal();
-			var date = new Date(arrayVal[0],arrayVal[1],arrayVal[2]);
-			var inst = $("#starttime").mobiscroll('getInst');
-			inst.option({maxDate: date});
-			if(localStorage){
-				localStorage.search_endtime = date.getTime();
-			}
-			$("#endtime").attr("data-value",date.getTime());
-			afterSelect();
-		},
-		onClear: function (event, inst){
-			$("#endtime").attr("data-value","");
-			if(localStorage){
-				localStorage.removeItem("search_endtime");
-			}
-			afterOnClear();
-    	}
-    });
-}
-function afterSelect(){
-	$(".jypt-timeinputs").addClass("jypt-timeinputs-active");
-	$(".jypt-pt .jypt-active").removeClass("jypt-active");
-}
-function afterOnClear(){
-	if($("#starttime").attr("data-value") == "" && $("#endtime").attr("data-value") == ""){
-		$(".jypt-timeinputs").removeClass("jypt-timeinputs-active");
-		$(".jypt-pt>button:first").addClass("jypt-active");
-	}
-}
-function setPublishtime(){
-	var publishtime = $(".jypt-pt .jypt-active:not(#alltime)").attr("data-value");
-	if(publishtime){
-		return publishtime;
-	}else{
-		if(!$(".jypt-timeinputs").hasClass("jypt-timeinputs-active")){
-			return "";
-		}
-		publishtime = getInputTime().join("_");
-		if(publishtime != "_"){
-			return publishtime;	
-		}else{
-			return "";
-		}
-	}
-}
-function getInputTime(){
-	var starttime = $("#starttime").attr("data-value");
-	if(starttime){
-		starttime = $.trim(starttime);
-		starttime = starttime.substring(0,starttime.length - 3);
-	}else{
-		starttime = "";
-	}
-	var endtime = $("#endtime").attr("data-value");
-	if(endtime){
-		endtime = $.trim(endtime);
-		endtime = endtime.substring(0,endtime.length - 3);
-	}else{
-		endtime = "";
-	}
-	return [starttime,endtime]
-}

+ 210 - 112
src/web/templates/pc/biddingsearch_enterprise.html

@@ -1,13 +1,103 @@
-<!doctype html>
-<html lang="zh-cn">
 
+<html lang="zh-cn">
 	<head>
-		<meta charset="UTF-8" />
-		<link rel="stylesheet" type="text/css" href="/css/dev2/reset_pc.css" />
-		<link rel="stylesheet" type="text/css" href="/css/dev2/biddingSearch.css" />
-		<title>招标搜索</title>
+		<title>{{Msg "seo" "qfw.swordfishsl.title"}}</title>
+		<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
+		<meta name="Keywords" content="{{Msg "seo" "qfw.swordfishsl.key"}}"/>
+		<meta name="Description" content="{{Msg "seo" "qfw.swordfishsl.description"}}"/>
+		<meta name="renderer" content="webkit">
+		<meta content="telephone=no" name="format-detection"/>
 		{{include "/common/pnc.html"}}
 		<link href="/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="/css/dev2/reset_pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="/css/dev2/biddingSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<link href="/css/dev2/biddingSearch1.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+		<script src="/js/jquery.cookie.js"></script>
+		<script src="/js/jquery-3.2.1.min.js?v={{Msg "seo" "version"}}"></script>
+		<script src="/js/biddingSearch.js?v={{Msg "seo" "version"}}"></script>
+		<script language="javascript" type="text/javascript" src="/My97DatePicker/WdatePicker.js"></script>
+		
+		<style type="text/css">
+			a{
+				text-decoration: none !important;
+			}
+
+			/*j-wx-code Start*/
+			.j-wx-code{
+				width: 335px;
+				height: 355px;
+				background-color: #fff;
+				-webkit-border-radius: 6px;
+				   -moz-border-radius: 6px;
+				        border-radius: 6px;
+				position: relative;
+				/*margin: 100px auto;*/
+			}
+			.j-wx-code>.code-close{
+				width: 40px;
+				height: 40px;
+				position: absolute;
+				right: -20px;
+				top: -20px;
+				cursor: pointer;
+				-webkit-transition: all 1s;
+				-o-transition: all 1s;
+				-moz-transition: all 1s;
+				transition: all 1s;
+			}
+			.j-wx-code>.code-close:hover{
+				-webkit-transform: scale(1.2);
+				   -moz-transform: scale(1.2);
+				    -ms-transform: scale(1.2);
+				     -o-transform: scale(1.2);
+				        transform: scale(1.2);
+			}
+			.j-wx-code>.code-title{
+				height: 82px;
+				background:url(/images/j-wx-code-title.png) center center no-repeat;
+				-webkit-animation: moveYun 15s infinite linear both;
+				   -moz-animation: moveYun 15s infinite linear both;
+				     -o-animation: moveYun 15s infinite linear both;
+				        animation: moveYun 15s infinite linear both;
+			}
+			.j-wx-code>.code-wxm{
+				text-align: center;
+				margin-bottom: -6px;
+				margin-top: -16px;
+				
+			}
+			.j-wx-code>.code-wxm>img{
+				width: 200px;
+				height: 200px;
+				margin-top: -5px;
+			}
+			.j-wx-code>.code-text{
+				font: 16px "microsoft yahei";
+				text-align: center;
+				color: #252627;
+			}
+			.j-wx-code>.code-bottom{
+				width: 470px;
+				height: 211px;
+				position: absolute;
+				bottom: -113px;
+				left: -73px;
+				background: url(/images/j-wx-code-bottom.png) 0 0 no-repeat;
+			}
+			.j-wx-code>.code-bottom>img{
+				position: absolute;
+				left: 280px;
+				top: 88px;
+				-webkit-animation: codeWxMove 10s linear both;
+				   -moz-animation: codeWxMove 10s linear both;
+				     -o-animation: codeWxMove 10s linear both;
+				        animation: codeWxMove 10s linear both;
+				-webkit-animation-fill-mode:forwards;
+				   -moz-animation-fill-mode:forwards;
+				     -o-animation-fill-mode:forwards;
+				        animation-fill-mode:forwards;
+			}
+		</style>
 	</head>
 
 	<body>
@@ -18,16 +108,16 @@
 				<div class="w searchHeader-container">
 					<!--整体页面切换tab-->
 					<div class="control-tabBtn">
-						<a href="#" class="on">超级搜索</a>
-						<a href="#">中标企业搜索</a>
+						<a href="#">超级搜索</a>
+						<a href="#" class="on">中标企业搜索</a>
 					</div>
 					<!--搜索-->
 					<div class="searchInput clearfix">
-						<form action="" method="" class="clearfix">
-							<input  autocomplete="off" type="search" name="" id="search" value="" placeholder="高速公路" />
+						<form action="/jylab/bidsearchforent" method="post" id="zbSeatchT" class="clearfix" onsubmit="return true">
+							<input class="searchname" autocomplete="off" type="search" name="keywords" id="searchinput" value="" placeholder="高速公路" />
 
-							<input type="submit" value="搜索" />
-							<div class="searchSlideText">
+							<input type="button" class="searchBtn" value="搜索" />
+							<!--<div class="searchSlideText">
 								<ul>
 									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 									<li>滁州市<i>万达集团</i>公司</li>
@@ -42,7 +132,12 @@
 									<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
 									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 								</ul>
-							</div>
+							</div>-->
+							<input type="hidden" name="searchvalue" value="{{.T.searchvalue}}">
+							<input type="hidden" name="area" value="{{.T.area}}">
+							<input type="hidden" name="minprice" value="{{.T.minprice}}">
+							<input type="hidden" name="maxprice" value="{{.T.maxprice}}">
+							<input type="hidden" name="pricetype" value="{{.T.pricetype}}">
 						</form>
 						<!--筛选-->
 						<div id="screenBtn" class="screen up">
@@ -72,12 +167,14 @@
 						</div>
 						<div class="Price-content clearfix">
 							<span class="active">全部</span>
-							<div class="PriceInput">
-								<input type="text" name="" id="" value="" placeholder="最低价              万元" />
-								<span></span>
-								<input type="text" name="" id="" value="" placeholder="最高价              万元" />
+							<div class="pricefat">
+								<div class="PriceInput">
+									<input type="text" name="minprice" id="minprice" value="{{.T.minprice}}" placeholder="最低价              万元" />
+									<span></span>
+									<input type="text" name="maxprice" id="maxprice" value="{{.T.maxprice}}" placeholder="最高价              万元" />
+								</div>
+								<button class="pricebut" style="display:none;">确定</button>
 							</div>
-							<button>确定</button>
 						</div>
 					</div>
 					<!--项目地区-->
@@ -86,7 +183,7 @@
 							项目地区:
 						</div>
 						<div class="region-content">
-							<span id="regionBtn" class=" active">全国</span>
+							<span id="regionBtn" class="active">全国</span>
 							<i class="diver"></i>
 							<font class="parent-node">华北地区</font>
 							<font>北京</font>
@@ -141,7 +238,7 @@
 					<div class="tabTitle clearfix">
 						<ul>
 							<li>
-								<a class="active" href="javascript:;">全文搜索</a>
+								<a class="active" href="javascript:;">最新招标信息</a>
 							</li>
 						</ul>
 						<div class="right-tabBtn">
@@ -154,81 +251,23 @@
 						<!--全文搜索 列表-->
 						<div class="lucene">
 							<ul>
+								{{range $k,$v:= .T.list}}
 								<li>
 									<div class="liLuceneList">
 										<div class="luce-left">
 											<div class="left-title">
-												<a href="#"> <em>1-1.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
+												<a href="#"> <em>{{$v.k}}</em>{{$v.projectname}}</a>
 											</div>
 										</div>
 										<div class="luce-right">
-											<a href="#">河南</a>
-											<a href="#">中标</a>
-											<a href="#">建筑工程</a>
-											<span>43分钟前</span>
-										</div>
-									</div>
-								</li>
-								<li>
-									<div class="liLuceneList">
-										<div class="luce-left">
-											<div class="left-title">
-												<a href="#"> <em>2.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-											</div>
-										</div>
-										<div class="luce-right">
-											<a href="#">河南</a>
-											<a href="#">中标</a>
-											<a href="#">建筑工程</a>
-											<span>43分钟前</span>
-										</div>
-									</div>
-								</li>
-								<li>
-									<div class="liLuceneList">
-										<div class="luce-left">
-											<div class="left-title">
-												<a href="#"> <em>3.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-											</div>
-										</div>
-										<div class="luce-right">
-											<a href="#">河南</a>
-											<a href="#">中标</a>
-											<a href="#">建筑工程</a>
-											<span>43分钟前</span>
-										</div>
-									</div>
-								</li>
-								<li>
-									<div class="liLuceneList">
-										<div class="luce-left">
-											<div class="left-title">
-												<a href="#"> <em>4.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-											</div>
-										</div>
-										<div class="luce-right">
-											<a href="#">河南</a>
-											<a href="#">中标</a>
-											<a href="#">建筑工程</a>
-											<span>43分钟前</span>
-										</div>
-									</div>
-								</li>
-								<li>
-									<div class="liLuceneList">
-										<div class="luce-left">
-											<div class="left-title">
-												<a href="#"> <em>5.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-											</div>
-										</div>
-										<div class="luce-right">
-											<a href="#">河南</a>
-											<a href="#">中标</a>
-											<a href="#">建筑工程</a>
-											<span>43分钟前</span>
+											<a href="#">{{$v.area}}</a>
+											<a href="#">{{$v.bidtype}}</a>
+											<a href="#">{{$v.industry}}</a>
+											<span>{{$v.time1}}</span>
 										</div>
 									</div>
 								</li>
+								{{end}}
 							</ul>
 						</div>
 						<!--全文搜索 表格-->
@@ -243,30 +282,14 @@
 									</tr>
 								</thead>
 								<tbody>
+								{{range $k,$v:= .T.list}}
 									<tr>
-										<td>1</td>
-										<td>2017-6-15 </td>
-										<td class="tt-l">高速压坏地方公路建设项目</td>
-										<td class="tt-r">1000</td>
-									</tr>
-									<tr>
-										<td>1</td>
-										<td>2017-6-15 </td>
-										<td class="tt-l">高速压坏地方公路建设项目</td>
-										<td class="tt-r">1000</td>
-									</tr>
-									<tr>
-										<td>1</td>
-										<td>2017-6-15 </td>
-										<td class="tt-l">高速压坏地方公路建设项目</td>
-										<td class="tt-r">1000</td>
-									</tr>
-									<tr>
-										<td>1</td>
-										<td>2017-6-15 </td>
-										<td class="tt-l">高速压坏地方公路建设项目</td>
-										<td class="tt-r">1000</td>
+										<td>{{$v.k}}</td>
+										<td>{{$v.time2}} </td>
+										<td class="tt-l">{{$v.projectname}}</td>
+										<td class="tt-r">{{$v.bidamount}}</td>
 									</tr>
+								{{end}}
 								</tbody>
 							</table>
 						</div>
@@ -283,14 +306,89 @@
 				</div>
 			</div>
 			<!--招标搜索页面 END-->
-
-
-
 		</section>
-		<script type="text/javascript" src="/js/jquery-3.2.1.min.js"></script>
-		<script type="text/javascript" src="/js/biddingSearch.js"></script>
+
 	{{include "/common/pcbottom.html"}}
 	{{include "/common/baiducc.html"}}
+	<script>
+		var mainList = {{.T.list}};
+		
+		
+		$(function(){
+			haslogin({{.T.logid}});
+			
+			//价格
+			$("#minprice").click(function(){
+				$(".pricebut").show();
+				$(".pricefat").addClass("customtime-active");
+			})
+			$("#maxprice").click(function(){
+				$(".pricebut").show();
+				$(".pricefat").addClass("customtime-active");
+			})
+			$(".Price-content").find("span:first-child").click(function(){
+				$(this).addClass("active");
+				$(".pricefat").removeClass("active");
+			})
+			$(".pricebut").click(function(){
+				var minp = $("#minprice").val();
+				var maxp = $("#maxprice").val();
+				if (minp==""||maxp==""){
+					return false;
+				}
+				if (minp>maxp){
+					$("#minprice").val(maxp);
+					$("#maxprice").val(minp);
+				}
+				$(this).hide();
+				$(".pricefat").addClass("active");
+				$(".Price-content").find("span:first-child").removeClass("active");
+				$(".pricefat").removeClass("customtime-active");
+				beforeSubmit();
+			})		
+        });
+		function beforeSubmit(){			
+			//地区
+			var selectAreas = "";
+			$(".region-content .active:not(.parent-node)").each(function(){
+				var thisText = $(this).text();
+				if(thisText != "全国"){
+					if(selectAreas != ""){
+						selectAreas += ",";
+					}
+					selectAreas += thisText;
+				}
+			});
+			$("#zbSeatchT [name='area']").val(selectAreas);
+			
+			//价格
+			var selectMinPrices = $(".PriceInput [name='minprice']").val();
+			var selectMaxPrices =  $(".PriceInput [name='maxprice']").val();
+			$("#zbSeatchT [name='minprice']").val(selectMinPrices);
+			$("#zbSeatchT [name='maxprice']").val(selectMaxPrices);
+			//搜索关键词
+			var searchname = $("#zbSeatchT input[name='keywords']").val();
+			console.log("----"+searchname)
+			$("#zbSeatchT input[name='searchvalue']").val($.trim(searchname))
+			searchOnsubmit();
+			return true
+		}
+//
+		function searchOnsubmit(){
+			var param = {
+						searchvalue: $("#zbSeatchT [name='searchvalue']").val(),
+						area: $("#zbSeatchT [name='area']").val(),
+						minprice: $("#zbSeatchT [name='minprice']").val(),
+						maxprice: $("#zbSeatchT [name='maxprice']").val(),
+					};
+			$.post("/jylab/pcSearchZbqyAjax",param,function(r){
+				
+			});
+		}
+
+
+
+	</script>
 	</body>
 
 </html>

+ 174 - 414
src/web/templates/pc/supsearch.html

@@ -12,7 +12,7 @@
 <link href="/css/dev2/biddingSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <link href="/css/dev2/biddingSearch1.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <script src="/js/jquery.cookie.js"></script>
-<script src="/js/biddingSearch.js?v={{Msg "seo" "version"}}"></script>
+<script language="javascript" type="text/javascript" src="/My97DatePicker/WdatePicker.js"></script>
 <style type="text/css">
 /*j-wx-code Start*/
 .j-wx-code{
@@ -89,40 +89,111 @@
 	     -o-animation-fill-mode:forwards;
 	        animation-fill-mode:forwards;
 }
-.navigation{
-	display:block;
-}
 a{
 	text-decoration: none !important;
 }
+.disabled{
+	cursor: not-allowed;
+    color: #aea79f !important
+}
+#keyImg{
+	width:198px;
+}
+#layerImg{
+	position:absolute;
+	width: 150px !important;
+    height: 150px !important;
+    left: 198px;
+    top: 148px;
+}
+.layheader{
+	position: absolute;
+    color: #fff;
+    left: 138px;
+    top: 40px;
+    line-height: 32px;
+    font-family: 微软雅黑;
+    font-weight: bold;
+}
+.layheader div:nth-child(1){
+	font-size:20px;
+}
+.layheader div:nth-child(2){
+	font-size:16px;
+	margin-top:10px;
+}
+.modal-footer{
+	text-align: center;
+    position: absolute;
+    bottom: 65px;
+    left: 110px;
+    font-size: 14px;
+    line-height: 22px;
+    color: #686868;
+}
+.modal-dialog{
+	width:500px;
+}
 </style>
 <script>
 $(function(){
-	$(".searchname").on("input propertychange",function(){
-		var inputval = $("#searchinput").val();
-		
-  	});
+	var industrylist = {{.T.industrylist}}
+	var sortArray = {{.T.sortArray}}
+	var industryhtml = '<span id="induAll" class="active">全部</span>';
+	if (sortArray!=null&&sortArray.length>0){
+		for(var i in sortArray){
+			var fat = sortArray[i]
+			var childlist = industrylist[fat]
+			industryhtml+='<i class="diver"></i>'
+					+'<font class="parent-node ">'+fat+'</font>'
+			for (var j in childlist){
+				industryhtml+='<font data-value="'+fat+'_'+childlist[j]+'">'+childlist[j]+'</font>'
+			}
+		}
+		$(".industry-content").html(industryhtml)
+	}
+	
 })
 </script>
+<script src="/js/biddingSearch.js?v={{Msg "seo" "version"}}"></script>
+<script src="/js/superSearch.js?v={{Msg "seo" "version"}}"></script>
 </head>
 <body>
 {{include "/common/pchead.html"}}
+<div class="modal fade" id="labModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+    <div class="modal-dialog">
+        <div class="modal-content" id="labmodalcont">
+            <div class="modal-body" id="labmodalbody">
+				<div class="layheader">
+					<div>超级搜索</div>
+					<div>按行业、金额搜索、结果可按表格显示</div>
+				</div>
+				<img src="/images/biddingSearch/labbkimg.png"/>
+				<img id="layerImg" src="/front/share/{{.T.shareid}}"/>
+			</div>
+            <div class="modal-footer">
+                此功能尚处在实验阶段,请扫码进入<br>剑鱼实验室,打开相应开关后,即可体验!
+            </div>
+        </div><!-- /.modal-content -->
+    </div><!-- /.modal -->
+</div>
 <section id="searchInner">
 	<!--搜索头部 START-->
 	<div class="searchHeader">
 		<div class="w searchHeader-container">
 			<!--整体页面切换tab-->
 			<div class="control-tabBtn">
-				<a href="#" class="on">超级搜索</a>
+				<a href="#" class="on" style="display:none;">超级搜索</a>
+				<span class="bidbut">招标搜索</span>
 				<a href="#">中标企业搜索</a>
 			</div>
 			<!--搜索-->
 			<div class="searchInput clearfix">
-				<form action="" method="" class="clearfix">
-					<input class="searchname" autocomplete="off" type="search" name="" id="searchinput" value="" name="keywords" placeholder="高速公路" />
+				<form action="/jylab/supsearch/index.html" method="post"  id="zbSeatchT" class="clearfix" onsubmit="return beforeSubmit('F')">
+					<input class="searchname" autocomplete="off" type="search" id="searchinput" value="" name="keywords" placeholder="高速公路" />
 
-					<input type="submit" value="搜索" />
-					<div class="searchSlideText">
+					<input type="button" value="搜索" />
+<!--					<div class="searchSlideText">
 						<ul>
 							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 							<li>滁州市<i>万达集团</i>公司</li>
@@ -137,7 +208,16 @@ $(function(){
 							<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
 							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 						</ul>
-					</div>
+					</div>-->
+					<input type="hidden" name="searchvalue" value="{{.T.searchvalue}}">
+					<input type="hidden" name="publishtime" value="{{.T.publishtime}}">
+					<input type="hidden" name="timeslot" value="{{.T.timeslot}}">
+					<input type="hidden" name="area" value="{{.T.area}}">
+					<input type="hidden" name="subtype" value="{{.T.subtype}}">
+					<input type="hidden" name="minprice" value="{{.T.minprice}}">
+					<input type="hidden" name="maxprice" value="{{.T.maxprice}}">
+					<input type="hidden" name="industry" value="{{.T.selectIndustry}}">
+					<input type="hidden" name="selectType" value="all">
 				</form>
 				<!--筛选-->
 				<div id="screenBtn" class="screen up">
@@ -150,10 +230,17 @@ $(function(){
 				<!--二维码-->
 				<div class="search-right-wx">
 					<img src="/images/biddingSearch/sea-right-wx.png" />
-					<div class="popQR" style="display:none;">
-						<div class="promptheader">扫描订阅关键词</div>
-						<div><img  id="keyImg" src="/front/share/{{.T.shareid}}"/></div>
-						<div class="promptbottom">微信扫一扫<br>随时随地掌握招标信息</div>
+					<div class="search-right-wx-inner">
+						<div class="wx-inner-title">
+							扫码关注剑鱼招标订阅
+						</div>
+						<div class="wx-inner-ewm">
+							<img  id="keyImg" src="/front/share/{{.T.shareid}}"/>
+						</div>
+						<div class="wx-inner-bottom">
+							微信扫一扫<br>随时随地掌握招标信息
+<!--						微信扫一扫,及时获取及时获取<i>"1"</i>相关招标信息-->
+						</div>
 					</div>
 				</div>
 			</div>
@@ -164,7 +251,7 @@ $(function(){
 	<!--招标搜索页面 START-->
 	<div class="searchControl">
 		<!--头部功能-->
-		<div class="searchTender w">
+		<div class="searchTender w" style="display: none;">
 			<!--行业-->
 			<div class="industry">
 				<div class="leftTitle">
@@ -175,80 +262,7 @@ $(function(){
 					更多
 				</div>
 				<div class="industry-content">
-					<span id="induAll" class="active">全部</span>
-					<i class="diver"></i>
-					<font class="parent-node ">建筑工程</font>
-					<font>勘察设计</font>
-					<font>工程施工</font>
-					<font>工程监理</font>
-					<font>材料设备</font>
-					<i class="diver"></i>
-					<font class="parent-node">水利水电</font>
-					<font>水利工程</font>
-					<font>发电工程</font>
-					<font>航运工程</font>
-					<font>其他工程</font>
-					<i class="diver"></i>
-					<font class="parent-node">能源化工</font>
-					<font>原材料</font>
-					<font>仪器仪表</font>
-					<font>设备</font>
-					<font>化工产品</font>
-					<font>新能源</font>
-					<i class="diver"></i>
-					<font class="parent-node">弱电安防</font>
-					<font>综合布线</font>
-					<font>智能系统</font>
-					<font>智能家居</font>
-					<i class="diver"></i>
-					<font class="parent-node">信息技术</font>
-					<font>系统集成及安全</font>
-					<font>软件开发</font>
-					<font>运维服务</font>
-					<font>其他</font>
-					<i class="diver"></i>
-					<font class="parent-node">行政办公</font>
-					<font>办公家具</font>
-					<font>通用办公设备</font>
-					<font>专业设备</font>
-					<font>办公用品</font>
-					<i class="diver"></i>
-					<font class="parent-node">机械设备</font>
-					<font>农业机械 </font>
-					<font>矿山机械</font>
-					<font>工程机械</font>
-					<font>机械零部件 </font>
-					<font>机床</font>
-					<font>车辆</font>
-					<font>其他机械设备</font>
-					<i class="diver"></i>
-					<font class="parent-node">交通工程</font>
-					<font>道路工程 </font>
-					<font>轨道工程</font>
-					<font>桥梁工程</font>
-					<font>隧道工程 </font>
-					<font>其他工程</font>
-					<i class="diver"></i>
-					<font class="parent-node">医疗卫生</font>
-					<font>设备 </font>
-					<font>耗材</font>
-					<font>药品</font>
-					<i class="diver"></i>
-					<font class="parent-node">市政设施</font>
-					<font>市政道路</font>
-					<font>市政绿化</font>
-					<font>管网线路</font>
-					<font>综合项目</font>
-					<i class="diver"></i>
-					<font class="parent-node">服务采购</font>
-					<font>法律咨询</font>
-					<font>会计服务</font>
-					<font>物业服务</font>
-					<font>审计服务</font>
-					<font>安保服务</font>
-					<font>物流服务</font>
-					<font>其他服务</font>
-
+					
 				</div>
 			</div>
 			<!--价格区间-->
@@ -257,13 +271,15 @@ $(function(){
 					价格区间:
 				</div>
 				<div class="Price-content clearfix">
-					<span class="active">全部</span>
-					<div class="PriceInput">
-						<input type="text" name="" id="" value="" placeholder="最低价              万元" />
-						<span></span>
-						<input type="text" name="" id="" value="" placeholder="最高价              万元" />
+					<span id="priceAll" class="active">全部</span>
+					<div class="pricefat">
+						<div class="PriceInput">
+							<input type="text" name="minprice" id="minprice" value="" placeholder="最低价              万元" />
+							<span></span>
+							<input type="text" name="maxprice" id="maxprice" value="" placeholder="最高价              万元" />
+						</div>
+						<button class="pricebut" style="display:none;">确定</button>
 					</div>
-					<button>确定</button>
 				</div>
 			</div>
 			<!--发布时间-->
@@ -273,17 +289,17 @@ $(function(){
 				</div>
 				<div class="fl timer">
 					<ul>
-						<li class="active">全部</li>
-						<li>最近七天</li>
-						<li>最近30天</li>
-						<li>去年</li>
+						<li id="timerAll" class="active" data-value="">全部</li>
+						<li data-value="lately-7">最近七天</li>
+						<li data-value="lately-30">最近30天</li>
+						<li data-value="thisyear">去年</li>
 					</ul>
 				</div>
 				<div class="timerInput fl">
-					<input type="text" name="" id="" value="" placeholder="" />
+					<input type="text"  onClick="WdatePicker({onclearing:function(){onclearing(this)},onpicked:function(dp){picked(dp,this)},onpicking:function(dp){onpicking(dp,this)},dateFmt:'yyyy年MM月dd日',maxDate:'#F{$dp.$D(\'endtime\')}'})" id="starttime" readonly="true" placeholder="" />
 					<span></span>
-					<input type="text" name="" id="" value="" placeholder="" />
-					<button class="fl">确定</button>
+					<input type="text" name="maxtime"  onClick="WdatePicker({onclearing:function(){onclearing(this)},onpicked:function(dp){picked(dp,this)},onpicking:function(dp){onpicking(dp,this)},dateFmt:'yyyy年MM月dd日',minDate:'#F{$dp.$D(\'starttime\')}'})" id="endtime" readonly="true" placeholder="" />
+					<button class="fl" id="timebut" style="display:none;">确定</button>
 				</div>
 			</div>
 			<!--项目地区-->
@@ -349,38 +365,46 @@ $(function(){
 					<span id="infoBtn" class=" active">全部</span>
 					<i class="diver"></i>
 					<font class="parent-node infoFist">拟建项目</font>
-					<a href="#"><img src="/images/biddingSearch/info-icon1.png" alt="" /></a>
+					<font data-value="拟建" class="hidden">拟建</font>
+					<a id="whole"><img class="q-mark" id="q-mark"  src="/images/biddingSearch/info-icon1.png" alt="" /></a>
 					<i class="diver"></i>
 					<font class="parent-node">招标预告</font>
+					<font data-value="预告" class="hidden">预告</font>
 					<i class="diver"></i>
 					<font class="parent-node">招标公告</font>
-					<font>招标</font>
-					<font>邀标</font>
-					<font>询价</font>
-					<font>竞谈</font>
-					<font>单一</font>
-					<font>竞价</font>
-					<font>变更</font>
-					<font>其他</font>
+					<font data-value="招标">招标</font>
+					<font data-value="邀标">邀标</font>
+					<font data-value="询价">询价</font>
+					<font data-value="竞谈">竞谈</font>
+					<font data-value="单一">单一</font>
+					<font data-value="竞价">竞价</font>
+					<font data-value="变更">变更</font>
+					<font data-value="其他">其他</font>
 					<i class="diver"></i>
 					<font class="parent-node">招标结果</font>
-					<font>中标</font>
-					<font>成交</font>
-					<font>废标</font>
-					<font>流标</font>
+					<font data-value="中标">中标</font>
+					<font data-value="成交">成交</font>
+					<font data-value="废标">废标</font>
+					<font data-value="流标">流标</font>
 					<i class="diver"></i>
 					<font class="parent-node">招标信用信息</font>
-					<font>合同</font>
-					<font>验收</font>
-					<font>违规</font>
+					<font data-value="合同">合同</font>
+					<font data-value="验收">验收</font>
+					<font data-value="违规">违规</font>
 				</div>
+				<span class="remind" style="display:none;">
+					<span class="remindone"></span>
+					<span class="remindonebak"></span>
+					<span class="remindtwo"><span>"拟建项目"</span>是指那些处于前期立项、审批阶段的项目。供应商应在立项阶段掌握项目信息,做到早介入,稳拿单。</span>
+					<span class="iknow">我知道了</span>
+				</span>
 			</div>
 		</div>
 		<!--招标搜索列表内容-->
 		<div class="seaTender-inner w">
 			<!--招标tab切换-->
 			<div class="tabTitle clearfix">
-				<ul>
+				<ul id="newsclass" style="display:none;">
 					<li>
 						<a class="active" href="javascript:;">全文搜索</a>
 					</li>
@@ -388,111 +412,22 @@ $(function(){
 						<a href="javascript:;">标题搜索</a>
 					</li>
 				</ul>
+				<ul id="newsnow">
+					<li>
+						<a class="active" href="javascript:;">最新招标信息</a>
+					</li>
+				</ul>
 				<div class="right-tabBtn">
 					<button class="active">列表</button>
 					<button>表格</button>
 				</div>
 			</div>
 			<!--tab切换内容-->
-			<div class="tabContainer">
+			<div class="tabContainer" id="allnews">
 				<!--全文搜索 列表-->
 				<div class="lucene">
 					<ul>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>1-1.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>2.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>3.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>4.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>5.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
+						
 					</ul>
 				</div>
 				<!--全文搜索 表格-->
@@ -508,58 +443,11 @@ $(function(){
 								<td width="65">预算<br>(万元)</td>
 								<td width="100">开标时间</td>
 								<td width="180">中标单位</td>
-								<td>中标金额(万元)</td>
+								<td>中标金额<br>(万元)</td>
 							</tr>
 						</thead>
 						<tbody>
-							<tr>
-								<td>1-1</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>2</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>3</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>4</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
+							
 						</tbody>
 					</table>
 				</div>
@@ -569,101 +457,7 @@ $(function(){
 				<!--全文搜索 列表-->
 				<div class="lucene">
 					<ul>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>2-1.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>2.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>3.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>4.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
-						<li>
-							<div class="liLuceneList">
-								<div class="luce-left">
-									<div class="left-title">
-										<a href="#"> <em>5.</em>开封县高速公路建设指挥部高速压坏地方公路建设项目招标公告河南</a>
-									</div>
-									<div class="left-content">
-										<a href="#">河南五建招标有限公司受河南省开封县高速公路京秦管理处委托,根据《中华人民共和国政府采购法》等有关规定,现对河南省开封县高速公路京秦管理处养护设备采购......</a>
-									</div>
-
-								</div>
-								<div class="luce-right">
-									<a href="#">河南</a>
-									<a href="#">中标</a>
-									<a href="#">建筑工程</a>
-									<span>43分钟前</span>
-								</div>
-							</div>
-						</li>
+						
 					</ul>
 				</div>
 				<!--全文搜索 表格-->
@@ -679,69 +473,25 @@ $(function(){
 								<td width="65">预算<br>(万元)</td>
 								<td width="100">开标时间</td>
 								<td width="180">中标单位</td>
-								<td>中标金额(万元)</td>
+								<td>中标金额<br>(万元)</td>
 							</tr>
 						</thead>
 						<tbody>
-							<tr>
-								<td>2-1</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>2</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>3</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
-							<tr>
-								<td>4</td>
-								<td>2017-6-15</td>
-								<td>中标公告</td>
-								<td class="tt-l"><i>高速</i>公路管理处管理处</td>
-								<td class="tt-l"><i>高速</i>压坏地方<i>公路</i>建设项目</td>
-								<td class="tt-r">1000</td>
-								<td>2017-7-15 9:30</td>
-								<td class="tt-l">河南同济路桥工程技术 有限公司
-								</td>
-								<td class="tt-r">1200</td>
-							</tr>
+							
 						</tbody>
 					</table>
 				</div>
 			</div>
+			<div class="hasNoData" style="display: none;">
+				<img src="/images/pc_12.png" id="hasNoData">
+			</div>
 		</div>
 		<!--分页-->
 		<div class="pagination clearfix w">
 			<div class="pagination-inner fr">
-				<a href="#"><i><</i>上一页</a>
+				<a class="nbprev disabled"><i><</i>上一页</a>
 				<span>1</span>
-				<a href="#">下一页<i>></i></a>
+				<a class="nbnext">下一页<i>></i></a>
 			</div>
 		</div>
 	</div>
@@ -753,6 +503,14 @@ $(function(){
 <script type="text/javascript">
 $(function(){
 	haslogin({{.T.logid}});
+	console.log(loginflag+"-------")
+	//
+	$(".q-mark").click(function(){
+		$(".remind").fadeIn();
+	})
+	$(".iknow").click(function(){
+		$(".remind").fadeOut();
+	})
 	//
 	$(window).scroll(function(){
 		if($(this).scrollTop() > 0){
@@ -761,6 +519,8 @@ $(function(){
 			$("#backTop").hide();
 		}
 	});
+	var list = {{.T.list}}
+	appendDatas(list,false);
 })
 </script>
 </body>

+ 154 - 22
src/web/templates/weixin/search/mainSearch.html

@@ -19,7 +19,7 @@
             color: #000;
             background-color:#f5f4fa;
         }
-        .searchname{
+        .searchvalue{
             background-color:#FFFFFF;
             border:1px solid #E6E6E6;
             height:45px;
@@ -42,14 +42,14 @@
             background-image:url(/images/wx/jysearch.png);
             background-size:100% 160%;
         }
-        .mainSearch .tubiao img {
+        .mainSearch .clearInpt img {
             width: 32px;
             display: inline-block;
             padding-left: 10px;
             position: absolute;
             z-index: 10;
             top: 58px;
-            right: 16%;
+            right: 26%;
         }
         .mainSearch .help img {
             width: 23px;
@@ -57,14 +57,14 @@
             top: 55px;
             right: 3.5%;
         }
-        .mainSearch .qc img {
+        .mainSearch .query img {
             width: 30px;
             display: inline-block;
             padding-left: 10px;
             position: absolute;
             z-index: 10;
             top: 58px;
-            right: 26px;
+            right: 16%;
         }
         .otherSearch{
             width:94%;
@@ -110,23 +110,155 @@
             width: 100%;
             height: 20px;
         }
+        .inputDiv{
+            width: 85%;
+            z-index: 9999;
+            position: absolute;
+            background-color: #fff;
+            border-top: 1px solid #e0e0e0;
+        }
+        .inputDiv ul{
+           margin: 0px;
+            padding: 0px;
+        }
+        .inputDiv .history li,.inputDiv .myMsgset li,.inpTitle{
+            width: 100%;
+            height: 38px;
+            border-left: 1px solid #e0e0e0;
+            border-right: 1px solid #e0e0e0;
+            border-bottom: 1px solid #e0e0e0;
+            line-height: 38px;
+            padding-left: 10px;
+            overflow: hidden;
+        }
+        .inputDiv .history li,.inputDiv .myMsgset li{
+            color:#888;
+            font-size: 14px;
+        }
+        .inputDiv img{
+            width: 20px;
+        }
+        .inpTitle{
+            color:#888;
+            font-size: 16px;
+        }
+        .inpTitle span{
+            padding-left: 10px;
+        }
+        #del_history{
+            float: right;
+            margin: 9px;
+        }
     </style>
+    <script>
+        var myHistory={{.T.history}};
+        var msgset={{.T.msgset}};
+        //initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
+        $(function(){
+            $(".searchvalue").on("input propertychange",function(){
+                canSearch()
+            });
+            canSearch();
+            $(".searchform .clearInpt").click(function(){$("input[name=searchvalue]").val("");canSearch();});
+            $(".searchform .query").click(function(){
+                $("#searchform").submit();
+            })
+            //历史搜索和我的订阅
+            $("input[name=searchvalue]").focus(function(){$(".inputDiv").removeClass("hidden")});
+            $("input[name=searchvalue]").blur(function(){ setTimeout(function(){$(".inputDiv").addClass("hidden")},0);});
+            loadTipMsg(myHistory,msgset);
+            $(".inputDiv").css("width",($(window).width()-30)*0.92);    //调整宽度
+            //删除历史搜索
+            $("#del_history").click(function(){
+                if($(".inputDiv .history").find("li").length >0){
+                    $.ajax({
+                        type:"post",
+                        url:"/swordfish/delWxHistorySearch",
+                        success:function(rt){
+                            $(".inputDiv .history").find("li").remove();
+                        }
+                    });
+                }
+            })
+        });
+        document.onkeydown = function(e){
+            if(!e){
+                e = window.event;
+            }
+            if((e.keyCode || e.which) == 13){
+                $("#searchform").submit();
+            }
+        };
+        function canSearch(){  //是否显示搜索按钮
+            var len=$(".searchvalue").val().length;
+            if(len>0){
+                $(".clearInpt").removeClass("hidden");
+                $(".query").removeClass("hidden");
+            }else{
+                $(".clearInpt").addClass("hidden");
+                $(".query").addClass("hidden");
+            }
+        }
+        function loadTipMsg(myhistory,msgset){
+            //历史信息
+            if(myhistory!=null){
+                historyHtml ="";
+                for(var i=0;i<myhistory.length;i++){
+                    historyHtml+="<li>"+myhistory[i]+"</li>"
+                }
+                $(".inputDiv .history").html(historyHtml);
+            }
+
+            //订阅信息
+            if(msgset!=null){
+                msgsetHtml="";
+                for(var n=0;n<msgset.length;n++){
+                    var  mymsgset="";
+                    for(var m=0;m<msgset[n].length;m++){
+                        mymsgset+=msgset[n][m]+" "
+                    }
+                    msgsetHtml+="<li>"+mymsgset+"</li>";
+                }
+                $(".inputDiv .myMsgset").html(msgsetHtml);
+            }
+
+            //点击提示框内容 进行搜索
+            $(".inputDiv li").click(function () {
+                $("input[name=searchvalue]").val($(this).text());
+                $("#searchform").submit();
+            })
+        }
+    </script>
 </head>
 <body class="mainSearch">
-	<!-->顶部搜索<-->
+<!-->顶部搜索<-->
 <div id="searchDiv">
-	<form class="searchform" id="searchform" method="post" action="/swordfish/searchlist" target="listf">
-	<div class="wxhead">
-	<input class="form-control searchname" id="searchname" name="searchname" maxlength ="50" value="{{if .T.shname}}{{.T.shname}}{{end}}" placeholder="示例:税务局 软件"/>
-	<span class="tubiao"><img src="/images/wx/jywxjs.png"/></span>
-	<span class="qc hidden"><img src="/images/wx/jyqingchu.png"></span>
-	<span class="help"><img src="/images/help-w.png"/></span>
-	</div>
-	</form>
+    <form class="searchform" id="searchform" method="post" action="/jylab/superSearch">
+        <div class="wxhead">
+            <input class="form-control searchvalue" id="searchvalue" name="searchvalue" maxlength ="50" value="{{if .T.shname}}{{.T.shname}}{{end}}" placeholder="示例:税务局 软件"/>
+            <div class="inputDiv hidden">
+                <div class="inpTitle"><img src="/images/search/history.png"><span>历史搜索</span><img id="del_history" src="/images/search/history_clean.png"></div>
+                <div>
+                    <ul class="history">
+                    </ul>
+                </div>
+                <div style="clear: both"></div>
+                <div class="inpTitle"><img src="/images/search/msgset.png"><span>我的订阅的关键词</span></div>
+                <div>
+                    <ul class="myMsgset">
+                    </ul>
+                </div>
+
+            </div>
+            <span class="query hidden"><img src="/images/wx/jywxjs.png"/></span>
+            <span class="clearInpt hidden"><img src="/images/wx/jyqingchu.png"></span>
+            <span class="help"><img src="/images/help-w.png"/></span>
+        </div>
+    </form>
 </div>
 <div id="otherSearch">
-	<!-->超级搜索<-->
-	<div id="superSearch" class="otherSearch">
+    <!-->超级搜索<-->
+    <div id="superSearch" class="otherSearch">
         <div class="img">
             <img src="/images/search/search-sousuo.png">
         </div>
@@ -134,11 +266,11 @@
             <div class="title">超级搜索</div>
             <div class="desc">按行业、金额搜索,结果可按表格显示</div>
         </div>
-	</div>
-	
-	<div class="block"></div>
-	<!-->中标企业搜索<-->
-	<div id="entseSearch" class="otherSearch">
+    </div>
+
+    <div class="block"></div>
+    <!-->中标企业搜索<-->
+    <div id="entseSearch" class="otherSearch">
         <div class="img">
             <img src="/images/search/search-zhongqy.png">
         </div>
@@ -146,7 +278,7 @@
             <div class="title">中标企业搜索</div>
             <div class="desc">搜索企业的所有中标项目信息</div>
         </div>
-	</div>
+    </div>
 </div>
 </body>
 </html>

+ 936 - 936
src/web/templates/weixin/search/superSearch.html

@@ -1,975 +1,975 @@
 <html>
 <head>
-<title>招标搜索</title>
-<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<meta name="renderer" content="webkit">
-<link href="/mobiscroll/mobiscroll.min.css" rel="stylesheet">
-<link href="/wxswordfish/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-{{include "/common/inc.html"}}
-<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
-<script src="/js/jquery.js"></script>
-<script src="/mobiscroll/mobiscroll.min.js"></script>
-<script src="/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
-<script src="/wxswordfish/superSearch.js?v={{Msg "seo" "version"}}"></script>
-<script src="/wxswordfish/jquery.resize.js"></script>
-<script>
-	var isWxsearchlist = true;
-	var msgset= {{.T.msgset}};
-	var toptype = {{.T.toptype}};
-	var subtype = {{.T.subtype}};
-	var scopes = {{.T.scope}};
-	var ptime = {{.T.publishtime}};
-	var s_words = {{.T.searchvalue}};
-	var bodyHeight = 0;
-	var isloadover = false;
-	var firstPage = {{.T.list}};
-	var pageSize = {{.T.pageSize}};
-	window.top.pageNumCache = 1;
-	window.top.listCache = "";
-	window.top.noMoreCache = "false";
-	initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
-
-$(function(){
-
-	$(".wxhead").find(".screen").click(function(){
-		if(!isloadover){
-			return;
-		};
-		$(".wxsearch").toggleClass("hidden");
-		$("#selLable").toggleClass("hidden");
-
-		if($("#list").text()==""){
-		    $(".nullcontent").toggleClass("hidden");
-		}else{
-		    $("#wrapper").toggleClass("hidden");
-		}
-	});
-	/**********************分页请求start****************************/
-	var loadCacheData = false;
-    var pageNum = 1;
-	if(sessionStorage && sessionStorage.wxsearchScrollTop && sessionStorage.wxsearchListCache){
-		loadCacheData = true;
-		isloadover = true;
-		pageNum = sessionStorage.wxsearchPageNumCache;
-		window.top.noMoreCache = sessionStorage.wxsearchNoMoreCache;
-		$("#list").css("visibility","hidden");
-		appendListHtml(sessionStorage.wxsearchListCache,pageNum);
-		if(window.top.noMoreCache == "true"){
-			initDroploadNoMoreData();
-		}
-		sessionStorage.removeItem("wxsearchPageNumCache");
-		sessionStorage.removeItem("wxsearchListCache");
-		setTimeout(function(){
-			$(window.top.isIOS?window.top:window).scrollTop(sessionStorage.wxsearchScrollTop);
-			sessionStorage.removeItem("wxsearchScrollTop");
-			$("#list").css("visibility","visible");
-		},300);
-	}else{
-		if(!firstPage || firstPage.length == 0){
-			hasNoData();
-			isloadover = true;
-		}else if(firstPage && firstPage.length < pageSize){
-			appendListHtml(getHtml(firstPage,1),1);
-			initDroploadNoMoreData();
-			isloadover = true;
-		}
-		$(window.top).scrollTop(0);
-	}
-	if(firstPage && firstPage.length == pageSize && window.top.noMoreCache != "true"){
-		setTimeout(function(){
-			var reqParam = {
-				"searchname": $("#searchform [name='searchname']").val(),
-				"searchvalue": $("#searchform [name='searchvalue']").val(),
-				"subtype": $("#searchform [name='subtype']").val(),
-				"scope": $("#searchform [name='scope']").val(),
-				"publishtime": $("#searchform [name='publishtime']").val(),
-				"selectType": $("#searchform [name='selectType']").val(),
-				"pageNum": pageNum
-			};
-			if(reqParam["searchname"] == ""){
-				hasNoData();
-				return;
-			}
-			$('#wrapper').dropload({
-		        scrollArea : window.top.isIOS?window.top:window,
-		        loadDownFn : function(me){
-					if(window.top.isBackIndex){
-						noMoreData(me);
-						return;
-					}
-					if(!loadCacheData && firstPage){
-						appendListHtml(getHtml(firstPage,1),1);
-						firstPage = null;
-						isloadover = true;
-						setTimeout(function(){
-							me.resetload();
-						},1000);
-						return;
-					}
-					pageNum++
-					reqParam["pageNum"] = pageNum;
-		            $.ajax({
-		                type: 'post',
-		                url: '/swordfish/searchlist/paging',
-						data: reqParam,
-		                dataType: 'json',
-		                success: function(data){
-							isloadover = true;
-							//没有数据
-							if(data["list"] == null || data["list"].length == 0){
-								noMoreData(me);
-								return;
-							}
-							var html = getHtml(data["list"],reqParam["pageNum"]);
-							// 每次数据插入,必须重置
-							appendListHtml(html,pageNum);
-							//没有下一页了
-							if(!data.hasNextPage){
-								// 锁定
-		                        me.lock();
-								// 无数据
-			                    me.noData();
+	<title>招标搜索</title>
+	<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<meta name="renderer" content="webkit">
+	<link href="/mobiscroll/mobiscroll.min.css" rel="stylesheet">
+	<link href="/css/search/superSearch.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="/css/dropload.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	<link href="/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	{{include "/common/inc.html"}}
+	<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
+	<script src="/js/jquery.js"></script>
+	<script src="/mobiscroll/mobiscroll.min.js"></script>
+	<script src="/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
+    <script src="/wxswordfish/superSearch.js?v={{Msg "seo" "version"}}"></script>
+	<script src="/js/dropload.js?v={{Msg "seo" "version"}}"></script>
+    <script src="/wxswordfish/jquery.resize.js"></script>
+	<script>
+
+        var s_words = {{.T.searchvalue}};
+        var firstPage = {{.T.list}};
+        var pageSize = {{.T.pageSize}};
+        var myHistory={{.T.history}};
+        var msgset={{.T.msgset}};
+        var industryData={{.T.industry}}
+        var sortArray={{.T.sortArray}}
+        window.top.noMoreCache = "false";
+        var scrollDownObj=null;   //翻页对象
+		var dyDiv=true;     //显示订阅剑鱼信息
+        initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
+        //提交参数
+        var reqParam = {
+            "searchvalue": "",
+            "subtype": "",
+            "scope": "",
+            "publishtime": "",
+            "selectType": "",
+            "money":"",
+            "industry":"",
+            "pageNum": 1
+        };
+        var loadCacheData = true;
+        $(function(){
+            //loadTipMsg加载历史记录和我的订阅
+            loadTipMsg(myHistory,msgset);
+
+            //筛选菜单展示or隐藏
+            $(".wxhead").find(".screen").click(function(){
+                $(".wxsearch").toggleClass("hidden");
+                $("#selLable").toggleClass("hidden");
+
+                if($("#list").text()==""){
+                    $(".nullcontent").toggleClass("hidden");
+                }else{
+                    $("#wrapper").toggleClass("hidden");
+                }
+            });
+
+            /**********************分页请求start****************************/
+			//铺数据 1.首次跳转传过来的数据  2.页面搜索数据 3.下拉查询数据
+            //下拉更新
+            setTimeout(function(){
+
+                $('#wrapper').dropload({
+                    scrollArea : window.top.isIOS?window.top:window,
+                    loadDownFn : function(me){
+                        scrollDownObj=me;
+                        if(loadCacheData){    //第一次加载跳转传递的信息
+                            loadCacheData=false;
+							if(firstPage){    //firstPage不为null
+                                if(firstPage.length>0){  //如果判断是否为空
+                                    appendListHtml(getHtml(firstPage,1));
+                                    setTimeout(function(){
+                                        me.resetload();
+                                    },1000);
+                                    if(firstPage.length<pageSize){
+										me.noData();
+										me.lock();
+									}
+                                    firstPage = null;
+                                    return
+                                }
 							}
-							me.resetload();
-		                },
-		                error: function(xhr, type){
-							noMoreData(me);
-		                }
-		            });
-		        }
-		    });
-		},0);
-	}
-	/**********************分页请求end****************************/
-	//
-	if(scopes != "A"&&scopes != ""){
-		$(".contentone").find("ul:first li:first .btn").removeClass("active");
-		scopes = scopes.split(",");
-		for(var i=0;i<scopes.length;i++){
-			$(".contentone").find(".btn").each(function(){
-				if($(this).text() == scopes[i]){
-				$(this).addClass("active");
-				if($(this).parent("li").find(".btn").length == $(this).parent("li").find(".btn.active").length){
-					$(this).prevAll('div[id="dqbtn"]').addClass("active");
-					};
-					return false;
-				}
+                            me.noData();
+                            me.lock();
+                            hasNoData();
+							return
+                        }
+                        //---------------------------非第一次  下拉翻页请求
+                        beforeSubmit();
+                        reqParam["pageNum"] ++;        //翻页请求
+                        $.ajax({
+                            type: 'post',
+                            url: '/swordfish/searchlist/paging',
+                            data: reqParam,
+                            dataType: 'json',
+                            success: function(data){
+                                //没有数据
+                                if(data["list"] == null || data["list"].length == 0){
+                                    noMoreData(me);
+                                    return;
+                                }
+                                var html = getHtml(data["list"],reqParam["pageNum"]);
+                                // 每次数据插入,必须重置
+                                appendListHtml(html);
+                                //没有下一页了
+                                if(!data.hasNextPage){
+                                    // 锁定
+                                    me.lock();
+                                    // 无数据
+                                    me.noData();
+                                }
+                                me.resetload();
+                            },
+                            error: function(xhr, type){
+                                noMoreData(me);
+                            }
+                        });
+                    }
+                });
+            },0);
+
+            /**********************分页请求end****************************/
+
+            canSearch();
+            $("input[name=searchvalue]").on("input",function(){canSearch();});//监听输入框是否为空
+            //是否显示提示搜索框
+			$("input[name=searchvalue]").focus(function(){$(".inputDiv").removeClass("hidden")});
+            $("input[name=searchvalue]").blur(function(){ setTimeout(function(){$(".inputDiv").addClass("hidden")},0);});
+			$(".inputDiv").css("width",($(window).width()-24)*0.85);    //调整宽度
+
+            //清除输入框功能
+            $(".searchform .clearInpt").click(function(){$("input[name=searchvalue]").val("");canSearch();});
+            //提交查询
+            $(".searchform .query").click(function(){beforeSubmit();toquery();})
+            $(".jyshxbottom .jydqsure").click(function(){
+                if($(this).hasClass("on")){
+                    beforeSubmit();
+                    toquery();
+                }else{
+                    return
+                }
+            });
+			//清除筛选
+			$(".jyshxbottom .jydqreset").click(function(){resetSx()	});
+			//关闭搜索后订阅================================================================
+			$(".dy_close").on("click",function(){
+                $(".resbm").addClass("hidden");
+                dyDiv=false;
 			});
-		}
-	}
-	if(ptime != ""){
-		$(".jypt-pt .jypt-active").removeClass("jypt-active");
-		if(ptime.indexOf("_") > -1){
-			$(".jypt-timeinputs").addClass("jypt-timeinputs-active");
-			spTimeArray = ptime.split("_");
-			if(spTimeArray[0] != ""){
-				$("#starttime").val(new Date(new Number(spTimeArray[0]+"000")).Format("yyyy年MM月dd日"));
-			}
-			if(spTimeArray[1] != ""){
-				$("#endtime").val(new Date(new Number(spTimeArray[1]+"000")).Format("yyyy年MM月dd日"));
+
+			if(dyDiv&&firstPage&&firstPage.length>0){   //首次进来是否显示订阅
+                $(".resbm").removeClass("hidden");
 			}
-		}else{
-			$(".jypt-pt [data-value='"+ptime+"']").addClass("jypt-active");
-		}
-	}
-	//
-	if(toptype != ""){
-		toptype = toptype.split(",");
-		for(var i=0;i<toptype.length;i++){
-			$(".contenttwo").find("#dqbtn").each(function(){
-				if($(this).attr("data-value") == toptype[i]){
-					$(this).addClass("active");
-					$(this).nextAll(".btn").addClass("active");
-					return false;
-				}
-			});
-		}
-	}
-	if(subtype != ""){
-		subtype = subtype.split(",");
-		for(var i=0;i<subtype.length;i++){
-			$(".contenttwo").find(".btn").each(function(){
-				if($(this).text() == subtype[i]){
-					$(this).addClass("active");
-					if($(this).parent("li").find(".btn").length == $(this).parent("li").find(".btn.active").length){
-						$(this).prevAll('div[id="dqbtn"]').addClass("active");
-					};
-					return false;
-				}
-			});
-		}
-	}
-	if(subtype.length > 0 || toptype.length > 0){
-		$(".contenttwo").find("ul:first li:first .btn").removeClass("active");
-	}
-
-    $(".searchname").on("input propertychange",function(){
-        canSearch()
-    });
-    canSearch();
-    //清除输入框功能
-	$(".searchform .clearInpt").click(function(){$("input[name=searchname]").val("");canSearch();});
-	//提交查询
-	$(".searchform .query").click(function(){beforeSubmit()})
-    $(".jyshxbottom .jydqsure").click(function(){
-        if($(this).hasClass("on")){
-            beforeSubmit();
-		}else{
-            return
-		}
-	})
-
-});
-function canSearch(){
-	var len=$(".searchname").val().length;
-    if(len>0){
-        $(".clearInpt").removeClass("hidden");
-        $(".query").removeClass("hidden");
-        $(".jydqsure").addClass("on");
-    }else{
-        $(".clearInpt").addClass("hidden");
-        $(".query").addClass("hidden");
-        $(".jydqsure").removeClass("on");
-    }
-}
-function beforeSubmit(){
-		var dataObj = {};
-		//信息范围
-		this.setScope = function(){
-			var scope = [];
-			$(".contentone .btn.active").each(function(){
-				var thisText = $(this).text();
-				if(thisText == "全国"){
-					scope.push("");
-					return false;
-				}else{
-					scope.push(thisText);
+			//订阅
+            $("#zjdy").click(function(){
+                var rFlag = false;
+                $.ajax({
+                    type: "post",
+                    url: "/member/swordfish/ajaxReq",
+                    data: {keys:$("[name='searchvalue']").val(),reqType: "subscribe"},
+                    dataType: "json",
+                    async: false,
+                    success: function(r){
+                        if(r.flag=="y"){
+                            rFlag = true;
+                        }else if(r.flag=="o"){
+                            EasyAlert.show("您已经超过订阅<br>关键字上限");
+                        }
+                    },error: function(){
+                        rFlag = true;
+                    }
+                });
+                if(rFlag){
+                    window.open("/wxkeyset/keyset/index");
 				}
-			});
-			return scope.join(",");
+            });
+			//订阅结束==========================================================================
+            //删除历史搜索
+            $("#del_history").click(function(){
+                if($(".inputDiv .history").find("li").length >0){
+                    $.ajax({
+                        type:"post",
+                        url:"/swordfish/delWxHistorySearch",
+                        success:function(rt){
+							$(".inputDiv .history").find("li").remove();
+                        }
+                    });
+                }
+            })
+        });
+        //js 方法
+		function resetSx(){         //清除筛选
+            $(".dialog-content.contentthree ul li:eq(0) button").trigger("click");//清除行业
+            $(".money-dialog ul li:eq(0) .btn").trigger("click");//清除金额
+            $(".jypt-dialog .jypt-pt .btn:eq(0)").trigger("click");//清除时间
+            $(".jydq-dialog .btn:eq(0)").trigger("click");  //清除地区
+            $(".jytype-dialog .btn:eq(0)").trigger("click"); //清除类别
 		}
-		//信息类型
-		
-		var selectToptypes = "";
-		$(".contenttwo #dqbtn.active").each(function(){
-			var thisText = $(this).attr("data-value");
-			if(selectToptypes != ""){
-				selectToptypes += ",";
-			}
-			selectToptypes += thisText;
-		});
-		//$("#searchform [name='toptype']").val(selectToptypes);
-		var selectSubTypes = "";
-		$(".contenttwo  .btn.active").each(function(){
-			//if($(this).prevAll("#dqbtn").hasClass("active")){
-			//	return true;
-			//}
-			if($(this).parent().index() == 0){
-				return true;
-			}
-			var thisText = $(this).text();
-			if(selectSubTypes != ""){
-				selectSubTypes += ",";
-			}
-			selectSubTypes += thisText;
-		});
-		$("#searchform [name='subtype']").val(selectSubTypes);
-		dataObj["scope"] = this.setScope();
-		$("#searchform [name='scope']").val(dataObj["scope"]);
-		processVal($(".searchname").val());
-		$("#searchform [name='publishtime']").val(setPublishtime());
-		sessionStorage.searchlistLastIndex = $(".jyshaxuan li.shaixcl").index();
-		$(".searchform").submit();
-		return true;
-}
-function processVal(value){
-	$("[name='searchvalue']").val(value.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"+"));
-}
-function CSubmit(){
-	var sn = $(".searchname").val();
-	processVal(sn);
-	var dataObj = {};
-	//信息范围
-	this.setScope = function(){
-		var scope = [];
-		$(".contentone .btn.active").each(function(){
-			var thisText = $(this).text();
-			if(thisText == "全国"){
-				scope.push("");
-				return false;
-			}else{
-				scope.push(thisText);
-			}
-		});
-		return scope.join(",");
-	}
-	//信息类型
-	this.setStype = function(){
-		var stype = [];
-		$(".contenttwo .btn.active").each(function(){
-			var thisText = $(this).text();
-			if(thisText == ""){
-				stype.push("");
-				return false;
+        function canSearch(){  //判断是否显示搜索按钮
+            var len=$(".searchvalue").val().length;
+            if(len>0){
+                $(".clearInpt").removeClass("hidden");
+                $(".query").removeClass("hidden");
+                $(".jydqsure").addClass("on");
+            }else{
+                $(".clearInpt").addClass("hidden");
+                $(".query").addClass("hidden");
+                $(".jydqsure").removeClass("on");
+            }
+        }
+        function beforeSubmit(){   //提交前,更新筛选内容至提交对象
+            s_words=$("#searchform [name='searchvalue']").val();
+            reqParam.searchvalue=$("#searchform [name='searchvalue']").val();
+            //信息范围
+            this.setScope = function(){
+                var scope = [];
+                $(".contentone .btn.active").each(function(){
+                    var thisText = $(this).text();
+                    if(thisText == "全国"){
+                        scope.push("");
+                        return false;
+                    }else{
+                        scope.push(thisText);
+                    }
+                });
+                return scope.join(",");
+            };
+            reqParam.scope=this.setScope;
+
+            //行业类型
+			var industrySelect="";
+            $(".contentthree .btn.active").each(function(){
+                var thisText = $(this).text();
+                if(thisText == "全部"){
+                    return;
+                }else{
+                    industrySelect+=($(this).attr("data-value"))+",";
+                }
+            });
+            console.log(industrySelect.substring(0,industrySelect.length-1));
+            reqParam.industry=industrySelect.substring(0,industrySelect.length-1);
+
+            //信息类型
+            var selectToptypes = "";
+            $(".contenttwo #dqbtn.active").each(function(){
+                var thisText = $(this).attr("data-value");
+                if(selectToptypes != ""){
+                    selectToptypes += ",";
+                }
+                selectToptypes += thisText;
+            });
+
+            var selectSubTypes = "";
+            $(".contenttwo  .btn.active").each(function(){
+                if($(this).parent().index() == 0){
+                    return true;
+                }
+                var thisText = $(this).text();
+                if(selectSubTypes != ""){
+                    selectSubTypes += ",";
+                }
+                selectSubTypes += thisText;
+            });
+            reqParam.subtype=selectSubTypes;
+
+            //金额
+            var moneyRange=$(".money-dialog .active").attr("data-value");
+            if(moneyRange!="all"){
+                moneyRange=$(".money-dialog .money-inp .minMrice").val()+"-"+$(".money-dialog .money-inp .maxMrice").val()
+            }
+            reqParam.money=moneyRange;
+
+            //日期
+            reqParam.publishtime=setPublishtime();
+
+            //全文or标题
+			if($("#search_title").hasClass("on")){
+                reqParam.selectType="title";
 			}else{
-				stype.push(thisText);
-			}
-		});
-		return stype.join(",");
-	}
-	dataObj["scope"] = this.setScope();
-	dataObj["stype"] = this.setStype();
-	
-	$("#searchform [name='stype']").val(dataObj["stype"]);
-	$("#searchform [name='scope']").val(dataObj["scope"]);
-	$("#searchform [name='publishtime']").val(setPublishtime());
-	sessionStorage.removeItem("wxsearchScrollTop");
-	sessionStorage.removeItem("wxsearchListCache");
-	return true;
-}
-function getHtml(list,pageNum){
-	var html = '';
-	for(var i=0;i<list.length;i++){
-		var index = (pageNum-1)*pageSize+i+1;
-		var thisStyle = " style='padding-left: 15px;'";
-		if(index >= 10 && index < 100){
-			thisStyle = " style='padding-left: 26px;'";
-		}else if(index >= 100 && index < 1000){
-			thisStyle = " style='padding-left: 35px;'";
-		}else if(index >= 1000){
-			thisStyle = " style='padding-left: 45px;'";
-		}
-		var href = list[i].href;
-		if(!href || href.indexOf("java") > -1){							
-			href = "";
-		}
-		var title = list[i].title;
-		//关键词高亮
-		var detail = "";
-		var highlight = list[i].highlight;
-		if(highlight){
-			var details = highlight.detail;
-			if(details && details.length > 0){
-				detail = details[0];
+                reqParam.selectType="all";
 			}
-		}
-		if(s_words != ""){
-			var wordsArray = s_words.split("+");
-			title = keyWordHighlight(title,wordsArray.join("|"),'<font class="keyword">$1</font>');
-			if(detail != ""){
-				try{
-					$("#tempDiv").html(detail);
-					detail = $("#tempDiv").text().replace(/</g,"&lt;").replace(/>/g,"&gt;");
-				}catch(e){
-					detail = detail.replace(/</g,"&lt;").replace(/>/g,"&gt;");
+            return true;
+        }
+
+        function show() {   //筛选页面和内容展示替换显示
+            if(!$(".wxsearch").hasClass("hidden")){
+                $(".selLable").removeClass("hidden");
+                $(".wxsearch").addClass("hidden");
+            }
+
+
+            if ($("#list").text() == "") {
+                $("#wrapper").addClass("hidden");
+                $(".nullcontent").removeClass("hidden");
+            } else {
+                //判断显示信息方式  列表or表格
+                $("#wrapper").removeClass("hidden");
+                if($(".showType .showlist").hasClass("on")){
+                    $("#list").removeClass("hidden");
+                    $("#table").addClass("hidden");
+                }else{
+                    $("#list").addClass("hidden");
+                    $("#table").removeClass("hidden");
+                }
+            }
+        }
+
+        function toquery(){    //提交表单,获取数据
+			if(reqParam.searchvalue=="") return;
+			reqParam.pageNum=1;
+            $.post("/swordfish/searchlist/paging",reqParam,function(data){
+                //历史记录和我的订阅
+                loadTipMsg(data["history"],data["msgset"]);
+				//铺查询信息
+                if(data["list"] == null || data["list"].length == 0){
+                    noMoreData(scrollDownObj);
+                    $("#list").text("");
+                    hasNoData();
+					show();
+                    return
+				}else{
+                    hasData();
+                    replayListHtml(getHtml(data["list"],1));
+					show();
 				}
-				detail = keyWordHighlight(detail,wordsArray.join("|"),'<font class="keyword">$1</font>');
+                if(!data.hasNextPage){
+                    scrollDownObj.lock();
+                    scrollDownObj.noData(true);
+                }else{
+                    scrollDownObj.unlock();
+                    scrollDownObj.noData(false);
+				}
+                scrollDownObj.resetload();
+            });
+        }
+
+        function getHtml(list,pageNum){//生成list表单 或 table表单
+            var html ={};
+            var ListHtml='';
+            var TableHtml='';
+            for(var i=0;i<list.length;i++){
+                var index = (pageNum-1)*pageSize+i+1;
+                var thisStyle = " style='padding-left: 15px;'";
+                if(index >= 10 && index < 100){
+                    thisStyle = " style='padding-left: 26px;'";
+                }else if(index >= 100 && index < 1000){
+                    thisStyle = " style='padding-left: 35px;'";
+                }else if(index >= 1000){
+                    thisStyle = " style='padding-left: 45px;'";
+                }
+                var href = list[i].href;
+                if(!href || href.indexOf("java") > -1){
+                    href = "";
+                }
+                var title = list[i].title;
+                //关键词高亮
+                var detail = "";
+                var highlight = list[i].highlight;
+                if(highlight){
+                    var details = highlight.detail;
+                    if(details && details.length > 0){
+                        detail = details[0];
+                    }
+                }
+                if(s_words != ""){
+                    var wordsArray = s_words.split("+");
+                    title = keyWordHighlight(title,wordsArray.join("|"),'<font class="keyword">$1</font>');
+                    if(detail != ""){
+                        try{
+                            $("#tempDiv").html(detail);
+                            detail = $("#tempDiv").text().replace(/</g,"&lt;").replace(/>/g,"&gt;");
+                        }catch(e){
+                            detail = detail.replace(/</g,"&lt;").replace(/>/g,"&gt;");
+                        }
+                        detail = keyWordHighlight(detail,wordsArray.join("|"),'<font class="keyword">$1</font>');
+                    }
+                }
+                if(detail != ""){
+                    detail = "<div class='detail'"+thisStyle+">"+detail+"...</div>";
+                }
+                //
+                var area = list[i].area;
+                if(!area){
+                    area = "";
+                }else{
+                    area = $.trim(area);
+                    area = area=="A"?"全国":area;
+                }
+                if(area != ""){
+                    area = '<span class="location">'+area+'</span>';
+                }
+
+
+                //时间
+                var tdf = list[i].publishtime;
+                var fullTime="";
+                if(tdf){
+                    var thisTime=new Date(Number(tdf+"000"))
+					var month=(thisTime.getMonth()+1)>10?(thisTime.getMonth()+1):"0"+(thisTime.getMonth()+1);
+					var date=(thisTime.getDate())>10?(thisTime.getDate()):"0"+(thisTime.getDate());
+                    fullTime=thisTime.getFullYear()+"<br>"+month+date;
+                    tdf = timeDiff(new Date(Number(tdf+"000")));
+                    if(tdf != null){
+                        tdf='<span><i class="glyphicon bofangjilu" style="color:#7a7a7a;margin-right:2px;"></i>'+tdf+'</span>'
+                    }
+                }else{
+                    tdf = '';
+                }
+
+                var datatype = "";
+                if(list[i].subtype){
+                    datatype='<span class="type">'+list[i].subtype+'</span>'
+                }else if(list[i].toptype){
+                    datatype='<span class="type">'+list[i].toptype+'</span>'
+                }else if(list[i].type){
+                    if(list[i].type == "tender"){
+                        datatype='<span class="type">招标</span>'
+                    }else if(list[i].type == "bid"){
+                        datatype='<span class="type">中标</span>'
+                    }
+                }
+				//招标单位
+                var agency=list[i].agency==null?"":list[i].agency;
+
+                ListHtml += '<div class="tslist">'
+                    +'<div class="resnumb">'
+                    +'<div class="one">'
+                    +'<span class="xh">'+index+'.</span>'
+                    +'</div>'
+                    +'<div class="two bt-parent"'+thisStyle+'>'
+                    +'<a class="bt" sid="'+list[i]._id+'" s="'+href+'" href="javascript:void(0);">'+title+'</a>'
+                    +'</div>'
+                    +'</div>'
+                    +'<div style="clear:both;"></div>'
+                    +'<div class="restime time-diff">'
+                    +area+datatype+tdf
+                    +'</div>'
+                    +'<div style="clear:both;"></div>'
+                    +detail
+                    +'</div>';
+                //
+                TableHtml +='<tr s="'+href+'"  sid="'+list[i]._id+'">'+
+                    '<td>'+index+'</td>'+
+                    '<td>'+fullTime+'</td>'+
+                    '<td>'+datatype+'公告</td>'+
+                    '<td>'+agency+'</td>'+
+                    '<td>'+title+'</td>'+
+                    '</tr>'
+            }
+            html["ListHtml"]=ListHtml;
+            html["TableHtml"]=TableHtml;
+            return html;
+        }
+
+        function hasNoData(){ //搜索信息为空
+            $(".nullcontent").removeClass("hidden");
+            $("#wrapper").addClass("hidden");
+        }
+        function hasData(){ //搜索信息不为空
+            $(".nullcontent").addClass("hidden");
+            $("#wrapper").removeClass("hidden");
+            if(dyDiv){
+                $(".resbm").removeClass("hidden");
 			}
-		}
-		if(detail != ""){
-			detail = "<div class='detail'"+thisStyle+">"+detail+"...</div>";
-		}
-		//
-		var area = list[i].area;
-		if(!area){
-			area = "";
-		}else{
-			area = $.trim(area);
-			area = area=="A"?"全国":area;
-		}
-		if(area != ""){
-			area = '<span class="location">'+area+'</span>';
-		}
-		//
-		var tdf = list[i].publishtime;
-		if(tdf){
-			tdf = timeDiff(new Date(Number(tdf+"000")));
-			if(tdf != null){
-				tdf='<span><i class="glyphicon bofangjilu" style="color:#7a7a7a;margin-right:2px;"></i>'+tdf+'</span>'
+        }
+        function appendListHtml(html){  //下拉时展示信息
+            // 插入数据到页面,放到最后面
+            var ListHtmlObj = $(html.ListHtml);
+            ListHtmlObj.on("click", function(event){
+                var h = $(this).find("a.bt").attr("s");
+                var sid = $(this).find("a.bt").attr("sid");
+                var sds = s_words.replace(/\+/g,"+");
+                myredirect(h,sid,sds);
+            });
+            $('#list').append(ListHtmlObj);
+
+            var TableHtmlobj=$(html.TableHtml);
+            TableHtmlobj.on("click",function(event){
+
+                var h = $(this).attr("s");
+                var sid = $(this).attr("sid");
+                var sds = s_words.replace(/\+/g,"+");
+                myredirect(h,sid,sds);
+            })
+            $("#table .content").append(TableHtmlobj);
+
+            if(!window.top.isBackIndex){
+                if($(".jysstj").hasClass("hidden")){
+                    window.top.$(".resbm").removeClass("hidden");
+                }
+            }
+        }
+        function replayListHtml(html){ //搜索时替换信息
+            // 替换
+            var ListHtmlObj = $(html.ListHtml);
+            ListHtmlObj.on("click", function(event){
+                var h = $(this).find("a.bt").attr("s");
+                var sid = $(this).find("a.bt").attr("sid");
+                var sds = s_words.replace(/\+/g,"+");
+                myredirect(h,sid,sds);
+            });
+            $('#list').html(ListHtmlObj);
+
+            var TableHtmlobj=$(html.TableHtml);
+            TableHtmlobj.on("click",function(event){
+                var h = $(this).attr("s");
+                var sid = $(this).attr("sid");
+                var sds = s_words.replace(/\+/g,"+");
+                myredirect(h,sid,sds);
+            })
+            $("#table .content").html("<tr><td>序号</td><td>发布时间</td><td>公告类型</td><td>招标单位</td><td>项目名称</td></tr>");
+            $("#table .content").append(TableHtmlobj);
+
+            if(!window.top.isBackIndex){
+                if($(".jysstj").hasClass("hidden")){
+                    window.top.$(".resbm").removeClass("hidden");
+                }
+            }
+        }
+        function myredirect(link,sid,sds){  //跳转三级页
+            link = link.replace(/\n/g,"");
+            if(!/^http/.test(link)){
+                link="http://"+link
+            }
+            if(sds){
+                window.open("{{Msg "seo" "ZBADDRESS"}}/article/content/"+sid+".html?url="+escape(link)+"&keywords="+encodeURIComponent(sds));
+            }else{
+                window.open("{{Msg "seo" "ZBADDRESS"}}/article/content/"+sid+".html?url="+escape(link));
+            }
+        }
+        function noMoreData(me){
+            // 锁定
+            me.lock();
+            // 无数据
+            me.noData();
+            me.resetload();
+        }
+       	function loadTipMsg(myhistory,msgset){
+		//历史信息
+			if(myhistory!=null){
+                historyHtml ="";
+                for(var i=0;i<myhistory.length;i++){
+                    historyHtml+="<li>"+myhistory[i]+"</li>"
+                }
+                $(".inputDiv .history").html(historyHtml);
 			}
-		}else{
-			tdf = '';
-		}
-		//
-		var datatype = "";
-		if(list[i].subtype){
-			datatype='<span class="type">'+list[i].subtype+'</span>'
-		}else if(list[i].toptype){
-			datatype='<span class="type">'+list[i].toptype+'</span>'
-		}else if(list[i].type){
-			if(list[i].type == "tender"){
-				datatype='<span class="type">招标</span>'
-			}else if(list[i].type == "bid"){
-				datatype='<span class="type">中标</span>'
+
+		//订阅信息
+			if(msgset!=null){
+                msgsetHtml="";
+                for(var n=0;n<msgset.length;n++){
+                    var  mymsgset="";
+                    for(var m=0;m<msgset[n].length;m++){
+                        mymsgset+=msgset[n][m]+" "
+                    }
+                    msgsetHtml+="<li>"+mymsgset+"</li>";
+                }
+                $(".inputDiv .myMsgset").html(msgsetHtml);
 			}
+
+		//点击提示框内容 进行搜索
+            $(".inputDiv li").click(function () {
+                $("input[name=searchvalue]").val($(this).text());
+                canSearch();
+                resetSx();                //重置筛选
+                beforeSubmit();				//填充数据
+                toquery();				 //查询
+            })
 		}
-		//					
-    	html += '<div class="tslist">'
-					+'<div class="resnumb">'
-						+'<div class="one">'
-							+'<span class="xh">'+index+'.</span>'
-						+'</div>'
-						+'<div class="two bt-parent"'+thisStyle+'>'
-							+'<a class="bt" sid="'+list[i]._id+'" s="'+href+'" href="javascript:void(0);">'+title+'</a>'
-						+'</div>'
-					+'</div>'
-					+'<div style="clear:both;"></div>'
-					+'<div class="restime time-diff">'
-						+area+datatype+tdf
-					+'</div>'
-					+'<div style="clear:both;"></div>'
-					+detail
-				+'</div>';
-    }
-	return html;							                    					                    
-}
-function hasNoData(){
-	$(".nullcontent").removeClass("hidden");
-	window.top.$(".resbm").addClass("hidden");
-	$("#wrapper").addClass("hidden");
-}
-function appendListHtml(html,pageNum){
-	//缓存数据
-	if(sessionStorage){
-		window.top.listCache += html;
-		window.top.pageNumCache = pageNum;
-	}
-    // 插入数据到页面,放到最后面
-	var htmlObj = $(html);
-	htmlObj.on("click", function(event){
-		var h = $(this).find("a.bt").attr("s");
-		var sid = $(this).find("a.bt").attr("sid");
-		var sds = s_words.replace(/\+/g,"+");
-		myredirect(h,sid,sds);
-	});
-    $('#list').append(htmlObj);
-	if(!window.top.isBackIndex){
-		if($(".jysstj").hasClass("hidden")){
-			window.top.$(".resbm").removeClass("hidden");
-		}
-	}
-}
-function noMoreData(me){
-	window.top.noMoreCache = "true";
-	// 锁定
-	me.lock();
-	// 无数据
-	me.noData();
-	me.resetload();
-}
-function initDroploadNoMoreData(){
-	setTimeout(function(){
-		$('#wrapper').dropload({
-	        scrollArea : window.top.isIOS?window.top:window,
-	        loadDownFn : function(me){
-				noMoreData(me);
-	        }
-	    });
-	},0);
-}
-</script>
-
-<style type="text/css">
-body{
-	font-size:16px !important;
-}
-.searchname{
-	background-color: #f5f4fa;
-	border:1px solid #E6E6E6;
-	width:85%;
-	font-size:16px;
-	position:relative;
-	box-shadow:none;
-	cursor: pointer;
-	webkit-transform: translateZ(0);
-	-moz-transform: translateZ(0);
-	-ms-transform: translateZ(0);
-	-o-transform: translateZ(0);
-	transform: translateZ(0);
-}
-.wxhead{
-	padding:8px 12px;
-}
-.tubiao img{
-    top: 27px;
-	right: 22%;
-    width: 35px;
-    display: inline-block;
-    padding-left: 10px;
-    border-left: 2px solid #ccc;
-    position: absolute;
-    z-index: 10;
-}
-#wrapper,.nullcontent{
-	padding:0px 20px;
-	background-color:#fff;
-}
-.nullcontent{
-	padding-top: 10%;
-	position: absolute;
-    top: 125px;
-    left: 0px;
-    right: 0px;
-}
-#wrapper{
-	margin-bottom: 52px;
-}
-.parent-node img {
-	vertical-align: sub !important;
-}
-.searchform{
-	margin: 0px;
-}
-.wxsearch{
-	margin-top: 10px;
-}
-.slistbkc{
-	background-color: #F4F4F9;
-}
-.detail{
-	font-size: 14px;
-	margin-top: 5px;
-	color: #646464;
-	padding-left: 25px;
-	word-wrap: break-word;
-	word-break: break-all;
-	white-space: normal !important;
-}
-.resnumb .two{
-	max-height:45px;
-    overflow: hidden;
-}
-.screen{
-	color:#0987ff;
-	font-size: 16px;
-	float: right;
-	position: absolute;
-	z-index: 10;
-	top: 18px;
-	right: 5%;
-	height: 20px;
-}
-.query img{
-	width: 32px;
-	display: inline-block;
-	padding-left: 10px;
-	position: absolute;
-	z-index: 10;
-	top: 18px;
-	right: 20%;
-}
-.clearInpt img{
-	width: 30px;
-	display: inline-block;
-	padding-left: 10px;
-	position: absolute;
-	z-index: 10;
-	top: 18px;
-	right: 30%;
-}
-.selLable{
-	font-size:14px;
-	height:40px;
-	line-height: 40px;
-	color:#888;
-	padding: 0 10px;
-	border-bottom: 1px solid #e0e0e0;
-}
-.selLable div{
-	float: left;
-}
-.com-title{
-	width: 59%;
-}
-.com-title span{
-	margin: 0 10px;
-}
-.com-title .on{
-	color: #2cb7ca;
-}
-.selLable .line-vertical{
-	width: 1px;
-	height: 30px;
-	margin-top: 5px;
-	border-left: 1px solid #e0e0e0;
-}
-.showType{
-	width: 40%;
-	display: flex;
-	justify-content: space-around;
-	align-content: center;
-}
-.showType div{
-	padding-left: 30px;
-}
-.showType .showlist{
-	background: url(/images/search/showList.png)10px center no-repeat;
-	background-size: 30%;
-}
-.showType .showtable{
-	background: url(/images/search/showTable.png)10px center no-repeat;
-	background-size: 30%;
-}
-.showType .showlist.on{
-	background: url(/images/search/showList_on.png)10px center no-repeat;
-	background-size: 30%;
-	color: #2cb7ca;
-}
-.showType .showtable.on{
-	background: url(/images/search/showTable_on.png)10px center no-repeat;
-	background-size: 30%;
-	color: #2cb7ca;
-}
-</style>
+	</script>
 </head>
 <body>
 <div style="background-color:#fff;" id="mainDiv">
-<div class="wxhead">
-<form class="searchform" id="searchform" method="post" action="/swordfish/searchlist"  onsubmit="CSubmit()" >
-		<input class="form-control searchname slistbkc" name="searchname" maxlength ="50" value="{{if .T.keywords}}{{.T.keywords}}{{end}}" placeholder="示例:税务局 软件"/>
-		<input type="hidden" name="searchvalue" value="{{.T.searchvalue}}">
-		<input type="hidden" name="toptype" value="{{.T.toptype}}">
-		<input type="hidden" name="subtype" value="{{.T.subtype}}">
-		<input type="hidden" name="scope" value="{{.T.scope}}">
-		<input type="hidden" name="publishtime" value="{{.T.publishtime}}">
-		<input type="hidden" name="selectType" value="{{.T.selectType}}">
-		<span class="query hidden"><img src="/images/wx/jywxjs.png"></span>
-		<span class="clearInpt hidden"><img src="/images/wx/jyqingchu.png"></span>
-		<span class="screen text-center" >筛选</span>
-</form>
-</div>
-<div>
-	<div class="selLable" id="selLable" >
-		<div class="com-title"><!--height:30px; margin-top:20px;-->
-			<span onclick="allSearch()" id="span1"  class="on">全文搜索</span><span id="span2" onclick="titleSearch()">标题搜索</span>
-		</div>
-		<div class="line-vertical">
-		</div>
-		<div class="showType">
-			<div class="showlist on">列表</div>
-			<div class="showtable">表格</div>
-		</div>
+	<div class="wxhead">
+		<form class="searchform" id="searchform" method="post" action="/jylab/superSearch" >
+			<input class="form-control searchvalue slistbkc" name="searchvalue" maxlength ="50" value="{{if .T.searchvalue}}{{.T.searchvalue}}{{end}}" placeholder="示例:税务局 软件"/>
+			<div class="inputDiv hidden">
+				<div class="inpTitle"><img src="/images/search/history.png"><span>历史搜索</span><img id="del_history" src="/images/search/history_clean.png"></div>
+					<div>
+						<ul class="history">
+						</ul>
+					</div>
+					<div style="clear: both"></div>
+				<div class="inpTitle"><img src="/images/search/msgset.png"><span>我的订阅的关键词</span></div>
+					<div>
+						<ul class="myMsgset">
+						</ul>
+					</div>
+
+				</div>
+
+			<span class="query hidden"><img src="/images/wx/jywxjs.png"></span>
+			<span class="clearInpt hidden"><img src="/images/wx/jyqingchu.png"></span>
+			<span class="screen text-center" >筛选</span>
+		</form>
 	</div>
-	<div class="wxsearch hidden">
-	<div class="jysstj">
-		<div class="jyshaxuan">
-			<div class="shaixIndustry shaixcl">行业</div>
-			<div class="shaixMoney">金额</div>
-			<div class="shaixpt">发布日期</div>
-			<div class="shaixone">项目地区</div>
-			<div class="shaixtwo">信息类型</div>
+	<div>
+		<div class="selLable" id="selLable" >
+			<div class="com-title"><!--height:30px; margin-top:20px;-->
+				<span onclick="allSearch()" id="search_all" class="on" >全文搜索</span><span id="search_title" onclick="titleSearch()">标题搜索</span>
+			</div>
+			<div class="line-vertical">
+			</div>
+			<div class="showType">
+				<div class="showlist on">列表</div>
+				<div class="showtable">表格</div>
+			</div>
 		</div>
-		<div class="industry-dialog">
-			<ul class="hyHead">
-				<li class="on">全部</li>
-				<li>建筑工程</li>
-				<li>水利水电</li>
-				<li>能源化工</li>
-				<li>弱点安防</li>
-				<li>信息技术</li>
-				<li>行政办公</li>
-				<li>机械设备</li>
-				<li>交通工程</li>
-				<li>医疗卫生</li>
-				<li>市政设施</li>
-				<li>服务采购</li>
-			</ul>
-			<div class="hyBody">
-
-				<div style="display: block;" class="iner-list">
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="建筑工程">全部</li>
-						<li  data-value="勘察设计">勘察设计</li>
-						<li  data-value="工程施工">工程施工</li>
-						<li  data-value="工程监理">工程监理</li>
-						<li  data-value="材料设备">材料设备</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="水利水电">全部</li>
-						<li  data-value="水利工程">水利工程</li>
-						<li  data-value="发电工程">发电工程</li>
-						<li  data-value="航运工程">航运工程</li>
-						<li  data-value="其他工程">其他工程</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="能源化工">全部</li>
-						<li  data-value="原材料">原材料</li>
-						<li  data-value="仪器仪表">仪器仪表</li>
-						<li  data-value="设备">设备</li>
-						<li  data-value="化工产品">化工产品</li>
-						<li  data-value="新能源">新能源</li>
-					</ul>
+		<div class="wxsearch hidden">
+			<div class="jysstj">
+				<div class="jyshaxuan">
+					<div class="shaixIndustry shaixcl">行业</div>
+					<div class="shaixMoney">金额</div>
+					<div class="shaixpt">发布日期</div>
+					<div class="shaixone">项目地区</div>
+					<div class="shaixtwo">信息类型</div>
 				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="弱点安防">全部</li>
-						<li  data-value="综合布线">综合布线</li>
-						<li  data-value="智能系统">智能系统</li>
-						<li  data-value="智能家居">智能家居</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="信息技术">全部</li>
-						<li  data-value="系统集成及安全">系统集成及安全</li>
-						<li  data-value="软件开发">软件开发</li>
-						<li  data-value="运维服务">运维服务</li>
-						<li  data-value="其他">其他</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="行政办公">全部</li>
-						<li  data-value="办公家具">办公家具</li>
-						<li  data-value="通用办公设备">通用办公设备</li>
-						<li  data-value="专业设备">专业设备</li>
-						<li  data-value="办公用品">办公用品</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="机械设备">全部</li>
-						<li  data-value="农业机械">农业机械</li>
-						<li  data-value="矿山机械">矿山机械</li>
-						<li  data-value="工程机械">工程机械</li>
-						<li  data-value="机械零部件">机械零部件</li>
-						<li  data-value="机床">机床</li>
-						<li  data-value="车辆">车辆</li>
-						<li  data-value="其他机械设备">其他机械设备</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="交通工程">全部</li>
-						<li  data-value="隧道工程">隧道工程</li>
-						<li  data-value="轨道工程">轨道工程</li>
-						<li  data-value="桥梁工程">桥梁工程</li>
-						<li  data-value="其他工程">其他工程</li>
-					</ul>
-				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="医疗卫生">全部</li>
-						<li  data-value="设备">设备</li>
-						<li  data-value="耗材">耗材</li>
-						<li  data-value="药品">药品</li>
+				<div class="industry-dialog">
+					<div class="dialog-content contentthree">
+						<ul>
+							<li>
+								<button class="btn active">全部</button>
+							</li>
+						</ul>
+					</div>
+					<!--<ul class="hyHead">
+						<li class="on">全部</li>
+						<li>建筑工程</li>
+						<li>水利水电</li>
+						<li>能源化工</li>
+						<li>弱点安防</li>
+						<li>信息技术</li>
+						<li>行政办公</li>
+						<li>机械设备</li>
+						<li>交通工程</li>
+						<li>医疗卫生</li>
+						<li>市政设施</li>
+						<li>服务采购</li>
 					</ul>
+					<div class="hyBody">
+
+						<div style="display: block;" class="iner-list">
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="建筑工程_勘察设计,建筑工程_工程施工,建筑工程_工程监理,建筑工程_材料设备">全部</li>
+								<li  data-value="建筑工程_勘察设计">勘察设计</li>
+								<li  data-value="建筑工程_工程施工">工程施工</li>
+								<li  data-value="建筑工程_工程监理">工程监理</li>
+								<li  data-value="建筑工程_材料设备">材料设备</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="水利水电_水利工程,水利水电_发电工程,水利水电_航运工程,水利水电_其他工程">全部</li>
+								<li  data-value="水利水电_水利工程">水利工程</li>
+								<li  data-value="水利水电_发电工程">发电工程</li>
+								<li  data-value="水利水电_航运工程">航运工程</li>
+								<li  data-value="水利水电_其他工程">其他工程</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="能源化工_原材料,能源化工_仪器仪表,能源化工_设备,能源化工_化工产品,能源化工_新能源">全部</li>
+								<li  data-value="能源化工_原材料">原材料</li>
+								<li  data-value="能源化工_仪器仪表">仪器仪表</li>
+								<li  data-value="能源化工_设备">设备</li>
+								<li  data-value="能源化工_化工产品">化工产品</li>
+								<li  data-value="能源化工_新能源">新能源</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="弱点安防_综合布线,弱点安防_智能系统,弱点安防_智能家居">全部</li>
+								<li  data-value="弱点安防_综合布线">综合布线</li>
+								<li  data-value="弱点安防_智能系统">智能系统</li>
+								<li  data-value="弱点安防_智能家居">智能家居</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="信息技术_系统集成及安全,信息技术_软件开发,信息技术_运维服务,信息技术_其他">全部</li>
+								<li  data-value="信息技术_系统集成及安全">系统集成及安全</li>
+								<li  data-value="信息技术_软件开发">软件开发</li>
+								<li  data-value="信息技术_运维服务">运维服务</li>
+								<li  data-value="信息技术_其他">其他</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="行政办公_办公家具,行政办公_通用办公设备,行政办公_专业设备,行政办公_办公用品">全部</li>
+								<li  data-value="行政办公_办公家具">办公家具</li>
+								<li  data-value="行政办公_通用办公设备">通用办公设备</li>
+								<li  data-value="行政办公_专业设备">专业设备</li>
+								<li  data-value="行政办公_办公用品">办公用品</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="机械设备_农业机械,机械设备_矿山机械,机械设备_工程机械,机械设备_机械零部件,机械设备_机床,机械设备_车辆,机械设备_其他机械设备">全部</li>
+								<li  data-value="机械设备_农业机械">农业机械</li>
+								<li  data-value="机械设备_矿山机械">矿山机械</li>
+								<li  data-value="机械设备_工程机械">工程机械</li>
+								<li  data-value="机械设备_机械零部件">机械零部件</li>
+								<li  data-value="机械设备_机床">机床</li>
+								<li  data-value="机械设备_车辆">车辆</li>
+								<li  data-value="机械设备_其他机械设备">其他机械设备</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="交通工程_隧道工程,交通工程_轨道工程,交通工程_桥梁工程,交通工程_其他工程">全部</li>
+								<li  data-value="交通工程_隧道工程">隧道工程</li>
+								<li  data-value="交通工程_轨道工程">轨道工程</li>
+								<li  data-value="交通工程_桥梁工程">桥梁工程</li>
+								<li  data-value="交通工程_其他工程">其他工程</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="医疗卫生_设备,医疗卫生_耗材,医疗卫生_药品">全部</li>
+								<li  data-value="医疗卫生_设备">设备</li>
+								<li  data-value="医疗卫生_耗材">耗材</li>
+								<li  data-value="医疗卫生_药品">药品</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="市政设施_市政道路,市政设施_市政绿化,市政设施_管道线路,市政设施_综合项目">全部</li>
+								<li  data-value="市政设施_市政道路">市政道路</li>
+								<li  data-value="市政设施_市政绿化">市政绿化</li>
+								<li  data-value="市政设施_管道线路">管道线路</li>
+								<li  data-value="市政设施_综合项目">综合项目</li>
+							</ul>
+						</div>
+						<div class="iner-list">
+							<ul>
+								<li  data-value="服务采购_法律咨询,服务采购_会计服务,服务采购_物业服务,服务采购_审计服务,服务采购_安保服务,服务采购_物流服务,服务采购_其他服务">全部</li>
+								<li  data-value="服务采购_法律咨询">法律咨询</li>
+								<li  data-value="服务采购_会计服务">会计服务</li>
+								<li  data-value="服务采购_物业服务">物业服务</li>
+								<li  data-value="服务采购_审计服务">审计服务</li>
+								<li  data-value="服务采购_安保服务">安保服务</li>
+								<li  data-value="服务采购_物流服务">物流服务</li>
+								<li  data-value="服务采购_其他服务">其他服务</li>
+							</ul>
+						</div>
+					</div>-->
 				</div>
-				<div class="iner-list">
+				<!-->金额<-->
+				<div class="money-dialog hidden">
 					<ul>
-						<li  data-value="市政设施">全部</li>
-						<li  data-value="市政道路">市政道路</li>
-						<li  data-value="市政绿化">市政绿化</li>
-						<li  data-value="管道线路">管道线路</li>
-						<li  data-value="综合项目">综合项目</li>
+						<li><button data-value="all" class="btn active">全部</button></li>
+						<li>价格区间</li>
+						<li class="money-inp" data-value="">
+							<div class="min-price">
+								<input class="form-control minMrice"  placeholder="最低价"/>
+								<span class="min-unit">万元</span>
+								<span class="fgx"></span>
+							</div>
+							<div class="max-price">
+								<input class="form-control maxMrice"  placeholder="最高价"/>
+								<span class="max-unit">万元</span>
+							</div>
+
+						</li>
 					</ul>
 				</div>
-				<div class="iner-list">
-					<ul>
-						<li  data-value="服务采购">全部</li>
-						<li  data-value="法律咨询">法律咨询</li>
-						<li  data-value="会计服务">会计服务</li>
-						<li  data-value="物业服务">物业服务</li>
-						<li  data-value="审计服务">审计服务</li>
-						<li  data-value="安保服务">安保服务</li>
-						<li  data-value="物流服务">物流服务</li>
-						<li  data-value="其他服务">其他服务</li>
-					</ul>
+				<div class="jypt-dialog hidden">
+					<div class="jypt-pt">
+						<button type="button" data-value="" class="btn jypt-active">全部</button>
+						<button type="button" data-value="lately-7" class="btn">最近7天</button>
+						<button type="button" data-value="lately-30" class="btn">最近30天</button>
+						<button type="button" data-value="thisyear" class="btn">去年</button>
+					</div>
+					<div class="jypt-timeinputs">
+						<input type="text" name="starttime" readonly="readonly" id="starttime" data-value="">
+						<div class="jypt-fg">
+							<span></span>
+						</div>
+						<input type="text" name="endtime" readonly="readonly" id="endtime" data-value="">
+					</div>
 				</div>
-			</div>
-		</div>
-		<!-->金额<-->
-		<div class="money-dialog hidden">
-			<ul>
-				<li><button class="btn active">全部</button></li>
-				<li>价格区间</li>
-				<li class="money-inp">
-					<div class="min-price">
-						<input class="form-control minMrice"  placeholder="最低价"/>
-						<span class="min-unit">万元</span>
-						<span class="fgx"></span>
+				<div class="jydq-dialog hidden">
+					<div class="dialog-content contentone">
+						<ul>
+							<li>
+								<button class="btn active">全国</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">华北地区</div>
+								<button class="btn">北京</button>
+								<button class="btn">天津</button>
+								<button class="btn">河北</button>
+								<button class="btn">山西</button>
+								<button class="btn">内蒙古</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">东北地区</div>
+								<button class="btn">辽宁</button>
+								<button class="btn">吉林</button>
+								<button class="btn">黑龙江</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">华东地区</div>
+								<button class="btn">上海</button>
+								<button class="btn">江苏</button>
+								<button class="btn">浙江</button>
+								<button class="btn">安徽</button>
+								<button class="btn">福建</button>
+								<button class="btn">江西</button>
+								<button class="btn">山东</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">华南地区</div>
+								<button class="btn">广东</button>
+								<button class="btn">广西</button>
+								<button class="btn">海南</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">华中地区</div>
+								<button class="btn">河南</button>
+								<button class="btn">湖北</button>
+								<button class="btn">湖南</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">西南地区</div>
+								<button class="btn">重庆</button>
+								<button class="btn">四川</button>
+								<button class="btn">贵州</button>
+								<button class="btn">云南</button>
+								<button class="btn">西藏</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;">西北地区</div>
+								<button class="btn">陕西</button>
+								<button class="btn">甘肃</button>
+								<button class="btn">青海</button>
+								<button class="btn">宁夏</button>
+								<button class="btn">新疆</button>
+							</li>
+						</ul>
 					</div>
-					<div class="max-price">
-						<input class="form-control maxMrice"  placeholder="最高价"/>
-						<span class="max-unit">万元</span>
+				</div>
+				<div class="jytype-dialog hidden">
+					<div class="dialog-content contenttwo">
+						<ul>
+							<li>
+								<button class="btn active">全部</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;position:relative;float:left;" data-value="拟建">拟建项目</div><img style="float:left;" class="q-mark" src="/images/wx/q-mark.png"/>
+								<button class="btn hidden" style="clear:both;">拟建</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;" data-value="预告">招标预告</div>
+								<button class="btn hidden">预告</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;" data-value="招标">招标公告</div>
+								<button class="btn">招标</button>
+								<button class="btn">邀标</button>
+								<button class="btn">询价</button>
+								<button class="btn">竞谈</button>
+								<button class="btn">单一</button>
+								<button class="btn">竞价</button>
+								<button class="btn">变更</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:81px;" data-value="结果">招标结果</div>
+								<button class="btn">中标</button>
+								<button class="btn">成交</button>
+								<button class="btn">废标</button>
+								<button class="btn">流标</button>
+							</li>
+							<li>
+								<div id="dqbtn" style="width:111px;" data-value="其它">招标信用信息</div>
+								<button class="btn">合同</button>
+								<button class="btn">验收</button>
+								<button class="btn">违规</button>
+								<button class="btn">其它</button>
+							</li>
+						</ul>
 					</div>
-
-				</li>
-			</ul>
-		</div>
-		<div class="jypt-dialog hidden">
-			<div class="jypt-pt">
-				<button type="button" data-value="" class="btn jypt-active">全部</button>
-				<button type="button" data-value="lately-7" class="btn">最近7天</button>
-				<button type="button" data-value="lately-30" class="btn">最近30天</button>
-				<button type="button" data-value="thisyear" class="btn">去年</button>
-			</div>
-			<div class="jypt-timeinputs">
-				<input type="text" name="starttime" readonly="readonly" id="starttime" data-value="">
-				<div class="jypt-fg">
-					<span></span>
 				</div>
-				<input type="text" name="endtime" readonly="readonly" id="endtime" data-value="">
 			</div>
-		</div>
-		<div class="jydq-dialog hidden">
-			<div class="dialog-content contentone">
-				<ul>
-					<li>
-						<button class="btn active">全国</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">华北地区</div>
-						<button class="btn">北京</button>
-						<button class="btn">天津</button>
-						<button class="btn">河北</button>
-						<button class="btn">山西</button>
-						<button class="btn">内蒙古</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">东北地区</div>
-						<button class="btn">辽宁</button>
-						<button class="btn">吉林</button>
-						<button class="btn">黑龙江</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">华东地区</div>
-						<button class="btn">上海</button>
-						<button class="btn">江苏</button>
-						<button class="btn">浙江</button>
-						<button class="btn">安徽</button>
-						<button class="btn">福建</button>
-						<button class="btn">江西</button>
-						<button class="btn">山东</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">华南地区</div>
-						<button class="btn">广东</button>
-						<button class="btn">广西</button>
-						<button class="btn">海南</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">华中地区</div>
-						<button class="btn">河南</button>
-						<button class="btn">湖北</button>
-						<button class="btn">湖南</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">西南地区</div>
-						<button class="btn">重庆</button>
-						<button class="btn">四川</button>
-						<button class="btn">贵州</button>
-						<button class="btn">云南</button>
-						<button class="btn">西藏</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;">西北地区</div>
-						<button class="btn">陕西</button>
-						<button class="btn">甘肃</button>
-						<button class="btn">青海</button>
-						<button class="btn">宁夏</button>
-						<button class="btn">新疆</button>
-					</li>
+			<div class="jyshxbottom sl-jyshxbottom">
+				<ul class="text-center">
+					<li class="jydqreset">重置</li>
+					<li class="jydqsure">确定</li>
 				</ul>
 			</div>
 		</div>
-		<div class="jytype-dialog hidden">
-			<div class="dialog-content contenttwo">
-				<ul>
-					<li>
-						<button class="btn active">全部</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;position:relative;float:left;" data-value="拟建">拟建项目</div><img style="float:left;" class="q-mark" src="/images/wx/q-mark.png"/>
-						<button class="btn hidden" style="clear:both;">拟建</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;" data-value="预告">招标预告</div>
-						<button class="btn hidden">预告</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;" data-value="招标">招标公告</div>
-						<button class="btn">招标</button>
-						<button class="btn">邀标</button>
-						<button class="btn">询价</button>
-						<button class="btn">竞谈</button>
-						<button class="btn">单一</button>
-						<button class="btn">竞价</button>
-						<button class="btn">变更</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:81px;" data-value="结果">招标结果</div>
-						<button class="btn">中标</button>
-						<button class="btn">成交</button>
-						<button class="btn">废标</button>
-						<button class="btn">流标</button>
-					</li>
-					<li>
-						<div id="dqbtn" style="width:111px;" data-value="其它">招标信用信息</div>
-						<button class="btn">合同</button>
-						<button class="btn">验收</button>
-						<button class="btn">违规</button>
-						<button class="btn">其它</button>
-					</li>
-				</ul>
+		<div id="wrapper">
+			<div id="list" ></div>
+			<!--<div id="table" class="hidden">
+				<table class="content">
+					<tr>
+						<td>序号</td>
+						<td>发布时间</td>
+						<td>公告类型</td>
+						<td>招标单位</td>
+						<td>项目名称</td>
+					</tr>
+				</table>
+			</div>-->
+			<div id="table" class="hidden">
+				<div class="data"><table class="content">
+					<tr>
+						<td>序号</td>
+						<td>发布时间</td>
+						<td>公告类型</td>
+						<td>招标单位</td>
+						<td>项目名称</td>
+					</tr>
+				</table></div>
+				<div class="TableTip">提示:为了获得更佳的体验,推荐使用电脑浏览器访问剑鱼网站jianyu360.com查看数据表格。</div>
+			</div>
+			<div class="resbm hidden">
+				<div class="rests">如果您对以上结果满意可</div>
+				<div class="resdy" id="zjdy">直接订阅<img src="/images/wx/jydyyou.png"></div>
+				<div class="dy_close"><img src="/images/search/dy_close.png"/></div>
+				<div style="clear:both"></div>
 			</div>
 		</div>
 	</div>
-	<div class="jyshxbottom sl-jyshxbottom">
-		<ul class="text-center">
-			<li class="jydqreset">重置</li>
-			<li class="jydqsure">确定</li>
-		</ul>
+
+	<div class="nullcontent text-center  hidden">
+		<div >
+			<img style="width:150px;margin:0px 0 50px 0;" src="/images/wx/jysorry_1.png">
+		</div>
+		<div style="font-size:16px;color:#1d1d1d;">没有找到和该关键词匹配的信息</div>
+		<div style="width:100%;" class="text-center">
+			<img onClick="window.open('/swordfish/feedback')" style="width: 200px;margin-top: 25px;" src="/images/wx/jyyjfk.png">
+		</div>
 	</div>
-</div>
-<div id="wrapper">
-	<div id="list"></div>
-</div>
-</div>
-<div class="nullcontent text-center  hidden">
-<div >
-<img style="width:150px;margin:0px 0 50px 0;" src="/images/wx/jysorry_1.png">
-</div>
-<div style="font-size:16px;color:#1d1d1d;">没有找到和该关键词匹配的信息</div>
-<div style="width:100%;" class="text-center">
-<img onClick="window.open('/swordfish/feedback')" style="width: 200px;margin-top: 25px;" src="/images/wx/jyyjfk.png">
-</div>
-</div>
-<div id="tempDiv" style="display:none;"></div>
-<script type="text/javascript">
-var keys = {{.T.keywords}};
-
-//全文搜索
-function allSearch(){
-    $("#span1").addClass("on").siblings().removeClass("on");
-	//将所选标签值作为参数传递
-	$("#searchform [name='selectType']").val("all");
-	localStorage.setItem("selectLable", "all");
-	beforeSubmit();
-}
-//标题搜索
-function  titleSearch(){
-    $("#span2").addClass("on").siblings().removeClass("on");
-	//将所选标签值作为参数传递
-	$("#searchform [name='selectType']").val("title");
-	localStorage.setItem("selectLable", "title");
-	beforeSubmit();
-}
-//展示
-$(".showType .showlist").click(function(){
-    $(this).addClass("on").siblings().removeClass("on");
-})
-$(".showType .showTable").click(function(){
-    $(this).addClass("on").siblings().removeClass("on");
-})
-</script>
-{{include "/common/baiducc.html"}}
+	<div id="tempDiv" style="display:none;"></div>
+	<script type="text/javascript">
+
+        //全文搜索
+        function allSearch(){
+            $("#search_all").addClass("on").siblings().removeClass("on");
+            //将所选标签值作为参数传递
+            beforeSubmit();
+            toquery();
+        }
+        //标题搜索
+        function  titleSearch(){
+            $("#search_title").addClass("on").siblings().removeClass("on");
+            //将所选标签值作为参数传递
+            beforeSubmit();
+            toquery();
+        }
+
+        //展示方式
+        //1.列表展示数据
+        $(".showType .showlist").click(function(){
+            $(this).addClass("on").siblings().removeClass("on");
+            $("#wrapper #table").addClass("hidden");
+            $("#wrapper #list").removeClass("hidden");
+            scrollDownObj.resetload();
+        })
+        //2.表格展示数据
+        $(".showType .showTable").click(function(){
+            $(this).addClass("on").siblings().removeClass("on");
+            $("#wrapper #table").removeClass("hidden");
+            $("#wrapper #list").addClass("hidden");
+            scrollDownObj.resetload();
+        })
+	</script>
+	{{include "/common/baiducc.html"}}
 </body>
 </html>

+ 5 - 6
src/web/templates/weixin/wxpush.html

@@ -37,12 +37,12 @@ $(function(){
 	var substype={};
 	var projectname={};
 	var projectid={};
-	var buyer={};
+	var agency={};
 	var bmatch={{.T.data.bmatch}};
 	var tabletime = ""
 	var tabletype = ""
 	var tableptname = ""
-	var tablebuyer = ""
+	var tableagency = ""
 	if(bmatch){
 		$(".findnull").hide();
 	}else{
@@ -58,7 +58,7 @@ $(function(){
 			substype[i]=o_pushinfo[i]["substype"];
 			projectname[i]=o_pushinfo[i]["projectname"];
 			projectid[i]=o_pushinfo[i]["projectid"];
-			buyer[i]=o_pushinfo[i]["buyer"];
+			agency[i]=o_pushinfo[i]["agency"];
 		}
 	}
 	if(typeof(s_words) != "undefined" && s_words.length > 0){
@@ -158,8 +158,7 @@ $(function(){
 							tabletype="中标"
 						}
 					}
-					//console.log(tabletype+":tabletype"+"tablebuyer:"+buyer[xh]+"---"+projectname[xh])
-					tablebuyer=buyer[xh]
+					tableagency=agency[xh]
 					tableptname=projectname[xh]
 					if (area&&area!="" && area!="undefined"){
 						area='<span class="location">'+area+'</span>';
@@ -183,7 +182,7 @@ $(function(){
 					'<td>'+xh+'</td>'+
 					'<td>'+tabletime+'</td>'+
 					'<td>'+tabletype+'公告</td>'+
-					'<td>'+tablebuyer+'</td>'+
+					'<td>'+tableagency+'</td>'+
 					'<td>'+tableptname+'</td>'+
 					'</tr>'
 	});

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.