Преглед на файлове

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

maxiaoshan преди 8 години
родител
ревизия
49ee1e4d5e
променени са 80 файла, в които са добавени 5646 реда и са изтрити 144 реда
  1. 26 0
      src/jfw/front/entserach.go
  2. 16 0
      src/jfw/front/front.go
  3. 72 0
      src/jfw/front/supsearch.go
  4. 2 1
      src/jfw/front/wxkeyset.go
  5. 14 9
      src/jfw/jylabutil/entsearch.go
  6. 15 0
      src/jfw/modules/behaviorcollect/README.md
  7. 13 0
      src/jfw/modules/behaviorcollect/src/config.json
  8. 89 0
      src/jfw/modules/behaviorcollect/src/main.go
  9. 3 0
      src/jfw/modules/behaviorcollect/src/parse/README.md
  10. 69 0
      src/jfw/modules/behaviorcollect/src/parse/accesslog.go
  11. 13 0
      src/jfw/modules/behaviorcollect/src/parse/parse.go
  12. 20 0
      src/jfw/modules/behaviorcollect/src/util/catch.go
  13. 90 0
      src/jfw/modules/behaviorcollect/src/util/util.go
  14. 60 0
      src/jfw/modules/behaviorcollect/src/writer/writer.go
  15. 2 1
      src/jfw/modules/entsesearch/src/config.json
  16. 29 12
      src/jfw/modules/entsesearch/src/search/entsesearch.go
  17. 51 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/css/dropload.css
  18. 60 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/css/wxlist.css
  19. 327 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/js/dropload.js
  20. 26 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/jquery.resize.js
  21. 369 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/search.js
  22. 100 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/share.js
  23. 1385 0
      src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/style.css
  24. 11 11
      src/jfw/modules/entsesearch/src/web/templates/common/pnc.html
  25. 247 102
      src/jfw/modules/entsesearch/src/web/templates/weixin/entseSearch.html
  26. 1 0
      src/jfw/modules/followent/src/config.json
  27. 2 1
      src/jfw/modules/followent/src/followent/myfwent.go
  28. 5 4
      src/jfw/modules/followent/src/web/templates/weixin/list.html
  29. 0 0
      src/jfw/modules/pushproject/src/config.json
  30. 0 0
      src/jfw/modules/pushproject/src/config/config.go
  31. 0 0
      src/jfw/modules/pushproject/src/filterdata/filterdata.go
  32. 0 0
      src/jfw/modules/pushproject/src/followpush/config.json
  33. 0 0
      src/jfw/modules/pushproject/src/followpush/datastruct.go
  34. 0 0
      src/jfw/modules/pushproject/src/followpush/followpush.go
  35. 0 0
      src/jfw/modules/pushproject/src/followpush/followpush_test.go
  36. 0 0
      src/jfw/modules/pushproject/src/followpush/push.go
  37. 0 0
      src/jfw/modules/pushproject/src/listdb/listdb.go
  38. 0 0
      src/jfw/modules/pushproject/src/main.go
  39. 0 0
      src/jfw/modules/pushproject/src/main_test.go
  40. 0 0
      src/jfw/modules/pushproject/src/rpcpush/findData.go
  41. 0 0
      src/jfw/modules/pushproject/src/rpcpush/rpcpush.go
  42. 0 0
      src/jfw/modules/pushproject/src/timetask/clearredis.go
  43. 0 0
      src/jfw/modules/pushproject/src/tools/mongo.go
  44. 0 0
      src/jfw/modules/pushproject/src/tools/tools.go
  45. 0 0
      src/jfw/modules/pushproject/src/weixinrpc/weixinrpc.go
  46. 5 0
      src/jfw/modules/weixin/src/wx/wx.go
  47. 798 0
      src/web/staticres/css/dev2/biddingSearch.css
  48. 12 0
      src/web/staticres/css/dev2/biddingSearch1.css
  49. 76 0
      src/web/staticres/css/dev2/reset_pc.css
  50. BIN
      src/web/staticres/images/biddingSearch/info-icon1.png
  51. BIN
      src/web/staticres/images/biddingSearch/lists-timeImg.png
  52. BIN
      src/web/staticres/images/biddingSearch/more.png
  53. BIN
      src/web/staticres/images/biddingSearch/moreup.png
  54. BIN
      src/web/staticres/images/biddingSearch/screen-down.png
  55. BIN
      src/web/staticres/images/biddingSearch/screen-up.png
  56. BIN
      src/web/staticres/images/biddingSearch/sea-header-btnImg-bai.png
  57. BIN
      src/web/staticres/images/biddingSearch/sea-header-btnImg.png
  58. BIN
      src/web/staticres/images/biddingSearch/sea-right-wx.png
  59. BIN
      src/web/staticres/images/biddingSearch/search-clear.png
  60. BIN
      src/web/staticres/images/biddingSearch/search-icon1.png
  61. BIN
      src/web/staticres/images/biddingSearch/tab-icon1.png
  62. BIN
      src/web/staticres/images/biddingSearch/tab-icon2.png
  63. BIN
      src/web/staticres/images/biddingSearch/tab-icon3.png
  64. BIN
      src/web/staticres/images/biddingSearch/tab-icon4.png
  65. BIN
      src/web/staticres/images/biddingSearch/开启实验室弹窗@2x.png
  66. BIN
      src/web/staticres/images/biddingSearch/弹窗-close@2x.png
  67. BIN
      src/web/staticres/images/contactway.jpg
  68. BIN
      src/web/staticres/images/coopbanner1.jpg
  69. BIN
      src/web/staticres/images/datacooperation.jpg
  70. BIN
      src/web/staticres/images/fenge.jpg
  71. BIN
      src/web/staticres/images/fenge.png
  72. BIN
      src/web/staticres/images/othercooperation.jpg
  73. BIN
      src/web/staticres/images/pc-envelope.png
  74. BIN
      src/web/staticres/images/zengzhihezuo.png
  75. 188 0
      src/web/staticres/js/biddingSearch.js
  76. 37 0
      src/web/staticres/js/superSearch.js
  77. 296 0
      src/web/templates/pc/biddingsearch_enterprise.html
  78. 214 0
      src/web/templates/pc/businesscooperation.html
  79. 711 0
      src/web/templates/pc/supsearch.html
  80. 192 3
      src/web/templates/weixin/wxpush.html

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

@@ -0,0 +1,26 @@
+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)
+}

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

@@ -87,6 +87,8 @@ type Front struct {
 	historypush       xweb.Mapper `xweb:"/swordfish/historypush"`        //历时推送记录
 	historypushPaging xweb.Mapper `xweb:"/swordfish/historypush/paging"` //历时推送记录--分页
 	aboutus           xweb.Mapper `xweb:"/front/aboutus.html"`           //关于我们
+	busicooperation	  xweb.Mapper `xweb:"/front/busicooperation.html"`   //商务合作
+	//bidsearchforent	  xweb.Mapper `xweb:"/front/bidsearchforent.html"`   //中标企业搜索
 
 	/********************wxkeyset:v1.8**************************/
 	wxrssset        xweb.Mapper `xweb:"/swordfish/page"`
@@ -847,6 +849,20 @@ func (f *Front) Aboutus() error {
 	}
 }
 
+//商务合作
+func (f *Front) Busicooperation() error {
+
+	content, _ := f.Render4Cache("/pc/businesscooperation.html", &f.T)
+	return f.SetBody(content)
+}
+
+//中标企业搜索
+//func (f *Front) Bidsearchforent() error {
+//
+//	content, _ := f.Render4Cache("/pc/biddingsearch_enterprise.html", &f.T)
+//	return f.SetBody(content)
+//}
+
 func (f *Front) Gethotkey() error {
 	keys := []interface{}{}
 	tmp := redis.Get("sso", "jy_hotkeys")

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

@@ -0,0 +1,72 @@
+package front
+
+import (
+	"fmt"
+	"jfw/config"
+	"log"
+	"math/rand"
+	"qfw/util"
+	"strings"
+	"time"
+
+	"github.com/go-xweb/xweb"
+)
+
+type Pcsearch struct {
+	*xweb.Action
+
+	pcSearchIndex xweb.Mapper `xweb:"/jylab/supsearch/index"`
+	getEntName    xweb.Mapper `xweb:"/jylab/supsearch/getentname"`
+}
+
+func init() {
+	xweb.AddAction(&Pcsearch{})
+}
+
+//
+func (p *Pcsearch) GetEntName() error {
+
+	return nil
+}
+
+//
+func (p *Pcsearch) PcSearchIndex() error {
+	defer util.Catch()
+	var shareid = p.GetString("id")
+	p.T["logid"] = config.Seoconfig["jysslby"].(string)
+	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)
+}

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

@@ -2,7 +2,6 @@
 package front
 
 import (
-	"gopkg.in/mgo.v2/bson"
 	"jfw/wx"
 	"log"
 	"qfw/util"
@@ -10,6 +9,8 @@ import (
 	"strconv"
 	"strings"
 	"time"
+
+	"gopkg.in/mgo.v2/bson"
 )
 
 //进入订阅词设置

+ 14 - 9
src/jfw/modules/entsesearch/src/search/search.go → src/jfw/jylabutil/entsearch.go

@@ -1,5 +1,5 @@
 // search
-package search
+package jylabutil
 
 import (
 	"fmt"
@@ -12,14 +12,19 @@ name  名称
 limit 取几条
 */
 func GetEenNameImmediate(name string, limit int) []map[string]interface{} {
-	//query := `{"term":{"winner":"` + name + `"}}`
-	list := *elastic.GetByNgram(
-		"winner", "winner",
-		name, ``,
-		`"winner"`,
-		``,
-		`"winner"`,
-		0, limit)
+	query := `{"query": {
+			    "bool": {
+			      "must_not":[{"term": {"winnersign": "1"}}],
+			      "should": [{
+			          "bool": {"must": [{"multi_match": {"query": "` + name + `", "type": "phrase","fields": ["name"], "analyzer": "my_ngram"}}]}
+			        }],
+				  "minimum_should_match": 1
+			    }
+			  },
+			  "_source": ["name"],
+			  "from": 0,"size": ` + fmt.Sprint(limit) + `
+			}`
+	list := *elastic.Get("winner", "winner", query)
 	return list
 }
 

+ 15 - 0
src/jfw/modules/behaviorcollect/README.md

@@ -0,0 +1,15 @@
+ajx调用,model,s_url属性必填
+var content='{"model":"accesslog","s_url":"/jylab/entsearch/","s_describe":"剑鱼实验室企业查询"}'
+
+
+$.post('/accessinfo/byajax',{json:content},function(r){
+	
+});
+
+//跨域请求
+$.ajax({  
+    url:"http://192.168.100.60:8084/accessinfo/byajax",  
+    dataType:'jsonp',  
+    data:{json:content},  
+    jsonp:'callback' 
+});  

+ 13 - 0
src/jfw/modules/behaviorcollect/src/config.json

@@ -0,0 +1,13 @@
+{
+    "rpcaddr": ":8083",
+    "webaddr": ":8084",
+    "insertthreads": 5,
+    "cachesize": 50000,
+    "influxdb": "https://jianyu:Topnet@20150501@wxlmjy.qmx.top:443",
+    "model_url": {
+        "剑鱼实验室": "/jylab/.*"
+    },
+    "model_invalid": {
+        "accesslog": "30d"
+    }
+}

+ 89 - 0
src/jfw/modules/behaviorcollect/src/main.go

@@ -0,0 +1,89 @@
+package main
+
+import (
+	"encoding/json"
+	"fmt"
+	"io/ioutil"
+	"net"
+	"net/http"
+	"net/rpc"
+	"os"
+	"parse"
+	"writer"
+)
+
+//
+type config struct {
+	InfluxdbAddr  string                 `json:"influxdb"`
+	InsertThreads int                    `json:"insertthreads"`
+	RpcAddr       string                 `json:"rpcaddr"`
+	Cachesize     int                    `json:"cachesize"`
+	WebAddr       string                 `json:"webaddr"`
+	Modelurl      map[string]interface{} `json:"model_url"`     //模块
+	Modelinvalid  map[string]string      `json:"model_invalid"` //模块数据时效
+}
+
+//
+type RpcService struct {
+}
+
+//
+func (rs *RpcService) Log(args string, reply *string, req *http.Request) error {
+	go processrequest(args, req)
+	return nil
+}
+
+var c config
+var list map[string]parse.Face
+
+//
+func init() {
+	fi, _ := os.Open("./config.json")
+	bs, _ := ioutil.ReadAll(fi)
+	fi.Close()
+	json.Unmarshal(bs, &c)
+	//初始化写入工具类
+	writer.InitWriter(c.InfluxdbAddr, c.InsertThreads, c.Cachesize)
+	//
+	list = map[string]parse.Face{
+		"accesslog": parse.AccessLogParse{},
+	}
+	parse.InitModelUrl(c.Modelurl)
+}
+
+//
+func processrequest(jsonstr string, req *http.Request) {
+	data := map[string]interface{}{}
+	json.Unmarshal([]byte(jsonstr), &data)
+	model := data["model"].(string)
+	invalid := c.Modelinvalid[model]
+	if v, ok := list[model]; ok && invalid != "" {
+		switch model {
+		case "accesslog":
+			writer.Write("jy_logs", invalid, v.Parse(data, req))
+		}
+	}
+}
+
+//
+func main() {
+	//TODO 开通RPC ajax服务
+	http.HandleFunc("/accessinfo/byajax", func(w http.ResponseWriter, req *http.Request) {
+		jsontxt := req.FormValue("json") //post方式传过来
+		if jsontxt != "" {
+			processrequest(jsontxt, req)
+		}
+	})
+	http.ListenAndServe(c.WebAddr, nil)
+	//开通json rpc服务
+	newServer := rpc.NewServer()
+	newServer.Register(new(RpcService))
+	l, err := net.Listen("tcp", c.RpcAddr) // any available address
+	if err != nil {
+		fmt.Println(err.Error())
+	}
+	go newServer.Accept(l)
+	//
+	lock := make(chan bool)
+	<-lock
+}

+ 3 - 0
src/jfw/modules/behaviorcollect/src/parse/README.md

@@ -0,0 +1,3 @@
+依据请求的模块,
+根据传入的map对象,
+转化成point

+ 69 - 0
src/jfw/modules/behaviorcollect/src/parse/accesslog.go

@@ -0,0 +1,69 @@
+package parse
+
+import (
+	"fmt"
+	"net/http"
+	"regexp"
+	"time"
+	"util"
+
+	"github.com/influxdata/influxdb-client"
+)
+
+//用户访问日志转换
+type AccessLogParse struct {
+}
+
+//设置tag标签
+var tagtitle = map[string]interface{}{
+	"s_os":     true,
+	"s_browse": true,
+	"s_model":  true,
+}
+var model_url = map[string]*regexp.Regexp{}
+
+//
+func (alp AccessLogParse) Parse(data map[string]interface{}, req *http.Request) *influxdb.Point {
+	//补充基本数据
+	data = AddBasicData(data, req)
+	fields := map[string]interface{}{}
+	tags := []influxdb.Tag{}
+	for k, v := range data {
+		if tagtitle[k] == nil {
+			fields[k] = v
+		} else {
+			tag := influxdb.Tag{Key: k, Value: fmt.Sprint(v)}
+			tags = append(tags, tag)
+		}
+	}
+
+	ponit := &influxdb.Point{
+		Name:   "accesslog",
+		Tags:   tags,
+		Fields: fields,
+		Time:   time.Now(),
+	}
+	return ponit
+}
+
+//
+func InitModelUrl(model map[string]interface{}) {
+	//TODO 加载IP转换,url模块对应
+	for k, v := range model {
+		reg, _ := regexp.Compile(fmt.Sprint(v))
+		model_url[k] = reg
+	}
+}
+
+//补充基本数据字段
+func AddBasicData(data map[string]interface{}, req *http.Request) map[string]interface{} {
+	agent := req.Header.Get("user-agent")
+	data["s_os"] = util.GetOS(agent)
+	data["s_ip"] = util.GetIp(req)
+	data["s_browse"] = util.GetBrowse(agent)
+	data["s_refer"] = req.Referer()
+	data["s_client"] = agent
+	data["s_model"] = util.GetModel(fmt.Sprint(data["s_url"]), model_url)
+	delete(data, "model")
+	return data
+}

+ 13 - 0
src/jfw/modules/behaviorcollect/src/parse/parse.go

@@ -0,0 +1,13 @@
+package parse
+
+import (
+	"net/http"
+
+	"github.com/influxdata/influxdb-client"
+)
+
+//每个转换对象都要实现的接口
+type Face interface {
+	//
+	Parse(data map[string]interface{}, req *http.Request) *influxdb.Point
+}

+ 20 - 0
src/jfw/modules/behaviorcollect/src/util/catch.go

@@ -0,0 +1,20 @@
+package util
+
+import (
+	"log"
+	"runtime"
+)
+
+//出错拦截
+func Catch() {
+	if r := recover(); r != nil {
+		log.Println("err:", r)
+		for skip := 0; ; skip++ {
+			_, file, line, ok := runtime.Caller(skip)
+			if !ok {
+				break
+			}
+			go log.Printf("%v,%v\n", file, line)
+		}
+	}
+}

+ 90 - 0
src/jfw/modules/behaviorcollect/src/util/util.go

@@ -0,0 +1,90 @@
+// util
+package util
+
+import (
+	"net"
+	"net/http"
+	"regexp"
+	"strings"
+)
+
+//根据url获取所属模块
+func GetModel(url string, model_url map[string]*regexp.Regexp) string {
+	s_model := "其他"
+	for k, v := range model_url {
+		b := v.MatchString(url)
+		if b {
+			s_model = k
+			break
+		}
+	}
+	return s_model
+}
+
+//获取平台类型
+func GetOS(useros string) string {
+	osVersion := "其他"
+	if strings.Contains(useros, "NT 6.0") {
+		osVersion = "Windows Vista/Server 2008"
+	} else if strings.Contains(useros, "NT 5.2") {
+		osVersion = "Windows Server 2003"
+	} else if strings.Contains(useros, "NT 5.1") {
+		osVersion = "Windows XP"
+	} else if strings.Contains(useros, "NT 5") {
+		osVersion = "Windows 2000"
+	} else if strings.Contains(useros, "Mac") {
+		osVersion = "Mac"
+	} else if strings.Contains(useros, "Unix") {
+		osVersion = "UNIX"
+	} else if strings.Contains(useros, "Linux") {
+		osVersion = "Linux"
+	} else if strings.Contains(useros, "SunOS") {
+		osVersion = "SunOS"
+	} else if strings.Contains(useros, "NT 6.3") {
+		osVersion = "Window8"
+	} else if strings.Contains(useros, "NT 6.1") {
+		osVersion = "Window7"
+	} else if strings.Contains(useros, "NT 10.0") {
+		osVersion = "Window10"
+	}
+	return osVersion
+}
+
+//获取浏览器类型
+func GetBrowse(userbrowser string) string {
+	browserVersion := "其他"
+	if strings.Contains(userbrowser, "MSIE") {
+		browserVersion = "IE"
+	} else if strings.Contains(userbrowser, "Firefox") {
+		browserVersion = "Firefox"
+	} else if strings.Contains(userbrowser, "Chrome") {
+		browserVersion = "Chrome"
+	} else if strings.Contains(userbrowser, "Safari") {
+		browserVersion = "Safari"
+	} else if strings.Contains(userbrowser, "rv:11.0") {
+		browserVersion = "IE11"
+	}
+	return browserVersion
+}
+
+//获取ip
+func GetIp(req *http.Request) string {
+	if req == nil {
+		return ""
+	}
+	ip_for := req.Header.Get("x-forwarded-for")
+	ip_client := req.Header.Get("http_client_ip")
+	ip_addr := req.Header.Get("Remote_addr")
+	un := "unknown"
+	if (ip_for != un) && (len(strings.TrimSpace(ip_for)) > 0) {
+		return ip_for
+	}
+	if (ip_client != un) && (len(strings.TrimSpace(ip_client)) > 0) {
+		return ip_client
+	}
+	if (ip_addr != un) && (len(strings.TrimSpace(ip_addr)) > 0) {
+		return ip_addr
+	}
+	ip, _, _ := net.SplitHostPort(req.RemoteAddr)
+	return ip
+}

+ 60 - 0
src/jfw/modules/behaviorcollect/src/writer/writer.go

@@ -0,0 +1,60 @@
+package writer
+
+import "github.com/influxdata/influxdb-client"
+
+//带缓冲区的多并发写入
+//
+type Item struct {
+	Rp string
+	P  *influxdb.Point
+	Db string
+}
+
+var cache chan *Item
+var lock chan bool
+var influxdbaddr string
+//
+func InitWriter(dbaddr string, threads,cachesize int) {
+	influxdbaddr = dbaddr
+	lock = make(chan bool,threads)
+	cache = make(chan *Item, cachesize)
+	go consumecache()
+	return
+}
+
+//
+func Write(db string, rp string, p *influxdb.Point) {
+	cache <- &Item{
+		Db: db,
+		Rp: rp,
+		P:  p,
+	}
+}
+
+//插入数据守护
+func consumecache() {
+	for {
+		select {
+		case p := <-cache:
+			lock<-true
+			go doinsert(p,lock)
+		}
+	}
+}
+
+//
+func doinsert(p *Item,l <-chan bool) {
+	defer clearlock(l)
+	client, err := influxdb.NewClient(influxdbaddr)
+	if err != nil {
+		return
+	}
+	w := client.Writer()
+	w.Database = p.Db
+	w.RetentionPolicy = p.Rp
+	p.P.WriteTo(w)
+}
+//
+func clearlock( l <-chan bool ){
+	<-l
+}

+ 2 - 1
src/jfw/modules/entsesearch/src/config.json

@@ -12,6 +12,7 @@
     "weixinrpc": "127.0.0.1:83",
     "cacheflag": false,
     "agreement": "http",
-    "recommendEntLimit":"50"
+    "recommendEntLimit":"50",
+    "followPushRpc": "127.0.0.1:8759"
 
 }

+ 29 - 12
src/jfw/modules/entsesearch/src/search/entsesearch.go

@@ -3,9 +3,10 @@ package search
 import (
 	"fmt"
 	"github.com/go-xweb/xweb"
-	"qfw/util/elastic"
+	//"qfw/util/elastic"
 	"config"
 	"strconv"
+	"jfw/jylabutil"
 )
 
 type EntSeSearch struct {
@@ -25,22 +26,38 @@ func (e *EntSeSearch) ToSearch() error{
 }
 
 func (e *EntSeSearch) RecList() {
-	fmt.Println("entName", e.GetString("entName"))
 	var entName = e.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)
-			e.ServeJson(map[string]interface{}{
-				"recList": r,
-			})
-		}
+	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{
+		e.ServeJson(map[string]interface{}{
+			"recList": re,
+		})
 	}
 }
 
 func (e *EntSeSearch) ProList() {
+	var searchname = e.GetString("searchname")
+	var scope = e.GetString("scope")
+	//var money = e.GetString("money")
+	var money_from,_ = strconv.Atoi(e.GetString("money_from"))
+	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)
 	e.ServeJson(map[string]interface{}{
-
+		"proList": proMap,
 	})
 }

