Browse Source

Merge branch 'dev/v4.8.34_dx' of qmx/jy into feature/v4.8.34

fuwencai 2 năm trước cách đây
mục cha
commit
dfaa4e3a4f

+ 5 - 1
src/config.json

@@ -398,7 +398,11 @@
     "agencyperson":true,
     "agencytel":true,
     "budget":true,
-    "bidamount":true
+    "bidamount":true,
+    "buyer": true,
+    "winner": true,
+    "s_winner": true,
+    "winnerMap": true
   },
   "keywordsLimitNologin": 25,
   "messageCenter": {

+ 34 - 18
src/jfw/front/shorturl.go

@@ -41,19 +41,21 @@ type Short struct {
 	nologinArticle xweb.Mapper `xweb:"/nologin/(\\w+)/(.*).html"`   //([pm]) 无需登录
 }
 
-var mobileReg = regexp.MustCompile("(?i)(Android|Mobile|Phone)")
-var DateFullLayout = "2006-01-02 15:04:05"
-var Map_stype = map[string]bool{
-	"content":         true,
-	"entservice":      true,
-	"bdprivate":       true,
-	"mailprivate":     true,
-	"bdcontent":       true,
-	"indexcontent":    true,
-	"advancedProject": true,
-}
-
-var seoAgentReg = regexp.MustCompile("Baiduspider|360Spider|bingbot|Googlebot")
+var (
+	mobileReg      = regexp.MustCompile("(?i)(Android|Mobile|Phone)")
+	DateFullLayout = "2006-01-02 15:04:05"
+	Map_stype      = map[string]bool{
+		"content":         true,
+		"entservice":      true,
+		"bdprivate":       true,
+		"mailprivate":     true,
+		"bdcontent":       true,
+		"indexcontent":    true,
+		"advancedProject": true,
+	}
+	seoAgentReg      = regexp.MustCompile("Baiduspider|360Spider|bingbot|Googlebot")
+	detailNeedMosaic map[string]interface{}
+)
 
 func (s *Short) Article(stype, id string) error {
 	userId, _ := s.GetSession("userId").(string)
@@ -923,14 +925,24 @@ func ReplaceStringByRegex(str, rule, replace string) (string, error) {
 // 未登录用户进行数据过滤 name 配置文件
 func Filter(obj map[string]interface{}) map[string]interface{} {
 	detail := fmt.Sprint(obj["detail"])
-	mosaicText := fmt.Sprintf(`<span class="noLoginMosaic">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
+	mosaicText := fmt.Sprintf(`<span onclick="openLoginDig(true)" style="cursor:pointer;color: #1D1D1D;">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
+	detailText := fmt.Sprintf(`<span class="noLoginMosaic" style="color: #2ABED1;">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
 	for k, _ := range obj {
-		detailNeedMosaic, _ := config.Sysconfig["detailNeedMosaic"].(map[string]interface{})
 		if ok, _ := detailNeedMosaic[k].(bool); ok {
 			if util.ObjToString(obj[k]) != "" {
-				detail = strings.ReplaceAll(detail, util.ObjToString(obj[k]), mosaicText)
+				detail = strings.ReplaceAll(detail, util.ObjToString(obj[k]), detailText)
+			}
+			//中标企业信息
+			if k == "winnerMap" && obj[k] != nil {
+				winnerNewMap := map[string]interface{}{}
+				winnerMap := util.ObjToMap(obj[k])
+				for _, wv := range *winnerMap {
+					winnerNewMap[mosaicText] = wv
+				}
+				obj[k] = winnerNewMap
+			} else {
+				obj[k] = mosaicText
 			}
-			obj[k] = mosaicText
 		}
 	}
 	obj["detail"] = detail
@@ -978,6 +990,9 @@ func (s *Short) NologinArticle(stype, id string) error {
 	if userId != "" { //已登录用户直接跳转至正常三级页
 		return s.LoginCommon(userId, stype, id)
 	}
+	if detailNeedMosaic == nil {
+		detailNeedMosaic, _ = config.Sysconfig["detailNeedMosaic"].(map[string]interface{})
+	}
 	return s.NologinCommon(userId, stype, id, sids[0])
 }
 
@@ -994,7 +1009,7 @@ func (s *Short) NologinCommon(userId, stype, id, sid string) error {
 		s.T["shareid"] = se.EncodeString(shareid)
 		s.T["keywords"] = s.GetString("kds")
 		s.DisableHttpCache()
-		po, bo, wo, obj := pcVRT(sid, industry, stype, false || false || false)
+		po, bo, wo, obj := pcVRT(sid, industry, stype, false)
 		if obj != nil && len(obj) > 0 {
 			if len(po) > 0 {
 				s.T["projectOther"] = po
@@ -1017,6 +1032,7 @@ func (s *Short) NologinCommon(userId, stype, id, sid string) error {
 				obj = Filter(obj)
 				obj["description"] = fmt.Sprintf("%s,%s。", obj["title"], baseInfo(obj))
 			}
+			obj["agency"] = ""
 			if obj["publishtime"] != nil {
 				obj["publishtimeShorDate"] = time.Unix(util.Int64All(obj["publishtime"]), 0).Format(date.Date_Short_Layout)
 			}

+ 15 - 3
src/jfw/modules/app/src/app/front/shorturl.go

@@ -282,14 +282,26 @@ func (s *Short) Article(stype, id string) error {
 // 未登录用户进行数据过滤
 func Filter(obj map[string]interface{}) map[string]interface{} {
 	detail := fmt.Sprint(obj["detail"])
-	mosaicText := fmt.Sprintf(`<span class="noLoginMosaic">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
+	//mosaicText := fmt.Sprintf(`<span class="noLoginMosaic">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
+	mosaicText := fmt.Sprintf(`<span onclick="appAutoLogin()" style="cursor:pointer;color: #1D1D1D;">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
+	detailText := fmt.Sprintf(`<span class="noLoginMosaic" style="color: #2ABED1;">%s</span>`, util.ObjToString(config.Sysconfig["detailMosaic"]))
 	for k, _ := range obj {
 		detailNeedMosaic, _ := config.Sysconfig["detailNeedMosaic"].(map[string]interface{})
 		if ok, _ := detailNeedMosaic[k].(bool); ok {
 			if util.ObjToString(obj[k]) != "" {
-				detail = strings.ReplaceAll(detail, util.ObjToString(obj[k]), mosaicText)
+				detail = strings.ReplaceAll(detail, util.ObjToString(obj[k]), detailText)
+			}
+			//中标企业信息
+			if k == "winnerMap" && obj[k] != nil {
+				winnerNewMap := map[string]interface{}{}
+				winnerMap := util.ObjToMap(obj[k])
+				for _, wv := range *winnerMap {
+					winnerNewMap[mosaicText] = wv
+				}
+				obj[k] = winnerNewMap
+			} else {
+				obj[k] = mosaicText
 			}
-			obj[k] = mosaicText
 		}
 	}
 	obj["detail"] = detail

+ 5 - 1
src/jfw/modules/app/src/config.json

@@ -225,7 +225,11 @@
     "agencyperson":true,
     "agencytel":true,
     "budget":true,
-    "bidamount":true
+    "bidamount":true,
+    "buyer": true,
+    "winner": true,
+    "s_winner": true,
+    "winnerMap": true
   },
   "keepShowRedSpot": true,
   "detail_element": [

+ 2 - 2
src/jfw/modules/app/src/config.yaml

@@ -1,6 +1,6 @@
 etcd:
   hosts:
-  - 127.0.0.1:2379
+  - 192.168.3.149:2379
 userCenterKey: "usercenter.rpc" #用户中台rpc
 powerCheckCenterKey: "powercheck.rpc" #权益校验中台
-entManageApplication: "entmanageapplication.rpc" #企业管理中台
+entManageApplication: "entmanageapplication.rpc" #企业管理中台

+ 1 - 1
src/jfw/modules/app/src/db.json

@@ -20,7 +20,7 @@
 			"password": "jy@DevGroup"
 		},
 		"bidding": {
-			"address": "192.168.3.206:27001,192.168.3.206:27002",
+			"address": "192.168.3.206:27002",
 	 		"size": 5,
 	 		"dbName": "qfw_data",
 			"collection": "bidding",

+ 6 - 2
src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html

@@ -1405,7 +1405,11 @@
             }
         }
     }
-
+    function appAutoLogin(){
+      // 去登录
+        const url = `/jyapp/article/content/${id}.html`
+        autoLogin(url)
+    }
     // 去登录
     $('.option-login').on('click', function() {
       const url = `/jyapp/article/content/${id}.html`
@@ -2408,7 +2412,7 @@
           rerprojectname=""
       }
       outhtml +='<li><p class="name">项目名称</p><p class="textcontent">'+rerprojectname+'</p></li>'
-      var rerbuyer = {{.T.obj.buyer}} ? {{.T.obj.buyer}} : {{.T.obj.owner}};
+      var rerbuyer = {{.T.obj.buyer}} ? {{Html .T.obj.buyer}} : {{.T.obj.owner}};
       var rerbuyer_show = ""
       if(rerbuyer==undefined||rerbuyer==null){
           rerbuyer=""

+ 4 - 4
src/web/staticres/tags/js/no-login-detail.js

@@ -248,7 +248,7 @@ if(goTemplateData.params.obj.subtype=="中标"||goTemplateData.params.obj.subtyp
     count++
   }
   if(count>=5){
-    $("#bidamount").text(bidmt)
+    $("#bidamount").html(bidmt)
     $("#bidInfoTitle").show();
     $("#bidInfoCont").show();
   }
@@ -773,7 +773,7 @@ $(function(){
       }
     }
   });
-  
+
 
   //
   var uli = 960;
@@ -1402,7 +1402,7 @@ var thishtlists = function(){
 	        hthtml += listtitle
 	      }
 	      hthtml +='</a></div></div>'
-	
+
 	      $(".animathistory .htcontent").append(hthtml);
 	    }
     }
@@ -2183,7 +2183,7 @@ $(function() {
     // 中标联系方式
     var winnerTelContainer = $('#winnertel')
     var winnerTel = winnerTelContainer.text()
-    
+
     if (buyerTel === 'freeView') {
       buyerTelContainer.html('<span class="freeView">点击查看</span>')
     }

+ 10 - 10
src/web/templates/pc/tags/detail.html

@@ -98,32 +98,32 @@
                 <table class="info-table">
                   <tr>
                     <td class="t-label ">省份</td>
-                    <td class="t-text">{{if eq .T.obj.area "A"}}全国{{else}}{{.T.obj.area}}{{end}}</td>
+                    <td class="t-text">{{if .T.obj.area}}{{if eq .T.obj.area "A"}}全国{{else}}{{Html .T.obj.area}}{{end}}{{end}}</td>
                     <td class="t-label ">城市</td>
-                    <td class="t-text">{{.T.obj.city}}</td>
+                    <td class="t-text">{{if .T.obj.city}}{{Html .T.obj.city}}{{end}}</td>
                   </tr>
                   <tr>
                     <td class="t-label " style="padding-right: 0px;">招标代理机构</td>
                     <td class="t-text">
-                      <div class="cont-cont">{{.T.obj.agency}}</div>
+                      <div class="cont-cont">{{if .T.obj.agency}}{{Html .T.obj.agency}}{{end}}</div>
                     </td>
                     <td class="t-label ">项目名称</td>
                     <td class="t-text">
-                      <div class="cont-cont">{{.T.obj.projectname}}</div>
+                      <div class="cont-cont">{{if .T.obj.projectname}}{{Html .T.obj.projectname}}{{end}}</div>
                     </td>
                   </tr>
                   <tr>
                     <td class="t-label ">采购单位</td>
-                    <td class="t-text">{{.T.obj.buyer}}</td>
+                    <td class="t-text">{{if .T.obj.buyer}}{{Html .T.obj.buyer}}{{end}}</td>
                     <td class="t-label " style="padding-right: 9px;">采购联系人</td>
                     <td class="t-text">
-                      <div class="cont-cont">{{.T.obj.buyerperson}}</div>
+                      <div class="cont-cont">{{if .T.obj.buyerperson}}{{Html .T.obj.buyerperson}}{{end}}</div>
                     </td>
                   </tr>
                   <tr>
                     <td class="t-label ">采购电话</td>
                     <td class="t-text">
-                      <div class="cont-cont buyertel">{{.T.obj.buyertel}}</div>
+                      <div class="cont-cont buyertel">{{if .T.obj.buyertel}}{{Html .T.obj.buyertel}}{{end}}</div>
                     </td>
                     <td class="t-label  piddingfour" id="tdbudget"></td>
                     <td class="t-text">
@@ -133,7 +133,7 @@
                   <tr id="baselast" style="display:none;">
                     <td class="t-label">拟定单一来源采购供应商</td>
                     <td class="t-text">
-                      <div class="cont-cont">{{.T.obj.winner}}</div>
+                      <div class="cont-cont">{{if .T.obj.winner}}{{Html .T.obj.winner}}{{end}}</div>
                     </td>
                     <td class="t-label"></td>
                     <td class="t-text">
@@ -152,7 +152,7 @@
                       <div>
                         {{ range $index, $value := .T.obj.winnerMap }}
                         <span style='position: relative;'>
-                          <span class="cont-cont portrait_img winners" >{{$index}}</span>
+                          <span class="cont-cont portrait_img winners" >{{Html $index}}</span>
                           <span class="winner-point">、</span>
                         </span>
                         {{ end }}
@@ -160,7 +160,7 @@
                       {{else}}
                       <div>
                           {{ range $index, $value := .T.obj.winnerMap }}
-                          <span class="cont-cont portrait_img no-show-tip winners">{{$index}}</span>
+                          <span class="cont-cont portrait_img no-show-tip winners">{{Html $index}}</span>
                           <span class='winner-point'>、</span>
                           {{end}}
                         </div>