瀏覽代碼

Merge branch 'master' into feature/v4.8.91

lianbingjie 1 年之前
父節點
當前提交
409e1a199d

+ 5 - 0
src/index.yaml

@@ -21,6 +21,11 @@ topMenu:
         href: /list/stype/ZFCG.html
   - title: 项目专区
     child:
+      - name: 审批项目
+        href: /list/spxm/
+      - name: 推荐项目
+        href: /list/tjxm/
+        class: red
       - name: 业主委托项目
         href: /list/yzxm/
       - name: 热门项目

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

@@ -33,6 +33,14 @@
           href="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/vipsubscribe/css/vip_order_detail.css?v={{Msg "seo" "version"}}">
 </head>
 <style>
+  .jy-app-header{
+    background-color: #fff!important;
+    color: #1d1d1d;
+  }
+  .jy-app-header.header-transparent {
+    background-color: transparent!important;
+    color: #fff;
+  }
     .j-footer {
         display: none;
     }
@@ -58,10 +66,75 @@
     .page.pinch-zoom-parent .pinch-zoom-container {
         height: 100% !important;
     }
+    .service-table{
+      width: 100%;
+      border-spacing: 0;
+      border: 1px solid #E6E6E6;
+    }
+    .service-table .thead{
+      height: .64rem;
+      background-color: #F5F6F7;
+    }
+    .jy-icon-tick{
+      display: inline-block;
+      width: .32rem;
+      height: .32rem;
+      background: url(/jyapp/images/wxkeyset/right.png) no-repeat center;
+      background-size: contain;
+    }
+    .service-map{
+      display: flex;
+      align-items: center;
+      border-bottom: 1px solid #E6E6E6;
+    }
+    .service-table .first {
+      width: 1.6rem;
+      text-align: center;
+    }
+    .service-table .second {
+      width: 2.64rem;
+    }
+    .service-table .third {
+      width: 2.14rem;
+    }
+    .service-table td:nth-child(1){
+      vertical-align: middle;
+      border-bottom: 1px solid #E6E6E6;
+      border-right: 1px solid #E6E6E6;
+    }
+    .service-table .first,
+    .service-table .second,
+    .service-table .third{
+      padding: .12rem .2rem;
+      text-align: center;
+      line-height: .4rem;
+      font-size: .26rem;
+      color: #171826;
+      border-right: 1px solid #ececec;
+    }
+    .service-table .second,
+    .service-table .third{
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
+    .service-table .third{
+      border-right: 0;
+    }
+    .service-table tr:last-child td,
+    .service-table tr:last-child .service-map:last-child{
+      border-bottom: 0;
+    }
+    .service-table .thead td,
+    .service-table .thead .second,
+    .service-table .thead .third{
+      white-space: nowrap;
+      color: #9B9CA3;
+    }
 </style>
 <body>
 <div class="j-container" id="order_detail">
-    <div class="j-header jy-app-header">
+    <div class="j-header jy-app-header header-transparent">
         <span class="header-left iconfont icon-fanhui"></span>
         <span class="header-title">订单详情</span>
         <span class="header-right"></span>
@@ -110,9 +183,12 @@
                             <span>免费账号:</span>
                             <span class="item-list-parents free_num value"></span>
                         </p>
-                        <p class="l-item service_p" style="display:none;">
+                        <p class="l-item service_p" style="display:none;border: 0;">
                             <span>服务列表:</span>
-                            <span class="item-list-parents servicename value"></span>
+                            <!-- <span class="item-list-parents servicename value"></span> -->
+                        </p>
+                        <p class="l-item service_p" style="display:none;border: 0;">
+                          <span class="item-list-parents servicename"></span>
                         </p>
                     </div>
                 </div>
@@ -171,9 +247,23 @@
 <!--<script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/fastclick.min.js"></script>-->
 <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/local/weui.min.js"></script>
 <script src="{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/js/common.js?v={{Msg "seo" "mod_version"}}"></script>
-
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/public/js/big-service-list.js?v={{Msg "seo" "mod_version"}}'></script>
 </html>
 <script>
+  // console.log('服务列表', serviceListData)
+    // 去重
+    function removeRepeat(tempArr) {
+      var newArr = [];
+      for (var i = 0; i < tempArr.length; i++) {
+        if (newArr.indexOf(tempArr[i].name) == -1) {
+            newArr.push(tempArr[i].name);
+        } else {
+            tempArr.splice(i, 1);
+            i--;
+        };
+      };
+      return tempArr;
+    };
     var orderCode = getParam("order_code");
     $(function () {
         $.post("/subscribepay/orderListDetails/getMemberDetail", {"order_code": orderCode}, function (r) {
@@ -188,11 +278,43 @@
                 var buchongbaoHtml = '';
                 if (filterObj.level==5){
                   var serversName = filterObj.serversName;
-                  if (serversName) {
-                      var svnArr = serversName.split(",")
-                      for (var i = 0; i < svnArr.length; i++) {
-                          buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                  var serversId = filterObj.serversId
+                  var buySubject = r.data.buy_subject // 购买主体;1:个人 2:企业
+                  var sourceData = JSON.parse(JSON.stringify(serviceListData))
+                  if (serversId) {
+                      // var svnArr = serversName.split(",")
+                      // for (var i = 0; i < svnArr.length; i++) {
+                      //     buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                      // }
+
+                      // [20,23]:企业情报监控 [13,21]:企业中标动态
+                      // 现在需求定义 企业情报监控 = 企业中标动态 + 企业情报监控
+                      // 13和21同时存在 13和23同时存在 需要去重 否则会展示两次企业情报监控
+                      var sId = serversId.split(',')
+                      var filterData = sourceData.filter(function(v) {
+                        v.serverMap = v.serverMap.filter(function(s) {
+                          return (s.id === -1 || sId.indexOf(s.id.toString()) > -1) && v.subject.indexOf(buySubject) > -1
+                        })
+                        // 将重复的二级服务分类通过名称name去重(目前仅有企业情报监控)
+                        v.serverMap = removeRepeat(v.serverMap)
+                        return v && v.serverMap.length > 0
+                      })
+                      buchongbaoHtml += '<table class="service-table"><tr class="thead"><td class="first">服务分类</td><td><div class="service-map"><span class="second">服务项目</span><span class="third">大会员自定义版</span></div></td></tr>'
+                      for (var i = 0; i < filterData.length; i++) {
+                          buchongbaoHtml += '<tr><td class="first">' + filterData[i].topName + '</td><td>'
+                          for (var j = 0; j < filterData[i].serverMap.length; j++) {
+                            var level = filterData[i].serverMap[j]
+                            buchongbaoHtml += '<div class="service-map">'
+                            buchongbaoHtml += '<div class="second">' + level.name  + '</div>'
+                            if (level.num) {
+                              buchongbaoHtml += '<div class="third">' + level.num  + '</div></div>'
+                            } else {
+                              buchongbaoHtml += '<div class="third"><span class="jy-icon-tick"></span></div></div>'
+                            }
+                          }
+                          buchongbaoHtml += '</td></tr>'
                       }
+                      buchongbaoHtml += '</table>'
                   }
                 }
                 // 活动角标
@@ -446,6 +568,30 @@
         $(".page.pinch-zoom-parent").on("click", function () {
             $(this).css("display", "none");
         })
+        // 监听页面滚动
+        var addEvent = (function(){
+          if(window.addEventListener){
+            return function(elm, type, handle){
+            elm.addEventListener(type, handle, false);
+          }
+          }
+          if(window.attachEvent){
+            return function(elm, type, handle){
+              elm.attachEvent('on' + type, handle);
+            }
+          }
+        })();
+        var div = document.querySelector('.j-body');
+        addEvent(div,'scroll', function(){
+          var scrollHeight = div.scrollHeight;
+          var scrollTop    = div.scrollTop;
+          var height       = div.offsetHeight;
+          if(scrollTop>=80) {
+            $('.jy-app-header').removeClass('header-transparent')
+          }else {
+            $('.jy-app-header').addClass('header-transparent')
+          }
+        });
     })
 
     //苹果端  刷新js

+ 1 - 1
src/jfw/modules/app/src/web/templates/vipsubscribe/vip_index_new.html

@@ -298,6 +298,7 @@
               </li>
             </ul>
           </li>
+          <sub-component ref="subComponent"  get-container="body" :linkobj="linkObj" :initdata="initData" :v-switch="vSwitch" @back-init="refreshInitdata"></sub-component>
           <div class="provincePayWarp" v-show="userType">
             <span class="provincePayTips">省份订阅包</span>
             <div class="provincePay">
@@ -311,7 +312,6 @@
               </div>
             </div>
           </div>
-          <sub-component ref="subComponent"  get-container="body" :linkobj="linkObj" :initdata="initData" :v-switch="vSwitch" @back-init="refreshInitdata"></sub-component>
           <li class="body-item" id="giveTimeBox" style="display: none;margin-top: 0.16rem;">
             <div class="item-container" href="javascript:;">
               <div class="item">

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

@@ -0,0 +1,290 @@
+/**
+ * 大会员会员服务列表(整合版)
+ * 数据来自:https://doc.weixin.qq.com/sheet/e3_AOMAegYdAAYsE0riAxxR70xEtjptq?scode=AF8AIQe9AA0EEJt3peAOMAegYdAAY&tab=y8ferv
+ * 应用场景:订单详情-自定义大会员服务列表展示
+ * @topName 一级分类
+ * @id 二级服务分类服务id (-1代表所有会员权限都有)
+ * @name 二级服务分类名称
+ * @num  服务项目对应数量
+ * @subject 1:个人 2:企业
+ */
+var serviceListData = [
+  {
+    "topName": "项目信息",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "拟在建项目"
+      },
+      {
+        "id": -1,
+        "name": "推荐项目"
+      },
+      {
+        "id": -1,
+        "name": "业主委托项目"
+      },
+      {
+        "id": -1,
+        "name": "审批项目"
+      }
+    ]
+  },
+  {
+    "topName": "招标采购信息",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "采购意向"
+      },
+      {
+        "id": -1,
+        "name": "招标预告"
+      },
+      {
+        "id": -1,
+        "name": "招标公告"
+      },
+      {
+        "id": -1,
+        "name": "招标结果"
+      },
+      {
+        "id": -1,
+        "name": "询价采购"
+      },
+      {
+        "id": -1,
+        "name": "谈判采购"
+      },
+      {
+        "id": -1,
+        "name": "企业采购"
+      },
+      {
+        "id": -1,
+        "name": "招标信用信息"
+      }
+    ]
+  },
+  {
+    "topName": "业务拓展",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": 14,
+        "name": "招标/采购进度监控<br>(项目进度监控)",
+        "num": '500个'
+      },
+      {
+        "id": 22,
+        "name": "招标/采购进度监控<br>(项目进度监控)",
+        "num": '100个'
+      },
+      {
+        "id": 20, // 企业企业情报监控 20跟21同时存在
+        "name": "企业情报监控",
+        "num": '100个'
+      },
+      {
+        "id": 21, // 企业中标动态 20跟21同时存在
+        "name": "企业情报监控",
+        "num": '100个'
+      },
+      {
+        "id": 13, // 企业中标动态 13跟23同时存在
+        "name": "企业情报监控",
+        "num": '500个'
+      },
+      {
+        "id": 23, // 企业企业情报监控 13跟23同时存在
+        "name": "企业情报监控",
+        "num": '500个'
+      },
+      {
+        "id": 9,
+        "name": "潜在项目预测"
+      },
+      {
+        "id": 4,
+        "name": "企业人脉信息<br>(企业通讯录)"
+      },
+      {
+        "id": 19,
+        "name": "企业人脉信息<br>(企业通讯录)"
+      },
+      {
+        "id": 5,
+        "name": "业主人脉信息<br>(采购单位通讯录)"
+      },
+      {
+        "id": 7,
+        "name": "潜在客户挖掘"
+      },
+      {
+        "id": 8,
+        "name": "潜在竞争对手/合作伙伴挖掘"
+      },
+      {
+        "id": -1,
+        "name": "招标采购信息发布"
+      },
+      {
+        "id": -1,
+        "name": "供应信息发布",
+        "num": "30条/月"
+      }
+    ]
+  },
+  {
+    "topName": "营销分析",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": 10,
+        "name": "市场分析周报"
+      },
+      {
+        "id": 10,
+        "name": "市场分析月报"
+      },
+      {
+        "id": 10,
+        "name": "市场分析定制报告"
+      },
+      {
+        "id": 4, // 原企业全景分析500个
+        "name": "企业分析<br>(企业画像-中标分析)"
+      },
+      {
+        "id": 19, // 原企业全景分析100个
+        "name": "企业分析<br>(企业画像-中标分析)"
+      },
+      {
+        "id": 5,
+        "name": "业主分析<br>(采购单位画像-采购分析)"
+      },
+      {
+        "id": 6,
+        "name": "投标决策分析"
+      },
+      {
+        "id": 15,
+        "name": "中标企业预测",
+        "num": "200次"
+      }
+    ]
+  },
+  {
+    "topName": "标讯服务",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "高级搜索"
+      },
+      {
+        "id": 3,
+        "name": "附件下载"
+      },
+      {
+        "id": -1,
+        "name": "查看原文链接"
+      },
+      {
+        "id": -1,
+        "name": "标讯收藏",
+        "num": "5000条"
+      },
+      {
+        "id": -1,
+        "name": "服务平台"
+      }
+    ]
+  },
+  {
+    "topName": "秘书服务",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "标讯订阅",
+        // "num": "订阅区域:全国<br>关键词:300组<br>信息推送:3000条/天"
+      },
+      {
+        "id": -1,
+        "name": "订阅关键词优化"
+      },
+      {
+        "id": -1,
+        "name": "产品操作培训"
+      },
+      {
+        "id": -1,
+        "name": "资深客服服务"
+      },
+      {
+        "id": -1,
+        "name": "微信提醒"
+      },
+      {
+        "id": -1,
+        "name": "APP提醒"
+      },
+      {
+        "id": -1,
+        "name": "邮件提醒"
+      }
+    ]
+  },
+  {
+    "topName": "专家服务",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "招投标攻略"
+      }
+    ]
+  },
+  {
+    "topName": "数据服务",
+    "subject": [1, 2],
+    "serverMap": [
+      {
+        "id": 17,
+        "name": "数据导出",
+        "num": '100条/天'
+      },
+      {
+        "id": 18,
+        "name": "数据导出",
+        "num": '200条/天'
+      }
+    ]
+  },
+  {
+    "topName": "企业管理",
+    "subject": [2],
+    "serverMap": [
+      {
+        "id": -1,
+        "name": "企业订阅分发"
+      },
+      {
+        "id": -1,
+        "name": "账号使用统计"
+      },
+      {
+        "id": -1,
+        "name": "企业协作"
+      },
+      {
+        "id": -1,
+        "name": "年终报告"
+      }
+    ]
+  }
+]