+ 51 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/css/dropload.css

@@ -0,0 +1,51 @@
+.dropload-up,.dropload-down{
+    position: relative;
+    height: 0;
+    overflow: hidden;
+    font-size: 12px;
+    /* 开启硬件加速 */
+    -webkit-transform:translateZ(0);
+    transform:translateZ(0);
+}
+.dropload-down{
+    height: 50px;
+}
+.dropload-refresh,.dropload-update,.dropload-load,.dropload-noData{
+    height: 50px;
+    line-height: 50px;
+    text-align: center;
+}
+.dropload-load .loading{
+    display: inline-block;
+    height: 15px;
+    width: 15px;
+    border-radius: 100%;
+    margin: 6px;
+    border: 2px solid #666;
+    border-bottom-color: transparent;
+    vertical-align: middle;
+    -webkit-animation: rotate 0.75s linear infinite;
+    animation: rotate 0.75s linear infinite;
+}
+@-webkit-keyframes rotate {
+    0% {
+        -webkit-transform: rotate(0deg);
+    }
+    50% {
+        -webkit-transform: rotate(180deg);
+    }
+    100% {
+        -webkit-transform: rotate(360deg);
+    }
+}
+@keyframes rotate {
+    0% {
+        transform: rotate(0deg);
+    }
+    50% {
+        transform: rotate(180deg);
+    }
+    100% {
+        transform: rotate(360deg);
+    }
+}

+ 60 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/css/wxlist.css

@@ -0,0 +1,60 @@
+.tslist .bt{
+	color:#1d1d1d;
+	text-decoration: none;
+	word-break: break-all;
+}
+.tslist .keyword{
+	color:#2cb7ca;
+}
+.tslist{
+	border-bottom: 1px solid #e5e6e9;
+	padding: 17px 0px 17px 0px;
+}
+.resnumb .two{
+	font-size:16px;
+	font-weight:500;
+	padding-left:25px;
+	float:left;
+	line-height:24px;
+}
+.resnumb{
+	position: relative;
+}
+.resnumb .one{
+	color:#1d1d1d;
+	font-size:16px;
+	width:25px;
+	position: absolute;
+	top: 1px;
+}
+.restime{
+	float:right; 
+	color:#999;
+	margin-top:10px;
+	font-size: 14px;
+	margin-right: 5px;
+}
+.reslist{
+	width:100%;
+	height:90px;
+	border-bottom:1px solid #ddd;
+	padding-top:5px;
+}
+.restime span.location{
+	margin: 0px 5px;
+	background: #24C0D7;
+	color: #FFF;
+	font-size: 14px;
+    border:1px solid #24C0D7;
+    border-radius: 3px;
+    padding: 1px 3px;
+}
+.restime span.type{
+	border: 1px solid #ffba00;
+	background:#ffba00;
+	border-radius: 3px;
+	margin: 0px 5px;
+	padding: 1px 3px;
+	color: #fff;
+	font-size: 14px;
+}

+ 327 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/js/dropload.js

@@ -0,0 +1,327 @@
+/**
+ * dropload
+ * 西门(http://ons.me/526.html)
+ * 0.9.1(161205)
+ */
+
+;(function($){
+    'use strict';
+    var win = window;
+    var doc = document;
+    var $win = $(win);
+    var $doc = $(doc);
+    $.fn.dropload = function(options){
+		if(options.scrollArea == window.top){
+			win = window.top;
+			$win = $(win);
+			doc = window.top.document;
+		    $doc = $(doc);
+		}
+        return new MyDropLoad(this, options);
+    };
+    var MyDropLoad = function(element, options){
+        var me = this;
+        me.$element = element;
+        // 上方是否插入DOM
+        me.upInsertDOM = false;
+        // loading状态
+        me.loading = false;
+        // 是否锁定
+        me.isLockUp = false;
+        me.isLockDown = false;
+        // 是否有数据
+        me.isData = true;
+        me._scrollTop = 0;
+        me._threshold = 0;
+        me.init(options);
+    };
+
+    // 初始化
+    MyDropLoad.prototype.init = function(options){
+        var me = this;
+        me.opts = $.extend(true, {}, {
+            scrollArea : me.$element,                                            // 滑动区域
+            domUp : {                                                            // 上方DOM
+                domClass   : 'dropload-up',
+                domRefresh : '<div class="dropload-refresh">↓下拉刷新</div>',
+                domUpdate  : '<div class="dropload-update">↑释放更新</div>',
+                domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>'
+            },
+            domDown : {                                                          // 下方DOM
+                domClass   : 'dropload-down',
+                domRefresh : '<div class="dropload-refresh">↑上拉加载更多</div>',
+                domLoad    : '<div class="dropload-load"><span class="loading"></span>加载中...</div>',
+                domNoData  : '<div class="dropload-noData">没有更多了</div>'
+            },
+            autoLoad : true,                                                     // 自动加载
+            distance : 50,                                                       // 拉动距离
+            threshold : '',                                                      // 提前加载距离
+            loadUpFn : '',                                                       // 上方function
+            loadDownFn : ''                                                      // 下方function
+        }, options);
+
+        // 如果加载下方,事先在下方插入DOM
+        if(me.opts.loadDownFn != ''){
+            me.$element.append('<div class="'+me.opts.domDown.domClass+'">'+me.opts.domDown.domRefresh+'</div>');
+            me.$domDown = $('.'+me.opts.domDown.domClass);
+        }
+
+        // 计算提前加载距离
+        if(!!me.$domDown && me.opts.threshold === ''){
+            // 默认滑到加载区2/3处时加载
+            me._threshold = Math.floor(me.$domDown.height()*1/3);
+        }else{
+            me._threshold = me.opts.threshold;
+        }
+
+        // 判断滚动区域
+        if(me.opts.scrollArea == win){
+            me.$scrollArea = $win;
+            // 获取文档高度
+            me._scrollContentHeight = $doc.height();
+            // 获取win显示区高度  —— 这里有坑
+            me._scrollWindowHeight = doc.body.clientHeight;
+			//alert(me._scrollContentHeight+"---"+me._scrollWindowHeight)
+        }else{
+            me.$scrollArea = me.opts.scrollArea;
+            me._scrollContentHeight = me.$element[0].scrollHeight;
+            me._scrollWindowHeight = me.$element.height();
+        }
+        fnAutoLoad(me);
+
+        // 窗口调整
+        $win.on('resize',function(){
+			return;
+            clearTimeout(me.timer);
+            me.timer = setTimeout(function(){
+                if(me.opts.scrollArea == win){
+                // 重新获取win显示区高度
+                me._scrollWindowHeight = win.innerHeight;
+                }else{
+                    me._scrollWindowHeight = me.$element.height();
+                }
+                fnAutoLoad(me);
+            },150);
+            
+        });
+
+        // 绑定触摸
+        me.$element.on('touchstart',function(e){
+            if(!me.loading){
+                fnTouches(e);
+                fnTouchstart(e, me);
+            }
+        });
+        me.$element.on('touchmove',function(e){
+            if(!me.loading){
+                fnTouches(e, me);
+                fnTouchmove(e, me);
+            }
+        });
+        me.$element.on('touchend',function(){
+            if(!me.loading){
+                fnTouchend(me);
+            }
+        });
+
+        // 加载下方
+        me.$scrollArea.on('scroll',function(){
+			if(typeof(window.top.scrollTop) != "undefined"){
+				window.top.scrollTop = $(this).scrollTop();
+			}
+            me._scrollTop = me.$scrollArea.scrollTop();
+
+            // 滚动页面触发加载数据
+			//alert(me._scrollContentHeight +"--"+ me._threshold+"--"+me._scrollWindowHeight +"--"+ me._scrollTop)
+            if(me.opts.loadDownFn != '' && !me.loading && !me.isLockDown && (me._scrollContentHeight - me._threshold) <= (me._scrollWindowHeight + me._scrollTop)){
+                loadDown(me);
+            }
+        });
+    };
+
+    // touches
+    function fnTouches(e){
+        if(!e.touches){
+            e.touches = e.originalEvent.touches;
+        }
+    }
+
+    // touchstart
+    function fnTouchstart(e, me){
+        me._startY = e.touches[0].pageY;
+        // 记住触摸时的scrolltop值
+        me.touchScrollTop = me.$scrollArea.scrollTop();
+    }
+
+    // touchmove
+    function fnTouchmove(e, me){
+        me._curY = e.touches[0].pageY;
+        me._moveY = me._curY - me._startY;
+
+        if(me._moveY > 0){
+            me.direction = 'down';
+        }else if(me._moveY < 0){
+            me.direction = 'up';
+        }
+
+        var _absMoveY = Math.abs(me._moveY);
+
+        // 加载上方
+        if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
+            e.preventDefault();
+
+            me.$domUp = $('.'+me.opts.domUp.domClass);
+            // 如果加载区没有DOM
+            if(!me.upInsertDOM){
+                me.$element.prepend('<div class="'+me.opts.domUp.domClass+'"></div>');
+                me.upInsertDOM = true;
+            }
+            
+            fnTransition(me.$domUp,0);
+
+            // 下拉
+            if(_absMoveY <= me.opts.distance){
+                me._offsetY = _absMoveY;
+                // todo:move时会不断清空、增加dom,有可能影响性能,下同
+                me.$domUp.html(me.opts.domUp.domRefresh);
+            // 指定距离 < 下拉距离 < 指定距离*2
+            }else if(_absMoveY > me.opts.distance && _absMoveY <= me.opts.distance*2){
+                me._offsetY = me.opts.distance+(_absMoveY-me.opts.distance)*0.5;
+                me.$domUp.html(me.opts.domUp.domUpdate);
+            // 下拉距离 > 指定距离*2
+            }else{
+                me._offsetY = me.opts.distance+me.opts.distance*0.5+(_absMoveY-me.opts.distance*2)*0.2;
+            }
+
+            me.$domUp.css({'height': me._offsetY});
+        }
+    }
+
+    // touchend
+    function fnTouchend(me){
+        var _absMoveY = Math.abs(me._moveY);
+        if(me.opts.loadUpFn != '' && me.touchScrollTop <= 0 && me.direction == 'down' && !me.isLockUp){
+            fnTransition(me.$domUp,300);
+
+            if(_absMoveY > me.opts.distance){
+                me.$domUp.css({'height':me.$domUp.children().height()});
+                me.$domUp.html(me.opts.domUp.domLoad);
+                me.loading = true;
+                me.opts.loadUpFn(me);
+            }else{
+                me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
+                    me.upInsertDOM = false;
+                    $(this).remove();
+                });
+            }
+            me._moveY = 0;
+        }
+    }
+
+    // 如果文档高度不大于窗口高度,数据较少,自动加载下方数据
+    function fnAutoLoad(me){
+        if(me.opts.loadDownFn != '' && me.opts.autoLoad){
+			//alert(me._scrollContentHeight +"----"+  me._threshold+"----"+ me._scrollWindowHeight)
+            if((me._scrollContentHeight - me._threshold) <= me._scrollWindowHeight){
+                loadDown(me);
+            }
+        }
+    }
+
+    // 重新获取文档高度
+    function fnRecoverContentHeight(me){
+        if(me.opts.scrollArea == win){
+            me._scrollContentHeight = $doc.height();
+			//alert(me._scrollContentHeight +"----"+  me._threshold+"----"+ me._scrollWindowHeight)
+        }else{
+            me._scrollContentHeight = me.$element[0].scrollHeight;
+        }
+    }
+
+    // 加载下方
+    function loadDown(me){
+        me.direction = 'up';
+        me.$domDown.html(me.opts.domDown.domLoad);
+        me.loading = true;
+        me.opts.loadDownFn(me);
+    }
+
+    // 锁定
+    MyDropLoad.prototype.lock = function(direction){
+        var me = this;
+        // 如果不指定方向
+        if(direction === undefined){
+            // 如果操作方向向上
+            if(me.direction == 'up'){
+                me.isLockDown = true;
+            // 如果操作方向向下
+            }else if(me.direction == 'down'){
+                me.isLockUp = true;
+            }else{
+                me.isLockUp = true;
+                me.isLockDown = true;
+            }
+        // 如果指定锁上方
+        }else if(direction == 'up'){
+            me.isLockUp = true;
+        // 如果指定锁下方
+        }else if(direction == 'down'){
+            me.isLockDown = true;
+            // 为了解决DEMO5中tab效果bug,因为滑动到下面,再滑上去点tab,direction=down,所以有bug
+            me.direction = 'up';
+        }
+    };
+
+    // 解锁
+    MyDropLoad.prototype.unlock = function(){
+        var me = this;
+        // 简单粗暴解锁
+        me.isLockUp = false;
+        me.isLockDown = false;
+        // 为了解决DEMO5中tab效果bug,因为滑动到下面,再滑上去点tab,direction=down,所以有bug
+        me.direction = 'up';
+    };
+
+    // 无数据
+    MyDropLoad.prototype.noData = function(flag){
+        var me = this;
+        if(flag === undefined || flag == true){
+            me.isData = false;
+        }else if(flag == false){
+            me.isData = true;
+        }
+    };
+
+    // 重置
+    MyDropLoad.prototype.resetload = function(){
+        var me = this;
+        if(me.direction == 'down' && me.upInsertDOM){
+            me.$domUp.css({'height':'0'}).on('webkitTransitionEnd mozTransitionEnd transitionend',function(){
+                me.loading = false;
+                me.upInsertDOM = false;
+                $(this).remove();
+                fnRecoverContentHeight(me);
+            });
+        }else if(me.direction == 'up'){
+            me.loading = false;
+            // 如果有数据
+            if(me.isData){
+                // 加载区修改样式
+                me.$domDown.html(me.opts.domDown.domRefresh);
+                fnRecoverContentHeight(me);
+                fnAutoLoad(me);
+            }else{
+                // 如果没数据
+                me.$domDown.html(me.opts.domDown.domNoData);
+            }
+        }
+    };
+
+    // css过渡
+    function fnTransition(dom,num){
+        dom.css({
+            '-webkit-transition':'all '+num+'ms',
+            'transition':'all '+num+'ms'
+        });
+    }
+})(window.Zepto || window.jQuery);

+ 26 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/jquery.resize.js

