Jianghan 8 月之前
父節點
當前提交
4e2ea8ddec
共有 37 個文件被更改,包括 1031 次插入5947 次删除
  1. 1 1
      SEPlatform/client/client.go
  2. 93 192
      SEPlatform/client/ownTag.go
  3. 7 11
      SEPlatform/client/util_client.go
  4. 8 114
      SEPlatform/config.json
  5. 2 6
      SEPlatform/filter/filter.go
  6. 0 9
      SEPlatform/filter/sessfilter.go
  7. 11 16
      SEPlatform/front/logic.go
  8. 13 21
      SEPlatform/front/menu.go
  9. 24 56
      SEPlatform/front/role.go
  10. 171 381
      SEPlatform/service/customer_service.go
  11. 4 22
      SEPlatform/service/feedback_service.go
  12. 21 44
      SEPlatform/service/private_rule.go
  13. 1 5
      SEPlatform/util/clearHtml.go
  14. 5 103
      SEPlatform/util/parsxlsx.go
  15. 4 318
      SEPlatform/web/templates/client/cuser_rule_create.html
  16. 19 1125
      SEPlatform/web/templates/client/cuser_rule_edit.html
  17. 24 79
      SEPlatform/web/templates/client/cuser_rule_history_edit.html
  18. 10 12
      SEPlatform/web/templates/client/cuser_rule_list.html
  19. 4 13
      SEPlatform/web/templates/client/customer_history.html
  20. 18 43
      SEPlatform/web/templates/client/customer_tag_rule.html
  21. 2 38
      SEPlatform/web/templates/client/history_rule_edit.html
  22. 2 2
      SEPlatform/web/templates/client/index1.html
  23. 9 0
      SEPlatform/web/templates/client/keywordRule.html
  24. 8 232
      SEPlatform/web/templates/com/modal.html
  25. 61 135
      SEPlatform/web/templates/private/cuser_rule_create.html
  26. 82 803
      SEPlatform/web/templates/private/cuser_rule_edit.html
  27. 155 302
      SEPlatform/web/templates/private/cuser_rule_history_edit.html
  28. 0 9
      SEPlatform/web/templates/private/customer_create.html
  29. 12 256
      SEPlatform/web/templates/private/customer_edit.html
  30. 63 622
      SEPlatform/web/templates/private/customer_history.html
  31. 2 9
      SEPlatform/web/templates/private/customer_list.html
  32. 10 212
      SEPlatform/web/templates/private/euser_rule_edit.html
  33. 34 212
      SEPlatform/web/templates/private/euser_tag_rule.html
  34. 1 1
      SEPlatform/web/templates/private/euser_tag_rule_l.html
  35. 133 311
      SEPlatform/web/templates/private/history_rule_edit.html
  36. 0 164
      SEPlatform/web/templates/private/historylog_list.html
  37. 17 68
      SEPlatform/web/templates/private/second_push_create.html

+ 1 - 1
SEPlatform/client/client.go

