Parcourir la source

Merge branch 'master' into feature/v4.9.49

yuelujie il y a 11 mois
Parent
commit
e686eb9e36
25 fichiers modifiés avec 1187 ajouts et 22 suppressions
  1. 68 2
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/ent_portrait.css
  2. 25 1
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  3. 24 1
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html
  4. 20 6
      src/jfw/modules/bigmember/src/entity/portrait.go
  5. 1 1
      src/jfw/modules/bigmember/src/entity/portraitWinnerSearch.go
  6. 2 3
      src/jfw/modules/bigmember/src/entity/portrait_screen.go
  7. 48 0
      src/jfw/modules/bigmember/src/entity/saveZhimaLog.go
  8. 1 0
      src/jfw/modules/bigmember/src/main.go
  9. 29 0
      src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go
  10. 21 0
      src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go
  11. 111 2
      src/jfw/modules/publicapply/src/enterpriseSearch/entity/entQuery.go
  12. 16 1
      src/jfw/modules/publicapply/src/enterpriseSearch/service/search.go
  13. 696 0
      src/jfw/modules/publicapply/src/zhima.yaml
  14. 70 3
      src/web/staticres/big-member/weixin/css/ent_portrait.css
  15. BIN
      src/web/staticres/common-module/big-member/image/drop-down.png
  16. BIN
      src/web/staticres/common-module/big-member/image/guzhuchengxin.png
  17. BIN
      src/web/staticres/common-module/big-member/image/lianhepingjia.png
  18. BIN
      src/web/staticres/common-module/big-member/image/qiyeshili.png
  19. BIN
      src/web/staticres/common-module/big-member/image/shehuijiazhi.png
  20. BIN
      src/web/staticres/common-module/big-member/image/shehuiyingxiangli.png
  21. BIN
      src/web/staticres/common-module/big-member/image/xinyongpingjia.png
  22. BIN
      src/web/staticres/common-module/big-member/image/zhima-logo.png
  23. 25 1
      src/web/staticres/common-module/collection/js/ent_portrait.js
  24. 24 1
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html
  25. 6 0
      src/web/templates/pc/template/index/activity-dialog.html

+ 68 - 2
src/jfw/modules/app/src/web/staticres/jyapp/big-member/css/ent_portrait.css

@@ -62,10 +62,10 @@
     z-index: 2;
 }
 .tabs-list {
-    padding: 0 8px;
+    padding: .08rem .32rem .24rem;
 }
 .tabs-container .tabs-item {
-    margin-bottom: .24rem;
+    margin-bottom: .16rem;
 }
 
 .tabs-list .tabs-item,
@@ -656,3 +656,69 @@
   background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
   border-radius: 8px;
 }
+.sesame-container{
+  padding: .24rem .32rem;
+  background: linear-gradient(#E3FCFF, #ffffff);
+}
+.sesame-container .sesame-header{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.sesame-container .sesame-header .sesame-title{
+  font-size: .28rem;
+  line-height: .4rem;
+  color: #171826;
+}
+.sesame-container .sesame-header > span{
+  display: flex;
+  align-items: center;
+  font-size: .22rem;
+  color: #5F5E64;
+}
+.sesame-container .sesame-header .sesame-logo{
+  width: 1.44rem;
+  margin: 0 .08rem;
+}
+.sesame-container .sesame-main{
+  padding: .24rem 0 .08rem;
+  height: .82rem;
+  transition: height 0.5s ease-out;
+  overflow: hidden;
+}
+.sesame-container .sesame-main .sesame-item{
+  display: inline-flex;
+  align-items: center;
+  margin-right: .16rem;
+  margin-bottom: .16rem;
+  padding: .04rem .08rem;
+  font-size: .22rem;
+  line-height: .32rem;
+  color: #5F5E64;
+  border-radius: .08rem;
+  background: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  box-sizing: border-box;
+}
+.sesame-container .sesame-main .sesame-item-icon{
+  width: .32rem;
+  height: .32rem;
+  margin-right: .04rem;
+}
+.sesame-container .sesame-more{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  text-align: center;
+  color: #5F5E64;
+}
+.sesame-container .sesame-more .drop-down-img{
+  width: .32rem;
+  height: .32rem;
+}
+.sesame-container .sesame-more .drop-down-img.rotate180{
+  transform: rotate(180deg);
+}
+.sesame-container .sesame-main.expanded {
+  height: auto!important;
+}

+ 25 - 1
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -192,7 +192,9 @@ var vNode = {
       isLogin: false,
       // 是否是免费用户
       isFree: false,
-      balance:0
+      balance:0,
+      moreSesame: false,
+      isOneRow: false
     }
   },
   created: function () {
@@ -770,6 +772,11 @@ var vNode = {
               for (var key in res.data) {
                 _this.entBaseInfo[key] = res.data[key]
               }
+              if(res.data.zhimaLabels) {
+                setTimeout(function() {
+                  _this.checkIsOneRow()
+                }, 500)
+              }
             }
           } else {
             // 不显示提示信息
@@ -1633,6 +1640,23 @@ var vNode = {
       } else if (type === 'buy') {
         location.href = '/jy_mobile/common/order/create/svip?type=buy'
       }
+    },
+    checkIsOneRow: function() {
+      var container = document.querySelector('.sesame-main');
+      if(!container) return
+      var items = container.getElementsByClassName('sesame-item');
+  
+      // 获取所有子元素的top值,如果所有子元素的top值相同,则说明只有一行
+      var firstItemTop = items[0].offsetTop;
+      var isOneRow = true;
+  
+      for (var i = 1; i < items.length; i++) {
+        if (items[i].offsetTop !== firstItemTop) {
+          isOneRow = false;
+          break;
+        }
+      }
+      this.isOneRow = isOneRow
     }
   }
 }

+ 24 - 1
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html

@@ -154,7 +154,30 @@
         v-if="conf.powerLoaded && conf.showPortraitAll" :offset-top="stickyTop">
         <!-- 企业信息/工商信息 -->
         <van-tab :name="moduleList[0].name" :title="moduleList[0].title">
-          <div class="module-container pb-12 ent-info-detail">
+          <!-- 芝麻信用标 -->
+          <div class="sesame-container" v-if="entBaseInfo.zhimaLabels">
+            <div class="sesame-header">
+              <h3 class="sesame-title">芝麻实力标</h3>
+              <span>以下信息由<img class="sesame-logo" src="/common-module/big-member/image/zhima-logo.png">提供</span>
+            </div>
+            <div class="sesame-main" :class="{'expanded': moreSesame}">
+              <div class="sesame-item" v-for="item in entBaseInfo.zhimaLabels">
+                <img v-if="item.zhima_toptype === '社会价值'" src="/common-module/big-member/image/shehuijiazhi.png" class="sesame-item-icon">
+                <img v-else-if="item.zhima_toptype === '雇主诚信'" src="/common-module/big-member/image/guzhuchengxin.png" class="sesame-item-icon">
+                <img v-else-if="item.zhima_toptype === '企业实力'" src="/common-module/big-member/image/qiyeshili.png" class="sesame-item-icon">
+                <img v-else-if="item.zhima_toptype === '社会影响力'" src="/common-module/big-member/image/shehuiyingxiangli.png" class="sesame-item-icon">
+                <img v-else-if="item.zhima_toptype === '联合评价'" src="/common-module/big-member/image/lianhepingjia.png" class="sesame-item-icon">
+                <img v-else-if="item.zhima_toptype === '信用评价'" src="/common-module/big-member/image/xinyongpingjia.png" class="sesame-item-icon">
+                <span :data-toptyp="item.zhima_toptype">${item.zhima_name}</span>
+              </div>
+            </div>
+            <div v-show="!isOneRow" class="sesame-more" @click="moreSesame = !moreSesame" :style="{'padding-top': !moreSesame ? '.08rem' : 0}">
+              <span v-if="!moreSesame">查看全部</span>
+              <span v-else>收起</span>
+              <img class="drop-down-img" :class="{'rotate180': moreSesame}" src="/common-module/big-member/image/drop-down.png">
+            </div>
+          </div>
+          <div class="module-container pb-12 ent-info-detail" style="margin-top: .24rem;">
             <div class="module-title-container">
               <p class="module-title">工商信息</p>
             </div>