@@ -0,0 +1,26 @@
+jQuery.event.special.resizeblock = {
+	setup: function(data, namespaces) {
+		var elem = this;
+		var handler = jQuery.proxy(jQuery.event.special.resizeblock.handler, elem);
+		jQuery(elem).data('handler', elem);
+		var ifr = $('<iframe style="position: absolute; top:0; left:0; width:100%; height:100%; border:0; margin:0; padding:0; z-index: -100;" />');
+		jQuery(elem).append(ifr);
+		jQuery(elem).data('resize_frame', ifr);
+		var wnd = $(ifr).get(0).contentWindow;
+		jQuery(wnd).on  ('resize', handler);
+	},
+	teardown: function(namespaces) {
+		var elem = this;
+		var handler = jQuery(elem).data('handler');
+		var ifr = jQuery(elem).data('resize_frame');
+		var wnd = $(ifr).get(0).contentWindow;
+		jQuery(wnd).off ('resize', handler);
+		jQuery(elem).remove(ifr);
+		jQuery(elem).data('resize_frame', null);
+		jQuery(elem).data('handler', null);
+	},
+	handler: function(event) {
+		var elem = this;
+		jQuery(elem).triggerHandler('resizeblock');
+	}
+}

+ 369 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/search.js

@@ -0,0 +1,369 @@
+$(function(){
+	
+	var winWidth=$(window).width();
+	var winHeight=$(window).height();
+	$(".point img:first").css("width",winWidth*0.8+"px");
+	$(".pointclose").css("width",winWidth*0.21+"px");
+	////
+	$(".q-mark").click(function(){
+		$(".point").removeClass("hidden");
+	});
+	$(".q-marklist").click(function(){
+		$(".pointlist").removeClass("hidden");
+	});
+	$(".pointclose").click(function(){
+		lifirst = false;
+		$(".point").addClass("hidden");
+	});
+	$(".pointcloselist").click(function(){
+		window.top.lifirst = false;
+		$(".pointlist").addClass("hidden");
+	});
+	//
+	$(".shaixpt").click(function(){
+		$(".jypt-dialog").removeClass("hidden");
+		$(".jydq-dialog,.jytype-dialog").addClass("hidden");
+		$(".shaixpt").addClass("shaixcl");
+		$(".shaixtwo,.shaixone").removeClass("shaixcl");
+		$(".shaixpt img").attr("src","/images/wx/jyxiazh.png")
+		$(".shaixone img,.shaixtwo img").attr("src","/images/wx/jyxia.png");
+		try{
+			adjustIframeHeight(1);
+		}catch(e){}
+	});
+	$(".shaixone").click(function(){
+		$(".jydq-dialog").removeClass("hidden");
+		$(".jypt-dialog,.jytype-dialog").addClass("hidden");
+		$(".shaixone").addClass("shaixcl");
+		$(".shaixpt,.shaixtwo").removeClass("shaixcl");
+		$(".shaixone img").attr("src","/images/wx/jyxiazh.png");
+		$(".shaixpt img,.shaixtwo img").attr("src","/images/wx/jyxia.png");
+		try{
+			adjustIframeHeight(0);
+		}catch(e){}
+	});
+	$(".shaixtwo").click(function(){
+		if(window.top.lipost == "F"){
+			//$.post("/front/lifirst","","")
+			window.top.lipost = "T"
+		}
+		if(window.top.lifirst){
+			$(".idpoint").removeClass("hidden");
+		}
+		$(".newest").removeClass("hidden");
+		$(".point").removeClass("idpoint");
+		$(".pointlist").removeClass("idpoint");
+		$(".jytype-dialog").removeClass("hidden");
+		$(".jypt-dialog,.jydq-dialog").addClass("hidden");
+		$(".shaixtwo").addClass("shaixcl");
+		$(".shaixpt,.shaixone").removeClass("shaixcl");
+		$(".shaixpt img,.shaixone img").attr("src","/images/wx/jyxia.png");
+		$(".shaixtwo img").attr("src","/images/wx/jyxiazh.png");
+		try{
+			adjustIframeHeight(0);
+		}catch(e){}
+	});
+		
+	var dialogObj = $(".contentone");
+	dialogObj.find(".btn").click(function(){
+		if($(this).parent().index() == 0){
+			dialogObj.find('div[id="dqbtn"]').removeClass("active");
+			dialogObj.find(".btn").removeClass("active");
+		}else{
+			dialogObj.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");
+		};
+		if(dialogObj.find(".btn.active").length == 0){
+			dialogObj.find("ul:first li:first .btn").addClass("active");
+		};
+	});
+	dialogObj.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");
+			dialogObj.find("ul:first li:first .btn").removeClass("active");
+		};
+		if(dialogObj.find(".btn.active").length == 0){
+			dialogObj.find("ul:first li:first .btn").addClass("active");
+		};
+	});
+	
+	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(){
+		//$(".point").addClass("hidden");
+		$(".searchname [name='searchvalue']").val("");
+		$(".searchname [name='area']").val("");
+		$(".searchname [name='scope']").val("");
+		dialogObj.find(".btn").removeClass("active");
+		dialogObj.find('div[id="dqbtn"]').removeClass("active");
+		dialogObjtwo.find(".btn").removeClass("active");
+		dialogObjtwo.find('div[id="dqbtn"]').removeClass("active");
+		if(dialogObj.find(".btn.active").length == 0){
+			dialogObj.find("ul:first li:first .btn").addClass("active");
+		};
+		if(dialogObjtwo.find(".btn.active").length == 0){
+			dialogObjtwo.find("ul:first li:first .btn").addClass("active");
+		};
+		$(".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,"+"));
+	}
+	////////////////////////列表页面过滤条件//////////////////////////////
+	$(".sl-jyshxbottom").find(".jydqsure").click(function(){
+		var sn = $("#searchlist").contents().find(".searchname").val();
+		listf.window.processVal(sn);
+		listf.window.beforeSubmit();
+	});
+	$(".sl-jyshxbottom").find(".jydqreset").click(function(){
+		$("#searchlist").contents().find(".searchname [name='searchvalue']").val("");
+		$("#searchlist").contents().find(".searchname [name='area']").val("");
+		$("#searchlist").contents().find(".searchname [name='scope']").val("");
+		var dObj = $("#searchlist").contents().find(".contentone");
+		var dObjTwo = $("#searchlist").contents().find(".contenttwo");
+		dObj.find(".btn").removeClass("active");
+		dObj.find('div[id="dqbtn"]').removeClass("active");
+		dObjTwo.find(".btn").removeClass("active");
+		dObjTwo.find('div[id="dqbtn"]').removeClass("active");
+		if(dObj.find(".btn.active").length == 0){
+			dObj.find("ul:first li:first .btn").addClass("active");
+		};
+		if(dObjTwo.find(".btn.active").length == 0){
+			dObjTwo.find("ul:first li:first .btn").addClass("active");
+		};
+		var dObjThree = $("#searchlist").contents().find(".jypt-dialog");
+		dObjThree.find(".jypt-timeinputs").removeClass("jypt-timeinputs-active");
+		dObjThree.find(".jypt-pt>button").removeClass("jypt-active");
+		dObjThree.find(".jypt-pt>button:first").addClass("jypt-active");
+	});
+	//
+	$(".jypt-pt button").click(function(){
+		var thisIndex = $(".jypt-pt .jypt-active").index();
+		$(".jypt-pt .jypt-active").removeClass("jypt-active");
+		if(thisIndex == $(this).index()){
+			$(this).removeClass("jypt-active");
+		}else{
+			$(this).addClass("jypt-active");
+		}
+		if($(".jypt-pt .jypt-active").length == 0){
+			$(".jypt-pt>button:first").addClass("jypt-active");
+		}
+		$(".jypt-timeinputs").removeClass("jypt-timeinputs-active");
+	});
+	$(".jypt-fg").click(function(){
+		$(".jypt-pt .jypt-active").removeClass("jypt-active");
+		$(".jypt-timeinputs").toggleClass("jypt-timeinputs-active");
+		if(!$(".jypt-timeinputs").hasClass("jypt-timeinputs-active")){
+			$(".jypt-pt>button:first").addClass("jypt-active");
+		}
+	});
+	$("#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]
+}

+ 100 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/share.js

@@ -0,0 +1,100 @@
+function initShare(signature,openid,isentry,activecode,nickname,avatar,id){
+	var myloc = window.location.host;
+	myloc="https://"+myloc;
+	activecode=activecode||""
+	if(typeof(openid) == "undefined" || openid == null || openid == ""){
+		openid = "-1";
+	}
+	if(typeof(signature) != "undefined" && signature != null && signature.length == 4){
+		wx.config({
+		    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
+		    appId: signature[0], // 必填,公众号的唯一标识
+		    timestamp:signature[1], // 必填,生成签名的时间戳
+		    nonceStr: signature[2], // 必填,生成签名的随机串
+		    signature: signature[3],// 必填,签名,见附录1
+		    jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
+		});
+		var title="第一时间精准推送招标信息,就在剑鱼招标订阅";
+		var title1="第一时间精准推送招标信息,就在剑鱼招标订阅";
+		var link=myloc+"/swordfish/shareabout/"+openid+"__"+activecode;
+		var desc="关注微信并设置剑鱼关键词,全国招标信息统统推送给您!";
+		var url = "/wxswordfish/images/small_log.jpg";
+		var encryptid = "";
+		var subhref = window.location.href;
+		if(id !=undefined){
+			$.ajax({
+		        type:'post',
+		        url:'/share/encrypt',
+		        data:{id:id},
+		        cache:false,
+		        dataType:'json', 
+		        success:function(data){
+					if(data.flag == "T"){
+						encryptid = data.sid_openid;
+						var add1 = subhref.substring(0,subhref.indexOf("/content/"));
+						var add2 = subhref.substring(subhref.indexOf(".html"));
+						subhref = add1 +"/content/"+ encryptid + add2;
+					}
+		        }
+		    });
+		}
+		wx.ready(function () {
+			if (isentry==1){
+				desc=$(".info .title").text();
+				if(encryptid == ""){
+					link = window.location.href+"&openid="+encodeURIComponent(openid);
+				}else{
+					link = subhref;
+				}
+				
+				if (desc == "" && pcname!=""){
+					desc = pcname;
+				}
+				title1=desc;
+			}else if (isentry==2){
+				if(nickname!=""){
+					desc = '您的朋友'+nickname+'向您推荐了剑鱼招标订阅!';
+				}
+				if(avatar!=""){
+					url = avatar;
+				}
+			}else if (isentry == 3){
+				var id = nickname;
+				if (pcname!=""){
+					desc = pcname;
+					link=myloc+"/follow/shareFW/"+id+"__"+pcname+"__"+openid;
+				}
+				title1=desc;
+			}
+	        wx.onMenuShareTimeline({
+			    title: title1, // 分享标题
+			    link: link, // 分享链接
+			    imgUrl: myloc+'/wxswordfish/images/small_log.jpg', // 分享图标
+			    success: function () { 
+			       //alert('分享成功');
+			    },
+			    cancel: function () {
+			       //alert('分享失败,或用户取消了');
+			    }
+			});
+			wx.onMenuShareAppMessage({
+			    title: title, // 分享标题
+			    desc: desc, // 分享描述
+			    link: link, // 分享链接
+			    imgUrl: myloc+url, // 分享图标
+			    type: 'link', // 分享类型,music、video或link,不填默认为link'
+			    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
+			    success: function () {
+			        //alert('分享成功');
+			    },
+			    cancel: function () {
+					//alert('分享失败,或用户取消了');
+			    }
+			});
+	    });
+		wx.error(function(res){
+		    // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
+			//alert("error auth");
+		});
+	}
+}

+ 1385 - 0
src/jfw/modules/entsesearch/src/web/staticres/jylab/entsesearch/wxswordfish/style.css

@@ -0,0 +1,1385 @@
+@import url(/css/common.css);
+/**************/
+.operation{
+	margin-bottom: 20px;
+}
+.operation>.parent-node{
+	background-color: #F8F8F8;
+	width: 100%;
+	height: 45px;
+	line-height: 45px;
+	border-bottom: 1px solid #CCCCCC;
+	position: relative;
+	font-size: 16px;
+}
+.parent-node-view{
+	width: 100%;
+	height: 50px;
+	line-height: 50px;
+	font-size: 16px;
+	text-align:center;
+}
+.operation>.parent-node>img{
+	margin-left: 15px;
+	margin-right: 10px;
+	width: 18px;
+	height: 18px;
+}
+.operation>.parent-node>span img{
+	position: absolute;
+	top: 40%;
+	left: 50%;
+}
+.operation>.parent-node>span{
+	display: block;
+	width: 60px;
+	height: 40px;
+	margin-top: -17px;
+	right: 10px;
+	position: absolute;
+	top: 50%;
+}
+.operation>.parent-node:last-child>span{
+	margin-top: -23px;
+}
+.operation>.parent-node>.on-off{
+	background-image: url("/wxswordfish/images/off.png");
+	background-size: 100% 100%;
+}
+
+.rule-content div{
+	height:30px;
+}
+.operation .on-off.open{
+	background-image: url("/wxswordfish/images/on.png");
+	right: 3px;
+	width: 62px;
+}
+.operation .btn-right img{
+	width: 15px;
+	height: 22px;
+	margin-top: -8.5px;
+	margin-left: -5px;
+}
+.operation .child-node{
+	padding: 0px 15px;
+	display: none;
+}
+.operation .child-node li{
+	border-bottom: 1px solid #ddd;
+	padding: 15px 10px;
+}
+
+.operation .child-node img{
+	width: 8px;
+	height: 15px;
+	float: right;
+	margin-right: 20px;
+	margin-top: 4px;
+}
+.operation .child-node li>div:first-child{
+	
+}
+.operation .child-node .com-last{
+	font-size: 15px;
+    padding-top: 15px;
+	color: #999;
+	margin-left: 38px;
+	margin-right: 20px;
+	line-height: 22px;
+}
+.operation .child-node .jycom-last{
+	font-size: 15px;
+    padding-top: 18px;
+	color: #686868;
+	margin-left: 38px;
+}
+/*弹出框*/
+.dialog{
+	position: absolute;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	top: 0px;
+	background-color: rgba(0,0,1,.5);
+	display: none;
+	z-index: 99999;
+}
+.dialog-main{
+	position: absolute;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	background-color: #ffffff;
+}
+.dialog-head{
+	width: 100%;
+	display: table;
+	height: 50px;
+	line-height: 50px;
+	border-bottom: 1px solid #CCCCCC;
+	background-color: #F4F4F9;
+}
+.dialog-head>div{
+	display: table-cell;
+	padding-left: 10px;
+	padding-right: 10px;
+}
+.dialog-head>div:first-child{
+	font-size: 18px;
+	width: 80%;
+}
+.dialog-head>div:first-child>span{
+	font-size: 14px;
+	color: #999;
+	margin-left: 5px;
+}
+.dialog-head>div:last-child{
+	font-size: 16px;
+	text-align: right;
+	color: #2CB7CA;
+	width: 20%;
+}
+.dialog-head>div:last-child>span{
+	padding: 10px 0px 10px 10px;
+}
+.dialog-content{
+	padding: 10px;
+	border-bottom: 1px solid #CCCCCC;
+	overflow-y: auto;
+}
+/*关键字*/
+.keyword-dialog .dialog-content{
+	padding-left: 0px;
+	padding-right: 0px;
+}
+.keyword-dialog .dialog-content>div{
+	display: table;
+	width: 100%;
+	height: 50px;
+	line-height: 50px;
+	margin-bottom: 10px;
+}
+.keyword-dialog .dialog-content>div>*{
+	display: table-cell;
+}
+.keyword-dialog .dialog-content>div>*:first-child{
+	width: 20%;
+	text-align: right;
+}
+.keyword-dialog .dialog-content>div>*:nth-child(2){
+	width: 70%;
+	padding: 0px 10px;
+}
+.keyword-dialog .dialog-content>div>*:nth-child(2)>[type="text"]{
+	width: 100%;
+	height: 90%;
+	font-size: inherit;
+}
+.keyword-dialog .dialog-content>div>*:last-child{
+	width: 10%;
+}
+.keyword-dialog .delete{
+	width: 20px;
+	height: 20px;
+}
+.addKeyWord{
+	padding-left: 10px;
+    width: 160px;
+    height: 45px;
+    font-size: 18px;
+	background-color:#2CB7CA;
+}
+.addKeyWord>.icon{
+	font-size: 25px;
+	position: absolute;
+	left: 10px;
+	top: 0px;
+}
+/***信息范围***/
+.scope-dialog .dialog-content{
+	padding-top: 0px;
+	padding-bottom: 0px;
+}
+.scope-dialog li>div{
+	clear: both;
+}
+.scope-dialog .btn{
+	padding: 5px 10px;
+	background-color: #F0F0F0;
+	color: #333;
+	font-size: 14px;
+	margin-right: 10px;
+	margin-bottom: 10px;
+	width: 69px;
+	float: left;
+	height:34px;
+    border-radius: 3px;
+}
+.scope-dialog .btn.active{
+	background-color: #24C0D7;
+	color: #FFFFFF;
+}
+.scope-dialog li{
+	border-bottom: 1px solid #ddd;
+	padding-top: 10px;
+	float: left;
+	width: 100%;
+}
+.scope-dialog li:last-child{
+	border-bottom-width: 0px;
+}
+.scope-dialog li>div{
+	font-size: 14px;
+	margin-bottom: 10px;
+}
+/**引导页**/
+.swiper-pagination{
+	top: 80px !important;
+	transition: 0ms !important;
+	-webkit-transition: 0ms !important;
+}
+.swiper-pagination-bullet{
+	margin-bottom: 15px !important;
+}
+.swiper-slide{
+	text-align: center;
+	z-index: -1;
+	background: #ffffff;
+	position: absolute !important;
+}
+.swiper-slide-active{
+	z-index: 2;
+}
+.slide-active{
+	z-index: 0;
+}
+.slide-down{
+	z-index: 2;
+	/* Firefox: 
+	-moz-animation-name:slidedown;
+	-moz-animation-duration:0.5s;
+	-moz-animation-timing-function:ease-in;
+	-moz-animation-iteration-count:1;
+	-moz-animation-play-state:running; */
+	/* Safari and Chrome:
+	-webkit-animation-name:slidedown;
+	-webkit-animation-duration:0.5s;
+	-webkit-animation-timing-function:ease-in;
+	-webkit-animation-iteration-count:1;
+	-webkit-animation-play-state:running; */
+	/* Opera:
+	-o-animation-name:slidedown;
+	-o-animation-duration:0.5s;
+	-o-animation-timing-function:ease-in;
+	-o-animation-iteration-count:1;
+	-o-animation-play-state:running;
+	webkit-transform: translateZ(0);
+	-moz-transform: translateZ(0);
+	-ms-transform: translateZ(0);
+	-o-transform: translateZ(0);
+	transform: translateZ(0);*/
+}
+@-webkit-keyframes slidedown {
+	0%{
+		top: -100%;
+	}
+	100% {
+		top: 0px;
+	}
+}
+.slide-up{
+	z-index: 2;
+	/* Firefox: 
+	-moz-animation-name:slideup;
+	-moz-animation-duration:0.5s;
+	-moz-animation-timing-function:ease-in;
+	-moz-animation-iteration-count:1;
+	-moz-animation-play-state:running;*/
+	/* Safari and Chrome: 
+	-webkit-animation-name:slideup;
+	-webkit-animation-duration:0.5s;
+	-webkit-animation-timing-function:ease-in;
+	-webkit-animation-iteration-count:1;
+	-webkit-animation-play-state:running;*/
+	/* Opera: 
+	-o-animation-name:slideup;
+	-o-animation-duration:0.5s;
+	-o-animation-timing-function:ease-in;
+	-o-animation-iteration-count:1;
+	-o-animation-play-state:running;
+	webkit-transform: translateZ(0);
+	-moz-transform: translateZ(0);
+	-ms-transform: translateZ(0);
+	-o-transform: translateZ(0);
+	transform: translateZ(0);*/
+}
+
+@-webkit-keyframes slideup {
+	0%{
+		top: 100%;
+	}
+	100% {
+		top: 0px;
+	}
+}
+.swiper-slide img{
+	/*position: relative;
+	top: 50%;
+	margin-top: -302px;*/
+	width: 100%;
+	height: 100%;
+}
+.swiper-pagination-bullet-active{
+	background-color: #35c5da !important;
+}
+.swiper-pagination-bullet{
+	opacity: .1;
+}
+.guide-bottom{
+	position: absolute;
+	bottom: 10px;
+	text-align: center;
+	width: 100%;
+	z-index: 99999;
+}
+.guide-bottom .arrow-up{
+	width: 30px;
+	height: 20px;
+	animation-name:start;
+	animation-duration:2s;
+	animation-timing-function:ease-in-out;
+	animation-iteration-count:infinite;
+	animation-play-state:running;
+	/* Firefox: */
+	-moz-animation-name:start;
+	-moz-animation-duration:2s;
+	-moz-animation-timing-function:ease-in-out;
+	-moz-animation-iteration-count:infinite;
+	-moz-animation-play-state:running;
+	/* Safari and Chrome: */
+	-webkit-animation-name:start;
+	-webkit-animation-duration:2s;
+	-webkit-animation-timing-function:ease-in-out;
+	-webkit-animation-iteration-count:infinite;
+	-webkit-animation-play-state:running;
+	/* Opera: */
+	-o-animation-name:start;
+	-o-animation-duration:2s;
+	-o-animation-timing-function:ease-in-out;
+	-o-animation-iteration-count:infinite;
+	-o-animation-play-state:running;
+}
+
+@-webkit-keyframes start {
+	0%{
+		opacity:0;
+		margin-bottom: 0px;
+	}
+	60% {
+		opacity:1;
+	}
+	100% {
+		opacity:0;
+		margin-bottom: 40px;
+	}
+}
+@-moz-keyframes start {
+	0%{
+		opacity:0;
+		margin-bottom: 0px;
+	}
+	60% {
+		opacity:1;
+	}
+	100% {
+		opacity:0;
+		margin-bottom: 40px;
+	}
+}
+@keyframes start {
+		0% {
+		opacity:0;
+		margin-bottom: 0px;
+	}
+	60% {
+		opacity:1;
+	}
+	100% {
+		opacity:0;
+		margin-bottom: 40px;
+	}
+}
+.guide-bottom .experience{
+	padding: 4px 8px;
+	margin-bottom: 20px;
+	display: none;
+}
+.guide-bottom .jumpGuide ,.guide-bottom .goToShare{
+	color: #D7D7D7;
+	position: absolute;
+	bottom: 10px;
+	display: block;
+	width: 50px;
+	height: 50px;
+}
+.guide-bottom .jumpGuide{
+	left: 20px;
+}
+.guide-bottom .goToShare{
+	right: 20px;
+}
+.share-dialog{
+	z-index: 10;
+}
+.share-dialog .dialog-content{
+	padding-top: 20px;
+	padding-bottom: 40px;
+}
+/**底部工具**/
+.bottom-toolbar{
+	display: table;
+	position: fixed;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	height: 45px;
+	width: 100%;
+	border-top: 1px solid #CCCCCC;
+	background-color: #F8F8F8;
+	z-index: 9999;
+}
+.bottom-toolbar>li{
+	display: table-cell;
+	width: 33%;
+	height: 45px;
+	line-height: 45px;
+	text-align: center;
+}
+.bottom-toolbar>li:first-child img{
+	width: 15px;
+    height: 15px;
+    margin-bottom: 2px;
+}
+.bottom-toolbar>li:nth-child(2) img{
+	width: 16px;
+    height: 16px;
+    margin-bottom: 2px;
+	margin-right: 2px;
+}
+.bottom-toolbar>li:last-child img{
+	width: 14px;
+    height: 14px;
+    margin-bottom: 3px;
+	margin-right: 2px;
+}
+.bottom-toolbar>li:nth-child(2){
+	width: 34%;
+	border-left: 1px solid #CCCCCC;
+	border-right: 1px solid #CCCCCC;
+}
+
+.tip{
+	margin:1px;
+	padding:5px;
+	background-color:#FAF5DF;
+	border:1px solid #F5DC9A;
+	opacity: 0.8;
+}
+.tip-button{
+	float: right;
+ 	margin-right: 20px;
+	margin-top:5px;
+}
+.tip-button span{
+	border-radius:2px;
+	display:inline-block;
+	padding:5px 35px;
+	margin-right:10px;
+	border:1px solid #24C0D7;
+	cursor:pointer;
+	color: #24C0D7;
+	background-color: #ffffff;
+}
+.tip-button span:nth-child(2){
+	background-color:#24C0D7;
+	color: #ffffff;
+}
+.visible{
+	display:none;
+}
+.show-days{
+	font-size:10px;
+	display:inline-block;
+	margin-left:2px;
+	color:#999;
+}
+#txt_tip{
+	text-indent:2em;
+	padding:10px;
+}
+/**********滑动css*********/
+.slide {
+	position: relative;
+	overflow: hidden;
+}
+.slide ul {
+	width: 100%;
+	height: 100%;
+	z-index: 1;
+	overflow: hidden;
+	background-size: 320px;
+}
+.slide li {
+	position: absolute;
+	left: 0;
+	top: 0;
+	width: 100%;
+	background: -webkit-radial-gradient(39% 77%,ellipse, #fff, #fff 50%, #edefff 70%);
+	background-size: 130% 120%;
+	-webkit-transition: transform .3s ease-in-out;
+	opacity: 0;
+}
+.slide img{
+	width: 100%;
+	height: 100%;
+}
+.slide-point {
+	position: absolute;
+	top: 10px;
+	right: 10px;
+	display: none;
+	width: 9px;
+	text-align: center;
+	font-size: 0;
+	z-index: 90;
+	-webkit-animation: dis-show 0s ease forwards;
+}
+.slide-point span {
+	margin: 6px auto;
+	width: 8px;
+	height: 8px;
+	border-radius: 100%;
+	background: #000;
+	opacity: .2;
+	display: block;
+	z-index: 100;
+}
+.slide-point span.current {
+	background: #007aff;
+	opacity: 1;
+}
+.no-result{
+	text-align:center;
+	color:#999;
+}
+.toolbar-list{
+	position: relative;
+}
+.toolbar-popover{
+	position: absolute;
+	width: 90px;
+	border: 1px solid #D0D0D0;
+	background-color: #F9FAFA;
+	bottom: 60px;
+	left: 50%;
+	margin-left: -50px;
+	display: none;
+	border-radius: 5px;
+	padding: 4px 2px;
+}
+.popover-ul li{
+	line-height: normal;
+	width: 90px;
+	text-align: center;
+}
+.popover-ul li div{
+	padding: 5px 0px;
+}
+.popover-ul li span{
+	display: block;
+	height: 1px;
+	width: 60px;
+	margin: 3px auto;
+	background-color: #BFBFBF;
+}
+.toolbar-popover .popover-arrow{
+	bottom: -6px;
+	left: 50%;
+	margin-left: -3px;
+	border-bottom-width: 0;
+	border-left-width: 5px;
+	border-right-width: 5px;
+	border-top-width: 6px;
+	position: absolute;
+	border-color: transparent;
+	border-style: solid;
+	border-top-color: #D0D0D0;
+}
+.toolbar-popover .popover-arrow:after{
+	position: absolute;
+	bottom: 1px;
+	margin-left: -5px;
+	content: " ";
+	border-color: transparent;
+	border-top-color: #F9FAFA;
+	border-bottom-width: 0;
+	border-left-width: 5px;
+	border-right-width: 5px;
+	border-top-width: 6px;
+	border-style: solid;
+}
+.popover-ul li.active>div{
+	background-color: #D2D2D2;
+	border-radius: 5px;
+}
+.toolbar-popover-mask{
+	background-color: transparent;
+	position: absolute;
+	left: 0px;
+	right: 0px;
+	top: 0px;
+	bottom: 0px;
+	display: none;
+}
+/*****wxsearch*****/
+
+.wxsearch .tubiao{
+	float:right;
+}
+.wxsearch .tubiao img{
+    width: 32px;
+    display: inline-block;
+    padding-left: 10px;
+/*    border-left: 3px solid #2AB9CA;*/
+	position: absolute;
+	z-index: 10;
+	top: 58px;
+	right: 100px;
+}
+.wxsearch .qc{
+	float:right;
+}
+.wxsearch .qc img{
+    width: 30px;
+    display: inline-block;
+    padding-left: 10px;
+    position: absolute;
+    z-index: 10;
+    top: 58px;
+    right: 127px
+}
+.wxsearch .shaixuan{
+    font-size: 16px;
+	color:#fff;
+	float:right;
+	position: absolute;
+	z-index: 10;
+	top: 57px;
+	right: 45px;
+	height:20px;
+}
+
+.wxsearch .help{
+	float:right;
+}
+.wxsearch .help img{
+	width: 23px;
+    position: absolute;
+    top: 55px;
+    right: 10px
+}
+.wxsearch .searchzhao1,.wxsearch .searchzhong1{
+	margin-top: 10px;
+	margin-bottom: 10px;
+	cursor:hand;
+	display: inline-block;
+	vertical-align: top;
+}
+
+.wxsearch .searchzhao1 img,.wxsearch .searchzhong1 img{
+	height:25px;
+	
+}
+.wxsearch .searchzhao2,.wxsearch .searchzhong2{
+	margin:0px 5px;
+	display: inline-block;
+	margin-bottom: 10px;
+	vertical-align: top;
+	margin-top: 13px;
+}
+.wxsearch .searchzhao3,.wxsearch .searchzhong3{
+	display: inline-block;
+	margin-bottom: 10px;
+	margin-top: 13px;
+	word-wrap: break-word;
+	word-break: break-all;
+	white-space: normal !important;
+	margin-left: -5px;
+	vertical-align: top;
+}
+.wxsearch .searchzhao3 span , .wxsearch .searchzhong3 span{
+	float:left;
+	
+}
+.wxsearch .rsssetbtn{
+	border:1px solid #37c6da; 
+	background-color:#37c6da;
+	height:38px; 
+	width:100%; 
+	line-height:38px;
+	vertical-align: middle;
+	border-radius: 4px;
+	font-size:15px;
+	color:#fff;
+}
+.wxsearch #myorder{
+	width:100%; 
+	margin-top:40px;
+	padding:0px 30px;
+}
+.wxsearch .searchshow{
+	border-top:1px solid #e5e6e9;
+	padding:0px 20px 10px 20px;
+}
+.wxsearch .wx-xhx{
+	border-top:1px solid #e5e6e9; 
+	width:100%;
+}
+.wxsearch .searchbs{
+	cursor:hand;
+	border-bottom:1px solid #e5e6e9; 
+}
+.wxsearch .parent-node img {
+	vertical-align: sub !important;
+}
+.wxsearch .kongbai{
+	height:149px;
+}
+.wxsearch .search-content{
+	float: left;
+	width: 100%;
+	margin-top: -20px;
+}
+.wxsearch .search-content .search-block{
+	padding-left:15px;
+	clear:both;
+}
+.wxsearch .search-content .search-block .title{
+	border-bottom:1px solid #E6E6E6;
+	height:60px;
+	line-height:60px;
+	color:#1d1d1d;
+	font-size: 17px;
+}
+.wxsearch .search-content .search-block .title img{
+	height:26px;
+	margin-right:10px;
+}
+.wxsearch .search-content .search-block div.list{
+	padding-right:15px;
+}
+.wxsearch .search-content .search-block  li{
+	word-break: break-all;
+    overflow: hidden;
+	display:block;
+	border-bottom:1px solid #E6E6E6;
+	height:52px;
+	line-height:50px;
+	width:100%;
+	clear:both;
+	color:#1d1d1d;
+}
+.wxsearch .jyshaxuan{
+	border-top:1px solid #ccc;
+	border-bottom:1px solid #ccc; 
+	width:100%;
+	height:50px;
+	margin:-10px 0px 0px;
+	display:block;
+	background-color: #F4F4F9;
+}
+.wxsearch .jyshaxuan .jyshug{
+	border-right:1px solid #ccc;
+	color:#2cb7ca;
+	line-height:30px;
+	height:30px;
+	margin-top:10px;
+}
+.wxsearch .jyshaxuan li>img{
+    width: 16px;
+    padding-bottom: 6px;
+    margin-left: 4px;
+}
+.wxsearch .shaixpt,.wxsearch .shaixtwo,.wxsearch .shaixone{
+	width: 33%;
+    line-height: 50px;
+    height: 48px;
+}
+.wxsearch .shaixcl{
+	color:#2cb7ca;
+	border-bottom:3px solid #2cb7ca;
+}
+.wxsearch .jydq-dialog .btn,.wxsearch .jytype-dialog .btn {
+    padding: 5px 10px;
+    background-color: #F4F4F9;
+    color: #1d1d1d;
+    font-size: 14px;
+    margin-right: 10px;
+    margin-bottom: 12px;
+    width: 69px;
+    float: left;
+    border-radius: 3px;
+	height: 34px;
+}
+.wxsearch .jydq-dialog li,.wxsearch .jytype-dialog li  {
+    border-bottom: 1px solid #d9d6d6;
+    padding: 18px 0px 16px;
+    float: left;
+    width: 100%;
+}
+.wxsearch .jydq-dialog li>div ,.wxsearch .jytype-dialog li>div {
+    font-size: 14px;
+    margin-bottom: 10px;
+	clear:both;
+}
+.wxsearch .jyshxbottom{
+	border-top:1px solid #ccc;
+	width:100%;
+	height:45px;
+	display:block;
+	line-height:45px;
+    position: fixed;
+    left: 0px;
+    right: 0px;
+    bottom: 0px;
+    z-index: 999;
+}
+.wxsearch .jyshxbottom li{
+	width:50%;
+	font-size:18px;
+}
+.wxsearch .jyshxbottom .jydqsure{
+	background-color:#2cb7ca;
+	color:#fff;
+}
+.wxsearch .jyshxbottom .jydqreset{
+	background-color:#f0f9fa;
+	color:#2cb7ca;
+}
+.wxsearch .jydq-dialog .btn.active {
+    background-color: #24C0D7;
+    color: #FFFFFF;
+}
+.wxsearch .jytype-dialog .btn.active {
+    background-color: #24C0D7;
+    color: #FFFFFF;
+}
+.wxsearch .jydq-dialog #dqbtn.active {
+    background-color: #24C0D7;
+    color: #FFFFFF;
+}
+.wxsearch .jytype-dialog #dqbtn.active {
+    background-color: #24C0D7;
+    color: #FFFFFF;
+}
+.dialog-content #subdqbtn.active {
+    background-color: #24C0D7;
+    color: #FFFFFF;
+}
+#dqbtn{
+	padding: 7px 10px;
+    background-color: #F4F4F9;
+    color: #1d1d1d;
+    font-size: 15px;
+    margin-right: 10px;
+    margin-bottom: 14px;
+	height:36px;
+    border-radius: 3px;
+	font-weight: 600;
+}
+.jytype-dialog,.jydq-dialog{
+	margin-bottom: 30px;
+}
+.jy_rssetbj{
+	background-image: url("/images/wx/jysubcribe.png");
+	background-size:100% 100%;
+	height:135px;
+	width:100%;
+}
+.jy_rssetkw{
+	border-radius: 5px;
+    margin-top: -10px;
+    background-color: #fff;
+    box-shadow: 0 0 13px rgba(85, 85, 85,0.15);
+}
+.jy_rssetsc,.jy_pushmode{
+	border-radius: 5px;
+    margin-top: 10px;
+    background-color: #fff;
+    box-shadow: 0 0 13px rgba(85, 85, 85,0.15);
+}
+.jy_rssetvw{
+	border-radius: 5px;
+    margin-top: 10px;
+    background-color: #fff;
+    box-shadow: 0 0 13px rgba(85, 85, 85,0.15);
+}
+.dialog-por{
+	margin:10px;
+	padding:10px 15px;
+	background-color:#fffaf1;
+	border: 1px solid #ffba00;
+}
+/*jyabout*/
+
+.jyabout .jy-baseinfo{
+	background-color:#16DAFF;
+	width:100%;
+	padding:50px 20px 15px;
+	text-align:center;
+}
+.jyabout .jy-d{
+	color:#fff;
+	font-size:18px;
+	font-family: 微软雅黑;
+}
+.jyabout .jy-dayno{
+	float:left;
+	text-align:center;
+	color:#0069d2;
+    font-size: 75px;
+}
+.jyabout .jy-daysuf{
+	float:left;
+	text-align:left;
+	color:#0069d2;
+    font-weight: bold;
+	padding:5px;
+	line-height: 20px;
+	font-size:18px;
+	font-family: 微软雅黑;    
+	margin-top: 39px;
+}
+.jyabout .jy-daycont{
+	margin:5px auto 0px;
+	border-bottom:1px solid #0069d2;    
+	padding-bottom: 10px;
+}
+.jyabout .jy-from{
+	color:#fff;
+	font-size:18px;
+	margin:30px 0px -10px;
+	font-family: 微软雅黑;
+}
+.jyabout .jy-fromgovsuf,.jy-formentsuf{
+    float: left;
+    text-align: left;
+    color: #0069d2;
+    font-weight: bold;
+    padding:5px;
+    line-height: 20px;
+	font-size:18px;
+	font-family: 微软雅黑;    
+	margin-top: 20px;
+}
+.jyabout .jy-fromgov{
+	margin:5px auto 0px;
+	border-bottom:1px solid #0069d2;
+	padding-bottom: 30px;
+}
+.jyabout .jy-fromgovno,.jy-formentno{
+    float: left;
+    text-align: center;
+    color: #0069d2;
+    font-size: 75px;
+}
+.jyabout .jy-fromgovlist{
+	width:100%;
+	text-align:center;
+	color:#fff;
+	font-size:16px;
+	font-family: 微软雅黑;
+}
+.jyabout .jy-orin{
+	border:1px solid #fcff00;
+	padding:8px;
+	margin:30px auto;
+	color:#fcff00;
+	border-radius: 3px;
+    width: 251px;
+    font-size: 17px;
+}
+.jyabout .jy-shangx{
+	color:#fff;
+	padding: 40px 20px;
+}
+.jyabout .jy-first{
+	
+}
+.jyabout .jy-fontone{
+	font-size: 24px;
+    font-weight: bold;
+	font-family: 微软雅黑;
+}
+.jyabout .jy-fonttwo{
+	font-size: 18px;
+	font-family: 微软雅黑;
+}
+.jyabout .jy-tuxiang{
+	position: relative;
+	height:260px;
+	margin-left:10px;
+}
+.jyabout .jy-bg-line{
+	position: absolute;
+	border-right:1px solid #646467;
+	left:45px;
+}
+.jyabout .jy-bg-line li{
+	border-left:1px solid #646467;    
+	width: 45px;
+    height: 180px;
+}
+.jyabout .jy-histogram-x{
+	position: absolute;
+	top: 190px;
+    left: 40px;
+}
+.jyabout .jy-histogram-x li{
+	width: 45px;
+	color:#646467;
+}
+.jyabout .jy-histogram-y{
+	position: absolute;
+	width: 45px;
+	top: 25px;
+	text-align: center;
+}
+.jyabout .jy-histogram-y li{
+	height: 55px;
+	color:#3c3c41;
+	width: 50px;
+}
+.jyabout .jy-histogram-y li>img{
+	width: 20px;
+}
+.jyabout .jy-histogram-content{
+	position: absolute;
+	left:40px;
+	top:0px;
+	width:190px;
+	height:180px;
+}
+.jyabout .jy-histogram-content li{
+	float: left;
+    width: 100%;
+    height: 33%;
+    text-align: center;
+    position: relative;
+}
+.jyabout .jy-histogram-content li>span{
+	position: relative;
+    display: inline-block;
+    width: 100%;
+    height: 26px;
+}
+.jyabout .jy-histogram-content li>span>div{
+	position: absolute;
+    display: block;
+    height: 6px;
+	background-image:url(/images/wx/pc_8.png);
+	background-repeat:no-repeat;
+}
+.jyabout .aOne{
+    top: 33px;
+}
+.jyabout .aTwo{
+    top: 30px;
+}
+.jyabout .aThree{
+    top: 24px;
+}
+.jydiv-bidtoday,.jydiv-bidmonth,.jydiv-push{
+	position: absolute;
+    left: 99%;
+    top: -10px;
+    width: 124px;
+	text-align: left;
+	margin-left:5px;
+	color:#0bdae9;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+	height: 26px;
+}
+.jyabout .jy-tiao{
+	/*float: right;
+    margin-left: 5px;*/
+	font-size:12px;
+}
+.jyabout .jy-fengexian{
+	border:1px solid #646467; 
+	width:120px;
+	margin:15px 0px;
+}
+.jy-websearch-title{
+	margin:30px auto 20px;
+	font-size:18px;
+	font-weight:bold;
+	color:#2cb7ca;
+	letter-spacing: 2px;
+	text-align:center;
+}
+.jyabout .searchname{
+	background-color: #FFFFFF;
+    border: 1px solid #E6E6E6;
+    height: 45px;
+    padding: 2px 35px 2px 20px;
+    border-radius: 37px;
+    font-size: 16px;
+    position: relative;
+    box-shadow: none
+}
+.jyabout .wxhead{
+	margin:10px 20px;
+}
+.jyabout .tubiao{
+	float: right;
+}
+.jyabout .tubiao img {
+    top: 85px;
+    right: 10%;
+    width: 38px;
+    display: inline-block;
+    padding-left: 10px;
+    border-left: 2px solid #ccc;
+    position: absolute;
+    z-index: 10;
+}
+.jyabout .jy-websearch-result{
+	margin:30px;
+	border-top:1px solid #ccc;
+	padding: 30px 10px;
+    color: #000;
+    font-size: 14px;
+}
+.jyabout .jy-advise{
+	width: 200px;
+    margin-right: auto;
+    margin-left: auto;
+    margin-top: 30px;
+}
+.jyabout .jy-advise img{
+	width: 200px;
+}
+.jyabout .jy-N a{
+	color:#0987ff;
+	text-decoration:underline;
+}
+.interaction{
+	text-align: center;
+    margin-bottom: 20px;    
+	padding: 0px 10px;
+}
+.inin{
+	border: 1px solid #ccc;
+    height: 40px;
+    width: 80%;
+    font-size: 15px;
+	padding: 1px 10px;
+	border-radius: 4px 0px 0px 4px;
+}
+.jysub{
+	display: inline-block;
+    height: 40px;
+    background-color: #2cb7ca;
+    color: #fff;
+    width: 18%;
+    line-height: 40px;
+	position: relative;
+	top: 0px;
+	border-radius: 0px 4px 4px 0px;
+}
+.entercom{
+	margin-top:40px;
+}
+.enterspan{
+    display: inline-block;
+    border: 1px solid #27b7ca;
+    padding: 8px 16px;
+    border-radius: 20px;
+	color:#27b7ca;
+	margin-left: 10px;
+	
+}
+.enterspan img{
+	margin-left: 7px;
+    width: 10px;
+    margin-bottom: 4px;
+}
+/*拟建*/
+.prebuilt{
+}
+.prebuilt ul li{
+	border: 1px solid #f0f0f0;
+    padding: 3px 10px;
+    background-color: #F4F4F9;
+    margin-top: 5px;
+	line-height: 24px;
+    border-radius: 4px;
+}
+.pre-title{
+	font-size: 16px;
+    color: #1d1d1d;
+    font-weight: bolder;
+    margin-top: 15px;
+    margin-bottom: 10px;
+    font-family: PingFang-SC-medium;
+}
+.pre-type{
+	color:#686868;
+	font-size:15px;
+    font-family: PingFang-SC-medium;
+}
+.pre-cont{
+	color: #1d1d1d;
+    font-size: 16px;
+    font-family: PingFang-SC-medium;
+}
+.pre-enclosure{
+	border: 1px solid #e1e1e6;
+    padding: 10px;
+    background-color: #F4F4F9;
+    margin-top: 15px;
+    color: #000;
+    border-top-left-radius: 4px;
+    border-top-right-radius: 4px;
+	border-bottom:0px;
+}
+.pre-encont{
+    padding:12px 5px;
+    border-bottom: 1px solid #e1e1e6;
+}
+.pre-encont:last-child{
+	border-bottom: 0px;
+}
+.pre-dow{
+    padding:0px 5px 0px;
+    border: 1px solid #e1e1e6;
+    border-bottom-left-radius: 4px;
+    border-bottom-right-radius: 4px;
+	border-top: 0px;
+}
+.pre-encont a{
+	color: #000;
+    text-decoration: none;
+}
+.pre-encont img{
+	width: 40px;
+    margin-right: 10px;
+}
+.pre-enclosure img{
+	width: 18px;
+    margin-right: 10px;
+}
+.q-mark{
+	width: 20px;
+    margin-top: 7px;
+}
+.q-marklist{
+	width: 20px;
+    margin-top: 7px;
+}
+.newest{
+	background-color: #F53532;
+    width: 10px;
+    height: 10px;
+    position: absolute;
+    right: -3px;
+    top: -3px;
+    border-radius: 10px;
+}
+.point,.pointlist{
+	position: fixed;
+    top: 120px;
+    text-align: center;
+	padding: 20px;
+}
+.point img:nth-child(1),.pointlist img:nth-child(1){
+	width:300px;
+}
+.pointclose,.pointcloselist{
+	position: relative;
+    left: 80px;
+    width: 80px;
+    top: 20px;
+}
+/***发布时间**/
+.jypt-dialog{
+	text-align: center;
+}
+.jypt-dialog .jypt-pt{
+	padding: 20px 0px;
+}
+.jypt-dialog .btn{
+	background-color: #F5F4FA;
+	margin: 3px;
+	color: inherit !important;
+}
+.jypt-dialog .btn.jypt-active{
+	background-color: #24C0D7;
+	color: #fff !important;
+}
+.jypt-dialog [type='text']{
+	border-radius: 0px;
+	width: 130px;
+	line-height: 30px;
+	padding: 0px 0px 0px 5px;
+}
+.jypt-dialog .jypt-timeinputs{
+	background-color: #F5F4FA;
+	padding: 10px;
+	display: inline-block;
+}
+.jypt-dialog .jypt-fg{
+	display: inline-block;
+	height: 34px;
+	vertical-align: top;
+	width: 15px;
+}
+.jypt-dialog .jypt-fg>span{
+	background-color: #CECECE;
+	height: 1px;
+	width: 15px;
+	display: block;
+	position: relative;
+	top: 16px;
+}
+.jypt-dialog .jypt-timeinputs-active{
+	background-color: #2CB7CA;
+}
+.jypt-dialog .jypt-timeinputs-active .jypt-fg>span{
+	background-color: #000;
+}
+.mbsc-ios .dwbc{
+	border-color: #ddd;
+}
+.mbsc-ios .dwb-s .dwb{
+	color: #24C0D7;
+}
+.mbsc-ios .dwbw .dwb2{
+	color: #24C0D7;
+	font-weight: bold;
+}
+.mbsc-ios .title{
+	opacity: 1 !important;
+	color: inherit !important;
+	font-weight: bold !important;
+}
+.mbsc-ios .dwbw{
+	float: left !important;
+}
+.mbsc-ios .dwb-s{
+	float: right !important;
+}