@@ -20,7 +20,7 @@ type Client struct {
 	index           xweb.Mapper `xweb:"/client/index"`       //客户首页
 	cuserRuleDel    xweb.Mapper `xweb:"/client/rule/del"`    //删除规则
 	adminIndex      xweb.Mapper `xweb:"/admin/index"`        //管理员首页
-	personnelIndex  xweb.Mapper `xweb:"/personel/index"`     //员工首页
+	personnelIndex  xweb.Mapper `xweb:"/personnel/index"`    //员工首页
 	cuserRuleCreate xweb.Mapper `xweb:"/client/rule/create"` //新建规则
 	cuserRuleEdit   xweb.Mapper `xweb:"/client/rule/edit"`   //修改规则
 	exportLog       xweb.Mapper `xweb:"/client/exportLog"`   //导出页面

+ 93 - 192
SEPlatform/client/ownTag.go

@@ -1,32 +1,18 @@
 package client
 
 import (
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"cmplatform/util"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/encrypt"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 	"app.yhyue.com/moapp/jybase/mongodb"
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	"encoding/json"
 	"fmt"
 	"github.com/lauyoume/gopinyin"
 	"go.mongodb.org/mongo-driver/bson"
 	"go.mongodb.org/mongo-driver/bson/primitive"
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	"io"
-
-	"log"
-========
 	"io/ioutil"
 	"log"
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	"strconv"
 	"strings"
 	"time"
@@ -55,7 +41,7 @@ type OwnTag struct {
 
 // 保存客户信息
 func (c *OwnTag) CustomerSave() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		//data := GetPostForm(c.Request)
 		data := map[string]interface{}{}
@@ -64,7 +50,7 @@ func (c *OwnTag) CustomerSave() {
 			log.Println("err", err)
 		}
 		log.Println("接收数据:", data)
-		id := common.ObjToString(data["id"])
+		id := qu.ObjToString(data["id"])
 		delete(data, "id")
 		i_createtime := time.Now().Unix()
 		data["i_updatetime"] = i_createtime
@@ -77,19 +63,19 @@ func (c *OwnTag) CustomerSave() {
 			data["b_delete"] = false
 			data["i_createtime"] = i_createtime
 			data["i_state"] = 0
-			id = util.Mgo.Save("cuser", data)
+			id = Mgo.Save("cuser", data)
 			if id != "" {
 				for _, v := range departArr {
 					v["s_userid"] = id
 					v["i_createtime"] = time.Now().Unix()
 					v["i_updatetime"] = time.Now().Unix()
-					v["i_isuse"] = common.IntAll(v["i_isuse"])
+					v["i_isuse"] = qu.IntAll(v["i_isuse"])
 					v["b_delete"] = false
 				}
 				if len(departArr) == 0 {
 					rep = true
 				} else {
-					rep = util.Mgo.SaveBulk("cuserdepart", departArr...)
+					rep = Mgo.SaveBulk("cuserdepart", departArr...)
 				}
 			} else {
 				rep = false
@@ -97,20 +83,20 @@ func (c *OwnTag) CustomerSave() {
 		} else {
 			if data["mails"] != nil {
 				mailsMap := map[string]interface{}{}
-				mails := common.ObjArrToStringArr(data["mails"].([]interface{}))
+				mails := qu.ObjArrToStringArr(data["mails"].([]interface{}))
 				for _, val := range mails {
 					mailArr := strings.Split(val, "+")
 					mailsMap[mailArr[0]] = mailArr[1]
 				}
 				log.Println(mailsMap)
-				appid := common.ObjToString(data["s_appid"])
+				appid := qu.ObjToString(data["s_appid"])
 				q := bson.M{
 					"appid": appid,
 				}
 				setMap := map[string]interface{}{
 					"mails": mailsMap,
 				}
-				rep = util.MgoCus.Update("user", q, bson.M{"$set": setMap}, false, false)
+				rep = MgoCus.Update("user", q, bson.M{"$set": setMap}, false, false)
 				c.ServeJson(map[string]interface{}{
 					"rep": rep,
 				})
@@ -121,7 +107,7 @@ func (c *OwnTag) CustomerSave() {
 			query := bson.M{
 				"_id": mongodb.StringTOBsonId(id),
 			}
-			rep = util.Mgo.Update("cuser", query, bson.M{"$set": data}, false, false)
+			rep = Mgo.Update("cuser", query, bson.M{"$set": data}, false, false)
 
 		}
 		c.ServeJson(map[string]interface{}{
@@ -132,29 +118,29 @@ func (c *OwnTag) CustomerSave() {
 
 // 新建/编辑标签
 func (c *OwnTag) EuserTagEdit() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		_id := c.GetString("_id")
-		data := util.GetPostForm(c.Request)
-		cid := common.ObjToString(data["s_userid"])
+		data := GetPostForm(c.Request)
+		cid := qu.ObjToString(data["s_userid"])
 		createTime := time.Now().Unix()
 		o_rules := []map[string]interface{}{}
 		o_rulesStr := data["o_list"].(string)
 		json.Unmarshal([]byte(o_rulesStr), &o_rules)
 		data["o_list"] = o_rules
-		hid := common.ObjToString(data["hid"])
+		hid := qu.ObjToString(data["hid"])
 		var rep = true
 		if hid == "" {
 			if _id == "" {
 				data["i_createtime"] = createTime
 				data["i_updatetime"] = createTime
 				data["b_delete"] = false
-				_id = util.Mgo.Save("eusertagrule", data)
+				_id = Mgo.Save("eusertagrule", data)
 			} else {
 				query := bson.M{
 					"_id": mongodb.StringTOBsonId(_id),
 				}
-				rep = util.Mgo.Update("eusertagrule", query, bson.M{"$set": data}, false, false)
+				rep = Mgo.Update("eusertagrule", query, bson.M{"$set": data}, false, false)
 			}
 		} else {
 			if _id == "" {
@@ -162,13 +148,13 @@ func (c *OwnTag) EuserTagEdit() {
 				data["i_updatetime"] = createTime
 				data["i_type"] = "historyData"
 				data["b_delete"] = true
-				_id = util.Mgo.Save("eusertagrule", data)
+				_id = Mgo.Save("eusertagrule", data)
 				rep = AddHistoryLogTag(data, false, _id)
 			} else {
 				query := bson.M{
 					"_id": mongodb.StringTOBsonId(_id),
 				}
-				reps := util.Mgo.Update("eusertagrule", query, bson.M{"$set": data}, false, false)
+				reps := Mgo.Update("eusertagrule", query, bson.M{"$set": data}, false, false)
 				if reps {
 					rep = AddHistoryLogTag(data, true, _id)
 				}
@@ -180,19 +166,19 @@ func (c *OwnTag) EuserTagEdit() {
 		})
 	} else {
 		if c.GetString("id") != "" {
-			data, _ := util.Mgo.FindById("eusertagrule", c.GetString("id"), nil)
+			data, _ := Mgo.FindById("eusertagrule", c.GetString("id"), nil)
 			c.T["tagrule"] = *data
 		}
 		cid := c.GetString("cid")
 		c.T["cid"] = cid
-		c.T["matchTypeMap"] = util.MatchTypeMap3
+		c.T["matchTypeMap"] = MatchTypeMap3
 		c.T["hid"] = c.GetString("hid")
 		c.Render("client/customer_tag_rule.html", &c.T)
 	}
 }
 
 func (c *OwnTag) CustomerHistory() {
-	defer common.Catch()
+	defer qu.Catch()
 	id := c.GetString("id")
 	user := c.GetSession("user").(map[string]interface{})
 	query := bson.M{}
@@ -202,11 +188,7 @@ func (c *OwnTag) CustomerHistory() {
 	history_id := ""
 	if hid != "" {
 		history_id = hid
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		hData, ok := util.Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(history_id)})
-========
 		hData, ok := Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(history_id)})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 		if ok && hData != nil && len(*hData) > 0 {
 			c.T["history_rule"] = (*hData)["dep_rules"]
 			c.T["tagrule"] = (*hData)["tag_rules"]
@@ -216,17 +198,17 @@ func (c *OwnTag) CustomerHistory() {
 	} else {
 		var user_name, user_customername, user_salesperson, appid = "", "", "", ""
 		var push_model, push_type, i_push = 0, 0, 0
-		userInfo, ok := util.Mgo.FindOne("euser", query)
+		userInfo, ok := Mgo.FindOne("euser", query)
 		if ok && userInfo != nil && *userInfo != nil {
-			user_name = common.ObjToString((*userInfo)["s_name"])
-			user_customername = common.ObjToString((*userInfo)["s_customername"])
-			user_salesperson = common.ObjToString((*userInfo)["s_salesperson"])
-			push_model = common.IntAll((*userInfo)["i_pushmodel"])
-			push_type = common.IntAll((*userInfo)["i_pushtype"])
-			i_push = common.IntAll((*userInfo)["i_push"])
-			appid = common.ObjToString((*userInfo)["s_appid"])
+			user_name = qu.ObjToString((*userInfo)["s_name"])
+			user_customername = qu.ObjToString((*userInfo)["s_customername"])
+			user_salesperson = qu.ObjToString((*userInfo)["s_salesperson"])
+			push_model = qu.IntAll((*userInfo)["i_pushmodel"])
+			push_type = qu.IntAll((*userInfo)["i_pushtype"])
+			i_push = qu.IntAll((*userInfo)["i_push"])
+			appid = qu.ObjToString((*userInfo)["s_appid"])
 		}
-		history_id = util.Mgo.Save("historylog", map[string]interface{}{
+		history_id = Mgo.Save("historylog", map[string]interface{}{
 			"createtime":     time.Now().Unix(),
 			"updatetime":     time.Now().Unix(),
 			"user_id":        id,
@@ -249,13 +231,13 @@ func (c *OwnTag) CustomerHistory() {
 
 // 导入关键词
 func (c *OwnTag) EuserImport() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		mf, _, err := c.GetFile("xlsx")
 		if err == nil {
-			binary, err := io.ReadAll(mf)
+			binary, err := ioutil.ReadAll(mf)
 			if err == nil {
-				rdata, err := util.Parsxlsx1(binary)
+				rdata, err := Parsxlsx1(binary)
 				if err == nil {
 					c.ServeJson(map[string]interface{}{
 						"rdata": rdata,
@@ -273,20 +255,15 @@ func (c *OwnTag) EuserImport() {
 
 // 编辑客户信息
 func (c *OwnTag) CustomerEdit() {
-	defer common.Catch()
+	defer qu.Catch()
 	id := c.GetString("id")
 	query := bson.M{}
 	query["_id"] = mongodb.StringTOBsonId(id)
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	data, _ := util.Mgo.FindOneByField("cuser", query, `{}`)
-	depart, _ := util.Mgo.Find("cuserdepart", bson.M{"s_userid": id, "b_delete": false}, nil, nil, false, -1, -1)
-========
 	data, _ := Mgo.FindOneByField("cuser", query, `{}`)
 	depart, _ := Mgo.Find("cuserdepart", bson.M{"s_userid": id, "b_delete": false}, nil, nil, false, -1, -1)
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	(*data)["_id"] = mongodb.BsonIdToSId((*data)["_id"])
 	if (*data)["i_state"] == 1 {
-		tagRule, _ := util.Mgo.Find("eusertagrule", bson.M{"s_userid": id, "b_delete": false}, nil, nil, false, -1, -1)
+		tagRule, _ := Mgo.Find("eusertagrule", bson.M{"s_userid": id, "b_delete": false}, nil, nil, false, -1, -1)
 		c.T["tagrule"] = *tagRule
 	}
 	c.T["data"] = *data
@@ -296,7 +273,7 @@ func (c *OwnTag) CustomerEdit() {
 
 // 标签的启用禁用
 func (c *OwnTag) TagSetup() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		_id := c.GetString("_id")
 		i_isuse, _ := c.GetInt("i_isuse")
@@ -305,7 +282,7 @@ func (c *OwnTag) TagSetup() {
 				"i_isuse": i_isuse,
 			},
 		}
-		b := util.Mgo.UpdateById("eusertagrule", _id, set)
+		b := Mgo.UpdateById("eusertagrule", _id, set)
 		c.ServeJson(map[string]interface{}{
 			"rep": b,
 		})
@@ -314,14 +291,14 @@ func (c *OwnTag) TagSetup() {
 
 // 删除标签
 func (c *OwnTag) TagDel() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := c.GetString("_id")
 	set := bson.M{
 		"$set": bson.M{
 			"b_delete": true,
 		},
 	}
-	b := util.Mgo.UpdateById("eusertagrule", _id, set)
+	b := Mgo.UpdateById("eusertagrule", _id, set)
 	c.ServeJson(map[string]interface{}{
 		"rep": b,
 	})
@@ -329,7 +306,7 @@ func (c *OwnTag) TagDel() {
 
 // 关联规则列表
 func (c *OwnTag) CuserRuleList() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		eid := c.GetString("eid")
 		start, _ := c.GetInt("start")
@@ -347,16 +324,12 @@ func (c *OwnTag) CuserRuleList() {
 				bson.M{"s_name": bson.M{"$regex": search}},
 			}
 		}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		data, _ := util.Mgo.Find("euserdepartrule", query, `{"i_createtime":-1}`, nil, false, int(start), int(limit))
-========
 		data, _ := Mgo.Find("euserdepartrule", query, `{"i_createtime":-1}`, nil, false, int(start), int(limit))
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 		for _, v := range *data {
-			d, _ := util.Mgo.FindById("euserdepart", common.ObjToString(v["s_departid"]), nil)
-			v["s_depart"] = common.ObjToString((*d)["s_name"])
+			d, _ := Mgo.FindById("euserdepart", qu.ObjToString(v["s_departid"]), nil)
+			v["s_depart"] = qu.ObjToString((*d)["s_name"])
 		}
-		count := util.Mgo.Count("euserdepartrule", query)
+		count := Mgo.Count("euserdepartrule", query)
 		c.ServeJson(map[string]interface{}{
 			"draw":            draw,
 			"data":            data,
@@ -367,7 +340,7 @@ func (c *OwnTag) CuserRuleList() {
 }
 
 func (c *OwnTag) TagAssociated() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := c.GetString("_id")
 	ids := c.GetString("ids")
 	set := bson.M{
@@ -375,14 +348,14 @@ func (c *OwnTag) TagAssociated() {
 			"o_departruleids": ids,
 		},
 	}
-	b := util.Mgo.UpdateById("eusertagrule", _id, set)
+	b := Mgo.UpdateById("eusertagrule", _id, set)
 	c.ServeJson(map[string]interface{}{
 		"rep": b,
 	})
 }
 
 func (c *OwnTag) Addhistoryrule() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		his_id := c.GetString("history_id")
 		//log.Println("hisid", his_id)
@@ -407,11 +380,7 @@ func (c *OwnTag) Addhistoryrule() {
 					"i_extfieldstype": i_extfieldstype,
 				},
 			}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-			isupdata := util.Mgo.UpdateById("historylog", mongodb.StringTOBsonId(his_id), set)
-========
 			isupdata := Mgo.UpdateById("historylog", mongodb.StringTOBsonId(his_id), set)
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 			if isupdata {
 				c.ServeJson(map[string]interface{}{
 					"history_id": his_id,
@@ -430,20 +399,20 @@ func (c *OwnTag) Addhistoryrule() {
 }
 
 func (c *OwnTag) HistoryRuleCreate() {
-	defer common.Catch()
+	defer qu.Catch()
 	if c.Method() == "POST" {
 		user := c.GetSession("user").(map[string]interface{})
-		data := util.GetPostForm(c.Request)
+		data := GetPostForm(c.Request)
 		o_rules := []map[string]interface{}{}
 		o_rulesStr := data["o_rules"].(string)
 		json.Unmarshal([]byte(o_rulesStr), &o_rules)
 		data["o_rules"] = o_rules
-		id := common.ObjToString(data["id"])
+		id := qu.ObjToString(data["id"])
 		user_id := data["ids"]
 		delete(data, "id")
 		delete(data, "ids")
-		if common.IntAll(data["i_esquerytype"]) == 1 { //自动生成es
-			data["s_esquery"] = util.Utiltags(data)
+		if qu.IntAll(data["i_esquerytype"]) == 1 { //自动生成es
+			data["s_esquery"] = Utiltags(data)
 		}
 		i_createtime := time.Now().Unix()
 		data["i_updatetime"] = i_createtime
@@ -452,7 +421,7 @@ func (c *OwnTag) HistoryRuleCreate() {
 		var rep = false
 		s_id := ""
 		if id == "" { //新建
-			dData, ok := util.Mgo.FindOne("euserdepart", bson.M{"s_userid": user_id, "s_name": data["departmentName"]})
+			dData, ok := Mgo.FindOne("euserdepart", bson.M{"s_userid": user_id, "s_name": data["departmentName"]})
 			if dData == nil || *dData == nil || !ok {
 				d_data := map[string]interface{}{
 					"i_isuse":      1,
@@ -463,7 +432,7 @@ func (c *OwnTag) HistoryRuleCreate() {
 					"b_delete":     true,
 					"i_type":       "historyData",
 				}
-				s_id = util.Mgo.Save("euserdepart", d_data)
+				s_id = Mgo.Save("euserdepart", d_data)
 			} else {
 				s_id = mongodb.BsonIdToSId((*dData)["_id"])
 			}
@@ -471,12 +440,12 @@ func (c *OwnTag) HistoryRuleCreate() {
 			data["s_departid"] = s_id
 			data["i_createtime"] = i_createtime
 			data["s_createuser"] = user["name"]
-			s_namekey := gopinyin.Convert(common.ObjToString(data["s_name"]), false)
+			s_namekey := gopinyin.Convert(qu.ObjToString(data["s_name"]), false)
 			data["s_namekey"] = s_namekey
 			data["b_delete"] = true
 			data["s_dataid"] = encrypt.SE.EncodeString(fmt.Sprintf("%v", i_createtime) + s_namekey + s_id)
 			data["i_type"] = "historyData"
-			id = util.Mgo.Save("euserdepartrule", data)
+			id = Mgo.Save("euserdepartrule", data)
 			if id != "" {
 				rep = AddHistoryLogDep(data, false, id)
 			} else {
@@ -486,7 +455,7 @@ func (c *OwnTag) HistoryRuleCreate() {
 			query := bson.M{
 				"_id": mongodb.StringTOBsonId(id),
 			}
-			reps := util.Mgo.Update("euserdepartrule", query, bson.M{"$set": data}, false, false)
+			reps := Mgo.Update("euserdepartrule", query, bson.M{"$set": data}, false, false)
 			if reps {
 				rep = AddHistoryLogDep(data, true, id)
 			}
@@ -504,34 +473,30 @@ func (c *OwnTag) HistoryRuleCreate() {
 		c.T["cid"] = id //客户id
 		c.T["ids"] = id
 		c.T["history_id"] = c.GetString("hid")
-		c.T["province"] = util.Province
-		c.T["city"] = util.ProvinceCitys
-		c.T["district"] = util.CityDistricts
-		c.T["topTypeArr"] = util.TopTypeArr
-		c.T["subTypeArr"] = util.SubTypeArr
-		c.T["matchTypeMap"] = util.MatchTypeMap
-		c.T["matchTypeMap2"] = util.MatchTypeMap2
-		c.T["existField"] = util.ExistFiled
-		c.T["buyerClass"] = util.BuyerClass
-		c.T["scopeClass"] = util.ScopeClassMap
+		c.T["province"] = Province
+		c.T["city"] = ProvinceCitys
+		c.T["district"] = CityDistricts
+		c.T["topTypeArr"] = TopTypeArr
+		c.T["subTypeArr"] = SubTypeArr
+		c.T["matchTypeMap"] = MatchTypeMap
+		c.T["matchTypeMap2"] = MatchTypeMap2
+		c.T["existField"] = ExistFiled
+		c.T["buyerClass"] = BuyerClass
+		c.T["scopeClass"] = ScopeClassMap
 		c.Render("client/cuser_rule_history_edit.html", &c.T)
 	}
 }
 
 // 历史任务删除私有标签
 func (c *OwnTag) HistoryTagDel() {
-	defer common.Catch()
+	defer qu.Catch()
 	// userid := c.GetString("userid")
 	tagid := c.GetString("tagid")
 	hid := c.GetString("hid")
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	user_info, _ := util.Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)})
-========
 	user_info, _ := Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	if user_info != nil && *user_info != nil {
 		if (*user_info)["tag_rules"] != nil {
-			user_tag_rules := common.ObjArrToMapArr((*user_info)["tag_rules"].([]interface{}))
+			user_tag_rules := qu.ObjArrToMapArr((*user_info)["tag_rules"].([]interface{}))
 			ruleMap := map[string]bool{tagid: true}
 			ruleArr := []map[string]interface{}{}
 			for _, m := range user_tag_rules {
@@ -539,11 +504,7 @@ func (c *OwnTag) HistoryTagDel() {
 					ruleArr = append(ruleArr, m)
 				}
 			}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-			is_updata := util.Mgo.Update("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)}, bson.M{"$set": bson.M{"tag_rules": ruleArr}}, false, false)
-========
 			is_updata := Mgo.Update("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)}, bson.M{"$set": bson.M{"tag_rules": ruleArr}}, false, false)
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 			c.ServeJson(map[string]interface{}{
 				"rep": is_updata,
 			})
@@ -557,24 +518,20 @@ func (c *OwnTag) HistoryTagDel() {
 
 // 私有标签关联数据
 func (c *OwnTag) HistoryTagAssociated() {
-	defer common.Catch()
+	defer qu.Catch()
 	userid := c.GetString("userid")
 	rule_id := c.GetString("_id")
 	tags := c.GetString("ids")
 	hid := c.GetString("hid")
 
 	if userid != "" {
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		user_info, _ := util.Mgo.FindOne("historylog", map[string]interface{}{
-========
 		user_info, _ := Mgo.FindOne("historylog", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 			"_id": mongodb.StringTOBsonId(hid),
 		})
 		if user_info != nil && *user_info != nil {
 			tagrules := (*user_info)["tag_rules"]
 			if tagrules != nil {
-				tagrulesArr := common.ObjArrToMapArr(tagrules.([]interface{}))
+				tagrulesArr := qu.ObjArrToMapArr(tagrules.([]interface{}))
 				for _, m := range tagrulesArr {
 					if rule_id == mongodb.BsonIdToSId(m["_id"]) {
 						m["o_departruleids"] = tags
@@ -585,11 +542,7 @@ func (c *OwnTag) HistoryTagAssociated() {
 						"tag_rules": tagrulesArr,
 					},
 				}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-				is_updata := util.Mgo.Update("historylog", map[string]interface{}{
-========
 				is_updata := Mgo.Update("historylog", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 					"_id": mongodb.StringTOBsonId(hid),
 				}, set, false, false)
 				c.ServeJson(map[string]interface{}{
@@ -606,18 +559,14 @@ func (c *OwnTag) SaveHistoryRule() {
 	history_id := c.GetString("hid")
 	// userid := c.GetString("userid")
 	if history_id != "" {
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		user_history, _ := util.Mgo.FindOne("historylog", map[string]interface{}{
-========
 		user_history, _ := Mgo.FindOne("historylog", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 			"_id": mongodb.StringTOBsonId(history_id),
 		})
 		if *user_history != nil && user_history != nil {
 			//获取私有标签
 			// usertags := getTserTag(userid)
 			if (*user_history)["dep_rules"] != nil {
-				dep_rules := common.ObjArrToMapArr((*user_history)["dep_rules"].([]interface{}))
+				dep_rules := qu.ObjArrToMapArr((*user_history)["dep_rules"].([]interface{}))
 				dep_new_rules := []map[string]interface{}{}
 				ruleMap := map[string]bool{}
 				if len(dep_rules) > 0 {
@@ -633,14 +582,10 @@ func (c *OwnTag) SaveHistoryRule() {
 							"_id":      mongodb.StringTOBsonId(rule),
 							"b_delete": false,
 						}
-						res, _ := util.Mgo.FindOne("euserdepartrule", query)
+						res, _ := Mgo.FindOne("euserdepartrule", query)
 						if res != nil && len(*res) != 0 {
 							//获取规则所属部门信息
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-							department_info, _ := util.Mgo.FindOne("euserdepart", map[string]interface{}{
-========
 							department_info, _ := Mgo.FindOne("euserdepart", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 								"_id":      mongodb.StringTOBsonId((*res)["s_departid"].(string)),
 								"b_delete": false,
 							})
@@ -657,11 +602,7 @@ func (c *OwnTag) SaveHistoryRule() {
 						"updatetime": time.Now().Unix(),
 					},
 				}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-				ok := util.Mgo.Update("historylog", map[string]interface{}{
-========
 				ok := Mgo.Update("historylog", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 					"_id": mongodb.StringTOBsonId(history_id),
 				}, set, false, false)
 				//log.Println("ok", ok)
@@ -677,14 +618,10 @@ func (c *OwnTag) SaveHistoryRule() {
 						"_id":      mongodb.StringTOBsonId(rule),
 						"b_delete": false,
 					}
-					res, _ := util.Mgo.FindOne("euserdepartrule", query)
+					res, _ := Mgo.FindOne("euserdepartrule", query)
 					if res != nil && *res != nil {
 						//获取规则所属部门信息
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-						department_info, _ := util.Mgo.FindOne("euserdepart", map[string]interface{}{
-========
 						department_info, _ := Mgo.FindOne("euserdepart", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 							"_id":      mongodb.StringTOBsonId((*res)["s_departid"].(string)),
 							"b_delete": false,
 						})
@@ -700,11 +637,7 @@ func (c *OwnTag) SaveHistoryRule() {
 						"updatetime": time.Now().Unix(),
 					},
 				}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-				isupdata := util.Mgo.Update("historylog", map[string]interface{}{
-========
 				isupdata := Mgo.Update("historylog", map[string]interface{}{
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 					"_id": mongodb.StringTOBsonId(history_id),
 				}, set, false, false)
 				c.ServeJson(map[string]interface{}{
@@ -726,14 +659,10 @@ func (c *OwnTag) DelHistoryRule() {
 	id := c.GetString("id")
 	hid := c.GetString("hid")
 	if hid != "" {
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		data, ok := util.Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)})
-========
 		data, ok := Mgo.FindOne("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 		if ok && data != nil && *data != nil {
 			if (*data)["dep_rules"] != nil {
-				dep_rules := common.ObjArrToMapArr((*data)["dep_rules"].([]interface{}))
+				dep_rules := qu.ObjArrToMapArr((*data)["dep_rules"].([]interface{}))
 				ruleMap := map[string]bool{id: true}
 				ruleArr := []map[string]interface{}{}
 				for _, m := range dep_rules {
@@ -741,11 +670,7 @@ func (c *OwnTag) DelHistoryRule() {
 						ruleArr = append(ruleArr, m)
 					}
 				}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-				ok := util.Mgo.Update("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)}, bson.M{"$set": bson.M{"dep_rules": ruleArr}}, false, false)
-========
 				ok := Mgo.Update("historylog", bson.M{"_id": mongodb.StringTOBsonId(hid)}, bson.M{"$set": bson.M{"dep_rules": ruleArr}}, false, false)
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 				c.ServeJson(map[string]interface{}{
 					"success": ok,
 				})
@@ -758,35 +683,24 @@ func (c *OwnTag) HistoryRuleEdit() {
 	hid := c.GetString("hid")
 	rid := c.GetString("rid")
 	if c.Method() == "POST" {
-		data := util.GetPostForm(c.Request)
+		data := GetPostForm(c.Request)
 		o_rules := []map[string]interface{}{}
 		o_rulesStr := data["o_rules"].(string)
 		json.Unmarshal([]byte(o_rulesStr), &o_rules)
 		data["o_rules"] = o_rules
 		data["_id"] = mongodb.StringTOBsonId(rid)
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		if common.IntAll(data["i_esquerytype"]) == 1 { //自动生成es
-			data["s_esquery"] = util.Utiltags(data)
-		}
-		datas, ok := util.Mgo.FindOne("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)})
-========
 		if qu.IntAll(data["i_esquerytype"]) == 1 { //自动生成es
 			data["s_esquery"] = Utiltags(data)
 		}
 		datas, ok := Mgo.FindOne("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 		if ok && datas != nil && *datas != nil {
-			dep_rules := common.ObjArrToMapArr((*datas)["dep_rules"].([]interface{}))
+			dep_rules := qu.ObjArrToMapArr((*datas)["dep_rules"].([]interface{}))
 			for k, v := range dep_rules {
 				if rid == mongodb.BsonIdToSId(v["_id"]) {
 					dep_rules[k] = data
 				}
 			}
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-			rep := util.Mgo.Update("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)}, map[string]interface{}{"$set": map[string]interface{}{"dep_rules": dep_rules}}, false, false)
-========
 			rep := Mgo.Update("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)}, map[string]interface{}{"$set": map[string]interface{}{"dep_rules": dep_rules}}, false, false)
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 			c.ServeJson(map[string]interface{}{
 				"rep":       rep,
 				"s_esquery": data["s_esquery"],
@@ -794,13 +708,9 @@ func (c *OwnTag) HistoryRuleEdit() {
 		}
 	} else {
 		id := c.GetString("id")
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-		data, ok := util.Mgo.FindOne("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)})
-========
 		data, ok := Mgo.FindOne("historylog", map[string]interface{}{"_id": mongodb.StringTOBsonId(hid)})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 		if ok && data != nil && *data != nil {
-			dep_rules := common.ObjArrToMapArr((*data)["dep_rules"].([]interface{}))
+			dep_rules := qu.ObjArrToMapArr((*data)["dep_rules"].([]interface{}))
 			for _, v := range dep_rules {
 				if rid == mongodb.BsonIdToSId(v["_id"]) {
 					c.T["data"] = v
@@ -812,16 +722,16 @@ func (c *OwnTag) HistoryRuleEdit() {
 		c.T["ids"] = id
 		c.T["history_id"] = hid
 		c.T["rid"] = rid
-		c.T["province"] = util.Province
-		c.T["city"] = util.ProvinceCitys
-		c.T["district"] = util.CityDistricts
-		c.T["topTypeArr"] = util.TopTypeArr
-		c.T["subTypeArr"] = util.SubTypeArr
-		c.T["matchTypeMap"] = util.MatchTypeMap
-		c.T["matchTypeMap2"] = util.MatchTypeMap2
-		c.T["existField"] = util.ExistFiled
-		c.T["buyerClass"] = util.BuyerClass
-		c.T["scopeClass"] = util.ScopeClassMap
+		c.T["province"] = Province
+		c.T["city"] = ProvinceCitys
+		c.T["district"] = CityDistricts
+		c.T["topTypeArr"] = TopTypeArr
+		c.T["subTypeArr"] = SubTypeArr
+		c.T["matchTypeMap"] = MatchTypeMap
+		c.T["matchTypeMap2"] = MatchTypeMap2
+		c.T["existField"] = ExistFiled
+		c.T["buyerClass"] = BuyerClass
+		c.T["scopeClass"] = ScopeClassMap
 		c.Render("private/history_rule_edit.html", &c.T)
 	}
 }
@@ -841,7 +751,7 @@ func (c *OwnTag) CustomerAllRule() {
 	//获取新增历史规则
 	inc_rules := []map[string]interface{}{}
 	inc_rule := make(map[string]interface{})
-	inc_data, _ := util.Mgo.FindOne("historylog", inc_query)
+	inc_data, _ := Mgo.FindOne("historylog", inc_query)
 	if inc_data != nil && *inc_data != nil {
 		for _, t := range (*inc_data)["dep_rules"].([]interface{}) {
 			if !t.(map[string]interface{})["is_new"].(bool) {
@@ -856,7 +766,7 @@ func (c *OwnTag) CustomerAllRule() {
 			}
 		}
 	}
-	data, _ := util.Mgo.Find("euserdepart", query, `{"i_createtime":-1}`, nil, false, 0, 0)
+	data, _ := Mgo.Find("euserdepart", query, `{"i_createtime":-1}`, nil, false, 0, 0)
 	if data != nil && len(*data) != 0 {
 		res := []map[string]interface{}{}
 		for _, m := range *data {
@@ -867,7 +777,7 @@ func (c *OwnTag) CustomerAllRule() {
 			}
 			history_rule_data["department_isuse"] = m["i_isuse"]
 			history_rule_data["depart_name"] = m["s_name"]
-			depart_rule_data, _ := util.Mgo.Find("euserdepartrule", q, `{"i_createtime":-1}`, `{"s_name":1,"i_updatetime":1,"i_isuse":1,"_id":1}`, false, 0, 0)
+			depart_rule_data, _ := Mgo.Find("euserdepartrule", q, `{"i_createtime":-1}`, `{"s_name":1,"i_updatetime":1,"i_isuse":1,"_id":1}`, false, 0, 0)
 			if depart_rule_data != nil && len(*depart_rule_data) != 0 {
 				for _, j := range *depart_rule_data {
 					j["_id"] = j["_id"].(primitive.ObjectID).Hex()
@@ -891,17 +801,12 @@ func (c *OwnTag) CustomerAllRule() {
 }
 
 func AddHistoryLogTag(ruleData map[string]interface{}, isUpdate bool, id string) bool {
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	history_id := mongodb.StringTOBsonId(common.ObjToString(ruleData["hid"]))
-	hData, ok := util.Mgo.FindOne("historylog", bson.M{"_id": history_id})
-========
 	history_id := mongodb.StringTOBsonId(qu.ObjToString(ruleData["hid"]))
 	hData, ok := Mgo.FindOne("historylog", bson.M{"_id": history_id})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	if ok && hData != nil && *hData != nil && len(*hData) > 0 {
 		tag_rules := []map[string]interface{}{}
 		if (*hData)["tag_rules"] != nil {
-			tag_rules = common.ObjArrToMapArr((*hData)["tag_rules"].([]interface{}))
+			tag_rules = qu.ObjArrToMapArr((*hData)["tag_rules"].([]interface{}))
 		}
 		ruleData["is_new"] = true
 		if isUpdate {
@@ -913,7 +818,7 @@ func AddHistoryLogTag(ruleData map[string]interface{}, isUpdate bool, id string)
 		} else {
 			tag_rules = append(tag_rules, ruleData)
 		}
-		return util.Mgo.Update("historylog", bson.M{"_id": history_id}, bson.M{"$set": bson.M{"tag_rules": tag_rules}}, false, false)
+		return Mgo.Update("historylog", bson.M{"_id": history_id}, bson.M{"$set": bson.M{"tag_rules": tag_rules}}, false, false)
 	} else {
 		return false
 	}
@@ -922,15 +827,11 @@ func AddHistoryLogTag(ruleData map[string]interface{}, isUpdate bool, id string)
 
 func AddHistoryLogDep(ruleData map[string]interface{}, isUpdate bool, id string) bool {
 	history_id := mongodb.StringTOBsonId(ruleData["history_id"].(string))
-<<<<<<<< HEAD:CMPlatform/client/ownTag.go
-	hData, ok := util.Mgo.FindOne("historylog", bson.M{"_id": history_id})
-========
 	hData, ok := Mgo.FindOne("historylog", bson.M{"_id": history_id})
->>>>>>>> dev1.4.2:SEPlatform/client/ownTag.go
 	if ok && hData != nil && *hData != nil && len(*hData) > 0 {
 		dep_rules := []map[string]interface{}{}
 		if (*hData)["dep_rules"] != nil {
-			dep_rules = common.ObjArrToMapArr((*hData)["dep_rules"].([]interface{}))
+			dep_rules = qu.ObjArrToMapArr((*hData)["dep_rules"].([]interface{}))
 		}
 		ruleData["is_new"] = true
 		if isUpdate {
@@ -942,7 +843,7 @@ func AddHistoryLogDep(ruleData map[string]interface{}, isUpdate bool, id string)
 		} else {
 			dep_rules = append(dep_rules, ruleData)
 		}
-		return util.Mgo.Update("historylog", bson.M{"_id": history_id}, bson.M{"$set": bson.M{"dep_rules": dep_rules}}, false, false)
+		return Mgo.Update("historylog", bson.M{"_id": history_id}, bson.M{"$set": bson.M{"dep_rules": dep_rules}}, false, false)
 	} else {
 		return false
 	}

+ 7 - 11
SEPlatform/client/util_client.go

@@ -1,11 +1,7 @@
 package client
 
 import (
-<<<<<<<< HEAD:CMPlatform/client/util_client.go
-	"app.yhyue.com/moapp/jybase/common"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
->>>>>>>> dev1.4.2:SEPlatform/client/util_client.go
 	"regexp"
 	"strings"
 )
@@ -28,31 +24,31 @@ var MatchType = map[string]interface{}{
 func TestMactchKeys(types, key string, data map[string]interface{}) string {
 	keyWord := []string{}
 	if strings.Contains(types, "1") {
-		title := common.ObjToString(data["title"])
+		title := qu.ObjToString(data["title"])
 		keyWord = KeyWordToDatas(types, title, key, keyWord)
 	}
 	if strings.Contains(types, "2") {
-		detail := common.ObjToString(data["detail"])
+		detail := qu.ObjToString(data["detail"])
 		keyWord = KeyWordToDatas(types, detail, key, keyWord)
 	}
 	if strings.Contains(types, "3") {
-		purchasing := common.ObjToString(data["purchasing"])
+		purchasing := qu.ObjToString(data["purchasing"])
 		keyWord = KeyWordToDatas(types, purchasing, key, keyWord)
 	}
 	if strings.Contains(types, "4") {
-		filetext := common.ObjToString(data["filetext"])
+		filetext := qu.ObjToString(data["filetext"])
 		keyWord = KeyWordToDatas(types, filetext, key, keyWord)
 	}
 	if strings.Contains(types, "5") {
-		projectname := common.ObjToString(data["projectname"])
+		projectname := qu.ObjToString(data["projectname"])
 		keyWord = KeyWordToDatas(types, projectname, key, keyWord)
 	}
 	if strings.Contains(types, "6") || strings.Contains(types, "8") {
-		buyer := common.ObjToString(data["buyer"])
+		buyer := qu.ObjToString(data["buyer"])
 		keyWord = KeyWordToDatas(types, buyer, key, keyWord)
 	}
 	if strings.Contains(types, "7") || strings.Contains(types, "9") {
-		winner := common.ObjToString(data["s_winner"])
+		winner := qu.ObjToString(data["s_winner"])
 		keyWord = KeyWordToDatas(types, winner, key, keyWord)
 	}
 	keyMap := map[string]bool{}

+ 8 - 114
SEPlatform/config.json

@@ -8,22 +8,13 @@
   "dbnameen": "enterprise",
   "mongoenc": "winner_enterprise",
   "subday": 15,
-  "logpath": "",
   "customer": {
-<<<<<<<< HEAD:CMPlatform/config.json
-    "api": "https://jybx3-webtest.jydev.jianyu360.com/api1/user/jy_newuser",
-========
     "api": "http://web-jytest.jianyu360.cn/api1/user/jy_newuser",
->>>>>>>> dev1.4.2:SEPlatform/config.json
     "mgodb": "192.168.3.206:27080",
     "dbname": "jyqyfw",
     "dbsize": 5
   },
-<<<<<<<< HEAD:CMPlatform/config.json
-  "preview_href": "http://192.168.20.214:5500/data-preview.html",
-========
   "preview_href": "http://192.168.3.204:8081/preview/data-preview.html",
->>>>>>>> dev1.4.2:SEPlatform/config.json
   "elasticsearch": "http://192.168.3.241:9205",
   "elasticsearch_index": "bidding",
   "elasticsearch_type": "bidding",
@@ -47,12 +38,7 @@
     "hospcoll": "buyer_rank",
     "buyerentcoll": "buyer_ent",
     "username": "",
-<<<<<<<< HEAD:CMPlatform/config.json
-    "password": "",
-    "replSet": ""
-========
     "password": ""
->>>>>>>> dev1.4.2:SEPlatform/config.json
   },
   "enterprise": {
     "addr": "192.168.3.71:29099",
@@ -60,12 +46,7 @@
     "db": "mixdata",
     "coll": "qyxy_std",
     "username": "",
-<<<<<<<< HEAD:CMPlatform/config.json
-    "password": "",
-    "replSet": ""
-========
     "password": ""
->>>>>>>> dev1.4.2:SEPlatform/config.json
   },
   "save": {
     "addr": "192.168.3.71:29099",
@@ -77,11 +58,7 @@
     "coll_project": "usermail_history_projectid"
   },
   "extract": {
-<<<<<<<< HEAD:CMPlatform/config.json
-    "addr": "192.168.3.71:29099",
-========
     "addr": "192.168.3.206:27080",
->>>>>>>> dev1.4.2:SEPlatform/config.json
     "coll": "result_20200917",
     "db": "qfw",
     "size": 15
@@ -92,21 +69,8 @@
     "itype": "bidding",
     "pool": 15,
     "version": "v7",
-<<<<<<<< HEAD:CMPlatform/config.json
-    "userName": "es_all",
-    "password": "TopJkO2E_d1x"
-  },
-  "es_customer": {
-    "addr": "http://192.168.3.241:9205",
-    "index": "bidding",
-    "pool": 15,
-    "version": "v7",
-    "userName": "jybid",
-    "password": "Top2023_JEB01i@31"
-========
     "userName": "",
     "password": ""
->>>>>>>> dev1.4.2:SEPlatform/config.json
   },
   "mail": [
     {
@@ -119,7 +83,8 @@
   "project_appid": [
     "111",
     "222",
-    "jyPB1XQgsGBQNbQElICQNW"
+    "jyPB1XQgsGBQNbQElICQNW",
+    "jyMDBXQQIDCQBeSUdBITNf"
   ],
   "s_winner_filter": [
     ",",
@@ -214,6 +179,7 @@
     "111",
     "222",
     "jyPB1XQgsGBQNbQElICQNW",
+    "jyMDBXQQIDCQBeSUdBITNf",
     "jyFzZXQQIECAZYQERAPD93"
   ],
   "checkbidopen_appid": [
@@ -229,8 +195,8 @@
     "111",
     "222",
     "jyPB1XQgsGBQNbQElICQNW",
-    "jyFApXQQIEAw5TTUZOMBpD",
-    "jyAQ5XQQMIAw5bSkdIBxpg"
+    "jyMDBXQQIDCQBeSUdBITNf",
+    "jyFApXQQIEAw5TTUZOMBpD"
   ],
   "dis_package_config": {
     "yidong": {
@@ -250,54 +216,24 @@
     }
   },
   "need_projectid_appid": [
+    "jyMDBXQQIDCQBeSUdBITNf",
     "jyFApXQQIEAw5TTUZOMBpD"
   ],
-<<<<<<<< HEAD:CMPlatform/config.json
-  "redis_addrs": "datag=192.168.3.149:1712,session=192.168.3.149:1712,other=192.168.3.149:1712,ent=192.168.3.149:1712",
-  "jyPushMysql": {
-    "username": "root",
-    "password": "=PDT49#80Z!RVv52_z",
-    "address": "192.168.3.14:4000",
-========
   "redis_addrs": "datag=192.168.3.11:1712,export=192.168.3.11:1712",
   "jyMysql": {
     "username": "root",
     "password": "Topnet123",
     "address": "192.168.3.149:3306",
->>>>>>>> dev1.4.2:SEPlatform/config.json
-    "dbName": "jianyu"
-  },
-  "jyMysql": {
-    "username": "root",
-    "password": "=PDT49#80Z!RVv52_z",
-    "address": "192.168.3.14:4000",
     "dbName": "jianyu"
   },
-  "pushMysql": {
-    "username": "root",
-    "password": "=PDT49#80Z!RVv52_z",
-    "address": "192.168.3.14:4000",
-    "dbName": "jianyu",
-    "maxIdleConns": 2
-  },
-  "entMysql": {
-    "username": "root",
-    "password": "=PDT49#80Z!RVv52_z",
-    "address": "192.168.3.14:4000",
-    "dbName": "bi_service"
-  },
   "bidding_mgo": {
     "addr": "192.168.3.71:29099",
     "coll": "bidding",
-    "db": "qfw",
+    "db": "qfw_data",
     "size": 15,
     "username": "",
     "password": "",
-<<<<<<<< HEAD:CMPlatform/config.json
-    "replSet": ""
-========
     "replSet": "bidding"
->>>>>>>> dev1.4.2:SEPlatform/config.json
   },
   "file_downloadurl": "http://jy-datafile.oss-cn-beijing.aliyuncs.com/",
   "filter_filehref_appid": [
@@ -306,47 +242,5 @@
   "need_filehref_appid": [
     "jyFzZXQQIECAZYQERAPD93"
   ],
-<<<<<<<< HEAD:CMPlatform/config.json
-  "Henan_mobile_winbid": [
-    "jyAQ5XQQMIAw5bSkdIBxpg"
-  ],
-  "winner_style_match": {
-    "a_integration_company": {
-      "name": "集成公司",
-      "keyWord": "中移在线,中移系统,中移,铁通,天翼视讯,天翼电信,中国通信服务股份有限公司,中通服,广东省电信规划设计院有限公司"
-    },
-    "b_ben_bu": {
-      "name": "本部",
-      "keyWord": "移动,联通,联合网络通信,电信,联合通信"
-    }
-  },
-  "Henan_mobile_bidtype": [
-    "jyAQ5XQQMIAw5bSkdIBxpg",
-    "jyMhBXQQMICQ9cSkJJDj5a"
-  ],
-  "dedup_url": "http://127.0.0.1:8888/data/deduplication",
-  "ent_count_url": "http://127.0.0.1:8888/data/getEntCount",
-  "elasticsearch_all_index": "bidding_all",
-  "elasticsearch_interim_index": "bidding",
-  "elasticsearch_total_index": "bidding",
-  "site_mgo": {
-    "addr": "192.168.3.71:29099",
-    "size": 5,
-    "db": "datatag_ent",
-    "coll": "site"
-  },
-  "filter_file_and_detail": [
-    "",
-    ""
-  ],
-  "filter_detail_count": 15,
-  "isNewSql": 1,
-  "filter_owner_appid": [
-  ],
-  "rpcServer_jy": "192.168.3.206:8699",
-  "rpcServer_project": "127.0.0.1:7979"
-}
-========
   "isNewSql": 1
-}
->>>>>>>> dev1.4.2:SEPlatform/config.json
+}

+ 2 - 6
SEPlatform/filter/filter.go

@@ -2,20 +2,16 @@ package filter
 
 import (
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
+	"log"
 	"regexp"
 )
 
-<<<<<<<< HEAD:CMPlatform/filter/filter.go
-// 需要系统管理员权限
-var CustomerReg = regexp.MustCompile("^/client|customerRule/.+$")
-========
 //需要系统管理员权限
 
-
 var CustomerReg = regexp.MustCompile("^/client|customerRule|personnel/.+$")
->>>>>>>> dev1.4.2:SEPlatform/filter/filter.go
 
 func init() {
+	log.Println("过滤器")
 	matchUrl := make([]*regexp.Regexp, 0)
 	filter, _ := regexp.Compile("/(front|service|client|customerRule|admin|personnel)")
 	matchUrl = append(matchUrl, filter)

+ 0 - 9
SEPlatform/filter/sessfilter.go

@@ -27,14 +27,6 @@ func (s *sessfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 		has := (loginuser != nil && loginuser != "")
 		if has {
 			b = true
-<<<<<<<< HEAD:CMPlatform/filter/sessfilter.go
-			//user := loginuser.(map[string]interface{})
-			//if user["role"] == "3" {
-			//	if !CustomerReg.MatchString(req.URL.Path) {
-			//		b = false
-			//	}
-			//}
-========
 			user := loginuser.(map[string]interface{})
 			if user["role"] == "3" {
 				if !CustomerReg.MatchString(req.URL.Path) {
@@ -44,7 +36,6 @@ func (s *sessfilter) Do(w http.ResponseWriter, req *http.Request) bool {
 			if user["role"] == "" || user["role"] == nil {
 				b = false
 			}
->>>>>>>> dev1.4.2:SEPlatform/filter/sessfilter.go
 		} else {
 			b = false
 		}

+ 11 - 16
SEPlatform/front/logic.go

@@ -1,25 +1,20 @@
 package front
 
 import (
-<<<<<<<< HEAD:CMPlatform/front/logic.go
-	"app.yhyue.com/moapp/jybase/common"
-	"cmplatform/util"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/front/logic.go
 	"time"
 )
 
 func (f *Front) LogicManager() {
-	defer common.Catch()
+	defer qu.Catch()
 	f.Render("com/logic_list.html")
 }
 
 func (f *Front) LogicPre() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("logic", nil, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("logic", nil, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -29,9 +24,9 @@ func (f *Front) LogicPre() {
 }
 
 func (f *Front) LogicMatch() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("logic", nil, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("logic", nil, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -41,9 +36,9 @@ func (f *Front) LogicMatch() {
 }
 
 func (f *Front) LogicClean() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("logic", nil, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("logic", nil, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -53,9 +48,9 @@ func (f *Front) LogicClean() {
 }
 
 func (f *Front) LogicPreSav() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := f.GetString("_id")
-	data := util.GetPostForm(f.Request)
+	data := GetPostForm(f.Request)
 	b := false
 	if _id == "" {
 		data["delete"] = false
@@ -65,10 +60,10 @@ func (f *Front) LogicPreSav() {
 		//data["s_username"] = session["name"].(string)
 		//data["s_userid"] = session["id"].(string)
 		//data["i_runstate"] = 0
-		b = util.Mgo.Save("logic", data) != ""
+		b = Mgo.Save("logic", data) != ""
 	} else {
 		data["l_lasttime"] = time.Now().Unix()
-		b = util.Mgo.Update("logic", `{"_id":"`+_id+`"}`, map[string]interface{}{
+		b = Mgo.Update("logic", `{"_id":"`+_id+`"}`, map[string]interface{}{
 			"$set": data,
 		}, false, false)
 	}

+ 13 - 21
SEPlatform/front/menu.go

@@ -1,26 +1,18 @@
 package front
 
 import (
-<<<<<<<< HEAD:CMPlatform/front/menu.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"cmplatform/util"
-	"go.mongodb.org/mongo-driver/bson"
-	"go.mongodb.org/mongo-driver/bson/primitive"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/mongodb"
 	"go.mongodb.org/mongo-driver/bson"
 	"go.mongodb.org/mongo-driver/bson/primitive"
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/front/menu.go
 	"time"
 )
 
 func (f *Front) Menu() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("menu_first", `{"delete":false}`, `{"_id":1}`, nil, false, -1, -1)
+		data, _ := Mgo.Find("menu_first", `{"delete":false}`, `{"_id":1}`, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -30,7 +22,7 @@ func (f *Front) Menu() {
 }
 
 func (f *Front) MenuSave() {
-	defer common.Catch()
+	defer qu.Catch()
 	name := f.GetString("name")
 	href := f.GetString("href")
 	css := f.GetString("css")
@@ -54,7 +46,7 @@ func (f *Front) MenuSave() {
 			"i_comeintime": time.Now().Unix(),
 		},
 	}
-	b := util.Mgo.Update("menu_first", query, set, true, false)
+	b := Mgo.Update("menu_first", query, set, true, false)
 	if b {
 		f.ServeJson(map[string]interface{}{
 			"rep": b,
@@ -63,7 +55,7 @@ func (f *Front) MenuSave() {
 }
 
 func (f *Front) MenuDel() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := f.GetString("_id")
 	query := bson.M{
 		"_id": mongodb.StringTOBsonId(_id),
@@ -73,9 +65,9 @@ func (f *Front) MenuDel() {
 			"delete": true,
 		},
 	}
-	b := util.Mgo.Update("menu_first", query, set, false, false)
+	b := Mgo.Update("menu_first", query, set, false, false)
 	if b { //删除一级菜单下的二级菜单
-		util.Mgo.Update("menu_second", `{"s_pid":"`+_id+`"}`, set, false, true)
+		Mgo.Update("menu_second", `{"s_pid":"`+_id+`"}`, set, false, true)
 	}
 	f.ServeJson(map[string]interface{}{
 		"rep": b,
@@ -83,10 +75,10 @@ func (f *Front) MenuDel() {
 }
 
 func (f *Front) MenuSecond() {
-	defer common.Catch()
+	defer qu.Catch()
 	id := f.GetString("id")
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("menu_second", `{"s_pid":"`+id+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
+		data, _ := Mgo.Find("menu_second", `{"s_pid":"`+id+`","delete":false}`, `{"_id":1}`, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -97,7 +89,7 @@ func (f *Front) MenuSecond() {
 }
 
 func (f *Front) MenuSecondSave() {
-	defer common.Catch()
+	defer qu.Catch()
 	name := f.GetString("name")
 	href := f.GetString("href")
 	css := f.GetString("css")
@@ -123,7 +115,7 @@ func (f *Front) MenuSecondSave() {
 			"i_comeintime": time.Now().Unix(),
 		},
 	}
-	b := util.Mgo.Update("menu_second", query, set, true, false)
+	b := Mgo.Update("menu_second", query, set, true, false)
 	if b {
 		f.ServeJson(map[string]interface{}{
 			"rep": b,
@@ -132,7 +124,7 @@ func (f *Front) MenuSecondSave() {
 }
 
 func (f *Front) MenuSecondDel() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := f.GetString("_id")
 	query := bson.M{
 		"_id": mongodb.StringTOBsonId(_id),
@@ -142,7 +134,7 @@ func (f *Front) MenuSecondDel() {
 			"delete": true,
 		},
 	}
-	b := util.Mgo.Update("menu_second", query, set, false, false)
+	b := Mgo.Update("menu_second", query, set, false, false)
 	f.ServeJson(map[string]interface{}{
 		"rep": b,
 	})

+ 24 - 56
SEPlatform/front/role.go

@@ -1,25 +1,17 @@
 package front
 
 import (
-<<<<<<<< HEAD:CMPlatform/front/role.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"cmplatform/util"
-	"encoding/json"
-	"go.mongodb.org/mongo-driver/bson"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/mongodb"
 	"encoding/json"
 	"go.mongodb.org/mongo-driver/bson"
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 )
 
 func (f *Front) RoleManager() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
-		data, _ := util.Mgo.Find("role", nil, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("role", nil, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -29,7 +21,7 @@ func (f *Front) RoleManager() {
 }
 
 func (f *Front) RoleNew() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
 		name := f.GetString("role_name")
 		level := f.GetString("role_level")
@@ -41,18 +33,14 @@ func (f *Front) RoleNew() {
 					"level": level,
 				},
 			}
-<<<<<<<< HEAD:CMPlatform/front/role.go
-			bol := util.Mgo.UpdateById("role", mongodb.StringTOBsonId(_id), set)
-========
 			bol := Mgo.UpdateById("role", mongodb.StringTOBsonId(_id), set)
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 			if bol {
 				f.ServeJson(map[string]interface{}{
 					"rep": true,
 				})
 			}
 		} else {
-			_id := util.Mgo.Save("role", bson.M{"name": name, "level": level})
+			_id := Mgo.Save("role", bson.M{"name": name, "level": level})
 			if _id != "" {
 				f.ServeJson(map[string]interface{}{
 					"rep": true,
@@ -65,12 +53,12 @@ func (f *Front) RoleNew() {
 }
 
 func (f *Front) RoleEdit(role string) {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
 		maps := map[string]interface{}{
 			"role." + role: true,
 		}
-		data, _ := util.Mgo.Find("menu_first", maps, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("menu_first", maps, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -81,27 +69,27 @@ func (f *Front) RoleEdit(role string) {
 }
 
 func (f *Front) RoleFirst() {
-	defer common.Catch()
-	data, _ := util.Mgo.Find("menu_first", `{"delete":false}`, nil, nil, false, -1, -1)
+	defer qu.Catch()
+	data, _ := Mgo.Find("menu_first", `{"delete":false}`, nil, nil, false, -1, -1)
 	f.ServeJson(map[string]interface{}{
 		"data": data,
 	})
 }
 
 func (f *Front) RoleSecond() {
-	defer common.Catch()
+	defer qu.Catch()
 	pid := f.GetString("_pid")
 	query := bson.M{
 		"s_pid": pid,
 	}
-	data, _ := util.Mgo.Find("menu_second", query, nil, nil, false, -1, -1)
+	data, _ := Mgo.Find("menu_second", query, nil, nil, false, -1, -1)
 	f.ServeJson(map[string]interface{}{
 		"data": data,
 	})
 }
 
 func (f *Front) RoleSave() {
-	defer common.Catch()
+	defer qu.Catch()
 	pid := f.GetString("_id")
 	role := f.GetString("role")
 	secondStr := f.GetString("secondStr")   //右边 选中的
@@ -115,11 +103,7 @@ func (f *Front) RoleSave() {
 	if s_id == nil && s_id1 == nil {
 		for _, v := range secondmenus {
 			maps := map[string]interface{}{
-<<<<<<<< HEAD:CMPlatform/front/role.go
-				"_id": mongodb.BsonIdToSId(v),
-========
 				"_id": mongodb.StringTOBsonId(v),
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 			}
 			data := map[string]interface{}{
 				"role." + role: true,
@@ -127,15 +111,11 @@ func (f *Front) RoleSave() {
 			data1 := map[string]interface{}{
 				"$set": data,
 			}
-			util.Mgo.Update("menu_second", maps, data1, true, false)
+			Mgo.Update("menu_second", maps, data1, true, false)
 		}
 		for _, v := range secondmenus1 {
 			maps := map[string]interface{}{
-<<<<<<<< HEAD:CMPlatform/front/role.go
-				"_id": mongodb.BsonIdToSId(v),
-========
 				"_id": mongodb.StringTOBsonId(v),
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 			}
 			data := map[string]interface{}{
 				"role." + role: false,
@@ -143,17 +123,13 @@ func (f *Front) RoleSave() {
 			data1 := map[string]interface{}{
 				"$set": data,
 			}
-			util.Mgo.Update("menu_second", maps, data1, true, false)
+			Mgo.Update("menu_second", maps, data1, true, false)
 		}
 	}
 	b := false
 	if (len(secondmenus) == 0 && len(secondmenus1) == 0) || (len(secondmenus) > 0) {
 		maps := map[string]interface{}{
-<<<<<<<< HEAD:CMPlatform/front/role.go
-			"_id": mongodb.BsonIdToSId(pid),
-========
 			"_id": mongodb.StringTOBsonId(pid),
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 		}
 		data := map[string]interface{}{
 			"role." + role: true,
@@ -161,15 +137,11 @@ func (f *Front) RoleSave() {
 		data1 := map[string]interface{}{
 			"$set": data,
 		}
-		b = util.Mgo.Update("menu_first", maps, data1, true, false)
+		b = Mgo.Update("menu_first", maps, data1, true, false)
 	}
 	if len(secondmenus) == 0 && len(secondmenus1) > 0 {
 		maps := map[string]interface{}{
-<<<<<<<< HEAD:CMPlatform/front/role.go
-			"_id": mongodb.BsonIdToSId(pid),
-========
 			"_id": mongodb.StringTOBsonId(pid),
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 		}
 		data := map[string]interface{}{
 			"role." + role: false,
@@ -177,7 +149,7 @@ func (f *Front) RoleSave() {
 		data1 := map[string]interface{}{
 			"$set": data,
 		}
-		b = util.Mgo.Update("menu_first", maps, data1, true, false)
+		b = Mgo.Update("menu_first", maps, data1, true, false)
 	}
 	f.ServeJson(map[string]interface{}{
 		"rep": b,
@@ -185,15 +157,11 @@ func (f *Front) RoleSave() {
 }
 
 func (f *Front) RoleDel() {
-	defer common.Catch()
+	defer qu.Catch()
 	_id := f.GetString("_id")
 	role := f.GetString("role")
 	maps := map[string]interface{}{
-<<<<<<<< HEAD:CMPlatform/front/role.go
-		"_id": mongodb.BsonIdToSId(_id),
-========
 		"_id": mongodb.StringTOBsonId(_id),
->>>>>>>> dev1.4.2:SEPlatform/front/role.go
 	}
 	data := map[string]interface{}{
 		"role." + role: false,
@@ -201,17 +169,17 @@ func (f *Front) RoleDel() {
 	data1 := map[string]interface{}{
 		"$set": data,
 	}
-	b := util.Mgo.Update("menu_first", maps, data1, true, false)
+	b := Mgo.Update("menu_first", maps, data1, true, false)
 	maps = map[string]interface{}{
 		"s_pid": _id,
 	}
-	count, _ := util.Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
+	count, _ := Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
 	if len(*count) != 0 {
 		for _, c := range *count {
 			maps = map[string]interface{}{
 				"_id": c["_id"],
 			}
-			util.Mgo.Update("menu_second", maps, data1, true, false)
+			Mgo.Update("menu_second", maps, data1, true, false)
 		}
 	}
 	f.ServeJson(map[string]interface{}{
@@ -220,7 +188,7 @@ func (f *Front) RoleDel() {
 }
 
 func (f *Front) RoleSecondEdit() {
-	defer common.Catch()
+	defer qu.Catch()
 	menuid := f.GetString("_id")
 	mark := f.GetString("mark")
 	role := f.GetString("role")
@@ -228,7 +196,7 @@ func (f *Front) RoleSecondEdit() {
 		maps := map[string]interface{}{
 			"s_pid": menuid,
 		}
-		datas, _ := util.Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
+		datas, _ := Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"data": datas,
 		})
@@ -237,14 +205,14 @@ func (f *Front) RoleSecondEdit() {
 			"s_pid":        menuid,
 			"role." + role: true,
 		}
-		data, _ := util.Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("menu_second", maps, nil, nil, false, -1, -1)
 		maps1 := map[string]interface{}{
 			"s_pid":        menuid,
 			"role." + role: false,
 		}
-		name, _ := util.Mgo.FindById("menu_first", menuid, `{s_name:1}`)
+		name, _ := Mgo.FindById("menu_first", menuid, `{s_name:1}`)
 		s_name := (*name)["s_name"]
-		data1, _ := util.Mgo.Find("menu_second", maps1, nil, nil, false, -1, -1)
+		data1, _ := Mgo.Find("menu_second", maps1, nil, nil, false, -1, -1)
 		f.ServeJson(map[string]interface{}{
 			"name":  s_name,
 			"data":  data,

File diff suppressed because it is too large
+ 171 - 381
SEPlatform/service/customer_service.go


+ 4 - 22
SEPlatform/service/feedback_service.go

@@ -1,19 +1,11 @@
 package service
 
 import (
-<<<<<<<< HEAD:CMPlatform/service/feedback_service.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"cmplatform/util"
-	"go.mongodb.org/mongo-driver/bson"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 	"app.yhyue.com/moapp/jybase/mongodb"
 	"go.mongodb.org/mongo-driver/bson"
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/service/feedback_service.go
 	"strings"
 )
 
@@ -25,14 +17,14 @@ type Feedback struct {
 
 // 反馈列表
 func (f *Feedback) FeedbackList() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
 		start, _ := f.GetInt("start")
 		limit, _ := f.GetInt("length")
 		draw, _ := f.GetInt("draw")
 		searchStr := f.GetString("search[value]")
 		search := strings.TrimSpace(searchStr)
-		//common.Debug(start, limit, draw, search)
+		//qu.Debug(start, limit, draw, search)
 		query := bson.M{}
 		if search != "" {
 			query["$or"] = []interface{}{
@@ -41,13 +33,8 @@ func (f *Feedback) FeedbackList() {
 			}
 		}
 
-<<<<<<<< HEAD:CMPlatform/service/feedback_service.go
-		data, _ := util.Mgo.Find("feedback", query, `{"_id":-1}`, nil, false, int(start), int(limit))
-		count := util.Mgo.Count("feedback", query)
-========
 		data, _ := Mgo.Find("feedback", query, `{"_id":-1}`, nil, false, int(start), int(limit))
 		count := Mgo.Count("feedback", query)
->>>>>>>> dev1.4.2:SEPlatform/service/feedback_service.go
 		f.ServeJson(map[string]interface{}{
 			"draw":            draw,
 			"data":            data,
@@ -61,7 +48,7 @@ func (f *Feedback) FeedbackList() {
 
 // 反馈信息详情
 func (f *Feedback) FeedbackDetail() {
-	defer common.Catch()
+	defer qu.Catch()
 	if f.Method() == "POST" {
 		start, _ := f.GetInt("start")
 		limit, _ := f.GetInt("length")
@@ -82,13 +69,8 @@ func (f *Feedback) FeedbackDetail() {
 				"$regex": search,
 			}
 		}
-<<<<<<<< HEAD:CMPlatform/service/feedback_service.go
-		data, _ := util.Mgo.Find("feedback_info", query, nil, nil, false, int(start), int(limit))
-		count := util.Mgo.Count("feedback_info", query)
-========
 		data, _ := Mgo.Find("feedback_info", query, nil, nil, false, int(start), int(limit))
 		count := Mgo.Count("feedback_info", query)
->>>>>>>> dev1.4.2:SEPlatform/service/feedback_service.go
 		f.ServeJson(map[string]interface{}{
 			"draw":            draw,
 			"data":            data,
@@ -100,7 +82,7 @@ func (f *Feedback) FeedbackDetail() {
 		query := bson.M{
 			"_id": mongodb.StringTOBsonId(id),
 		}
-		data, _ := util.Mgo.FindOne("feedback", query)
+		data, _ := Mgo.FindOne("feedback", query)
 		f.T["id"] = id
 		f.T["data"] = data
 		f.Render("private/feedback_detail.html", &f.T)

+ 21 - 44
SEPlatform/service/private_rule.go

@@ -1,26 +1,17 @@
 package service
 
 import (
-<<<<<<<< HEAD:CMPlatform/service/private_rule.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"cmplatform/util"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/go-xweb/xweb"
 	"app.yhyue.com/moapp/jybase/mongodb"
->>>>>>>> dev1.4.2:SEPlatform/service/private_rule.go
 	"encoding/json"
 	"fmt"
 	"go.mongodb.org/mongo-driver/bson"
 	"io"
+	"io/ioutil"
 	"net/http"
 	"os"
-<<<<<<<< HEAD:CMPlatform/service/private_rule.go
-========
 	. "seplatform/util"
->>>>>>>> dev1.4.2:SEPlatform/service/private_rule.go
 	"strconv"
 	"strings"
 	"time"
@@ -41,16 +32,16 @@ type Rule struct {
 }
 
 func (r *Rule) RuleImport() {
-	defer common.Catch()
+	defer qu.Catch()
 	if r.Method() == "POST" {
 		mf, _, err := r.GetFile("xlsx")
 		if err == nil {
-			binary, err := io.ReadAll(mf)
+			binary, err := ioutil.ReadAll(mf)
 			if err == nil {
-				rdata, err := util.Parsxlsx(binary)
+				rdata, err := Parsxlsx(binary)
 				if err == nil {
 					//id, rep := updateDbXf("", rdata)
-					//common.Debug("import data:", rdata)
+					//qu.Debug("import data:", rdata)
 					r.ServeJson(map[string]interface{}{
 						"rdata": rdata,
 						"id":    "",
@@ -67,17 +58,17 @@ func (r *Rule) RuleImport() {
 }
 
 func (r *Rule) Archive() {
-	defer common.Catch()
+	defer qu.Catch()
 	if r.Method() == "POST" {
 		rep := false
 		_id := r.GetString("_id")
 		query := bson.M{
 			"_id": mongodb.StringTOBsonId(_id),
 		}
-		tag, _ := util.Mgo.FindOne("tags", query)
+		tag, _ := Mgo.FindOne("tags", query)
 		if len(*tag) > 0 {
 			user := r.GetSession("user").(map[string]interface{})
-			histoty, _ := util.Mgo.FindOne("tags_history", `{"s_tagid":"`+_id+`"}`)
+			histoty, _ := Mgo.FindOne("tags_history", `{"s_tagid":"`+_id+`"}`)
 			s_state := "创建"
 			if len(*histoty) > 0 { //该id已有记录
 				s_state = "变更"
@@ -86,7 +77,7 @@ func (r *Rule) Archive() {
 			(*tag)["s_state"] = s_state                //状态
 			(*tag)["l_changetime"] = time.Now().Unix() //变更时间
 			(*tag)["s_changeperson"] = user["name"]
-			id := util.Mgo.Save("tags_history", tag)
+			id := Mgo.Save("tags_history", tag)
 			if id != "" {
 				rep = true
 			}
@@ -98,10 +89,10 @@ func (r *Rule) Archive() {
 }
 
 func (r *Rule) History() {
-	defer common.Catch()
+	defer qu.Catch()
 	tagid := r.GetString("tagid")
 	if r.Method() == "POST" {
-		data, _ := util.Mgo.Find("tags_history", `{"s_tagid":"`+tagid+`"}`, nil, nil, false, -1, -1)
+		data, _ := Mgo.Find("tags_history", `{"s_tagid":"`+tagid+`"}`, nil, nil, false, -1, -1)
 		r.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -112,13 +103,13 @@ func (r *Rule) History() {
 }
 
 func (r *Rule) ExportEs() {
-	defer common.Catch()
+	defer qu.Catch()
 	id := r.GetString("id")
 	if id == "" {
 		return
 	}
 	w := r.ResponseWriter
-	tag, _ := util.Mgo.FindById("tags", id, `{}`)
+	tag, _ := Mgo.FindById("tags", id, `{}`)
 	s_esquery := (*tag)["s_esquery"].(string)
 	createEsJosn(s_esquery)
 	file, err := os.Open("./es.json")
@@ -142,7 +133,7 @@ func (r *Rule) ExportEs() {
 }
 
 func createEsJosn(es string) {
-	defer common.Catch()
+	defer qu.Catch()
 	jmap := make(map[string]interface{})
 	err := json.Unmarshal([]byte(es), &jmap)
 	//j, err := json.Marshal(es)
@@ -163,37 +154,23 @@ func createEsJosn(es string) {
 }
 
 func (r *Rule) DemoData() {
-	defer common.Catch()
+	defer qu.Catch()
 	if r.Method() == "POST" {
 		sDataid := r.GetString("s_dataid")
 		start, _ := r.GetInt("start")
 		limit, _ := r.GetInt("length")
 		draw, _ := r.GetInt("draw")
-<<<<<<<< HEAD:CMPlatform/service/private_rule.go
-		dataType := r.GetString("dataType")
-		index := util.InterimIndex
-		if dataType != "1" {
-			index = util.TotalIndex
-		}
-========
->>>>>>>> dev1.4.2:SEPlatform/service/private_rule.go
 		query := bson.M{
 			"s_dataid": sDataid,
-			"esIndex":  index,
 		}
-<<<<<<<< HEAD:CMPlatform/service/private_rule.go
-		data, _ := util.Mgo.Find("tagsdata", query, `{"publishtime":-1}`, nil, false, int(start), int(limit))
-		count := util.Mgo.Count("tagsdata", query)
-========
 		data, _ := Mgo.Find("tagsdata", query, `{"publishtime":-1}`, nil, false, int(start), int(limit))
 		count := Mgo.Count("tagsdata", query)
->>>>>>>> dev1.4.2:SEPlatform/service/private_rule.go
 		for _, v := range *data {
 			if v["budget"] != nil {
-				v["budget"] = common.Float64All(fmt.Sprintf("%f", common.Float64All(v["budget"])/10000))
+				v["budget"] = qu.Float64All(fmt.Sprintf("%f", qu.Float64All(v["budget"])/10000))
 			}
 			if v["bidamount"] != nil {
-				v["bidamount"] = common.Float64All(fmt.Sprintf("%f", common.Float64All(v["bidamount"])/10000))
+				v["bidamount"] = qu.Float64All(fmt.Sprintf("%f", qu.Float64All(v["bidamount"])/10000))
 			}
 		}
 		r.ServeJson(map[string]interface{}{
@@ -206,9 +183,9 @@ func (r *Rule) DemoData() {
 }
 
 func (r *Rule) DownloadData() {
-	defer common.Catch()
+	defer qu.Catch()
 	dataId := r.GetString("s_dataid")
-	if path := util.ResponseXlsx_Data(dataId); path == "" {
+	if path := ResponseXlsx_Data(dataId); path == "" {
 		r.ServeJson("没有数据")
 	} else {
 		arr := strings.Split(path, "/")
@@ -222,9 +199,9 @@ func (r *Rule) DownloadData() {
 }
 
 func (r *Rule) DownloadRule() {
-	defer common.Catch()
+	defer qu.Catch()
 	id := r.GetString("id")
-	path := util.ResponseXlsx_Rule(id)
+	path := ResponseXlsx_Rule(id)
 	if path == "" {
 		r.ServeJson("没有数据")
 	} else {

+ 1 - 5
SEPlatform/util/clearHtml.go

@@ -1,11 +1,7 @@
 package util
 
 import (
-<<<<<<<< HEAD:CMPlatform/util/clearHtml.go
-	"app.yhyue.com/moapp/jybase/common"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
->>>>>>>> dev1.4.2:SEPlatform/util/clearHtml.go
 	"github.com/PuerkitoBio/goquery"
 	"regexp"
 	"strings"
@@ -152,7 +148,7 @@ func isHasBoder(con string, reg *regexp.Regexp) bool {
 	hasBorder := false
 	for _, v := range res {
 		for k, val := range v {
-			if k > 0 && k%2 == 0 && common.IntAll(val) > 0 {
+			if k > 0 && k%2 == 0 && qu.IntAll(val) > 0 {
 				hasBorder = true
 				break
 			}

+ 5 - 103
SEPlatform/util/parsxlsx.go

@@ -1,19 +1,6 @@
 package util
 
 import (
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-	"app.yhyue.com/moapp/jybase/common"
-	"app.yhyue.com/moapp/jybase/date"
-	"app.yhyue.com/moapp/jybase/encrypt"
-	"app.yhyue.com/moapp/jybase/log"
-	"app.yhyue.com/moapp/jybase/mongodb"
-	"fmt"
-	"github.com/tealeg/xlsx"
-	"go.mongodb.org/mongo-driver/bson"
-	"go.uber.org/zap"
-	"strings"
-	"time"
-========
 	qu "app.yhyue.com/moapp/jybase/common"
 	"app.yhyue.com/moapp/jybase/date"
 	"app.yhyue.com/moapp/jybase/encrypt"
@@ -25,7 +12,6 @@ import (
 
 	"github.com/tealeg/xlsx"
 	"go.mongodb.org/mongo-driver/bson"
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 )
 
 const (
@@ -212,13 +198,6 @@ func writeMap(tmp map[string]string, i int, v string, addArr, notArr, clearkeyAr
 			clearkeyArr = append(clearkeyArr, v)
 		}
 		break
-	case 9:
-		if v != "" {
-			v = strings.TrimSpace(v)
-			v = strings.ReplaceAll(v, ",", ",")
-			tmp["s_group"] = v
-		}
-		break
 	}
 	return addArr, notArr, clearkeyArr
 }
@@ -269,25 +248,17 @@ func ResponseXlsx_Data(id string) string {
 		ruleName := (*data)["s_name"]
 		if (*data) != nil && len(*data) > 0 {
 			isStandard := true
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-			if common.Int64All((*data)["i_extfieldstype"]) == Advanced {
-				isStandard = false
-			}
-
-			data, _ := Mgo.Find("tagsdata", bson.M{"s_dataid": common.ObjToString((*data)["s_dataid"])}, nil, nil, false, -1, -1)
-========
 			if qu.Int64All((*data)["i_extfieldstype"]) == Advanced {
 				isStandard = false
 			}
 
 			data, _ := Mgo.Find("tagsdata", bson.M{"s_dataid": qu.ObjToString((*data)["s_dataid"])}, nil, nil, false, -1, -1)
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 			if (*data) == nil || len(*data) == 0 {
 				return ""
 			}
 			xf, err := xlsx.OpenFile("web/res/fields.xlsx")
 			if err != nil {
-				log.Error("fields file not foud", zap.Error(err))
+				log.Println("fields file not foud", err.Error())
 				return ""
 			}
 			if isStandard {
@@ -301,22 +272,14 @@ func ResponseXlsx_Data(id string) string {
 					row.AddCell().SetValue(v["title"])
 					row.AddCell().SetValue(v["subtype"])
 					if v["publishtime"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetValue(time.Unix(common.Int64All(v["publishtime"]), 0).Format("2006-01-02"))
-========
 						row.AddCell().SetValue(time.Unix(qu.Int64All(v["publishtime"]), 0).Format("2006-01-02"))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
 					row.AddCell().SetValue(v["buyer"])
 					row.AddCell().SetValue(v["winner"])
 					if v["bidamount"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetFloat(common.Float64All(v["bidamount"]))
-========
 						row.AddCell().SetFloat(qu.Float64All(v["bidamount"]))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
@@ -327,14 +290,10 @@ func ResponseXlsx_Data(id string) string {
 				xf.Sheets = xf.Sheets[:1]
 				xf.Sheets[0].Name = "详细数据"
 				t := time.Now().Format("20060102")
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-				fname := fmt.Sprintf(bzpath, ruleName, t, common.GetRandom(4))
-========
 				fname := fmt.Sprintf(bzpath, ruleName, t, qu.GetRandom(4))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 				err := xf.Save(fname)
 				if err != nil {
-					log.Error("", zap.Error(err))
+					log.Println(err)
 					return ""
 				}
 				return fname
@@ -350,11 +309,7 @@ func ResponseXlsx_Data(id string) string {
 					row.AddCell().SetValue(v["subtype"])
 					row.AddCell().SetValue(v["detail"])
 					if v["publishtime"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetValue(time.Unix(common.Int64All(v["publishtime"]), 0).Format("2006-01-02"))
-========
 						row.AddCell().SetValue(time.Unix(qu.Int64All(v["publishtime"]), 0).Format("2006-01-02"))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
@@ -364,29 +319,17 @@ func ResponseXlsx_Data(id string) string {
 					row.AddCell().SetValue(v["projectcode"])
 					row.AddCell().SetValue(v["projectscope"])
 					if v["budget"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetFloat(common.Float64All(v["budget"]))
-========
 						row.AddCell().SetFloat(qu.Float64All(v["budget"]))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
 					if v["bidamount"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetFloat(common.Float64All(v["bidamount"]))
-========
 						row.AddCell().SetFloat(qu.Float64All(v["bidamount"]))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
 					if v["bidopentime"] != nil {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-						row.AddCell().SetValue(time.Unix(common.Int64All(v["bidopentime"]), 0).Format("2006-01-02"))
-========
 						row.AddCell().SetValue(time.Unix(qu.Int64All(v["bidopentime"]), 0).Format("2006-01-02"))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					} else {
 						row.AddCell()
 					}
@@ -400,24 +343,16 @@ func ResponseXlsx_Data(id string) string {
 					row.AddCell().SetValue(v["legal_person"])
 					row.AddCell().SetValue(v["company_phone"])
 					row.AddCell().SetValue(v["company_email"])
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-					ids := SES.EncodeString(common.ObjToString(v["info_id"]))
-========
 					ids := SES.EncodeString(qu.ObjToString(v["info_id"]))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 					row.AddCell().SetValue(ids)
 				}
 				xf.Sheets = xf.Sheets[1:2]
 				xf.Sheets[0].Name = "详细数据"
 				t := time.Now().Format("20060102")
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-				fname := fmt.Sprintf(gjpath, ruleName, t, common.GetRandom(4))
-========
 				fname := fmt.Sprintf(gjpath, ruleName, t, qu.GetRandom(4))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 				err := xf.Save(fname)
 				if err != nil {
-					log.Error("", zap.Error(err))
+					log.Println(err)
 					return ""
 				}
 				return fname
@@ -428,20 +363,16 @@ func ResponseXlsx_Data(id string) string {
 }
 
 func ResponseXlsx_Rule(id string) string {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-	defer common.Catch()
-========
 	defer qu.Catch()
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 	var data *map[string]interface{}
 	data, _ = Mgo.FindById("cuserdepartrule", id, `{}`)
+
 	if len(*data) == 0 {
 		return ""
 	}
-	exact := 0
 	xf, err := xlsx.OpenFile("web/res/export_rule.xlsx") //读取导出标签模板表
 	if err != nil {
-		log.Error("export_rule file not foud", zap.Error(err))
+		log.Println("export_rule file not foud", err.Error())
 		return ""
 	}
 	sh := xf.Sheets[0]
@@ -459,28 +390,17 @@ func ResponseXlsx_Rule(id string) string {
 		}
 		if field == "s_userid" {
 			userName, _ := Mgo.FindById("cuser", (*data)[field].(string), `{}`)
-			if common.IntAll((*userName)["i_exact"]) == 1 {
-				exact = 1
-			}
 			r.AddCell().SetValue((*userName)["s_name"])
 			continue
 		}
 		field_val := ""
 		if strings.HasPrefix(field, "s_") {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-			field_val = common.ObjToString((*data)[field])
-========
 			field_val = qu.ObjToString((*data)[field])
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 			if export_numfield[field] { //找出值为数字的匹配方式,转换成中文
 				field_val = numValToWord(field_val)
 			}
 		} else if strings.HasPrefix(field, "i_") { //i_startime i_endtime
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-			t := common.Int64All((*data)[field])
-========
 			t := qu.Int64All((*data)[field])
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 			if t > 0 {
 				field_val = date.FormatDateByInt64(&t, date.Date_Full_Layout)
 			}
@@ -492,11 +412,7 @@ func ResponseXlsx_Rule(id string) string {
 		new_row := sh.AddRow()
 		o_tmp := o_rule.(map[string]interface{})
 		for _, match := range export_o_rules {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-			cell_val := common.ObjToString(o_tmp[match])
-========
 			cell_val := qu.ObjToString(o_tmp[match])
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 			if export_numfield[match] { //找出值为数字的匹配方式,转换成中文
 				cell_val = numValToWord(cell_val)
 			}
@@ -507,17 +423,10 @@ func ResponseXlsx_Rule(id string) string {
 		} else if s_subscopeclass := o_tmp["s_subscopeclass"]; s_subscopeclass != "" {
 			new_row.AddCell().SetValue(s_subscopeclass)
 		}
-		if exact == 1 {
-			new_row.AddCell().SetValue(o_tmp["s_group"])
-		}
 	}
 	ruleName := (*data)["s_name"]
 	t := time.Now().Format("20060102")
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-	fname := fmt.Sprintf(rpath, ruleName, t, common.GetRandom(4))
-========
 	fname := fmt.Sprintf(rpath, ruleName, t, qu.GetRandom(4))
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 	xf.Save(fname)
 	return fname
 }
@@ -527,17 +436,10 @@ func numValToWord(numval string) (word string) {
 	field_arr := strings.Split(numval, ",")
 	for i, val := range field_arr {
 		if i == 0 {
-<<<<<<<< HEAD:CMPlatform/util/parsxlsx.go
-			word = common.ObjToString(export_matchtype[val])
-			continue
-		}
-		word = word + "," + common.ObjToString(export_matchtype[val])
-========
 			word = qu.ObjToString(export_matchtype[val])
 			continue
 		}
 		word = word + "," + qu.ObjToString(export_matchtype[val])
->>>>>>>> dev1.4.2:SEPlatform/util/parsxlsx.go
 	}
 	return
 }

+ 4 - 318
SEPlatform/web/templates/client/cuser_rule_create.html

@@ -3,42 +3,6 @@
 {{include "com/header.html"}}
 <!-- Left side column. 权限菜单 -->
 {{include "com/modal.html"}}
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-<style>
-    .position {
-        display: none;
-        max-width: 282px;
-        min-width: 200px;
-        position: absolute;
-        bottom: 46px;
-        left: 50%;
-        z-index: 1;
-        background: #303133;
-        padding: 4px 10px;
-        border-radius: 4px;
-        transform: translateX(-50%);
-    }
-
-    .position::before {
-        position: absolute;
-        left: 50%;
-        transform: translateX(-50%);
-        bottom: -8px;
-        content: '';
-        width: 0;
-        height: 0;
-        border-right: 8px solid transparent;
-        border-left: 8px solid transparent;
-        border-top: 8px solid #303133;
-    }
-
-    .position p {
-        color: #fff;
-        text-align: center;
-    }
-</style>
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
 <script src="/time/js/angular.min.js"></script>
 <script src="/time/js/wui-date.js"></script>
 <style>
@@ -63,14 +27,6 @@
                 <form style="display:none" id='uploadform' method='post'>
                     <input type='file' name='xlsx' id='file'/>
                 </form>
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-                {{/*<button class="btn btn-info btn-sm" onclick="importEs()"><i class="fa fa-fw fa-cloud-upload fa-lg"></i>导入es</button>
-                <a class="btn btn-sm btn-success" id="download" onclick="downloades()"><i class="fa fa-fw fa-cloud-download fa-lg"></i>下载es</a>*/}}
-                <a class="btn btn-sm btn-instagram" onclick="produceData('1')"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
-                <button class="btn btn-warning btn-sm" onclick="previewData('1')"><i class="fa fa-fw fa-eye fa-lg"></i>预览
-                </button>
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
             </small>
             <a class="btn btn-primary btn-sm" id="back" style="float: right"> 返回</a>
         </h1>
@@ -283,26 +239,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label style="display: none;" class="col-sm-2 control-label">网站选择</label>
-                                        <div style="display: none;" class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -396,26 +332,8 @@
                                     <div class="form-group">
                                         <label class="col-sm-2 control-label">预览数据量</label>
                                         <div class="col-sm-3">
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-                                            <input type="text" class="form-control" id="maxnum" disabled readonly
-                                                   placeholder="默认100条" value="100">
-                                        </div>
-                                        <label class="col-sm-2 control-label ">高级字段包</label>
-                                        <div class="col-sm-3">
-                                            <select class="form-control" id="extfiledselect" style="border-radius:3px"
-                                                    readonly disabled>
-                                                <option value="2">是</option>
-                                                <option value="1">否</option>
-                                            </select>
-                                            <script>
-                                                $('#extfiledselect').on("change", function () {
-                                                    dataMap["i_extfieldstype"] = $('#extfiledselect option:selected').val();
-                                                })
-                                            </script>
-========
                                             <input type="text" class="form-control" id="maxnum" placeholder="默认100条,最大5000条"
                                                    value="">
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                                         </div>
 
                                     </div>
@@ -492,11 +410,7 @@
     var buyerClass = {{.T.buyerClass}};
     var buyerClassMap = {{.T.buyerClassMap}};
     var scopeClass = {{.T.scopeClass}};
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-    var siteArr = {{.T.siteArr}}
-========
     var previewHref = {{.T.preview_href}};
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
 
     // var ids = {{.T.ids}}
 
@@ -571,31 +485,14 @@
             $('#existFieldSelect')[0].appendChild(opt)
         }
         $("#existFieldSelect").selectpicker("refresh");
-
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
         var btnMatchHtml1 = "";
         var btnMatchHtml2 = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-            } if (i >= 5 && i<= 8) {
-========
             } 
             if (i >= 5 && i<= 8) {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                 btnMatchHtml2 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn2(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             }
@@ -714,47 +611,14 @@
                             return s
                         }
                         return ""
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-
-                    }, width: "5%"
-                },
-
-                {
-                    "data": "s_buyerclass", width: "7%", render: function (val) {
-
-========
                     }, width: "5%"
                 },
                 {
                     "data": "s_buyerclass", width: "7%", render: function (val) {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                         if (val == undefined) {
                             val = ""
                         }
                         return val
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-
-                    }
-                },
-
-                {
-                    "data": function (row) {
-                        var str = "";
-                        if (row.s_topscopeclass) {
-                            str = row.s_topscopeclass
-                        }
-                        if (row.s_subscopeclass) {
-                            if (str != "") {
-                                str = str + "," + row.s_subscopeclass
-                            } else {
-                                str = row.s_subscopeclass
-                            }
-                        }
-                        return str
-                    }, width: "5%"
-                },
-
-========
                     }
                 },
                 {
@@ -765,7 +629,6 @@
                         return val
                     }
                 },
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
             ],
             "columnDefs": [{
                 "targets": [2],
@@ -813,9 +676,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
 
     //全局modal取消按钮
     function cancelModel() {
@@ -1074,8 +934,8 @@
     }
 
     function clickMatchBtn2(obj) {
-        var temp_list = ["6", "7", "8", "9", "10", "11", "12"]
-        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)", "采购意向名称", "采购意向内容", "采购意向采购单位"]
+        var temp_list = ["6", "7", "8", "9"]
+        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)"]
         for (i in temp_list) {
             if (matchCode.indexOf(temp_list[i]) > -1) {
                 matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
@@ -1409,10 +1269,6 @@
                 topStr = topStr + "," + scopeTopArr[i]
             }
         }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         for (var i in scopeSubArr) {
             if ("" == scopeStr) {
                 scopeStr = scopeSubArr[i];
@@ -1450,34 +1306,20 @@
         }
         // 如果所上传文件中全局附加词为空  附加词置空 匹配方式置空
         if (rdata["s_globaladdkey"] === undefined) {
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-            $('#g_addkey').val("");
-            dataMap["s_globaladdkey"] = "";
-            $('#s_addkeymatch').val("");
-            dataMap["s_globaladdkeymatch"] = "";
-========
             // $('#g_addkey').val("");
             // dataMap["s_globaladdkey"] = "";
             // $('#s_addkeymatch').val("");
             // dataMap["s_globaladdkeymatch"] = "";
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         } else {
             $('#g_addkey').val(rdata["s_globaladdkey"]);
             dataMap["s_globaladdkey"] = rdata["s_globaladdkey"];
         }
         //如果上传文件中全局排除词为空 排除词置空 匹配方式置空
         if (rdata["s_globalnotkey"] === undefined) {
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-            $('#g_notkey').val("");
-            dataMap["s_globalnotkey"] = "";
-            $('#s_notkeymatch').val("");
-            dataMap["s_globalnotkeymatch"] = "";
-========
             // $('#g_notkey').val("");
             // dataMap["s_globalnotkey"] = "";
             // $('#s_notkeymatch').val("");
             // dataMap["s_globalnotkeymatch"] = "";
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         } else {
             $('#g_notkey').val(rdata["s_globalnotkey"]);
             dataMap["s_globalnotkey"] = rdata["s_globalnotkey"];
@@ -1485,17 +1327,10 @@
 
         //如果上传文件中全局清理词为空 则清理词置空 匹配方式置空
         if (rdata["s_globalclearkey"] === undefined) {
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-            $('#s_globalclearkey').val("");
-            dataMap["s_globalclearkey"] = "";
-            $('#s_globalclearkeymatch').val("");
-            dataMap["s_globalclearkeymatch"] = "";
-========
             // $('#s_globalclearkey').val("");
             // dataMap["s_globalclearkey"] = "";
             // $('#s_globalclearkeymatch').val("");
             // dataMap["s_globalclearkeymatch"] = "";
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         } else {
             $('#s_globalclearkey').val(rdata["s_globalclearkey"]);
             dataMap["s_globalclearkey"] = rdata["s_globalclearkey"];
@@ -1702,14 +1537,8 @@
                     $('#es_div').show();
                     $('#estxt').val(r.s_esquery);
                     state = 2;
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-                    showTip("保存成功", 2000);
-
-                    window.location.href = "/client/cuser/rule/Edit?id=" + r.id + "&departName=" + departName
-========
                     showTip("保存成功", 1000);
                     $(".previewDatass").show()
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                 } else {
                     showTip("保存失败", 1000);
                 }
@@ -1754,41 +1583,14 @@
             }
         })
     });
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-
-    //生成数据
-    function produceData(dataType) {
-        if (dataMap.id == undefined || dataMap.id == "") {
-            alert("请先保存规则");
-            return
-        }
-        com.maskShow("正在生成数据...");
-========
     
     function produceData() {
         com.maskShow("正在生成数据...");
         var isOk = true
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         setTimeout(function(){
             $.ajax({
                 url: "/customerRule/cuser/produce",
                 type: "post",
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-                async: false,
-                data: {"id": dataMap.id,"dataType": dataType},
-                success: function (r) {
-                    com.maskHide();
-                    if (r.rep === true) {
-                        dataMap.dataTypes = r.dataType
-                        dataMap.i_estotal = r.count;
-                        showTip("数据生成成功", 1000);
-                    } else if (r.rep === false) {
-                        showTip(r.msg, 30000);
-                    } else {
-                        showTip("数据生成失败", 12000);
-                    }
-            
-========
                 data: {"id": dataMap.id},
                 async: false,
                 success: function (r) {
@@ -1797,44 +1599,11 @@
                         isOk = false
                         showTip(r.msg, 30000);
                     }
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                 },
                 error: function (r) {
                     com.maskHide();
                 }
             })
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-        },1000)
-    }
-
-    //预览数据
-    function previewData(dataType) {
-        if (state == 2) {
-            myDataTable = $('#previewData').DataTable({
-                "destroy": true,
-                "paging": true,
-                "lengthChange": false,
-                "searching": false,
-                "ordering": false,
-                "info": true,
-                "autoWidth": true,
-                "serverSide": true,
-                "ajax": {
-                    url: "/customerRule/rule/preview",
-                    type: "post",
-                    async: false,
-                    data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType}
-                },
-                "language": {
-                    "url": "/dist/js/dataTables.chinese.lang"
-                },
-                "fnDrawCallback": function () {
-                    $("ul.pagination").prepend("&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='changePage'   style='width:20px;'> 页    <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
-                    $('#dataTable-btn').click(function (e) {
-                        var redirectpage = 0;
-                        if ($("#changePage").val() && $("#changePage").val() > 0) {
-                            var redirectpage = $("#changePage").val() - 1;
-========
             if (isOk) {
                 com.maskShow("倒计时3s");
                 setTimeout(function(){
@@ -1901,7 +1670,6 @@
                             return row.s_matchkey
                         } else {
                             return ""
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                         }
                     }, width: "8%"
                 },
@@ -1931,56 +1699,6 @@
                             } else {
                                 var str = row.title
                             }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-                        }, width: "8%"
-                    },
-                    {
-                        "data": function (row) {
-                            if (row.area) {
-                                return row.area
-                            } else {
-                                return ""
-                            }
-                        }, width: "4%"
-                    },
-                    {
-                        "data": function (row) {
-                            if (row.city) {
-                                return row.city
-                            } else {
-                                return ""
-                            }
-                        }, width: "4%"
-                    },
-                    {
-                        "data": function (row) {
-                            if (row.s_jyhref) {
-                                tmp = '<a class="" target="_blank" href=' + row.s_jyhref + '>' + row.title + '</a>';
-                                return tmp
-                            } else {
-                                return row.title
-                            }
-                        }, width: "5%"
-                    },
-                    {
-                        "data": function (row) {
-                            if (row.subtype) {
-                                return row.subtype
-                            } else {
-                                return ""
-                            }
-                        }, width: "4%"
-                    },
-                    {
-                        "data": function (row) {
-                            if (row.detail !== "" && row.detail !== undefined) {
-                                var str = com.trimStr(row.detail);
-                                if (str.length > 14) {
-                                    return str.substring(0, 14) + "..."
-                                } else {
-                                    return str
-                                }
-========
                             tmp = '<a class="" target="_blank" href=' + row.s_jyhref + '>' + str + '</a>';
                             return tmp
                         } else {
@@ -2003,9 +1721,8 @@
                             var str = com.trimStr(row.detail);
                             if (str.length > 14) {
                                 return str.substring(0, 14) + "..."
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
                             } else {
-                                row.detail = ""
+                                return str
                             }
                         } else {
                             row.detail = ""
@@ -2183,15 +1900,6 @@
             var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
             $('#dataCount').html(str);
             $('#modal-preview').modal("show");
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-            if (dataMap.dataTypes == "1") {
-                var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
-            } else {
-                var str = "高级字段包 预览时间范围: 全部,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
-            }
-========
         },3000)
     }
     
@@ -2218,7 +1926,6 @@
             $('#keyword_txt').val(o_rules[index].s_matchkey);
             $('#addword_txt').val(o_rules[index].s_addkey);
             $('#notword_txt').val(o_rules[index].s_notkey);
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
         } else {
             showTip("请选中需要修改的关键词,且只能选中一条", 1000)
         }
@@ -2293,14 +2000,6 @@
             showTip("请选中需要删除的关键词", 500)
         }
     }
-    
-    function produceAll(){
-        $('#modal-preview').modal("hide");
-        produceData("2");
-        setTimeout(function(){
-            previewData("2");
-        },1000)
-    }
 
     function checkArea(area, city, district) {
         let flag = true;
@@ -2344,18 +2043,6 @@
         }
         return {flag: flag, v1: v1, v2: v2}
     }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_create.html
-
-    // 获取页面跳转传过来的参数
-    function GetQueryString(name) {
-        var LocString = String(window.document.location.href);
-        var rs = new RegExp("(^|)" + name + "=([^&]*)(&|$)", "gi").exec(LocString);
-        var tmp;
-        if (tmp = rs) {
-            return decodeURI(tmp[2])
-        }
-        return "";
-========
     
     // function previewData(){
     //     var href = previewHref+"?type=private" + "&key=" + dataMap["s_dataid"];
@@ -2370,6 +2057,5 @@
         });
         // var href = previewHref+"?type=private" + "&key=" + dataMap.s_dataid;
         // window.open(href);
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_create.html
     }
 </script>

+ 19 - 1125
SEPlatform/web/templates/client/cuser_rule_edit.html

@@ -48,18 +48,9 @@
                 <form style="display:none" id='uploadform' method='post'>
                     <input type='file' name='xlsx' id='file'/>
                 </form>
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-                <a class="btn btn-sm btn-instagram" onclick="produceData('1')"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
-                <button class="btn btn-warning btn-sm" onclick="previewData('1')"><i class="fa fa-fw fa-eye fa-lg"></i>预览
-                </button>
-                <button class="btn tn-info btn-sm" onclick="dataTest()" style="background-color:#AA77AF;color: white ">
-                    <i class="fa fa-fw fa-save fa-lg"></i>数据匹配验证
-                </button>
-========
                 <a class="btn btn-sm btn-instagram previewDatass" onclick="previewData1()"><i class="fa fa-fw fa-database fa-lg"></i>快速预览</a>
                 <button class="btn btn-warning btn-sm previewDatass" onclick="previewData()"><i class="fa fa-fw fa-eye fa-lg"></i>数据导出</button>
                 <button class="btn btn-warning btn-sm" onclick="exportPreview()"><i class="fa fa-fw fa-eye fa-lg"></i>导出预览</button>
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
             </small>
             <a class="btn btn-primary btn-sm" id="back" style="float: right"> 返回</a>
 
@@ -75,8 +66,6 @@
                                                             aria-expanded="true">通用规则</a></li>
                     <li data-mode="guide" class=""><a href="#tab_2" data-toggle="tab" aria-expanded="false">关键词规则</a>
                     </li>
-                    <li data-mode="guide" class="exactRuleShow" style="display: none"><a href="#tab_3" data-toggle="tab" aria-expanded="false">精准筛选规则</a>
-                    </li>
                     <button class="btn btn-primary btn-sm" style="float: right;margin-top: 4px;margin-right: 10px"
                             onclick="saveTag()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存
                     </button>
@@ -288,26 +277,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label style="display: none;" class="col-sm-2 control-label">网站选择</label>
-                                        <div style="display: none;" class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -359,7 +328,7 @@
                                         <label for="spiderChannel" class="col-sm-2 control-label">全局排除词</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="g_notkey"
-                                                   value="{{.T.data.s_globalnotkey}}">
+                                                   value="{{.T.data.s_globalnotkey}}" >
                                         </div>
                                         <label class="col-sm-2 control-label">匹配方式</label>
                                         <div class="col-sm-3">
@@ -372,6 +341,7 @@
                                         <label class="col-sm-2 control-label">全局清理词</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="s_globalclearkey"
+                                                   placeholder="***"
                                                    value="{{.T.data.s_globalclearkey}}">
                                         </div>
                                         <label class="col-sm-2 control-label">匹配方式</label>
@@ -423,7 +393,6 @@
                                 <i class="fa fa-bookmark"></i>
                                 <h3 class="box-title">关键词规则</h3>
                                 <div style="float: right">
-                                    <a class="btn btn-default btn-sm groups exactRuleShow" style="display: none" onclick="selectGroups()">分组管理</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(4)">关键词匹配方式</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(6)">附加词匹配方式</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(8)">排除词匹配方式</a>
@@ -449,38 +418,11 @@
                                     <th>匹配方式</th>
                                     <th>采购单位类型</th>
                                     <th>公告行业</th>
-                                    <th>分组</th>
                                 </tr>
                                 </thead>
                             </table>
                         </div>
                     </div>
-                    <div class="tab-pane" id="tab_3">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <div class="col-sm-10" style="text-align: left; padding-left: 0px;">
-                                    <h5>说明:可根据公告匹配的“关键词分组”个数,确定是否推送该篇公告;符合以下其中1条规则即推送</h5>
-                                </div>
-                                <div class="col-sm-2">
-                                    <button class="btn btn-twitter btn-sm" style="float: right;margin-top: 4px;margin-right: 10px"
-                                            onclick="addExactRuleShow()"><i class="fa fa-fw fa-file-text fa-lg"></i>新增
-                                    </button>                                </div>
-                            </div>
-                            <div>
-                                <table id="exactRuleTable" class="table table-bordered">
-                                    <thead>
-                                    <tr>
-                                        <th>编号</th>
-                                        <th>关键词分组匹配条件</th>
-
-                                        <th>操作</th>
-                                    </tr>
-                                    </thead>
-                                </table>
-                            </div>
-                        </div>
-                    </div>
-
                 </div>
             </div>
         </div>
@@ -505,12 +447,7 @@
     var buyerClass = {{.T.buyerClass}};
     var buyerClassMap = {{.T.buyerClassMap}};
     var scopeClass = {{.T.scopeClass}};
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-    var ids = {{.T.ids}}
-    var siteArr = {{.T.siteArr}}
-========
     var previewHref = {{.T.preview_href}};
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
 
     var matchCode = [];     //匹配方式code
     var matchName = [];     //匹配名字
@@ -523,31 +460,13 @@
     var selectIndex = [];               //选中的编号
     var setValue = 0;                   // 4: 关键词匹配方式,6:附加词匹配方式,8:排除词匹配方式,9:采购单位,10:公告行业, 2:全局采购单位类型, 3:全局公告行业
     var state = 1;
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-    var exactRuleTableArr =[];// 临时数组 用于存放规则字符串转换后的数据
-    var testexactRuleTableArr =[];// 临时数组 用于存放数据验证规则字符串转换后的数据
-    var departName = GetQueryString("departName")
-    $("#departName").html(departName + "规则")
-    $('#departName').attr("href", "/client/cuser/rule/list?ids=" + ids + "&departName=" + departName)
-
-    $(document).ready(function () {
-
-========
 
     $(function () {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
         var name1 = {{(session "user").name}};
         if (name1 != dataMap.s_updateuser) {
             showTip("上次修改人员是" + dataMap.s_updateuser, 1000)
         }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-        if (dataMap.i_exact === 1) {
-            $(".exactRuleShow").show()
-        }
-        $('#extfiledselect').val(dataMap.i_extfieldstype);
-========
 
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
         //es
         $('#estxt').val(dataMap.s_esquery);
         //预算限制
@@ -673,18 +592,6 @@
         }
         $("#infoType").selectpicker("refresh");
         $("#existFieldSelect").selectpicker("refresh");
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
         if (dataMap.i_budgetfieldexist === 1) {
             $("#budgetExist").attr("checked", true)
         }
@@ -699,15 +606,11 @@
         var notMatchName = "";
         var clearMatchName = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-            } if (i >= 5 && i<= 8) {
-========
             } 
             if (i >= 5 && i<= 8) {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
                 btnMatchHtml2 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn2(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             }
@@ -745,9 +648,9 @@
         //                      value="${buyerClass[i]}">`;
         // }
         // $("#btnGroupBuyer").append(btnBuyerHtml);
-        for (let key in buyerClassMap) {
+        for (let key in buyerClassMap){
             btnBuyerHtml += `<div class="row"><b style="font-size: 16px;" class="col-sm-1">${key}</b><div style="margin-top: -15px;margin-left: -40px;" class="col-sm-11">`
-            for (let j in buyerClassMap[key]) {
+            for (let j in buyerClassMap[key]){
                 btnBuyerHtml += `<input type="button" class="btn btn-default col-md-2" style="margin-left: 10px;margin-top: 10px" onclick="clickBuyerBtn(this)"
                              value="${buyerClassMap[key][j]}">`;
             }
@@ -878,17 +781,6 @@
                         return str
                     }, width: "5%"
                 },
-                {
-                    "data": "s_group", width: "6%", render: function (val) {
-                        if (dataMap.i_exact !== 1) {
-                            return ""
-                        }
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                }
             ],
             "columnDefs": [{
                 "targets": [2],
@@ -925,42 +817,6 @@
                 }
             }]
         });
-        exactRuleTableArr = exactRuleStrToArr( dataMap["s_exactRule"])
-        // 精准筛选规则表格
-        $('#exactRuleTable').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-                this.api().column(2).nodes().each(function (cell, i) {
-                    cell.innerHTML = '<div>' +
-                        '<a onclick="editExacRuleClick(\'' + i + '\')" >编辑</a>&nbsp&nbsp' +
-                        '<a onclick="delExacRuleClick(\'' + i + '\')" >删除</a>&nbsp&nbsp' +
-                        '</div>';
-                });
-            },
-            "data": exactRuleTableArr,
-            "columns": [
-                {"data": null},
-                {
-                    "data": function (row) {
-                        return exactRuleDataFormat(row)
-                    }
-                },
-                {
-                    "data": null
-                },
-            ]
-        });
     });
 
     $('#province').selectpicker({
@@ -972,9 +828,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
 
     //全局modal取消按钮
     function cancelModel() {
@@ -1164,7 +1017,17 @@
     }
 
     //匹配方式按钮点击事件
+
     function clickMatchBtn(obj) {
+
+        /*var temp_list = ["6", "7", "8", "9"]
+        for (i in temp_list) {
+            if (matchCode.indexOf(temp_list[i]) > -1) {
+                matchCode.length = 0
+                matchName.length = 0
+                break
+            }
+        }*/
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
@@ -1182,8 +1045,8 @@
 
 
     function clickMatchBtn2(obj) {
-        var temp_list = ["6", "7", "8", "9", "10", "11", "12"]
-        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)", "采购意向名称", "采购意向内容", "采购意向采购单位"]
+        var temp_list = ["6", "7", "8", "9"]
+        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)"]
         for (i in temp_list) {
             if (matchCode.indexOf(temp_list[i]) > -1) {
                 matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
@@ -1591,60 +1454,33 @@
         }
 
         // 如果所上传文件中全局附加词为空  附加词置空 匹配方式置空
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-        if (rdata["s_globaladdkey"] === undefined) {
-            $('#g_addkey').val("");
-            dataMap["s_globaladdkey"] = "";
-            $('#s_addkeymatch').val("");
-            dataMap["s_globaladdkeymatch"] = "";
-        } else {
-========
         if (rdata["s_globaladdkey"]===undefined) {
             // $('#g_addkey').val("");
             // dataMap["s_globaladdkey"] = "";
             // $('#s_addkeymatch').val("");
             // dataMap["s_globaladdkeymatch"] = "";
         }else {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
             $('#g_addkey').val(rdata["s_globaladdkey"]);
             dataMap["s_globaladdkey"] = rdata["s_globaladdkey"];
         }
         //如果上传文件中全局排除词为空 排除词置空 匹配方式置空
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-        if (rdata["s_globalnotkey"] === undefined) {
-            $('#g_notkey').val("");
-            dataMap["s_globalnotkey"] = "";
-            $('#s_notkeymatch').val("");
-            dataMap["s_globalnotkeymatch"] = "";
-        } else {
-========
         if (rdata["s_globalnotkey"]===undefined){
             // $('#g_notkey').val("");
             // dataMap["s_globalnotkey"] = "";
             // $('#s_notkeymatch').val("");
             // dataMap["s_globalnotkeymatch"] = "";
         }else {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
             $('#g_notkey').val(rdata["s_globalnotkey"]);
             dataMap["s_globalnotkey"] = rdata["s_globalnotkey"];
         }
 
         //如果上传文件中全局清理词为空 则清理词置空 匹配方式置空
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-        if (rdata["s_globalclearkey"] === undefined) {
-            $('#s_globalclearkey').val("");
-            dataMap["s_globalclearkey"] = "";
-            $('#s_globalclearkeymatch').val("");
-            dataMap["s_globalclearkeymatch"] = "";
-        } else {
-========
         if(rdata["s_globalclearkey"]===undefined){
             // $('#s_globalclearkey').val("");
             // dataMap["s_globalclearkey"] = "";
             // $('#s_globalclearkeymatch').val("");
             // dataMap["s_globalclearkeymatch"] = "";
         }else {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
             $('#s_globalclearkey').val(rdata["s_globalclearkey"]);
             dataMap["s_globalclearkey"] = rdata["s_globalclearkey"];
         }
@@ -1751,9 +1587,6 @@
                 }
             }
         }
-        if ((dataMap.s_area).indexOf("其他") != -1) {
-            dataMap.s_area = (dataMap.s_area).replace("其他", "全国")
-        }
         dataMap["s_customer"] = $('#customer').val();
         dataMap["s_name"] = $('#tagname').val();
         dataMap["s_salesperson"] = $('#salename').val();
@@ -1762,7 +1595,6 @@
         dataMap["s_globaladdkey"] = $('#g_addkey').val();
         dataMap["s_globalnotkey"] = $('#g_notkey').val();
         dataMap["s_globalclearkey"] = $('#s_globalclearkey').val();
-        dataMap["s_exactRule"] = exactRuleArrToStr()
         if (dataMap["s_customer"] == "" || dataMap["s_name"] == "" || dataMap["s_salesperson"] == "" || dataMap["s_serverperson"] == "") {
             alert("请填写必须字段!")
             return
@@ -1866,32 +1698,13 @@
     }
 
     //生成数据
-    function produceData(dataType) {
+    function produceData() {
         com.maskShow("正在生成数据...");
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-========
         var isOk = true
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
         setTimeout(function(){
             $.ajax({
                 url: "/customerRule/cuser/produce",
                 type: "post",
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-                async: false,
-                data: {"id": dataMap.id,"dataType": dataType},
-                success: function (r) {
-                    com.maskHide();
-                    if (r.rep === true) {
-                        dataMap.dataTypes = r.dataType
-                        dataMap.i_estotal = r.count;
-                        showTip("数据生成成功", 1000);
-                    } else if (r.rep === false) {
-                        showTip(r.msg, 30000);
-                    } else {
-                        showTip("数据生成失败", 12000);
-                    }
-
-========
                 data: {"id": dataMap.id},
                 async: false,
                 success: function (r) {
@@ -1900,14 +1713,11 @@
                         isOk = false
                         showTip(r.msg, 30000);
                     }
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
                 },
                 error: function (r) {
                     com.maskHide();
                 }
             })
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-========
             if (isOk) {
                 com.maskShow("倒计时3s");
                 setTimeout(function(){
@@ -1923,7 +1733,6 @@
                     },1000)
                 },1000)
             }
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
         },1000)
     }
     
@@ -1933,64 +1742,6 @@
     }
     
     //预览数据
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-    function previewData(dataType) {
-        if (dataType != dataMap.dataTypes && dataType == "1"){
-            dataType = "2";
-        }
-        $.ajax({
-            url: "/customerRule/rule/preview",
-            type: "post",
-            async: false,
-            data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType},
-            success: function(r){
-                if (dataMap.i_estotal <= 100)  {
-                    dataMap.i_estotal = r.recordsTotal;
-                }
-            }
-        })
-        myDataTable = $('#previewData').DataTable({
-            "destroy": true,
-            "paging": true,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": true,
-            "serverSide": true,
-            "ajax": {
-                url: "/customerRule/rule/preview",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType}
-            },
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                $("ul.pagination").prepend("&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='changePage'   style='width:20px;'> 页    <a type='text' href='javascript:void(0);' id='dataTable-btn' style='text-align:center'>GO</a>");
-                $('#dataTable-btn').click(function (e) {
-                    var redirectpage = 0
-                    if ($("#changePage").val() && $("#changePage").val() > 0) {
-                        var redirectpage = $("#changePage").val() - 1;
-                    }
-                    myDataTable.page(redirectpage).draw(false);
-                });
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "columns": [
-                {"data": null, width: "2%"},
-                {
-                    "data": function (row) {
-                        if (row.s_matchkey) {
-                            return row.s_matchkey
-                        } else {
-                            return ""
-                        }
-                    }, width: "8%"
-========
         function previewData1() {
             com.maskShow("正在生成数据...");
             var dataArr = {}
@@ -2002,7 +1753,6 @@
                 success: function (r) {
                     dataMap.i_estotal = r.count;
                     dataArr.datas = r.data;
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
                 },
             })
             myDataTable = $('#previewData').DataTable({
@@ -2174,63 +1924,12 @@
                                 return ""
                             }
                         }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.detail !== "" && row.detail !== undefined) {
-                            var str = com.trimStr(row.detail);
-                            if (str.length > 14) {
-                                return str.substring(0, 14) + "..."
-                            } else {
-                                return str
-                            }
-                        } else {
-                            row.detail = ""
-                        }
-                    }, width: "5%"
-                },
-                {
-                    "data": function (row) {
-                        var dt = new Date();
-                        dt.setTime(parseInt(row.publishtime) * 1000);
-                        return dt.format("yyyy-MM-dd")
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.href) {
-                            var shref = row.href;
-                            tmp = '<a class="" target="_blank" href=' + shref + '>公告地址</a>';
-                            return tmp
-                        } else {
-                            return ""
-                        }
-                    }, width: "5%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.projectcode) {
-                            return row.projectcode
-                        } else {
-                            return ""
-                        }
-                    }, width: "5%"
-                },
-                {
-                    "data": "projectname", width: "5%", render: function (val) {
-                        if (val === undefined) {
-                            return ""
-                        } else {
-========
                     },
                     {
                         "data": "buyer", width: "3%", render: function (val) {
                             if (val == undefined) {
                                 val = ""
                             }
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
                             return val
                         }
                     },
@@ -2267,126 +1966,6 @@
                             }
                             return val
                         }
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-                    }, width: "3%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.bidamount == undefined) {
-                            return ""
-                        } else {
-                            return row.bidamount
-                        }
-                    }, width: "3%"
-                },
-                {
-                    "data": "bidopentime", width: "3%", render: function (val) {
-                        if (val) {
-                            var dt = new Date();
-                            dt.setTime(parseInt(val) * 1000);
-                            return dt.format("yyyy-MM-dd")
-                        } else {
-                            return ""
-                        }
-                    }
-                },
-                {
-                    "data": "buyer", width: "3%", render: function (val) {
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                },
-                {
-                    "data": function (row) {
-                        if (row.buyerperson) {
-                            return row.buyerperson
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.buyertel) {
-                            return row.buyertel
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": "agency", width: "5%", render: function (val) {
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                },
-                {
-                    "data": "s_winner", width: "3%", render: function (val) {
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                },
-                {
-                    "data": function (row) {
-                        if (row.winnerperson) {
-                            return row.winnerperson
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.winnertel) {
-                            return row.winnertel
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.legal_person) {
-                            return row.legal_person
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.company_phone) {
-                            return row.company_phone
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-                {
-                    "data": function (row) {
-                        if (row.company_email) {
-                            return row.company_email
-                        } else {
-                            return ""
-                        }
-                    }, width: "4%"
-                },
-            ]
-        });
-        $('#modal-preview').modal("show");
-        if (dataMap.dataTypes == "1") {
-            var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
-            $('#dataCount').html(str);
-        } else {
-            var str = "高级字段包 预览时间范围: 全部,数据量:" + dataMap.i_estotal;
-            $('#dataCount').html(str);
-========
                     },
                     {
                         "data": function (row) {
@@ -2441,17 +2020,8 @@
                 $('#dataCount').html(str);
                 $('#modal-preview').modal("show");
             },3000)
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
         }
 
-    function produceAll(){
-        $('#modal-preview').modal("hide");
-        produceData("2");
-        setTimeout(function(){
-            previewData("2");
-        },1000)
-    }
-
     //导入标签
     function importRule() {
 
@@ -2502,26 +2072,8 @@
         $('#addword_txt').val("");
         $('#notword_txt').val("");
         $('#modal-add-keyword > div > div > div > div.modal-header > div > div > span:nth-child(2)').html("新增关键词")
-        $.ajax({
-            url: "/client/cuser/groupList",
-            type: "post",
-            async: false,
-            data: {"id": dataMap.id},
-            success: function (r) {
-                if (r.data) {
-                    var provOpt = ""
-                    provOpt += `<option value='默认分组'>默认分组</option>`
-                    for (var i in r.data) {
-                        provOpt += `<option value='${r.data[i].name}'>${r.data[i].name}</option>`
-                    }
-                    $("#selectGroups").html(provOpt)
-                    $("#selectGroups").selectpicker("refresh");
-                }
-            }
-        })
 
         $('#modal-add-keyword').modal("show");
-
     }
 
     //关键词修改
@@ -2534,27 +2086,7 @@
             $('#addword_txt').val(o_rules[index].s_addkey);
             $('#notword_txt').val(o_rules[index].s_notkey);
             $('#modal-add-keyword > div > div > div > div.modal-header > div > div > span:nth-child(2)').html("修改关键词")
-            var provOpt = ``
-            $.ajax({
-                url: "/client/cuser/groupList",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id},
-                success: function (r) {
-                    if (r.data) {
-                        provOpt += `<option value='默认分组'>默认分组</option>`
-                        for (var i in r.data) {
-                            if (r.data[i].name === o_rules[index].s_group){
-                                provOpt += `<option selected value='${r.data[i].name}'>${r.data[i].name}</option>`
-                            }else {
-                                provOpt += `<option value='${r.data[i].name}'>${r.data[i].name}</option>`
-                            }
-                        }
-                        $("#selectGroups").html(provOpt)
-                        $("#selectGroups").selectpicker("refresh");
-                    }
-                }
-            })
+
         } else {
             showTip("请选中需要修改的关键词,且只能选中一条", 1000)
         }
@@ -2570,8 +2102,6 @@
             rule["s_matchkey"] = key.replace(",", ",");
             if (addkey != "") rule["s_addkey"] = addkey.replace(",", ",");
             if (notkey != "") rule["s_notkey"] = notkey.replace(",", ",");
-            rule["s_group"] = $('#selectGroups option:selected').val()
-
             $('#modal-add-keyword').modal('hide');
             if (key_flag == 1) {
                 var index = selectIndex[0] - 1;
@@ -2706,645 +2236,9 @@
             showConfirm("预生成数据后方可导出,确认加入生成数据队列?", function () {
                 produceData();
             });
-<<<<<<<< HEAD:CMPlatform/web/templates/client/cuser_rule_edit.html
-        },
-        "data": [],
-        "columns": [
-            {"data": null, width: "5%"},
-            {
-                "data": function (row) {
-                    var str = row.keymatch;
-                    if (str && str != "") {
-                        var s = "";
-                        for (var i in matchTypeMap) {
-                            if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
-                                if (s == "") {
-                                    s = matchTypeMap[i]["name"]
-                                } else {
-                                    s = s + "," + matchTypeMap[i]["name"]
-                                }
-                            }
-                        }
-                        return row.key + "(" + s + ")"
-                    }
-                    return ""
-                },
-
-                render: function (data) {
-                    if (data) {
-                        if (data.length > 60) {
-                            return '<span title="' + data + '">' + data.substr(0, 60) + '...</span>';
-
-
-                        } else {
-                            return '<span title="' + data + '">' + data + '</span>';
-                        }
-                    }
-                    return ""
-                },
-
-                width: "25%"
-            },
-
-            // {"data": "addkey", width: "10%"},
-            {
-                "data": function (row) {
-                    var str = row.addkeymatch;
-                    if (str && str != "") {
-                        var s = "";
-                        for (var i in matchTypeMap) {
-                            if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
-                                if (s == "") {
-                                    s = matchTypeMap[i]["name"]
-                                } else {
-                                    s = s + "," + matchTypeMap[i]["name"]
-                                }
-                            }
-                        }
-                        return row.addkey + "(" + s + ")"
-                    }
-                    return ""
-                },
-                render: function (data) {
-                    if (data) {
-                        if (data.length > 40) {
-                            return '<span title="' + data + '">' + data.substr(0, 40) + '...</span>';
-
-
-                        } else {
-                            return '<span title="' + data + '">' + data + '</span>';
-                        }
-                    }
-                    return ""
-                },
-                width: "18%"
-            },
-            // {"data": "notkey", width: "10%"},
-            {
-                "data": function (row) {
-                    var str = row.notkeymatch;
-                    if (str && str != "") {
-                        var s = "";
-                        for (var i in matchTypeMap) {
-                            if (str.indexOf(matchTypeMap[i]["code"]) != -1) {
-                                if (s == "") {
-                                    s = matchTypeMap[i]["name"]
-                                } else {
-                                    s = s + "," + matchTypeMap[i]["name"]
-                                }
-                            }
-                        }
-                        return row.notkey + "(" + s + ")"
-                    }
-                    return ""
-                },
-                render: function (data) {
-                    if (data) {
-                        if (data.length > 40) {
-                            return '<span title="' + data + '">' + data.substr(0, 40) + '...</span>';
-
-
-                        } else {
-                            return '<span title="' + data + '">' + data + '</span>';
-                        }
-                    }
-                    return ""
-                },
-                width: "18%"
-            },
-            {"data": "s_group", width: "7%", render: function (val) {
-                    if (dataMap.i_exact !== 1) {
-                        return ""
-                    }
-                    if (val == undefined) {
-                        val = ""
-                    }
-                    return val
-                }
-            },
-            {"data": "status", width: "7%"},
-            {"data": "info", width: "12%"},
-            {
-                "data": "data", render: function (data) {
-                    if (data) {
-                        if (data.length > 40) {
-                            return '<span title="' + data + '">' + data.substr(0, 40) + '...</span>';
-
-
-                        } else {
-                            return '<span title="' + data + '">' + data + '</span>';
-                        }
-                    }
-                    return ""
-                },
-                width: "10%"
-
-            }
-
-        ]
-    });
-
-    function dataTest() {
-        $("#dataTest-title").val("")
-        $("#dataTest-detail").val("")
-        $("#testResult").hide()
-        $("#modal-dataTest").modal('show');
-    }
-
-    function dataTests() {
-        // var val = $("#dataTest-txt").val()
-        var title = ""
-        var detail = ""
-        if ($("#dataTest-title").val()) {
-            title = $("#dataTest-title").val()
-        }
-        if ($("#dataTest-detail").val()) {
-            detail = $("#dataTest-detail").val()
-        }
-        $.ajax({
-            url: "/customerRule/rule/dataTest/" + dataMap["id"],
-            type: "post",
-            data: {"title": title, "detail": detail},
-            success: function (r) {
-                if (r.exactRule != ""){
-                    testexactRuleTableArr = exactRuleStrToArr( r.exactRule)
-                    $('#checkExactRuleTable').DataTable({
-                        "paging": false,
-                        "bDestroy": true,
-                        "lengthChange": false,
-                        "searching": false,
-                        "ordering": false,
-                        "info": true,
-                        "autoWidth": false,
-                        "language": {
-                            "url": "/dist/js/dataTables.chinese.lang"
-                        },
-                        "fnDrawCallback": function () {
-                            this.api().column(0).nodes().each(function (cell, i) {
-                                cell.innerHTML = i + 1;
-                            });
-                        },
-                        "data": testexactRuleTableArr,
-                        "columns": [
-                            {"data": null},
-                            {
-                                "data": function (row) {
-                                    return exactRuleDataFormat(row)
-                                }
-                            }
-                        ]
-                    });
-
-                }else{
-                    $("#checkExactRule").text("规则:")
-                }
-                if (r.exactResult){
-                    $("#checkExactResult").text("验证结果:通过")
-                }else{
-                    $("#checkExactResult").text("验证结果:不通过")
-                }
-                if (r.status) {
-                    //全局附加词未匹配成功或者 排除词排除
-                    if (r.data.result === false) {
-                        // $("#result_status").html("匹配失败")
-                        $("#result_message").html("匹配失败 " + r.data.info + "[" + r.data.data + "]")
-                        $("#testGlobal").show()
-                        $("#testKeyDiv").hide()
-                    } else if (r.data.result === true && r.data.data === "") {
-                        //没有关键词时 全局附加词匹配成功时
-                        $("#result_message").html("匹配成功 " + r.data.info)
-
-                        $("#testKeyDiv").hide()
-                        $("#testGlobal").show()
-                    } else {
-
-                        $("#result_message").html("")
-                        $('#testKey').dataTable().fnClearTable();
-                        $('#testKey').dataTable().fnAddData(r.data);
-                        $("#testKeyDiv").show()
-
-
-                    }
-                    $("#testResult").show()
-
-
-                } else {
-
-                    showTip(r.message, 500);
-
-                }
-            }
-
-
-        })
-    }
-    //分组管理
-    function selectGroups(){
-        $('#modal-select-group').modal("show");
-    }
-
-    function groupList(){
-        $.ajax({
-            url: "/client/cuser/groupList",
-            type: "post",
-            data: {"id": dataMap.id},
-            async: false,
-            success: function (r) {
-                if (r.data) {
-                    var str = ""
-                    for (var i in r.data) {
-                        str += `<div>
-                            <span>${r.data[i].name}</span>
-                            <a onclick="delGroup('${r.data[i].name}')" style="margin-left:15px;float: right">删除</a>
-                            <a onclick="updateGroup(this,'${r.data[i]._id}','${r.data[i].name}')" style="float: right">编辑</a>
-                        </div>`
-                    }
-                    $("#groupList").html(str)
-                }
-            }
-        })
-    }
-    groupList()
-
-    function addGroup(){
-        if ($("#groupList").find("#groupName").length > 0) {
-            str = "请先完成上一个编辑";
-            showTip(str, 2000);
-            return
-        }
-        groupList()
-        $(".addGroup").hide()
-        var str = `<div id="groupDiv">
-            <input type="text" id="groupName" maxlength="10" placeholder="请输入分组名称" style="width: 40%">
-            <a onclick="cancelGroup()" style="margin-left:15px;float: right">取消</a>
-            <a onclick="saveGroup()" style="float: right">确定</a>
-        </div>`
-        $("#groupList").append(str)
-    }
-
-    function saveGroup(id){
-        var name = $("#groupName").val().trim()
-        if (name === "") {
-            str = "请输入分组名称";
-            showTip(str, 1000);
-            return
-        }
-        if (id) {
-            $.ajax({
-                url: "/client/cuser/updateGroup",
-                type: "post",
-                data: {"_id": id,"id":dataMap.id,"name":name},
-                success: function (r) {
-                    if (r.resp) {
-                        groupList()
-                        str = "编辑成功";
-                        showTip(str, 1000);
-                    } else {
-                        str = "分组名不可重复";
-                        showTip(str, 1000);
-                    }
-                }
-            })
-        } else {
-            $.ajax({
-                url: "/client/cuser/addGroup",
-                type: "post",
-                data: {"id": dataMap.id,"name":name},
-                success: function (r) {
-                    if (r.resp) {
-                        groupList()
-                        $(".addGroup").show()
-                        str = "添加成功";
-                        showTip(str, 1000);
-                    } else {
-                        str = "分组名不可重复";
-                        showTip(str, 1000);
-                    }
-                }
-            })
-        }
-    }
-
-    function cancelGroup(){
-        $(".addGroup").show()
-        $("#groupDiv").remove()
-    }
-
-    function updateGroup(obj,id,name){
-        if ($("#groupList").find("#groupName").length > 0) {
-            str = "请先完成上一个编辑";
-            showTip(str, 2000);
-            return
-        }
-        var str = `<input type="text" id="groupName" maxlength="10" placeholder="请输入分组名称" value="${name}" style="width: 40%">
-            <a onclick="groupList()" style="margin-left:15px;float: right">取消</a>
-            <a onclick="saveGroup('${id}')" style="float: right">确定</a>`
-        $(obj).parent().html(str)
-    }
-
-    function delGroup(name){
-        $.ajax({
-            url: "/client/cuser/delGroup",
-            type: "post",
-            data: {"ruleId": dataMap.id,"name": name},
-            success: function () {
-                groupList()
-                str = "删除成功";
-                showTip(str, 1000);
-            }
-        })
-    }
-    //分组管理
-    var ruleGroupList = new Array()
-    // 精准筛选规则-新增按钮点击方法
-    function addExactRuleShow(){
-        // 判断是否设置关键词
-        if (ruleGroupList.length===0){
-            showGroupListData()
-            if (ruleGroupList.length===0){
-                showTip("请先设置关键词规则分组")
-                return
-            }
-        }
-        // 判断是否设置关键词匹配方式
-        // debugger
-        //  判断是否设置关键词
-        if (o_rules.length===0) {
-            showTip("请先设置关键词")
-            return
-        }
-        //  判断是否设置关键词匹配方式
-        if (!hasMatchWay()){
-            showTip("请先设置关键词匹配方式")
-            return
-        }
-        //初始化
-        $("#insertexactRule").html("");
-        $("#addExactRuleButton").show();
-        // 新增精准筛选规则弹框
-        // 请求分组列表接口获取数据
-        ruleHtmlFunc("insert-class","","#insertexactRule")
-        $("#modal-add-exactRule").modal("show");
-    }
-    // 精准筛选规则-新增页面 +新增按钮
-    function addExactRule(){
-        ruleHtmlFunc("insert-class","","#insertexactRule")
-        if ($('.insert-class').length > 3){
-            $("#addExactRuleButton").hide()
-        }
-    }
-    // 精准筛选规则-新增精准匹配规则保存按钮点击事件
-    function add_exactRule_save(){
-        // 获取值
-        let ruleArr = [];
-        let checkObj = {};
-        let formList =  $("#insertexactRule .insertexactRule-form");
-        formList.each(function() {
-            var groupName = $(this).find('select[name="groupSelect"]').val();
-            var count = $(this).find('input[name="count"]').val();
-            var matchWayValue = $(this).find('select[name="matchWay"]').val();
-            if (groupName===""||matchWayValue.length===0||count===""){
-                // todo
-                return true;
-            }
-            for (let j = 0; j < matchWayValue.length; j++) {
-                let rule =      {
-                    "group":groupName,"match_way":matchWayValue[j],"count":count
-                }
-                if(checkObj[groupName+"_"+count+"_"+matchWayValue[j]]){
-                    return  true
-                }
-                checkObj[groupName+"_"+count+"_"+matchWayValue[j]] = matchWayValue[j]
-                ruleArr.push(rule)
-            }
-            console.log(matchWayValue);
-        });
-        if (ruleArr.length===0){
-            showMsg("规则已存在!")
-            return
-        }
-        // 保存到exactRuleTableArr 临时数组
-        exactRuleTableArr.push(ruleArr)
-        $('#exactRuleTable').dataTable().fnClearTable();
-        $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-        if (exactRuleTableArr.length == 0) {
-            $('#exactRuleTable').dataTable().fnClearTable();
-        }
-        $("#modal-add-exactRule").modal("hide");
-
-    }
-    // 精准筛选规则-临时数组转换成规则字符串
-    // [[{"group":"A","match_way":"content","count":5},{},{}],[]]
-    // (title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    function exactRuleArrToStr(){
-        let ruleStrArr = []
-        for (let i = 0; i < exactRuleTableArr.length; i++) {
-            let rulesArr = [];
-            for (let j = 0; j < exactRuleTableArr[i].length; j++) {
-                let count =exactRuleTableArr[i][j].count-1
-                let group = exactRuleTableArr[i][j].group
-                let match_way = exactRuleTableArr[i][j].match_way
-                let rule = match_way+"_"+group+">"+count
-                rulesArr.push(rule)
-            }
-            if (rulesArr.length>1){ // 拼接小括号
-                ruleStrArr.push("("+rulesArr.join(" and ")+")")
-            }else {
-                if (rulesArr.length>0){
-                    ruleStrArr.push(rulesArr[0])
-                }
-            }
-        }
-        return  ruleStrArr.join(" or ")
-    }
-    // (title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 精准筛选规则-规则字符串转换成临时数组   仅支持这种格式 (title_A>0 and  content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 分组名称不要包含公式中的符号 :  下划线、>、()、or、and
-    function exactRuleStrToArr( exactRuleStr)  {
-        if (exactRuleStr===undefined||exactRuleStr===""){
-            return []
-        }
-        let exactRuleTableArrTmp = []
-        // let exactRuleStr = "(title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)"
-        let exactRuleList = exactRuleStr.split(" or ") // 分割成单条规则
-        for (let i=0; i< exactRuleList.length; i++) {
-            let exactRuleTmp = exactRuleList[i]
-            let rulesArr = [];
-            if (exactRuleTmp.startsWith("(")) {
-                exactRuleTmp = exactRuleTmp.slice(1, -1) //去掉首尾的括号
-            }
-            let singleRuleArr = exactRuleTmp.split(" and ")  // 分割单条规则中的数据
-            for (let j=0;j<singleRuleArr.length;j++) {
-                let singleRule  =singleRuleArr[j]
-                // 匹配方式
-                let singleRuleSplit = singleRule.split("_")
-                if (singleRuleSplit.length<2){
-                    console.log("singleRuleSplit 长度不够",singleRuleSplit)
-                    return
-                }
-                let matchWay = singleRuleSplit[0] // 第一位是匹配方式
-                // 然后接着分割出分组名称和次数  使用 _
-                let singleRuleSplit2 = singleRuleSplit[1].split(">")
-                if (singleRuleSplit2.length<2){
-                    console.log("singleRuleSplit2 长度不够",singleRuleSplit2)
-                    return
-                }
-                let groupName = singleRuleSplit2[0]
-                let count = singleRuleSplit2[1]
-                // 次数    次数这里要+1  因为展示框里用的是>=  公式里面用的是>
-                let rule = {
-                    "group":groupName,"match_way":matchWay,"count":parseInt(count)+1
-                }
-                rulesArr.push(rule)
-            }
-            exactRuleTableArrTmp.push(rulesArr)
-        }
-        return exactRuleTableArrTmp;
-    }
-    var editexactRuleId = 0;
-    const matchWayMap = {
-        "title":"标题匹配",
-        "content":"全文匹配"
-    }
-    // 规则数组转换列表字符串
-    function exactRuleDataFormat(contentArr ){
-        // keyArr 定义数组 维持最后有序
-        let keyArr = []
-        // 合并 标题正文 如果
-        let tmpDict = {}
-        for (let i = 0; i < contentArr.length; i++) {
-            let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
-            if (tmpDict.hasOwnProperty(keyGroupCount)){
-                tmpDict[keyGroupCount].match_way.add(matchWayMap[contentArr[i].match_way])
-            }else {
-                let set = new Set();
-                tmpDict[keyGroupCount] = {
-                    "group":contentArr[i].group,"match_way":set.add(matchWayMap[contentArr[i].match_way]),"count":contentArr[i].count
-                }
-                keyArr.push(keyGroupCount)
-
-            }
-        }
-        let str = ""
-        for (let tmpDictKey in keyArr) {
-            str += "关键词分组:"+tmpDict[keyArr[tmpDictKey]].group+",出现次数>="+tmpDict[keyArr[tmpDictKey]].count+",匹配方式:"+Array.from(tmpDict[keyArr[tmpDictKey]].match_way).join(",")+";"
-        }
-        return str
-    }
-    // 删除 点击事件
-    function delExacRuleClick(index) {
-        index = parseInt(index)
-        showConfirm("确定删除?", function () {
-            exactRuleTableArr  =  $.grep(exactRuleTableArr,function (n,i) {
-                return i!==index
-            })
-            $('#exactRuleTable').dataTable().fnClearTable();
-            $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-            if (exactRuleTableArr.length == 0) {
-                $('#exactRuleTable').dataTable().fnClearTable();
-            }
-        })
-
-    }
-    function showGroupListData(){
-        $.ajax({
-            url: "/client/cuser/groupList",
-            type: "post",
-            data: {"id": dataMap.id},
-            async: false,
-            success: function (r) {
-                if (r.data) {
-                    ruleGroupList=r.data;
-                }
-            }})
-    }
-    // 编辑点击事件
-    function editExacRuleClick(index){
-        $("#editexactRule").html("");
-        $("#editExactRuleButton").show();
-        editexactRuleId = index;
-        // 铺数据
-        let contentArr = exactRuleTableArr[index]
-        // keyArr 定义数组 维持最后有序
-        let keyArr = []
-        // 合并 标题正文
-        let tmpDict = {}
-        for (let i = 0; i < contentArr.length; i++) {
-            let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
-            if (tmpDict.hasOwnProperty(keyGroupCount)){
-                tmpDict[keyGroupCount].match_way.add(contentArr[i].match_way)
-            }else {
-                let set = new Set();
-                tmpDict[keyGroupCount] = {
-                    "group":contentArr[i].group,"match_way":set.add(contentArr[i].match_way),"count":contentArr[i].count
-                }
-                keyArr.push(keyGroupCount)
-            }
-        }
-        for (let i = 0; i < keyArr.length; i++) {
-            var keyGroup = tmpDict[keyArr[i]].group;
-            var count = tmpDict[keyArr[i]].count;
-            var matchWay = tmpDict[keyArr[i]].match_way;
-            ruleHtmlFunc("edit-class",keyArr[i],"#editexactRule");
-            $('#editexactRule .'+keyArr[i]+' select[name=groupSelect]').selectpicker('val',keyGroup);
-            $('#editexactRule .'+keyArr[i]+' input[name=count]').val(count);
-            let matchWayArr = Array.from(matchWay);
-            $('#editexactRule .'+keyArr[i]+' select[name=matchWay]').val("").trigger("change").selectpicker('val',matchWayArr);
-        }
-        $("#modal-edit-exactRule").modal("show");
-    }
-    // 编辑保存
-    function edit_exactRule_save(){
-        // let index =  $("#editexactRuleId").text()
-        // 获取数
-        let ruleArr = []
-        let formList =  $("#editexactRule .editexactRule-form")
-        formList.each(function() {
-            var groupName = $(this).find('select[name="groupSelect"]').val();
-            var count = $(this).find('input[name="count"]').val();
-            var matchWayValue = $(this).find('select[name="matchWay"]').val();
-            if (groupName===""||matchWayValue.length===0||count===""){
-                // todo
-                return true;
-            }
-            for (let j = 0; j < matchWayValue.length; j++) {
-                let rule =      {
-                    "group":groupName,"match_way":matchWayValue[j],"count":count
-                }
-                ruleArr.push(rule)
-            }
-            console.log(matchWayValue);
-        });
-        // 保存到exactRuleTableArr 临时数组
-        exactRuleTableArr[editexactRuleId] = ruleArr
-        $('#exactRuleTable').dataTable().fnClearTable();
-        $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-        if (exactRuleTableArr.length === 0) {
-            $('#exactRuleTable').dataTable().fnClearTable();
-        }
-        $("#modal-edit-exactRule").modal("hide");
-    }
-    // 精准筛选规则-编辑页面 +新增按钮
-    function editExactRule(){
-        ruleHtmlFunc("edit-class","","#editexactRule")
-        if ($('.edit-class').length > 3){
-            $("#editExactRuleButton").hide();
-        }
-    }
-    //  判断是否设置匹配方式
-    function hasMatchWay() {
-        for (let i = 0; i < o_rules.length; i++) {
-            if (o_rules[i]["s_keymatch"]!=""&&o_rules[i]["s_keymatch"]!=undefined){
-                return true
-            }
-        }
-        return false
-    }
-========
         });
         // var href = previewHref+"?type=private" + "&key=" + dataMap.s_dataid;
         // window.open(href);
     }
 
->>>>>>>> dev1.4.2:SEPlatform/web/templates/client/cuser_rule_edit.html
 </script>

+ 24 - 79
SEPlatform/web/templates/client/cuser_rule_history_edit.html

@@ -17,8 +17,8 @@
                 </form>
                 {{/*<button class="btn btn-info btn-sm" onclick="importEs()"><i class="fa fa-fw fa-cloud-upload fa-lg"></i>导入es</button>
                 <a class="btn btn-sm btn-success" id="download" onclick="downloades()"><i class="fa fa-fw fa-cloud-download fa-lg"></i>下载es</a>*/}}
-                <a class="btn btn-sm btn-instagram" onclick="produceData('1')"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
-                <button class="btn btn-warning btn-sm" onclick="previewData('1')"><i class="fa fa-fw fa-eye fa-lg"></i>预览</button>
+                <a class="btn btn-sm btn-instagram" onclick="produceData()"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
+                <button class="btn btn-warning btn-sm" onclick="previewData()"><i class="fa fa-fw fa-eye fa-lg"></i>预览</button>
                 {{/*<button class="btn btn-danger btn-sm" onclick="archive()"><i class="fa fa-fw fa-save fa-lg"></i>存档</button>*/}}
             </small>
         </h1>
@@ -233,26 +233,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label class="col-sm-2 control-label">网站选择</label>
-                                        <div class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -411,7 +391,6 @@
     var existField = {{.T.existField}};
     var buyerClass = {{.T.buyerClass}};
     var scopeClass = {{.T.scopeClass}};
-    var siteArr = {{.T.siteArr}}
 
     var ids = {{.T.ids}}
     var history_id = {{.T.history_id}}
@@ -487,22 +466,10 @@
             $('#existFieldSelect')[0].appendChild(opt)
         }
         $("#existFieldSelect").selectpicker("refresh");
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
         var btnMatchHtml1 = "";
         var btnMatchHtml2 = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             }else {
@@ -668,9 +635,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
     //全局modal取消按钮
     function cancelModel() {
         $('#modal-imp-es').modal("hide");
@@ -1198,39 +1162,29 @@
         })
     });
     //生成数据
-    function produceData(dataType) {
+    function produceData() {
         if (dataMap.id == undefined || dataMap.id == "") {
             alert("请先保存标签");
             return
         }
         com.maskShow("正在生成数据...");
-        setTimeout(function(){
-            $.ajax({
-                url: "/service/cuser/produce",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id,"dataType": dataType},
-                success: function (r) {
-                    com.maskHide();
-                    if (r.rep === true) {
-                        dataMap.dataTypes = r.dataType
-                        dataMap.i_estotal = r.count;
-                        showTip("数据生成成功", 1000);
-                    } else if (r.rep === false) {
-                        showTip(r.msg, 30000);
-                    } else {
-                        showTip("数据生成失败", 12000);
-                    }
-            
-                },
-                error: function (r) {
-                    com.maskHide();
+        $.ajax({
+            url:"/service/history/produce",
+            type:"post",
+            data: {"id": dataMap.id,"hid":history_id},
+            success:function(r){
+                com.maskHide();
+                if(r.rep){
+                    dataMap.i_estotal = r.count;
+                    showTip("数据生成成功", 1000);
+                }else{
+                    showTip("数据生成失败",1000);
                 }
-            })
-        },1000)
+            }
+        })
     }
     //预览数据
-    function previewData(dataType) {
+    function previewData() {
         if (state == 2) {
            myDataTable = $('#previewData').DataTable({
                 "destroy": true,
@@ -1244,8 +1198,7 @@
                 "ajax": {
                     url: "/service/rule/preview",
                     type: "post",
-                    async: false,
-                    data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType}
+                    data: {"s_dataid": dataMap.s_dataid},
                 },
                 "language": {
                     "url": "/dist/js/dataTables.chinese.lang"
@@ -1433,26 +1386,18 @@
                 ]
             });
             $('#modal-preview').modal("show");
-            if (dataMap.dataTypes == "1") {
-                var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
+            if (dataMap.i_extfieldstype == 1) {
+                var str = "标准字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
             } else {
-                var str = "高级字段包 预览时间范围: 全部,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
+                var str = "高级字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
             }
         }else {
             alert("请先保存标签");
         }
     }
     
-    function produceAll(){
-        $('#modal-preview').modal("hide");
-        produceData("2");
-        setTimeout(function(){
-            previewData("2");
-        },1000)
-    }
-    
     //下载es
     function downloades(){
       if(state==1){

+ 10 - 12
SEPlatform/web/templates/client/cuser_rule_list.html

@@ -28,9 +28,7 @@
                                 <th>修改时间</th>
                                 <th>状态</th>
                                 <th>操作</th>
-                                {{ if eq .T.i_downloadRule 1 }}
-                                <th>功能</th>
-                                 {{ end }}
+                                <!--                                <th>功能</th>-->
                                 <th>查看</th>
                             </tr>
                             </thead>
@@ -133,15 +131,15 @@
                         return tmp
                     }
                 },
-                {{ if eq .T.i_downloadRule 1 }}
-                {"data": "_id", width:"26%",render: function (val, a, row, pos) {
-                 var s = [val, row.s_dataid];
-                 tmp = '<div>' +
-                       '<a class="btn btn-sm btn-primary" href="/customerRule/rule/downloadrule?id='+val+'">导出规则</a>&nbsp;&nbsp;'+
-                       '</div>';
-                 return tmp
-                 }},
-                {{end}}
+                <!--                {"data": "_id", width:"26%",render: function (val, a, row, pos) {-->
+                <!--                    var s = [val, row.s_dataid];-->
+                <!--                      tmp = '<div>' +-->
+                /*<!--                          '<a class="btn btn-sm btn-primary" href="/service/cuser/rule/downloadrule?id='+val+'">导出标签</a>&nbsp;&nbsp;'+-->
+                <!--                          '<a class="btn btn-sm btn-info" href="/service/cuser/rule/downloadata?s_dataid='+val+'">导出数据</a>&nbsp;&nbsp;'+-->
+                <!--                          '<a class="btn btn-sm btn-warning" onclick="archive(\'' + val + '\')">存档</a>&nbsp;&nbsp;'+-->
+                <!--                          '</div>';-->
+                <!--                      return tmp-->
+                <!--                }},-->*/
                 {
                     "data": "_id", width: "15%", render: function (val, a, row, pos) {
                         tmp = '<div xmlns="http://www.w3.org/1999/html">' +

+ 4 - 13
SEPlatform/web/templates/client/customer_history.html

@@ -89,7 +89,7 @@
                                                         <option value="enterpise">企业信息</option>
                                                     </select>
                                                     <script>
-                                                        $('#expandSelect').on('change', function () {
+                                                        $('#expandSelect').on('hide.bs.select', function () {
                                                             var arr = $('#expandSelect').val();
                                                             var arrStr = "";
                                                             for (var i in arr) {
@@ -132,15 +132,6 @@
                                                         })
                                                     </script>
                                                 </div>
-
-                                                <label class="col-sm-2 control-label ">数据来源</label>
-                                                <div class="col-sm-2">
-                                                    <select class="form-control selectpicker" id="dataSource">
-                                                        <option value="2" selected>bidding数据</option>
-                                                        <option value="1">全量数据</option>
-
-                                                    </select>
-                                                </div>
                                             </div>
                                         </div>
                                     </div>
@@ -351,7 +342,6 @@
             }
             $('#pushModelSelect').val(dataMap.i_pushmodel);
             $('#extfiledselect').val(dataMap.i_extfieldstype);
-            $('#dataSource').val(dataMap.i_datasource);
             if (dataMap.i_pushtype == 0) {
                 $('#pushTypeSelect').val(0)
             } else {
@@ -518,13 +508,14 @@
         if (history_id != "") {
             var send_mode = document.getElementById("pushModelSelect").selectedIndex;
             var push_type = document.getElementById("pushTypeSelect").selectedIndex;
-            //var expand_type = document.getElementById("expandSelect").selectedIndex;
+            var expand_type = document.getElementById("expandSelect").selectedIndex;
             var s_name = dataMap.s_name
             var salename = dataMap.s_salesperson
             var s_customername = dataMap.s_customername
             var i_updatetime = dataMap.i_updatetime
             var isDups = document.getElementById("pushIsDup").selectedIndex;
             var sendMail = $("#sendMail").val();
+
             $.ajax({
                 url: "/client/rule/history/add",
                 type: 'POST',
@@ -533,7 +524,7 @@
                     "sendMail": sendMail,
                     "send_mode": send_mode,
                     "push_type": push_type,
-                    "s_extends": dataMap.s_extends,
+                    "s_extends": expand_type,
                     "s_name": s_name,
                     "salename": salename,
                     "s_customername": s_customername,

+ 18 - 43
SEPlatform/web/templates/client/customer_tag_rule.html

@@ -104,7 +104,7 @@
                         </div>
                         <form class="form-horizontal">
                             <div class="form-group">
-                                <label class="col-sm-2 control-label"><span style="color:red;"> </span>标签名称</label>
+                                <label class="col-sm-2 control-label"><span style="color:red;">* </span>标签名称</label>
                                 <div class="col-sm-6">
                                     <input type="text" class="form-control" placeholder="输入标签名称" id="rulename"/></div>
                             </div>
@@ -153,7 +153,7 @@
                         <div id="btnGroupMatch"></div>
                         <div id="btnGroupMatch2" style="margin-top: 15px"></div>
                     </div>
-                    <span style="display: block; color: red;font-size: 12px;margin-left: 25px;">提示:第一行可多选,第二行不可多选</span>
+                    <span style="display: block; color: red;font-size: 12px;margin-left: 25px;">提示:第一行和第二行不能同时选择,第一行可多选,第二行不可多选</span>
                 </div>
                 <div class="modal-footer">
                     <input type="button" onclick="saveMatch()" class="btn btn-primary saveBtn" value="保存">
@@ -219,7 +219,7 @@
         var btnMatchHtml2 = "";
         //匹配方式
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2 matchWay" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             } else {
@@ -515,24 +515,18 @@
                     $(".matchWay").each(function () {
                         if (keyWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 } else if (setValue === 6) {
                     $(".matchWay").each(function () {
                         if (addWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 } else if (setValue === 8) {
                     $(".matchWay").each(function () {
                         if (filterWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 }
@@ -544,10 +538,10 @@
 
     //匹配方式按钮点击事件
     function clickMatchBtn(obj) {
-        // if (matchCode.indexOf("6") !== -1 || matchCode.indexOf("7") !== -1) {
-        //     matchCode.length = 0;
-        //     matchName.length = 0;
-        // }
+        if (matchCode.indexOf("6") !== -1 || matchCode.indexOf("7") !== -1) {
+            matchCode.length = 0;
+            matchName.length = 0;
+        }
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
@@ -558,30 +552,18 @@
             matchName.push($(obj).val())
         }
 
-        // $('#btnGroupMatch2 .btn-default').each(function () {
-        //     $(this).removeClass("active-btn-match");
-        // });
+        $('#btnGroupMatch2 .btn-default').each(function () {
+            $(this).removeClass("active-btn-match");
+        });
     }
 
     function clickMatchBtn2(obj) {
-        // matchCode.length = 0;
-        // matchName.length = 0;
-        var temp_list = ["6", "7"]
-        var name_list = ["采购单位", "中标单位"]
-        for (i in temp_list) {
-            if (matchCode.indexOf(temp_list[i]) > -1) {
-                matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
-            }
-        }
-        for (j in name_list) {
-            if (matchName.indexOf(name_list[j]) > -1) {
-                matchName.splice(jQuery.inArray(name_list[j], matchName), 1)
-            }
-        }
+        matchCode.length = 0;
+        matchName.length = 0;
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
-            // matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
-            // matchName.splice($.inArray($(obj).val(), matchName), 1)
+            matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
+            matchName.splice($.inArray($(obj).val(), matchName), 1)
         } else {
             $(obj).addClass("active-btn-match");
             matchCode.push($(obj).attr("code"));
@@ -593,9 +575,9 @@
             });
         }
 
-        // $('#btnGroupMatch .btn-default').each(function () {
-        //     $(this).removeClass("active-btn-match");
-        // });
+        $('#btnGroupMatch .btn-default').each(function () {
+            $(this).removeClass("active-btn-match");
+        });
     }
 
     //匹配方式保存
@@ -684,20 +666,13 @@
         var key = $('#keyword_txt').val()
         var addkey = $('#addword_txt').val()
         var notkey = $('#notword_txt').val()
-        if ( key != "") {
+        if (tagname != "" || key != "") {
             var rule = {};
             rule["s_name"] = tagname
             rule["s_matchkey"] = key.replace(",", ",");
             if (addkey != "") rule["s_addkey"] = addkey.replace(",", ",");
             if (notkey != "") rule["s_notkey"] = notkey.replace(",", ",");
             $('#modal-add-keyword').modal('hide');
-            if (tagname==""){
-                // rule["s_name"]=key
-                showTip("标签名称为空时,将使用匹配到的关键词作为标签名称")
-            }else {
-                rule["s_name"] = tagname
-
-            }
             if (key_flag == 1) {
                 var index = selectIndex[0] - 1;
 

+ 2 - 38
SEPlatform/web/templates/client/history_rule_edit.html

@@ -239,26 +239,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label class="col-sm-2 control-label">网站选择</label>
-                                        <div class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -309,7 +289,7 @@
                                         <label class="col-sm-2 control-label">全局清理词</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="s_globalclearkey" placeholder="***"
-                                                   value="{{.T.data.s_globalclearkey}}">
+                                                   value={{.T.data.s_globalclearkey}}>
                                         </div>
                                         <label class="col-sm-2 control-label">匹配方式</label>
                                          <div class="col-sm-3">
@@ -421,7 +401,6 @@
     var existField = {{.T.existField}};
     var buyerClass = {{.T.buyerClass}};
     var scopeClass = {{.T.scopeClass}};
-    var siteArr = {{.T.siteArr}}
 
     var matchCode = [];     //匹配方式code
     var matchName = [];     //匹配名字
@@ -567,18 +546,6 @@
         $("#infoType").selectpicker("refresh");
         $("#existFieldSelect").selectpicker("refresh");
 
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
         //匹配方式
         var btnMatchHtml1 = "";
         var btnMatchHtml2 = "";
@@ -586,7 +553,7 @@
         var notMatchName = "";
         var clearMatchName = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             }else {
@@ -786,9 +753,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
 
     //全局modal取消按钮
     function cancelModel() {

+ 2 - 2
SEPlatform/web/templates/client/index1.html

@@ -91,8 +91,8 @@
                                                                 style="color:red;">* </span>推送方式</label>
                                                     <div class="col-sm-3">
                                                         <select class="form-control" id="pushTypeSelect" disabled>
-                                                            <option value=0 code="email">历史数据表</option>
-                                                            <option value=1 code="interface">API数据表</option>
+                                                            <option value=0 code="email">邮箱</option>
+                                                            <option value=1 code="interface">API</option>
                                                         </select>
                                                     </div>
                                                 </div>

+ 9 - 0
SEPlatform/web/templates/client/keywordRule.html

@@ -228,6 +228,15 @@
 
     //匹配方式按钮点击事件
     function clickMatchBtn(obj) {
+
+        /*var temp_list = ["6", "7", "8", "9"]
+        for (i in temp_list) {
+            if (matchCode.indexOf(temp_list[i]) > -1) {
+                matchCode.length = 0
+                matchName.length = 0
+                break
+            }
+        }*/
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);

+ 8 - 232
SEPlatform/web/templates/com/modal.html

@@ -55,137 +55,6 @@
     </div><!-- /.modal -->
 </div>
 
-<div class="modal fade" id="modal-select-group" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 25%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    <div class="edit-form">
-                        <div class="edit-info">
-                            <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
-                            <span>分组管理</span>
-                        </div>
-                        <div>默认分组</div>
-                        <div id="groupList"></div>
-                        <input type="button" onclick="addGroup()" style="width: 100%;margin-top: 15px;" class="btn btn-primary addGroup" value="新增分组">
-                    </div>
-                </div>
-                <!-- <div class="modal-footer">
-                    <input type="button" onclick="addGroup()" style="width: 90%;margin: 0 5%;" class="btn btn-primary saveBtn" value="新增分组">
-                </div> -->
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
-<!--新增精准筛选规则模态框-->
-<div class="modal fade" id="modal-add-exactRule" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 40%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true" >&times;</button>
-                    <div class="edit-form">
-                        <div class="edit-info" style="text-align: center">
-                            <span >新增精准筛选规则</span>
-                        </div>
-                        <div id="insertexactRule">
-
-                        </div>
-                    </div>
-         <div style="text-align: center;margin: -20px 0px 10px 0px;" id="addExactRuleButton">
-             <a onclick="addExactRule()" style="margin: 0 auto">+新增</a>
-         </div>
-
-                </div>
-               <div class="modal-footer">
-                   <button type="button" class="btn btn-default" data-dismiss="modal" >取消</button>
-                   <button type="button" class="btn btn-primary" onclick="add_exactRule_save()">确定</button>
-               </div>
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
-<div class="modal fade" id="modal-edit-exactRule" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 40%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true" >&times;</button>
-                    <div class="edit-form">
-                        <div class="edit-info" style="text-align: center">
-                            <span >编辑精准筛选规则</span>
-                        </div>
-                        <div id="editexactRule">
-                            <input style="display: none" id="editexactRuleId">
-                            <!--规则1 -->
-                            <div class="editexactRule-form exact-rule-1">
-                                <div class="form-group" >
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>关键词分组:</label>
-                                    <div class="col-sm-8">
-                                        <select class="form-control groupSelect" name="groupSelect">
-                                        </select>
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>出现次数>=</label>
-                                    <div class="col-sm-8">
-                                        <input  type='number' type="number" min='0' class="form-control" name="count" placeholder="请输入次数">
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>匹配方式</label>
-                                    <div class="col-sm-8">
-                                        <select class="form-control selectpicker" multiple name="matchWay">
-<!--                                            <option value="title" selected>标题</option>-->
-<!--                                            <option value="content">正文</option>-->
-                                        </select>
-                                    </div>
-                                </div>
-                            </div>
-
-                            <!--规则2 -->
-                            <div class="editexactRule-form exact-rule-2" style="display: none">
-                                <div class="form-group" >
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>关键词分组:</label>
-                                    <div class="col-sm-8">
-                                        <select class="form-control groupSelect" name="groupSelect">
-                                        </select>
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>出现次数>=</label>
-                                    <div class="col-sm-8">
-                                        <input  type='number' min='0'  class="form-control" name="count" placeholder="请输入次数">
-                                    </div>
-                                </div>
-                                <div class="form-group">
-                                    <label class="col-sm-4 control-label"><span style="color:red;">* </span>匹配方式</label>
-                                    <div class="col-sm-8">
-                                        <select class="form-control selectpicker" multiple name="matchWay">
-    <!--                                        <option value="title" selected>标题</option>-->
-    <!--                                        <option value="content">正文</option>-->
-                                        </select>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-         <div style="text-align: center;margin: -20px 0px 10px 0px;" id="editExactRuleButton">
-             <a onclick="editExactRule()" style="margin: 0 auto">+新增</a>
-         </div>
-
-                </div>
-               <div class="modal-footer">
-                   <button type="button" class="btn btn-default" data-dismiss="modal" >取消</button>
-                   <button id="edit_exactRule_save" type="button" class="btn btn-primary" onclick="edit_exactRule_save()">确定</button>
-               </div>
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
-
-
 <!-- 选择采购单位行业模态框 -->
 <div class="modal fade" id="modal-select-buyer" tabindex="-1" role="dialog" aria-hidden="true">
     <div class="modal-dialog" style="width: 60%">
@@ -295,9 +164,6 @@
                                 </tr>
                                 </thead>
                             </table>
-                            <div style="text-align: right">
-                                <button onclick="produceAll()" type="button" class="btn btn-sm btn-instagram">预览全量数据</button>
-                            </div>
                         </div>
                     </div>
                 </div>
@@ -337,12 +203,6 @@
                                     <textarea class="form-control" style="max-width: 100%" placeholder="输入排除词"
                                               id="notword_txt"></textarea></div>
                             </div>
-                            <div class="form-group exactRuleShow" style="display: none">
-                                <label class="col-sm-2 control-label">分组</label>
-                                <div class="col-sm-10">
-                                    <select class="form-control selectpicker" id="selectGroups"></select>
-                                </div>
-                            </div>
                         </form>
                     </div>
                 </div>
@@ -434,39 +294,30 @@
                         <label class="col-sm-2 control-label">匹配结果</label>
                         <div class="col-sm-10">
                             <p id="result_message"></p>
+
+
                         </div>
                     </div>
-                    <div id="testExactRule" class="exactRuleShow" style="display: none">
-                        <label class="control-label">精准筛选规则</label><br/>
-                        <div id="checkExactResult">验证结果:通过</div>
-                        <div id="checkExactRule">规则:
-                            <table id="checkExactRuleTable" class="table table-bordered">
-                                <thead>
-                                <tr>
-                                    <th>编号</th>
-                                    <th>关键词分组匹配条件</th>
-                                </tr>
-                                </thead>
-                            </table>
-                        </div><br/>
-                    </div>
                     <div id="testKeyDiv" style="display: none">
-                        <label class="control-label">关键词规则</label>
                         <table id="testKey" class="table table-bordered" >
                             <thead>
+
                             <tr>
+
+
                                 <th>编号</th>
                                 <th>关键词</th>
                                 <th>附加词</th>
                                 <th>排除词</th>
-                                <th>分组</th>
                                 <th>是否通过</th>
                                 <th>结果说明</th>
                                 <th>匹配值</th>
                             </tr>
                             </thead>
                         </table>
+
                     </div>
+
                 </div>
             </div>
         </div>
@@ -474,81 +325,6 @@
 </div>
 
 <script>
-    var exactRuleBool = false
-    var ruleHtml = "<div class=\"#b#-form  exact-rule-1 exact-rule-class #a#  #0#\" >" +
-        "<div class=\"form-group\" >" +
-        "<label class=\"col-sm-4 control-label\"><span style=\"color:red;\">* </span>关键词分组:</label>" +
-        "<div class=\"col-sm-8\">" +
-        "<select class=\"form-control groupSelect\" name=\"groupSelect\">" +
-        "#1#" +
-        "</select>" +
-        "</div>" +
-        "</div>" +
-        "<div class=\"form-group\">" +
-        "<label class=\"col-sm-4 control-label\"><span style=\"color:red;\">* </span>出现次数>=</label>" +
-        "<div class=\"col-sm-8\">" +
-        "<input  type='number' min='0' max='2000'  class=\"form-control\" name=\"count\" placeholder=\"请输入次数\" oninput=\"validateIntegerInput(this)\" value=\"#2#\">" +
-        "</div>" +
-        "</div>" +
-        "<div class=\"form-group\">" +
-        "<label class=\"col-sm-4 control-label\"><span style=\"color:red;\">* </span>匹配方式</label>" +
-        "<div class=\"col-sm-8\">" +
-        "<select class=\"form-control matchWay selectpicker\"  multiple name=\"matchWay\">" +
-        "#3#" +
-        "</select>" +
-        "</div>" +
-        "</div>" +
-        "<div class=\"form-group division-line\">" +
-        "<label class=\"col-sm-4 control-label\"><span style=\"color:red;\"></span></label>" +
-        "<div class=\"col-sm-4\"></div>" +
-        "<div class=\"col-sm-4\"></div>" +
-        "</div>" +
-        "</div>"
-    var remarkHtml = "<div style='color: red;text-align: center; font-weight: bold; margin: 0px 0px 7px 0px;'>且(同时满足)</div>"
-    //
-    function validateIntegerInput(input) {
-        // 获取输入的值
-        var value = input.value;
-        // 使用正则表达式检查输入的值是否为整数
-        var isInteger = /^\d*$/.test(value);
-        // 如果输入的值不是整数,修正为整数
-        if (!isInteger) {
-            input.value = parseInt(value) || 0;
-        }else if (value.length > 1 && value.charAt(0) === '0') {
-            // 如果输入的值是以零开头的整数,去掉开头的零
-            input.value = parseInt(value, 10).toString();
-        }else if (value > 2000){
-            input.value = 2000
-        }
-    }
-    //弹窗内容编辑及新增
-    function ruleHtmlFunc(className,mark,rule) {//count
-        if (ruleGroupList.length===0){
-            showGroupListData()
-        }
-        var count = 1;
-        var phrasesHtml = '';
-        var matchWayHtml = '';
-        var parentClass = rule.replaceAll("#","");
-        for (var i=0;i< ruleGroupList.length;i++){
-            phrasesHtml += "<option value='"+ruleGroupList[i]["name"]+"'>"+ruleGroupList[i]["name"]+"</option>"
-        }
-        for (let key in matchWayMap) {
-            console.log(`${key}: ${matchWayMap[key]}`);
-            var selected = ''
-            if (key=="title"){
-                selected = 'selected = true'
-            }
-            matchWayHtml +="<option value='"+key+"' "+selected+">"+matchWayMap[key]+"</option>"
-        }
-        if ($(rule+" ."+className).length>0){
-            $(rule).append(remarkHtml);
-        }
-        var ph = ruleHtml.replaceAll("#b#",parentClass).replaceAll("#a#",className).replaceAll("#0#",mark).replaceAll("#1#",phrasesHtml).replaceAll("#2#",count).replaceAll("#3#",matchWayHtml)
-        $(rule).append(ph);
-        // 初始化 selectpicker 插件
-        $('.selectpicker').selectpicker('refresh');
-    }
     //通用标签列表
     function importcomrule() {
         comruletable = $('#comrule').DataTable({
@@ -862,4 +638,4 @@
         $('#keywords').dataTable().fnAddData(d.data.o_rules);
         o_rules = d.data.o_rules;
     }
-</script>
+</script>

+ 61 - 135
SEPlatform/web/templates/private/cuser_rule_create.html

@@ -11,15 +11,10 @@
         background-color: #00ff90;
         font-weight: bold;
     }
-
     mark1 {
         background-color: red;
         font-weight: bold;
     }
-
-    .bootstrap-select .dropdown-menu {
-        min-width: 300px !important;
-    }
 </style>
 <div class="content-wrapper">
     <section class="content-header">
@@ -28,8 +23,8 @@
                 <button class="btn btn-primary btn-sm" onclick="importRule()"><i
                             class="fa fa-fw fa-cloud-upload fa-lg"></i>导入关键词
                 </button>
-                <a class="btn btn-sm btn-instagram" onclick="produceData('1')"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
-                <button class="btn btn-warning btn-sm" onclick="previewData('1')"><i class="fa fa-fw fa-eye fa-lg"></i>预览
+                <a class="btn btn-sm btn-instagram" onclick="produceData()"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
+                <button class="btn btn-warning btn-sm" onclick="previewData()"><i class="fa fa-fw fa-eye fa-lg"></i>预览
                 </button>
                 <button class="btn tn-info btn-sm" onclick="dataTest()" style="background-color:#AA77AF;color: white ">
                     <i class="fa fa-fw fa-save fa-lg"></i>数据匹配验证
@@ -266,27 +261,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label style="display: none;" class="col-sm-2 control-label">网站选择</label>
-                                        <div style="display: none;" class="col-sm-3">
-
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -321,18 +295,6 @@
                                             <input style="margin-top: 10px;" type="checkbox" id="bidamountExist">
                                         </div>
                                     </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-2 control-label">非预计采购时间</label>
-                                        <div class="col-sm-2" id="s_time_Div">
-                                            <input class="form-control" type="number" id="s_time_min"
-                                                   placeholder="8位数字/大于">
-                                        </div>
-                                        <label class="col-sm-1" style="text-align: center">___ ___</label>
-                                        <div class="col-sm-2">
-                                            <input class="form-control" type="number" id="s_time_max"
-                                                   placeholder="8位数字/小于">
-                                        </div>
-                                    </div>
                                     <div class="form-group">
                                         <label class="col-sm-2 control-label">全局附加词</label>
                                         <div class="col-sm-3">
@@ -393,7 +355,7 @@
                                         <label class="col-sm-2 control-label">预览数据量</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="maxnum" placeholder="默认100条"
-                                                   value=100 disabled>
+                                                   value="">
                                         </div>
                                         <label class="col-sm-2 control-label ">高级字段包</label>
                                         <div class="col-sm-3">
@@ -478,7 +440,6 @@
     var buyerClass = {{.T.buyerClass}};
     var buyerClassMap = {{.T.buyerClassMap}};
     var scopeClass = {{.T.scopeClass}};
-    var siteArr = {{.T.siteArr}}
 
     var ids = {{.T.ids}}
 
@@ -553,18 +514,10 @@
             $('#existFieldSelect')[0].appendChild(opt)
         }
         $("#existFieldSelect").selectpicker("refresh");
-        //城市选择
-        for (var i in siteArr) {
-            var provOpt = document.createElement('option');
-            provOpt.innerText = siteArr[i];
-            provOpt.value = siteArr[i];
-            $("#siteSelect")[0].appendChild(provOpt);
-        }
-
         var btnMatchHtml1 = "";
         var btnMatchHtml2 = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             } else {
@@ -985,6 +938,14 @@
 
     //匹配方式按钮点击事件
     function clickMatchBtn(obj) {
+        /*var temp_list = ["6", "7", "8", "9"]
+        for (i in temp_list) {
+            if (matchCode.indexOf(temp_list[i]) > -1) {
+                matchCode.length = 0
+                matchName.length = 0
+                break
+            }
+        }*/
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
@@ -1001,8 +962,8 @@
     }
 
     function clickMatchBtn2(obj) {
-        var temp_list = ["6", "7", "8", "9", "10", "11", "12"]
-        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)", "采购意向名称", "采购意向内容", "采购意向采购单位"]
+        var temp_list = ["6", "7", "8", "9"]
+        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)"]
         for (i in temp_list) {
             if (matchCode.indexOf(temp_list[i]) > -1) {
                 matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
@@ -1474,7 +1435,7 @@
             return;
         }
         if (dataMap.s_globalnotkey && !dataMap.s_globalnotkeymatch) {
-            showMsg("保存失败,全局排除词必须有对应的匹配方式!")
+            showMsg("保存失败,全局附加词必须有对应的匹配方式!")
             return;
         }
         if (dataMap.s_globalclearkey && !dataMap.s_globalclearkeymatch) {
@@ -1562,8 +1523,6 @@
             showMsg("保存失败,预算金额限制和中标金额限制不能同时使用,请修改!")
             return;
         }
-        dataMap["i_expurasingtimeStart"] = Number($('#s_time_min').val());
-        dataMap["i_expurasingtimeEnd"] = Number($('#s_time_max').val());
         if ($('#maxnum').val() !== "") {
             dataMap["i_maxnum"] = $('#maxnum').val();
         }
@@ -1646,55 +1605,37 @@
     });
 
     //生成数据
-    function produceData(dataType) {
+    function produceData() {
         if (dataMap.id == undefined || dataMap.id == "") {
             alert("请先保存规则");
             return
         }
         com.maskShow("正在生成数据...");
-        setTimeout(function(){
-            $.ajax({
-                url: "/service/cuser/produce",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id,"dataType": dataType},
-                success: function (r) {
-                    com.maskHide();
-                    if (r.rep === true) {
-                        dataMap.dataTypes = r.dataType
-                        dataMap.i_estotal = r.count;
-                        showTip("数据生成成功", 1000);
-                    } else if (r.rep === false) {
-                        showTip(r.msg, 30000);
-                    } else {
-                        showTip("数据生成失败", 12000);
-                    }
-            
-                },
-                error: function (r) {
-                    com.maskHide();
+        $.ajax({
+            url: "/service/cuser/produce",
+            type: "post",
+            data: {"id": dataMap.id},
+            success: function (r) {
+                com.maskHide();
+                if (r.rep === true) {
+                    dataMap.i_estotal = r.count;
+                    showTip("数据生成成功", 1000);
+                } else if (r.rep === false) {
+                    showTip(r.msg, 30000);
+                } else {
+                    showTip("数据生成失败", 12000);
                 }
-            })
-        },1000)
+
+            },
+            error: function (r) {
+                com.maskHide();
+            }
+        })
     }
 
     //预览数据
-    function previewData(dataType) {
+    function previewData() {
         if (state == 2) {
-            if (dataType != dataMap.dataTypes && dataType == "1"){
-                dataType = "2";
-            }
-            $.ajax({
-                url: "/customerRule/rule/preview",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType},
-                success: function(r){
-                    if (dataMap.i_estotal <= 100)  {
-                        dataMap.i_estotal = r.recordsTotal;
-                    }
-                }
-            })
             myDataTable = $('#previewData').DataTable({
                 "destroy": true,
                 "paging": true,
@@ -1707,8 +1648,7 @@
                 "ajax": {
                     url: "/service/rule/preview",
                     type: "post",
-                    async: false,
-                    data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType}
+                    data: {"s_dataid": dataMap.s_dataid},
                 },
                 "language": {
                     "url": "/dist/js/dataTables.chinese.lang"
@@ -1776,15 +1716,11 @@
                     },
                     {
                         "data": function (row) {
-                            if (row.detail !== "" && row.detail !== undefined) {
-                                var str = com.trimStr(row.detail);
-                                if (str.length > 14) {
-                                    return str.substring(0, 14) + "..."
-                                } else {
-                                    return str
-                                }
+                            var str = com.trimStr(row.detail);
+                            if (str.length > 14) {
+                                return str.substring(0, 14) + "..."
                             } else {
-                                row.detail = ""
+                                return str
                             }
                         }, width: "5%"
                     },
@@ -1946,25 +1882,17 @@
                 ]
             });
             $('#modal-preview').modal("show");
-            if (dataMap.dataTypes == "1") {
-                var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
+            if (dataMap.i_extfieldstype == 1) {
+                var str = "标准字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
             } else {
-                var str = "高级字段包 预览时间范围: 全部,数据量:" + dataMap.i_estotal;
-                $('#dataCount').html(str);
+                var str = "高级字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+                $('#dataCount').html(str)
             }
         } else {
             alert("请先保存标签");
         }
     }
-    
-    function produceAll(){
-        $('#modal-preview').modal("hide");
-        produceData("2");
-        setTimeout(function(){
-            previewData("2");
-        },1000)
-    }
 
     //下载es
     function downloades() {
@@ -2175,11 +2103,11 @@
                         // console.log(keyArr)
                         for (let i in keyArr) {
                             // row.key = row.key.replaceAll(keyArr[i], "<mark>" + keyArr[i] + "</mark>")
-                            if (markArr.includes(keyArr[i])) {
-                                keyStrArray.push("<mark>" + keyArr[i] + "</mark>")
-                            } else {
+                            if(markArr.includes(keyArr[i])){
+                                keyStrArray.push( "<mark>" + keyArr[i] + "</mark>")
+                            }else {
                                 // console.log(keyArr[i])
-                                keyStrArray.push(keyArr[i])
+                                keyStrArray.push(  keyArr[i] )
                             }
                         }
                         return keyStrArray.join(",") + "(" + s + ")"
@@ -2205,16 +2133,16 @@
                                 }
                             }
                         }
-                        if (row.markaddkey != undefined && row.markaddkey != "") {
-                            let keyStrArray = []
+                        if (row.markaddkey != undefined && row.markaddkey!=""){
+                            let keyStrArray= []
                             let markArr = row.markaddkey.split(",")
                             let keyArr = row.addkey.split(",")
                             for (let i in keyArr) {
-                                if (markArr.includes(keyArr[i])) {
-                                    keyStrArray.push("<mark>" + keyArr[i] + "</mark>")
-                                } else {
+                                if(markArr.includes(keyArr[i])){
+                                    keyStrArray.push( "<mark>" + keyArr[i] + "</mark>")
+                                }else {
                                     // console.log(keyArr[i])
-                                    keyStrArray.push(keyArr[i])
+                                    keyStrArray.push(  keyArr[i] )
                                 }
                             }
                             return keyStrArray.join(",") + "(" + s + ")"
@@ -2241,15 +2169,15 @@
                                 }
                             }
                         }
-                        if (row.marknotkey != undefined) {
+                        if (row.marknotkey != undefined){
                             let keyStrArray = []
                             let markArr = row.marknotkey.split(",")
                             let keyArr = row.notkey.split(",")
                             for (let i in keyArr) {
-                                if (markArr.includes(keyArr[i])) {
-                                    keyStrArray.push("<mark1>" + keyArr[i] + "</mark1>")
-                                } else {
-                                    keyStrArray.push(keyArr[i])
+                                if(markArr.includes(keyArr[i])){
+                                    keyStrArray.push( "<mark1>" + keyArr[i] + "</mark1>")
+                                }else {
+                                    keyStrArray.push(  keyArr[i] )
                                 }
                             }
                             return keyStrArray.join(",") + "(" + s + ")"
@@ -2282,7 +2210,6 @@
 
         ]
     });
-
     function dataTest() {
         $("#dataTest-title").val("")
         $("#dataTest-detail").val("")
@@ -2366,5 +2293,4 @@
 
         })
     }
-
 </script>

+ 82 - 803
SEPlatform/web/templates/private/cuser_rule_edit.html

@@ -11,38 +11,10 @@
         background-color: #00ff90;
         font-weight: bold;
     }
-
     mark1 {
         background-color: red;
         font-weight: bold;
     }
-
-    .insertexactRule-form .division-line ,.editexactRule-form .division-line{
-        display: inline-block !important;
-    }
-    .insertexactRule-form .form-group,.editexactRule-form .form-group{
-        display: block;
-        margin-bottom: 1px !important;
-    }
-    .insertexactRule-form .form-group label,.editexactRule-form .form-group label{
-        padding-top: 8px;
-    }
-    .insertexactRule-form .form-group .col-sm-8,.editexactRule-form .form-group .col-sm-8 {
-        margin-bottom: 5px;
-    }
-    .modal-header {
-        border-bottom-color: #fff;
-        padding-bottom: 0px !important;
-    }
-    #addExactRuleButton a {
-        cursor:pointer;
-    }
-    .insertexactRule-form , .editexactRule-form{
-        padding: 10px 10px 0px 10px;
-    }
-    #editExactRuleButton a {
-        cursor: pointer;
-    }
 </style>
 <div class="content-wrapper">
     <section class="content-header">
@@ -51,8 +23,8 @@
                 <button class="btn btn-primary btn-sm" onclick="importRule()"><i
                             class="fa fa-fw fa-cloud-upload fa-lg"></i>导入关键词
                 </button>
-                <a class="btn btn-sm btn-instagram" onclick="produceData('1')"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
-                <button class="btn btn-warning btn-sm" onclick="previewData('1')"><i class="fa fa-fw fa-eye fa-lg"></i>预览
+                <a class="btn btn-sm btn-instagram" onclick="produceData()"><i class="fa fa-fw fa-database fa-lg"></i>生成数据</a>
+                <button class="btn btn-warning btn-sm" onclick="previewData()"><i class="fa fa-fw fa-eye fa-lg"></i>预览
                 </button>
                 <button class="btn tn-info btn-sm" onclick="dataTest()" style="background-color:#AA77AF;color: white ">
                     <i class="fa fa-fw fa-save fa-lg"></i>数据匹配验证
@@ -92,10 +64,6 @@
                                                             aria-expanded="true">通用规则</a></li>
                     <li data-mode="guide" class=""><a href="#tab_2" data-toggle="tab" aria-expanded="false">关键词规则</a>
                     </li>
-                    <li data-mode="guide" class="exactRuleShow" style="display: none"><a href="#tab_3" data-toggle="tab" aria-expanded="false">精准筛选规则</a>
-                    </li>
-<!--                    <li data-mode="guide" class="exactRuleShow" style="display: none"><a href="#tab_4" data-toggle="tab" aria-expanded="false">精准筛选规则</a>-->
-<!--                    </li>-->
                     <button class="btn btn-primary btn-sm" style="float: right;margin-top: 4px;margin-right: 10px"
                             onclick="saveTag()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存
                     </button>
@@ -297,26 +265,6 @@
                                                 })
                                             </script>
                                         </div>
-
-                                        <label style="display: none;" class="col-sm-2 control-label">网站选择</label>
-                                        <div style="display: none;" class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -352,18 +300,6 @@
                                             <input style="margin-top: 10px;" type="checkbox" id="bidamountExist">
                                         </div>
                                     </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-2 control-label">非预计采购时间</label>
-                                        <div class="col-sm-2" id="s_time_Div">
-                                            <input class="form-control" type="number" id="s_time_min"
-                                                   placeholder="8位数字/大于">
-                                        </div>
-                                        <label class="col-sm-1" style="text-align: center">___ ___</label>
-                                        <div class="col-sm-2">
-                                            <input class="form-control" type="number" id="s_time_max"
-                                                   placeholder="8位数字/小于">
-                                        </div>
-                                    </div>
                                     <div class="form-group">
                                         <label class="col-sm-2 control-label">全局附加词</label>
                                         <div class="col-sm-3">
@@ -378,7 +314,7 @@
                                         </div>
                                     </div>
                                     <div class="form-group">
-                                        <label class="col-sm-2 control-label">全局排除词</label>
+                                        <label for="spiderChannel" class="col-sm-2 control-label">全局排除词</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="g_notkey"
                                                    value="{{.T.data.s_globalnotkey}}">
@@ -394,7 +330,8 @@
                                         <label class="col-sm-2 control-label">全局清理词</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="s_globalclearkey"
-                                                   value="{{.T.data.s_globalclearkey}}">
+                                                   placeholder="***"
+                                                   value={{.T.data.s_globalclearkey}}>
                                         </div>
                                         <label class="col-sm-2 control-label">匹配方式</label>
                                         <div class="col-sm-3">
@@ -456,7 +393,6 @@
                                 <i class="fa fa-bookmark"></i>
                                 <h3 class="box-title">关键词规则</h3>
                                 <div style="float: right">
-                                    <a class="btn btn-default btn-sm groups exactRuleShow" style="display: none" onclick="selectGroups()">分组管理</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(4)">关键词匹配方式</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(6)">附加词匹配方式</a>
                                     <a class="btn btn-default btn-sm" onclick="selectKeyMatch(8)">排除词匹配方式</a>
@@ -482,58 +418,11 @@
                                     <th>匹配方式</th>
                                     <th>采购单位类型</th>
                                     <th>公告行业</th>
-                                    <th>分组</th>
                                 </tr>
                                 </thead>
                             </table>
                         </div>
                     </div>
-                    <div class="tab-pane" id="tab_3">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <div class="col-sm-10" style="text-align: left; padding-left: 0px;">
-                                <h5>说明:可根据公告匹配的“关键词分组”个数,确定是否推送该篇公告;符合以下其中1条规则即推送</h5>
-                                </div>
-                                <div class="col-sm-2">
-                                    <button class="btn btn-twitter btn-sm" style="float: right;margin-top: 4px;margin-right: 10px"
-                                            onclick="addExactRuleShow()"><i class="fa fa-fw fa-file-text fa-lg"></i>新增
-                                    </button>                                </div>
-                            </div>
-                            <div>
-                                <table id="exactRuleTable" class="table table-bordered">
-                                    <thead>
-                                    <tr>
-                                        <th>编号</th>
-                                        <th>关键词分组匹配条件</th>
-
-                                        <th>操作</th>
-                                    </tr>
-                                    </thead>
-                                </table>
-                            </div>
-                        </div>
-                    </div>
-<!--                    <div class="tab-pane" id="tab_4">-->
-<!--                        <div class="box box-primary">-->
-<!--                            <div class="box-header with-border">-->
-<!--                                <div class="form-group">-->
-<!--                                    <div class="col-sm-6">-->
-<!--                                        <textarea name="" id="exactRule" cols="30" rows="10" placeholder="请输入精准筛选规则" style="width: 100%"></textarea>-->
-<!--                                    </div>-->
-<!--                                    <div class="col-sm-6">-->
-<!--                                        编写规则说明:<br/>-->
-<!--                                        1.应用场景:可根据该篇公告标题或全文,匹配的“关键词分组”个数,确定是否推送该篇公告。<br/>-->
-<!--                                        2.规则释义:<br/>-->
-<!--                                        (1)查找范围:title→公告标题,content→公告全文;not为不包含的关系;<br/>-->
-<!--                                        (2)查找值:关键词分组名;<br/>-->
-<!--                                        (3)查找范围和查找值用“_”连接;<br/>-->
-<!--                                        (3)查找条件:数量条件可用>=<;and→且关系,or→或关系;1组条件用()。<br/>-->
-<!--                                        3.规则示例(分组名为A和B):(title_A>0 and not content_B) or title_B>4 or (content_A and content_B>1) ,即该篇公告标题包含关键词分组A且公告全文文不包含关键词分组B时即推送,或该篇公告全文包含4个关键词分组B时即推送,或该篇公告全文包含关键词分组A2个及以上且关键词分组B2个及以上时即推送-->
-<!--                                    </div>-->
-<!--                                </div>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                    </div>-->
                 </div>
             </div>
         </div>
@@ -559,7 +448,6 @@
     var buyerClassMap = {{.T.buyerClassMap}};
     var scopeClass = {{.T.scopeClass}};
     var budgetfieldexist = {{.T.i_budgetfieldexist}}
-    var siteArr = {{.T.siteArr}}
 
     var matchCode = [];     //匹配方式code
     var matchName = [];     //匹配名字
@@ -572,18 +460,12 @@
     var selectIndex = [];               //选中的编号
     var setValue = 0;                   // 4: 关键词匹配方式,6:附加词匹配方式,8:排除词匹配方式,9:采购单位,10:公告行业, 2:全局采购单位类型, 3:全局公告行业
     var state = 1;
-    var exactRuleTableArr =[];// 临时数组 用于存放规则字符串转换后的数据
-    var testexactRuleTableArr =[];// 临时数组 用于存放数据验证规则字符串转换后的数据
     $(document).ready(function () {
         var name1 = {{(session "user").name}};
         if (name1 != dataMap.s_updateuser) {
             showTip("上次修改人员是" + dataMap.s_updateuser, 1000)
         }
-        if (dataMap.i_exact === 1) {
-            $(".exactRuleShow").show()
-        }
         $('#extfiledselect').val(dataMap.i_extfieldstype);
-        $('#exactRule').val(dataMap.s_exactRule);
         //es
         $('#estxt').val(dataMap.s_esquery);
         //预算限制
@@ -610,13 +492,6 @@
                 $('#s_bidamount_max').val(dataMap.s_bidamountlimit.replace("小于", ""))
             }
         }
-        // 非预计采购时间
-        if (dataMap.i_expurasingtimeStart && dataMap.i_expurasingtimeStart > 0) {
-                $('#s_time_min').val(dataMap.i_expurasingtimeStart);
-        }
-        if (dataMap.i_expurasingtimeEnd && dataMap.i_expurasingtimeEnd > 0) {
-                $('#s_time_max').val(dataMap.i_expurasingtimeEnd);
-        }
         //起始时间
         if (dataMap.i_starttime != 0) {
             var dt = new Date();
@@ -662,15 +537,9 @@
             $("#city")[0].appendChild(opt);
             optGroup += '<optgroup label="' + i + '" value="' + i + '">';
             for (var j in districtMap[i]) {
-                var districtArr = dataMap.s_district.split(",")
-                var isOk = false
-                for (var x in districtArr) {
-                    if (districtArr[x].split("-")[1] === districtMap[i][j] && districtArr[x].split("-")[0] === i) {
-                        optGroup += '<option selected value="' + i + "-" + districtMap[i][j] + '">' + districtMap[i][j] + '</option>';
-                        isOk = true
-                    }
-                }
-                if (!isOk) {
+                if (dataMap.s_district.indexOf(districtMap[i][j]) != -1) {
+                    optGroup += '<option selected value="' + i + "-" + districtMap[i][j] + '">' + districtMap[i][j] + '</option>';
+                } else {
                     optGroup += '<option value="' + i + "-" + districtMap[i][j] + '">' + districtMap[i][j] + '</option>';
                 }
             }
@@ -722,19 +591,6 @@
         $("#infoType").selectpicker("refresh");
         $("#existFieldSelect").selectpicker("refresh");
 
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
-
         if (dataMap.i_budgetfieldexist === 1) {
             $("#budgetExist").attr("checked", true)
         }
@@ -749,7 +605,7 @@
         var notMatchName = "";
         var clearMatchName = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             } else {
@@ -841,7 +697,7 @@
                         return `<input type="checkbox" name="ckb-keyid" onclick="singleSelect(this)" style="text-align: center">`
                     }
                 },
-                {"data": "s_matchkey", width: "8%"},
+                {"data": "s_matchkey", width: "10%"},
                 {
                     "data": function (row) {
                         var str = row.s_keymatch;
@@ -861,7 +717,7 @@
                         return ""
                     }, width: "5%"
                 },
-                {"data": "s_addkey", width: "8%"},
+                {"data": "s_addkey", width: "10%"},
                 {
                     "data": function (row) {
                         var str = row.s_addkeymatch;
@@ -881,7 +737,7 @@
                         return ""
                     }, width: "5%"
                 },
-                {"data": "s_notkey", width: "8%"},
+                {"data": "s_notkey", width: "10%"},
                 {
                     "data": function (row) {
                         var str = row.s_notkeymatch;
@@ -925,17 +781,6 @@
                         return str
                     }, width: "5%"
                 },
-                {
-                    "data": "s_group", width: "6%", render: function (val) {
-                        if (dataMap.i_exact !== 1) {
-                            return ""
-                        }
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                }
             ],
             "columnDefs": [{
                 "targets": [2],
@@ -972,42 +817,6 @@
                 }
             }]
         });
-        exactRuleTableArr = exactRuleStrToArr( dataMap["s_exactRule"])
-        // 精准筛选规则表格
-        $('#exactRuleTable').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-                this.api().column(2).nodes().each(function (cell, i) {
-                    cell.innerHTML = '<div>' +
-                        '<a onclick="editExacRuleClick(\'' + i + '\')" >编辑</a>&nbsp&nbsp' +
-                        '<a onclick="delExacRuleClick(\'' + i + '\')" >删除</a>&nbsp&nbsp' +
-                        '</div>';
-                });
-            },
-            "data": exactRuleTableArr,
-            "columns": [
-                {"data": null},
-                {
-                    "data": function (row) {
-                        return exactRuleDataFormat(row)
-                    }
-                },
-                {
-                    "data": null
-                },
-            ]
-        });
     });
 
     $('#province').selectpicker({
@@ -1019,9 +828,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
 
     //全局modal取消按钮
     function cancelModel() {
@@ -1228,6 +1034,14 @@
 
     //匹配方式按钮点击事件
     function clickMatchBtn(obj) {
+        /*var temp_list = ["6", "7", "8", "9"]
+        for (i in temp_list) {
+            if (matchCode.indexOf(temp_list[i]) > -1) {
+                matchCode.length = 0
+                matchName.length = 0
+                break
+            }
+        }*/
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
@@ -1244,8 +1058,8 @@
     }
 
     function clickMatchBtn2(obj) {
-        var temp_list = ["6", "7", "8", "9", "10", "11", "12"]
-        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)", "采购意向名称", "采购意向内容", "采购意向采购单位"]
+        var temp_list = ["6", "7", "8", "9"]
+        var name_list = ["采购单位", "中标单位", "采购单位(正则)", "中标单位(正则)"]
         for (i in temp_list) {
             if (matchCode.indexOf(temp_list[i]) > -1) {
                 matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
@@ -1700,9 +1514,6 @@
             showMsg(msg);
             return
         }
-        if ((dataMap.s_area).indexOf("其他") != -1) {
-            dataMap.s_area = (dataMap.s_area).replace("其他", "全国")
-        }
         dataMap["s_customer"] = $('#customer').val();
         dataMap["s_name"] = $('#tagname').val();
         dataMap["s_salesperson"] = $('#salename').val();
@@ -1730,7 +1541,7 @@
             return;
         }
         if (dataMap.s_globalnotkey && !dataMap.s_globalnotkeymatch || !dataMap.s_globalnotkey && dataMap.s_globalnotkeymatch) {
-            showMsg("保存失败,全局排除词必须有对应的匹配方式!")
+            showMsg("保存失败,全局附加词必须有对应的匹配方式!")
             return;
         }
         if (dataMap.s_globalclearkey && !dataMap.s_globalclearkeymatch || !dataMap.s_globalclearkey && dataMap.s_globalclearkeymatch) {
@@ -1761,7 +1572,6 @@
         dataMap["s_globaladdkey"] = $('#g_addkey').val();
         dataMap["s_globalnotkey"] = $('#g_notkey').val();
         dataMap["s_globalclearkey"] = $('#s_globalclearkey').val();
-        dataMap["s_exactRule"] = exactRuleArrToStr()
         if (dataMap["s_customer"] == "" || dataMap["s_name"] == "" || dataMap["s_salesperson"] == "" || dataMap["s_serverperson"] == "") {
             alert("请填写必须字段!")
             return
@@ -1813,8 +1623,6 @@
                 bidamount = bidamount + ",小于" + $('#s_bidamount_max').val()
             }
         }
-        dataMap["i_expurasingtimeStart"] = Number($('#s_time_min').val());
-        dataMap["i_expurasingtimeEnd"] = Number($('#s_time_max').val());
         dataMap["s_bidamountlimit"] = bidamount;
         if (bidamount !== "") {
             if ($('#bidamountExist').prop('checked')) {
@@ -1870,50 +1678,32 @@
     }
 
     //生成数据
-    function produceData(dataType) {
+    function produceData() {
         com.maskShow("正在生成数据...");
-        setTimeout(function(){
-            $.ajax({
-                url: "/service/cuser/produce",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id,"dataType": dataType},
-                success: function (r) {
-                    com.maskHide();
-                    if (r.rep === true) {
-                        dataMap.dataTypes = r.dataType
-                        dataMap.i_estotal = r.count;
-                        showTip("数据生成成功", 1000);
-                    } else if (r.rep === false) {
-                        showTip(r.msg, 30000);
-                    } else {
-                        showTip("数据生成失败", 12000);
-                    }
-
-                },
-                error: function (r) {
-                    com.maskHide();
-                }
-            })
-        },1000)
-    }
-
-    //预览数据
-    function previewData(dataType) {
-        if (dataType != dataMap.dataTypes && dataType == "1"){
-            dataType = "2";
-        }
         $.ajax({
-            url: "/customerRule/rule/preview",
+            url: "/service/cuser/produce",
             type: "post",
-            async: false,
-            data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType},
-            success: function(r){
-                if (dataMap.i_estotal <= 100)  {
-                    dataMap.i_estotal = r.recordsTotal;
+            data: {"id": dataMap.id},
+            success: function (r) {
+                com.maskHide();
+                if (r.rep === true) {
+                    dataMap.i_estotal = r.count;
+                    showTip("数据生成成功", 1000);
+                } else if (r.rep === false) {
+                    showTip(r.msg, 30000);
+                } else {
+                    showTip("数据生成失败", 12000);
                 }
+
+            },
+            error: function (r) {
+                com.maskHide();
             }
         })
+    }
+
+    //预览数据
+    function previewData() {
         myDataTable = $('#previewData').DataTable({
             "destroy": true,
             "paging": true,
@@ -1926,8 +1716,7 @@
             "ajax": {
                 url: "/service/rule/preview",
                 type: "post",
-                async: false,
-                data: {"id": dataMap.id,"s_dataid": dataMap.s_dataid,"dataType": dataType}
+                data: {"s_dataid": dataMap.s_dataid},
             },
             "language": {
                 "url": "/dist/js/dataTables.chinese.lang"
@@ -2000,17 +1789,12 @@
                 },
                 {
                     "data": function (row) {
-                        if (row.detail !== "" && row.detail !== undefined) {
-                            var str = com.trimStr(row.detail);
-                            if (str.length > 14) {
-                                return str.substring(0, 14) + "..."
-                            } else {
-                                return str
-                            }
+                        var str = com.trimStr(row.detail);
+                        if (str.length > 14) {
+                            return str.substring(0, 14) + "..."
                         } else {
-                            row.detail = ""
+                            return str
                         }
-
                     }, width: "5%"
                 },
                 {
@@ -2180,23 +1964,15 @@
             ]
         });
         $('#modal-preview').modal("show");
-        if (dataMap.dataTypes == "1") {
-            var str = "预览时间范围:近两个月,数据量:" + dataMap.i_estotal;
-            $('#dataCount').html(str);
+        if (dataMap.i_extfieldstype == 1) {
+            var str = "标准字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+            $('#dataCount').html(str)
         } else {
-            var str = "高级字段包 预览时间范围: 全部,数据量:" + dataMap.i_estotal;
-            $('#dataCount').html(str);
+            var str = "高级字段包 " + dataMap.i_maxnum + "/" + dataMap.i_estotal;
+            $('#dataCount').html(str)
         }
     }
 
-    function produceAll(){
-        $('#modal-preview').modal("hide");
-        produceData("2");
-        setTimeout(function(){
-            previewData("2");
-        },1000)
-    }
-
     //导入标签
     function importRule() {
         $("#file").click();
@@ -2270,24 +2046,6 @@
         $('#addword_txt').val("");
         $('#notword_txt').val("");
         $('#modal-add-keyword').modal("show");
-        $.ajax({
-            url: "/service/cuser/groupList",
-            type: "post",
-            async: false,
-            data: {"id": dataMap.id},
-            success: function (r) {
-                if (r.data) {
-                    var provOpt = ""
-                    provOpt += `<option value='默认分组'>默认分组</option>`
-                    for (var i in r.data) {
-                        provOpt += `<option value='${r.data[i].name}'>${r.data[i].name}</option>`
-                    }
-                    $("#selectGroups").html(provOpt)
-                    $("#selectGroups").selectpicker("refresh");
-                }
-            }
-        })
-
     }
 
     //关键词修改
@@ -2299,27 +2057,6 @@
             $('#keyword_txt').val(o_rules[index].s_matchkey);
             $('#addword_txt').val(o_rules[index].s_addkey);
             $('#notword_txt').val(o_rules[index].s_notkey);
-            var provOpt = ``
-            $.ajax({
-                url: "/service/cuser/groupList",
-                type: "post",
-                async: false,
-                data: {"id": dataMap.id},
-                success: function (r) {
-                    if (r.data) {
-                        provOpt += `<option value='默认分组'>默认分组</option>`
-                        for (var i in r.data) {
-                            if (r.data[i].name === o_rules[index].s_group){
-                                provOpt += `<option selected value='${r.data[i].name}'>${r.data[i].name}</option>`
-                            }else {
-                                provOpt += `<option value='${r.data[i].name}'>${r.data[i].name}</option>`
-                            }
-                        }
-                        $("#selectGroups").html(provOpt)
-                        $("#selectGroups").selectpicker("refresh");
-                    }
-                }
-            })
         } else {
             showTip("请选中需要修改的关键词,且只能选中一条", 1000)
         }
@@ -2335,7 +2072,6 @@
             rule["s_matchkey"] = key.replace(",", ",");
             if (addkey != "") rule["s_addkey"] = addkey.replace(",", ",");
             if (notkey != "") rule["s_notkey"] = notkey.replace(",", ",");
-            rule["s_group"] = $('#selectGroups option:selected').val()
             $('#modal-add-keyword').modal('hide');
             if (key_flag == 1) {
                 var index = selectIndex[0] - 1;
@@ -2477,11 +2213,11 @@
                         // console.log(keyArr)
                         for (let i in keyArr) {
                             // row.key = row.key.replaceAll(keyArr[i], "<mark>" + keyArr[i] + "</mark>")
-                            if (markArr.includes(keyArr[i])) {
-                                keyStrArray.push("<mark>" + keyArr[i] + "</mark>")
-                            } else {
+                            if(markArr.includes(keyArr[i])){
+                                keyStrArray.push( "<mark>" + keyArr[i] + "</mark>")
+                            }else {
                                 // console.log(keyArr[i])
-                                keyStrArray.push(keyArr[i])
+                                keyStrArray.push(  keyArr[i] )
                             }
                         }
                         return keyStrArray.join(",") + "(" + s + ")"
@@ -2507,16 +2243,16 @@
                                 }
                             }
                         }
-                        if (row.markaddkey != undefined && row.markaddkey != "") {
-                            let keyStrArray = []
+                        if (row.markaddkey != undefined && row.markaddkey!=""){
+                            let keyStrArray= []
                             let markArr = row.markaddkey.split(",")
                             let keyArr = row.addkey.split(",")
                             for (let i in keyArr) {
-                                if (markArr.includes(keyArr[i])) {
-                                    keyStrArray.push("<mark>" + keyArr[i] + "</mark>")
-                                } else {
+                                if(markArr.includes(keyArr[i])){
+                                    keyStrArray.push( "<mark>" + keyArr[i] + "</mark>")
+                                }else {
                                     // console.log(keyArr[i])
-                                    keyStrArray.push(keyArr[i])
+                                    keyStrArray.push(  keyArr[i] )
                                 }
                             }
                             return keyStrArray.join(",") + "(" + s + ")"
@@ -2543,15 +2279,15 @@
                                 }
                             }
                         }
-                        if (row.marknotkey != undefined) {
+                        if (row.marknotkey != undefined){
                             let keyStrArray = []
                             let markArr = row.marknotkey.split(",")
                             let keyArr = row.notkey.split(",")
                             for (let i in keyArr) {
-                                if (markArr.includes(keyArr[i])) {
-                                    keyStrArray.push("<mark1>" + keyArr[i] + "</mark1>")
-                                } else {
-                                    keyStrArray.push(keyArr[i])
+                                if(markArr.includes(keyArr[i])){
+                                    keyStrArray.push( "<mark1>" + keyArr[i] + "</mark1>")
+                                }else {
+                                    keyStrArray.push(  keyArr[i] )
                                 }
                             }
                             return keyStrArray.join(",") + "(" + s + ")"
@@ -2563,16 +2299,6 @@
 
                 width: "18%"
             },
-            {"data": "s_group", width: "7%", render: function (val) {
-                    if (dataMap.i_exact !== 1) {
-                        return ""
-                    }
-                    if (val == undefined) {
-                        val = ""
-                    }
-                    return val
-                }
-            },
             {"data": "status", width: "7%"},
             {"data": "info", width: "12%"},
             {
@@ -2580,6 +2306,8 @@
                     if (data) {
                         if (data.length > 40) {
                             return '<span title="' + data + '">' + data.substr(0, 40) + '...</span>';
+
+
                         } else {
                             return '<span title="' + data + '">' + data + '</span>';
                         }
@@ -2587,7 +2315,9 @@
                     return ""
                 },
                 width: "10%"
+
             }
+
         ]
     });
 
@@ -2613,44 +2343,10 @@
             type: "post",
             data: {"title": title, "detail": detail},
             success: function (r) {
-                if (r.exactRule != ""){
-                    testexactRuleTableArr = exactRuleStrToArr( r.exactRule)
-                    $('#checkExactRuleTable').DataTable({
-                        "paging": false,
-                        "bDestroy": true,
-                        "lengthChange": false,
-                        "searching": false,
-                        "ordering": false,
-                        "info": true,
-                        "autoWidth": false,
-                        "language": {
-                            "url": "/dist/js/dataTables.chinese.lang"
-                        },
-                        "fnDrawCallback": function () {
-                            this.api().column(0).nodes().each(function (cell, i) {
-                                cell.innerHTML = i + 1;
-                            });
-                        },
-                        "data": testexactRuleTableArr,
-                        "columns": [
-                            {"data": null},
-                            {
-                                "data": function (row) {
-                                    return exactRuleDataFormat(row)
-                                }
-                            }
-                        ]
-                    });
 
-                }else{
-                    $("#checkExactRule").text("规则:")
-                }
-                if (r.exactResult){
-                    $("#checkExactResult").text("验证结果:通过")
-                }else{
-                    $("#checkExactResult").text("验证结果:不通过")
-                }
+
                 if (r.status) {
+
                     //全局附加词未匹配成功或者 排除词排除
                     if (r.data.result === false) {
                         // $("#result_status").html("匹配失败")
@@ -2660,17 +2356,25 @@
                     } else if (r.data.result === true && r.data.data === "") {
                         //没有关键词时 全局附加词匹配成功时
                         $("#result_message").html("匹配成功 " + r.data.info)
+
                         $("#testKeyDiv").hide()
                         $("#testGlobal").show()
                     } else {
+
                         $("#result_message").html("")
                         $('#testKey').dataTable().fnClearTable();
                         $('#testKey').dataTable().fnAddData(r.data);
                         $("#testKeyDiv").show()
+
+
                     }
                     $("#testResult").show()
+
+
                 } else {
+
                     showTip(r.message, 500);
+
                 }
 
                 // if (r.result) {
@@ -2696,433 +2400,8 @@
                 //     }
                 // }
             }
-        })
-    }
 
-    //分组管理
-    function selectGroups(){
-        $('#modal-select-group').modal("show");
-    }
 
-    function groupList(){
-        $.ajax({
-            url: "/service/cuser/groupList",
-            type: "post",
-            data: {"id": dataMap.id},
-            async: false,
-            success: function (r) {
-                if (r.data) {
-                    var str = ""
-                    for (var i in r.data) {
-                        str += `<div>
-                            <span>${r.data[i].name}</span>
-                            <a onclick="delGroup('${r.data[i].name}')" style="margin-left:15px;float: right">删除</a>
-                            <a onclick="updateGroup(this,'${r.data[i]._id}','${r.data[i].name}')" style="float: right">编辑</a>
-                        </div>`
-                    }
-                    $("#groupList").html(str)
-                }
-            }
         })
     }
-    groupList()
-
-    function addGroup(){
-        if ($("#groupList").find("#groupName").length > 0) {
-            str = "请先完成上一个编辑";
-            showTip(str, 2000);
-            return
-        }
-        groupList()
-        $(".addGroup").hide()
-        var str = `<div id="groupDiv">
-            <input type="text" id="groupName" maxlength="10" placeholder="请输入分组名称" style="width: 40%">
-            <a onclick="cancelGroup()" style="margin-left:15px;float: right">取消</a>
-            <a onclick="saveGroup()" style="float: right">确定</a>
-        </div>`
-        $("#groupList").append(str)
-    }
-
-    function saveGroup(id){
-        var name = $("#groupName").val().trim()
-        if (name === "") {
-            str = "请输入分组名称";
-            showTip(str, 1000);
-            return
-        }
-        if (id) {
-            $.ajax({
-                url: "/service/cuser/updateGroup",
-                type: "post",
-                data: {"_id": id,"id":dataMap.id,"name":name},
-                success: function (r) {
-                    if (r.resp) {
-                        groupList()
-                        str = "编辑成功";
-                        showTip(str, 1000);
-                    } else {
-                        str = "分组名不可重复";
-                        showTip(str, 1000);
-                    }
-                }
-            })
-        } else {
-            $.ajax({
-                url: "/service/cuser/addGroup",
-                type: "post",
-                data: {"id": dataMap.id,"name":name},
-                success: function (r) {
-                    if (r.resp) {
-                        groupList()
-                        $(".addGroup").show()
-                        str = "添加成功";
-                        showTip(str, 1000);
-                    } else {
-                        str = "分组名不可重复";
-                        showTip(str, 1000);
-                    }
-                }
-            })
-        }
-    }
-
-    function cancelGroup(){
-        $(".addGroup").show()
-        $("#groupDiv").remove()
-    }
-
-    function updateGroup(obj,id,name){
-        if ($("#groupList").find("#groupName").length > 0) {
-            str = "请先完成上一个编辑";
-            showTip(str, 2000);
-            return
-        }
-        var str = `<input type="text" id="groupName" maxlength="10" placeholder="请输入分组名称" value="${name}" style="width: 40%">
-            <a onclick="groupList()" style="margin-left:15px;float: right">取消</a>
-            <a onclick="saveGroup('${id}')" style="float: right">确定</a>`
-        $(obj).parent().html(str)
-    }
-
-    function delGroup(name){
-        $.ajax({
-            url: "/service/cuser/delGroup",
-            type: "post",
-            data: {"ruleId": dataMap.id,"name": name},
-            success: function () {
-                groupList()
-                str = "删除成功";
-                showTip(str, 1000);
-            }
-        })
-    }
-    //分组管理
-    var ruleGroupList = new Array()
-    // 精准筛选规则-新增按钮点击方法
-    function addExactRuleShow(){
-        // 判断是否设置关键词
-        if (ruleGroupList.length===0){
-            showGroupListData()
-            if (ruleGroupList.length===0){
-                showTip("请先设置关键词规则分组")
-                return
-            }
-        }
-        // 判断是否设置关键词匹配方式
-        // debugger
-        //  判断是否设置关键词
-        if (o_rules.length===0) {
-            showTip("请先设置关键词")
-            return
-        }
-        //  判断是否设置关键词匹配方式
-        if (!hasMatchWay()){
-            showTip("请先设置关键词匹配方式")
-            return
-        }
-        //初始化
-        $("#insertexactRule").html("");
-        $("#addExactRuleButton").show();
-        // 新增精准筛选规则弹框
-       // 请求分组列表接口获取数据
-        ruleHtmlFunc("insert-class","","#insertexactRule")
-        $("#modal-add-exactRule").modal("show");
-    }
-    // 精准筛选规则-新增页面 +新增按钮
-    function addExactRule(){
-        ruleHtmlFunc("insert-class","","#insertexactRule")
-        if ($('.insert-class').length > 3){
-            $("#addExactRuleButton").hide()
-        }
-    }
-    // 精准筛选规则-新增精准匹配规则保存按钮点击事件
-    function add_exactRule_save(){
-        // 获取值
-        let ruleArr = [];
-        let checkObj = {};
-        let formList =  $("#insertexactRule .insertexactRule-form");
-        formList.each(function() {
-            var groupName = $(this).find('select[name="groupSelect"]').val();
-            var count = $(this).find('input[name="count"]').val();
-            var matchWayValue = $(this).find('select[name="matchWay"]').val();
-            if (groupName===""||matchWayValue.length===0||count===""){
-                // todo
-                return true;
-            }
-            for (let j = 0; j < matchWayValue.length; j++) {
-                let rule =      {
-                    "group":groupName,"match_way":matchWayValue[j],"count":count
-                }
-                if(checkObj[groupName+"_"+count+"_"+matchWayValue[j]]){
-                    return  true
-                }
-                checkObj[groupName+"_"+count+"_"+matchWayValue[j]] = matchWayValue[j]
-                ruleArr.push(rule)
-            }
-            console.log(matchWayValue);
-        });
-        if (ruleArr.length===0){
-            showMsg("规则已存在!")
-            return
-        }
-        // 保存到exactRuleTableArr 临时数组
-        exactRuleTableArr.push(ruleArr)
-        $('#exactRuleTable').dataTable().fnClearTable();
-        $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-        if (exactRuleTableArr.length == 0) {
-            $('#exactRuleTable').dataTable().fnClearTable();
-        }
-        $("#modal-add-exactRule").modal("hide");
-
-    }
-    // 精准筛选规则-临时数组转换成规则字符串
-    // [[{"group":"A","match_way":"content","count":5},{},{}],[]]
-    // (title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    function exactRuleArrToStr(){
-        let ruleStrArr = []
-        for (let i = 0; i < exactRuleTableArr.length; i++) {
-            let rulesArr = [];
-            for (let j = 0; j < exactRuleTableArr[i].length; j++) {
-                let count =exactRuleTableArr[i][j].count-1
-                let group = exactRuleTableArr[i][j].group
-                let match_way = exactRuleTableArr[i][j].match_way
-                let rule = match_way+"_"+group+">"+count
-                rulesArr.push(rule)
-            }
-            if (rulesArr.length>1){ // 拼接小括号
-                ruleStrArr.push("("+rulesArr.join(" and ")+")")
-            }else {
-                if (rulesArr.length>0){
-                    ruleStrArr.push(rulesArr[0])
-                }
-            }
-        }
-        return  ruleStrArr.join(" or ")
-    }
-    // (title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 精准筛选规则-规则字符串转换成临时数组   仅支持这种格式 (title_A>0 and  content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 分组名称不要包含公式中的符号 :  下划线、>、()、or、and
-    function exactRuleStrToArr( exactRuleStr)  {
-        if (exactRuleStr===undefined||exactRuleStr===""){
-            return []
-        }
-        let exactRuleTableArrTmp = []
-        // let exactRuleStr = "(title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)"
-        let exactRuleList = exactRuleStr.split(" or ") // 分割成单条规则
-        for (let i=0; i< exactRuleList.length; i++) {
-            let exactRuleTmp = exactRuleList[i]
-            let rulesArr = [];
-            if (exactRuleTmp.startsWith("(")) {
-                exactRuleTmp = exactRuleTmp.slice(1, -1) //去掉首尾的括号
-            }
-            let singleRuleArr = exactRuleTmp.split(" and ")  // 分割单条规则中的数据
-            for (let j=0;j<singleRuleArr.length;j++) {
-                let singleRule  =singleRuleArr[j]
-                // 匹配方式
-                 let singleRuleSplit = singleRule.split("_")
-                 if (singleRuleSplit.length<2){
-                     console.log("singleRuleSplit 长度不够",singleRuleSplit)
-                     return
-                 }
-                 let matchWay = singleRuleSplit[0] // 第一位是匹配方式
-                 // 然后接着分割出分组名称和次数  使用 _
-                 let singleRuleSplit2 = singleRuleSplit[1].split(">")
-                if (singleRuleSplit2.length<2){
-                    console.log("singleRuleSplit2 长度不够",singleRuleSplit2)
-                    return
-                }
-                let groupName = singleRuleSplit2[0]
-                let count = singleRuleSplit2[1]
-                 // 次数    次数这里要+1  因为展示框里用的是>=  公式里面用的是>
-                 let rule = {
-                     "group":groupName,"match_way":matchWay,"count":parseInt(count)+1
-                 }
-                rulesArr.push(rule)
-            }
-            exactRuleTableArrTmp.push(rulesArr)
-        }
-        return exactRuleTableArrTmp;
-    }
-    var editexactRuleId = 0;
-    const matchWayMap = {
-        "title":"标题匹配",
-        "content":"全文匹配"
-    }
-    // 规则数组转换列表字符串
-    function exactRuleDataFormat(contentArr ){
-        // keyArr 定义数组 维持最后有序
-        let keyArr = []
-        // 合并 标题正文 如果
-        let tmpDict = {}
-        for (let i = 0; i < contentArr.length; i++) {
-            let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
-            if (tmpDict.hasOwnProperty(keyGroupCount)){
-                tmpDict[keyGroupCount].match_way.add(matchWayMap[contentArr[i].match_way])
-            }else {
-                let set = new Set();
-                tmpDict[keyGroupCount] = {
-                    "group":contentArr[i].group,"match_way":set.add(matchWayMap[contentArr[i].match_way]),"count":contentArr[i].count
-                }
-                keyArr.push(keyGroupCount)
-
-            }
-        }
-        let str = ""
-        for (let tmpDictKey in keyArr) {
-            str += "关键词分组:"+tmpDict[keyArr[tmpDictKey]].group+",出现次数>="+tmpDict[keyArr[tmpDictKey]].count+",匹配方式:"+Array.from(tmpDict[keyArr[tmpDictKey]].match_way).join(",")+";"
-        }
-        return str
-    }
-    // 删除 点击事件
-    function delExacRuleClick(index) {
-        index = parseInt(index)
-        showConfirm("确定删除?", function () {
-            exactRuleTableArr  =  $.grep(exactRuleTableArr,function (n,i) {
-                return i!==index
-            })
-            $('#exactRuleTable').dataTable().fnClearTable();
-            $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-            if (exactRuleTableArr.length == 0) {
-                $('#exactRuleTable').dataTable().fnClearTable();
-            }
-        })
-
-    }
-    function showGroupListData(){
-        $.ajax({
-            url: "/service/cuser/groupList",
-            type: "post",
-            data: {"id": dataMap.id},
-            async: false,
-            success: function (r) {
-                if (r.data) {
-                    ruleGroupList=r.data;
-                }
-            }})
-    }
-    // 编辑点击事件
-    function editExacRuleClick(index){
-        $("#editexactRule").html("");
-        $("#editExactRuleButton").show();
-        editexactRuleId = index;
-        // 铺数据
-        let contentArr = exactRuleTableArr[index]
-        // keyArr 定义数组 维持最后有序
-        let keyArr = []
-        // 合并 标题正文
-        let tmpDict = {}
-        for (let i = 0; i < contentArr.length; i++) {
-            let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
-            if (tmpDict.hasOwnProperty(keyGroupCount)){
-                tmpDict[keyGroupCount].match_way.add(contentArr[i].match_way)
-            }else {
-                let set = new Set();
-                tmpDict[keyGroupCount] = {
-                    "group":contentArr[i].group,"match_way":set.add(contentArr[i].match_way),"count":contentArr[i].count
-                }
-                keyArr.push(keyGroupCount)
-            }
-        }
-        for (let i = 0; i < keyArr.length; i++) {
-            var keyGroup = tmpDict[keyArr[i]].group;
-            var count = tmpDict[keyArr[i]].count;
-            var matchWay = tmpDict[keyArr[i]].match_way;
-            ruleHtmlFunc("edit-class",keyArr[i],"#editexactRule");
-            $('#editexactRule .'+keyArr[i]+' select[name=groupSelect]').selectpicker('val',keyGroup);
-            $('#editexactRule .'+keyArr[i]+' input[name=count]').val(count);
-            let matchWayArr = Array.from(matchWay);
-            $('#editexactRule .'+keyArr[i]+' select[name=matchWay]').val("").trigger("change").selectpicker('val',matchWayArr);
-        }
-        $("#modal-edit-exactRule").modal("show");
-    }
-    // 编辑保存
-    function edit_exactRule_save(){
-       // let index =  $("#editexactRuleId").text()
-        // 获取数
-        let ruleArr = []
-        let formList =  $("#editexactRule .editexactRule-form")
-        formList.each(function() {
-            var groupName = $(this).find('select[name="groupSelect"]').val();
-            var count = $(this).find('input[name="count"]').val();
-            var matchWayValue = $(this).find('select[name="matchWay"]').val();
-            if (groupName===""||matchWayValue.length===0||count===""){
-                // todo
-                return true;
-            }
-            for (let j = 0; j < matchWayValue.length; j++) {
-                let rule =      {
-                    "group":groupName,"match_way":matchWayValue[j],"count":count
-                }
-                ruleArr.push(rule)
-            }
-            console.log(matchWayValue);
-        });
-        // 保存到exactRuleTableArr 临时数组
-        exactRuleTableArr[editexactRuleId] = ruleArr
-        $('#exactRuleTable').dataTable().fnClearTable();
-        $('#exactRuleTable').dataTable().fnAddData(exactRuleTableArr);
-        if (exactRuleTableArr.length === 0) {
-            $('#exactRuleTable').dataTable().fnClearTable();
-        }
-        $("#modal-edit-exactRule").modal("hide");
-    }
-    // 精准筛选规则-编辑页面 +新增按钮
-    function editExactRule(){
-        ruleHtmlFunc("edit-class","","#editexactRule")
-        if ($('.edit-class').length > 3){
-            $("#editExactRuleButton").hide();
-        }
-    }
-    //  判断是否设置匹配方式
-    function hasMatchWay() {
-        for (let i = 0; i < o_rules.length; i++) {
-            if (o_rules[i]["s_keymatch"]!=""&&o_rules[i]["s_keymatch"]!=undefined){
-                return true
-            }
-        }
-        return false
-    }
-    // 获取已经设置的匹配方式  但是目前仅支持 标题和正文
-    const ruleMatchMruleStr = {
-        "1":"title",
-        "2":"content"
-    }
-    function matchWayShow(mId) {
-        let arr  = new Set();
-        for (let i = 0; i < o_rules.length; i++) {
-            if (o_rules[i]["s_keymatch"] != "" && o_rules[i]["s_keymatch"] != undefined) {
-                if (ruleMatchMruleStr.hasOwnProperty(o_rules[i]["s_keymatch"])){
-                    let matchWay = ruleMatchMruleStr[o_rules[i]["s_keymatch"]]
-                    arr.add({ value: matchWay, text: matchWayMap[matchWay] })
-                }
-            }
-        }
-        let  arr2 = Array.from(arr)
-        for (let i = 0; i <arr2.length; i++) {
-            let  option = arr2[i]
-            let s = `<option value="`+option.value+`">`+option.text+`</option>`
-            $(mId+'  select[name=matchWay]').append(`<option value="`+option.value+`">`+option.text+`</option>`)
-        }
-        $(mId+'  select[name=matchWay]').selectpicker('refresh');
-
-    }
 </script>

File diff suppressed because it is too large
+ 155 - 302
SEPlatform/web/templates/private/cuser_rule_history_edit.html


+ 0 - 9
SEPlatform/web/templates/private/customer_create.html

@@ -54,13 +54,6 @@
                                             <input type="text" class="form-control" id="contract" placeholder="客户联系人名称" required>
                                         </div>
                                     </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-2 control-label">管理员手机号</label>
-                                        <div class="col-sm-3">
-                                            <input type="tel" class="form-control" id="phone" placeholder="管理员手机号" />
-                                            <label for="phone" style="font-size: 12px;color: red">注:该手机号用户登录剑鱼工作台,将作为企业管理员对该企业人员及权限进行管理,保存后不支持修改,请谨慎填写,如需修改请联系研发人员。</label>
-                                        </div>
-                                    </div>
                                     <div class="box-header with-border">
                                         <i class="fa fa-tag"></i>
                                         <h3 class="box-title">部门信息</h3>
@@ -214,7 +207,6 @@
     function saveCuser() {
         var name = $('#customername').val();
         var contract = $('#contract').val();
-        var phone = $('#phone').val();
         var saleperson = $('#seller').val();
         var skills = $('#skills').val();
         if (name == "" || saleperson == "") {
@@ -225,7 +217,6 @@
         dataMap.s_customername = contract
         dataMap.s_salesperson = saleperson
         dataMap.skills = skills
-        dataMap.s_phone = phone
         dataMap["depart"] = JSON.stringify(departArr);
         $.ajax({
             url: "/service/customer/save",

+ 12 - 256
SEPlatform/web/templates/private/customer_edit.html

@@ -18,10 +18,10 @@
         <div class="tab-content">
             <div class="nav-tabs-custom">
                 <ul class="nav nav-tabs edit-step">
-                    <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab" aria-expanded="true">客户信息</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_2" data-toggle="tab" aria-expanded="false">私有标签1</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_3" data-toggle="tab" aria-expanded="false">私有标签2</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_4" data-toggle="tab" aria-expanded="false">私有标签3</a></li>
+                    <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab"
+                                                            aria-expanded="true">客户信息</a></li>
+                    <li data-mode="guide" class="tab_2"><a href="#tab_2" data-toggle="tab"
+                                                           aria-expanded="false">私有标签</a></li>
                 </ul>
                 <div class="tab-content">
 
@@ -41,7 +41,7 @@
                                                     style="color:red;">* </span>客户名称</label>
                                         <div class="col-sm-3">
                                             <input type="text" class="form-control" id="customername" placeholder="公司名称"
-                                                   value="{{.T.data.s_name}}" readonly>
+                                                   value="{{.T.data.s_name}}" required>
                                         </div>
                                     </div>
                                     <div class="form-group">
@@ -66,13 +66,6 @@
                                                    value="{{.T.data.s_customername}}">
                                         </div>
                                     </div>
-                                    <div class="form-group">
-                                        <label class="col-sm-2 control-label">管理员手机号</label>
-                                        <div class="col-sm-3">
-                                            <input type="tel" class="form-control" id="phone" value="{{.T.data.s_phone}}" placeholder="管理员手机号" />
-                                            <label for="phone" style="font-size: 12px;color: red">注:该手机号用户登录剑鱼工作台,将作为企业管理员对该企业人员及权限进行管理,保存后不支持修改,请谨慎填写,如需修改请联系研发人员。</label>
-                                        </div>
-                                    </div>
                                     <div id="pushDiv">
                                         <div class="box-header with-border">
                                             <i class="fa fa-tag"></i>
@@ -94,36 +87,6 @@
                                                     })
                                                 </script>
                                             </div>
-                                            <div class="form-group">
-                                                <label class="col-sm-2 control-label">精准筛选服务</label>
-                                                <div class="col-sm-3">
-                                                    <input id="exactSwitch" type="checkbox" checked/>
-                                                </div>
-                                                <script>
-                                                    $('#exactSwitch').on('switchChange.bootstrapSwitch', function (event, state) {
-                                                        if (state) {
-                                                            dataMap["i_exact"] = 1
-                                                        } else {
-                                                            dataMap["i_exact"] = 0
-                                                        }
-                                                    })
-                                                </script>
-                                            </div>
-                                            <div class="form-group">
-                                                <label class="col-sm-2 control-label">导出规则</label>
-                                                <div class="col-sm-3">
-                                                    <input id="downloadRuleSwitch" type="checkbox" checked/>
-                                                </div>
-                                                <script>
-                                                    $('#downloadRuleSwitch').on('switchChange.bootstrapSwitch', function (event, state) {
-                                                        if (state) {
-                                                            dataMap["i_downloadRule"] = 1
-                                                        } else {
-                                                            dataMap["i_downloadRule"] = 0
-                                                        }
-                                                    })
-                                                </script>
-                                            </div>
                                             <div class="form-group">
                                                 <label class="col-sm-2 control-label"><span style="color:red;">* </span>推送模式</label>
                                                 <div class="col-sm-3">
@@ -169,13 +132,6 @@
                                                     </script>
                                                 </div>
                                             </div>
-                                            <div class="form-group">
-                                                <label class="col-sm-2 control-label">数据存储</label>
-                                                <div class="col-sm-3">
-                                                    <input type="text" class="form-control" id="dataSave" placeholder="默认usermail"
-                                                           value="{{.T.data.s_dataSave}}">
-                                                </div>
-                                            </div>
                                         </div>
                                     </div>
                                     <div class="box-header with-border">
@@ -208,10 +164,10 @@
                         <div class="box box-primary">
                             <div class="box-header with-border">
                                 <i class="fa fa-bookmark"></i>
-                                <h3 class="box-title">私有标签1</h3>
+                                <h3 class="box-title">私有标签</h3>
                                 <a class="btn btn-primary btn-sm"
                                    style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=1&cid={{.T.data._id}}"><i
+                                   href="/service/euser/tag/edit?cid={{.T.data._id}}"><i
                                             class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
                             </div>
                             <table id="tagrule" class="table table-bordered">
@@ -228,54 +184,6 @@
                             </table>
                         </div>
                     </div>
-                    <div class="tab-pane" id="tab_3">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <i class="fa fa-bookmark"></i>
-                                <h3 class="box-title">私有标签2</h3>
-                                <a class="btn btn-primary btn-sm"
-                                   style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=2&cid={{.T.data._id}}"><i
-                                            class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
-                            </div>
-                            <table id="tagrule2" class="table table-bordered">
-                                <thead>
-                                <tr>
-                                    <th>编号</th>
-                                    <th>标签规则名称</th>
-                                    <th>修改时间</th>
-                                    <th>启用状态</th>
-                                    <th>操作</th>
-                                    <th>功能</th>
-                                </tr>
-                                </thead>
-                            </table>
-                        </div>
-                    </div>
-                    <div class="tab-pane" id="tab_4">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <i class="fa fa-bookmark"></i>
-                                <h3 class="box-title">私有标签3</h3>
-                                <a class="btn btn-primary btn-sm"
-                                   style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=3&cid={{.T.data._id}}"><i
-                                            class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
-                            </div>
-                            <table id="tagrule3" class="table table-bordered">
-                                <thead>
-                                <tr>
-                                    <th>编号</th>
-                                    <th>标签规则名称</th>
-                                    <th>修改时间</th>
-                                    <th>启用状态</th>
-                                    <th>操作</th>
-                                    <th>功能</th>
-                                </tr>
-                                </thead>
-                            </table>
-                        </div>
-                    </div>
                 </div>
             </div>
         </div>
@@ -369,8 +277,6 @@
     var dataMap = {{.T.data}}
     var departArr = {{.T.depart}}
     var tagruleArr = []
-    var tagruleArr2 = []
-    var tagruleArr3 = []
     var ruleArr = []
 
     var selectIndex = [];               //选中的编号
@@ -381,35 +287,16 @@
             $('#pushDiv').hide()
         } else {
             tagruleArr = {{.T.tagrule}}
-            tagruleArr2 = {{.T.tagrule2}}
-            tagruleArr3 = {{.T.tagrule3}}
+                console.log("私有标签", tagruleArr)
             $('#pushSwitch').bootstrapSwitch({
                 onText: "开启",
                 offText: "关闭",
             })
-            $('#exactSwitch').bootstrapSwitch({
-                onText: "开启",
-                offText: "关闭",
-            })
-            $('#downloadRuleSwitch').bootstrapSwitch({
-                onText: "开启",
-                offText: "关闭",
-            })
             if (dataMap.i_push && dataMap.i_push == 1) {
                 $('#pushSwitch').bootstrapSwitch('state', true);
             } else {
                 $('#pushSwitch').bootstrapSwitch('state', false);
             }
-            if (dataMap.i_exact && dataMap.i_exact == 1) {
-                $('#exactSwitch').bootstrapSwitch('state', true);
-            } else {
-                $('#exactSwitch').bootstrapSwitch('state', false);
-            }
-            if (dataMap.i_downloadRule && dataMap.i_downloadRule == 1) {
-                $('#downloadRuleSwitch').bootstrapSwitch('state', true);
-            } else {
-                $('#downloadRuleSwitch').bootstrapSwitch('state', false);
-            }
             $("#pushModelSelect option").each(function () {
                 if ($(this).val() == dataMap.i_pushmodel) {
                     $(this).attr("selected", 'selected');
@@ -537,64 +424,7 @@
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
                         tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=1&id=' + val + '&cid=' + row.s_userid + '">编辑</a>&nbsp&nbsp' +
-                            '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.s_userid,"1"]
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\',\'' + row.o_departruleids + '\')">关联数据范围</a>&nbsp&nbsp' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-            ],
-        });
-        $('#tagrule2').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "data": tagruleArr2,
-            "columns": [
-                {"data": null, width: "1%"},
-                {"data": "s_name", width: "10%"},
-                {
-                    "data": "i_updatetime", width: "9%", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000);
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "i_isuse", render: function (val, a, row) {
-                        tmp = ""
-                        if (val == 1) {
-                            tmp = "<a href='#' title='停用' onclick='setupTag(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
-                        } else {
-                            tmp = "<a href='#' title='启用' onclick='setupTag(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
-                        }
-                        return tmp
-                    }, width: "10%"
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=2&id=' + val + '&cid=' + row.s_userid + '">编辑</a>&nbsp&nbsp' +
+                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?id=' + val + '&cid=' + row.s_userid + '">编辑</a>&nbsp&nbsp' +
                             '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
                             '</div>';
                         return tmp
@@ -602,7 +432,7 @@
                 },
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.s_userid,"2"]
+                        var s = [val, row.s_userid]
                         tmp = '<div>' +
                             '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\',\'' + row.o_departruleids + '\')">关联数据范围</a>&nbsp&nbsp' +
                             '</div>';
@@ -611,67 +441,6 @@
                 },
             ],
         });
-        $('#tagrule3').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "data": tagruleArr3,
-            "columns": [
-                {"data": null, width: "1%"},
-                {"data": "s_name", width: "10%"},
-                {
-                    "data": "i_updatetime", width: "9%", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000);
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "i_isuse", render: function (val, a, row) {
-                        tmp = ""
-                        if (val == 1) {
-                            tmp = "<a href='#' title='停用' onclick='setupTag(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
-                        } else {
-                            tmp = "<a href='#' title='启用' onclick='setupTag(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
-                        }
-                        return tmp
-                    }, width: "10%"
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=3&id=' + val + '&cid=' + row.s_userid + '">编辑</a>&nbsp&nbsp' +
-                            '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.s_userid,"3"]
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\',\'' + row.o_departruleids + '\')">关联数据范围</a>&nbsp&nbsp' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-            ],
-        });
-
-        if (dataMap.s_phone !== undefined && dataMap.s_phone !== "") {
-            $('#phone').attr("disabled","disabled");
-        }
     })
 
     function cancelModel() {
@@ -742,26 +511,15 @@
         var name = $('#customername').val();
         var contract = $('#contract').val();
         var saleperson = $('#seller').val();
-        var phone = $('#phone').val();
         var skills = $('#skills').val();
-        var dataSave = $('#dataSave').val();
         if (name == "" || saleperson == "") {
             showTip("请填写必填字段!", 1000)
             return
         }
-        if (phone !== "") {
-            const re = /^1\d{10}$/
-            if (!re.test(phone)) {
-                alert("手机号格式错误!")
-                return
-            }
-        }
         dataMap.s_name = name
         dataMap.s_customername = contract
         dataMap.s_salesperson = saleperson
         dataMap.skills = skills
-        dataMap.s_phone = phone
-        dataMap.s_dataSave = dataSave
         if (dataMap.i_state == 1) {
             dataMap.i_pushmodel = $('#pushModelSelect option:selected').val()
             dataMap.i_pushtype = $('#pushTypeSelect option:selected').val()
@@ -970,18 +728,16 @@
     }
 
     var tagid = ""
-    var tagType = ""
 
     //关联规则
     function associated(val, o_departruleids) {
         tagid = val.split(",")[0]
-        tagType = val.split(",")[2]
         var departRuleIds = o_departruleids.split(",")
         // console.log(departRuleIds)
         $('#cuserRule').DataTable({
             "destroy": true,
             "paging": true,
-            "lengthChange": true,
+            "lengthChange": false,
             "searching": false,
             "ordering": false,
             "info": true,
@@ -1037,7 +793,7 @@
         $.ajax({
             url: "/service/euser/tag/associated",
             type: "post",
-            data: {"_id": tagid, "ids": ids.join(","), "tagType": tagType},
+            data: {"_id": tagid, "ids": ids.join(",")},
             success: function (r) {
                 if (r.rep) {
                     // window.location.reload()

+ 63 - 622
SEPlatform/web/templates/private/customer_history.html

@@ -20,10 +20,10 @@
         <div class="tab-content">
             <div class="nav-tabs-custom">
                 <ul class="nav nav-tabs edit-step">
-                    <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab" aria-expanded="true">新建历史任务</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_2" data-toggle="tab" aria-expanded="false">私有标签1</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_3" data-toggle="tab" aria-expanded="false">私有标签2</a></li>
-                    <li data-mode="guide" class="tab_2"><a href="#tab_4" data-toggle="tab" aria-expanded="false">私有标签3</a></li>
+                    <li class="active" data-mode="guide"><a href="#tab_1" data-toggle="tab"
+                                                            aria-expanded="true">新建历史任务</a></li>
+                    <li data-mode="guide" class="tab_2"><a href="#tab_2" data-toggle="tab"
+                                                           aria-expanded="false">私有标签</a></li>
                 </ul>
                 <div class="tab-content">
 
@@ -115,6 +115,7 @@
                                                     <script>
                                                         $('#dataTableSelect').on("change", function () {
                                                             var val = $('#dataTableSelect option:selected').val();
+                                                            console.log("表的选择:", val)
                                                             if (val == 2) {
                                                                 $("#pushIsDup option[value='" + 1 + "']").attr("selected", true);
                                                                 $("button[data-id=pushIsDup]").find(".filter-option-inner-inner").text("是");
@@ -130,9 +131,21 @@
                                                             id="expandSelect">
                                                         <option value="hospitalgrade">医院等级</option>
                                                         <option value="enterpise">企业信息</option>
-                                                        <option value="contact">中标单位历史联系信息</option>
                                                     </select>
-
+                                                    <script>
+                                                        $('#expandSelect').on('hide.bs.select', function () {
+                                                            var arr = $('#expandSelect').val();
+                                                            var arrStr = "";
+                                                            for (var i in arr) {
+                                                                if (arrStr === "") {
+                                                                    arrStr = arr[i]
+                                                                } else {
+                                                                    arrStr = arrStr + "," + arr[i]
+                                                                }
+                                                            }
+                                                            dataMap["s_extends"] = arrStr
+                                                        })
+                                                    </script>
                                                 </div>
                                                 <label class="col-sm-2 control-label ">字段包</label>
                                                 <div class="col-sm-2">
@@ -142,42 +155,12 @@
                                                         <option value="3">深信服字段包</option>
                                                         <option value="4">高级字段包+部门名称+规则名称</option>
                                                         <option value="5">河南移动字段包</option>
-                                                        <option value="6">河南移动招标字段包</option>
-                                                        <option value="7">河南移动中标字段包</option>
-                                                        <option value="8">高级字段包+企业扩展信息</option>
-                                                        <option value="9">上海通服字段包</option>
-                                                        <option value="10">奇安信字段包</option>
-                                                        <option value="11">祥和不锈钢字段包</option>
-                                                        <option value="12">天津联通招标字段包</option>
-                                                        <option value="13">天津联通中标字段包</option>
                                                     </select>
-                                                </div>
-                                                <label class="col-sm-2 control-label ">数据来源</label>
-                                                <div class="col-sm-2">
-                                                    <select class="form-control selectpicker" id="dataSource">
-                                                        <option value="1" selected>bidding数据</option>
-                                                        <option value="2">全量数据</option>
-                                                    </select>
-                                                </div>
-
-                                            </div>
-                                            <div class="form-group">
-                                                <label class="col-sm-2 control-label">备注</label>
-                                                <div class="col-sm-2">
-                                                    <textarea type="text" class="form-control" id="remarks"
-                                                              placeholder="备注信息">
-                                                    </textarea>
-                                                    <script>
-                                                        $("#remarks").val( {{.T.data.remarks}})
-                                                    </script>
-                                                </div>
-                                            </div>
-                                            <div class="form-group">
-                                                <label class="col-sm-2 control-label">数据临时存储</label>
-                                                <div class="col-sm-2">
-                                                    <input type="text" class="form-control" id="dataSave"
-                                                           placeholder="不设置临时表,该项要为空!"
-                                                           value="{{.T.data.dataSave}}">
+                                                    <!--                                                    <script>-->
+                                                    <!--                                                        $('#extfiledselect').on("change", function () {-->
+                                                    <!--                                                            dataMap["i_extfieldstype"] = $('#extfiledselect option:selected').val();-->
+                                                    <!--                                                        })-->
+                                                    <!--                                                    </script>-->
                                                 </div>
                                             </div>
                                         </div>
@@ -207,31 +190,6 @@
 
                                         </tbody>
                                     </table>
-                                    <!-- 导入数据-->
-                                    <div class="importDataClass">
-                                        <div class="box-header with-border">
-                                            <i class="fa fa-tag"></i>
-                                            <h3 class="box-title">导入数据</h3>
-                                        </div>
-                                        <table id="importDataTables" class="table table-bordered">
-                                            <thead>
-                                            <div style="margin: 10px 10px 0px;">
-                                                <a class="btn btn-info" onclick="showDataWindow()">导入数据</a>
-                                            </div>
-                                            <tr class="show-select">
-                                                <th>编号</th>
-                                                <th>文件名</th>
-                                                <th>导入数据条数</th>
-                                                <th>操作人</th>
-                                                <th>操作时间</th>
-                                                <th>操作</th>
-                                            </tr>
-                                            </thead>
-                                            <tbody class="selected-rules-data">
-                                        
-                                            </tbody>
-                                        </table>
-                                    </div>
                                 </div>
                             </div>
                         </form>
@@ -243,7 +201,7 @@
                                 <h3 class="box-title">私有标签</h3>
                                 <a class="btn btn-primary btn-sm"
                                    style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=1&cid={{.T.data._id}}&hid={{.T.history_id}}"><i
+                                   href="/service/euser/tag/edit?cid={{.T.data._id}}&hid={{.T.history_id}}"><i
                                             class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
                             </div>
                             <table id="tagrule" class="table table-bordered">
@@ -260,54 +218,6 @@
                             </table>
                         </div>
                     </div>
-                    <div class="tab-pane" id="tab_3">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <i class="fa fa-bookmark"></i>
-                                <h3 class="box-title">私有标签</h3>
-                                <a class="btn btn-primary btn-sm"
-                                   style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=2&cid={{.T.data._id}}&hid={{.T.history_id}}"><i
-                                            class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
-                            </div>
-                            <table id="tagrule2" class="table table-bordered">
-                                <thead>
-                                <tr>
-                                    <th>编号</th>
-                                    <th>标签规则名称</th>
-                                    <th>修改时间</th>
-                                    <th>启用状态</th>
-                                    <th>操作</th>
-                                    <th>功能</th>
-                                </tr>
-                                </thead>
-                            </table>
-                        </div>
-                    </div>
-                    <div class="tab-pane" id="tab_4">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <i class="fa fa-bookmark"></i>
-                                <h3 class="box-title">私有标签</h3>
-                                <a class="btn btn-primary btn-sm"
-                                   style="float: right;margin-top: 7px;margin-right: 10px"
-                                   href="/service/euser/tag/edit?tag=3&cid={{.T.data._id}}&hid={{.T.history_id}}"><i
-                                            class="fa fa-fw fa-file-code-o fa-lg"></i>新建标签</a>
-                            </div>
-                            <table id="tagrule3" class="table table-bordered">
-                                <thead>
-                                <tr>
-                                    <th>编号</th>
-                                    <th>标签规则名称</th>
-                                    <th>修改时间</th>
-                                    <th>启用状态</th>
-                                    <th>操作</th>
-                                    <th>功能</th>
-                                </tr>
-                                </thead>
-                            </table>
-                        </div>
-                    </div>
                 </div>
             </div>
         </div>
@@ -338,7 +248,7 @@
                                 <th>部门状态</th>
                                 <th>规则状态</th>
                                 <th class="hidden">规则id</th>
-                        
+
                             </tr>
                             </thead>
                             <tbody class="history_rules"></tbody>
@@ -354,39 +264,6 @@
         </div>
     </div><!-- /.modal -->
 </div>
-<!--导入数据-->
-<div class="modal fade" id="modal-importdata" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 30%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    <div class="edit-form">
-                        <div class="edit-info">
-                            <span>导入数据</span>
-                        </div>
-                        <div class="form-group">
-                            <div class="col-lg-11" style="margin-left: -10px;">
-                                <input type="text" class="form-control" id="dataFile" placeholder="请上传导入数据文件" required>
-                            </div>
-                            <div class="col-lg-1" style="margin-left: -30px;">
-                                <input type="button" id="dataFiles" class="btn btn-default" value="浏览">
-                                <input type="file" id="dataupload" class="btn btn-default" accept=".xlsx" style="display: none;">
-                            </div>
-                        </div>
-                        <div style="margin-top: 50px;">支持拓展名:xlsx</div>
-                    </div>
-                </div>
-                <div class="modal-footer">
-                    <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
-                           value="取消">
-                    <input type="button" id="importSaveBtn" onclick="importdataBth(this)" class="btn btn-primary saveBtn" value="导入" disabled>
-                </div>
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
-
 <!-- 关联客户规则 -->
 <div class="modal fade" id="modal-associated" tabindex="-1" role="dialog" aria-hidden="true">
     <div class="modal-dialog" style="width: 60%">
@@ -429,8 +306,6 @@
     menuActive("/customer/list");
     var dataMap = {{.T.data}}
     var tagruleArr = []
-    var tagruleArr2 = []
-    var tagruleArr3 = []
     var ruleArr = []
     var history_id = {{.T.history_id}}
     var selectIndex = [];               //选中的编号
@@ -440,139 +315,11 @@
     var c_id = getParam("id");
     var hid = getParam("hid");
     var ischeck = getParam("check");
-    var iscomplete = getParam("complete");
-    var aid = getParam("aid");
     if (ischeck == "true") {
         $(".saveHistorylog").hide();
         $(".addHistoryRule").hide();
         $(".chooseHistoryRule").hide();
     }
-    // if (iscomplete != "true") {
-    //     $(".importDataClass").hide();
-    // }else{
-    //     $(".importDataClass").show();
-    // }
-    var formFileUrl = "";
-    var fileName = "";
-    $('#expandSelect').on('change', function () {
-        var arr = $('#expandSelect').val();
-        var arrStr = "";
-        for (var i in arr) {
-            if (arrStr === "") {
-                arrStr = arr[i]
-            } else {
-                arrStr = arrStr + "," + arr[i]
-            }
-        }
-        dataMap["s_extends"] = arrStr
-    })
-    $('#dataSource').on('change', function () {
-        i_datasource = $('#dataSource option:selected').val();
-        if (i_datasource == 2) {
-            $("#extfiledselect").val(9);
-            $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("上海通服字段包");
-            $('#extfiledselect').find("option[value = 9]").attr("selected", "selected");
-            $("#extfiledselect").selectpicker("refresh")
-        } else {
-            $("#extfiledselect").val(2);
-            $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("高级字段包");
-            $('#extfiledselect').find("option[value = 2]").attr("selected", "selected");
-            $("#extfiledselect").selectpicker("refresh")
-        }
-    });
-
-    $('#extfiledselect').on('change', function () {
-        i_extfiledselect = $('#extfiledselect option:selected').val();
-        if (i_extfiledselect == 9) {
-            $('#dataSource').val(2);
-            $("button[data-id=dataSource]").find(".filter-option-inner-inner").text("全量数据");
-            $('#dataSource').find("option[value = 2]").attr("selected", "selected");
-            $("#dataSource").selectpicker("refresh")
-        } else {
-            $('#dataSource').val(1);
-            $("button[data-id=dataSource]").find(".filter-option-inner-inner").text("bidding数据");
-            $('#dataSource').find("option[value = 1]").attr("selected", "selected");
-            $("#dataSource").selectpicker("refresh")
-        }
-    });
-    
-    $("#dataFiles").on("click", function(){
-        $("#dataupload").trigger('click');
-    });
-    
-    $('#dataupload').on('change', function () {
-        var formData = new FormData();
-        var xlsx = $(this)[0].files[0];
-        formData.append("dataxlsx", xlsx);
-        com.maskShow("正在识别和上传...");
-        $.ajax({
-            url: '/service/history/importDataUpload?fileName='+xlsx.name,
-            type: 'POST',
-            async: false,
-            data: formData,
-            cache: false,
-            contentType: false,
-            processData: false,
-            success: function (data) {
-                if (data){
-                    com.maskHide();
-                    if (data.msg && data.msg != ""){
-                        alert(data.msg);
-                        return
-                    }
-                    $("#dataFile").val(xlsx.name);
-                    formFileUrl = data.url;
-                    fileName = xlsx.name;
-                    $("#importSaveBtn").removeAttr("disabled");
-                }
-            }
-        });
-    });
-    
-    function importdataBth(){
-        $.ajax({
-            url: '/service/history/importData',
-            type: 'POST',
-            async: false,
-            data: {
-                "fileName":   fileName,
-                "fileUrl":    formFileUrl,
-                "historyId":  hid,
-                "dataTable":  dataMap.i_datatable,
-                "aid":        aid
-            },
-            success: function (data) {
-                if (data.msg && data.msg != ""){
-                    alert(data.msg);
-                    return
-                }
-                importDataTables.ajax.reload();
-                cancelModel();
-                $("#dataFile").val("");
-                $("#importSaveBtn").attr("disabled",true);
-            }
-        });
-    }
-    
-    //排序
-    var compare = function (prop) {
-        return function (obj1, obj2) {
-            var val1 = obj1[prop];
-            var val2 = obj2[prop];
-            if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
-                val1 = Number(val1);
-                val2 = Number(val2);
-            }
-            if (val1 < val2) {
-                return 1;
-            } else if (val1 > val2) {
-                return -1;
-            } else {
-                return 0;
-            }
-        }
-    }
-
     if (history_rule !== null) {
         if (history_rule.length > 0) {
             html = "";
@@ -590,14 +337,13 @@
                 rules_id.push(history_rule[i]._id);
                 selected_rules.push(selected_rule);
             }
-            selected_rules = selected_rules.sort(compare("update_time"))
             if (selected_rules.length > 0) {
                 $(".selected-rules").html(html);
                 for (var i = 0; i < selected_rules.length; i++) {
                     html += '<tr><td>' + num + '</td><td>' + selected_rules[i].department_name + '</td><td>' + selected_rules[i].rule_name + '</td><td>' + selected_rules[i].update_time + '</td>' + '<td>' + selected_rules[i].department_status + '</td>' + '<td>' + selected_rules[i].rule_status + '</td>';
                     // if (selected_rules[i].isinc == "true"){
                     if (ischeck == "true") {
-                        html += '<td><a class="btn btn-info" eid="' + selected_rules[i].rule_id + '" onclick="updateRule(this)">查看</a></td>'
+                        html += '<td></td>'
                     } else {
                         html += '<td><a class="btn btn-info" eid="' + selected_rules[i].rule_id + '" onclick="updateRule(this)">编辑</a><a style="margin-left:10px" class="btn btn-danger" eid="' + selected_rules[i].rule_id + '" onclick="del_selected_rule(this)">删除</a></td>'
                     }
@@ -608,27 +354,17 @@
             $(".selected-rules").append(html);
         }
     }
+
     $(document).ready(function () {
         if (dataMap.i_state == 0) {
             $('.tab_2').hide()
             $('#pushDiv').hide()
         } else {
             tagruleArr = {{.T.tagrule}}
-            tagruleArr2 = {{.T.tagrule2}}
-            tagruleArr3 = {{.T.tagrule3}}
-            if (tagruleArr != null) {
-                tagruleArr = tagruleArr.sort(compare("i_updatetime"))
-            }
-            if (tagruleArr2 != null) {
-                tagruleArr2 = tagruleArr2.sort(compare("i_updatetime"))
-            }
-            if (tagruleArr3 != null) {
-                tagruleArr3 = tagruleArr3.sort(compare("i_updatetime"))
-            }
-            $('#pushSwitch').bootstrapSwitch({
-                onText: "开启",
-                offText: "关闭",
-            })
+                $('#pushSwitch').bootstrapSwitch({
+                    onText: "开启",
+                    offText: "关闭",
+                })
             if (dataMap.i_push && dataMap.i_push == 1) {
                 $('#pushSwitch').bootstrapSwitch('state', true);
             } else {
@@ -638,43 +374,11 @@
                 $('#pushModelSelect').val(dataMap.i_pushmodel);
                 $("#pushModelSelect").selectpicker("refresh")
             }
-            if (dataMap.i_extfieldstype !== undefined) {
+            if (dataMap.i_extfieldstype != undefined) {
                 $('#extfiledselect').val(dataMap.i_extfieldstype);
                 $("#pushTypeSelect").selectpicker("refresh")
-                if (dataMap.i_extfieldstype === 1) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("标准字段包");
-                } else if (dataMap.i_extfieldstype === 3) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("深信服字段包");
-                } else if (dataMap.i_extfieldstype === 4) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("高级字段包+部门名称+规则名称");
-                } else if (dataMap.i_extfieldstype === 5) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动字段包");
-                } else if (dataMap.i_extfieldstype === 6) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动招标字段包");
-                } else if (dataMap.i_extfieldstype === 7) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动中标字段包");
-                } else if (dataMap.i_extfieldstype === 8) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("高级字段包+企业扩展信息");
-                } else if (dataMap.i_extfieldstype === 9) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("上海通服字段包");
-                } else if (dataMap.i_extfieldstype === 10) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("奇安信字段包");
-                } else if (dataMap.i_extfieldstype === 11) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("祥和不锈钢字段包");
-                } else if (dataMap.i_extfieldstype === 12) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("天津联通招标字段包");
-                } else if (dataMap.i_extfieldstype === 13) {
-                    $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("天津联通中标字段包");
-                }
             }
-            if (dataMap.i_datasource !== undefined) {
-                $('#dataSource').val(dataMap.i_datasource);
-                if (dataMap.i_datasource === 2) {
-                    $("button[data-id=dataSource]").find(".filter-option-inner-inner").text("全量数据");
-                }
-            }
-            $("#dataSource option[value='" + dataMap.i_datasource + "']").attr("selected", true);
-            if (dataMap.i_pushtype !== undefined) {
+            if (dataMap.i_pushtype != undefined) {
                 $('#pushTypeSelect').val(dataMap.i_pushtype);
                 $("#pushTypeSelect").selectpicker("refresh")
             }
@@ -683,28 +387,14 @@
             // } else {
             //     $('#pushTypeSelect').val(1)
             // }
-
-            if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0) {
-                $('#expandSelect').find("option[value = hospitalgrade]").attr("selected", "selected");
-            }
-            if (dataMap.s_extends && dataMap.s_extends.indexOf("enterpise") >= 0) {
-                $('#expandSelect').find("option[value = enterpise]").attr("selected", "selected");
-            }
-            if (dataMap.s_extends && dataMap.s_extends.indexOf("contact") >= 0) {
-                $('#expandSelect').find("option[value = contact]").attr("selected", "selected");
-            }
-
-            /*if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0 && dataMap.s_extends.indexOf("enterpise") >= 0 && dataMap.s_extends.indexOf("contact") >= 0) {
+            if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0 && dataMap.s_extends.indexOf("enterpise") >= 0) {
                 $('#expandSelect').find("option[value = hospitalgrade]").attr("selected", "selected");
                 $('#expandSelect').find("option[value = enterpise]").attr("selected", "selected");
-                $('#expandSelect').find("option[value = contact]").attr("selected", "selected");
             } else if (dataMap.s_extends && dataMap.s_extends.indexOf("hospitalgrade") >= 0) {
                 $('#expandSelect').find("option[value = hospitalgrade]").attr("selected", "selected");
             } else if (dataMap.s_extends && dataMap.s_extends.indexOf("enterpise") >= 0) {
                 $('#expandSelect').find("option[value = enterpise]").attr("selected", "selected");
-            } else if (dataMap.s_extends && dataMap.s_extends.indexOf("contact") >= 0) {
-                $('#expandSelect').find("option[value = contact]").attr("selected", "selected");
-            }*/
+            }
             $("#sendMail").val(dataMap.sendMail);
             if (dataMap.isDup != undefined) {
                 $("#pushIsDup").val(dataMap.isDup);
@@ -734,7 +424,6 @@
             $("#projectIsDup option[value='" + dataMap.i_projectdup + "']").attr("selected", true);
             $("#dataTableSelect option[value='" + dataMap.i_datatable + "']").attr("selected", true);
         }
-
         $('#tagrule').DataTable({
             "paging": false,
             "lengthChange": false,
@@ -775,7 +464,7 @@
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
                         tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=1&id=' + val + '&cid=' + row.s_userid + '&hid={{.T.history_id}}">编辑</a>&nbsp&nbsp' +
+                            // '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?id='+val+'&cid='+row.s_userid+'">编辑</a>&nbsp&nbsp'+
                             '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
                             '</div>';
                         return tmp
@@ -783,7 +472,7 @@
                 },
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.hid, "1"]
+                        var s = [val, row.hid]
                         tmp = '<div>' +
                             '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\')">关联数据范围</a>&nbsp&nbsp' +
                             '</div>';
@@ -792,198 +481,18 @@
                 },
             ],
         });
-
-        $('#tagrule2').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "data": tagruleArr2,
-            "columns": [
-                {"data": null, width: "1%"},
-                {"data": "s_name", width: "10%"},
-                {
-                    "data": "i_updatetime", width: "9%", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000);
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "i_isuse", render: function (val, a, row) {
-                        tmp = ""
-                        if (val == 1) {
-                            tmp = "<a href='#' title='停用' onclick='setupTag(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
-                        } else {
-                            tmp = "<a href='#' title='启用' onclick='setupTag(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
-                        }
-                        return tmp
-                    }, width: "10%"
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=2&id=' + val + '&cid=' + row.s_userid + '&hid={{.T.history_id}}">编辑</a>&nbsp&nbsp' +
-                            '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.hid, "2"]
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\')">关联数据范围</a>&nbsp&nbsp' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-            ],
-        });
-
-        $('#tagrule3').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "data": tagruleArr3,
-            "columns": [
-                {"data": null, width: "1%"},
-                {"data": "s_name", width: "10%"},
-                {
-                    "data": "i_updatetime", width: "9%", render: function (val) {
-                        var dt = new Date()
-                        dt.setTime(parseInt(val) * 1000);
-                        return dt.format("yyyy-MM-dd hh:mm:ss")
-                    }
-                },
-                {
-                    "data": "i_isuse", render: function (val, a, row) {
-                        tmp = ""
-                        if (val == 1) {
-                            tmp = "<a href='#' title='停用' onclick='setupTag(\"" + row._id + "\",false)'><i class='fa fa-fw fa-circle text-green'></i></a>已启用"
-                        } else {
-                            tmp = "<a href='#' title='启用' onclick='setupTag(\"" + row._id + "\",true)'><i class='fa fa-fw fa-circle text-red'></i></a>未启用"
-                        }
-                        return tmp
-                    }, width: "10%"
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" href="/service/euser/tag/edit?tag=3&id=' + val + '&cid=' + row.s_userid + '&hid={{.T.history_id}}">编辑</a>&nbsp&nbsp' +
-                            '<a class="btn btn-sm btn-danger" onclick="delTag(\'' + val + '\')">删除</a>' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-                {
-                    "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        var s = [val, row.hid, "3"]
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" onclick="associated(\'' + s + '\')">关联数据范围</a>&nbsp&nbsp' +
-                            '</div>';
-                        return tmp
-                    }
-                },
-            ],
-        });
-        
-        window.importDataTables = $('#importDataTables').DataTable({
-            "paging": true,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": true,
-            "info": true,
-            "autoWidth": false,
-            "ajax": {
-                "url": "/service/history/getImportData",
-                "type": "post",
-                "data": {
-                    "historyId": hid
-                }
-            },
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                $("#sdataTable_paginate ul.pagination").prepend(
-                    "&nbsp;&nbsp;&nbsp;转到第 <input type='text' id='s_changePage'   style='width:20px;'> 页    <a type='text' href='javascript:void(0);' id='sdataTable-btn' style='text-align:center'>GO</a>"
-                );
-                $('#sdataTable-btn').click(function (e) {
-                    var s_redirectpage = 0
-                    if ($("#s_changePage").val() && $("#s_changePage").val() > 0) {
-                        var s_redirectpage = $("#s_changePage").val() - 1;
-                    }
-                    importDataTables.page(s_redirectpage).draw(false);
-                });
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "columns": [{
-                    "data": null, width: "5%"
-                },
-                {
-                    "data": "fileName", width: "10%"
-                },
-                {
-                    "data": "dataLen", width: "5%"
-                },
-                {
-                    "data": "userName", width: "5%"
-                },
-                {
-                    "data": "createTime", width: "8%",
-                    render: function (val) {
-                        var str = formattimes(val)
-                        return str
-                    }
-                },
-                {
-                    "data": "_id", width: "16%",
-                    render: function (val, a, row) {
-                        var tmp = '<div>' +
-                                '<a class="btn btn-sm btn-info" eid="' + val + '" onclick="delImportData(this)">删除</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-info" href="' + row.fileUrl + '" download>下载数据</a>' +
-                                '</div>';
-                        return tmp
-                    }
-                }
-            ]
-        });
     })
 
     function cancelModel() {
-        $('#modal-add-depart').modal("hide");
-        $('#modal-associated').modal("hide");
-        $('#modal-history').modal("hide");
-        $('#modal-importdata').modal("hide");
+        $('#modal-add-depart').modal("hide")
+        $('#modal-associated').modal("hide")
+        $('#modal-history').modal("hide")
     }
 
     //表格全选
     function allSelect(obj) {
         if ($(obj).is(':checked')) {
+            console.log("全选")
             $(".history_rules tr").each(function () {
                 $(".history_rules tr").find('td').eq(0).find('input').addClass("");
                 var tag_ruleid = $(this).find('td').eq(7).text();
@@ -991,6 +500,7 @@
             })
 
         } else {
+            console.log("反选")
             $(".history_rules tr").each(function () {
                 $(".history_rules tr").find('td').eq(0).find('input').removeClass("checked");
             })
@@ -1047,13 +557,10 @@
         dataMap.i_projectdup = $("#projectIsDup option:selected").val();
         dataMap.i_datatable = $('#dataTableSelect option:selected').val();
         dataMap.i_extfieldstype = $('#extfiledselect option:selected').val();
-        dataMap.i_datasource = $('#dataSource option:selected').val();
         // console.log(dataMap.isDup, dataMap.projectIsDup, dataMap.i_datatable)
         dataMap.sendMail = $("#sendMail").val();
         dataMap.history_id = history_id;
         dataMap.c_id = c_id;
-        dataMap.remarks = $("#remarks").val();
-        dataMap.dataSave = $("#dataSave").val();
         $.ajax({
             url: "/service/rule/history/add",
             type: 'POST',
@@ -1075,14 +582,14 @@
             // var expand_type = document.getElementById("expandSelect").selectedIndex;
             var send_mode = $("#pushModelSelect option:selected").val();
             var push_type = document.getElementById("pushTypeSelect").selectedIndex;
-            //var expand_type = document.getElementById("expandSelect").selectedIndex;
+            var expand_type = document.getElementById("expandSelect").selectedIndex;
             var s_name = dataMap.s_name
             var salename = dataMap.s_salesperson
             var s_customername = dataMap.s_customername
             var i_updatetime = dataMap.i_updatetime
             var isDups = document.getElementById("pushIsDup").selectedIndex;
             var sendMail = $("#sendMail").val();
-            var remarks = $("#remarks").val()
+
             $.ajax({
                 url: "/service/rule/history/add",
                 type: 'POST',
@@ -1091,14 +598,13 @@
                     "sendMail": sendMail,
                     "send_mode": send_mode,
                     "push_type": push_type,
-                    "s_extends": dataMap.s_extends,
+                    "s_extends": expand_type,
                     "s_name": s_name,
                     "salename": salename,
                     "s_customername": s_customername,
                     "i_updatetime": i_updatetime,
                     "history_id": history_id,
-                    "c_id": c_id,
-                    remarks: remarks
+                    "c_id": c_id
                 },
                 success: function (r) {
                     if (r.rep) {
@@ -1160,7 +666,6 @@
 
     //关联规则
     function associated(val) {
-        selected_rules = selected_rules.sort(compare("create_time"))
         tagid = val
         var num = 1
         var html = ""
@@ -1177,7 +682,6 @@
     function saveTagrule() {
         var tag_rulesids = new Array()
         _id = tagid.split(",")[0];
-        var tagtype = tagid.split(",")[2];
         $(".associated_rule tr").each(function () {
             var tagchk = $(this).find('td').eq(1).find("#tag_id");
             if (tagchk.hasClass('checked')) {
@@ -1188,7 +692,7 @@
         $.ajax({
             url: "/service/euser/historytag/associated",
             type: "post",
-            data: {"_id": _id, "ids": tag_rulesids.join(","), "userid": c_id, "hid": history_id, "tagtype":tagtype},
+            data: {"_id": _id, "ids": tag_rulesids.join(","), "userid": c_id, "hid": history_id},
             success: function (r) {
                 if (r.rep) {
                     // window.location.reload()
@@ -1201,25 +705,6 @@
         })
     }
 
-    //排序
-    var compare = function (prop) {
-        return function (obj1, obj2) {
-            var val1 = obj1[prop];
-            var val2 = obj2[prop];
-            if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
-                val1 = Number(val1);
-                val2 = Number(val2);
-            }
-            if (val1 < val2) {
-                return 1;
-            } else if (val1 > val2) {
-                return -1;
-            } else {
-                return 0;
-            }
-        }
-    }
-
     function select_Depart() {
         //获取用户自定义规则
         $.ajax({
@@ -1230,35 +715,27 @@
                 if (r.status == "success") {
                     var html = ""
                     var number = 1
-                    var ruleArr = []
                     for (var i = 0; i < r.data.length; i++) {
                         if (typeof r.data[i].department_rule == "undefined") {
                             continue
                         } else {
                             for (var l = 0; l < r.data[i].department_rule.length; l++) {
-                                rule = r.data[i].department_rule[l]
-                                rule.depart_name = r.data[i].depart_name
-                                rule.department_isuse = r.data[i].department_isuse
-                                ruleArr.push(rule)
+                                html += '<tr><td><input type="checkbox" id="rule_id" onclick="getcheck(this)"/></td><td>' + number + '</td><td>' + r.data[i].depart_name + '</td><td>' + r.data[i].department_rule[l].s_name + '</td><td>' + formattime(r.data[i].department_rule[l].i_updatetime) + '</td>';
+                                if (r.data[i].department_isuse == 1) {
+                                    html += "<td>" + "已启用"
+                                } else {
+                                    html += "</td><td>" + "未启用"
+                                }
+                                if (r.data[i].department_rule[l].i_isuse == 1) {
+                                    html += "</td><td>" + "已启用" + "</td>"
+                                } else {
+                                    html += "</td><td>" + "未启用" + "</td>"
+                                }
+                                html += "<td hidden>" + r.data[i].department_rule[l]._id + "</td><td hidden class='is_inc'>false</td>";
+                                number++
                             }
                         }
                     }
-                    ruleArr = ruleArr.sort(compare("i_updatetime"))
-                    for (var l = 0; l < ruleArr.length; l++) {
-                        html += '<tr><td><input type="checkbox" id="rule_id" onclick="getcheck(this)"/></td><td>' + number + '</td><td>' + ruleArr[l].depart_name + '</td><td>' + ruleArr[l].s_name + '</td><td>' + formattime(ruleArr[l].i_updatetime) + '</td>';
-                        if (ruleArr[l].department_isuse == 1) {
-                            html += "<td>" + "已启用"
-                        } else {
-                            html += "</td><td>" + "未启用"
-                        }
-                        if (ruleArr[l].i_isuse == 1) {
-                            html += "</td><td>" + "已启用" + "</td>"
-                        } else {
-                            html += "</td><td>" + "未启用" + "</td>"
-                        }
-                        html += "<td hidden>" + ruleArr[l]._id + "</td><td hidden class='is_inc'>false</td>";
-                        number++
-                    }
                     //新增历史规则
                     if (r.inc_rules.length > 0) {
                         for (var t = 0; t < r.inc_rules.length; t++) {
@@ -1313,20 +790,7 @@
         d = d < 10 ? ('0' + d) : d;
         // console.log( y + '-' + m + '-' + d + ' ' + ' ' + h + ':' + minute + ':' + second)
         let dates = y + '-' + m + '-' + d;
-        return dates;
-    }
-    
-    function formattimes(date) {
-        let _date = new Date(parseInt(date) * 1000);
-        let y = _date.getFullYear();
-        let m = _date.getMonth() + 1;
-        m = m < 10 ? ('0' + m) : m;
-        let d = _date.getDate();
-        d = d < 10 ? ('0' + d) : d;
-        var h = _date.getHours();
-        var minute = _date.getMinutes();
-        var second = _date.getSeconds();
-        let dates = y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
+
         return dates;
     }
 
@@ -1337,7 +801,6 @@
             var chk = $(this).find('td').eq(0).find("#rule_id");
             if (chk.hasClass('checked')) {
                 var selected_rule = new Object()
-                console.log($(this).find('td'))
                 var rule_id = $(this).find('td').eq(7).text();
                 if (rules_id.indexOf(rule_id) > -1) {
                     console.log("元素存在")
@@ -1414,31 +877,9 @@
             })
         }
     }
-    
-    function delImportData(obj) {
-        showConfirm("确定删除该条导入数据吗?", function () {
-            var val = $(obj).attr("eid");
-            $.ajax({
-                url: "/service/history/delImportData",
-                type: "POST",
-                data: {'id': val},
-                success: function (r) {
-                    importDataTables.ajax.reload();
-                }
-            })
-        });
-    }
 
     function updateRule(obj) {
         var val = $(obj).attr("eid");
-        if (ischeck === "true"){
-            window.location.href = "/service/historyRule/edit?hid=" + hid + "&id=" + c_id + "&rid=" + val + "&check=true";
-        }else{
-            window.location.href = "/service/historyRule/edit?hid=" + hid + "&id=" + c_id + "&rid=" + val;
-        }
-    }
-    
-    function showDataWindow(){
-        $('#modal-importdata').modal("show");
+        window.location.href = "/service/historyRule/edit?hid=" + hid + "&id=" + c_id + "&rid=" + val;
     }
 </script>

+ 2 - 9
SEPlatform/web/templates/private/customer_list.html

@@ -7,9 +7,6 @@
     <section class="content-header">
         <h1>
             <small><a href="/service/customer/create" class="btn btn-primary opr">新建客户</a></small>
-            <small><a href="/service/openAccount/index" class="btn btn-primary opr">开通账户</a></small>
-            <!-- <small><a href="/service/dataStatistics/index" class="btn btn-primary opr">数据统计</a></small> -->
-            <small><a href="/push/index" class="btn btn-info opr">数据推送</a></small>
         </h1>
         <ol class="breadcrumb">
             <li><a href="#"><i class="fa fa-dashboard"></i> 首页</a></li>
@@ -112,13 +109,12 @@
                             tmp = '<div>' +
                                 '<a class="btn btn-sm btn-default" disabled="true">转企</a>&nbsp;&nbsp;' +
                                 '<a class="btn btn-sm btn-warning" onclick="SynEnt(\'' + val + '\')">同步</a>&nbsp;&nbsp;' +
-                                '<a class="btn btn-sm btn-default" onclick="historyData(\''+ val +'\')">历史数据</a>&nbsp;&nbsp;'+
-                                '<a class="btn btn-sm btn-default" onclick="importData(\''+ row.i_entid +'\', \''+ val +'\')">数据导入</a>' +
+                                '<a class="btn btn-sm btn-default" onclick="historyData(\''+ val +'\')">历史数据</a>'+
                                 '</div>'
                         }else {
                             tmp = '<div>' +
                                 '<a class="btn btn-sm btn-primary" onclick="toEnt(\''+ val +'\')">转企</a>&nbsp;&nbsp;' +
-                                '<a class="btn btn-sm btn-default" disabled>同步</a>' +
+                                '<a class="btn btn-sm btn-default" disabled="true">同步</a>' +
                                 '</div>';
                         }
                         return tmp
@@ -181,7 +177,4 @@
     function historyData(val) {
         window.location.href = "/service/historylog/list?id=" + val
     }
-    function importData(val, eid) {
-        window.location.href = "/service/ent/import/record?id=" + val + "&eid=" + eid
-    }
 </script>

+ 10 - 212
SEPlatform/web/templates/private/euser_rule_edit.html

@@ -35,8 +35,6 @@
                                                             aria-expanded="true">通用规则</a></li>
                     <li data-mode="guide" class=""><a href="#tab_2" data-toggle="tab" aria-expanded="false">关键词规则</a>
                     </li>
-                    <li data-mode="guide" class="exactRuleShow" style="display: none"><a href="#tab_3" data-toggle="tab" aria-expanded="false">精准筛选规则</a>
-                    </li>
                 </ul>
                 <div class="tab-content">
                     <div class="tab-pane active" id="tab_1">
@@ -126,26 +124,6 @@
                                             <input class="form-control " multiple id="existFieldSelect"
                                                    disabled></input>
                                         </div>
-
-                                        <label class="col-sm-2 control-label">网站选择</label>
-                                        <div class="col-sm-3">
-                                            <select class="form-control selectpicker" multiple data-live-search="true"
-                                                    id="siteSelect"></select>
-                                            <script>
-                                                $('#siteSelect').on('hide.bs.select', function () {
-                                                    var arr = $('#siteSelect').val();
-                                                    var arrStr = "";
-                                                    for (var i in arr) {
-                                                        if (arrStr === "") {
-                                                            arrStr = arr[i]
-                                                        } else {
-                                                            arrStr = arrStr + "," + arr[i]
-                                                        }
-                                                    }
-                                                    dataMap["s_sites"] = arrStr
-                                                })
-                                            </script>
-                                        </div>
                                     </div>
                                     <hr>
                                     <div class="form-group">
@@ -178,8 +156,7 @@
                                         </div>
                                         <label class="col-sm-2 control-label">中标金额不存在</label>
                                         <div class="col-sm-1">
-                                            <input style="margin-top: 10px;" type="checkbox" id="bidamountExist"
-                                                   onclick="return false;">
+                                            <input style="margin-top: 10px;" type="checkbox" id="bidamountExist" onclick="return false;">
                                         </div>
                                     </div>
                                     <div class="form-group">
@@ -282,54 +259,11 @@
                                     <th>匹配方式</th>
                                     <th>采购单位类型</th>
                                     <th>公告行业</th>
-                                    <th>分组</th>
                                 </tr>
                                 </thead>
                             </table>
                         </div>
                     </div>
-<!--                    <div class="tab-pane" id="tab_3">-->
-<!--                        <div class="box box-primary">-->
-<!--                            <div class="box-header with-border">-->
-<!--                                <div class="form-group">-->
-<!--                                    <div class="col-sm-6">-->
-<!--                                        <textarea name="" id="exactRule" cols="30" rows="10" placeholder="" style="width: 100%" disabled></textarea>-->
-<!--                                    </div>-->
-<!--                                    <div class="col-sm-6">-->
-<!--                                        编写规则说明:<br/>-->
-<!--                                        1.应用场景:可根据该篇公告标题或全文,匹配的“关键词分组”个数,确定是否推送该篇公告。<br/>-->
-<!--                                        2.规则释义:<br/>-->
-<!--                                        (1)查找范围:title→公告标题,content→公告全文;not为不包含的关系;<br/>-->
-<!--                                        (2)查找值:关键词分组名;<br/>-->
-<!--                                        (3)查找范围和查找值用“_”连接;<br/>-->
-<!--                                        (3)查找条件:数量条件可用>=<;and→且关系,or→或关系;1组条件用()。<br/>-->
-<!--                                        3.规则示例(分组名为A和B):(title_A>0 and not content_B) or title_B>4 or (content_A and content_B>1) ,即该篇公告标题包含关键词分组A且公告全文文不包含关键词分组B时即推送,或该篇公告全文包含4个关键词分组B时即推送,或该篇公告全文包含关键词分组A2个及以上且关键词分组B2个及以上时即推送-->
-<!--                                    </div>-->
-<!--                                </div>-->
-<!--                            </div>-->
-<!--                        </div>-->
-<!--                    </div>-->
-                    <div class="tab-pane" id="tab_3">
-                        <div class="box box-primary">
-                            <div class="box-header with-border">
-                                <div class="col-sm-10" style="text-align: left; padding-left: 0px;">
-                                    <h5>说明:可根据公告匹配的“关键词分组”个数,确定是否推送该篇公告;符合以下其中1条规则即推送</h5>
-                                </div>
-                            </div>
-                            <div>
-                                <table id="exactRuleTable" class="table table-bordered">
-                                    <thead>
-                                    <tr>
-                                        <th>编号</th>
-                                        <th>关键词分组匹配条件</th>
-
-                                    </tr>
-                                    </thead>
-                                </table>
-                            </div>
-                        </div>
-                    </div>
-
                 </div>
             </div>
         </div>
@@ -413,7 +347,6 @@
     var existField = {{.T.existField}};
     var buyerClass = {{.T.buyerClass}};
     var scopeClass = {{.T.scopeClass}};
-    var siteArr = {{.T.siteArr}}
 
     var matchCode = [];     //匹配方式code
     var matchName = [];     //匹配名字
@@ -426,7 +359,6 @@
     var selectIndex = [];               //选中的编号
     var setValue = 0;                   // 4: 关键词匹配方式,6:附加词匹配方式,8:排除词匹配方式,9:采购单位,10:公告行业, 2:全局采购单位行业, 3:全局公告行业
     var state = 1;
-    var exactRuleTableArr =[];// 临时数组 用于存放规则字符串转换后的数据
     $(document).ready(function () {
         var name1 = {{(session "user").name}};
         if (name1 != dataMap.s_updateuser) {
@@ -435,10 +367,6 @@
         $('#extfiledselect').val(dataMap.i_extfieldstype);
         //es
         $('#estxt').val(dataMap.s_esquery);
-        if (dataMap.i_exact === 1) {
-            $(".exactRuleShow").show()
-            $('#exactRule').val(dataMap.s_exactRule);
-        }
         //预算限制
         if (dataMap.s_budgetlimit && dataMap.s_budgetlimit != "") {
             if (dataMap.s_budgetlimit.indexOf("大于") != -1 && dataMap.s_budgetlimit.indexOf("小于") != -1) {
@@ -553,22 +481,10 @@
         $('#existFieldSelect').attr("value", existField)
         $("#infoType").selectpicker("refresh");
         // $("#existFieldSelect").selectpicker("refresh");
-        //网站选择
-        for (var i in siteArr) {
-            var opt = document.createElement('option');
-            opt.innerText = siteArr[i];
-            opt.value = siteArr[i];
-            if (dataMap.s_sites && dataMap.s_sites.indexOf(siteArr[i]) != -1) {
-                opt.selected = true
-            }
-            $('#siteSelect')[0].appendChild(opt)
-        }
-        $("#siteSelect").selectpicker("refresh");
-
         if (dataMap.i_budgetfieldexist === 1) {
             $("#budgetExist").attr("checked", true)
         }
-        console.log(dataMap.i_bidamountfieldexist, "----------")
+        console.log(dataMap.i_bidamountfieldexist,"----------")
         if (dataMap.i_bidamountfieldexist === 1) {
             $("#bidamountExist").attr("checked", true)
         }
@@ -580,7 +496,7 @@
         var notMatchName = "";
         var clearMatchName = "";
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             } else {
@@ -656,7 +572,7 @@
             "data": dataMap.o_rules,
             "columns": [
                 {"data": null, width: "2%"},
-                {"data": "s_matchkey", width: "8%"},
+                {"data": "s_matchkey", width: "10%"},
                 {
                     "data": function (row) {
                         var str = row.s_keymatch;
@@ -677,7 +593,7 @@
                     }, width: "5%"
                 },
                 {
-                    "data": "s_addkey", width: "8%", render: function (val) {
+                    "data": "s_addkey", width: "10%", render: function (val) {
                         if (val == undefined) {
                             val = ""
                         }
@@ -704,7 +620,7 @@
                     }, width: "5%"
                 },
                 {
-                    "data": "s_notkey", width: "8%", render: function (val) {
+                    "data": "s_notkey", width: "10%", render: function (val) {
                         if (val == undefined) {
                             val = ""
                         }
@@ -754,17 +670,6 @@
                         return str
                     }, width: "5%"
                 },
-                {
-                    "data": "s_group", width: "6%", render: function (val) {
-                        if (dataMap.i_exact !== 1) {
-                            return ""
-                        }
-                        if (val == undefined) {
-                            val = ""
-                        }
-                        return val
-                    }
-                }
             ],
             "columnDefs": [{
                 "targets": [2],
@@ -801,33 +706,6 @@
                 }
             }]
         });
-        exactRuleTableArr = exactRuleStrToArr( dataMap["s_exactRule"])
-        // 精准筛选规则表格
-        $('#exactRuleTable').DataTable({
-            "paging": false,
-            "lengthChange": false,
-            "searching": false,
-            "ordering": false,
-            "info": true,
-            "autoWidth": false,
-            "language": {
-                "url": "/dist/js/dataTables.chinese.lang"
-            },
-            "fnDrawCallback": function () {
-                this.api().column(0).nodes().each(function (cell, i) {
-                    cell.innerHTML = i + 1;
-                });
-            },
-            "data": exactRuleTableArr,
-            "columns": [
-                {"data": null},
-                {
-                    "data": function (row) {
-                        return exactRuleDataFormat(row)
-                    }
-                }
-            ]
-        });
     });
 
     $('#province').selectpicker({
@@ -839,9 +717,6 @@
     $('#district').selectpicker({
         liveSearch: true,
     });
-    $('#siteSelect').selectpicker({
-        liveSearch: true,
-    });
 
     //生成数据
     function produceData() {
@@ -952,15 +827,11 @@
                 },
                 {
                     "data": function (row) {
-                        if (row.detail !== "" && row.detail !== undefined) {
-                            var str = com.trimStr(row.detail);
-                            if (str.length > 14) {
-                                return str.substring(0, 14) + "..."
-                            } else {
-                                return str
-                            }
+                        var str = com.trimStr(row.detail);
+                        if (str.length > 14) {
+                            return str.substring(0, 14) + "..."
                         } else {
-                            row.detail = ""
+                            return str
                         }
                     }, width: "5%"
                 },
@@ -1159,77 +1030,4 @@
             })
         });
     }
-    const matchWayMap = {
-        "title":"标题匹配",
-        "content":"全文匹配"
-    }
-    // (title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 精准筛选规则-规则字符串转换成临时数组   仅支持这种格式 (title_A>0 and  content_B>8) or title_B>4 or (content_A>7 and content_B>1)
-    // 分组名称不要包含公式中的符号 :  下划线、>、()、or、and
-    function exactRuleStrToArr( exactRuleStr)  {
-        if (exactRuleStr===undefined||exactRuleStr===""){
-            return []
-        }
-        let exactRuleTableArrTmp = []
-        // let exactRuleStr = "(title_A>0 and content_B>8) or title_B>4 or (content_A>7 and content_B>1)"
-        let exactRuleList = exactRuleStr.split(" or ") // 分割成单条规则
-        for (let i=0; i< exactRuleList.length; i++) {
-            let exactRuleTmp = exactRuleList[i]
-            let rulesArr = [];
-            if (exactRuleTmp.startsWith("(")) {
-                exactRuleTmp = exactRuleTmp.slice(1, -1) //去掉首尾的括号
-            }
-            let singleRuleArr = exactRuleTmp.split(" and ")  // 分割单条规则中的数据
-            for (let j=0;j<singleRuleArr.length;j++) {
-                let singleRule  =singleRuleArr[j]
-                // 匹配方式
-                let singleRuleSplit = singleRule.split("_")
-                if (singleRuleSplit.length<2){
-                    console.log("singleRuleSplit 长度不够",singleRuleSplit)
-                    return
-                }
-                let matchWay = singleRuleSplit[0] // 第一位是匹配方式
-                // 然后接着分割出分组名称和次数  使用 _
-                let singleRuleSplit2 = singleRuleSplit[1].split(">")
-                if (singleRuleSplit2.length<2){
-                    console.log("singleRuleSplit2 长度不够",singleRuleSplit2)
-                    return
-                }
-                let groupName = singleRuleSplit2[0]
-                let count = singleRuleSplit2[1]
-                // 次数    次数这里要+1  因为展示框里用的是>=  公式里面用的是>
-                let rule = {
-                    "group":groupName,"match_way":matchWay,"count":parseInt(count)+1
-                }
-                rulesArr.push(rule)
-            }
-            exactRuleTableArrTmp.push(rulesArr)
-        }
-        return exactRuleTableArrTmp;
-    }
-    // 规则数组转换列表字符串
-    function exactRuleDataFormat(contentArr ){
-        // keyArr 定义数组 维持最后有序
-        let keyArr = []
-        // 合并 标题正文 如果
-        let tmpDict = {}
-        for (let i = 0; i < contentArr.length; i++) {
-            let keyGroupCount = contentArr[i].group+"_"+ contentArr[i].count
-            if (tmpDict.hasOwnProperty(keyGroupCount)){
-                tmpDict[keyGroupCount].match_way.add(matchWayMap[contentArr[i].match_way])
-            }else {
-                let set = new Set();
-                tmpDict[keyGroupCount] = {
-                    "group":contentArr[i].group,"match_way":set.add(matchWayMap[contentArr[i].match_way]),"count":contentArr[i].count
-                }
-                keyArr.push(keyGroupCount)
-
-            }
-        }
-        let str = ""
-        for (let tmpDictKey in keyArr) {
-            str += "关键词分组:"+tmpDict[keyArr[tmpDictKey]].group+",出现次数>="+tmpDict[keyArr[tmpDictKey]].count+",匹配方式:"+Array.from(tmpDict[keyArr[tmpDictKey]].match_way).join(",")+";"
-        }
-        return str
-    }
 </script>

+ 34 - 212
SEPlatform/web/templates/private/euser_tag_rule.html

@@ -82,7 +82,6 @@
                             <th>排除词</th>
                             <th>匹配方式</th>
                             <th>标签名称</th>
-                            <th>采购单位类型</th>
                         </tr>
                         </thead>
                     </table>
@@ -106,7 +105,7 @@
                         </div>
                         <form class="form-horizontal">
                             <div class="form-group">
-                                <label class="col-sm-2 control-label"><span style="color:red;"></span>标签名称</label>
+                                <label class="col-sm-2 control-label"><span style="color:red;">* </span>标签名称</label>
                                 <div class="col-sm-6">
                                     <input type="text" class="form-control" placeholder="输入标签名称" id="rulename"/></div>
                             </div>
@@ -128,13 +127,6 @@
                                     <textarea class="form-control" style="max-width: 100%" placeholder="输入排除词"
                                               id="notword_txt"></textarea></div>
                             </div>
-                            <div class="form-group">
-                                <label class="col-sm-2 control-label">采购单位行业</label>
-                                <div class="col-sm-3">
-                                    <input class="form-control"
-                                           style="text-align: left;overflow: hidden;white-space: nowrap;text-overflow: ellipsis"
-                                           type="button" id="s_buyerclass" onclick="selectBuyer(2)">
-                            </div>
                         </form>
                     </div>
                 </div>
@@ -147,7 +139,6 @@
         </div>
     </div><!-- /.modal -->
 </div>
-</div>
 <!-- 选择匹配方式模态框 -->
 <div class="modal fade" id="modal-select-match" tabindex="-1" role="dialog" aria-hidden="true">
     <div class="modal-dialog" style="width: 50%">
@@ -173,30 +164,6 @@
         </div>
     </div><!-- /.modal -->
 </div>
-<!-- 选择采购单位行业模态框 -->
-<div class="modal fade" id="modal-select-buyer" tabindex="-1" role="dialog" aria-hidden="true">
-    <div class="modal-dialog" style="width: 60%">
-        <div class="modal-content">
-            <div class="modal-header">
-                <div class="modal-header">
-                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
-                    <div class="edit-form">
-                        <div class="edit-info">
-                            <span class="glyphicon glyphicon-ok-sign" aria-hidden="true"></span>
-                            <span>采购单位类型</span>
-                        </div>
-                        <div id="btnGroupBuyer"></div>
-                    </div>
-                </div>
-                <div class="modal-footer">
-                    <input type="button" onclick="saveBuyer()" class="btn btn-primary saveBtn" value="保存">
-                    <input type="button" onclick="cancelModel()" class="btn btn-default" style="margin-left: 24px"
-                           value="取消">
-                </div>
-            </div>
-        </div>
-    </div><!-- /.modal -->
-</div>
 {{include "com/footer.html"}}
 <script>
     menuActive("/customer/list");
@@ -213,10 +180,6 @@
     var matchCode = [];     //匹配方式code
     var matchName = [];     //匹配名字
     var history_id = {{.T.hid}}
-    var buyerArr = [];  
-    var buyerClassMap = {{.T.buyerClassMap}}
-    var tagRule = {{.T.tagrule}}
-    var tagType = {{.T.tagType}}
 
     //表单数据
     var dataMap = {
@@ -224,25 +187,14 @@
         "i_isuse": 0,
         "s_userid": {{.T.cid}}
     }
-    
-    var btnBuyerHtml = "";
-    for (let key in buyerClassMap) {
-        btnBuyerHtml += `<div class="row"><b style="font-size: 16px;" class="col-sm-1">${key}</b><div style="margin-top: -15px;margin-left: -40px;" class="col-sm-11">`
-        for (let j in buyerClassMap[key]) {
-            btnBuyerHtml += `<input type="button" class="btn btn-default col-md-2" style="margin-left: 10px;margin-top: 10px" onclick="clickBuyerBtn(this)"
-                         value="${buyerClassMap[key][j]}">`;
-        }
-        btnBuyerHtml += `</div></div><br>`
-    }
-    $("#btnGroupBuyer").append(btnBuyerHtml);
 
     $(document).ready(function () {
         $('#useSelect').bootstrapSwitch({
             onText: "开启",
             offText: "关闭",
         })
-        if (tagRule) {
-            dataMap = tagRule
+        if ({{.T.tagrule}}) {
+            dataMap = {{.T.tagrule}}
                 $('#tagname').val(dataMap.s_name)
             if (dataMap.i_isuse == 1) {
                 $('#useSelect').bootstrapSwitch('state', true);
@@ -267,7 +219,7 @@
         var btnMatchHtml2 = "";
         //匹配方式
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2 matchWay" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             } else {
@@ -360,16 +312,7 @@
                         return ""
                     }, width: "5%"
                 },
-                {"data": "s_name", width: "8%"},
-                {
-                    "data": function (row) {
-                        var str = row.s_buyerclass;
-                        if (str && str != "") {
-                            return str
-                        }
-                        return ""
-                    }, width: "8%"
-                },
+                {"data": "s_name", width: "10%"},
             ],
             "columnDefs": [{
                 "targets": [2],
@@ -408,6 +351,17 @@
         });
     })
 
+    function cancelModel() {
+        $('#modal-add-keyword').modal("hide");
+        $('#modal-select-match').modal("hide");
+        $('#btnGroupMatch').find("input").each(function () {
+            $(this).removeClass("active-btn-match");
+        });
+        $('#btnGroupMatch2').find("input").each(function () {
+            $(this).removeClass("active-btn-match");
+        });
+    }
+
     function importRule() {
         $("#file").click();
     }
@@ -505,7 +459,6 @@
         }
         dataMap["o_list"] = JSON.stringify(o_list);
         dataMap["hid"] = history_id;
-        dataMap["tagType"] = tagType;
         if (history_id !== "") {
             dataMap["i_isuse"] = 1;
         }
@@ -560,28 +513,21 @@
 
                 if (setValue === 4) {
                     $(".matchWay").each(function () {
+                        console.log(keyWords.indexOf(this.value) !== -1)
                         if (keyWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 } else if (setValue === 6) {
                     $(".matchWay").each(function () {
                         if (addWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 } else if (setValue === 8) {
                     $(".matchWay").each(function () {
                         if (filterWords.indexOf(this.value) !== -1) {
                             $(this).addClass("active-btn-match");
-
-                            matchCode.push($(this).attr("code"));
-                            matchName.push($(this).val())
                         }
                     })
                 }
@@ -593,10 +539,10 @@
 
     //匹配方式按钮点击事件
     function clickMatchBtn(obj) {
-        // if (matchCode.indexOf("6") !== -1 || matchCode.indexOf("7") !== -1) {
-        //     matchCode.length = 0;
-        //     matchName.length = 0;
-        // }
+        if (matchCode.indexOf("6") !== -1 || matchCode.indexOf("7") !== -1) {
+            matchCode.length = 0;
+            matchName.length = 0;
+        }
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
             matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
@@ -607,30 +553,18 @@
             matchName.push($(obj).val())
         }
 
-        // $('#btnGroupMatch2 .btn-default').each(function () {
-        //     $(this).removeClass("active-btn-match");
-        // });
+        $('#btnGroupMatch2 .btn-default').each(function () {
+            $(this).removeClass("active-btn-match");
+        });
     }
 
     function clickMatchBtn2(obj) {
-        // matchCode.length = 0;
-        // matchName.length = 0;
-        var temp_list = ["6", "7"]
-        var name_list = ["采购单位", "中标单位"]
-        for (i in temp_list) {
-            if (matchCode.indexOf(temp_list[i]) > -1) {
-                matchCode.splice(jQuery.inArray(temp_list[i], matchCode), 1)
-            }
-        }
-        for (j in name_list) {
-            if (matchName.indexOf(name_list[j]) > -1) {
-                matchName.splice(jQuery.inArray(name_list[j], matchName), 1)
-            }
-        }
+        matchCode.length = 0;
+        matchName.length = 0;
         if ($(obj).hasClass("active-btn-match")) {
             $(obj).removeClass("active-btn-match")
-            // matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
-            // matchName.splice($.inArray($(obj).val(), matchName), 1)
+            matchCode.splice($.inArray($(obj).attr("code"), matchCode), 1);
+            matchName.splice($.inArray($(obj).val(), matchName), 1)
         } else {
             $(obj).addClass("active-btn-match");
             matchCode.push($(obj).attr("code"));
@@ -642,9 +576,9 @@
             });
         }
 
-        // $('#btnGroupMatch .btn-default').each(function () {
-        //     $(this).removeClass("active-btn-match");
-        // });
+        $('#btnGroupMatch .btn-default').each(function () {
+            $(this).removeClass("active-btn-match");
+        });
     }
 
     //匹配方式保存
@@ -721,7 +655,6 @@
             $('#keyword_txt').val(o_list[index].s_matchkey)
             $('#addword_txt').val(o_list[index].s_addkey);
             $('#notword_txt').val(o_list[index].s_notkey);
-            $('#s_buyerclass').val(o_list[index].s_buyerclass);
         } else {
             showTip("请选中需要修改的关键词,且只能选中一条", 1000)
         }
@@ -733,23 +666,16 @@
         var key = $('#keyword_txt').val()
         var addkey = $('#addword_txt').val()
         var notkey = $('#notword_txt').val()
-        var buyerclass = $("#s_buyerclass").val();
-        if (key != "") {
+        if (tagname != "" || key != "") {
             var rule = {};
             rule["s_name"] = tagname
             rule["s_matchkey"] = key.replace(",", ",");
             if (addkey != "") rule["s_addkey"] = addkey.replace(",", ",");
-            if (notkey != "") rule["s_notkey"] = notkey.replace(",", ",");
-            if (buyerclass != "") rule["s_buyerclass"] = buyerclass.replace(",", ",");
+            if (notkey != "") rule["s_notkey"] = addkey.replace(",", ",");
             $('#modal-add-keyword').modal('hide');
-            if (tagname==""){
-                // rule["s_name"]=key
-                showTip("标签名称为空时,将使用匹配到的关键词作为标签名称")
-            }else {
-                rule["s_name"] = tagname
-            }
             if (key_flag == 1) {
                 var index = selectIndex[0] - 1;
+
                 //保存原有关键词匹配方式 附加词匹配方式 排除词匹配方式对应的code
                 var s_keymatch_code = o_list[index]["s_keymatch"]
                 var s_addkeymatch_code = o_list[index]["s_addkeymatch"]
@@ -792,108 +718,4 @@
             showTip("请选中需要删除的关键词", 500)
         }
     }
-    
-    //采购单位modal
-    function selectBuyer(val) {
-        setValue = val;
-        $('#btnGroupBuyer').find("input").each(function () {
-            $(this).removeClass("active-btn-match");
-        });
-        if (val == 2) {
-            buyerArr.length = 0
-            // 和button的值匹配,对应添加选中属性
-            var d = $("#s_buyerclass").val()
-            // 按逗号分隔
-            var select_value_array = d.split(",")
-            // 和button的值匹配,对应添加选中属性
-            for (index_ in select_value_array) {
-                //定位button 添加属性
-                $("#btnGroupBuyer").find("input").each(function () {
-                    if ($(this).val() == select_value_array[index_]) {
-                        $(this).addClass("active-btn-match");
-                        if (buyerArr.indexOf(select_value_array[index_]) == -1) {
-                            buyerArr.push($(this).val())
-                        }
-                    }
-                });
-            }
-            $('#modal-select-buyer').modal("show");
-        } else {
-            if (keyTableChecked) {
-                buyerArr.length = 0
-                // 和button的值匹配,对应添加选中属性
-                var d = $("#keywords tbody tr:nth-child(" + selectIndex[0] + ") td:nth-child(9)").text()
-                // 按逗号分隔
-                var select_value_array = d.split(",")
-                // 和button的值匹配,对应添加选中属性
-                for (index_ in select_value_array) {
-                    //定位button 添加属性
-                    $("#btnGroupBuyer").find("input").each(function () {
-                        if ($(this).val() == select_value_array[index_]) {
-                            $(this).addClass("active-btn-match");
-                            if (buyerArr.indexOf(select_value_array[index_]) == -1) {
-                                buyerArr.push($(this).val())
-                            }
-                        }
-                    });
-                }
-                $('#modal-select-buyer').modal("show");
-            } else {
-                alert("请选中关键词")
-            }
-        }
-    }
-    
-    //采购单位点击
-    function clickBuyerBtn(obj) {
-        if ($(obj).hasClass("active-btn-match")) {
-            $(obj).removeClass("active-btn-match")
-            buyerArr.splice($.inArray($(obj).val(), buyerArr), 1)
-        } else {
-            $(obj).addClass("active-btn-match");
-            buyerArr.push($(obj).val())
-        }
-    }
-    
-    function saveBuyer() {
-        $('#btnGroupBuyer').find("input").each(function () {
-            $(this).removeClass("active-btn-match");
-        });
-        $('#modal-select-buyer').modal("hide");
-        var buyerStr = "";
-        for (var i in buyerArr) {
-            if ("" === buyerStr) {
-                buyerStr = buyerArr[i];
-            } else {
-                buyerStr += "," + buyerArr[i]
-            }
-        }
-        if (setValue == 2) {
-            $('#s_buyerclass').val(buyerStr);
-            $('#s_buyerclass').attr('title', buyerStr);
-            dataMap["s_globalbuyerclass"] = buyerStr;
-        } else {
-            for (var i in selectIndex) {
-                var j = selectIndex[i] - 1;
-                //采购单位
-                $("#keywords tbody tr:nth-child(" + selectIndex[i] + ") td:nth-child(9)").html(buyerStr);
-                o_rules[j]["s_buyerclass"] = buyerStr;
-            }
-        }
-        $('#modal-select-buyer').modal("hide");
-        buyerArr.length = 0;
-    }
-    
-    //全局modal取消按钮
-    function cancelModel() {
-        $('#modal-add-keyword').modal("hide");
-        $('#modal-select-match').modal("hide");
-        $('#modal-select-buyer').modal("hide");
-        $('#btnGroupMatch').find("input").each(function () {
-            $(this).removeClass("active-btn-match");
-        });
-        $('#btnGroupMatch2').find("input").each(function () {
-            $(this).removeClass("active-btn-match");
-        });
-    }
 </script>

+ 1 - 1
SEPlatform/web/templates/private/euser_tag_rule_l.html

@@ -117,7 +117,7 @@
         var btnMatchHtml2 = "";
         //匹配方式
         for (var i in matchTypeMap) {
-            if (i < 5 || i > 8) {
+            if (i < 5) {
                 btnMatchHtml1 += `<input type="button" class="btn btn-default col-md-pull-2" style="margin-left: 10px;margin-top: 10px" onclick="clickMatchBtn(this)"
                             code="${matchTypeMap[i]["code"]}" value="${matchTypeMap[i]["name"]}">`;
             }else {

File diff suppressed because it is too large
+ 133 - 311
SEPlatform/web/templates/private/history_rule_edit.html


+ 0 - 164
SEPlatform/web/templates/private/historylog_list.html

@@ -33,23 +33,12 @@
                                     <tr>
                                         <th>序号</th>
                                         <th>ID</th>
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                                        <th>规则名称</th>
-                                        <th>操作人</th>
-                                        <th>状态</th>
-                                        <th>数据总量</th>
-                                        <th>完成时间</th>
-                                        <th>推送方式</th>
-                                        <th>操作</th>
-                                        <th>备注</th>
-========
                                         <th>操作人</th>
                                         <th>状态</th>
                                         <th>数据总量</th>
                                         <th>创建时间</th>
                                         <th>完成时间</th>
                                         <th>操作</th>
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                                     </tr>
                                     </thead>
                                 </table>
@@ -87,8 +76,6 @@
         </div>
 
     </section>
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-========
     {{/*<div class="modal fade" id="modal-whether-filter" tabindex="-1" role="dialog" aria-hidden="true">
         <div class="modal-dialog" style="width: 30%">
             <div class="modal-content">
@@ -139,7 +126,6 @@
             </div>
         </div><!-- /.modal -->
     </div>*/}}
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
 </div>
 {{include "com/footer.html"}}
 <script>
@@ -157,18 +143,10 @@
         ttable = $('#dataTable').DataTable({
             "paging": true,
             "lengthChange": false,
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-            "searching": true,
-            "ordering": true,
-            "info": true,
-            "autoWidth": false,
-            "serverSide": true,
-========
             "searching": false,
             "ordering": false,
             "info": true,
             "autoWidth": false,
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
             "ajax": {
                 "url": "/service/historylog/list",
                 "type": "post",
@@ -196,37 +174,12 @@
             },
             "columns": [{
                 "data": null,
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                width: "2%"
-========
                 width: "5%"
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
             },
                 {
                     "data": "_id"
                 },
                 {
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                    "data": "dep_rules",
-                    render: function (val) {
-                        if (val === undefined) {
-                            return ""
-                        } else {
-                            var ruleName = ""
-                            for (var a = 0; a < val.length; a++) {
-                                ruleName += val[a].s_name + ","
-                            }
-                            ruleName = ruleName.slice(0, ruleName.length - 1)
-                            if (ruleName.length > 10) {
-                                ruleName = ruleName.slice(0, 10) + "..."
-                            }
-                            return ruleName
-                        }
-                    }
-                },
-                {
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                     "data": "create_user",
                     render: function (val) {
                         if (val === undefined) {
@@ -261,8 +214,6 @@
                     }
                 },
                 {
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-========
                     "data": "createtime",
                     render: function (val) {
                         var dt = new Date()
@@ -271,7 +222,6 @@
                     }
                 },
                 {
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                     "data": "finishtime",
                     render: function (val) {
                         if (val === undefined) {
@@ -283,38 +233,6 @@
                     }
                 },
                 {
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                    "data": "i_pushtype",
-                    render: function (val) {
-                        if (val == 0) {
-                            return "邮箱"
-                        } else {
-                            return "API"
-                        }
-                    }
-                },
-                {
-                    "data": "_id", width: "27%",
-                    render: function (val, a, row) {
-                        var tmp = "";
-                        if (row.state === 3) {
-                            tmp = '<div>' +
-                                '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '&check=true&complete=true&aid=' + row.s_appid + '">查看</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-success" disabled>完成</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="' + val + '" onclick="cloneWork(this)">克隆</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-success">判重完成</a>' +
-                                '</div>';
-                        } else if (row.state === 2) {
-                            tmp = '<div>' +
-                                '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '&check=true&complete=true&aid=' + row.s_appid + '">查看</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-success" disabled>完成</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="' + val + '" onclick="cloneWork(this)">克隆</a>' +
-                                '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="' + val + '" onclick="biddingRepeat(this)">公告判重</a>' +
-                                '</div>';
-                        } else if (row.state === 1) {
-                            tmp = '<div>' +
-                                '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '&check=true&aid=' + row.s_appid + '">查看</a>' +
-========
                     "data": "_id", width: "16%",
                     render: function (val, a, row) {
                         var tmp = "";
@@ -327,53 +245,26 @@
                         } else if (row.state === 1) {
                             tmp = '<div>' +
                                 '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '&check=true">查看</a>' +
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                                 '<a style="margin-left:10px" class="btn btn-sm btn-info">进行</a>' +
                                 '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="' + val + '" onclick="cloneWork(this)">克隆</a>' +
                                 '</div>';
                         } else {
                             tmp = '<div>' +
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                                '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '&aid=' + row.s_appid + '">编辑</a>' +
-========
                                 '<a class="btn btn-sm btn-primary" href="/service/customer/history?id=' + row.user_id + '&hid=' + val + '">编辑</a>' +
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                                 '<a style="margin-left:10px" class="btn btn-sm btn-default" eid="' + val + '" onclick="historyWork(this)">执行</a>' +
                                 '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="' + val + '" onclick="cloneWork(this)">克隆</a>' +
                                 '</div>';
                         }
                         return tmp
                     }
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                },
-                {
-                    "data": "remarks",
-                    render: function (val) {
-                        if (val === undefined) {
-                            return ""
-                        } else {
-                            if (val.length > 10) {
-                                val = val.slice(0, 10) + "..."
-                            }
-                            return val
-                        }
-                    }
-                },
-========
                 }
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
             ]
         });
         window.stable = $('#sdataTable').DataTable({
             "paging": true,
             "lengthChange": false,
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-            "searching": true,
-            "ordering": true,
-========
             "searching": false,
             "ordering": false,
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
             "info": true,
             "autoWidth": false,
             "ajax": {
@@ -445,12 +336,6 @@
                 {
                     "data": "createtime",
                     render: function (val) {
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-                        if (val === undefined) {
-                            return "未执行"
-                        }
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
                         var dt = new Date()
                         dt.setTime(parseInt(val) * 1000)
                         return dt.format("yyyy-MM-dd hh:mm:ss")
@@ -510,8 +395,6 @@
         $("#showHistory").addClass("active");
     }
 
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-========
     //是否根据项目id去重
     /*function whetherFilter(obj) {
         historyId = $(obj).attr("eid");
@@ -551,7 +434,6 @@
 
     }*/
 
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
     function historyWork(obj) {
         var ok = confirm("是否确定执行?");
         if (ok) {
@@ -625,52 +507,6 @@
         }
     }
 
-<<<<<<<< HEAD:CMPlatform/web/templates/private/historylog_list.html
-    //历史任务删除
-    function deleteWork(obj) {
-        var ok = confirm("是否确定删除?");
-        if (ok) {
-            var ishistory = $("#showHistory").hasClass("active")
-            var val = $(obj).attr("eid");
-            if (ishistory) {
-                $.ajax({
-                    url: "/service/historyDelete/" + val,
-                    type: 'POST',
-                    success: function (r) {
-                        window.location.reload();
-                    },
-                    error: function (r) {
-                        alert("删除失败!");
-                    }
-                })
-            } else {
-                $.ajax({
-                    url: "/service/secondPushClone/" + val,
-                    type: 'POST',
-                    success: function (r) {
-                        window.location.reload();
-                    },
-                    error: function (r) {
-                        alert("删除失败!");
-                    }
-                })
-            }
-        }
-    }
-
-    function biddingRepeat(obj) {
-        var ok = confirm("是否确定执行公告去重? 执行后请勿在此执行!");
-        if (ok) {
-            var val = $(obj).attr("eid");
-            $.ajax({
-                url: "/service/BiddingRepeat/" + val,
-                type: 'POST'
-            })
-        }
-    }
-
-========
->>>>>>>> dev1.4.2:SEPlatform/web/templates/private/historylog_list.html
     function addwork() {
         var isactive = $("#showHistory").hasClass("active")
         if (isactive) {

+ 17 - 68
SEPlatform/web/templates/private/second_push_create.html

@@ -75,9 +75,6 @@
                                                         <option value="3">深信服字段包</option>
                                                         <option value="4">高级字段包+部门名称+规则名称</option>
                                                         <option value="5">河南移动字段包</option>
-                                                        <option value="6">河南移动招标字段包</option>
-                                                        <option value="7">河南移动中标字段包</option>
-                                                        <option value="8">高级字段包+企业扩展信息</option>
                                                     </select>
                                                 </div>
                                                 <label class="col-sm-2 control-label ">项目id匹配</label>
@@ -253,24 +250,7 @@
             dt.setTime(parseInt(dataMap.endtime) * 1000);
             $('#endtime').find("input").val(dt.format("yyyy-MM-dd hh:mm:ss"));
         }
-        // $('#extfiledselect').val(dataMap.i_extfieldstype);
-        if (dataMap.i_extfieldstype != undefined) {
-            $('#extfiledselect').val(dataMap.i_extfieldstype);
-            $("#pushTypeSelect").selectpicker("refresh")
-            if (dataMap.i_extfieldstype == 1) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("标准字段包");
-            } else if (dataMap.i_extfieldstype == 3) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("深信服字段包");
-            } else if (dataMap.i_extfieldstype == 4) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("高级字段包+部门名称+规则名称");
-            } else if (dataMap.i_extfieldstype == 5) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动字段包");
-            } else if (dataMap.i_extfieldstype == 6) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动招标字段包");
-            }else if (dataMap.i_extfieldstype == 7) {
-                $("button[data-id=extfiledselect]").find(".filter-option-inner-inner").text("河南移动中标字段包");
-            }
-        }
+        $('#extfiledselect').val(dataMap.i_extfieldstype);
         if (iscomplete == "1") {
             $('#starttime').css("pointer-events", "none");
             $('#endtime').css("pointer-events", "none");
@@ -282,7 +262,7 @@
             $(".select-button").hide();
 
         }
-        if (dataMap.projectIdSearch != undefined) {
+        if(dataMap.projectIdSearch!=undefined){
             $("#projectIdSearch").val(dataMap.projectIdSearch)
             $("#projectIdSearch").selectpicker("refresh")
 
@@ -467,24 +447,7 @@
     }
 
     var tagid = ""
-    //排序
-    var compare = function (prop) {
-        return function (obj1, obj2) {
-            var val1 = obj1[prop];
-            var val2 = obj2[prop];
-            if (!isNaN(Number(val1)) && !isNaN(Number(val2))) {
-                val1 = Number(val1);
-                val2 = Number(val2);
-            }
-            if (val1 < val2) {
-                return 1;
-            } else if (val1 > val2) {
-                return -1;
-            } else {
-                return 0;
-            }
-        }
-    }
+
     function select_Depart() {
         //获取用户自定义规则
         $.ajax({
@@ -495,39 +458,25 @@
                 if (r.status == "success") {
                     var html = ""
                     var number = 1
-                    var ruleArr=[]
                     for (var i = 0; i < r.data.length; i++) {
-                        if (typeof r.data[i].department_rule == "undefined") {
-                            continue
-                        } else {
+                        if (r.data[i].department_rule.length != 0) {
                             for (var l = 0; l < r.data[i].department_rule.length; l++) {
-                                rule=r.data[i].department_rule[l]
-                                console.log(rule)
-                                rule.depart_name=r.data[i].depart_name
-                                rule.department_isuse=r.data[i].department_isuse
-                                ruleArr.push(rule)
-                                console.log(ruleArr)
+                                html += '<tr><td><input type="checkbox" id="rule_id" onclick="getcheck(this)"/></td><td>' + number + '</td><td>' + r.data[i].depart_name + '</td><td>' + r.data[i].department_rule[l].s_name + '</td><td>' + formattime(r.data[i].department_rule[l].i_updatetime) + '</td>';
+                                if (r.data[i].department_isuse == 1) {
+                                    html += "<td>" + "已启用"
+                                } else {
+                                    html += "</td><td>" + "未启用"
+                                }
+                                if (r.data[i].department_rule[l].i_isuse == 1) {
+                                    html += "</td><td>" + "已启用" + "</td>"
+                                } else {
+                                    html += "</td><td>" + "未启用" + "</td>"
+                                }
+                                html += "<td hidden>" + r.data[i].department_rule[l]._id + "</td><td hidden class='is_inc'>false</td>";
+                                number++
                             }
                         }
                     }
-                    ruleArr= ruleArr.sort(compare("i_updatetime"))
-                    console.log(ruleArr)
-                    for (var i = 0; i < ruleArr.length; i++) {
-                        html += '<tr><td><input type="checkbox" id="rule_id" onclick="getcheck(this)"/></td><td>' + number + '</td><td>' + ruleArr[i].depart_name + '</td><td>' + ruleArr[i].s_name + '</td><td>' + formattime(ruleArr[i].i_updatetime) + '</td>';
-                        if (ruleArr[i].department_isuse == 1) {
-                            html += "<td>" + "已启用"
-                        } else {
-                            html += "</td><td>" + "未启用"
-                        }
-                        if (ruleArr[i].i_isuse == 1) {
-                            html += "</td><td>" + "已启用" + "</td>"
-                        } else {
-                            html += "</td><td>" + "未启用" + "</td>"
-                        }
-                        html += "<td hidden>" + ruleArr[i]._id + "</td><td hidden class='is_inc'>false</td>";
-                        number++
-                    }
-
                     $(".history_rules").html(html)
                 }
             }

Some files were not shown because too many files changed in this diff