+ 34 - 4
src/web/staticres/css/pc/index.css

@@ -1265,17 +1265,18 @@ cursor: pointer;
 }
 
 #close2x {
-  width: 30px;
-  height: 30px;
+  width: 24px;
+  height: 24px;
   position: absolute;
   left: 50%;
   bottom: -40px;
-  margin-left: -15px;
+  margin-left: -12px;
   cursor: pointer;
   display: none;
   z-index: 1000;
 }
 
+
 .tans {
   position: fixed;
   top: 0;
@@ -1300,11 +1301,40 @@ cursor: pointer;
   z-index: 1001;
 }
 
+/* 支持全屏 */
+.pc_tc_master.support-full {
+  width: 100%;
+  min-width: 1200px;
+}
+.pc_tc_master.support-full .f-img {
+  width: 100%;
+  min-width: 100%;
+  max-width: 100%;
+  height: auto;
+  max-height: 800px;
+}
+.pc_tc_master.support-full #close2x {
+  position: fixed;
+  top: 40px;
+  right: 40px;
+  left: unset;
+  bottom: unset;
+}
+.pc_tc_master.support-full .tc_master {
+  width: 100% !important;
+  height: auto !important;
+  background-image: unset !important;
+}
+.pc_tc_master.support-full {
+  top: unset;
+  bottom: 0;
+  left: 0;
+  margin: 0 !important;
+}
 /*主弹窗*/
 .tc_master {
   width: 621px;
   height: 209px;
-  background: url();
   background-size: cover;
   border-radius: 8px;
   cursor: pointer;

二進制
src/web/staticres/images/pc/close-icon.png


+ 10 - 2
src/web/staticres/js/pc-collect-user-info.js

@@ -428,7 +428,8 @@ var vm = new Vue({
         'bidmanagement-landingpage':'请留下联系方式,我们会尽快联系您体验投标项目管理全部功能!',
         'businesscooperation-landingpage': '无',
         'customermanagement-landingpage': '请留下联系方式,我们会尽快联系您体验客户管理全部功能!',
-        'digitalmarketing-landingpage': '请留下联系方式,我们会尽快联系您体验数字化营销全部功能!'
+        'digitalmarketing-landingpage': '请留下联系方式,我们会尽快联系您体验数字化营销全部功能!',
+        'pc_ServiceList_experience': '请留下您的信息,我们将为您推荐最符合您业务需求的产品和服务!'
       },
       isRefresh: false, // 留完资是否需要刷新页面
       sourceDescMap: {
@@ -438,7 +439,8 @@ var vm = new Vue({
         'bidmanagement-landingpage': '投标项目管理落地页',
         'businesscooperation-landingpage': '商务合作落地页',
         'customermanagement-landingpage': '客户管理落地页',
-        'digitalmarketing-landingpage': '数字化营销落地页'
+        'digitalmarketing-landingpage': '数字化营销落地页',
+        'pc_ServiceList_experience': 'PC服务列表-申请免费体验'
       }
     }
   },
@@ -519,6 +521,9 @@ var vm = new Vue({
         if(this.source === 'customermanagement-landingpage'){
           return ' 我们会尽快联系您并预约演示时间,请耐心等待~<br>您将获得免费体验客户管理全部功能!'
         }
+        if(this.source === 'pc_ServiceList_experience'){
+          return '已收到您提交的剑鱼产品免费体验申请,我们会尽快联系您并预约演示时间。'
+        }
         return '我们会尽快联系您并预约演示时间,请耐心等待~<br>您将获得免费体验大会员全部功能!'
       }
     },
@@ -624,6 +629,9 @@ var vm = new Vue({
           this.dialogTitle = text
           this.dialogTitleTop = '欢迎体验剑鱼数字化营销'
 
+        } else if(source === 'pc_ServiceList_experience') {
+          this.dialogTitle = text
+          this.dialogTitleTop = '申请免费体验剑鱼产品'
         }
         // else if (source.indexOf("article_collection") > -1){
         //   this.dialogTitle = text

File diff suppressed because it is too large
+ 172 - 649
src/web/staticres/serviceSystem/css/serviceSystem.css


二進制
src/web/staticres/serviceSystem/img/bottom_bg.png


+ 81 - 87
src/web/staticres/serviceSystem/js/serviceSystem.js

@@ -1,5 +1,5 @@
 
-var vm = new Vue({
+var vNode = new Vue({
     el: '.serviceSystem_box',
     delimiters: ['{', '}'],
     data: function () {
@@ -18,13 +18,15 @@ var vm = new Vue({
             isbuy_big: false,
             dy_img: '',
             vipshow: false,
-            type: ''
-
+            type: '',
+            showToast: false,
+            toastText: '您已开通大会员',
+            urlParams: ''  // tjxm 推荐项目, spxm: 审批项目
         }
     },
     created: function() {
-        if (this.getUrlKey('serviceType')) {
-            this.tabs = this.getUrlKey('serviceType')
+        if (this.getUrlKey('from')) {
+          this.urlParams = this.getUrlKey('from')
         }
         this.getcode()
         this.getImage()
@@ -110,35 +112,42 @@ var vm = new Vue({
             window.location.href = "/front/structed/pc_index.html"
 
         },
-        gobuy: function(val, type) {//立即购买
-            if (val == 'vip') { // 点击超级订阅
-                if (this.loginFlag) {//已登录
-                    if (!this.isbuy_vip) {//不是
-                        //去购买
-                        window.location.href = "/swordfish/page_big_pc/free/svip/buy"
-                    }
-                } else {//未登录
-                    openLoginDig()
-                    this.type = 'vip'
-                }
-            } else {//大会员
-                if (this.loginFlag) {//已登录
-                    if (!this.isbuy_big) {//不是大会员
-                        //去购买
-                        if (type == '商机版') {
-                            window.location.href = "/big/pc/page/buy_commit?level=0"
-                        } else if (type == '专家版') {
-                            window.location.href = "/big/pc/page/buy_commit?level=1"
-                            // 专家版
-                        }
-
-                    }
-                } else {//未登录
-                    //拉登录
-                    openLoginDig()
-                    this.type = type
-                }
+        toast (text) {
+          var _this = this
+          this.toastText = text
+          this.showToast = true
+          setTimeout(function () {
+            _this.showToast = false
+          }, 1600)
+        },
+         // 立即开通,type=vip是超级订阅,big是大会员, type=商机版, type=专家版
+        goOpen: function(val, type) {
+          if(!this.loginFlag) {
+            openLoginDig()
+            return
+          }
+          this.type = val
+          if (val == 'vip') { // 点击超级订阅
+            // 未购买进入购买页,已购买进入续费页
+            if (!this.isbuy_vip) {//不是
+                //去购买
+                window.location.href = "/swordfish/page_big_pc/free/svip/buy"
+            } else {
+                window.location.href="/swordfish/page_big_pc/free/svip/buy?type=renew"
+              }
+          } else {//大会员
+            if (!this.isbuy_big) {//不是大会员
+              //去购买
+              if (type == '商机版') {
+                  window.location.href = "/big/pc/page/buy_commit?level=0"
+              } else if (type == '专家版') {
+                  window.location.href = "/big/pc/page/buy_commit?level=1"
+                  // 专家版
+              }
+            } else {
+              this.toast('您已开通大会员')
             }
+          }
         },
         goplay: function (val) {
           // 立即使用
@@ -169,99 +178,84 @@ var vm = new Vue({
         },
         calcFixedTop: function () {
             var headerTop = $('#public-nav').height()
-            var stickyBox = $('.serviceSystem_box .tabs')
             $('.table_header_new').css({ top: headerTop })
-            $(window).on('scroll', function () {
-                var scrollTop = $(window).scrollTop()
-                var top = $('#header-nav-container').height()
-                if (scrollTop >= top - headerTop) {
-                    stickyBox.addClass('fixed').css({
-                        top: headerTop
-                    })
-                } else {
-                    stickyBox.removeClass('fixed').css({
-                        top: 0
-                    })
-                }
-            })
-        },
-        tabclick: function (val) {
-            if (val == this.tabs) {
-                return
-            }
-            window.location.href = "/product/index?serviceType=" + val
-            // this.tabs = val
-            // document.body.scrollTop = document.documentElement.scrollTop = 0
         },
         getUrlKey: function (name) {
             return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.href) || [, ""])[1].replace(/\+/g, '%20')) || null
         },
         updataFlag: function() {
             this.loginFlag = true
+        },
+       // 免费体验--留资
+        experienceHandle () {
+          if(!this.loginFlag) {
+            openLoginDig()
+            return
+          }
+          if(vm){
+            vm.isNeedSubmit('pc_ServiceList_experience',function(){
+              vm.showSuccess = true
+            })
+          }
         }
     }
 })
 
 window.loginCallback = function () { //登录成功回调 已登录
-    vm.updataFlag()
-    vm.getstates(function () {
-        // if (vm.type == '') { //点击大会员 拉登录完成的登录
-        //     if (!vm.isbuy_big) {//不是大会员
+    vNode.updataFlag()
+    vNode.getstates(function () {
+        // if (vNode.type == '') { //点击大会员 拉登录完成的登录
+        //     if (!vNode.isbuy_big) {//不是大会员
         //         //去购买
         //         window.location.href = "/big/pc/page/buy_commit"
         //     }
         // }
-        if (vm.type == '商机版') {
-            if (!vm.isbuy_big) {
+        if (vNode.type == '商机版') {
+            if (!vNode.isbuy_big) {
                 window.location.href = "/big/pc/page/buy_commit?level=0"
 
             }
-        } else if (vm.type == '专家版') {
+        } else if (vNode.type == '专家版') {
             // 专家版
-            if (!vm.isbuy_big) {
+            if (!vNode.isbuy_big) {
                 window.location.href = "/big/pc/page/buy_commit?level=1"
             }
         }
-        if (vm.type == 'vip') { //点击超级订阅
-            if (!vm.isbuy_vip) {//不是 超级订阅
+        if (vNode.type == 'vip') { //点击超级订阅
+            if (!vNode.isbuy_vip) {//不是 超级订阅
                 //去购买
                 window.location.href = "/swordfish/page_big_pc/free/svip/buy"
             }
         }
     }) //产品获取状态
-    if(vm.type == 'export'){
+    if(vNode.type == 'export'){
         window.location.href = "/front/dataExport/toSieve"
     }
 }
 $(".table_header_new").hide()
 function windowScrollFn() {
-
     // 表格头部固定
     var tableHeaderDom = $('.table_header')
     var tableHeaderChangeDom = $(".table_header_new")
-    var tabs = $('.tabs')
-    var tableMaxHeight = $(".foot_table").height() + $(".foot_table").offset().top - 64 - tableHeaderChangeDom.height()
-    if ($(window).scrollTop() > (tableHeaderDom.offset().top - tableHeaderChangeDom.height()) && $(window).scrollTop() < tableMaxHeight) {
+    var tableMaxHeight = $(".foot_table").height() + $(".foot_table").offset().top - tableHeaderChangeDom.height()
+    if ($(window).scrollTop() > (tableHeaderDom.offset().top - tableHeaderChangeDom.height() + 80) && $(window).scrollTop() < tableMaxHeight) {
         tableHeaderChangeDom.show()
-        tabs.hide()
     } else {
         tableHeaderChangeDom.hide()
-        tabs.show()
-    }
-    if ($(window).scrollTop() > 10) {
-        // alert(1)
-        tabs.css({
-            background: 'rgba(255, 255, 255, 0.92)',
-            boxShadow: '0px 6px 12px rgba(50, 50, 50, 0.08)'
-        })
-    } else {
-        tabs.css({
-            background: 'rgba(255, 255, 255, 0.48)',
-            backdropFilter: 'blur(4px)',
-            boxShadow: 'none'
-        })
-
     }
-
 }
 $(window).scroll(windowScrollFn)
+// 添加锚点
+$(function () {
+  var from = vNode.getUrlKey('from')
+  var id = '#' + from
+  console.log(from)
+  if(from && document.querySelector(id)) {
+    setTimeout(function () {
+      document.querySelector(id).scrollIntoView({
+        block: 'center',
+        behavior: 'smooth'
+      })
+    }, 500)
+  }
+})

File diff suppressed because it is too large
+ 552 - 1759
src/web/templates/frontRouter/pc/serviceSystem/free/index.html


+ 113 - 3
src/web/templates/pc/member_orderDetail.html

@@ -52,6 +52,65 @@
             color: #fff;
             cursor: pointer;
         }
+        .service-table{
+          width: 490px;
+          border: 1px solid #ececec;
+        }
+        .service-table .thead{
+          height: 36px;
+          background-color: #F7F9FC;
+        }
+        .jy-icon-tick{
+          display: inline-block;
+          width: 24px;
+          height: 24px;
+          background: url(/images/blue-duihao.png) no-repeat center;
+          background-size: contain;
+        }
+        .service-map{
+          display: flex;
+          align-items: center;
+          border-bottom: 1px solid #ececec;
+        }
+        .service-table .first {
+          width: 120px;
+          text-align: center;
+        }
+        .service-table .second {
+          width: 210px;
+        }
+        .service-table .third {
+          width: 160px;
+        }
+        .service-table td:nth-child(1){
+          vertical-align: middle;
+          border-bottom: 1px solid #ececec;
+          border-right: 1px solid #ececec;
+        }
+        .service-table .first,
+        .service-table .second,
+        .service-table .third{
+          padding: 5px 12px;
+          text-align: center;
+          min-height: 36px;
+          line-height: 24px;
+          font-size: 14px;
+          color: #1D1D1D;
+          border-right: 1px solid #ececec;
+        }
+        .service-table .second,
+        .service-table .third{
+          display: flex;
+          align-items: center;
+          justify-content: center;
+        }
+        .service-table .third{
+          border-right: 0;
+        }
+        .service-table tr:last-child td,
+        .service-table tr:last-child .service-map:last-child{
+          border-bottom: 0;
+        }
     </style>
 </head>
 <body>
@@ -131,8 +190,10 @@
     {{include "/common/baiducc.html"}}
     <script src="{{Msg "seo" "cdn"}}/course/js/jquery-2.1.4.min.js?v={{Msg "seo" "version"}}"></script>
     <script src="{{Msg "seo" "cdn"}}/course/js/bootstrap.min.js?v={{Msg "seo" "version"}}"></script>
+    <script src='{{Msg "seo" "cdn"}}/common-module/public/js/big-service-list.js?v={{Msg "seo" "version"}}'></script>
     <!-- footer -->
     <script>
+        console.log('服务列表', serviceListData)
         $(function () {
             $("#public-nav").css("background", "#fff");
             $(".public-nav").css("border-bottom", "1px solid #e0e0e0");
@@ -293,13 +354,49 @@
                             }
 
                         }else{
+                          // 自定义大会员展示服务列表
                           var buchongbaoHtml = '';
                           var serversName = filterObj.serversName;
-                          if (serversName) {
+                          var serversId = filterObj.serversId
+                          var buySubject = r.data.buy_subject // 购买主体;1:个人 2:企业
+                          var sourceData = JSON.parse(JSON.stringify(serviceListData))
+                          if (r.data.level === 5 && serversId) {
                               var svnArr = serversName.split(",")
-                              for (var i = 0; i < svnArr.length; i++) {
-                                  buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                              // [20,23]:企业情报监控 [13,21]:企业中标动态
+                              // 现在需求定义 企业情报监控 = 企业中标动态 + 企业情报监控
+                              // 13和21同时存在 13和23同时存在 需要去重 否则会展示两次企业情报监控
+
+                              var sId = serversId.split(',')
+                              // console.log(sId, 'sid');
+                              // for (var i = 0; i < svnArr.length; i++) {
+                              //     buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                              // }
+                              var filterData = sourceData.filter(function(v) {
+                                v.serverMap = v.serverMap.filter(function(s) {
+                                  return (s.id === -1 || sId.indexOf(s.id.toString()) > -1) && v.subject.indexOf(buySubject) > -1
+                                })
+                                // 将重复的二级服务分类去重(目前仅有企业情报监控)
+                                v.serverMap = removeRepeat(v.serverMap)
+                                return v && v.serverMap.length > 0
+                              })
+                              console.log(filterData)
+                              buchongbaoHtml += '<table class="service-table"><tr class="thead"><td class="first">服务分类</td><td><div class="service-map"><span class="second">服务项目</span><span class="third">大会员自定义版</span></div></td></tr>'
+                              for (var i = 0; i < filterData.length; i++) {
+                                  buchongbaoHtml += '<tr><td class="first">' + filterData[i].topName + '</td><td>'
+                                  for (var j = 0; j < filterData[i].serverMap.length; j++) {
+                                    var level = filterData[i].serverMap[j]
+                                    buchongbaoHtml += '<div class="service-map">'
+                                    buchongbaoHtml += '<div class="second">' + level.name  + '</div>'
+                                    if (level.num) {
+                                      buchongbaoHtml += '<div class="third">' + level.num  + '</div></div>'
+                                    } else {
+                                      buchongbaoHtml += '<div class="third"><span class="jy-icon-tick"></span></div></div>'
+                                    }
+                                  }
+                                  buchongbaoHtml += '</td></tr>'
                               }
+                              buchongbaoHtml += '</table>'
+                              
                           }
                           if (buchongbaoHtml != "") {
                               $(".servicename").html(buchongbaoHtml);
@@ -352,6 +449,19 @@
             $("body").append('<div id="showImgDiv" onclick="$(this).remove()" style="overflow-y:scroll;display: flex;background: #00000070;height: 100%;width: 100%;position: fixed;z-index: 9999;padding: 20px;top: 0px;box-sizing: border-box;align-items: center;justify-content: center;"><img src="' + imgSrc + '"></div>')
         }
 
+        // 去重
+        function removeRepeat(tempArr) {
+          var newArr = [];
+          for (var i = 0; i < tempArr.length; i++) {
+            if (newArr.indexOf(tempArr[i].name) == -1) {
+                newArr.push(tempArr[i].name);
+            } else {
+                tempArr.splice(i, 1);
+                i--;
+            };
+          };
+          return tempArr;
+        };
         /******* 获取url参数(正则)********/
         function getParam(name) {
             var search = document.location.search;

+ 16 - 1
src/web/templates/pc/template/index/activity-dialog.html

@@ -3,7 +3,7 @@
     <div id="index_tc_svga"></div>
     <div class="tc_button"></div>
   </div>
-  <img src="/images/pc/close2x.png" id="close2x">
+  <img src="/images/pc/close-icon.png" id="close2x">
 </div>
 <div class="tans"></div>
 <div class="live_preheat">
@@ -76,12 +76,25 @@
         }
         if (adv_img!=""){
           $(".tc_button").remove();
+          let isSupportFull = false
+          try {
+            isSupportFull = parseInt(AD.o_extend.theme) === 1
+          } catch (e) {
+            console.warn(e)
+          }
           $("#pc-index-alert").removeClass("pc_tc").addClass("pc_tc_master").css({"margin-top":"-"+adv_margin_top+"px","margin-left":"-"+adv_margin_left+"px"});
           $("#index_tc").removeClass("tc").addClass("tc_master").css({
             "width":adv_width+"px",
             "height":adv_height+"px",
             // "background":"url('"+adv_img+"')",
             "background-size":"cover"}).attr("dataurl",adv_url);
+          if (isSupportFull) {
+            $("#pc-index-alert").addClass('support-full')
+            $("#pc-index-alert #index_tc").append('<img class="f-img" src="'+adv_img+'">')
+            $("#close2x").css({
+              bottom: adv_height+'px'
+            })
+          }
           // SVGA 动画支持
           if (adv_img.indexOf('.svga') !== -1) {
             $('#index_tc_svga').css({
@@ -119,6 +132,8 @@
       if (dataUrl!=""){
         localStorage.setItem("tc", day)
         window.location.href = dataUrl;
+      } else {
+        $("#close2x").trigger('click')
       }
     })
     {{end}}

+ 120 - 8
src/web/templates/weixin/member/memberdetail.html

@@ -66,7 +66,71 @@
     .page.pinch-zoom-parent .pinch-zoom-container {
         height: 100% !important;
     }
-
+    .service-table{
+      width: 100%;
+      border-spacing: 0;
+      border: 1px solid #E6E6E6;
+    }
+    .service-table .thead{
+      height: .64rem;
+      background-color: #F5F6F7;
+    }
+    .jy-icon-tick{
+      display: inline-block;
+      width: .32rem;
+      height: .32rem;
+      background: url(/images/wxkeyset/right.png) no-repeat center;
+      background-size: contain;
+    }
+    .service-map{
+      display: flex;
+      align-items: center;
+      border-bottom: 1px solid #E6E6E6;
+    }
+    .service-table .first {
+      width: 1.6rem;
+      text-align: center;
+    }
+    .service-table .second {
+      width: 2.64rem;
+    }
+    .service-table .third {
+      width: 2.14rem;
+    }
+    .service-table td:nth-child(1){
+      vertical-align: middle;
+      border-bottom: 1px solid #E6E6E6;
+      border-right: 1px solid #E6E6E6;
+    }
+    .service-table .first,
+    .service-table .second,
+    .service-table .third{
+      padding: .12rem .2rem;
+      text-align: center;
+      line-height: .4rem;
+      font-size: .26rem;
+      color: #171826;
+      border-right: 1px solid #ececec;
+    }
+    .service-table .second,
+    .service-table .third{
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
+    .service-table .third{
+      border-right: 0;
+    }
+    .service-table tr:last-child td,
+    .service-table tr:last-child .service-map:last-child{
+      border-bottom: 0;
+    }
+    .service-table .thead td,
+    .service-table .thead .second,
+    .service-table .thead .third{
+      white-space: nowrap;
+      color: #9B9CA3;
+    }
 
 </style>
 <body>
@@ -115,9 +179,12 @@
                             <span>免费账号:</span>
                             <span class="item-list-parents free_num value"></span>
                         </p>
-                        <p class="l-item service_p" style="display:none;">
-                            <span>服务列表:</span>
-                            <span class="item-list-parents servicename value"></span>
+                        <p class="l-item service_p" style="display:none;border: 0;">
+                          <span>服务列表:</span>
+                          <!-- <span class="item-list-parents servicename value"></span> -->
+                        </p>
+                        <p class="l-item service_p" style="display:none;border: 0;">
+                          <span class="item-list-parents servicename"></span>
                         </p>
                     </div>
                 </div>
@@ -174,7 +241,21 @@
 <script src="{{Msg "seo" "cdn"}}/big-member/js/pinch-zoom.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/common.js?v={{Msg "seo" "version"}}"></script>
 <script src="{{Msg "seo" "cdn"}}/vipsubscribe/js/weui.min.js?v={{Msg "seo" "version"}}"></script>
+<script src='{{Msg "seo" "cdn"}}/common-module/public/js/big-service-list.js?v={{Msg "seo" "version"}}'></script>
 <script>
+  // 去重
+  function removeRepeat(tempArr) {
+      var newArr = [];
+      for (var i = 0; i < tempArr.length; i++) {
+        if (newArr.indexOf(tempArr[i].name) == -1) {
+            newArr.push(tempArr[i].name);
+        } else {
+            tempArr.splice(i, 1);
+            i--;
+        };
+      };
+      return tempArr;
+    };
     var orderCode ={{.T.order_code}};
     $(function () {
         $.post("/subscribepay/orderListDetails/getMemberDetail", {"order_code": orderCode}, function (r) {
@@ -310,11 +391,42 @@
                 }else{
                   var buchongbaoHtml = '';
                   var serversName = filterObj.serversName;
-                  if (serversName) {
-                      var svnArr = serversName.split(",")
-                      for (var i = 0; i < svnArr.length; i++) {
-                          buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                  var serversId = filterObj.serversId
+                  var buySubject = r.data.buy_subject // 购买主体;1:个人 2:企业
+                  var sourceData = JSON.parse(JSON.stringify(serviceListData))
+                  if (r.data.level === 5 && serversId) {
+                      // var svnArr = serversName.split(",")
+                      // for (var i = 0; i < svnArr.length; i++) {
+                      //     buchongbaoHtml += '<p class="item-ifo ellipsis buchongbao">' + svnArr[i] + '</p>'
+                      // }
+                      // [20,23]:企业情报监控 [13,21]:企业中标动态
+                      // 现在需求定义 企业情报监控 = 企业中标动态 + 企业情报监控
+                      // 13和21同时存在 13和23同时存在 需要去重 否则会展示两次企业情报监控
+                      var sId = serversId.split(',')
+                      var filterData = sourceData.filter(function(v) {
+                        v.serverMap = v.serverMap.filter(function(s) {
+                          return (s.id === -1 || sId.indexOf(s.id.toString()) > -1) && v.subject.indexOf(buySubject) > -1
+                        })
+                        // 将重复的二级服务分类通过名称name去重(目前仅有企业情报监控)
+                        v.serverMap = removeRepeat(v.serverMap)
+                        return v && v.serverMap.length > 0
+                      })
+                      buchongbaoHtml += '<table class="service-table"><tr class="thead"><td class="first">服务分类</td><td><div class="service-map"><span class="second">服务项目</span><span class="third">大会员自定义版</span></div></td></tr>'
+                      for (var i = 0; i < filterData.length; i++) {
+                          buchongbaoHtml += '<tr><td class="first">' + filterData[i].topName + '</td><td>'
+                          for (var j = 0; j < filterData[i].serverMap.length; j++) {
+                            var level = filterData[i].serverMap[j]
+                            buchongbaoHtml += '<div class="service-map">'
+                            buchongbaoHtml += '<div class="second">' + level.name  + '</div>'
+                            if (level.num) {
+                              buchongbaoHtml += '<div class="third">' + level.num  + '</div></div>'
+                            } else {
+                              buchongbaoHtml += '<div class="third"><span class="jy-icon-tick"></span></div></div>'
+                            }
+                          }
+                          buchongbaoHtml += '</td></tr>'
                       }
+                      buchongbaoHtml += '</table>'
                   }
                   if (buchongbaoHtml != "") {
                       $(".servicename").html(buchongbaoHtml);

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