王传进 8 ani în urmă
părinte
comite
f0df5b4626

+ 2 - 1
src/jfw/front/entserach.go

@@ -34,6 +34,7 @@ func (m *Entsearch) Bidsearchforent() error {
 	searchvalue := m.GetString("searchvalue")
 	area := m.GetString("area")
 	publishtime := m.GetString("publishtime")
+	industry := m.GetString("industry")
 	//toptype := m.GetString("toptype")
 	subtype := m.GetString("subtype")
 	//selectType := m.GetString("selectType")
@@ -58,7 +59,7 @@ func (m *Entsearch) Bidsearchforent() error {
 		}
 	}
 	for i := 0; i < 10; i++ {
-		_, list = getLastNewsData(searchvalue, area, publishtime, subtype, intns[i], true)
+		_, list = getLastNewsData(searchvalue, area, publishtime, subtype, industry, 0, true)
 		fmt.Println(list)
 		for k, v := range *list {
 			v["k"] = (k + 1) + i*50

+ 31 - 0
src/jfw/front/supsearch.go

@@ -6,6 +6,7 @@ import (
 	"log"
 	"math/rand"
 	"qfw/util"
+	"strings"
 	"time"
 
 	"github.com/go-xweb/xweb"
@@ -24,6 +25,7 @@ func init() {
 
 //
 func (p *Pcsearch) GetEntName() error {
+
 	return nil
 }
 
@@ -35,6 +37,35 @@ 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))
 	}
+	industryData, ok := mongodb.Find("rc_rule", `{"s_name":{$ne:null}}`, `{"i_order":1}`, `{"_id":1,"s_name":1}`, false, -1, -1)
+	log.Println(len(*industryData), "---")
+	if ok && industryData != nil && len(*industryData) > 0 {
+		industry := map[string][]string{}
+		sortArray := []string{}
+		for _, v := range *industryData {
+			fatFlag := 0
+			//childFlag := 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)
+				}
+			}
+		}
+		p.T["industry"] = industry
+		p.T["sortArray"] = sortArray
+	}
 	p.T["shareid"] = se.EncodeString(shareid)
 	log.Println("-------超级搜索:")
 	return p.Render("/pc/supsearch.html", &p.T)

+ 100 - 25
src/jfw/front/swordfish.go

@@ -29,7 +29,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"`
+	bidSearch_field       = bidSearch_field_1 + `,"detail"`
 	bidSearch_sort        = `{"publishtime":-1}`
 )
 
@@ -137,8 +138,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 {
+				bidListConvert("", lastBids)
 				lbnHtml, olHtml := structureLastBidsHtml(lastBids)
 				m.T["lbnHtml"] = lbnHtml
 				m.T["olHtml"] = olHtml
@@ -279,6 +281,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 +295,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 +317,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 +421,10 @@ func (m *Front) PcAjaxReq() {
 	reqType := m.GetString("reqType")
 	//获取最新招标信息
 	if reqType == "lastBids" {
+		ls := elastic.GetPage(INDEX, TYPE, "{}", bidSearch_sort, bidSearch_field_1, 0, 18)
+		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,6 +442,7 @@ 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)
 
@@ -445,14 +451,14 @@ func (m *Front) PcAjaxReq() {
 	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)
+		_, list = getBidSearchData(searchvalue, area, publishtime, subtype, industry, start, false, 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 +490,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 +508,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 {
+			bidListConvert(industry, repl)
 			list = repl
 		}
 	}
@@ -511,9 +518,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 +533,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 {
+			bidListConvert(industry, repl)
 			list = repl
 		}
 	}
@@ -535,7 +543,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 +603,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 +719,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 +727,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 +771,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 +787,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, ",")
@@ -818,7 +843,8 @@ func (m *Front) WxsearchlistPaging() {
 		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(keywords, searchvalue, scope, publishtime, subtype, industry, pageNum, selectType)
 	}
 	m.ServeJson(map[string]interface{}{
 		"list":        list,
@@ -842,18 +868,17 @@ 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
 	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 {
+			bidListConvert("", list)
 			for _, v := range *list {
 				v["_id"] = util.EncodeArticleId2ByCheck(util.ObjToString(v["_id"]))
 			}
@@ -1060,7 +1085,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 +1985,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)
@@ -2101,3 +2126,53 @@ func (m *Front) Subscribe() error {
 	m.T["signature"] = wx.SignJSSDK(m.Site() + m.Url())
 	return m.Render("/pc/subscribe.html", &m.T)
 }
+
+/*
+ * 结果列表转换,目前只换行行业字段
+ * 所有的招标搜索都要调用此方法,列表中有展示行业的也可以用
+ * 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
+	}
+}

+ 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"
 }

+ 47 - 42
src/jfw/modules/followent/src/followent/followent.go

@@ -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() {
@@ -89,47 +88,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 +136,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"
@@ -179,3 +175,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
+}

+ 2 - 1
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 {

+ 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>

+ 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 {

+ 53 - 6
src/web/staticres/css/dev2/biddingSearch.css

@@ -153,14 +153,58 @@
 #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: -154px;
+  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: 20px;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx .search-right-wx-inner .wx-inner-bottom i {
+  color: #2cb7ca;
+}
+
 #searchInner .searchControl .searchTender {
   /*招标搜索页面*/
   padding: 0 14px;
@@ -254,7 +298,7 @@
 
 #searchInner .searchControl .searchTender .Price {
   /*价格区间*/
-  padding: 20px 0;
+  padding: 19px 0;
   border-bottom: 1px dashed #e0e0e0;
 }
 
@@ -276,7 +320,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 +346,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 +354,7 @@
 
 #searchInner .searchControl .searchTender .release-time {
   /*发布时间*/
-  padding: 20px 0;
+  padding: 18px 0 19px;
   border-bottom: 1px dashed #e0e0e0;
 }
 
