Quellcode durchsuchen

Merge branch 'main' into feature/v1.0.61

yuelujie vor 1 Jahr
Ursprung
Commit
6ee0e2772b

+ 7 - 0
apps/mobile/src/api/modules/landing.js

@@ -0,0 +1,7 @@
+import request from '@/api'
+export function sampleReport() {
+  return request({
+    url: '/salesLeads/sampleReport',
+    method: 'get'
+  })
+}

BIN
apps/mobile/src/assets/image/landing/btn.png


BIN
apps/mobile/src/assets/image/landing/iconAL.png


BIN
apps/mobile/src/assets/image/landing/iconCL.png


BIN
apps/mobile/src/assets/image/landing/iconJZ.png


BIN
apps/mobile/src/assets/image/landing/iconKH.png


BIN
apps/mobile/src/assets/image/landing/iconSC.png


BIN
apps/mobile/src/assets/image/landing/iconSJ.png


BIN
apps/mobile/src/assets/image/landing/iconST.png


BIN
apps/mobile/src/assets/image/landing/iconTD.png


BIN
apps/mobile/src/assets/image/landing/iconZC.png


BIN
apps/mobile/src/assets/image/landing/logo360.png


BIN
apps/mobile/src/assets/image/landing/logoKDXF.png


BIN
apps/mobile/src/assets/image/landing/logoRJ.png


BIN
apps/mobile/src/assets/image/landing/logoSXF.png


BIN
apps/mobile/src/assets/image/landing/mobileHead.png


BIN
apps/mobile/src/assets/image/landing/zixunM360BG.png


BIN
apps/mobile/src/assets/image/landing/zixunMkdxfBG.png


BIN
apps/mobile/src/assets/image/landing/zixunMrjBG.png


BIN
apps/mobile/src/assets/image/landing/zixunMshujuBG.png


BIN
apps/mobile/src/assets/image/landing/zixunMsxfBG.png


+ 12 - 0
apps/mobile/src/router/modules/landing.js

@@ -0,0 +1,12 @@
+// 落地页路由
+export default [
+  {
+    path: '/service/consult',
+    name: 'consultingService',
+    component: () => import('@/views/landing/consultingService.vue'),
+    meta: {
+      header: true,
+      title: '咨询服务'
+    }
+  }
+]

+ 3 - 2
apps/mobile/src/views/common/vipsubscribeRights.vue