+ 20 - 6
src/jfw/modules/bigmember/src/entity/portrait.go

@@ -240,6 +240,7 @@ func (this *Portrait) GetEntInfo(entId string) (map[string]interface{}, error) {
 		"company_phone": 1, //公司电话
 		"company_name":  1, //公司名称
 		"currency":      1, //注册资本币种
+		"zhima_labels":  1, //芝麻实力标
 	})
 	if entinfo == nil || len(*entinfo) == 0 {
 		return nil, errors.New("未查询到企业相关信息")
@@ -252,6 +253,7 @@ func (this *Portrait) GetEntInfo(entId string) (map[string]interface{}, error) {
 	if qutil.Float64All((*entinfo)["capital"]) > 0 {
 		capital = fmt.Sprintf("%d%s", int64(qutil.Float64All((*entinfo)["capital"])), unit)
 	}
+
 	//switch qutil.InterfaceToStr((*entinfo)["currency"]) {
 	//case "美元":
 	//	unit = "万美元"
@@ -273,12 +275,13 @@ func (this *Portrait) GetEntInfo(entId string) (map[string]interface{}, error) {
 		"company_code": (*entinfo)["company_code"],
 		"org_code":     (*entinfo)["org_code"],
 		//"issue":        paseDateToint64(qutil.ObjToString((*entinfo)["issue_date"])),
-		"operStart": paseDateToint64(qutil.ObjToString((*entinfo)["operation_startdate"])),
-		"operEnd":   paseDateToint64(qutil.ObjToString((*entinfo)["operation_enddate"])),
-		"establish": paseDateToint64(qutil.ObjToString((*entinfo)["establish_date"])),
-		"legal":     (*entinfo)["legal_person"],
-		"phone":     (*entinfo)["company_phone"],
-		"entName":   (*entinfo)["company_name"],
+		"operStart":   paseDateToint64(qutil.ObjToString((*entinfo)["operation_startdate"])),
+		"operEnd":     paseDateToint64(qutil.ObjToString((*entinfo)["operation_enddate"])),
+		"establish":   paseDateToint64(qutil.ObjToString((*entinfo)["establish_date"])),
+		"legal":       (*entinfo)["legal_person"],
+		"phone":       (*entinfo)["company_phone"],
+		"entName":     (*entinfo)["company_name"],
+		"zhimaLabels": (*entinfo)["zhima_labels"],
 	}
 	return rData, nil
 }
@@ -521,3 +524,14 @@ func (this *Portrait) FormatTimeframe() string {
 	timeStr := fmt.Sprintf("%s-%s", FormatDate(&sTimeStamp, "2006/01/02"), FormatDate(&eTimeStamp, "2006/01/02"))
 	return timeStr
 }
+
+func GetStrengthMarks(entId string) ([]map[string]interface{}, error) {
+	if entId == "" {
+		return nil, errors.New("企业名称异常")
+	}
+	data := es.GetByIdField("qyxy_std", "qyxy_std", entId, "")
+	if data == nil || len(*data) == 0 {
+		return nil, errors.New("企业查询失败")
+	}
+	return (*data)["list"].([]map[string]interface{}), nil
+}

+ 1 - 1
src/jfw/modules/bigmember/src/entity/portraitWinnerSearch.go

@@ -223,7 +223,7 @@ func GetWinnerPortraitSearch(screen *PortraitScreen) (map[string]interface{}, er
 	tBegin := time.Now()
 	doSearchSql := fmt.Sprintf(winnerPortraitSearchSql, strings.Join(mustQueryArr, ","), comminTimeRange, comminTimeRange, bidamountTimeRange)
 	res, docCount := util.GetAggsWithCount("projectset", "projectset", doSearchSql)
-	//log.Println("winnerPortraitSql", doSearchSql)
+	log.Println("winnerPortraitSql", doSearchSql)
 	if res == nil {
 		return nil, errors.New(fmt.Sprintf("%s中标企业画像查询异常\n", screen.Ent))
 	}

+ 2 - 3
src/jfw/modules/bigmember/src/entity/portrait_screen.go

@@ -113,11 +113,11 @@ func TimeParse(str string) (st, et time.Time, err error) {
 	tRanges := strings.Split(str, "_")
 	if len(tRanges) == 2 {
 		// 使用 time.Parse 进行校验
-		st, err = time.Parse("time.DateOnly", tRanges[0])
+		st, err = time.Parse(time.DateOnly, tRanges[0])
 		if err != nil {
 			return
 		}
-		et, err = time.Parse("time.DateOnly", tRanges[1])
+		et, err = time.Parse(time.DateOnly, tRanges[1])
 		if err != nil {
 			return
 		}
@@ -281,7 +281,6 @@ func (pwp *PortraitProjectScreen) GetWinnerListSearch() (list *[]map[string]inte
 	if !pwp.Screen.HasPower || pwp.Free {
 		return pwp.FreePortraitNews(mustQueryArr, true)
 	}
-
 	//仅第一页查询总量
 	if pwp.PageNum == 1 || pwp.IsExport {
 		total = elastic.Count(biddingIndex, biddingType, fmt.Sprintf(NewMustSearch, strings.Join(mustQueryArr, ","), ""))

+ 48 - 0
src/jfw/modules/bigmember/src/entity/saveZhimaLog.go

@@ -0,0 +1,48 @@
+package entity
+
+import (
+	"jy/src/jfw/modules/bigmember/src/db"
+	"log"
+	"sync"
+	"time"
+)
+
+func init() {
+	go SaveLogTask()
+}
+
+var (
+	arr = []map[string]interface{}{}
+	//对map的同步
+	lock = &sync.Mutex{}
+)
+
+func SaveZhiMaLog(logMap map[string]interface{}) {
+	lock.Lock()
+	arr = append(arr, logMap)
+	if len(arr) >= 500 {
+		tmp := arr
+		arr = make([]map[string]interface{}, 0)
+		go func() {
+			log.Println("save..visit..log", len(tmp))
+			db.Mgo_Log.SaveBulk("jy_zhima_logs", tmp...)
+		}()
+	}
+	lock.Unlock()
+}
+
+// SaveLogTask 定时保存日志
+func SaveLogTask() {
+	lock.Lock()
+	if len(arr) >= 1 {
+		tmp := arr
+		arr = make([]map[string]interface{}, 0)
+		go func() {
+			log.Println("timer..save..visit..log", len(tmp))
+			db.Mgo_Log.SaveBulk("jy_zhima_logs", tmp...)
+		}()
+	}
+
+	lock.Unlock()
+	time.AfterFunc(5*time.Minute, SaveLogTask)
+}

+ 1 - 0
src/jfw/modules/bigmember/src/main.go

@@ -5,6 +5,7 @@ import (
 	. "jy/src/jfw/modules/bigmember/src/config"
 	_ "jy/src/jfw/modules/bigmember/src/db"
 	_ "jy/src/jfw/modules/bigmember/src/entinfo"
+	_ "jy/src/jfw/modules/bigmember/src/entity"
 	_ "jy/src/jfw/modules/bigmember/src/filter"
 	"net/http"
 

+ 29 - 0
src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go

@@ -5,6 +5,7 @@ import (
 	"app.yhyue.com/moapp/jypkg/common/src/qfw/util/jy"
 	"encoding/json"
 	"fmt"
+	"github.com/gogf/gf/v2/util/gconv"
 	"jy/src/jfw/modules/bigmember/src/config"
 	"jy/src/jfw/modules/bigmember/src/entity"
 	rest "jy/src/jfw/modules/bigmember/src/restriction"
@@ -12,6 +13,7 @@ import (
 	"log"
 	"regexp"
 	"strings"
+	"time"
 
 	. "app.yhyue.com/moapp/jybase/api"
 	qutil "app.yhyue.com/moapp/jybase/common"
@@ -64,6 +66,19 @@ func (this *EntPortrait) EntDetail() {
 		if vipData.VipStatus <= 0 && vipData.Status <= 0 && vipData.EntnicheStatus <= 0 && entInfo["phone"] != "" {
 			entInfo["phone"] = maskCompanyPhone(qutil.InterfaceToStr(entInfo["phone"]))
 		}
+		//芝麻曝光日志存储
+		if labels := gconv.Maps(entInfo["zhimaLabels"]); len(labels) > 0 {
+			userIdFlag := userId
+			if userIdFlag == "" {
+				userIdFlag = qutil.ObjToString(this.GetSession("JYTrustedId"))
+			}
+			go entity.SaveZhiMaLog(map[string]interface{}{
+				"s_name":    entInfo["entName"],
+				"credit_no": entInfo["creditNo"],
+				"s_userId":  userIdFlag,
+				"l_date":    time.Now().Unix(),
+			})
+		}
 		return entInfo, nil
 	}()
 	if errMsg != nil {
@@ -318,6 +333,7 @@ func (this *EntPortrait) WinnerMiniPortrait() {
 				rData["status"] = entInfo["status"]
 				rData["type"] = entInfo["type"]
 				rData["companyName"] = entInfo["entName"]
+				rData["zhimaLabels"] = entInfo["zhimaLabels"]
 				entName := qutil.ObjToString(entInfo["entName"])
 				if entName != "" {
 					if contactList, err := cepm.GetContacts(entName, ContactEntTypeWinner); err == nil {
@@ -326,6 +342,19 @@ func (this *EntPortrait) WinnerMiniPortrait() {
 						rData["contactCount"] = 0
 					}
 				}
+				//芝麻曝光日志存储
+				if labels := gconv.Maps(entInfo["zhimaLabels"]); len(labels) > 0 {
+					userIdFlag := userId
+					if userIdFlag == "" {
+						userIdFlag = qutil.ObjToString(this.GetSession("JYTrustedId"))
+					}
+					go entity.SaveZhiMaLog(map[string]interface{}{
+						"s_name":    entInfo["entName"],
+						"credit_no": entInfo["creditNo"],
+						"s_userId":  userIdFlag,
+						"l_date":    time.Now().Unix(),
+					})
+				}
 			}
 			//项目动态数量
 			rData["biddingCount"] = cepm.GetWinnerNewCount(entId)

+ 21 - 0
src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go

@@ -33,6 +33,7 @@ type SubVipPortrait struct {
 	subVipWinnerNewMsg  xweb.Mapper `xweb:"/portrait/subVipPortrait/winnerNewMsg"`       //超级订阅升级版查看最新项目动态
 	winnerNewMsgExport  xweb.Mapper `xweb:"/portrait/subVipPortrait/winnerNewMsgExport"` //最新项目动态数据导出
 	subVipNewMsgSelects xweb.Mapper `xweb:"/portrait/subVipPortrait/selects"`            //最新招标信息可筛选项
+	strengthMark        xweb.Mapper `xweb:"/portrait/subVipPortrait/strengthMark"`       //芝麻实力标
 
 	buyerContacts     xweb.Mapper `xweb:"/subVipPortrait/buyer/contacts"`        //采购项目联系方式
 	buyerSelects      xweb.Mapper `xweb:"/subVipPortrait/buyer/selects"`         //采购单位画像可筛选项
@@ -81,6 +82,26 @@ func (this *SubVipPortrait) SubVipEntDetail() {
 	this.ServeJson(NewResult(rData, errMsg))
 }
 
+// StrengthMark 芝麻实力标
+func (this *SubVipPortrait) StrengthMark() {
+	userId := qutil.ObjToString(this.GetSession("userId"))
+	rData, errMsg := func() (interface{}, error) {
+		entId := util.DecodeId(this.GetString("entId"))
+		if entId == "" {
+			return nil, fmt.Errorf("参数异常")
+		}
+		entInfo, err := entity.GetStrengthMarks(entId)
+		if err != nil {
+			return nil, err
+		}
+		return entInfo, nil
+	}()
+	if errMsg != nil {
+		log.Printf("%s 企业画像-查询企业基本信息:%s\n", userId, errMsg.Error())
+	}
+	this.ServeJson(NewResult(rData, errMsg))
+}
+
 // SubVipWinnerNewMsg 超级订阅升级版查看最新中标动态
 func (this *SubVipPortrait) SubVipWinnerNewMsg() {
 	userId := qutil.ObjToString(this.GetSession("userId"))

+ 111 - 2
src/jfw/modules/publicapply/src/enterpriseSearch/entity/entQuery.go

@@ -31,6 +31,8 @@ type EnterpriseSearch struct {
 	PageNum  int  //页码
 	IsVip    bool //是否是会员
 	IsFree   bool //是否免费用户
+	//ZhiMa    map[string]interface{}
+	ZhiMa string
 }
 
 const (
@@ -40,7 +42,7 @@ const (
 	entSearchCacheKey = "entSearchIndexCache_%v"
 
 	index, itype  = "qyxy", "qyxy"
-	entQuery      = `{"query":{"bool":{"must":[%s],"must_not":[%s]}},"_source":["_id","company_name","company_status","legal_person","capital","company_address","company_shortname","company_phone","establish_date","nseo_id","currency"],"sort":[{"capital":{"order":"desc"}}]}`
+	entQuery      = `{"query":{"bool":{"must":[%s],"must_not":[%s]}},"_source":["_id","company_name","company_status","legal_person","capital","company_address","company_shortname","company_phone","establish_date","nseo_id","currency","zhima_labels"],"sort":[{"capital":{"order":"desc"}}]}`
 	entQueryCount = `{"query":{"bool":{"must":[%s],"must_not":[%s]}}}`
 )
 
@@ -116,6 +118,7 @@ func (es *EnterpriseSearch) Check() (*EnterpriseSearch, error) {
 	if es.EntContact != "" && !(es.EntContact == "1" || es.EntContact == "2" || es.EntContact == "3" || es.EntContact == "4") {
 		es.EntContact = ""
 	}
+
 	return es, nil
 }
 
@@ -130,7 +133,8 @@ func (es *EnterpriseSearch) isEmptySearch() bool {
 		es.Establish == "" &&
 		es.BiddingArea == "" &&
 		es.EntClass == "" &&
-		es.EntContact == "" {
+		es.EntContact == "" &&
+		es.ZhiMa == "" {
 		return true
 	}
 	return false
@@ -249,6 +253,111 @@ func (es *EnterpriseSearch) GetQuerySql() (string, string) {
 	if es.EntContact != "" && es.IsVip {
 		musts = append(musts, fmt.Sprintf(`{"term":{"bid_contracttype":"%s"}}`, es.EntContact))
 	}
+	//芝麻实力标
+	if es.ZhiMa != "" {
+		var (
+			thisQuery, topType, subType, names []string
+			//name存在数据
+			name1 = `{
+                    "bool": {
+                      "must": [
+                        {
+                          "term": {
+                            "zhima_labels.zhima_toptype": "%s"
+                          }
+                        },
+                        {
+                          "term": {
+                            "zhima_labels.zhima_subtype": "%s"
+                          }
+                        },
+                        {
+                          "terms": {
+                            "zhima_labels.zhima_name": ["%s"]
+                          }
+                        }
+                      ]
+                    }
+                  }`
+			//部分name存在 部分不存在name 数据时
+			name2 = `{
+                    "bool": {
+                      "must": [
+                        {
+                          "term": {
+                            "zhima_labels.zhima_toptype": "%s"
+                          }
+                        },
+                        {
+                          "term": {
+                            "zhima_labels.zhima_subtype": "%s"
+                          }
+                        }
+                      ]
+                    }
+                  }`
+			//name不存在数据
+			name3 = `{
+                    "bool": {
+                      "must": [
+                        {
+                          "term": {
+                            "zhima_labels.zhima_toptype": "%s"
+                          }
+                        },
+                        {
+                          "terms": {
+                            "zhima_labels.zhima_subtype": ["%s"]
+                          }
+                        }
+                      ]
+                    }
+                  }`
+			//sub不存在数据
+			name4 = `{"terms":{"zhima_labels.zhima_toptype":["%s"]}}`
+		)
+		zhiMaMap := qutil.ObjToMap(es.ZhiMa)
+		for s, i := range *zhiMaMap {
+			iMap := qutil.StructToMapMore(i)
+			if iMap != nil && len(iMap) > 0 {
+				var (
+					isSub     bool
+					isSubType []string
+					sbt       []string
+				)
+				for s2, i2 := range iMap {
+					strName, _ := i2.([]interface{})
+					if strName != nil && len(strName) > 0 {
+						isSub = true
+						name := qutil.ObjArrToStringArr(strName)
+						names = append(names, fmt.Sprintf(name1, s, s2, strings.Join(name, `","`)))
+					} else {
+						sbt = append(sbt, s2)
+						isSubType = append(isSubType, fmt.Sprintf(name2, s, s2))
+					}
+				}
+				if !isSub { //校验是否name下数据
+					subType = append(subType, fmt.Sprintf(name3, s, strings.Join(sbt, `","`)))
+				} else {
+					subType = append(subType, isSubType...)
+				}
+			} else {
+				topType = append(topType, fmt.Sprintf(name4, s))
+			}
+		}
+		if topType != nil {
+			thisQuery = append(thisQuery, topType...)
+		}
+		if subType != nil {
+			thisQuery = append(thisQuery, subType...)
+			//thisQuery = append(thisQuery, fmt.Sprintf(`{"terms":{"zhima_labels.zhima_subtype":["%s"]}}`, strings.Join(subType, `","`)))
+		}
+		if names != nil {
+			thisQuery = append(thisQuery, names...)
+			//thisQuery = append(thisQuery, fmt.Sprintf(`{"terms":{"zhima_labels.zhima_name":["%s"]}}`, strings.Join(names, `","`)))
+		}
+		musts = append(musts, fmt.Sprintf(`{"nested":{"path":"zhima_labels","query": {"bool":{"should":[%s],"minimum_should_match": 1}}}}`, strings.Join(thisQuery, ",")))
+	}
 	return fmt.Sprintf(entQueryCount, strings.Join(musts, ","), ""), fmt.Sprintf(entQuery, strings.Join(musts, ","), "")
 }
 

+ 16 - 1
src/jfw/modules/publicapply/src/enterpriseSearch/service/search.go

@@ -1,6 +1,8 @@
 package service
 
 import (
+	"github.com/gogf/gf/v2/frame/g"
+	"github.com/gogf/gf/v2/os/gctx"
 	"jy/src/jfw/modules/publicapply/src/config"
 	"jy/src/jfw/modules/publicapply/src/consts"
 	"jy/src/jfw/modules/publicapply/src/enterpriseSearch/entity"
@@ -15,12 +17,14 @@ import (
 
 type EnterpriseSearchAction struct {
 	*xweb.Action
-	doEntSearch xweb.Mapper `xweb:"/enterpriseSearch/doQuery"` //企业搜索
+	doEntSearch xweb.Mapper `xweb:"/enterpriseSearch/doQuery"`     //企业搜索
+	zhiMaFilter xweb.Mapper `xweb:"/enterpriseSearch/zhiMaFilter"` //企业搜索芝麻筛选项
 }
 
 // DoEntSearch 企业搜索
 func (esa *EnterpriseSearchAction) DoEntSearch() {
 	userId, _ := esa.GetSession("userId").(string)
+	zhiMa := esa.GetString("zhiMa")
 	rData, errMsg := func() (interface{}, error) {
 		entSearch, err := (&entity.EnterpriseSearch{
 			Match:       esa.GetString("match"),
@@ -36,6 +40,7 @@ func (esa *EnterpriseSearchAction) DoEntSearch() {
 			EntContact:  esa.GetString("entContact"),
 			PageSize:    qutil.IntAll(esa.GetString("pageSize")),
 			PageNum:     qutil.IntAll(esa.GetString("pageNum")),
+			ZhiMa:       zhiMa,
 		}).Check()
 		if err != nil {
 			return nil, err
@@ -46,6 +51,10 @@ func (esa *EnterpriseSearchAction) DoEntSearch() {
 		if vipData.Status > 0 || vipData.VipStatus > 0 {
 			entSearch.IsVip = true
 		}
+		//免费用户 无搜索权益
+		if vipData.Data != nil && vipData.Data.Free != nil && vipData.Data.Free.IsFree {
+			entSearch.ZhiMa = ""
+		}
 		// 存搜索记录
 		if entSearch.Match != "" && userId != "" {
 			util.SaveHistory(entSearch.Match, userId, consts.HistoryRedisKeyMap[consts.TypeEntSearch])
@@ -68,3 +77,9 @@ func (esa *EnterpriseSearchAction) DoEntSearch() {
 	}
 	esa.ServeJson(NewResult(rData, errMsg))
 }
+
+func (esa *EnterpriseSearchAction) ZhiMaFilter() {
+	filterArr := g.Cfg("zhima.yaml").MustGet(gctx.New(), "zhiMaFilter").Array()
+	esa.ServeJson(NewResult(filterArr, nil))
+
+}

+ 696 - 0
src/jfw/modules/publicapply/src/zhima.yaml

@@ -0,0 +1,696 @@
+zhiMaFilter:
+  - name: 企业实力
+    children:
+      - name: 合作关系
+        children:
+          - 知名品牌供应商
+          - 上市企业供应商
+          - 央企供应商
+          - 国企供应商
+          - 政府供应商
+          - 互联网大厂服务商
+          - 第19届亚运会官方合作伙伴
+          - 第19届亚运会官方赞助商
+          - 院校供应商
+      - name: 技术能力
+        children:
+          - 战略性新兴领域创新能力
+          - 拥有节能环保技术
+      - name: 企业发展
+        children:
+          - 多产业布局
+          - 国家级政府引导基金投资
+          - 省级政府引导基金投资
+          - 市县级政府引导基金投资
+          - 融资状态
+          - 对外投资
+          - 知名机构投资
+          - 绝对控股公司数
+          - 获得融资
+          - 融资轮次
+          - 定向增发融资
+      - name: 经营能力
+        children:
+          - 经营年限全国同行靠前_百分比
+          - 经营年限全省同行靠前_百分比
+          - 经营年限全市同行靠前_百分比
+          - 经营时长
+          - 营收能力
+          - 履约情况
+          - 全国多家直营店
+          - 全省多家直营店
+          - 全市多家直营店
+          - 连锁直营店
+          - 实力纳税商家
+          - 跨境电商卖家
+          - 年度公开项目中标
+      - name: 企业性质
+        children:
+          - 央企
+          - 国有企业
+          - 外商投资企业
+          - 港澳台投资企业
+          - 上市企业子公司
+          - 集团成员
+          - 集团核心成员
+          - 事业单位
+          - 发债企业
+          - 新三板挂牌
+          - 港股上市
+          - 央企子公司
+          - A股上市
+      - name: 管理能力
+        children:
+          - 权威管理体系认证
+      - name: 品牌产品
+        children:
+          - 权威产品认证
+      - name: 企业规模
+        children:
+          - 人员规模
+          - 注册资本
+          - 企业估值
+          - 企业性质
+          - 所属集团
+      - name: 行业景气
+        children:
+          - 行业景气
+      - name: 销售能力
+        children:
+          - 年度网络销量靠前_百分比
+          - 季度网络销量靠前_百分比
+          - 月度网络销量靠前_百分比
+          - 年度网络销量靠前
+          - 季度网络销量靠前
+          - 月度网络销量靠前
+          - 年度网络销量同比高速增长
+          - 连续年限网络销量高速增长
+          - 年度网络销量同比增长
+          - 连续年限网络销量增长
+          - 年度网络销量同比稳定
+          - 连续年限网络销量稳定
+          - 连续月份网络销量增长
+          - 新媒体营销红人
+          - 新媒体营销达人
+          - 新媒体活跃企业
+          - 新媒体活跃商家
+          - 年度营业收入
+          - 年度营收同比高速增长
+          - 年度营收同比增长_个体
+          - 年度营收稳定_个体
+          - 连续年限营收极速增长_个体
+          - 连续年限营收增长_个体
+          - 连续年限营收稳定_个体
+          - 年度营收同行靠前_百分比_个体
+          - 连续年限营收极速增长
+          - 连续年限营收增长
+          - 连续年限营收稳定
+          - 年度营收稳定
+          - 年度营收同比增长
+          - 年度营收同比高速增长
+          - 年度营收同行靠前_百分比
+          - 全渠道销量TOP排名
+      - name: 基本信息
+        children:
+          - 企业四级行业
+          - 一般纳税人
+      - name: 企业主实力
+        children:
+          - 连续创业者
+          - 连续创业达人
+          - 行业深耕者
+      - name: 平台认证
+        children:
+          - 1688超级工厂
+          - 1688实力商家
+          - 1688诚信通商家
+  - name: 信用评价
+    children:
+      - name: 商业信用
+        children:
+          - 芝麻企业信用等级连续情况
+          - 芝麻企业信用等级
+          - 企业信用等级_个体
+          - 企业信用等级
+      - name: 公共信用
+        children:
+          - A级纳税人
+          - A级纳税人连续年限
+          - 海关高级认证
+          - 中小企协信用AAA级
+          - 水利建设信用AAA级
+          - 水利建设信用AA级
+          - 水利建设信用A级
+          - 守合同重信用企业
+          - 守信典型企业
+          - 劳动保障诚信A级
+          - 环境信用评价A级
+          - 环境信用评价B级
+  - name: 社会价值
+    children:
+      - name: 政府认定
+        children:
+          - 高新技术企业
+          - 小巨人企业
+          - 国家级技术创新示范企业
+          - 众创空间
+          - 国家级科技企业孵化器
+          - 瞪羚企业
+          - 科技型中小企业
+          - 制造业单项冠军示范企业
+          - 制造业单项冠军产品生产企业
+          - 制造业单项冠军培育企业
+          - 农业产业化国家重点龙头企业
+          - 国家水产健康养殖示范场
+          - 国家企业技术中心
+          - 国家现代农业科技示范展示基地
+          - 国家知识产权示范企业
+          - 国家知识产权优势企业
+          - 中华老字号
+          - 全国和谐劳动关系示范企业
+          - 专精特新企业
+          - 省级技术创新示范企业
+          - 技术先进型服务企业
+          - 省级工业企业研发机构
+          - 农业产业化省级重点龙头企业
+          - 省级企业技术中心
+          - 省级工程技术研究中心
+          - 省级博士后创新实践基地
+          - 双软认证企业
+          - 创新型中小企业
+          - 国家级非遗保护示范企业
+          - 国家地理标志企业
+          - 杭州市2023年放心消费单位
+          - 杭州市2023年放心消费工厂
+          - 杭州市2024年放心消费单位
+      - name: 机构评选
+        children:
+          - 中国跨国公司100强
+          - CCFA中国时尚零售百强
+          - 中国竹产业品牌企业十强
+          - 中国纺织服装品牌竞争力优势企业
+          - 广东上市公司高价值商标品牌
+          - “青岛林品”十佳品牌
+          - “好品山东”品牌
+          - 广州市消费知名品牌TOP20
+          - 广州市新晋科技品牌TOP20
+          - 广州市网络人气品牌TOP20
+          - 广州市行业引领品牌TOP20
+          - 广州市老字号新活力及驰名商标品牌TOP20
+          - 福布斯中国·年度最具数字责任雇主
+          - 福布斯中国·年度最具可持续发展力雇主
+          - 福布斯全球最佳雇主
+          - 福布斯中国·年度最佳雇主
+          - 胡润中国500强
+          - 世界500强企业
+          - 胡润中国最具历史文化底蕴品牌
+          - 欧赛斯·胡润百亿潜力品牌
+          - 胡润中国珠宝品牌
+          - 中国最佳健康雇主活力团队奖
+          - 中国最佳健康雇主HR赋能奖
+          - 中国最佳健康雇主创新项目奖
+          - 中国十佳健康雇主
+          - 中国最佳健康雇主ESG贡献奖
+          - 中国最佳雇主·雇主之星
+          - 中国最佳雇主
+          - CGMA最佳合作雇主大奖
+          - 中国杰出雇主
+          - Asiabrand亚洲品牌500强
+          - 中国最佳品牌
+          - 全球品牌价值500强
+          - Brand Finance中国品牌价值500强
+          - 中国杰出品牌TOP50
+          - 广东品牌价值100强
+          - 房地产开发企业品牌价值央企10强
+          - 房地产优秀品牌项目
+          - 房地产开发企业品牌价值华南10强
+          - 房地产优选供应商技术创新力品牌5强
+          - 房地产优选供应商环保贡献力品牌5强
+          - 房地产开发企业品牌价值50强
+          - 房地产开发企业品牌价值西南10强
+          - 房地产开发企业品牌价值成长性10强
+          - 房地产开发企业品牌价值华东10强
+          - 房地产开发企业品牌价值华北10强
+          - 房地产优选供应商渠道管理力品牌5强
+          - 房地产开发企业品牌价值华中10强
+          - 房地产优选供应商营销增值力品牌5强
+          - 房地产开发企业品牌价值西北10强
+          - 房地产开发企业品牌价值东北10强
+          - 中国创新品牌500强
+          - 房地产品牌价值卓越企业
+          - 全球最佳品牌
+          - 全球高档和奢侈品牌价值50强
+          - 亚洲品牌500强
+          - 中国户外帐篷品牌Top20
+          - 全球物流品牌价值25强
+          - 中国科技创新品牌500强
+          - GYbrand世界品牌500强
+          - 中国品牌电商服务商Top15
+          - 中国最具价值品牌500强
+          - 全球科技品牌价值100强
+          - 广州最具价值品牌100强
+          - 澳大利亚品牌价值100强
+          - 中国中式快餐十大品牌
+          - 中国火锅品牌15强
+          - 中国火锅十大品牌
+          - 中国新式茶饮品牌15强
+          - 全球软饮料品牌价值25强
+          - 全球食品品牌价值100强
+          - 全球最具价值烈酒品牌50强
+          - 中国户外电源品牌TOP20
+          - 最具竞争力人力资源服务品牌50强
+          - 中国新锐咖啡品牌15强
+          - 中国新国货品牌百强
+          - 中国咖啡连锁品牌15强
+          - 中国连锁品牌百强
+          - 中国湿厕纸品牌15强
+          - 中国意面品牌10强
+          - 全球涂料品牌价值10强
+          - 中国茶叶企业产品品牌价值20强
+          - 中国西式快餐十大品牌
+          - 中国茶饮十大品牌
+          - 中国咖啡十大品牌
+          - 中国特色茶饮十大品牌
+          - 中国烘焙十大品牌
+          - 中国烤肉十大品牌
+          - 中国饺子馄饨十大品牌
+          - 中国小龙虾十大品牌
+          - 中国烤鱼十大品牌
+          - 中国特色火锅十大品牌
+          - 中国中式快餐品牌15强
+          - 中国酸菜鱼十大品牌
+          - 中国特色小吃十大品牌
+          - 中国比萨十大品牌
+          - 中国烧烤十大品牌
+          - 中国日料十大品牌
+          - 中国卤味十大品牌
+          - 中国轻食十大品牌
+          - 中国包点十大品牌
+          - 中国米粉十大品牌
+          - 中国面馆十大品牌
+          - 全球化工品牌25强
+          - 中国自热米饭品牌20强
+          - 中国露营灯品牌20强
+          - 中国按摩椅品牌TOP15
+          - 全球油气公司品牌价值50强
+          - 全球媒体品牌价值50强
+          - 全球最有价值制药品牌25强
+          - 中国国产面霜品牌Top15
+          - 中国国产香水品牌Top15
+          - 中国国产粉底液品牌Top15
+          - 全球化妆品和个人护理品牌价值50强
+          - 上半年中国智能手表品牌Top15
+          - 全球零售品牌价值100强
+          - 中国扫地机器人品牌Top15
+          - 中国消毒洗手液品牌Top15
+          - 全球最有价值50强服饰品牌
+          - 全球电子家电品牌价值50强
+          - 全球餐饮品牌价值25强
+          - 全球房地产服务品牌价值25强
+          - 全球半导体品牌价值20强
+          - 房地产企业雇主价值50强
+          - 中国消费品牌500强
+          - 中国品牌价值100强
+          - 凯度BrandZ最具价值中国品牌100强
+          - 中国大学生爱用的品牌Top500入围
+          - 中国大学生爱用的吃&喝品牌TOP500入围
+          - 中国大学生爱用的玩&乐品牌TOP500入围
+          - 中国大学生爱用的健&学品牌TOP500入围
+          - 中国大学生爱用的品牌Top500入围
+          - 向上品牌100强
+          - 财经风云榜·品牌卓越企业
+          - 中国IC风云榜·品牌创新奖
+          - 河南环保产业十大品牌
+          - 最具影响力智慧医疗品牌TOP50
+          - 最具影响力医药企业品牌TOP50
+          - 最具影响力医健产服品牌TOP50
+          - 最佳信用卡品牌影响力奖
+          - 最具影响力IVO企业品牌TOP50
+          - 安防优质工程商
+          - 十大智能锁品牌
+          - 十大物联网科技创新奖
+          - 十大半导体杰出品牌
+          - 十大出入口控制品牌
+          - 十大物联网最具成长力企业
+          - 十大系统集成商
+          - 十大AI解决方案奖
+          - 十大安防品牌
+          - 十大电子元件杰出品牌
+          - 十大智慧社区品牌
+          - 十大智能家居品牌
+          - 十大电子分销商
+          - 十大物联网解决方案奖
+          - 中国公益品牌榜公益项目公益机构类十强
+          - 中国公益品牌榜公益项目企业类十强
+          - 龙江质量品牌优秀民营企业50强
+          - 企业志愿服务品牌
+          - 中国食品饮料业上市公司品牌价值TOP50
+          - 中国物业服务华北品牌企业30强
+          - 中国物业服务西南品牌企业30强
+          - 中国服务品牌100强
+          - 中国物业服务西北品牌企业20强
+          - 中国物业服务品牌特色企业
+          - 中国物业服务华中品牌企业30强
+          - 中国物业服务企业品牌价值100强
+          - 中国物业服务华南品牌企业30强
+          - 中国物业服务华东品牌企业30强
+          - 中国物业服务东北品牌企业20强
+          - 十佳LED显示屏周边设备品牌30强
+          - 十佳LED小间距显示屏品牌30强
+          - 十佳LED显示屏行业知名品牌30强
+          - 最佳渠道建设品牌30强
+          - 最佳成长性品牌30强
+          - 十佳LED显示屏供应链品牌30强
+          - 十佳LED柔性显示及透明显示应用屏品牌30强
+          - 十佳LED超高清显示及新型显示应用屏品牌30强
+          - 十佳LED显示屏应用工程30强
+          - 最具价值品牌30强
+          - 最佳创新性品牌30强
+          - 最佳投资性品牌30强
+          - 十佳LED舞美创意及租赁屏品牌30强
+          - 中国酒业上市公司品牌价值30强
+          - 中国十大智能浴室镜品牌
+          - 工业互联网平台品牌十强
+          - 中国食品加工制造业价值品牌
+          - 中国零售业价值品牌
+          - 中国汽车及配件价值品牌
+          - 中国农业价值品牌
+          - 中国冶金有色业价值品牌
+          - 中国能源化工业价值品牌
+          - 中国电子电气业价值品牌
+          - 中国机械设备制造业价值品牌
+          - 中国轻工业价值品牌
+          - 中国中华老字号价值品牌
+          - 中国交通运输业价值品牌
+          - 中国产品品牌价值企业
+          - 中国建筑建材业价值品牌
+          - 中国医药健康业价值品牌
+          - 中国金融保险业价值品牌
+          - 中国纺织服装鞋帽业价值品牌
+          - 中国自主创新价值品牌
+          - 中国商用家具领军品牌
+          - 工字电感十大品牌
+          - 中国高端定制商用家具十大品牌
+          - 中国内衣连锁品牌TOP20
+          - 抖音电商年度长效经营品牌服务商
+          - 抖音电商年度营销力品牌服务商
+          - 中国商用家具十大品牌
+          - 抖音电商年度内容力品牌服务商
+          - 中国医药基层终端品牌
+          - 中国医药零售终端品牌
+          - 中国医药医院终端品牌
+          - 湖南钢铁流通推荐钢厂品牌
+          - 校服十大品牌
+          - 装饰纸行业十大品牌
+          - 涂料助剂行业十大品牌
+          - 硅酸钙板行业十大品牌
+          - 防水行业影响力品牌
+          - 防水卷材影响力品牌网络投票前20强品牌
+          - 家装防水影响力品牌网络投票前20强品牌
+          - 防水涂料影响力品牌网络投票前20强品牌
+          - 美缝剂影响力品牌网络投票前20强品牌
+          - 瓷砖胶影响力品牌网络投票前20强品牌
+          - 防水行业影响力品牌
+          - 防水材料创新解决方案网络投票前20强品牌
+          - 中国豆制品行业品牌企业50强
+          - 中国房地产供应商厨房电器类品牌TOP10
+          - 中国房地产供应商卫浴洁具类品牌TOP10
+          - 中国房地产供应商防水材料类品牌TOP10
+          - 中国房地产供应商定制家居类品牌TOP10
+          - 中国房地产供应商精装修工程类品牌TOP10
+          - 中国房地产供应商建筑涂料类品牌TOP10
+          - 中国房地产供应商空调设备类品牌TOP10
+          - 中国房地产供应商建筑陶瓷类品牌TOP10
+          - 中国房地产供应商电梯类品牌TOP10
+          - 中国房地产供应商地板类品牌TOP10
+          - 钢铁行业全球影响力品牌
+          - 中国优秀钢铁企业品牌
+          - 中国卓越钢铁企业品牌
+          - 箱式变电站十大品牌
+          - 中国智能阀门行业十大品牌
+          - 中国供暖行业民族品牌100强
+          - 深圳知名品牌
+          - 腻子粉十大品牌
+          - “曙光杯”光伏组件品牌知名度十强
+          - “曙光杯”光伏逆变器品牌知名度十强
+          - “曙光杯”光伏投资商品牌知名度十强
+          - 东方力量品牌力优秀企业
+          - 光伏行业创新力企业50强
+          - 最受喜爱广东商标品牌T50
+          - 光伏行业最具创新力品牌服务商50强
+          - EqualOcean中国全球化品牌100强
+          - MeetBrands中国出海品牌价值50强
+          - 中国生命科学服务企业品牌100强
+          - 品牌观察榜·产品创新探索品牌
+          - 品牌观察榜·未来科技探索品牌
+          - 品牌观察榜·创新商业价值品牌
+          - 生态品牌认证
+          - 域见超新星新锐品牌·行业新星品牌
+          - 域见超新星新锐品牌·年度品牌
+          - 新国货CoolTop100品牌
+          - 品牌联盟中国品牌500强
+          - 中国内衣连锁品牌好评TOP10
+          - 品牌联盟世界品牌500强
+          - 凯度BrandZ中国全球化品牌成长明星
+          - 凯度BrandZ中国全球化品牌50强
+          - 中国科技创新品牌创新品牌TOP10
+          - 中国科技创新品牌元宇宙品牌TOP10
+          - 凯度BrandZ最具价值全球品牌100强
+          - 中国西部高成长性连锁品牌
+          - 最受网友喜爱的品牌TOP20
+          - 安心置业品牌
+          - 大红酸枝家具热门品牌
+          - 黄花梨家具热门品牌
+          - 全球十大汽车涂料品牌
+          - 自动化+数字化年度50强品牌
+          - 金鼎奖·年度最具影响力锂电设备品牌
+          - 成都电商企业年度新锐品牌奖
+          - 中国光伏百强品牌
+          - 中国最具价值服饰品牌
+          - 中国最具价值生活方式品牌
+          - 中国市场最具影响力体育品牌100强
+          - 国际未来品牌农业TOP20
+          - 上海网购新品牌TOP50
+          - 涂界全球建筑装饰涂料品牌20强
+          - HRflag中国人力资源服务品牌100强
+          - 中国商用空气能十大品牌
+          - 中国最具价值饮料品牌
+          - 中国最具价值宠物品牌
+          - 中国最具价值美妆个护品牌
+          - 中国最具价值时尚潮玩品牌
+          - 中国最具价值餐饮品牌
+          - 中国科技创新品牌机器人品牌TOP10
+          - 中国科技创新品牌新能源汽车品牌TOP10
+          - 快消生鲜新消费品牌未来价值企业
+          - 中国科技创新品牌无人驾驶品牌TOP10
+          - 中国科技创新品牌人工智能品牌TOP10
+          - 中国科技创新品牌消费科技品牌TOP10
+          - 中国科技创新品牌芯片以及传感器品牌TOP10
+          - 高潜力消费品牌
+          - 中国卫浴品牌影响力50强
+          - 中国科技创新品牌数字智能品牌TOP10
+          - 高成长消费品牌
+          - 中国科技创新品牌先进制造品牌TOP10
+          - 全球电梯十大品牌
+          - 消费金融最佳品牌TOP20
+          - 康复机器人十大品牌
+          - 中国家具漆品牌25强
+          - 智驾出行引领品牌
+          - 双碳科技践行品牌
+          - 中国工程建筑涂料品牌25强
+          - 中国工业涂料品牌25强
+          - 中国建筑涂料品牌TOP25
+          - 金漆奖杰出水性涂料品牌
+          - 金漆奖杰出工程涂料品牌
+          - 金漆奖杰出仿石涂料品牌
+          - 金漆奖杰出工业涂料品牌
+          - 金漆奖杰出艺术涂料品牌
+          - 金漆奖杰出防水涂料品牌
+          - 金漆奖杰出家具涂料品牌
+          - 金漆奖杰出内墙涂料品牌
+          - 品牌数字藏品影响力企业
+          - 中国人力资源科技创新品牌20强
+          - 中国家居综合实力100强品牌
+          - 中国物业服务企业品牌力100强
+          - 中国新式茶饮品牌TOP30
+          - 中国印刷互联网品牌20强
+          - 家居绿色环保领跑品牌
+          - 中国水产行业百强品牌
+          - 新能源汽车品牌竞争力TOP10
+          - 中国涉农企业品牌影响力TOP50
+          - 中品榜板材十大品牌
+          - 中品榜生态板十大品牌
+          - 中品榜家具板十大品牌
+          - 中国涂料品牌潜力TOP50
+          - 全球智能眼镜品牌50强
+          - 项链十大品牌
+          - 最具影响力医健器械企业品牌TOP50
+          - 中国服务业价值品牌
+          - 茶业综合影响力品牌
+          - 茶业市场竞争力品牌
+          - 预制菜品牌TOP50
+          - 中国最受欢迎新春糖果礼盒品牌10强
+          - 中国最受欢迎新春肉类零食礼盒品牌10强
+          - 中国十大美味品牌TOP10
+          - 中国最受欢迎新春糕点礼盒品牌10强
+          - 中国糖酒食品行业年度品牌
+          - 中国预制菜品牌百强
+          - 中华餐饮创新品牌TOP100
+          - 国际未来农业食品百强
+          - 中国餐饮金饕奖预制菜企业TOP50
+          - 预制菜上市企业营收五十强
+          - 国际未来农业食品·新蛋白Top20
+          - 水肌因·胡润中国食品行业百强
+          - 中国餐饮产业红牛奖·预制菜领军企业
+          - 国际未来农业食品·农食供应链Top20
+          - 国际未来农业食品·年度领袖企业
+          - 中国餐饮产业红牛奖·餐饮产业服务集团TOP10
+          - 中国餐饮产业红牛奖·餐饮食材供应链企业TOP10
+          - 国际未来农业食品·食品创新Top20
+          - 中国餐饮产业红牛奖·餐饮定制复合调味料企业TOP10
+          - 国际未来农业食品·预制菜Top20
+          - 中国餐饮产业红牛奖·现制饮品供应链企业TOP10
+          - 中国餐饮产业红牛奖·生态型餐饮企业TOP10
+          - 中国农业企业行业·食品企业20强
+          - 清香型白酒企业TOP10
+          - 茶业百强企业
+          - 云南省绿色食品10强企业
+          - 中国食品饮料百强
+          - 云南省绿色食品20佳创新企业
+          - 中国农业企业行业·饮料和酒类企业20强
+          - 全球食品饮料100强
+          - 中国饮品创新产品TOP30
+          - 全球乳业20强
+          - 云南省花卉咖啡类10大名品
+          - 云南省茶叶类10大名品
+          - 中国酒业金盛奖·中国酒业最具投资价值企业
+          - 四川省原酒生产企业20强
+          - 茶业科技创新企业
+          - 茶业践行社会责任企业
+          - 茶业绿色创新企业
+          - 茶业流通创新企业
+          - 中国饮料企业30强
+          - 观山湖区餐饮行业民营企业10强
+          - 观山湖区食品行业民营企业10强
+          - 全球糖果百强
+          - 河南预制莱最具竞争力供应链企业
+          - 中国餐饮供应链TOP50
+          - 中国酒业生产企业百强
+          - 中国酒业流通企业百强
+          - 中国乳制品企业30强
+          - 中国火锅百强
+          - 烘焙门店百强
+          - 胡润中国预制菜生产企业百强
+          - 中国酒类企业30强
+          - 中国餐饮供应链100强
+          - 河南预制菜创新企业
+      - name: 品牌产品
+        children:
+          - 拥有自主品牌
+          - 拥有连锁品牌
+          - 旗下品牌同行靠前
+      - name: 技术能力
+        children:
+          - 拥有发明专利
+          - 拥有高价值专利
+          - 拥有国际专利
+          - 年度专利申请量同比增长
+          - 连续年限专利申请量增长
+          - 年度专利申请量同比高速增长
+          - 连续年限专利申请量极速增长
+          - 年度专利授权量同比增长
+          - 连续年限专利授权量增长
+          - 年度专利授权量同比高速增长
+          - 连续年限专利授权量极速增长
+          - 专利申请量同领域靠前
+          - 专利申请量同领域靠前_百分比
+          - 专利授权量同领域靠前
+          - 专利授权量同领域靠前_百分比
+          - 技术布局行业领先
+          - 技术布局优于同行
+          - 拥有绿色低碳技术
+          - 拥有专利
+          - 拥有工艺创新能力
+      - name: 社会责任
+        children:
+          - 残疾人就业贡献
+          - 拥有绿色资质
+      - name: 作品成果
+        children:
+          - 拥有作品
+          - 作品创作量位于同行业TOP
+          - 作品创作量位于同行业TOP数
+          - 年度作品创作量极速增长
+          - 作品创作量极速增长连续年
+          - 年度作品创作量增长
+          - 作品创作量增长连续年
+          - 作品创作量增长连续月
+          - 拥有软件著作权
+          - 软件研发量位于同行业TOP
+          - 年度软件研发量极速增长
+          - 软件研发量极速增长连续年
+          - 年度软件研发量增长
+          - 软件研发量增长连续年
+          - 软件研发量增长连续月
+          - 软件研发量位于同行业TOP数
+  - name: 社会影响力
+    children:
+      - name: 企业认定
+        children:
+          - 荣誉资质数
+      - name: 数智创新力
+        children:
+          - 专利数
+          - 资质证书
+          - 拥有商标
+          - 著作权
+      - name: 社会责任
+        children:
+          - ESG资质数
+          - 残疾人就业贡献
+  - name: 联合评价
+    children:
+      - name: 雇主评价
+        children:
+          - 靠谱投_非授权企业
+      - name: 智联联合五力评价
+        children:
+          - 社会影响力总分
+          - 企业实力增强分
+          - 社会影响力高于同行均值
+          - 企业实力高于同行均值
+          - 雇主诚信高于同行均值
+      - name: 企业实力
+        children:
+          - 企业实力基础分
+          - 企业实力是否可涨分
+          - 企业实力总分
+          - 企业实力总分同行业平均值
+          - 企业实力增加分
+      - name: 信用评价
+        children:
+          - 信用评价基础分
+          - 信用评价是否可涨分
+          - 信用评价增加分
+          - 信用评价总分
+          - 信用评价总分同行业平均值
+      - name: 发展潜力
+        children:
+          - 发展潜力基础分
+          - 发展潜力是否可涨分
+          - 发展潜力力增加分
+          - 发展潜力总分
+          - 发展潜力总分同行业平均值
+  - name: 雇主诚信
+    children:
+      - name: 企业信用
+        children:
+          - 安全风险扫描
+      - name: 劳动保障
+        children:
+          - 劳动保障守法诚信
+          - 企业社保缴纳
+          - 重大劳动纠纷
+      - name: 劳动安全
+        children:
+          - 严重劳动安全事故

+ 70 - 3
src/web/staticres/big-member/weixin/css/ent_portrait.css

@@ -57,10 +57,10 @@
     z-index: 2;
 }
 .tabs-list {
-    padding: 0 8px;
+  padding: .08rem .32rem .24rem;
 }
 .tabs-container .tabs-item {
-    margin-bottom: .24rem;
+    margin-bottom: .16rem;
 }
 
 .tabs-list .tabs-item,
@@ -99,7 +99,7 @@
     align-items: center;
 }
 .van-tab__pane {
-    margin-top: .24rem;
+    margin-top: .12rem;
 }
 
 .van-tabs__nav--line {
@@ -613,4 +613,71 @@
   margin: .24rem .32rem;
   background: linear-gradient(rgba(234, 248, 250, 1), rgba(234, 248, 250, 0));
   border-radius: 8px;
+}
+.sesame-container{
+  padding: .24rem .32rem;
+  background: linear-gradient(#E3FCFF, #ffffff);
+}
+.sesame-container .sesame-header{
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+}
+.sesame-container .sesame-header .sesame-title{
+  font-size: .28rem;
+  line-height: .4rem;
+  color: #171826;
+}
+.sesame-container .sesame-header > span{
+  display: flex;
+  align-items: center;
+  font-size: .22rem;
+  line-height: .32rem;
+  color: #5F5E64;
+}
+.sesame-container .sesame-header .sesame-logo{
+  width: 1.44rem;
+  margin: 0 .08rem;
+}
+.sesame-container .sesame-main{
+  padding: .24rem 0 .08rem;
+  height: .82rem;
+  transition: height 0.5s ease-out;
+  overflow: hidden;
+}
+.sesame-container .sesame-main .sesame-item{
+  display: inline-flex;
+  align-items: center;
+  margin-right: .16rem;
+  margin-bottom: .16rem;
+  padding: .04rem .08rem;
+  font-size: .22rem;
+  line-height: .32rem;
+  color: #5F5E64;
+  border-radius: .08rem;
+  background: #fff;
+  border: 1px solid rgba(0, 0, 0, 0.1);
+  box-sizing: border-box;
+}
+.sesame-container .sesame-main .sesame-item-icon{
+  width: .32rem;
+  height: .32rem;
+  margin-right: .04rem;
+}
+.sesame-container .sesame-more{
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  text-align: center;
+  color: #5F5E64;
+}
+.sesame-container .sesame-more .drop-down-img{
+  width: .32rem;
+  height: .32rem;
+}
+.sesame-container .sesame-more .drop-down-img.rotate180{
+  transform: rotate(180deg);
+}
+.sesame-container .sesame-main.expanded {
+  height: auto!important;
 }

BIN
src/web/staticres/common-module/big-member/image/drop-down.png


BIN
src/web/staticres/common-module/big-member/image/guzhuchengxin.png


BIN
src/web/staticres/common-module/big-member/image/lianhepingjia.png


BIN
src/web/staticres/common-module/big-member/image/qiyeshili.png


BIN
src/web/staticres/common-module/big-member/image/shehuijiazhi.png


BIN
src/web/staticres/common-module/big-member/image/shehuiyingxiangli.png


BIN
src/web/staticres/common-module/big-member/image/xinyongpingjia.png


BIN
src/web/staticres/common-module/big-member/image/zhima-logo.png


+ 25 - 1
src/web/staticres/common-module/collection/js/ent_portrait.js

@@ -191,7 +191,9 @@ var vNode = {
       isLogin: true,
       // 是否是免费用户
       isFree: false,
-      balance:0
+      balance:0,
+      moreSesame: false,
+      isOneRow: false
     }
   },
   created: function () {
@@ -752,6 +754,11 @@ var vNode = {
               for (var key in res.data) {
                 _this.entBaseInfo[key] = res.data[key]
               }
+              if(res.data.zhimaLabels) {
+                setTimeout(function() {
+                  _this.checkIsOneRow()
+                }, 500)
+              }
             }
           } else {
             // 不显示提示信息
@@ -1571,6 +1578,23 @@ var vNode = {
       } else if (type === 'buy') {
         location.href = '/jy_mobile/common/order/create/svip?type=buy'
       }
+    },
+    checkIsOneRow: function() {
+      var container = document.querySelector('.sesame-main');
+      if(!container) return
+      var items = container.getElementsByClassName('sesame-item');
+  
+      // 获取所有子元素的top值,如果所有子元素的top值相同,则说明只有一行
+      var firstItemTop = items[0].offsetTop;
+      var isOneRow = true;
+  
+      for (var i = 1; i < items.length; i++) {
+        if (items[i].offsetTop !== firstItemTop) {
+          isOneRow = false;
+          break;
+        }
+      }
+      this.isOneRow = isOneRow
     }
   }
 }

+ 24 - 1
src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

@@ -158,7 +158,30 @@
                 :offset-top="stickyTop">
                 <!-- 企业信息/工商信息 -->
                 <van-tab :name="moduleList[0].name" :title="moduleList[0].title">
-                    <div class="module-container pb-12 ent-info-detail">
+                    <!-- 芝麻信用标 -->
+                    <div class="sesame-container" v-if="entBaseInfo.zhimaLabels">
+                      <div class="sesame-header">
+                        <h3 class="sesame-title">芝麻实力标</h3>
+                        <span>以下信息由<img class="sesame-logo" src="/common-module/big-member/image/zhima-logo.png">提供</span>
+                      </div>
+                      <div class="sesame-main" :class="{'expanded': moreSesame}">
+                        <div class="sesame-item" v-for="item in entBaseInfo.zhimaLabels">
+                          <img v-if="item.zhima_toptype === '社会价值'" src="/common-module/big-member/image/shehuijiazhi.png" class="sesame-item-icon">
+                          <img v-else-if="item.zhima_toptype === '雇主诚信'" src="/common-module/big-member/image/guzhuchengxin.png" class="sesame-item-icon">
+                          <img v-else-if="item.zhima_toptype === '企业实力'" src="/common-module/big-member/image/qiyeshili.png" class="sesame-item-icon">
+                          <img v-else-if="item.zhima_toptype === '社会影响力'" src="/common-module/big-member/image/shehuiyingxiangli.png" class="sesame-item-icon">
+                          <img v-else-if="item.zhima_toptype === '联合评价'" src="/common-module/big-member/image/lianhepingjia.png" class="sesame-item-icon">
+                          <img v-else-if="item.zhima_toptype === '信用评价'" src="/common-module/big-member/image/xinyongpingjia.png" class="sesame-item-icon">
+                          <span :data-toptyp="item.zhima_toptype">${item.zhima_name}</span>
+                        </div>
+                      </div>
+                      <div v-show="!isOneRow" class="sesame-more" @click="moreSesame = !moreSesame" :style="{'padding-top': !moreSesame ? '.08rem' : 0}">
+                        <span v-if="!moreSesame">查看全部</span>
+                        <span v-else>收起</span>
+                        <img class="drop-down-img" :class="{'rotate180': moreSesame}" src="/common-module/big-member/image/drop-down.png">
+                      </div>
+                    </div>
+                    <div class="module-container pb-12 ent-info-detail" style="margin-top: .24rem;">
                         <div class="module-title-container">
                             <p class="module-title">工商信息</p>
                         </div>

+ 6 - 0
src/web/templates/pc/template/index/activity-dialog.html

@@ -144,6 +144,12 @@
         opacity: "hide"
       }, "slow");
     });
+
+    if (ADList[0] && ADList[0].s_picalt) {
+      $("#index_tc").attr('alt', ADList[0].s_picalt)
+      $("#close2x").attr('alt', ADList[0].s_picalt)
+    }
+
     $("#index_tc").on("click", function () {
       var dataUrl = $(this).attr("dataUrl")
       if (dataUrl!=""){