فهرست منبع

Merge branch 'master' into feature/v4.9.9

lianbingjie 1 سال پیش
والد
کامیت
8f9bc454ed
22فایلهای تغییر یافته به همراه247 افزوده شده و 121 حذف شده
  1. 5 2
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  2. 8 3
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js
  3. 18 18
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html
  4. 24 10
      src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html
  5. 2 2
      src/jfw/modules/bigmember/src/entity/marketAnalysis/customizad_distribution.go
  6. 18 7
      src/jfw/modules/bigmember/src/entity/marketAnalysis/marketAnalysisEntity.go
  7. 1 1
      src/jfw/modules/bigmember/src/service/portrait/memberPortraitAction.go
  8. 1 1
      src/jfw/modules/bigmember/src/service/portrait/subvipPortraitAction.go
  9. 31 6
      src/jfw/modules/bigmember/src/service/report/marketAnalysis.go
  10. 2 1
      src/jfw/modules/subscribepay/src/config.json
  11. 2 0
      src/jfw/modules/subscribepay/src/config/config.go
  12. 11 6
      src/jfw/modules/subscribepay/src/service/orderListDetails.go
  13. 8 3
      src/web/staticres/big-member/js/unit_portrayal.js
  14. 5 2
      src/web/staticres/common-module/collection/js/ent_portrait.js
  15. 22 11
      src/web/staticres/common-module/order-list/js/order-list.js
  16. 2 2
      src/web/staticres/common-module/public/js/big-service-list.js
  17. 6 3
      src/web/staticres/common-module/report-analysis/js/report_analysis.js
  18. 16 8
      src/web/templates/pc/member_orderDetail.html
  19. 7 2
      src/web/templates/pc/myOrder.html
  20. 13 2
      src/web/templates/pc/subAccount_orderDetail.html
  21. 21 21
      src/web/templates/weixin/member/memberdetail.html
  22. 24 10
      src/web/templates/weixin/member/subAccountDetail.html

