Explorar o código

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

wangshan %!s(int64=8) %!d(string=hai) anos
pai
achega
007a16a8c6

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

@@ -88,6 +88,7 @@ type Front struct {
 	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"`
@@ -855,6 +856,13 @@ func (f *Front) Busicooperation() error {
 	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")

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

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

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

@@ -0,0 +1,87 @@
+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"`
+	Log_model     map[string]interface{} `json:"log_model"`
+}
+
+//
+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.AccessLogInit(c.Log_model)
+}
+
+//
+func processrequest(jsonstr string, req *http.Request) {
+	data := map[string]interface{}{}
+	json.Unmarshal([]byte(jsonstr), &data)
+	model := data["model"].(string)
+	if v, ok := list[model]; ok {
+		switch model {
+		case "accesslog":
+			writer.Write("jy_logs", "30d", v.Parse(data, req))
+
+		}
+	}
+}
+
+//
+func main() {
+	//TODO 开通RPC ajax服务
+	http.HandleFunc("/ajax", func(w http.ResponseWriter, req *http.Request) {
+		//
+		jsontxt := req.FormValue("json") //post方式传过来
+		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

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

@@ -0,0 +1,152 @@
+package parse
+
+import (
+	"fmt"
+	"net"
+	"net/http"
+	"regexp"
+	"strings"
+	"time"
+
+	"github.com/influxdata/influxdb-client"
+)
+
+//用户访问日志转换
+type AccessLogParse struct {
+}
+
+//设置tag标签
+var tagtitle = map[string]interface{}{
+	"s_os":     true,
+	"s_browse": true,
+	"s_model":  true,
+}
+var log_model = 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 AccessLogInit(model map[string]interface{}) {
+	//TODO 加载IP转换,url模块对应
+	for k, v := range model {
+		reg, _ := regexp.Compile(fmt.Sprint(v))
+		log_model[k] = reg
+	}
+}
+
+//补充基本数据字段
+func AddBasicData(data map[string]interface{}, req *http.Request) map[string]interface{} {
+	agent := req.Header.Get("user-agent")
+	data["s_os"] = GetOS(agent)
+	data["s_ip"] = GetIp(req)
+	data["s_browse"] = GetBrowse(agent)
+	data["s_refer"] = req.Referer()
+	data["s_client"] = agent
+	data["s_model"] = GetModel(fmt.Sprint(data["s_url"]))
+	delete(data, "model")
+	return data
+}
+
+//根据url获取所属模块
+func GetModel(url string) string {
+	s_model := "其他"
+	for k, v := range log_model {
+		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
+}

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

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

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

@@ -0,0 +1,746 @@
+@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;
+}
+
+#searchInner .searchHeader .searchHeader-container .searchInput .search-right-wx img {
+  width: 45px;
+  height: 45px;
+  cursor: pointer;
+}
+
+#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: 70px;
+  text-align: right;
+  color: #686868;
+  padding: 4px 7px;
+}
+
+#searchInner .searchControl .searchTender .Price {
+  /*价格区间*/
+  padding: 20px 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: -2px 0 0 8px;
+  background-color: #2cb7ca;
+  color: #ffffff;
+  cursor: pointer;
+}
+
+#searchInner .searchControl .searchTender .release-time {
+  /*发布时间*/
+  padding: 20px 0;
+  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: -2px;
+  margin-left: 40px;
+}
+
+#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;
+}
+
+#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;
+}
+
+#searchInner .searchControl .seaTender-inner .tabContainer .lucene ul {
+  border-bottom: 1px solid #e0e0e0;
+}
+
+#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;
+}
+
+#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;
+}

+ 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;
+}*/

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

@@ -0,0 +1,169 @@
+$(function() {
+
+	/*筛选下拉*/
+	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").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").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()
+			
+		})
+	}
+	
+
+})

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

@@ -0,0 +1,291 @@
+<!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>
+	</head>
+
+	<body>
+		<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="../../../../../../../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>
+	</body>
+
+</html>