+ 11 - 11
src/jfw/modules/entsesearch/src/web/templates/common/pnc.html

@@ -3,14 +3,14 @@
 <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/jy.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-<link href="/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
-<script src="/js/jquery.js"></script>
-<script src="/js/jquery.cookie.js"></script>
-<script src="/js/bootstrap.min.js"></script>
-<script src="/js/jy.js?v={{Msg "seo" "version"}}"></script>
-<script src="/js/login.js?v={{Msg "seo" "version"}}"></script>
-<script src="/js/common.js?v={{Msg "seo" "version"}}"></script>
-{{Html `<!--[if lt IE 9]><script src="/js/html5shiv.min.js"></script><script src="/js/respond.min.js"></script><![endif]-->`}}
+<link href="/jylab/entsesearch/css/bootstrap.min.css" rel="stylesheet">
+<link href="/jylab/entsesearch/css/bootswatch.min.css" rel="stylesheet">
+<link href="/jylab/entsesearch/css/jy.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+<link href="/jylab/entsesearch/css/common.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+<script src="/jylab/entsesearch/js/jquery.js"></script>
+<script src="/jylab/entsesearch/js/jquery.cookie.js"></script>
+<script src="/jylab/entsesearch/js/bootstrap.min.js"></script>
+<script src="/jylab/entsesearch/js/jy.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jylab/entsesearch/js/login.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jylab/entsesearch/js/common.js?v={{Msg "seo" "version"}}"></script>
+{{Html `<!--[if lt IE 9]><script src="/js/html5shiv.min.js"></script><script src="/jylab/entsesearch/js/respond.min.js"></script><![endif]-->`}}