@@ -327,6 +327,7 @@ export default {
     },
     itemclick(index) {
       this.setswipeTo(index)
+      // 组件默认滚动一个卡片的距离,设计要求中间卡片滚动到居中位置,特殊处理。
       if (index == 1) {
         let dom = document.querySelector('.van-swipe__track')
         this.$nextTick(() => {
@@ -338,6 +339,7 @@ export default {
     },
     cardscroll(val) {
       this.tab = val
+      // 组件默认滚动一个卡片的距离,设计要求中间卡片滚动到居中位置,特殊处理。
       if (this.tab == 1) {
         let dom = document.querySelector('.van-swipe__track')
         this.$nextTick(() => {
@@ -1368,11 +1370,10 @@ export default {
           .tag-text {
             font-size: 11px;
             display: inline-block;
-            padding: 4px 7px;
+            padding: 4px 6px;
             line-height: 14px;
             margin-top: 12px;
             border-radius: 20px;
-            margin-right: 10px;
           }
 
           .tag-blue {

+ 630 - 0
apps/mobile/src/views/landing/consultingService.vue

@@ -0,0 +1,630 @@
+<template>
+  <div class="consultingService" @scroll="handleScroll">
+    <div class="header">
+      <img src="@/assets/image/landing/mobileHead.png" alt="" />
+    </div>
+    <div class="middle">
+      <div class="m-title">咨询服务</div>
+      <div class="m-desc">
+        助力企业洞察行业趋势,定位目标市场,扫描潜在客户,挖掘商业机会
+      </div>
+      <div class="ic-box">
+        <div class="box-item" v-for="item in iconList" :key="item.title">
+          <img :src="item.icon" alt="" class="left" />
+          <div class="right">
+            <div class="r-title">{{ item.title }}</div>
+            <div class="r-desc">{{ item.desc }}</div>
+          </div>
+        </div>
+      </div>
+      <div class="m-title">样例报告免费下载</div>
+      <div class="report-box">
+        <div class="report-boxitem">
+          <div class="item-child" v-for="(item, index) in list" :key="index">
+            <div class="child-box" v-for="e in item" :key="e.name">
+              <div class="child-box-title">{{ e.name }}</div>
+              <div class="child-box-desc">{{ e.desc }}</div>
+              <div class="child-box-btn" @click="goSource('free', e.name)">
+                获取报告样例
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="data-box">
+        <div class="data-box-item">
+          <div class="data-title">核心团队</div>
+          <div class="data-con">
+            <div class="data-num">20</div>
+            <div class="data-ic">+</div>
+          </div>
+          <div class="data-title">年管理咨询经验</div>
+        </div>
+        <div class="data-box-item">
+          <div class="data-title">服务</div>
+          <div class="data-con">
+            <div class="data-num">1000</div>
+            <div class="data-ic">+</div>
+          </div>
+          <div class="data-title">家客户</div>
+        </div>
+        <div class="data-box-item">
+          <div class="data-title">积累</div>
+          <div class="data-con">
+            <div class="data-num">5000</div>
+            <div class="data-ic">+</div>
+          </div>
+          <div class="data-title">服务案例</div>
+        </div>
+      </div>
+      <div class="m-title">客户案例</div>
+      <div class="m-desc">以客户需求为中心,专业个性化咨询服务</div>
+      <div class="customer-box">
+        <div class="customer-item">
+          <div class="customer-child black">
+            <div class="customer-title">科大讯飞股份有限公司</div>
+            <div class="customer-desc cus-mt-16">
+              <span class="f-b">所属行业:</span>
+              <span>人工智能</span>
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">客户需求:</span>
+              <span class="customer-text"
+                >科大讯飞庞杂的数据带来巨大的使用成本,无法快速高效满足一线业务、业务管理、战略分析等业务需求。</span
+              >
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">服务效果:</span>
+              <span class="customer-text"
+                >通过深度调研,精准识别科大讯飞发展中面临的业务流程问题,根据问题症结所在,咨询团队为科大讯飞定制了专属的解决方案,为各个需求量身定制了取数模型,根据人工智能大模型定期输出数据分析报告,为科大讯飞各个区域和业务线的实际需求,线索转化、市场分析更高效精准。</span
+              >
+            </div>
+            <img
+              class="kdxf logo"
+              src="@/assets/image/landing/logoKDXF.png"
+              alt=""
+            />
+          </div>
+          <div class="customer-child red">
+            <div class="customer-title">锐捷网络股份有限公司</div>
+            <div class="customer-desc cus-mt-16">
+              <span class="f-b">所属行业:</span>
+              <span>信息化建设</span>
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">客户需求:</span>
+              <span class="customer-text"
+                >需要实时、动态地掌握市场需求、商机线索、对目标客户行业和地区进行定位分析,对同类型业务市场份额的动态跟踪分析等。</span
+              >
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">服务效果:</span>
+              <span class="customer-text"
+                >基于剑鱼标讯大数据,根据锐捷网络各项需求,组织个性化数据指标,通过为锐捷网络打造个性化指标分析体系,贴合锐捷网络业务发展特点,通过市场分析为锐捷网络目标企业画像精准定位,目标客户分布地区和分布行业进行交叉定位,为锐捷网络选择优先拓展客户提供了决策参考。</span
+              >
+            </div>
+            <img
+              class="rj logo"
+              src="@/assets/image/landing/logoRJ.png"
+              alt=""
+            />
+          </div>
+          <div class="customer-child blue">
+            <div class="customer-title">深信服科技股份有限公司</div>
+            <div class="customer-desc cus-mt-16">
+              <span class="f-b">所属行业:</span>
+              <span>信息化建设</span>
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">客户需求:</span>
+              <span class="customer-text"
+                >业务重点如何布局,市场动态如何发展,如何精准高效找到目标市场等,成为深信服业务发展中需要突破的一个难题。</span
+              >
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">服务效果:</span>
+              <span class="customer-text"
+                >建立在采购单位行业类型、采购单位地区分布、采购产品类型、友商类型、友商地区分布等这些定制维度基础上,剑鱼标讯咨询团队为深信服定期输出定制化的市场分析报告,为业务部门提供专业化的信息参考,进行精准高效的决策缩短了时间,提高了业务拓展的机动性和业务发展方向的稳健性。</span
+              >
+            </div>
+            <img
+              class="sxf logo"
+              src="@/assets/image/landing/logoSXF.png"
+              alt=""
+            />
+          </div>
+          <div class="customer-child green">
+            <div class="customer-title">三六零数字安全科技集团有限公司</div>
+            <div class="customer-desc cus-mt-16">
+              <span class="f-b">所属行业:</span>
+              <span>网络安全</span>
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">客户需求:</span>
+              <span class="customer-text"
+                >网络安全问题也日益凸显,360公司面临着如何更好的通过数据洞察用户需求,寻找更具有前瞻性的市场信息。</span
+              >
+            </div>
+            <div class="cus-mt-16">
+              <span class="customer-text-b">服务效果:</span>
+              <span class="customer-text"
+                >通过标讯数据为360公司提供精准数据用于市场分析、完成阶段性的销售线索复盘、帮助业务线对销售线索进行查漏补缺。数据指标+洞察分析+策略投放的咨询服务模式,从底层数据到上层业务战略调整建议,为360公司提供全方位立体化服务,帮助360公司实现了商机挖掘和业务拓展的目标。</span
+              >
+            </div>
+            <img
+              class="sz_360 logo"
+              src="@/assets/image/landing/logo360.png"
+              alt=""
+            />
+          </div>
+        </div>
+      </div>
+    </div>
+    <div class="cs-footer">
+      <div class="left-btn" @click="call_Phone">咨询客服</div>
+      <div class="right-btn" @click="goSource('more')">获取更多专属服务</div>
+    </div>
+  </div>
+</template>
+<script>
+import EventBus from '@/utils/eventBus'
+import { sampleReport } from '@/api/modules/landing'
+import { openLinkOfOther } from '@/utils'
+import { callPhone } from '@/utils/callFn'
+import { LINKS } from '@/data'
+import { mapGetters } from 'vuex'
+export default {
+  name: 'consultingService',
+  data() {
+    return {
+      list: [],
+      iconList: [
+        {
+          icon: new URL('@/assets/image/landing/iconZC.png', import.meta.url)
+            .href,
+          title: '政策解读',
+          desc: '从国家政策到地方政策全面梳理重点聚焦'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconTD.png', import.meta.url)
+            .href,
+          title: '痛点机遇',
+          desc: '聚焦行业问题和痛点,剖析潜在发展机遇'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconSC.png', import.meta.url)
+            .href,
+          title: '市场分析',
+          desc: '依托剑鱼采招大数据,精准定位目标市场'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconKH.png', import.meta.url)
+            .href,
+          title: '客户分析',
+          desc: '描绘客户地区与行业分布,锁定客户需求'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconST.png', import.meta.url)
+            .href,
+          title: '生态分析',
+          desc: '从行业头部厂商到本地优势厂商双重扫描'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconJZ.png', import.meta.url)
+            .href,
+          title: '竞争格局',
+          desc: '从圈外竞争对手到圈内竞争对手知己知彼'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconSJ.png', import.meta.url)
+            .href,
+          title: '商机拓展',
+          desc: '用矩阵分析法聚类三大组团确定拓展方向'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconCL.png', import.meta.url)
+            .href,
+          title: '策略建议',
+          desc: '总结行业特点与规律展望行业前景与趋势'
+        },
+        {
+          icon: new URL('@/assets/image/landing/iconAL.png', import.meta.url)
+            .href,
+          title: '典型案例',
+          desc: '梳理行业典型案例,对标行业发展标杆'
+        }
+      ]
+    }
+  },
+  computed: {
+    ...mapGetters('user', ['isLogin'])
+  },
+  created() {
+    EventBus.$emit('headerConf:merge', {
+      transparentHeader: true
+    })
+    this.sampleReportAjax()
+  },
+  mounted() {},
+  beforeDestroy() {},
+  methods: {
+    sampleReportAjax() {
+      sampleReport().then((res) => {
+        if (!res.data) {
+          return
+        }
+        this.list = this.groupArray(res.data, 3)
+      })
+    },
+    handleScroll(e) {
+      const scrollTop = e.target.scrollTop
+      // 根据滚动位置进行逻辑处理
+      if (scrollTop > 10) {
+        EventBus.$emit('headerConf:merge', {
+          transparentHeader: false
+        })
+      } else {
+        EventBus.$emit('headerConf:merge', {
+          transparentHeader: true
+        })
+      }
+    },
+    goSource(type, interest) {
+      if (!this.isLogin) {
+        openLinkOfOther(LINKS.APP登录页.app, {
+          query: {
+            to: 'back'
+          }
+        })
+        return
+      }
+      let openLink = ''
+      if (type === 'free') {
+        if (this.$envs.inWX) {
+          openLink = `/weixin/frontPage/bigmember/free/perfect_info?source=wx_consult_report&interest=${encodeURIComponent(
+            interest
+          )}`
+        } else if (this.$envs.inH5) {
+          openLink = `/jyapp/frontPage/bigmember/free/perfect_info?source=h5_consult_report&interest=${encodeURIComponent(
+            interest
+          )}`
+        } else {
+          openLink = `/jyapp/frontPage/bigmember/free/perfect_info?source=app_consult_report&interest=${encodeURIComponent(
+            interest
+          )}`
+        }
+      } else if (type === 'more') {
+        if (this.$envs.inWX) {
+          openLink =
+            '/weixin/frontPage/bigmember/free/perfect_info?source=wx_consult_exclusiv_more'
+        } else if (this.$envs.inH5) {
+          openLink =
+            '/jyapp/frontPage/bigmember/free/perfect_info?source=h5_consult_exclusiv_more'
+        } else {
+          openLink =
+            '/jyapp/frontPage/bigmember/free/perfect_info?source=app_consult_exclusiv_more'
+        }
+      }
+      openLinkOfOther(openLink)
+    },
+    call_Phone() {
+      callPhone('400-108-6670')
+    },
+    groupArray(arr, groupSize) {
+      if (!Array.isArray(arr) || typeof groupSize !== 'number') {
+        throw new Error('Invalid arguments')
+      }
+
+      const result = []
+      for (let i = 0; i < arr.length; i += groupSize) {
+        const group = arr.slice(i, i + groupSize)
+        result.push(group)
+      }
+
+      return result
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.consultingService {
+  background-color: #f5f6f7;
+  padding-bottom: 98px;
+  .header {
+    img {
+      width: 100%;
+      display: block;
+    }
+  }
+  .middle {
+    padding-top: 1px;
+    .m-title {
+      font-size: 24px;
+      color: #171826;
+      margin-top: 24px;
+      text-align: center;
+      font-weight: 600;
+    }
+    .m-desc {
+      line-height: 20px;
+      font-size: 14px;
+      color: #5f5e64;
+      text-align: center;
+      max-width: 288px;
+      margin: auto;
+      margin-top: 12px;
+    }
+    .ic-box {
+      width: 343px;
+      background-color: #fff;
+      border-radius: 8px;
+      border: 1px solid #0000001a;
+      margin: auto;
+      margin-top: 24px;
+      padding: 8px 16px;
+      box-shadow: 0px 4px 6px 0px #c0cedd3d;
+      .box-item {
+        padding: 12px 0;
+        border-bottom: 0.5px solid #e0e5e8;
+        display: flex;
+        .left {
+          width: 45px;
+          height: 45px;
+          display: block;
+        }
+        .right {
+          margin-left: 12px;
+          .r-title {
+            font-size: 16px;
+            line-height: 20px;
+            color: #0562f2;
+            margin-top: 3px;
+            font-weight: 600;
+          }
+          .r-desc {
+            font-size: 13px;
+            line-height: 20px;
+            text-align: left;
+            color: #5f5e64;
+            margin-top: 2px;
+          }
+        }
+      }
+      .box-item:last-child {
+        border-bottom: none;
+      }
+    }
+    .report-box {
+      margin-top: 24px;
+      width: 100%;
+      box-sizing: border-box;
+      padding-left: 16px;
+      overflow-x: auto;
+      .report-boxitem {
+        display: flex;
+        width: fit-content;
+        .item-child {
+          margin-right: 16px;
+          .child-box {
+            margin-bottom: 16px;
+            padding: 16px;
+            width: 303px;
+            background: linear-gradient(180deg, #e2f1ff 0%, #ffffff 100%);
+            box-sizing: border-box;
+            border: 2px solid #ffffff;
+            box-shadow: 0px 4px 16px 0px #081f2614;
+            border-radius: 8px;
+            .child-box-title {
+              font-size: 16px;
+              font-weight: 400;
+              line-height: 20px;
+              text-align: left;
+              color: #171826;
+              font-weight: 600;
+              width: 100%;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              white-space: nowrap;
+            }
+            .child-box-desc {
+              font-size: 13px;
+              font-weight: 400;
+              line-height: 20px;
+              text-align: left;
+              color: #5f5e64;
+              margin-top: 8px;
+            }
+            .child-box-btn {
+              width: 141px;
+              box-sizing: border-box;
+              display: flex;
+              justify-content: center;
+              align-items: center;
+              height: 34px;
+              background: linear-gradient(
+                90deg,
+                rgba(35, 148, 255, 0.1) -2.53%,
+                rgba(13, 74, 231, 0) 95.93%
+              );
+              border: 1px solid #2394ff;
+              font-weight: 600;
+              border-radius: 4px;
+              // background-image: url('@/assets/image/landing/btn.png');
+              background-size: 100% 100%;
+              box-sizing: border-box;
+              font-size: 14px;
+              color: #006cff;
+              margin-top: 10px;
+            }
+          }
+          .child-box:last-child {
+            margin-bottom: 0;
+          }
+        }
+      }
+    }
+    .report-box::-webkit-scrollbar {
+      display: none;
+    }
+    .data-box {
+      width: 100%;
+      height: 101px;
+      background-image: url('@/assets/image/landing/zixunMshujuBG.png');
+      background-size: 100% 100%;
+      margin-top: 24px;
+      display: flex;
+      align-items: center;
+      .data-box-item {
+        flex: 1;
+        .data-title {
+          font-size: 12px;
+          line-height: 20px;
+          color: #fff;
+          text-align: center;
+        }
+        .data-con {
+          display: flex;
+          justify-content: center;
+          align-items: center;
+        }
+        .data-num {
+          font-size: 30px;
+          font-weight: 600;
+          margin: 3px 0;
+          color: #fff;
+        }
+        .data-ic {
+          font-size: 16px;
+          color: #fff;
+          font-weight: 600;
+          margin-left: 2px;
+        }
+      }
+    }
+    .customer-box {
+      padding-left: 16px;
+      width: 100%;
+      box-sizing: border-box;
+      overflow-x: auto;
+      margin-top: 24px;
+      .customer-item {
+        display: flex;
+        width: fit-content;
+        .customer-child {
+          position: relative;
+          margin-right: 16px;
+          width: 310px;
+          min-height: 400px;
+          background-size: 100% 100%;
+          border-radius: 8px;
+          padding: 20px 20px 18px 20px;
+          box-shadow: 0px 4px 16px 0px #081f2614;
+          .customer-title {
+            font-size: 18px;
+            font-weight: 600;
+            color: #fff;
+            line-height: 22px;
+            text-align: center;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+            width: 100%;
+          }
+          .cus-mt-16 {
+            margin-top: 16px;
+          }
+          .f-b {
+            font-weight: 600;
+          }
+          .customer-desc {
+            font-size: 16px;
+            line-height: 20px;
+            color: #fff;
+            text-align: center;
+          }
+          .customer-text {
+            font-size: 12px;
+            line-height: 20px;
+            color: #fff;
+          }
+          .customer-text-b {
+            font-size: 14px;
+            line-height: 20px;
+            color: #fff;
+            font-weight: 600;
+          }
+        }
+        .kdxf {
+          width: 110px;
+        }
+        .rj {
+          width: 156px;
+        }
+        .sxf {
+          width: 117px;
+        }
+        .sz_360 {
+          width: 198px;
+        }
+        .logo {
+          position: absolute;
+          display: block;
+          left: 50%;
+          transform: translateX(-50%);
+          bottom: 18px;
+        }
+        .black {
+          background-image: url('@/assets/image/landing/zixunMkdxfBG.png');
+        }
+        .blue {
+          background-image: url('@/assets/image/landing/zixunMsxfBG.png');
+        }
+        .red {
+          background-image: url('@/assets/image/landing/zixunMrjBG.png');
+        }
+        .green {
+          background-image: url('@/assets/image/landing/zixunM360BG.png');
+        }
+      }
+    }
+    .customer-box::-webkit-scrollbar {
+      display: none;
+    }
+  }
+  .cs-footer {
+    background-color: #fff;
+    box-shadow: 0px -2px 8px 0px #3693b30d;
+    width: 100%;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    padding: 12px 16px;
+    position: fixed;
+    bottom: 0;
+    left: 0;
+    .left-btn {
+      width: 165px;
+      height: 40px;
+      background-color: #edeff2;
+      border-radius: 4px;
+      color: #5f5e64;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      font-size: 16px;
+    }
+    .right-btn {
+      width: 165px;
+      height: 40px;
+      background-color: #2abed1;
+      border-radius: 4px;
+      color: #f7f9fa;
+      font-size: 16px;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+    }
+  }
+}
+</style>