@@ -327,8 +371,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"] {

+ 10 - 29
src/web/staticres/css/dev2/biddingSearch1.css

@@ -1,31 +1,12 @@
-.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);
-	cursor: pointer;
+.customtime-active{
+    background-color: #F8F7FC !important;
+    border: 1px solid #ddd !important;
+    padding: 3px 5px;
 }
-.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;
-	text-align:center;
+.pricefat{
+	float: left;
+	margin-top: -8px;
+	border: 1px solid #fff;
+    background-color: #fff;
+	padding: 3px 5px;
 }

+ 35 - 16
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();
 
@@ -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();
 				}
 			});
 		}
@@ -137,33 +155,34 @@ $(function() {
 			$(this).addClass("active").siblings().removeClass("active")
 		})
 	}
-	
+
 	/*表格 列表样式切换*/
 	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(){
+
+	function luceneTab() {
 		var $tab = $(".seaTender-inner .tabTitle li"),
 			$tabDIv = $(".tabContainer");
-			
-		$tab.on("click",function(){
+
+		$tab.on("click", function() {
 			$(this).find("a").addClass("active").parent().siblings().find("a").removeClass("active");
 			$tabDIv.eq($(this).index()).show().siblings().not(".tabTitle").hide()
-			
+
 		})
 	}
-	
 
 })

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

@@ -0,0 +1,37 @@
+$(function() {
+	$("#minprice").click(function(){
+		$(".pricebut").show();
+		$(".pricefat").addClass("customtime-active");
+	})
+	$("#maxprice").click(function(){
+		$(".pricebut").show();
+		$(".pricefat").addClass("customtime-active");
+	})
+	$("#mintime").click(function(){
+		$("#timebut").show();
+		$(".timerInput").addClass("customtime-active");
+	})
+	$("#maxtime").click(function(){
+		$("#timebut").show();
+		$(".timerInput").addClass("customtime-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").removeClass("customtime-active");
+	})
+	//
+	$("#timebut").click(function(){
+		$(this).hide();
+		$(".timerInput").removeClass("customtime-active");
+	})
+})

+ 40 - 96
src/web/templates/pc/supsearch.html

@@ -12,7 +12,6 @@
 <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>
 <style type="text/css">
 /*j-wx-code Start*/
 .j-wx-code{
@@ -89,21 +88,31 @@
 	     -o-animation-fill-mode:forwards;
 	        animation-fill-mode:forwards;
 }
-.navigation{
-	display:block;
-}
 a{
 	text-decoration: none !important;
 }
 </style>
 <script>
 $(function(){
-	$(".searchname").on("input propertychange",function(){
-		var inputval = $("#searchinput").val();
-		
-  	});
+	var industry = {{.T.industry}}
+	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 = industry[fat]
+			industryhtml+='<i class="diver"></i>'
+					+'<font class="parent-node ">'+fat+'</font>'
+			for (var j in childlist){
+				industryhtml+='<font>'+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"}}
@@ -122,7 +131,7 @@ $(function(){
 					<input class="searchname" autocomplete="off" type="search" name="" id="searchinput" value="" name="keywords" placeholder="高速公路" />
 
 					<input type="submit" value="搜索" />
-					<div class="searchSlideText">
+<!--					<div class="searchSlideText">
 						<ul>
 							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 							<li>滁州市<i>万达集团</i>公司</li>
@@ -137,7 +146,7 @@ $(function(){
 							<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
 							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
 						</ul>
-					</div>
+					</div>-->
 				</form>
 				<!--筛选-->
 				<div id="screenBtn" class="screen up">
@@ -150,10 +159,16 @@ $(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">
+							微信扫一扫,及时获取及时获取<i>"1"</i>相关招标信息
+						</div>
 					</div>
 				</div>
 			</div>
@@ -175,80 +190,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>
 			<!--价格区间-->
@@ -258,12 +200,14 @@ $(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="最高价              万元" />
+					<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>
 			<!--发布时间-->
@@ -280,10 +224,10 @@ $(function(){
 					</ul>
 				</div>
 				<div class="timerInput fl">
-					<input type="text" name="" id="" value="" placeholder="" />
+					<input type="text" name="mintime" id="mintime" value="" placeholder="" />
 					<span></span>
-					<input type="text" name="" id="" value="" placeholder="" />
-					<button class="fl">确定</button>
+					<input type="text" name="maxtime" id="maxtime" value="" placeholder="" />
+					<button class="fl" id="timebut">确定</button>
 				</div>
 			</div>
 			<!--项目地区-->