+ 247 - 102
src/jfw/modules/entsesearch/src/web/templates/weixin/entseSearch.html

@@ -5,9 +5,18 @@
 <meta name="format-detection" content="telephone=no" />
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,initial-scale=1.0" user-scalable="no" />
-<meta name="renderer" content="webkit">
+<meta name="renderer" content="webkit"/>
+<link href="/jylab/entsesearch/wxswordfish/style.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 {{include "/common/pnc.html"}}
+<link href="/jylab/entsesearch/css/wxlist.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
 <script src="/jylab/entsesearch/js/jquery.js"></script>
+<script src="/jylab/entsesearch/mobiscroll/mobiscroll.min.js"></script>
+<script src="/jylab/entsesearch/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jylab/entsesearch/wxswordfish/search.js?v={{Msg "seo" "version"}}"></script>
+<script src="/jylab/entsesearch/wxswordfish/jquery.resize.js"></script>
+<script src="/jylab/entsesearch/js/dropload.js?v={{Msg "seo" "version"}}"></script>
+
 <script src="/jylab/entsesearch/js/rem.js"></script>
 <link rel="stylesheet" href="/jylab/entsesearch/css/reset.css" />
 <style>
@@ -146,15 +155,15 @@
 }
 .bottom_btn{
 	border-top: 1px solid #ccc;
-    width: 100%;
-    height: 45px;
-    display: block;
-    line-height: 45px;
-    position: fixed;
-    left: 0px;
-    right: 0px;
-    bottom: 0px;
-    z-index: 999;
+	width: 100%;
+	height: 45px;
+	display: block;
+	line-height: 45px;
+	position: fixed;
+	left: 0px;
+	right: 0px;
+	bottom: 0px;
+	z-index: 999;
 }
 .bottom_btn ul li{
 	text-align: center;
@@ -216,7 +225,7 @@
 	color: #2cb7ca;
 }
 
-.tip{
+.tip_m{
 	font-size: 14px;
 	padding: 0 .3rem;
 	margin-bottom:70px;
@@ -229,6 +238,10 @@
 	width: 79%;
 }
 
+.active_m{
+	background-color: #24C0D7;
+	color: #FFFFFF;
+}
 </style>
 </head>
 <body>
@@ -237,6 +250,13 @@
 	<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="中标企业名称"/>
+
+	<input type="hidden" name="searchvalue" value="">
+	<input type="hidden" name="money" value="">
+	<input type="hidden" name="money_from" value="">
+	<input type="hidden" name="money_to" value="">
+	<input type="hidden" name="scope" value="">
+
 	<div id="recList" style="display: none"></div>
 	<span class="tubiao"><img src="/jylab/entsesearch/images/wx/jywxjs.png"/></span>
 	<span class="qc"><img src="/jylab/entsesearch/images/wx/jyqingchu.png"/></span>
@@ -248,90 +268,94 @@
 <div id="set_search" class="hidden">
 	<div class="select">
 		<ul>
-			<li>金额<img src="/jylab/entsesearch/images/wx/sys-jt-bottom.png"></li>
+			<li>金额<img src="/jylab/entsesearch/images/wx/sys-jt-bottom2.png"></li>
 			<li class="shuxian"></li>
 			<li>项目地区<img src="/jylab/entsesearch/images/wx/sys-jt-bottom.png"></li>
 		</ul>
 	</div>
-	<div>
-		<div class="money selecter ">
-			<ul>
-				<li><button class="btn active">全部</button></li>
-				<li>价格区间</li>
-				<li class="money-inp">
-					<div class="min-price">
-						<input class="form-control"  placeholder="最低价"/>
-						<span class="min-unit">万元</span>
-						<span class="fgx"></span>
-					</div>
-					<div class="max-price">
-						<input class="form-control"  placeholder="最高价"/>
-						<span class="max-unit">万元</span>
-					</div>
-					
-				</li>
-			</ul>
-		</div>
-		<div class="area selecter hidden">
-			<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 class="wxsearch">
+		<div>
+			<div class="money" style="font-size: 14px;padding:10px;">
+					<ul>
+						<li><button class="btn active_m">全部</button></li>
+						<li>价格区间</li>
+						<li class="money-inp">
+							<div class="min-price">
+								<input class="form-control money-input" id="money_from"  placeholder="最低价" type="number"/>
+								<span class="min-unit">万元</span>
+								<span class="fgx"></span>
+							</div>
+							<div class="max-price">
+								<input class="form-control money-input"  id="money_to" placeholder="最高价" type="number"/>
+								<span class="max-unit">万元</span>
+							</div>
+						</li>
+					</ul>
+				</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>
+					</ul>
+				</div>
+			</div>
 		</div>
-	</div>	
+	</div>
 	<div class="bottom_btn">
 		<ul>
 			<li class="jydqreset reset">重置</li>
@@ -369,33 +393,46 @@
 	</section>
 </div>
 <!--tip-->
-<div class="tip">提示:为了获得更佳的体验,推荐使用电脑浏览器访问剑鱼网站jianyu360.com查看数据表格。</div>
+<div class="tip_m">提示:为了获得更佳的体验,推荐使用电脑浏览器访问剑鱼网站jianyu360.com查看数据表格。</div>
 </body>
 </html>
 <script>
 	$(function () {
         $(".qc").addClass("hidden");
         $(".tubiao").addClass("hidden");
+        $(".jydqsure").css("background","#ccc");
 
+        //选项卡
+        $("#set_search .select ul li:eq(0)").css("color","#2cb7ca");
+        $("#set_search .select ul li:eq(2)").css("color","#888");
+        $(".money").removeClass("hidden");
+        $(".jydq-dialog").addClass("hidden");
+
+        //搜索框
         $("#searchname").on("input propertychange",function(){
             var snqc = $(".searchname").val();
             if(snqc.length > 0){
                 $(".qc").removeClass("hidden");
                 $(".tubiao").removeClass("hidden");
+                $(".jydqsure").css("background","#2cb7ca");
                 getRecList(snqc);
             }else{
                 $(".qc").addClass("hidden");
                 $(".tubiao").addClass("hidden");
+                $(".jydqsure").css("background","#ccc");
             }
         });
 
+        //清除
         $(".qc").click(function(){
             $(".searchname").val("");
             $(".qc").addClass("hidden");
             $(".tubiao").addClass("hidden");
+            $(".jydqsure").css("background","#ccc");
             $(".wxhead").find("[name='searchname']").focus();
         });
 
+        //企业推荐列表
         function getRecList(entName) {
             $("#recList").html("");
             $.post("/jylab/entsesearch/recList",{entName:entName},function(r){
@@ -403,7 +440,7 @@
                     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;
                             if(entName!="" && entName.length>20){
                                 entName = entName.substr(0,20)+"...";
                             }
@@ -428,6 +465,110 @@
         $("body").click(function () {
             $("#recList").hide();
         });
+
+        //金额输入
+        $(".money-input").on("input propertychange",function(){
+            var money_from = $.trim($("#money_from").val());
+            var money_to = $.trim($("#money_to").val());
+            var val = $.trim($(this).val());
+            if(val!="" ||  money_from!="" || money_to!=""){
+                $(".money .btn").removeClass("active_m");
+			}else{
+                $(".money .btn").addClass("active_m");
+			}
+        });
+
+        //金额blur
+        $(".money-input").blur(function(){
+            var money_from = $.trim($("#money_from").val());
+            var money_to = $.trim($("#money_to").val());
+            var from = parseFloat(money_from);
+            var to = parseFloat(money_to);
+            if(from>to){
+                $("#money_from").val(money_to);
+                $("#money_to").val(money_from);
+			}
+        });
+
+        $(".money .btn").click(function () {
+            $(".money .btn").addClass("active_m");
+        });
+
+        //重置
+        $(".jydqreset").click(function () {
+            $(".contentone .active").removeClass("active");
+            $(".contentone").find(".btn").first().addClass("active");
+
+            $(".money .btn").addClass("active_m");
+        });
+
+        //搜索企业项目信息
+        $(".jydqsure").click(function () {
+            formSubmit();
+        });
+
+        $(".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);
+                    }
+                });
+                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";
+
+//			  $("#searchform [name='scope']").val(this.setScope());
+//            $("#searchform [name='money']").val(money);
+//            $("#searchform [name='money_from']").val(money_from);
+//            $("#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);
+                        }
+                    }
+                    shaixuanHide();
+                }
+            });
+		}
     });
 
 	//显示筛选过滤选择