+ 5 - 2
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -815,7 +815,9 @@ var vNode = {
       }
     },
     canReadConf13: function () {
-      if (this.powerInfo.power.indexOf(13) != -1) {
+      const { power } = this.powerInfo
+      const hasPower = power.includes(13) || power.includes(21) || power.includes(4)
+      if (hasPower) {
         // 获取企业中标动态-13
         this.conf._13 = true
       }
@@ -850,7 +852,8 @@ var vNode = {
               _this.conf._4 = true
               //}
               _this.canReadConf13()
-              if (power.indexOf(12) != -1) {
+              const hasPower = power.includes(12) || power.includes(20) || power.includes(23) || power.includes(4)
+              if (hasPower) {
                 // 获取企业情报历史记录(工商变动)-12
                 _this.conf._12 = true
               }

+ 8 - 3
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js

@@ -213,11 +213,15 @@ var vNode = {
     //         return v.topData.length
     //     })
     // },
+    getActiveRoot: function () {
+      return this.power.includes(24) || this.power.includes(25)
+    },
     getStatus: function () {
       var info = this.userInfo
       var isFreeAuth = info.isFree && info.freeBuyerPort > 0
       var isVipAuth = info.vipStatus > 0 && info.viper && this.usageInfo.surplus > 0
-      var isMember = this.power && this.power.indexOf(5) !== -1
+      const hasPower = this.power.includes(5)
+      var isMember = this.power && hasPower
       // 超级订阅用户是否访问过该画像
       var vipTrial = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0 && this.usageInfo.visited
       // 免费用户是否查看过该画像
@@ -570,7 +574,7 @@ var vNode = {
       }
       // 无权限的弹出弹框提醒
       let _this = this
-      if (this.getStatus) {
+      if (this.getStatus && !getActiveRoot) {
         var u = this.usageInfo
         if (u.usage >= u.total && u.balance >= 0) {
           this.$dialog.confirm({
@@ -876,7 +880,8 @@ var vNode = {
       var data = {
         buyer: decodeURIComponent(utils.getParam('entName'))
       }
-      var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
+      const hasRoot = this.power.includes(5) || this.power.includes(24) || this.power.includes(25) || this.power.includes(4)
+      var isMember = this.bigStatus > 0 && hasRoot
       $.ajax({
         type: 'POST',
         url: isMember ? '/bigmember/portrait/buyer/getData' : '/bigmember/subVipPortrait/buyer/getData',

+ 18 - 18
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_member.html

@@ -163,10 +163,6 @@
                             <span class=" label">会员套餐:</span>
                             <span class="value item-list-parents level_value"></span>
                         </p>
-                        <p class="l-item  membernum">
-                          <span>购买数量:</span>
-                          <span class="item-list-parents buy_num_value value"></span>
-                        </p>
                         <p class="l-item s_cycle">
                             <span>订阅周期:</span>
                             <span class="item-list-parents cycle_value value"></span>
@@ -183,6 +179,10 @@
                             <span>免费账号:</span>
                             <span class="item-list-parents free_num value"></span>
                         </p>
+                        <p class="l-item  membernum">
+                          <span>购买数量:</span>
+                          <span class="item-list-parents buy_num_value value"></span>
+                        </p>
                         <p class="l-item service_p" style="display:none;border: 0;">
                             <span>服务列表:</span>
                             <!-- <span class="item-list-parents servicename value"></span> -->
@@ -364,15 +364,24 @@
                     $(".nothing").show();
                     $("#order_detail").hide();
                 }
-                if (filterObj.free_sub_num) {
-                    $(".free_num").text(filterObj.free_sub_num + "个");
+                //购买数量
+                if(r.data.isNewOrder == '1' && r.data.buy_count) { // 新订单显示购买数量
+                  $('.membernum').show();
+                  $('.buy_num_value').text(r.data.buy_count+'个')
+                  $(".free_p").hide();
+                  $(".pay_p").hide();
                 } else {
+                  $('.membernum').hide();
+                  if (filterObj.free_sub_num) {
+                    $(".free_num").text(filterObj.free_sub_num + "个");
+                  } else {
                     $(".free_p").hide();
-                }
-                if (filterObj.pay_sub_num) {
+                  }
+                  if (filterObj.pay_sub_num) {
                     $(".pay_num").text(filterObj.pay_sub_num + "个");
-                } else {
+                  } else {
                     $(".pay_p").hide();
+                  } 
                 }
                 //下单时间
                 if (r.data.create_time) {
@@ -398,15 +407,6 @@
             //}
             $(".level_value").text(level_value);
             //
-            //购买数量
-            if(r.data.buy_subject=='2'){
-              $('.membernum').show();
-              $('.buy_num_value').text(r.data.buy_count+'人')
-
-            }else{
-              $('.membernum').hide();
-
-            }
             var cycle;
             if (filterObj.level == 4) {
                 $(".productType").text("大会员-试用版")

+ 24 - 10
src/jfw/modules/app/src/web/templates/big-member/page_orderdetail_subAccount.html

@@ -78,14 +78,22 @@
                             <span>有效周期:</span>
                             <span class="item-list-parents date_value value"></span>
                         </p>
-                        <p class="l-item">
-                            <span class=" label">付费子账号<br/>数量:</span>
-                            <span class="item-list-parents pay_num value"></span>
-                        </p>
-                        <p class="l-item">
-                            <span class=" label">免费子账号<br/>数量:</span>
-                            <span class="item-list-parents free_num value"></span>
-                        </p>
+                        <div class="has_buy_count" style="display: none;">
+                          <p class="l-item">
+                              <span class=" label">购买数量:</span>
+                              <span class="item-list-parents buy_num value"></span>
+                          </p>
+                        </div>
+                        <div class="has_no_count" style="display: none;">
+                          <p class="l-item">
+                              <span class=" label">付费子账号<br/>数量:</span>
+                              <span class="item-list-parents pay_num value"></span>
+                          </p>
+                          <p class="l-item">
+                              <span class=" label">免费子账号<br/>数量:</span>
+                              <span class="item-list-parents free_num value"></span>
+                          </p>
+                        </div>
                     </div>
                 </div>
                 <div class="bottom">
@@ -197,8 +205,14 @@
             var level_value = filterObj.areaCount?r.data.combo:level_map.get(filterObj.level).get("level");
             $(".level_value").text(level_value);
             //
-            $(".pay_num").text(filterObj.pay_sub_num + "个");
-            $(".free_num").text(filterObj.free_sub_num + "个");
+            if(r.data.isNewOrder == '1' && r.data.buy_count) {
+              $('.has_buy_count').show()
+              $('.buy_num').text(r.data.buy_count + '个')
+            } else {
+              $('.has_no_count').show()
+              $(".pay_num").text(filterObj.pay_sub_num + "个");
+              $(".free_num").text(filterObj.free_sub_num + "个");
+            }
             //
             $(".date_value").text(member_endtime);
             //

+ 2 - 2
src/jfw/modules/bigmember/src/entity/marketAnalysis/customizad_distribution.go

@@ -1,6 +1,7 @@
 package marketAnalysis
 
 import (
+	"app.yhyue.com/moapp/jybase/common"
 	"encoding/json"
 	"fmt"
 	"jy/src/jfw/modules/bigmember/src/config"
@@ -11,7 +12,6 @@ import (
 	"sync"
 	"time"
 
-	qutil "app.yhyue.com/moapp/jybase/common"
 	esV7 "github.com/olivere/elastic/v7"
 )
 
@@ -679,7 +679,7 @@ func (mae *MarketAnalysisEntity) BuyerWinnerAnalysis() map[string]interface{} {
 	log.Println("采购单位-中标单位分析报告程序计算耗时===", time.Since(t))
 	rMaps := make(map[string]interface{})
 	rMap.Range(func(key, value interface{}) bool {
-		rMaps[qutil.InterfaceToStr(key)] = value
+		rMaps[common.InterfaceToStr(key)] = value
 		return true
 	})
 	return rMaps

+ 18 - 7
src/jfw/modules/bigmember/src/entity/marketAnalysis/marketAnalysisEntity.go

@@ -586,11 +586,11 @@ func (mae *MarketAnalysisEntity) GetPartResult(flag int) (map[string]interface{}
 			log.Printf("report %s[%d] speed %d ms\n", mae.MgoRecordId, flag, time.Now().Sub(start).Milliseconds())
 		}()
 		//校验报告是否合法
-		if flag != marketScaleMain {
-			if exists, _ := redis.Exists(ReportCacheDB, fmt.Sprintf(ReportCacheKey, mae.MgoRecordId, 1)); !exists {
-				return nil, fmt.Errorf("报告异常请求,请刷新重试")
-			}
-		}
+		//if flag != marketScaleMain {
+		//	if exists, _ := redis.Exists(ReportCacheDB, fmt.Sprintf(ReportCacheKey, mae.MgoRecordId, 1)); !exists {
+		//		return nil, fmt.Errorf("报告异常请求,请刷新重试")
+		//	}
+		//}
 		// 1. 查mongo
 		var rData map[string]interface{}
 		var err error
@@ -684,8 +684,19 @@ func GetMongoColl(flag int) (string, error) {
 func (mae *MarketAnalysisEntity) SaveMongoReport(rData map[string]interface{}, flag int) {
 	collName, _ := GetMongoColl(flag)
 	rData["s_m_id"] = mae.MgoRecordId
-	db.Mgo.Save(collName, rData)
-
+	b, err := json.Marshal(rData)
+	if err != nil {
+		log.Println("JSON marshal error:", err)
+	} else {
+		var saveMap map[string]interface{}
+		err = json.Unmarshal(b, &saveMap)
+		if err != nil {
+			log.Println("JSON Unmarshal error:", err)
+			db.Mgo.Save(collName, rData)
+		} else {
+			db.Mgo.Save(collName, saveMap)
+		}
+	}
 }
 
 // GetAnalyzingReport 是否有正在分析的离线报告

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

@@ -305,7 +305,7 @@ func (this *EntPortrait) BuyerSelects() {
 func (this *EntPortrait) BuyerNewMsg() {
 	userId := qutil.ObjToString(this.GetSession("userId"))
 	rData, errMsg := func() (interface{}, error) {
-		cepm, hasPower, err, _ := entity.CreatePortraitManager(this.Session(), "buyerPortrait")
+		cepm, hasPower, err, _ := entity.CreatePortraitManager(this.Session(), "buyerNewMsg")
 		//if err != nil {
 		//	return nil, err
 		//}

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

@@ -339,7 +339,7 @@ func (this *SubVipPortrait) BuyerNewMsg() {
 		}
 		pageNum, _ := this.GetInteger("pageNum")
 		pageSize, _ := this.GetInteger("pageSize")
-		cepm, power, err, _ := entity.CreateSubVipPortraitManagerForOpen(userId, "buyerPortrait", buyer, false, this.Session())
+		cepm, power, err, _ := entity.CreateSubVipPortraitManagerForOpen(userId, "buyerNewMsg", buyer, false, this.Session())
 		//if err != nil {
 		//	return nil, err
 		//}

+ 31 - 6
src/jfw/modules/bigmember/src/service/report/marketAnalysis.go

@@ -50,7 +50,7 @@ func (this *MarketAnalysis) ProjectInfo() {
 		if rid == "" {
 			return nil, fmt.Errorf("参数异常")
 		}
-		log.Println("-----:", this.GetString("keysItems"))
+		log.Println("keysItems==", this.GetString("keysItems"))
 		//接受参数
 		bParam := marketAnalysis.AnalysisRequestParam{
 			KeysItemsStr:   this.GetString("keysItems"),      //分析内容【字符串】结构和o_member_jy.a_items保持一致
@@ -73,16 +73,20 @@ func (this *MarketAnalysis) ProjectInfo() {
 		//原查询条件
 		maePrimary := &marketAnalysis.MarketAnalysisEntity{MgoRecordId: rid, UId: userId, Pid: pid}
 		if err := maePrimary.GetAnalysisFromMgoDb(); err == nil {
-			if bParam.KeysItemsStr == "" || bParam.KeysItemsStr == "{}" || len([]rune(bParam.KeysItemsStr)) < 2 { //分析内容【字符串】结构和o_member_jy.a_items保持一致
+			if bParam.KeysItemsStr == "" || bParam.KeysItemsStr == "{}" ||
+				bParam.KeysItemsStr == "[]" || len([]rune(bParam.KeysItemsStr)) < 2 { //分析内容【字符串】结构和o_member_jy.a_items保持一致
 				mae.BaseParam.KeysItemsStr = maePrimary.BaseParam.KeysItemsStr
 			}
-			if bParam.Area == "" || bParam.Area == "{}" || len([]rune(bParam.Area)) < 2 { //省份【字符串】多个省份用逗号拼接
+			if bParam.Area == "" || bParam.Area == "{}" ||
+				bParam.Area == "[]" || len([]rune(bParam.Area)) < 2 { //省份【字符串】多个省份用逗号拼接
 				mae.BaseParam.Area = maePrimary.BaseParam.Area
 			}
-			if bParam.Industry == "" || bParam.Industry == "{}" || len([]rune(bParam.Industry)) < 2 { //行业【字符串】多个行业用逗号拼接
+			if bParam.Industry == "" || bParam.Industry == "{}" ||
+				bParam.Industry == "[]" || len([]rune(bParam.Industry)) < 2 { //行业【字符串】多个行业用逗号拼接
 				mae.BaseParam.Industry = maePrimary.BaseParam.Industry
 			}
-			if bParam.BuyerClass == "" || bParam.BuyerClass == "{}" || len([]rune(bParam.BuyerClass)) < 2 { //采购单位类型【字符串】多个采购单位类型用逗号拼接
+			if bParam.BuyerClass == "" || bParam.BuyerClass == "{}" ||
+				bParam.BuyerClass == "[]" || len([]rune(bParam.BuyerClass)) < 2 { //采购单位类型【字符串】多个采购单位类型用逗号拼接
 				mae.BaseParam.BuyerClass = maePrimary.BaseParam.BuyerClass
 			}
 			if bParam.MatchingMode == "" { //匹配模式
@@ -119,6 +123,17 @@ func checkPower(session *httpsession.Session) (string, error) {
 	return bigMeg.Pid, nil
 }
 
+// checkPower 权限校验 增加判断权益 过滤字段
+func checkPowerEquity(session *httpsession.Session) (string, bool, error) {
+	userid := fmt.Sprint(qutil.Int64All(session.Get("base_user_id")))
+	if userid == "" || userid == "0" {
+		return "", false, fmt.Errorf("未登录")
+	}
+	//仅购买《定制化市场分析报告》的大会员有权限
+	bigMeg := jy.GetBigVipUserBaseMsg(session, *config.Middleground)
+	return bigMeg.Pid, bigMeg.PowerMap[26], nil
+}
+
 const (
 	AnalysisStatusRealTime  = 0 // 实时生成
 	AnalysisStatusOffline   = 1 // 离线生成
@@ -282,7 +297,7 @@ func (this *MarketAnalysis) GetAnalysisResult() {
 	userId := qutil.ObjToString(sessVal["userId"])
 	positionId := qutil.IntAll(sessVal["positionId"])
 	rData, errMsg := func() (interface{}, error) {
-		pid, powerErr := checkPower(this.Session())
+		pid, isEquity, powerErr := checkPowerEquity(this.Session())
 		if powerErr != nil {
 			return nil, powerErr
 		}
@@ -300,6 +315,16 @@ func (this *MarketAnalysis) GetAnalysisResult() {
 		if err != nil {
 			return nil, err
 		}
+		if !isEquity && flag != 0 {
+			newData := make(map[string]interface{})
+			var keyArr = []string{"market_profile", "month_distribution", "year_distribution", "scaleBuyclassAmountTop", "customer_scale_other", "buyer_time_distribution", "winner_time_distribution", "scaleBuyclassCountTop", "customer_scale"}
+			for _, key := range keyArr {
+				if vs, ok := rData[key]; ok {
+					newData[key] = vs
+				}
+			}
+			return newData, nil
+		}
 		return rData, nil
 	}()
 	if errMsg != nil {

+ 2 - 1
src/jfw/modules/subscribepay/src/config.json

@@ -198,5 +198,6 @@
     "saleDep": {
       "040000": true
     }
-  }
+  },
+  "newOrderTime": 1709827200
 }

+ 2 - 0
src/jfw/modules/subscribepay/src/config/config.go

@@ -145,6 +145,8 @@ type config struct {
 		} `json:"sms"` // 短信配置
 		SaleDep map[string]bool // 代用户下单业绩归属部门配置 只有业绩归属为运营部才赠送
 	} `json:"equityActive"` // p459赠送视频权益活动配置
+
+	NewOrderTime int64 `json:"newOrderTime"`
 }
 type mgoConf struct {
 	Address           string

+ 11 - 6
src/jfw/modules/subscribepay/src/service/orderListDetails.go

@@ -846,7 +846,7 @@ func (o *OrderListDetails) GetBidfileDetail() {
 }
 
 //bigm:0大会员订单详情页 1剑鱼币订单 3企业商机管理详情页 4订单数据展示(订单详情页面)
-func CommonDetail(bigm int, fields, userId, order_code string, session *httpsession.Session) (data, time map[string]interface{}, transaction_id string) {
+func CommonDetail(bigm int, fields, userId, order_code string, session *httpsession.Session) (data, timeMap map[string]interface{}, transaction_id string) {
 	//userId := qutil.ObjToString(o.GetSession("userId"))
 	data = map[string]interface{}{}
 	if userId != "" {
@@ -857,8 +857,13 @@ func CommonDetail(bigm int, fields, userId, order_code string, session *httpsess
 				info["user_id"] = userId
 			}
 			data = *util.Mysql.FindOne(tableName_order, info, fields, "")
-
 			if data != nil {
+				layout := "2006-01-02 15:04:05"
+				create_time := qutil.InterfaceToStr(data["create_time"])
+				t, err := time.Parse(layout, create_time)
+				if err == nil {
+					data["isNewOrder"] = qutil.If(t.Unix() >= config.Config.NewOrderTime, true, false)
+				}
 				data["source"] = LastInvoiceSource(qutil.InterfaceToStr(data["order_code"]))
 				if bigm == 0 || bigm == 4 {
 					//查询回款记录
@@ -925,9 +930,9 @@ func CommonDetail(bigm int, fields, userId, order_code string, session *httpsess
 						}
 					}
 					if qutil.IntAll(data["order_status"]) == 1 {
-						time = map[string]interface{}{}
-						time["vip_endtime"] = data["vip_endtime"]
-						time["vip_starttime"] = data["vip_starttime"]
+						timeMap = map[string]interface{}{}
+						timeMap["vip_endtime"] = data["vip_endtime"]
+						timeMap["vip_starttime"] = data["vip_starttime"]
 					}
 					delete(data, "_id")
 					transaction_id = getPayTransactionId(qutil.ObjToString(data["pay_way"]), qutil.ObjToString(data["out_trade_no"]))
@@ -942,7 +947,7 @@ func CommonDetail(bigm int, fields, userId, order_code string, session *httpsess
 			}
 		}
 	}
-	return data, time, transaction_id
+	return data, timeMap, transaction_id
 }
 
 func (o *OrderListDetails) JyPoint() {

+ 8 - 3
src/web/staticres/big-member/js/unit_portrayal.js

@@ -213,11 +213,15 @@ var vNode = {
                 return v.topData.length
             })
         },
+        getActiveRoot: function () {
+          return this.power.includes(24) || this.power.includes(25)
+        },
         getStatus: function () {
           var info = this.userInfo
           var isFreeAuth = info.isFree && info.freeBuyerPort > 0
           var isVipAuth = info.vipStatus > 0 && info.viper && this.usageInfo.surplus > 0
-          var isMember = this.power.indexOf(5)  !== -1
+          const hasPower = this.power.includes(5)
+          var isMember = this.power && hasPower
           // 超级订阅用户是否访问过该画像
           var vipTrial = info.vipStatus > 0 && info.viper && this.usageInfo.surplus <= 0 && this.usageInfo.visited
           // 免费用户是否查看过该画像
@@ -596,7 +600,7 @@ var vNode = {
         goProjectPage: function () {
           // 无权限的弹出弹框提醒
           let _this = this
-          if (this.getStatus) {
+          if (this.getStatus && !getActiveRoot) {
             var u = this.usageInfo
             if (u.usage >= u.total && u.balance >= 0) {
               this.$dialog.confirm({
@@ -814,7 +818,8 @@ var vNode = {
           var data = {
             buyer: decodeURIComponent(utils.getParam('entName'))
           }
-          var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
+          const hasRoot = this.power.includes(5) || this.power.includes(24) || this.power.includes(25) || this.power.includes(4)
+          var isMember = this.bigStatus > 0 && hasRoot
           $.ajax({
             type:'POST',
             url: isMember ? '/bigmember/portrait/buyer/getData' : '/bigmember/subVipPortrait/buyer/getData',

+ 5 - 2
src/web/staticres/common-module/collection/js/ent_portrait.js

@@ -796,7 +796,9 @@ var vNode = {
       location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=ent_portrait_freeuser';
     },
     canReadConf13: function () {
-      if (this.powerInfo.power.indexOf(13) != -1) {
+      const { power } = this.powerInfo
+      const hasPower = power.includes(13) || power.includes(21) || power.includes(4)
+      if (hasPower) {
         // 获取企业中标动态-13
         this.conf._13 = true
       }
@@ -832,7 +834,8 @@ var vNode = {
                 _this.conf._4 = true
               //}
               _this.canReadConf13()
-              if (power.indexOf(12) != -1) {
+              const hasPower = power.includes(12) || power.includes(20) || power.includes(23) || power.includes(4)
+              if (hasPower) {
                 // 获取企业情报历史记录(工商变动)-12
                 _this.conf._12 = true
               }

+ 22 - 11
src/web/staticres/common-module/order-list/js/order-list.js

@@ -2580,22 +2580,33 @@ var vm = new Vue({
         split: ':',
         text: '-'
       }
-      var payCount = {
-        label: '付费账号',
-        split: ':',
-        text: filterInfo.pay_sub_num + ' 个'
-      }
-      var freeCount = {
-        label: '免费账号',
-        split: ':',
-        text: filterInfo.free_sub_num + ' 个'
+      if(order.isNewOrder == '1' && order.buy_count) {
+        var buyCount = {
+          label: '购买数量',
+          split: ':',
+          text: order.buy_count + '个'
+        }
+      } else {
+        var payCount = {
+          label: '付费账号',
+          split: ':',
+          text: filterInfo.pay_sub_num + ' 个'
+        }
+        var freeCount = {
+          label: '免费账号',
+          split: ':',
+          text: filterInfo.free_sub_num + ' 个'
+        }
       }
 
       if (order.vip_endtime && order.order_status == 1) {
         date.text = new Date(order.vip_endtime.replace(/(\.|-)/g, '/')).pattern('yyyy/MM/dd') + '到期'
       }
-
-      return [levelInfo, date, payCount, freeCount]
+      if(order.buy_count) {
+        return [levelInfo, date, buyCount]
+      } else {
+        return [levelInfo, date, payCount, freeCount]
+      }
     },
     // 招标文件解读订单卡片信息整理
     getZBFileAnalysisInfo: function (order) {

+ 2 - 2
src/web/staticres/common-module/public/js/big-service-list.js

@@ -176,7 +176,7 @@ var serviceListData = [
         "name": "市场分析月报"
       },
       {
-        "id": 10,
+        "id": 26,
         "name": "市场分析定制报告"
       },
       {
@@ -312,4 +312,4 @@ var serviceListData = [
       }
     ]
   }
-]
+]

+ 6 - 3
src/web/staticres/common-module/report-analysis/js/report_analysis.js

@@ -296,7 +296,7 @@ var vm = new Vue({
     },
     getStatus: function () {
       if (JSON.stringify(this.powerInfo) !== '{}') {
-        return this.powerInfo.power.indexOf(10) !== -1
+        return this.powerInfo.power.indexOf(26) !== -1
       }
     },
     anchorTopList: function () {
@@ -339,11 +339,13 @@ var vm = new Vue({
     },
     buyerclassSectionShow () {
       const winnerState = this.sections.buyerclass
-      return winnerState.dataAlready && winnerState.projectCountTop3 && winnerState.projectAmountTop3
+      // return winnerState.dataAlready && winnerState.projectCountTop3 && winnerState.projectAmountTop3
+      return winnerState.dataAlready && winnerState.chartData
     },
     winnerSectionShow () {
       const winnerState = this.sections.winner
-      return winnerState.dataAlready && winnerState.projectCountTop3 && winnerState.projectAmountTop3
+      // return winnerState.dataAlready && winnerState.projectCountTop3 && winnerState.projectAmountTop3
+      return winnerState.dataAlready && winnerState.chartData
     },
     overviewRateTotal: function () {
       var total = 0
@@ -1503,6 +1505,7 @@ var vm = new Vue({
     },
     // 城市分布
     sortAreaCityScatter (areacitylist) {
+      if(!areacitylist) return
       const list = areacitylist
       const ZXS = ['北京', '天津', '上海', '重庆', '台湾', '澳门', '香港']
       const result  = list.reduce((max, item) => {

+ 16 - 8
src/web/templates/pc/member_orderDetail.html

@@ -151,12 +151,12 @@
                 <div class="clearfix list_tbody">
                     <div class="filter_data">
                         <p><span class="cp_text">产品类型:</span><span class="name">大会员</span></p>
-                        <p class="num_text" style="display:none;"><span>购买数量:</span><span class="buy_num"></span></p>
                         <p><span class="dq_text">会员套餐:</span><span class="level"></span></p>
                         <p><span class="hy_text">订阅周期:</span><span class="cycle"></span></p>
                         <p><span class="zq_text">有效周期:</span><span class="real_cycle"></span></p>
                         <p class="pay_p"><span >付费账号:</span><span class="pay_num"></span></p>
                         <p class="free_p"><span >免费账号:</span><span class="free_num"></span></p>
+                        <p class="num_text" style="display:none;"><span>购买数量:</span><span class="buy_num"></span></p>
                         <p class="service_p" style="display:none;"><span >服务列表:</span><span class="servicename" style="display: flex;flex-direction: column;"></span></p>
                     </div>
                 </div>
@@ -220,15 +220,23 @@
                     level_map.set(5, "自定义");
                     level_map.set(6, "商机版2.0");
                     level_map.set(7, "专家版2.0");
-                    if (filterObj.free_sub_num){
-                      $(".free_num").text(filterObj.free_sub_num+"个");
-                    }else{
+                    if(r.data.isNewOrder == '1' && r.data.buy_count) {
+                      $('.num_text').show()
+                      $('.buy_num').text(r.data.buy_count+"个");
                       $(".free_p").hide();
-                    }
-                    if (filterObj.pay_sub_num){
-                      $(".pay_num").text(filterObj.pay_sub_num+"个");
-                    }else{
                       $(".pay_p").hide();
+                    } else {
+                      $('.num_text').hide();
+                      if (filterObj.free_sub_num){
+                        $(".free_num").text(filterObj.free_sub_num+"个");
+                      }else{
+                        $(".free_p").hide();
+                      }
+                      if (filterObj.pay_sub_num){
+                        $(".pay_num").text(filterObj.pay_sub_num+"个");
+                      }else{
+                        $(".pay_p").hide();
+                      }
                     }
 
                     if (r.data.create_time) {

+ 7 - 2
src/web/templates/pc/myOrder.html

@@ -415,8 +415,13 @@
                   <div class="fl shop_main" v-if="item.product_type === '大会员-子账号'">
                     <p style="line-height: 24px;">会员套餐:@#item.memberChildInfo.level#@</p>
                     <p style="line-height: 24px;">有效日期:@#item.memberChildInfo.endTime#@到期</p>
-                    <p style="line-height: 24px;">付费账号:@#item.memberChildInfo.fee#@个</p>
-                    <p style="line-height: 24px;">免费账号:@#item.memberChildInfo.free#@个</p>
+                    <div v-if="item.buy_count">
+                      <p style="line-height: 24px;">购买数量:@#item.buy_count#@个</p>
+                    </div>
+                    <div v-else>
+                      <p style="line-height: 24px;">付费账号:@#item.memberChildInfo.fee#@个</p>
+                      <p style="line-height: 24px;">免费账号:@#item.memberChildInfo.free#@个</p>
+                    </div>
                   </div>
                   <div class="fl shop_main" v-if="item.product_type === '招标文件解读'">
                     <p style="line-height: 24px;">产品类型:@#item.product_type#@</p>

+ 13 - 2
src/web/templates/pc/subAccount_orderDetail.html

@@ -94,8 +94,13 @@
                         <p><span class="cp_text">产品类型:</span><span class="name">大会员子账号</span></p>
                         <p><span class="dq_text">会员套餐:</span><span class="level"></span></p>
                         <p><span class="zq_text">有效周期:</span><span class="real_cycle"></span></p>
-                        <p><span class="zq_text">付费子账号数量:</span><span class="pay_num"></span></p>
-                        <p><span class="zq_text">免费子账号数量:</span><span class="free_num"></span></p>
+                        <div class="has_buy_count" style="display: none;">
+                          <p><span class="buy_text">购买数量:</span><span class="buy_count"></span></p>
+                        </div>
+                        <div class="has_no_count" style="display: none;">
+                          <p><span class="zq_text">付费子账号数量:</span><span class="pay_num"></span></p>
+                          <p><span class="zq_text">免费子账号数量:</span><span class="free_num"></span></p>
+                        </div>
                     </div>
                 </div>
             </div>
@@ -171,6 +176,12 @@
                     $(".real_cycle").text(member_endtime);
                     $(".free_num").text(filterObj.free_sub_num+"个");
                     $(".pay_num").text(filterObj.pay_sub_num+"个");
+                    if(r.data.isNewOrder == '1' && r.data.buy_count) {
+                      $('.has_buy_count').show()
+                      $('.buy_count').text(r.data.buy_count + '个')
+                    } else {
+                      $('.has_no_count').show()
+                    }
 
                     if (r.data.order_status === 1) {
                         $("#status_success").removeClass("hide");

+ 21 - 21
src/web/templates/weixin/member/memberdetail.html

@@ -159,10 +159,6 @@
                             <span>会员套餐:</span>
                             <span class="item-list-parents level_value value"></span>
                         </p>
-                        <p class="l-item line_num membernum">
-                          <span>购买数量:</span>
-                          <span class="item-list-parents buy_num_value value"></span>
-                        </p>
                         <p class="l-item line_cycle s_cycle">
                             <span>订阅周期:</span>
                             <span class="item-list-parents cycle_value value"></span>
@@ -179,6 +175,10 @@
                             <span>免费账号:</span>
                             <span class="item-list-parents free_num value"></span>
                         </p>
+                        <p class="l-item line_num membernum">
+                          <span>购买数量:</span>
+                          <span class="item-list-parents buy_num_value value"></span>
+                        </p>
                         <p class="l-item service_p" style="display:none;border: 0;">
                           <span>服务列表:</span>
                           <!-- <span class="item-list-parents servicename value"></span> -->
@@ -329,15 +329,6 @@
               //level="自定义-"+r.data.combo;
             //}
             $(".level_value").text(level);
-            //购买数量
-            if(r.data.buy_subject=='2'){
-              $('.membernum').show();
-              $('.buy_num_value').text(r.data.buy_count+'人')
-
-            }else{
-              $('.membernum').hide();
-
-            }
             var cycle = r.data.cycle;
             if (filterObj.level === 4) {
                 cycle += "天"
@@ -356,15 +347,24 @@
             //
             $(".date_value").text(member_endtime);
             //
-            if (filterObj.free_sub_num) {
-                $(".free_num").text(filterObj.free_sub_num + "个");
-            } else {
-                $(".free_p").hide();
-            }
-            if (filterObj.pay_sub_num) {
-                $(".pay_num").text(filterObj.pay_sub_num + "个");
+            //购买数量
+            if(r.data.isNewOrder == '1' && r.data.buy_count) {
+              $('.membernum').show();
+              $('.buy_num_value').text(r.data.buy_count+'个')
+              $(".free_p").hide();
+              $(".pay_p").hide();
             } else {
-                $(".pay_p").hide();
+              $('.membernum').hide();
+              if (filterObj.free_sub_num) {
+                  $(".free_num").text(filterObj.free_sub_num + "个");
+              } else {
+                  $(".free_p").hide();
+              }
+              if (filterObj.pay_sub_num) {
+                  $(".pay_num").text(filterObj.pay_sub_num + "个");
+              } else {
+                  $(".pay_p").hide();
+              }
             }
             //
             if (r.data.order_status == 1) {

+ 24 - 10
src/web/templates/weixin/member/subAccountDetail.html

@@ -85,14 +85,22 @@
                             <span>有效周期:</span>
                             <span class="item-list-parents date_value value"></span>
                         </p>
-                        <p class="l-item line_cycle">
-                            <span class=" label">付费子账号<br/>数量:</span>
-                            <span class="item-list-parents pay_num value"></span>
-                        </p>
-                        <p class="l-item line_cycle">
-                            <span class=" label">免费子账号<br/>数量:</span>
-                            <span class="item-list-parents free_num value"></span>
-                        </p>
+                        <div class="has_buy_count" style="display: none;">
+                          <p class="l-item">
+                              <span class=" label">购买数量:</span>
+                              <span class="item-list-parents buy_num value"></span>
+                          </p>
+                        </div>
+                        <div class="has_no_count" style="display: none;">
+                          <p class="l-item line_cycle">
+                              <span class=" label">付费子账号<br/>数量:</span>
+                              <span class="item-list-parents pay_num value"></span>
+                          </p>
+                          <p class="l-item line_cycle">
+                              <span class=" label">免费子账号<br/>数量:</span>
+                              <span class="item-list-parents free_num value"></span>
+                          </p>
+                        </div>
                     </div>
                 </div>
                 <div class="bottom">
@@ -204,8 +212,14 @@
             $(".cycle_value").text(r.data.cycle + " 年");
             //
             $(".date_value").text(member_endtime+ " 到期");
-            $(".pay_num").text(filterObj.pay_sub_num + "个");
-            $(".free_num").text(filterObj.free_sub_num + "个");
+            if(r.data.isNewOrder == '1' && r.data.buy_count) {
+              $('.has_buy_count').show()
+              $('.buy_num').text(r.data.buy_count + '个')
+            } else {
+              $('.has_no_count').show()
+              $(".pay_num").text(filterObj.pay_sub_num + "个");
+              $(".free_num").text(filterObj.free_sub_num + "个");
+            }
             //
             if (r.data.order_status == 1) {
                 $("#card-header-bg").addClass("bg finish-bg");