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

Merge branch 'feature/v4.7.23' of http://192.168.3.207:8080/qmx/jy into feature/v4.7.23

fuwencai преди 3 години
родител
ревизия
e261a1fc88

+ 58 - 76
src/jfw/front/shorturl.go

@@ -180,37 +180,23 @@ func (s *Short) Article(stype, id string) error {
 					s.SetSession("projectname", obj["projectname"])
 				}
 				if obj["entidlist"] != nil { //大会员中标企业跳转至画像
-					if winner := util.ObjToString(obj["winner"]); winner != "" {
-						s_winner := util.ObjToString(obj["s_winner"])
-						idObjs, _ := obj["entidlist"].([]interface{})
-						winnerId := ""
-						if names := strings.Split(s_winner, ","); len(names) > 1 {
-							index := 0
-							for i := 0; i < len(names); i++ {
-								if names[i] == winner {
-									index = i
-									break
-								}
-							}
-							if len(idObjs) > index {
-								winnerId = util.ObjToString(idObjs[index])
-							}
-						} else { //中标企业仅一个
-							if len(idObjs) > 0 {
-								winnerId = util.ObjToString(idObjs[0])
-							}
-						}
-						if winnerId != "" && winnerId != "-" {
-							obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+					s_winner := util.ObjToString(obj["s_winner"])
+					idObjs, _ := obj["entidlist"].([]interface{})
+					winnerIdArr := []string{}
+					for _, v := range strings.Split(s_winner, ",") {
+						if v == "-" || !isInStringArr(util.ObjArrToStringArr(idObjs), v) {
+							continue
 						}
+						winnerIdArr = append(winnerIdArr, util.EncodeArticleId2ByCheck(v))
+						obj["entIds"] = winnerIdArr
 					}
 				}
 				s.T["url"] = s.Uri()
 				s.T["obj"] = obj
 
 				content, _ := s.Render4Cache("/pc/biddetail_rec.html", &s.T)
-				timeout := 60 * 20
-				redis.Put("newother", catchKey, string(content), timeout)
+				// timeout := 60 * 20
+				// redis.Put("newother", catchKey, string(content), timeout)
 				return s.SetBody(content)
 			}
 		} else {
@@ -333,29 +319,15 @@ func (s *Short) Article(stype, id string) error {
 					}
 				}
 				if obj["entidlist"] != nil { //大会员中标企业跳转至画像
-					if winner := util.ObjToString(obj["winner"]); winner != "" {
-						s_winner := util.ObjToString(obj["s_winner"])
-						idObjs, _ := obj["entidlist"].([]interface{})
-						winnerId := ""
-						if names := strings.Split(s_winner, ","); len(names) > 1 {
-							index := 0
-							for i := 0; i < len(names); i++ {
-								if names[i] == winner {
-									index = i
-									break
-								}
-							}
-							if len(idObjs) > index {
-								winnerId = util.ObjToString(idObjs[index])
-							}
-						} else { //中标企业仅一个
-							if len(idObjs) > 0 {
-								winnerId = util.ObjToString(idObjs[0])
-							}
-						}
-						if winnerId != "" && winnerId != "-" {
-							obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+					s_winner := util.ObjToString(obj["s_winner"])
+					idObjs, _ := obj["entidlist"].([]interface{})
+					winnerIdArr := []string{}
+					for _, v := range strings.Split(s_winner, ",") {
+						if v == "-" || !isInStringArr(util.ObjArrToStringArr(idObjs), v) {
+							continue
 						}
+						winnerIdArr = append(winnerIdArr, util.EncodeArticleId2ByCheck(v))
+						obj["entIds"] = winnerIdArr
 					}
 				}
 				s.T["advertcode"] = s.GetString("advertcode")
@@ -488,30 +460,17 @@ func (s *Short) Article(stype, id string) error {
 					if obj["projectname"] != nil {
 						s.SetSession("projectname", obj["projectname"])
 					}
+
 					if obj["entidlist"] != nil { //大会员中标企业跳转至画像
-						if winner := util.ObjToString(obj["winner"]); winner != "" {
-							s_winner := util.ObjToString(obj["s_winner"])
-							idObjs, _ := obj["entidlist"].([]interface{})
-							winnerId := ""
-							if names := strings.Split(s_winner, ","); len(names) > 1 {
-								index := 0
-								for i := 0; i < len(names); i++ {
-									if names[i] == winner {
-										index = i
-										break
-									}
-								}
-								if len(idObjs) > index {
-									winnerId = util.ObjToString(idObjs[index])
-								}
-							} else { //中标企业仅一个
-								if len(idObjs) > 0 {
-									winnerId = util.ObjToString(idObjs[0])
-								}
-							}
-							if winnerId != "" && winnerId != "-" {
-								obj["entId"] = util.EncodeArticleId2ByCheck(winnerId)
+						s_winner := util.ObjToString(obj["s_winner"])
+						idObjs, _ := obj["entidlist"].([]interface{})
+						winnerIdArr := []string{}
+						for _, v := range strings.Split(s_winner, ",") {
+							if v == "-" || !isInStringArr(util.ObjArrToStringArr(idObjs), v) {
+								continue
 							}
+							winnerIdArr = append(winnerIdArr, util.EncodeArticleId2ByCheck(v))
+							obj["entIds"] = winnerIdArr
 						}
 					}
 				} else {
@@ -529,11 +488,11 @@ func (s *Short) Article(stype, id string) error {
 				s.T["url"] = s.Uri()
 
 				content, _ := s.Render4Cache("/pc/biddetail_rec.html", &s.T)
-				timeout := 60 * 20
+				// timeout := 60 * 20
 				if stype == "indexcontent" {
 					timeout = util.IntAllDef(config.Sysconfig["indexcontentTimeOut"], 86400)
 				}
-				redis.Put("newother", catchKey, string(content), timeout)
+				// redis.Put("newother", catchKey, string(content), timeout)
 				return s.SetBody(content)
 			}
 		} else {
@@ -702,14 +661,28 @@ func FieldProcessing(obj map[string]interface{}, ssOpenid interface{}, industry,
 
 	//大会员中标企业跳转至画像
 	if obj["entidlist"] != nil {
-		if winner := util.ObjToString(obj["winner"]); winner != "" {
-			//临时更改为企业名称查询企业id
-			rData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"term":{"company_name":"%s"}},{"term":{"hname":"%s"}}],"minimum_should_match":1}},"_source":["name","_id","capital","company_phone"],"size":1}`, winner, winner))
-			if rData != nil && len(*rData) == 1 {
-				if entId := util.ObjToString((*rData)[0]["_id"]); entId != "" {
-					obj["entId"] = util.EncodeArticleId2ByCheck(util.ObjToString((*rData)[0]["_id"]))
+		if s_winner := util.ObjToString(obj["s_winner"]); s_winner != "" {
+			entIdArr, winnerMap := []string{}, map[string]interface{}{}
+			for _, v := range strings.Split(s_winner, ",") {
+				winnerMap[v] = ""
+				//临时更改为企业名称查询企业id
+				rData := elastic.Get("qyxy", "qyxy", fmt.Sprintf(`{"query":{"bool":{"should":[{"term":{"company_name":"%s"}},{"term":{"hname":"%s"}}],"minimum_should_match":1}},"_source":["name","_id","capital","company_phone"],"size":1}`, v, v))
+				if rData != nil && len(*rData) == 1 {
+					if entId := util.ObjToString((*rData)[0]["_id"]); entId != "" {
+						entIdArr = append(entIdArr, util.EncodeArticleId2ByCheck(util.ObjToString((*rData)[0]["_id"])))
+						winnerMap[v] = util.EncodeArticleId2ByCheck(util.ObjToString((*rData)[0]["_id"]))
+					}
 				}
 			}
+			obj["entId"] = entIdArr
+			obj["winnerMap"] = winnerMap
+			// qwe := map[string]interface{}{}
+			// for i := 1; i <= 10; i++ {
+			// 	for k, v := range winnerMap {
+			// 		qwe[fmt.Sprintf("%s%s", k, strconv.Itoa(i))] = v
+			// 	}
+			// }
+			// obj["winnerMap"] = qwe
 		}
 	}
 	//移动端需要处理--剑鱼币
@@ -871,3 +844,12 @@ func hasRetainedCapital(uid, source string) bool {
 	}
 	return false
 }
+
+func isInStringArr(arr []string, key string) bool {
+	for _, v := range arr {
+		if v == key {
+			return true
+		}
+	}
+	return false
+}

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

@@ -246,6 +246,7 @@ func (this *EntPortrait) WinnerMiniPortrait() {
 		if entInfo, err := cepm.GetEntInfo(entId); err == nil {
 			rData["status"] = entInfo["status"]
 			rData["type"] = entInfo["type"]
+			rData["company_name"] = entInfo["entName"]
 		}
 		//项目动态数量
 		rData["biddingCount"] = cepm.GetWinnerNewCount(entId)

+ 18 - 1
src/web/staticres/pccss/pc-detail.css

@@ -838,4 +838,21 @@ a{
 .freeView {
   color: #2cb7ca;
   cursor: pointer;
-}
+}
+
+.bid-cont {
+	width:800px !important;
+}
+
+.winners{
+	padding-right:0;
+	width:fit-content !important;
+	float:none !important;
+	text-decoration:underline;
+}
+.winner-point{
+	padding-right:0;
+	width:fit-content !important;
+	float:none !important;
+	color: #2CB7CA;
+}

+ 16 - 8
src/web/staticres/public-pc/js/article-content.js

@@ -3,6 +3,7 @@ if(goTemplateData.params.obj.subtype=="中标"||goTemplateData.params.obj.subtyp
 } else {
   $('.bid_dev').show()
 }
+$("span[class=winner-point]:last").hide();
 var keys = goTemplateData.params.obj.purchasing
 var bidNode = {
   el: '#tab2',
@@ -281,25 +282,29 @@ var bidNode = {
       }
     })
     },
+    setMouseover: function (data) {
+		this.getWinnerFreeData(data)
+    },
     // 中标企业画像免费数据
-    getWinnerFreeData: function() {
+    getWinnerFreeData: function(id) {
       var _this = this
-      if (goTemplateData.params.isVip || goTemplateData.params.isMember || goTemplateData.params.isEntniche || _this.portraitLoaded.winner){
+      if (goTemplateData.params.isVip || goTemplateData.params.isMember || goTemplateData.params.isEntniche){
         return
       }
-      _this.portraitLoaded.winner = true;
+//      _this.portraitLoaded.winner = true;
       $.ajax({
         type: 'POST',
         url: '/bigmember/portrait/winner/miniData',
         data: {
-          entId: goTemplateData.params.obj.entId
-    },
+          entId: id
+    	},
       success: function(res) {
     	if (res.error_code < 0) {
         _this.portraitLoaded.winner = false;
           return
         }
         if (res.data) {
+          res.data.entid=id
           if (!res.data.biddingCount) {
             res.data.biddingCount = '--'
           }
@@ -1339,12 +1344,15 @@ $(function(){
       if (!tipMsg){
         tipMsg="暂无画像数据"
       }
-      $(this).after("<div class='portrait_tip' style='display:none; position: absolute;top: -24px;left: 10px;background: rgba(0,0,0,0.72);border-radius: 4px;opacity: 1;color: #fff;font-size: 13px;line-height: 20px;padding: 6px 10px;'>"+tipMsg+"</div>")
+      $(this).after("<div class='portrait_tip' style='display:none; width: 98px;z-index:2;position: absolute;top: -30px;left: 0px;background: rgba(0,0,0,0.72);border-radius: 4px;opacity: 1;color: #fff;font-size: 13px;line-height: 20px;padding: 6px 10px;'>"+tipMsg+"</div>")
     }
   }).on("click",function (){
     var toHref=$(this).attr("href-data") || $(this).parents('.tab-cont').children('.cont-cont.portrait_img').attr("href-data")
-    var memberLink = "/swordfish/page_big_pc/ent_portrait/" + goTemplateData.params.obj.entId
-    var vipLink = "/swordfish/page_big_pc/svip/ent_ser_portrait/" + goTemplateData.params.obj.entId
+    //中标单位由一个改为多个
+    var winnerMap = goTemplateData.params.obj.winnerMap;
+  	var memberLink = "/swordfish/page_big_pc/ent_portrait/" + winnerMap[$(this).text()]
+    var vipLink = "/swordfish/page_big_pc/svip/ent_ser_portrait/" + winnerMap[$(this).text()]
+
     var tipMsg=$(this).attr("tip-data") || $(this).parents('.tab-cont').children('.cont-cont.portrait_img').attr("tip-data")
     if (tipMsg == '查看采购单位画像') {
       if (toHref){

+ 21 - 22
src/web/templates/pc/biddetail_rec.html

@@ -939,39 +939,35 @@
 						<table>
 							<tr>
 								<td class="tab-type">中标单位</td>
-								<td class="tab-cont" style="position: relative;">
+								<td class="bid-cont tab-cont " style="position: relative;">
 									{{if or (or .T.isMember .T.isVip) .T.isEntniche }}
 									<div>
-										<!-- {{if .T.isMember}}
-                    {{if .T.isVip}}
-                      <div class="cont-cont portrait_img" {{if .T.obj.entId}} href-data="/swordfish/page_big_pc/svip/ent_ser_portrait/{{.T.obj.entId}}"  tip-data="查看企业画像"{{end}}>{{.T.obj.winner}}</div>
-                    {{else}}
-                      <div class="cont-cont portrait_img" {{if .T.obj.entId}} href-data="/swordfish/page_big_pc/ent_portrait/{{.T.obj.entId}}"  tip-data="查看企业画像"{{end}}>{{.T.obj.winner}}</div>
-                    {{end}}
-                  {{else}}
-                      <div class="cont-cont portrait_img" {{if .T.obj.entId}} href-data="/swordfish/page_big_pc/svip/ent_ser_portrait/{{.T.obj.entId}}"  tip-data="查看企业画像"{{end}}>{{.T.obj.winner}}</div>
-                  {{end}} -->
-										<div class="cont-cont portrait_img" {{if .T.obj.entId}} tip-data="查看企业画像"{{end}}>{{.T.obj.winner}}</div>
-										<div class="cont-recy" onclick="recoveryerr(this,'winner','')">纠错</div>
-										<div class="portrait_img only-text" {{if .T.obj.entId}} tip-data="查看企业画像"{{end}}>{{if .T.obj.winner}}立即查看{{end}}</div>
-										<div style="display:none;"></div>
+                     {{ range $index, $value := .T.obj.winnerMap }}
+                    <span style='position: relative;'>
+                    <span class="cont-cont portrait_img winners" {{if  $value}} tip-data="查看企业画像"{{end}}>{{$index}}</span>
+                    <span class="winner-point">、</span>
+                    </span>
+                     {{ end }}
+                      <div class="cont-recy" onclick="recoveryerr(this,'winner','')">纠错</div>
+  										<div style="display:none;"></div>
 									</div>
 									{{else}}
 									<el-popover
 											popper-class="bidtrggirPover"
 											placement="bottom-start"
 											width="664"
-                      @show="getWinnerFreeData"
 											trigger="hover">
 										<div slot="reference">
-											<div class="cont-cont portrait_img no-show-tip">{{.T.obj.winner}} </div>
-											<div class="portrait_img only-text no-show-tip">{{if .T.obj.winner}}立即查看{{end}}</div>
+                     {{ range $index, $value := .T.obj.winnerMap }}
+											<span class="cont-cont portrait_img no-show-tip winners"  @mouseenter="setMouseover('{{$value}}')">{{$index}}</span>
+                      <span class='winner-point'>、</span>
+                      {{end}}
 										</div>
 										<div id="winner-popover" class="portrait-popover">
 											<div class="bidconhistory">
 												<div style="overflow-y: auto;padding: 20px;">
 													<div class="bidthead" style="padding-bottom: 18px;border-bottom: 1px solid #ebebeb;">
-														<p style="font-size: 18px; color: #1d1d1d; line-height: 28px;">{{.T.obj.winner}}</p>
+														<p  v-if="winnerInfo.company_name"  v-html="winnerInfo.company_name" style="font-size: 18px; color: #1d1d1d; line-height: 28px;"></p>
 														<div class="buyer-subtitle">
                             <span style="margin-right: 32px;" v-if="winnerInfo.status">
                               <span class="ent-status"  v-html="winnerInfo.status"></span>
@@ -1023,7 +1019,7 @@
 														</div>
 													</div>
 													<div class="bidfoot">
-														<div class="bid_button_cancel bid_btn" @click="window.open('/swordfish/page_big_pc/svip/ent_ser_portrait/{{.T.obj.entId}}')">查看详情</div>
+														<div class="bid_button_cancel bid_btn" @click="window.open(`/swordfish/page_big_pc/svip/ent_ser_portrait/${winnerInfo.entid}`)">查看详情</div>
 														<div class="bid_button_confirm bid_btn" @click="goCollect('article_ent_portrait')">一键预约</div>
 													</div>
 												</div>
@@ -1032,12 +1028,14 @@
 									</el-popover>
 									{{end}}
 								</td>
+                 <tbody>
 								<td class="tab-type piddingfour">中标金额(元)</td>
 								<td class="tab-cont">
 									<div class="cont-cont" id="bidamount"></div>
 									<div class="cont-recy" onclick="recoveryerr(this,'bidamount','')">纠错</div>
 									<div style="display:none;"></div>
 								</td>
+                  </tbody>
 							</tr>
 							<tr class="winnertel" style="display:none;position: relative">
                 <tbody>
@@ -1045,13 +1043,14 @@
                 </tbody>
 								<td class="tab-type">联系方式</td>
 								<td class="tab-cont" style="border-right: none;">
-									{{if or .T.isVip .T.isEntniche .T.isMember}}
+              
+								{{if or .T.isVip .T.isEntniche .T.isMember}}
 									<div class="cont-cont"><span id="winnertel"></span></div>
 									<div></div>
 									<div></div>
-									{{else if or (not .T.obj.winnertel) (eq .T.obj.winner_enttel "无权限") }}
+									{{else if or (not .T.obj.winnertel) }}
 									<div  onclick="adv_statistics(this)" adv_name="pc_article_getcontact" ><a dataHref="/front/subscribe.html" style="color: rgb(44, 183, 202) !important;text-decoration: none !important;">获取联系方式</a><div>
-										{{end}}
+								{{end}}
 								</td>
 								<!-- <td class="tab-type piddingfour"></td>
 								<td class="tab-cont">

+ 24 - 3
src/web/templates/weixin/wxinfocontent_rec.html

@@ -788,6 +788,9 @@ em {
         padding: 2px 16px;
         cursor: pointer;
       }
+      .winners{
+        display: contents;
+      }
 </style>
 </head>
 <body>
@@ -2292,7 +2295,10 @@ $(function(){
   }
 	//中标信息
 	if(isbid){
-		var rerwinner = {{.T.obj.winner}};
+		//var rerwinner = {{.T.obj.winner}};
+    var rerwinner=new Object();
+    rerwinner ={{.T.obj.winnerMap}}
+   
     if(rerwinner==null){
       rerwinner=""
 		}
@@ -2315,7 +2321,22 @@ $(function(){
     }
     if(count>=5){
 		$("#bidInfoTitle").show();
-  		var bidInfohtml ='<li class="zhongbiaounit" data-eid="'+rerwinnerEntId+'"><p class="name">中标单位</p><p class="textcontent" style="text-decoration-line: underline;color: #2ABED1;" data-cl-event="c_wx_entportrait_buttonclick">'+rerwinner+'</p><span data-cl-event="c_wx_entportrait_buttonclick" class="go-look go-winner">立即查看</span><a dataName="中标单位" dataCont="'+rerwinner+'" dataCode="winner" onClick="recoveryAction(this)">纠错</a></li>'
+    	var bidInfohtml='<li><p class="name">中标单位</p><div style="flex: 1;">'
+      var indexN =0;
+      console.log(rerwinner)
+      var winnerArr =[];
+      for (let i in rerwinner){
+        winnerArr.push(i)
+      }
+      for (x in rerwinner){
+          indexN++
+        	bidInfohtml +='<span  class="textcontent zhongbiaounit winners" data-eid="'+rerwinner[x]+'" style="text-decoration-line: underline;color: #2ABED1;" data-cl-event="c_wx_entportrait_buttonclick">'+x+'</span>'
+          if (winnerArr.length!=indexN){
+            bidInfohtml += '<span class="winners" style="color: #2ABED1;">、</span>'
+          }
+      }
+      bidInfohtml+='</div><a dataName="中标单位" dataCont="'+x+'" dataCode="winner" onClick="recoveryAction(this)">纠错</a></li>'
+
   		bidInfohtml +='<li class="bbm0"><p class="name">中标金额(元)</p><p class="textcontent">'+rerbidamount+'</p><a dataName="中标金额(元)" dataCont="'+rerbidamount+'" dataCode="bidamount" onClick="recoveryAction(this)">纠错</a></li>'
       if(winnertel!=""){
         bidInfohtml +='<li class="bbm0 winnertel"><p class="name">联系方式</p>';
@@ -2479,7 +2500,7 @@ $(function(){
         if (rerwinner!=""&&rerwinner!=null){
             sessionStorage.removeItem('$data-ent_portrait')
             if (rerwinnerEntId) {
-                location.href = "/weixin/frontPage/collection/sess/ent_portrait?eId="+encodeURIComponent(rerwinnerEntId)
+                location.href = "/weixin/frontPage/collection/sess/ent_portrait?eId="+encodeURIComponent($(this).attr("data-eid"))
             } else {
                 EasyAlert.show("暂无数据");
             }