@@ -435,20 +576,26 @@
 		if($("#set_search").attr("class")=="hidden"){
 			$("#set_search").removeClass("hidden");
 			$("#searchList").addClass("hidden");
-			$(".tip").addClass("hidden");
+			$(".tip_m").addClass("hidden");
 		}else{
-			$("#set_search").addClass("hidden");
+            shaixuanHide();
 		}
 	})
+
+	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");
-		$(".area").addClass("hidden");
+        $("#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");
@@ -456,9 +603,7 @@
 		$("#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");
-		$(".area").removeClass("hidden");
+		$(".jydq-dialog").removeClass("hidden");
 	})
-
-
 	
 </script>

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

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

+ 5 - 4
src/jfw/modules/followent/src/web/templates/weixin/list.html

@@ -17,6 +17,7 @@ if(sessionStorage){
 <script src="/jylab/followent/js/common.js?v={{Msg "seo" "version"}}"></script>
 <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
 <script src="/jylab/followent/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
+
 <script type="text/javascript">
 	$(function () {
         {{if .T.datas}}
@@ -33,7 +34,7 @@ if(sessionStorage){
             //时间标志
             tdf = timeDiff(new Date(Number(l_createtime+"000")));
             if (tdf != null){
-                tdf = "<img style='width:15px;position: relative;padding: 2px 4px;' src='/images/wx/jyclock.png'>"+tdf+"</div>";
+                tdf = "<img style='width:15px;position: relative;padding: 2px 4px;' src='/jylab/followent/images/wx/jyclock.png'>"+tdf+"</div>";
             }else{
                 tdf=""
             }
@@ -41,9 +42,9 @@ if(sessionStorage){
             var listno = parseInt(i)+parseInt(1);
             allHtml +="<li data-id='"+data[i]["s_id"]+"' data-winner='"+data[i]["winner"]+"' Sort='"+l_createtime+"'>"
                 +"<div class='jyfwlistno'>"+listno+".</div>"
-                +"<div class='jyfwlisttitle'>"+(data[i]["winner"]?data[i]["winner"]:data[i]["winner"])+"</div>"
+                +"<div class='jyfwlisttitle' style='width:88%;'>"+(data[i]["winner"]?data[i]["winner"]:data[i]["winner"])+"</div>"
                 +"<div style='clear:both;'></div>"+rem
-                +"<img src='/images/wx/d.png' class='arrow-right'>"
+                +"<img src='/jylab/followent/images/wx/d.png' class='arrow-right'>"
                 +"<div class='jytimest'>"
                 +tdf+"</li>";
             jyno = listno;
@@ -74,7 +75,7 @@ if(sessionStorage){
 		<div id="addDiv" style="background-color: #2cb7ca;color: #FFFFFF;line-height:45px;margin-left: 15px;margin-right: 15px;border-radius: 3px;font-size: 18px;">+ 添加关注的企业</div>
 	</div>
 	<div class="tip" style="margin-top: 10px;display: none">
-		<img src="/images/wx/jyprompt.png">剑鱼提示:<front>可关注{{.T.followLimit}}个企业</front>
+		<img src="/jylab/followent/images/wx/jyprompt.png">剑鱼提示:<front>可关注{{.T.followLimit}}个企业</front>
 	</div>
 	{{include "/common/baiducc.html"}}
 </body>

+ 0 - 0
src/jfw/modules/followpush/src/config.json → src/jfw/modules/pushproject/src/config.json


+ 0 - 0
src/jfw/modules/followpush/src/config/config.go → src/jfw/modules/pushproject/src/config/config.go


+ 0 - 0
src/jfw/modules/followpush/src/filterdata/filterdata.go → src/jfw/modules/pushproject/src/filterdata/filterdata.go


+ 0 - 0
src/jfw/modules/followpush/src/followpush/config.json → src/jfw/modules/pushproject/src/followpush/config.json


+ 0 - 0
src/jfw/modules/followpush/src/followpush/datastruct.go → src/jfw/modules/pushproject/src/followpush/datastruct.go


+ 0 - 0
src/jfw/modules/followpush/src/followpush/followpush.go → src/jfw/modules/pushproject/src/followpush/followpush.go


+ 0 - 0
src/jfw/modules/followpush/src/followpush/followpush_test.go → src/jfw/modules/pushproject/src/followpush/followpush_test.go


+ 0 - 0
src/jfw/modules/followpush/src/followpush/push.go → src/jfw/modules/pushproject/src/followpush/push.go


+ 0 - 0
src/jfw/modules/followpush/src/listdb/listdb.go → src/jfw/modules/pushproject/src/listdb/listdb.go


+ 0 - 0
src/jfw/modules/followpush/src/main.go → src/jfw/modules/pushproject/src/main.go


+ 0 - 0
src/jfw/modules/followpush/src/main_test.go → src/jfw/modules/pushproject/src/main_test.go


+ 0 - 0
src/jfw/modules/followpush/src/rpcpush/findData.go → src/jfw/modules/pushproject/src/rpcpush/findData.go


+ 0 - 0
src/jfw/modules/followpush/src/rpcpush/rpcpush.go → src/jfw/modules/pushproject/src/rpcpush/rpcpush.go


+ 0 - 0
src/jfw/modules/followpush/src/timetask/clearredis.go → src/jfw/modules/pushproject/src/timetask/clearredis.go


+ 0 - 0
src/jfw/modules/followpush/src/tools/mongo.go → src/jfw/modules/pushproject/src/tools/mongo.go


+ 0 - 0
src/jfw/modules/followpush/src/tools/tools.go → src/jfw/modules/pushproject/src/tools/tools.go


+ 0 - 0
src/jfw/modules/followpush/src/weixinrpc/weixinrpc.go → src/jfw/modules/pushproject/src/weixinrpc/weixinrpc.go


+ 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)
 }
 
 //快速订阅关键词

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

@@ -0,0 +1,798 @@
+@charset "UTF-8";
+/*主色高亮*/
+/*背景色*/
+/*通白背景*/
+/*辅色*/
+/*分割线*/
+/*关注字体*/
+/*行业小标签*/
+/*报错*/
+/*文字一级文字*/
+/*二级文字*/
+/*文字三级文字*/
+/*文字链接*/
+/*文字高亮*/
+/*白色字体*/
+#searchInner .searchHeader {
+  /*头部*/
+  height: 120px;
+  background-color: #f5f5fb;
+  border-top: 1px solid #e0e0e0;
+}
+
+#searchInner .searchHeader .searchHeader-container {
+  height: inherit;
+  box-sizing: border-box;
+  padding: 24px 0 24px 110px;
+}
+
+#searchInner .searchHeader .searchHeader-container .control-tabBtn {
+  /*整体页面切换tab*/
+  height: 28px;
+}
+
+#searchInner .searchHeader .searchHeader-container .control-tabBtn a {
+  display: inline-block;
+  padding: 7px 13px 7px 32px;
+  font-size: 14px;
+  color: #2CB7CA;
+  background: transparent url("/images/biddingSearch/sea-header-btnImg.png") 12px center no-repeat;
+  background-size: 15px 16px;
+}
+
+#searchInner .searchHeader .searchHeader-container .control-tabBtn a.on {
+  background: #2cb7ca url(/images/biddingSearch/sea-header-btnImg-bai.png) 12px center no-repeat;
+  background-size: 15px 16px;
+  color: #ffffff;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput {
+  /*搜索框*/
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form {
+  float: left;
+  position: relative;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form input[type='search'] {
+  float: left;
+  width: 568px;
+  height: 42px;
+  box-sizing: border-box;
+  padding-left: 58px;
+  background: #fff url("/images/biddingSearch/search-icon1.png") 18px center no-repeat;
+  border: 2px solid #2cb7ca;
+  font-size: 16px;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form input[type='submit'] {
+  float: left;
+  width: 106px;
+  height: 42px;
+  color: #ffffff;
+  background-color: #2cb7ca;
+  text-align: center;
+  font-size: 18px;
+  border: 2px solid #2cb7ca;
+  border-left: none;
+  cursor: pointer;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form .searchSlideText {
+  display: none;
+  z-index: 999;
+  position: absolute;
+  left: 0;
+  top: 42px;
+  width: 674px;
+  height: 220px;
+  overflow-y: scroll;
+  box-sizing: border-box;
+  border: 1px solid #e0e0e0;
+  background-color: #fff;
+  font-size: 16px;
+  color: #252627;
+  box-shadow: 0 2px 6px #e0e0e0;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form .searchSlideText li {
+  height: 40px;
+  line-height: 40px;
+  padding-left: 30px;
+  cursor: pointer;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form .searchSlideText li i {
+  color: #2cb7ca;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput form .searchSlideText li:hover {
+  background-color: #f4f4f7;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .screen {
+  /*筛选*/
+  float: left;
+  padding: 0 30px 0 20px;
+  height: 44px;
+  line-height: 44px;
+  text-align: center;
+  color: #2cb7ca;
+  background: url("/images/biddingSearch/screen-down.png") 58px center no-repeat;
+  cursor: pointer;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .screen.down {
+  background: url("/images/biddingSearch/screen-up.png") 58px center no-repeat;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .superSearch {
+  /*开启超级搜索*/
+  float: left;
+  width: 132px;
+  height: 44px;
+  line-height: 44px;
+  text-align: center;
+  border: 1px solid #e0e0e0;
+  font-size: 14px;
+  color: #252627;
+  padding-left: 22px;
+  box-sizing: border-box;
+  background: #ffffff url(/images/biddingSearch/sea-header-btnImg.png) 16px center no-repeat;
+  background-size: 15px 16px;
+  cursor: pointer;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .superSearch.active {
+  background: #2cb7ca url(/images/biddingSearch/sea-header-btnImg-bai.png) 16px center no-repeat;
+  color: #ffffff;
+  background-size: 15px 16px;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx {
+  float: right;
+  position: relative;
+  z-index: 999;
+}
+
+#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;
+  box-sizing: border-box;
+  border: 1px solid #e0e0e0;
+  margin-top: 26px;
+  font-size: 14px;
+  overflow: hidden;
+}
+
+#searchInner .searchControl .searchTender .industry {
+  /*行业*/
+  border-bottom: 1px dashed #e0e0e0;
+  overflow: hidden;
+  padding: 20px 0;
+  position: relative;
+}
+
+#searchInner .searchControl .searchTender .industry span {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 4px 0;
+}
+
+#searchInner .searchControl .searchTender .industry span.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .industry font {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .industry font.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .industry .diver {
+  float: left;
+  width: 1px;
+  height: 16px;
+  background-color: #e0e0e0;
+  margin: 3px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .industry .parent-node {
+  color: #2cb7ca;
+  margin-right: 11px;
+}
+
+#searchInner .searchControl .searchTender .industry .parent-node.secondActice {
+  background-color: #ffffff;
+  padding: 3px 6px;
+  border: 1px dashed #2cb7ca;
+  color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .industry .industry-content {
+  float: left;
+  width: 1000px;
+}
+
+#searchInner .searchControl .searchTender .industry .stop {
+  position: absolute;
+  right: 4px;
+  top: 23px;
+  padding-right: 15px;
+  color: #686868;
+  background: url("/images/biddingSearch/more.png") right center no-repeat;
+  background-size: 10px 6px;
+  cursor: pointer;
+}
+
+#searchInner .searchControl .searchTender .industry .stop.up {
+  background: url("/images/biddingSearch/moreup.png") right center no-repeat;
+  background-size: 10px 6px;
+}
+
+#searchInner .searchControl .searchTender .leftTitle {
+  float: left;
+  width: 84px;
+  text-align: right;
+  color: #686868;
+  padding: 4px 7px;
+}
+
+#searchInner .searchControl .searchTender .Price {
+  /*价格区间*/
+  padding: 19px 0;
+  border-bottom: 1px dashed #e0e0e0;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content {
+  float: left;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content span {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 45px 4px 0;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content span.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content .PriceInput {
+  float: left;
+/*  margin-top: -2px;*/
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content .PriceInput input[type="text"] {
+  float: left;
+  width: 160px;
+  height: 28px;
+  padding: 0 15px;
+  box-sizing: border-box;
+  border: 1px solid #e0e0e0;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content .PriceInput span {
+  float: left;
+  width: 15px;
+  height: 2px;
+  line-height: 15px;
+  background-color: #000;
+  padding: 0;
+  margin: 12px 6px 0;
+}
+
+#searchInner .searchControl .searchTender .Price .Price-content button {
+  float: left;
+  width: 58px;
+  height: 28px;
+  margin: 0px 0 0 8px;
+  background-color: #2cb7ca;
+  color: #ffffff;
+  cursor: pointer;
+}
+
+#searchInner .searchControl .searchTender .release-time {
+  /*发布时间*/
+  padding: 18px 0 19px;
+  border-bottom: 1px dashed #e0e0e0;
+}
+
+#searchInner .searchControl .searchTender .release-time .timer li {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 4px 0;
+}
+
+#searchInner .searchControl .searchTender .release-time .timer li.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .release-time .timerInput {
+  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"] {
+  float: left;
+  width: 160px;
+  height: 28px;
+  padding: 0 15px;
+  box-sizing: border-box;
+  border: 1px solid #e0e0e0;
+}
+
+#searchInner .searchControl .searchTender .release-time .timerInput span {
+  float: left;
+  width: 15px;
+  height: 2px;
+  line-height: 15px;
+  background-color: #000;
+  padding: 0;
+  margin: 12px 6px 0;
+}
+
+#searchInner .searchControl .searchTender .release-time .timerInput button {
+  float: left;
+  width: 58px;
+  height: 28px;
+  margin: 0 0 0 8px;
+  background-color: #2cb7ca;
+  color: #ffffff;
+  cursor: pointer;
+}
+
+#searchInner .searchControl .searchTender .region {
+  /*项目地区*/
+  padding: 20px 0;
+  border-bottom: 1px dashed #e0e0e0;
+}
+
+#searchInner .searchControl .searchTender .region .region-content {
+  float: left;
+  width: 972px;
+}
+
+#searchInner .searchControl .searchTender .region .region-content span {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 4px 0;
+}
+
+#searchInner .searchControl .searchTender .region .region-content span.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .region .region-content font {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .region .region-content font.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .region .region-content .diver {
+  float: left;
+  width: 1px;
+  height: 16px;
+  background-color: #e0e0e0;
+  margin: 3px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .region .region-content .parent-node {
+  color: #2cb7ca;
+  margin-right: 8px;
+}
+
+#searchInner .searchControl .searchTender .region .region-content .parent-node.secondActice {
+  background-color: #ffffff;
+  padding: 3px 6px;
+  border: 1px dashed #2cb7ca;
+  color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .information {
+  /*信息类型*/
+  padding: 20px 0;
+}
+
+#searchInner .searchControl .searchTender .information .info-content {
+  float: left;
+  width: 972px;
+}
+
+#searchInner .searchControl .searchTender .information .info-content img {
+  float: left;
+  vertical-align: middle;
+  margin-top: 2px;
+  margin-right: 10px;
+  margin-left: 4px;
+}
+
+#searchInner .searchControl .searchTender .information .info-content span {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 4px 0;
+}
+
+#searchInner .searchControl .searchTender .information .info-content span.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .information .info-content font {
+  float: left;
+  padding: 4px 7px;
+  cursor: pointer;
+  margin: 0 2px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .information .info-content font.active {
+  color: #FFFFFF;
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .information .info-content .diver {
+  float: left;
+  width: 1px;
+  height: 16px;
+  background-color: #e0e0e0;
+  margin: 3px 8px 0;
+}
+
+#searchInner .searchControl .searchTender .information .info-content .parent-node {
+  color: #2cb7ca;
+  margin-right: 8px;
+}
+
+#searchInner .searchControl .searchTender .information .info-content .parent-node.secondActice {
+  background-color: #ffffff;
+  padding: 3px 6px;
+  border: 1px dashed #2cb7ca;
+  color: #2cb7ca;
+}
+
+#searchInner .searchControl .searchTender .information .info-content .infoFist {
+  margin-right: 0;
+}
+
+#searchInner .searchControl .seaTender-inner {
+  /*招标搜索列表内容*/
+  margin-top: 20px;
+  background-color: #ffffff;
+  border: 1px solid #e0e0e0;
+  border-bottom: none;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle {
+  line-height: 50px;
+  border-bottom: 1px solid #e0e0e0;
+  background-color: #f5f4f9;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle li {
+  float: left;
+  width: 160px;
+  text-align: center;
+  font-size: 16px;
+  border-right: 1px solid #e0e0e0;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle li a {
+  display: inline-block;
+  width: 100%;
+/*  height: 100%;*/
+  font-size: 16px;
+  color: #252627;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle li a.active {
+  border-top: 2px solid #2cb7ca;
+  background-color: #ffffff;
+  color: #2cb7ca;
+  box-sizing: border-box;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn {
+  float: right;
+  width: 167px;
+  height: 50px;
+  line-height: 50px;
+  background-color: transparent;
+  font-size:14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn button {
+  width: 71px;
+  height: 33px;
+  line-height: 33px;
+  margin-top: 10px;
+  padding: 0 8px 0 34px;
+  box-sizing: border-box;
+  border-radius: 2px;
+  background-color: transparent;
+  cursor: pointer;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn button:nth-of-type(1) {
+  background: transparent url("/images/biddingSearch/tab-icon4.png") 10px center no-repeat;
+  background-size: 16px 14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn button:nth-of-type(1).active {
+  background: #2cb7ca url("/images/biddingSearch/tab-icon3.png") 10px center no-repeat;
+  color: #ffffff;
+  background-size: 16px 14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn button:nth-of-type(2) {
+  background: transparent url("/images/biddingSearch/tab-icon2.png") 10px center no-repeat;
+  background-size: 16px 14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabTitle .right-tabBtn button:nth-of-type(2).active {
+  background: #2cb7ca url("/images/biddingSearch/tab-icon1.png") 10px center no-repeat;
+  color: #ffffff;
+  background-size: 16px 14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer {
+  /*列表*/
+  background-color: #FFFFFF;
+  margin-bottom: 30px;
+  overflow: hidden;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene ul {
+  border-bottom: 1px solid #e0e0e0;
+  display: inline-block;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li {
+  padding: 20px 20px 0;
+  overflow: hidden;
+  font-size: 16px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li:last-of-type .liLuceneList {
+  border: none;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .liLuceneList {
+  border-bottom: 1px solid #e0e0e0;
+  overflow: hidden;
+  padding-bottom: 20px;
+width:1160px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left {
+  float: left;
+  width: 860px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left em {
+  float: left;
+  line-height: 30px;
+  margin-right: 10px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-title {
+  float: left;
+  line-height: 30px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-title a {
+  font-size: 16px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-title a:hover {
+  text-decoration: underline;
+  color: #fe7379;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content {
+  float: left;
+  line-height: 24px;
+  padding-left: 23px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content a {
+  font-size: 16px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-left .left-content a:hover {
+  text-decoration: underline;
+  color: #fe7379;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right {
+  float: right;
+  line-height: 30px;
+  font-size: 16px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a {
+  padding: 3px 7px;
+  color: #FFFFFF;
+  font-size: 15px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a:nth-of-type(1) {
+  background-color: #2cb7ca;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a:nth-of-type(2) {
+  background-color: #ffba00;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a:nth-of-type(3) {
+  background-color: #25c78c;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right a:hover {
+  text-decoration: underline;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene li .luce-right span {
+  display: inline-block;
+  padding-left: 26px;
+  color: #888888;
+  background: transparent url("/images/biddingSearch/lists-timeImg.png") 6px center no-repeat;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table {
+  /*全文搜索 表格*/
+  padding: 20px;
+  border-bottom: 1px solid #e0e0e0;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table {
+  width: 100%;
+  border-collapse: collapse;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table i {
+  color: #2cb7ca;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table td {
+  border: 1px solid #e0e0e0;
+  vertical-align: middle;
+  text-align: center;
+  line-height: 26px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table thead {
+  font-size: 14px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table thead tr {
+  background-color: #f3fbff;
+  border-top: 2px solid #2cb7ca;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table thead tr td {
+  color: #888888;
+  padding: 6px 0;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table tbody tr:nth-of-type(2n) {
+  background-color: #f5f5fb;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table tbody td {
+  padding: 6px;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table tbody td.tt-l {
+  text-align: left;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene-table table tbody td.tt-r {
+  text-align: right;
+}
+
+#searchInner .pagination {
+  /*分页*/
+  margin-bottom: 60px;
+}
+
+#searchInner .pagination a {
+  float: left;
+  padding: 7px 10px;
+  border: 1px solid #e0e0e0;
+  margin-left: 0;
+  border-bottom-left-radius: 4px;
+  border-top-left-radius: 4px;
+}
+
+#searchInner .pagination a:hover {
+  color: #2cb7ca;
+}
+
+#searchInner .pagination a i {
+  margin: 0 4px;
+}
+
+#searchInner .pagination span {
+  float: left;
+  width: 36px;
+  height: 31px;
+  line-height: 31px;
+  text-align: center;
+  color: #ffffff;
+  background-color: #2cb7ca;
+  margin: 0 10px;
+}

+ 12 - 0
src/web/staticres/css/dev2/biddingSearch1.css

@@ -0,0 +1,12 @@
+.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;
+}

+ 76 - 0
src/web/staticres/css/dev2/reset_pc.css

@@ -0,0 +1,76 @@
+html, body, div, span, applet, object, iframe, 
+h1, h2, h3, h4, h5, h6, p, blockquote, pre, 
+a, abbr, acronym, address, big, cite, code, 
+del, dfn, em, font, img, ins, kbd, q, s, samp, 
+small, strike, strong, sub, sup, tt, var, 
+dl, dt, dd, ol, ul, li, 
+fieldset, form, label, legend, 
+table, caption, tbody, tfoot, thead, tr, th, td { 
+margin: 0; 
+padding: 0; 
+border: 0; 
+outline: 0; 
+font-weight: inherit; 
+font-style: inherit; 
+font-size: 100%; 
+font-family: inherit; 
+vertical-align: baseline; 
+-webkit-tap-highlight-color: transparent;
+} 
+:focus { 
+outline: 0; 
+} 
+body { 
+line-height: 1; 
+/*color: black; 
+background: white; */
+font-family: "Microsoft YaHei",sans-serif;
+font-size: 16px;
+-webkit-font-smoothing: antialiased;
+} 
+input{
+	font-family: "Microsoft YaHei",sans-serif;
+	-webkit-appearance: none;
+}
+ol, ul { 
+list-style: none; 
+} 
+button{ 
+	outline: none;border: none;
+	}
+table { 
+border-collapse: separate; 
+border-spacing: 0; 
+} 
+caption, th, td { 
+text-align: left; 
+font-weight: normal; 
+} 
+textarea { resize:none;-webkit-appearance: none; }
+img{border:0;}
+a{
+	text-decoration:none;
+	color: #000;
+	font-size: 14px;
+}
+/*selet 下拉三角改变*/
+/*select {border: none;border-radius: 0;appearance:none;-moz-appearance:none;-webkit-appearance:none;background:#ffffff url(../images/public-img/pub-Xsj.png) no-repeat 95% center;}*/
+/*清除ie的默认选择框样式清除,隐藏下拉箭头*/
+/*select::-ms-expand { display: none;}
+html{-webkit-text-size-adjust: none;}	*/	
+	
+/*a:link {color:#606060;} 
+a:visited {color:#606060;} 
+a:hover{color:#8cb91e;	text-decoration: underline;}
+a:active {color:#606060;}*/
+address,caption,cite,code,dfn,em,th,b,i {font-weight: normal;font-style: normal;}
+
+.clearfix:after {visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
+.clearfix {*zoom:1; }
+.fl {float:left; }
+.fr {float: right; }
+.w {width: 1200px; margin: 0 auto;}
+/*去除下拉框*/
+/*input[type="search"]::-webkit-search-cancel-button{
+  display: none;
+}*/

BIN
src/web/staticres/images/biddingSearch/info-icon1.png


BIN
src/web/staticres/images/biddingSearch/lists-timeImg.png


BIN
src/web/staticres/images/biddingSearch/more.png


BIN
src/web/staticres/images/biddingSearch/moreup.png


BIN
src/web/staticres/images/biddingSearch/screen-down.png


BIN
src/web/staticres/images/biddingSearch/screen-up.png


BIN
src/web/staticres/images/biddingSearch/sea-header-btnImg-bai.png


BIN
src/web/staticres/images/biddingSearch/sea-header-btnImg.png


BIN
src/web/staticres/images/biddingSearch/sea-right-wx.png


BIN
src/web/staticres/images/biddingSearch/search-clear.png


BIN
src/web/staticres/images/biddingSearch/search-icon1.png


BIN
src/web/staticres/images/biddingSearch/tab-icon1.png


BIN
src/web/staticres/images/biddingSearch/tab-icon2.png


BIN
src/web/staticres/images/biddingSearch/tab-icon3.png


BIN
src/web/staticres/images/biddingSearch/tab-icon4.png


BIN
src/web/staticres/images/biddingSearch/开启实验室弹窗@2x.png


BIN
src/web/staticres/images/biddingSearch/弹窗-close@2x.png


BIN
src/web/staticres/images/contactway.jpg


BIN
src/web/staticres/images/coopbanner1.jpg


BIN
src/web/staticres/images/datacooperation.jpg


BIN
src/web/staticres/images/fenge.jpg


BIN
src/web/staticres/images/fenge.png


BIN
src/web/staticres/images/othercooperation.jpg


BIN
src/web/staticres/images/pc-envelope.png


BIN
src/web/staticres/images/zengzhihezuo.png


+ 188 - 0
src/web/staticres/js/biddingSearch.js

@@ -0,0 +1,188 @@
+$(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();
+
+	function screenBtnTab() {
+		var $screenBtn = $("#screenBtn"),
+			$searchControl = $(".searchControl .searchTender");
+		$screenBtn.on("click", function() {
+			$(this).toggleClass("down");
+			if(!$(this).hasClass("down")) {
+				$searchControl.stop().fadeIn();
+			} else {
+				$searchControl.stop().fadeOut();
+			}
+		})
+	}
+
+	/*搜索框*/
+	searchInput();
+
+	function searchInput() {
+		var $sea = $("#search"),
+			$text = $(".searchInput .searchSlideText"),
+			$seaLi = $(".searchInput .searchSlideText ul li");
+		$sea.on("focus", function() {
+			$text.show()
+		}).on("blur", function() {
+			setTimeout(function() {
+				$text.hide()
+			}, 200)
+
+		});
+		$seaLi.on('click', function() {
+			$sea.val($(this).text())
+		})
+
+	}
+
+	/*超级搜索 中标企业切换*/
+	searchAndEnterpriseTab()
+
+	function searchAndEnterpriseTab() {
+		var $tabBtn = $(".searchHeader-container .control-tabBtn a");
+		$tabBtn.on("click", function() {
+			$(this).addClass("on").siblings().removeClass("on")
+		})
+	}
+
+	/*开启超级搜索*/
+	superSearchToggle()
+
+	function superSearchToggle() {
+		var $superSearch = $(".searchInput .superSearch");
+		$superSearch.on("click", function() {
+			$(this).toggleClass("active")
+		})
+	}
+
+	/*信息类型*/
+	industryScreening($(".information .info-content"), $(".info-content .parent-node"), $("#infoBtn"));
+	/*项目地区*/
+	industryScreening($(".region .region-content"), $(".region-content .parent-node"), $("#regionBtn"));
+
+	/*行业筛选*/
+	industryScreening($(".industry  .industry-content"), $(".industry-content .parent-node"), $("#induAll"), $(".industry .stop"))
+	/*
+	 * warpContent 外层元素
+	 * parentNode  标题父元素
+	 * allBtn      全国按钮
+	 * moreBtn     展开更多(没有功能可以不写)
+	 */
+	function industryScreening(warpContent, parentNode, allBtn, moreBtn) {
+		var $content = warpContent,
+			$moreBtn = moreBtn || "",
+			$parentNode = parentNode,
+			$induAll = allBtn;
+		/*更多显示 影藏*/
+		if($moreBtn !== "") {
+			/*影藏行业*/
+			$content.children().not(".parent-node").not("#induAll").hide();
+			$moreBtn.on('click', function() {
+				$(this).toggleClass("up");
+				if($(this).hasClass("up")) {
+					$(this).text("收起");
+					$content.children().show();
+				} else {
+					$(this).text("更多");
+					$content.children().not(".parent-node").not("#induAll").hide();
+				}
+			});
+		}
+		/*全选功能*/
+		$content.on('click', 'font:not(".parent-node")', function() {
+			/*子级全选添加类名*/
+			var $preChdlren = $(this).prevAll(".parent-node:eq(0)").nextUntil(".diver");
+			var $prevNode = $(this).prevAll(".parent-node:eq(0)");
+			$(this).toggleClass("active");
+			if($prevNode.nextUntil(".diver").filter(".active").length === 0) {
+				$prevNode.removeClass("active").removeClass("secondActice");
+			} else if($prevNode.nextUntil(".diver").filter("font").length === $prevNode.nextUntil(".diver").filter(".active").length) {
+				$prevNode.addClass("active").removeClass("secondActice");
+			} else {
+				$prevNode.removeClass("active").addClass("secondActice");
+			}
+		});
+		$parentNode.on('click', function() {
+			$(this).toggleClass("active").removeClass("secondActice");
+			var $nextALLChildren = $(this).nextUntil('.diver');
+			if(!$(this).hasClass('active')) {
+				$nextALLChildren.removeClass('active');
+			} else {
+				$nextALLChildren.addClass('active');
+			}
+
+		});
+		/*如果点击没有内容给全部添加类名*/
+		$content.on("click", "font", function() {
+			if($content.children().hasClass("active")) {
+				$induAll.removeClass("active");
+			} else {
+				$induAll.addClass("active");
+			}
+		})
+		/*全部点击*/
+		$induAll.on("click", function() {
+			$(this).addClass("active");
+			$content.children().not($(this)).removeClass("active secondActice")
+		})
+	};
+	/*时间发布*/
+	silbingsTabClass($(".release-time .timer li"))
+
+	function silbingsTabClass(children) {
+		var $childrenLi = children;
+		$childrenLi.on("click", function() {
+			$(this).addClass("active").siblings().removeClass("active")
+		})
+	}
+
+	/*表格 列表样式切换*/
+	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();
+		})
+
+	}
+
+	/*全文搜索 标题搜索 添加类名*/
+	luceneTab();
+
+	function luceneTab() {
+		var $tab = $(".seaTender-inner .tabTitle 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()
+
+		})
+	}
+
+})

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

+ 296 - 0
src/web/templates/pc/biddingsearch_enterprise.html

@@ -0,0 +1,296 @@
+<!doctype html>
+<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>
+		{{include "/common/pnc.html"}}
+		<link href="/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+	</head>
+
+	<body>
+	{{include "/common/pchead.html"}}
+		<section id="searchInner">
+			<!--搜索头部 START-->
+			<div class="searchHeader">
+				<div class="w searchHeader-container">
+					<!--整体页面切换tab-->
+					<div class="control-tabBtn">
+						<a href="#" class="on">超级搜索</a>
+						<a href="#">中标企业搜索</a>
+					</div>
+					<!--搜索-->
+					<div class="searchInput clearfix">
+						<form action="" method="" class="clearfix">
+							<input  autocomplete="off" type="search" name="" id="search" value="" placeholder="高速公路" />
+
+							<input type="submit" value="搜索" />
+							<div class="searchSlideText">
+								<ul>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+									<li>滁州市<i>万达集团</i>公司</li>
+									<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+									<li>滁州市<i>万达集团</i>公司</li>
+									<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+									<li>滁州市<i>万达集团</i>公司</li>
+									<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+									<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+								</ul>
+							</div>
+						</form>
+						<!--筛选-->
+						<div id="screenBtn" class="screen up">
+							筛选
+						</div>
+						<!--开启超级搜索 -->
+						<div class="superSearch">
+							开启超级搜索
+						</div>
+						<!--二维码-->
+						<div class="search-right-wx">
+							<img src="/images/biddingSearch/sea-right-wx.png" />
+						</div>
+					</div>
+				</div>
+			</div>
+			<!--搜索头部 END-->
+
+			<!--招标搜索页面 START-->
+			<div class="searchControl">
+				<!--头部功能-->
+				<div class="searchTender w">
+					<!--价格区间-->
+					<div class="Price clearfix">
+						<div class="leftTitle">
+							价格区间:
+						</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>
+							<button>确定</button>
+						</div>
+					</div>
+					<!--项目地区-->
+					<div class="region clearfix" style="border: none;">
+						<div class="leftTitle">
+							项目地区:
+						</div>
+						<div class="region-content">
+							<span id="regionBtn" class=" active">全国</span>
+							<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>
+							<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>
+							<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>
+							<font>宁夏</font>
+							<font>新疆</font>
+						</div>
+					</div>
+				</div>
+				<!--招标搜索列表内容-->
+				<div class="seaTender-inner w">
+					<!--招标tab切换-->
+					<div class="tabTitle clearfix">
+						<ul>
+							<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="lucene">
+							<ul>
+								<li>
+									<div class="liLuceneList">
+										<div class="luce-left">
+											<div class="left-title">
+												<a href="#"> <em>1-1.</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>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>
+										</div>
+									</div>
+								</li>
+							</ul>
+						</div>
+						<!--全文搜索 表格-->
+						<div class="lucene-table" style="display: none;">
+							<table>
+								<thead>
+									<tr>
+										<td>序号</td>
+										<td width="150">中标日期</td>
+										<td width="830">项目名称</td>
+										<td>中标金额(万元)</td>
+									</tr>
+								</thead>
+								<tbody>
+									<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>
+									</tr>
+								</tbody>
+							</table>
+						</div>
+					</div>
+
+				</div>
+				<!--分页-->
+				<div class="pagination clearfix w">
+					<div class="pagination-inner fr">
+						<a href="#"><i><</i>上一页</a>
+						<span>1</span>
+						<a href="#">下一页<i>></i></a>
+					</div>
+				</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"}}
+	</body>
+
+</html>

+ 214 - 0
src/web/templates/pc/businesscooperation.html

@@ -0,0 +1,214 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="UTF-8">
+    <title>商务合作</title>
+    {{include "/common/pnc.html"}}
+    <link href="/css/pc.css?v={{Msg "seo" "version"}}" rel="stylesheet">
+    <style>
+        .coopbanner1{
+            background: url(../images/coopbanner1.jpg) center center no-repeat;
+            background-size: cover;
+            height: 500px;
+        }
+        .coopbanner2{
+            position: relative;
+            background: url(../images/datacooperation.jpg) center center no-repeat;
+            background-size: cover;
+            height: 650px;
+        }
+        .coopbanner2 .title{
+            position: absolute;
+            width: 100%;
+            top: 70px;
+            font-size: 30px;
+            text-align: center;
+            color: #1d1d1d;
+        }
+        .coopbanner2 .content1{
+            position: absolute;
+            width: 42%;
+            left: 50%;
+            top: 174px;
+            margin-left: -266px;
+            font-size: 18px;
+            /*text-align: center;*/
+            color: #252627;
+        }
+        .coopbanner2 .content2{
+            position: absolute;
+            width: 44%;
+            left: 50%;
+            top: 205px;
+            margin-left: -266px;
+            font-size: 18px;
+            /*text-align: center;*/
+            color: #252627;
+        }
+        .coopbanner3{
+            position: relative;
+            background: -webkit-linear-gradient(left, rgba(16,73,167,1) , rgba(26,128,229,1));/* Safari 5.1 - 6.0 */
+            background: -o-linear-gradient(right, rgba(16,73,167,1), rgba(26,128,229,1));   /* Opera 11.1 - 12.0 */
+            background: -moz-linear-gradient(right, rgba(16,73,167,1), rgba(26,128,229,1)); /* Firefox 3.6 - 15 */
+            background: linear-gradient(to right, rgba(16,73,167,1) , rgba(26,128,229,1));  /* 标准语法ie9 */
+            FILTER:progid:DXImageTransform.Microsoft.Gradient(gradientType=0,startColorStr=rgba(16,73,167,1),endColorStr=rgba(26,128,229,1)); /*IE 6 7 8*/
+            height: 535px;
+        }
+        .coopbanner3 img{
+            position: absolute;
+            top: 116px;
+            left: 50%;
+            margin-left: -166px;
+        }
+        .coopbanner3 .title{
+            position: absolute;
+            width: 100%;
+            top: 70px;
+            font-size: 30px;
+            text-align: center;
+            color: #FFFFFF;
+        }
+        .coopbanner3 .content1{
+            position: absolute;
+            width: 38%;
+            left: 50%;
+            top: 252px;
+            margin-left: 85px;
+            font-size: 22px;
+            /*text-align: center;*/
+            color: #FFFFFF;
+        }
+        .coopbanner3 .content2{
+            position: absolute;
+            width: 38%;
+            left: 50%;
+            top: 290px;
+            margin-left: 85px;
+            font-size: 18px;
+            /*text-align: center;*/
+            color: #FFFFFF;
+        }
+        .coopbanner3 .content3{
+            position: absolute;
+            width: 38%;
+            left: 50%;
+            top: 320px;
+            margin-left: 85px;
+            font-size: 18px;
+            /*text-align: center;*/
+            color: #FFFFFF;
+        }
+        .coopbanner3 .zengzhiimg{
+            position: absolute;
+            width: 546px;
+            height: 328px;
+            top: 182px;
+            left: 50%;
+            margin-left: -566px;
+        }
+        .coopbanner4{
+            position: relative;
+            background: url(../images/othercooperation.jpg) center center no-repeat;
+            background-size: cover;
+            height: 300px;
+        }
+        .coopbanner4 .title{
+            position: absolute;
+            width: 100%;
+            top: 60px;
+            font-size: 30px;
+            text-align: center;
+            color: #0069d2;
+        }
+        .coopbanner4 .content{
+            position: absolute;
+            width: 534px;
+            left: 50%;
+            top: 174px;
+            margin-left: -267px;
+            font-size: 18px;
+            /*text-align: center;*/
+            color: #252627;
+        }
+        .coopbanner5{
+            position: relative;
+            background: url(../images/contactway.jpg) center center no-repeat;
+            background-size: cover;
+            height: 320px;
+        }
+        .coopbanner5 .title{
+            position: absolute;
+            width: 100%;
+            top: 60px;
+            font-size: 30px;
+            text-align: center;
+            color: #1d1d1d;
+        }
+        .coopbanner5 .content{
+            position: absolute;
+            width: 100%;
+            top: 73%;
+            text-align: center;
+            padding-left: 20px;
+            padding-right: 20px;
+            font-size: 14px;
+            color: #686868;
+        }
+        .coopbanner5 .emailbutton{
+            position: absolute;
+            /*margin: 0 auto;*/
+            top: 55%;
+            left: 50%;
+            margin-left: -112px;
+            width: 225px;
+            height: 40px;
+            border:2px solid rgba(0,167,190,1);
+        }
+        .coopbanner5 .emailbutton img{
+            width: 22px;
+            height: 16px;
+            margin-top: 11px;
+            margin-left: 20px;
+        }
+        .coopbanner5 .emailbutton div{
+            position: absolute;
+            left: 60px;
+            top: 5px;
+            color: rgba(0,167,190,1);
+            font-size: 18px;
+        }
+    </style>
+</head>
+<body class="indexpage">
+{{include "/common/pchead.html"}}
+<div class="coopbanner1"></div>
+<div class="coopbanner2">
+    <div class="title">数据合作</div>
+    <div class="content1">&nbsp&nbsp&nbsp&nbsp剑鱼招标订阅拥有千万级数量的招标、拟建和中标等项目信息,</div>
+    <div class="content2">覆盖全国全行业,可用于行业网站,CRM系统,企业级服务等方面。</div>
+</div>
+<div class="coopbanner3">
+    <img src="/images/fenge.png">
+    <div class="title">增值服务合作</div>
+    <div class="content1">合作商为剑鱼招标订阅用户提供商业增值服务,</div>
+    <div class="content2">要求合作商在招投标领域有丰富经验和行业样板客户,</div>
+    <div class="content3">能独立为用户提供招投标商业服务。</div>
+    <img class="zengzhiimg" src="/images/zengzhihezuo.png">
+</div>
+<div class="coopbanner4">
+    <div class="title">其他合作</div>
+    <div class="content">&nbsp&nbsp以上合作方式如不能满足您的需求,您可以直接与我们联系洽谈。</div>
+</div>
+<div class="coopbanner5">
+    <div class="title">联系方式</div>
+    <div class="emailbutton">
+        <img src="/images/pc-envelope.png">
+        <div>jy@topnet.net.cn</div>
+    </div>
+    <div class="content">(邮件内容应包含:公司名称、联系人、联系方式和合作需求等)</div>
+</div>
+
+{{include "/common/pcbottom.html"}}
+{{include "/common/baiducc.html"}}
+</body>
+</html>

+ 711 - 0
src/web/templates/pc/supsearch.html

@@ -0,0 +1,711 @@
+<html>
+<head>
+<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>
+<style type="text/css">
+/*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;
+}
+a{
+	text-decoration: none !important;
+}
+</style>
+<script>
+$(function(){
+	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"}}
+<section id="searchInner">
+	<!--搜索头部 START-->
+	<div class="searchHeader">
+		<div class="w searchHeader-container">
+			<!--整体页面切换tab-->
+			<div class="control-tabBtn">
+				<a href="#" class="on">超级搜索</a>
+				<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="高速公路" />
+
+					<input type="submit" value="搜索" />
+<!--					<div class="searchSlideText">
+						<ul>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+							<li>滁州市<i>万达集团</i>公司</li>
+							<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+							<li>滁州市<i>万达集团</i>公司</li>
+							<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+							<li>滁州市<i>万达集团</i>公司</li>
+							<li>大连<i>万达集团</i>股份有限公司天津共享服务分公司</li>
+							<li>大连<i>万达集团</i>股份有限公司北京投资管理分公司</li>
+						</ul>
+					</div>-->
+				</form>
+				<!--筛选-->
+				<div id="screenBtn" class="screen up">
+					筛选
+				</div>
+				<!--开启超级搜索 -->
+				<div class="superSearch">
+					开启超级搜索
+				</div>
+				<!--二维码-->
+				<div class="search-right-wx">
+					<img src="/images/biddingSearch/sea-right-wx.png" />
+					<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>
+		</div>
+	</div>
+	<!--搜索头部 END-->
+
+	<!--招标搜索页面 START-->
+	<div class="searchControl">
+		<!--头部功能-->
+		<div class="searchTender w">
+			<!--行业-->
+			<div class="industry">
+				<div class="leftTitle">
+					行业:
+				</div>
+				<!--收起-->
+				<div class="stop">
+					更多
+				</div>
+				<div class="industry-content">
+					
+				</div>
+			</div>
+			<!--价格区间-->
+			<div class="Price clearfix">
+				<div class="leftTitle">
+					价格区间:
+				</div>
+				<div class="Price-content clearfix">
+					<span 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>
+				</div>
+			</div>
+			<!--发布时间-->
+			<div class="release-time clearfix">
+				<div class="leftTitle">
+					发布时间:
+				</div>
+				<div class="fl timer">
+					<ul>
+						<li class="active">全部</li>
+						<li>最近七天</li>
+						<li>最近30天</li>
+						<li>去年</li>
+					</ul>
+				</div>
+				<div class="timerInput fl">
+					<input type="text" name="mintime" id="mintime" value="" placeholder="" />
+					<span></span>
+					<input type="text" name="maxtime" id="maxtime" value="" placeholder="" />
+					<button class="fl" id="timebut">确定</button>
+				</div>
+			</div>
+			<!--项目地区-->
+			<div class="region clearfix">
+				<div class="leftTitle">
+					项目地区:
+				</div>
+				<div class="region-content">
+					<span id="regionBtn" class=" active">全国</span>
+					<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>
+					<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>
+					<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>
+					<font>宁夏</font>
+					<font>新疆</font>
+				</div>
+			</div>
+			<!--信息类型-->
+			<div class="information clearfix">
+				<div class="leftTitle">
+					信息类型:
+				</div>
+				<div class="info-content">
+					<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>
+					<i class="diver"></i>
+					<font class="parent-node">招标预告</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>
+					<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>
+				</div>
+			</div>
+		</div>
+		<!--招标搜索列表内容-->
+		<div class="seaTender-inner w">
+			<!--招标tab切换-->
+			<div class="tabTitle clearfix">
+				<ul>
+					<li>
+						<a class="active" href="javascript:;">全文搜索</a>
+					</li>
+					<li>
+						<a href="javascript:;">标题搜索</a>
+					</li>
+				</ul>
+				<div class="right-tabBtn">
+					<button class="active">列表</button>
+					<button>表格</button>
+				</div>
+			</div>
+			<!--tab切换内容-->
+			<div class="tabContainer">
+				<!--全文搜索 列表-->
+				<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>
+				<!--全文搜索 表格-->
+				<div class="lucene-table" style="display: none;">
+					<table>
+						<thead>
+							<tr>
+								<td width="47">序号</td>
+								<td width="100">发布时间</td>
+								<td width="83">公告类型</td>
+								<td width="180">招标单位</td>
+								<td width="320">项目名称</td>
+								<td width="65">预算<br>(万元)</td>
+								<td width="100">开标时间</td>
+								<td width="180">中标单位</td>
+								<td>中标金额(万元)</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>
+			</div>
+			<!--tab切换内容-->
+			<div class="tabContainer tabContainer-2" style="display: none;">
+				<!--全文搜索 列表-->
+				<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>
+				<!--全文搜索 表格-->
+				<div class="lucene-table" style="display: none;">
+					<table>
+						<thead>
+							<tr>
+								<td width="47">序号</td>
+								<td width="100">发布时间</td>
+								<td width="83">公告类型</td>
+								<td width="180">招标单位</td>
+								<td width="320">项目名称</td>
+								<td width="65">预算<br>(万元)</td>
+								<td width="100">开标时间</td>
+								<td width="180">中标单位</td>
+								<td>中标金额(万元)</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>
+		<!--分页-->
+		<div class="pagination clearfix w">
+			<div class="pagination-inner fr">
+				<a href="#"><i><</i>上一页</a>
+				<span>1</span>
+				<a href="#">下一页<i>></i></a>
+			</div>
+		</div>
+	</div>
+	<!--招标搜索页面 END-->
+
+</section>
+{{include "/common/pcbottom.html"}}
+{{include "/common/baiducc.html"}}
+<script type="text/javascript">
+$(function(){
+	haslogin({{.T.logid}});
+	//
+	$(window).scroll(function(){
+		if($(this).scrollTop() > 0){
+			$("#backTop").show();
+		}else{
+			$("#backTop").hide();
+		}
+	});
+})
+</script>
+</body>
+</html>

+ 192 - 3
src/web/templates/weixin/wxpush.html

@@ -6,6 +6,7 @@
 <link href="/wxswordfish/style.css?v={{Msg "seo" "version"}}" rel="stylesheet">
 <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="/js/rem.js"></script>
 <script src="/wxswordfish/share.js?v={{Msg "seo" "version"}}"></script>
 <style>
 	.findnull{
@@ -18,9 +19,10 @@ if(sessionStorage){
 }
 	initShare({{.T.signature}},{{.T.openid}},2,"jy_extend",{{.T.nickname}},{{.T.avatar}});
 var b_view = "{{.T.view}}";
+var zbadd = {{Msg "seo" "ZBADDRESS"}}
+var sds = "";
 $(function(){
 	//
-	var zbadd = {{Msg "seo" "ZBADDRESS"}}
 	var width=$(window).width();
 	var height=$(window).height();
 	var s_words = {{.T.data.s_words}};
@@ -33,7 +35,14 @@ $(function(){
 	var a_type={};
 	var topstype={};
 	var substype={};
+	var projectname={};
+	var projectid={};
+	var buyer={};
 	var bmatch={{.T.data.bmatch}};
+	var tabletime = ""
+	var tabletype = ""
+	var tableptname = ""
+	var tablebuyer = ""
 	if(bmatch){
 		$(".findnull").hide();
 	}else{
@@ -58,7 +67,6 @@ $(function(){
 		jywords = a_key;
 	}
 	//
-	var sds = "";
 	for(var i=0;i<jywords.length;i++){
 		if(i==0){
 			sds +=jywords[i]
@@ -81,6 +89,17 @@ $(function(){
 		return false;
 	}
 	$("body .listcontent").prepend(s_content);
+	var tablehtml='<table>'+
+					'<thead>'+
+					'<tr>'+
+					'<td>序号</td>'+
+					'<td>发布时间</td>'+
+					'<td>公告类型</td>'+
+					'<td>招标单位</td>'+
+					'<td>项目名称</td>'+
+					'</tr>'+
+					'</thead>'+
+					'<tbody>';
 	var mark="为您预览30天之内的信息,点击标题可查看详细信息。"
 	if (window.location.href.indexOf("bidinfo") > 0){
 		mark="为您推送以下信息,点击标题可查看详细信息。"
@@ -122,18 +141,26 @@ $(function(){
 					}else{
 						tdf = '';	
 					}
+					tabletime = formatDate(a_publishtime[xh]);
 					datatype="";
 					if(substype[xh] != ""&&substype[xh] != null){
 						datatype='<span class="type">'+substype[xh]+'</span>'
+						tabletype=substype[xh]
 					}else if(topstype[xh] != ""&&topstype[xh] != null){
 						datatype='<span class="type">'+topstype[xh]+'</span>'
+						tabletype=topstype[xh]
 					}else if(a_type[xh] != ""&&a_type[xh] != null){
 						if(a_type[xh] == "tender"){
 							datatype='<span class="type">招标</span>'
+							tabletype="招标"
 						}else if(a_type[xh] == "bid"){
 							datatype='<span class="type">中标</span>'
+							tabletype="中标"
 						}
 					}
+					//console.log(tabletype+":tabletype"+"tablebuyer:"+buyer[xh]+"---"+projectname[xh])
+					tablebuyer=buyer[xh]
+					tableptname=projectname[xh]
 					if (area&&area!="" && area!="undefined"){
 						area='<span class="location">'+area+'</span>';
 					}else{
@@ -148,8 +175,20 @@ $(function(){
 			var html = $(this).find("a.bt").html();
 			html = keyWordHighlight(html,s_words.join("|").replace(/\+/gm,"|"),'<font class="keyword">$1</font>');
 			$(this).find("a.bt").html(html);
+			tableptname= keyWordHighlight(tableptname,s_words.join("|").replace(/\+/gm,"|"),'<font class="keyword">$1</font>')
 		}
+		var tableid = $(this).find("a.bt").attr("eid");
+		var tablehref = $(this).find("a.bt").attr("href");
+		tablehtml +='<tr onClick="tablejump(\''+tableid+'\',\''+tablehref+'\')">'+
+					'<td>'+xh+'</td>'+
+					'<td>'+tabletime+'</td>'+
+					'<td>'+tabletype+'公告</td>'+
+					'<td>'+tablebuyer+'</td>'+
+					'<td>'+tableptname+'</td>'+
+					'</tr>'
 	});
+	tablehtml +='</tbody></table>';
+	$("#jytables").append(tablehtml);
 	setTimeout(function(){
 			var abt=$("a.bt");
 			abt.each(function(){
@@ -172,7 +211,44 @@ $(function(){
 				return false;
 			})
 		},800);
+	//展示
+	$(".showType .showlist").click(function(){
+	    $(this).addClass("on").siblings().removeClass("on");
+		$(".listcontent").removeClass("hidden");
+		$(".tablecontent").addClass("hidden");
+	})
+	$(".showType .showTable").click(function(){
+	    $(this).addClass("on").siblings().removeClass("on");
+		$(".listcontent").addClass("hidden");
+		$(".tablecontent").removeClass("hidden");
+	})
+	//
+	$(".blue").click(function(){
+		window.location.href="/wxkeyset/keyset/seniorset"
+	})
+	
 })
+//
+function tablejump(eid,href){
+	if(eid){
+		newredirect(zbadd,href,eid,sds);
+	}
+}
+//
+function   formatDate(date)   { 
+	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
+	} 
+    return   year+" "+month+""+date;     
+} 
+//
 function open_window(link){
 	if(!/^http/.test(link)){
 		link="http://"+link
@@ -255,13 +331,126 @@ a{
 .listcontent{
 	padding:0px 10px;
 }
+.showType{
+	margin-top: 8px;
+    padding-right: 15px;
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+	float:right;
+}
+.showType div{
+	padding-left: 30px;
+}
+.showType .showlist{
+	background: url(/images/search/showList.png)10px 3px no-repeat;
+	background-size: 30%;
+    margin-right: 15px;
+	line-height: 21px;
+}
+.showType .showtable{
+	background: url(/images/search/showTable.png)10px 2px no-repeat;
+	background-size: 30%;
+    margin-left: 15px;
+	line-height: 21px;
+}
+.showType .showlist.on{
+	background: url(/images/search/showList_on.png)10px 3px no-repeat;
+	background-size: 30%;
+	color: #2cb7ca;
+}
+.showType .showtable.on{
+	background: url(/images/search/showTable_on.png)10px 2px no-repeat;
+	background-size: 30%;
+	color: #2cb7ca;
+}
+.shuxian{
+	padding: 0px !important;
+    margin-right: -10px;
+	color: #e0e0e0;
+}
+#jytables{
+	/*不需要可自己删除*/
+	padding: .2rem;
+}
+#jytables table{
+	width: 100%;
+	border-collapse: collapse;
+}
+#jytables table td {
+	padding: 5px;
+	border: 1px solid #E0E0E0;
+	text-align: center;
+	vertical-align: middle;
+}
+#jytables table thead{
+	/**font-size: .28rem;**/
+	font-size: 14px;
+	color: #686868;
+}
+#jytables table tbody{
+	/**font-size: .3rem;**/
+	font-size: 15px;
+	color: #1d1d1d;
+}
+/*高亮字体*/
+#jytables table span.higHlight{
+	color: #2cb7ca;
+}
+.tablecontent{
+	width: 100%;
+    overflow-x: scroll;
+}
+#jytables{
+	width: 525px;
+}
+#jytables thead>tr>td:nth-child(1){
+	padding:.3rem 0;
+	width:30px;
+}
+#jytables tbody>tr>td:nth-child(2){
+	width:68px;
+}
+#jytables tbody>tr>td:nth-child(3){
+	width:74px;
+}
+#jytables tbody>tr>td:nth-child(4){
+	width:160px;
+	padding: 17px 5px;
+    line-height: 21px;
+    text-align: left;
+}
+#jytables tbody>tr>td:nth-child(5){
+	width: 160px;
+    padding: 17px 5px;
+    line-height: 21px;
+    text-align: left;
+}
+.prompt{
+	padding:10px 10px 20px;
+	position:absolute;
+}
+.blue{
+	color:#0987ff;
+}
 </style>
 </head>
 
 <body>
 <div></div>
-<div class=""></div>
+<div class="showType">
+	<div class="showlist on">列表</div>
+	<div class="shuxian">|</div>
+	<div class="showtable">表格</div>
+</div>
+<div style="height:37px;border-bottom:1px solid #ddd;border-top: 1px solid #ddd;"></div>
 <div class="listcontent"></div>
+<div class="tablecontent hidden">
+	<section id="jytables">
+		
+	</section>
+	<div class="prompt">提示:为了获得更佳的体验,推荐<span class="blue">打开邮件推送</span>,用电脑查看邮件中的表格。</div>
+</div>
 <span class=" text-center findnull">
 <div>
 <img style="width:200px;margin:100px 0 50px 0;" src="/images/wx/jysorry.png">