wangxy 2 年之前
父节点
当前提交
9c31c038e7
共有 89 个文件被更改,包括 915 次插入399 次删除
  1. 51 0
      components/common/iconGangwei.vue
  2. 159 0
      components/common/layout/desComp/desWithCode.vue
  3. 139 0
      components/common/layout/desComp/gangweiList.vue
  4. 59 0
      components/common/layout/imgDes/imgCardLv1.vue
  5. 33 15
      components/common/newsComp.vue
  6. 81 18
      components/common/newsComp2.vue
  7. 103 1
      defaultConfig.js
  8. 27 8
      package-lock.json
  9. 3 6
      pages/news/index.vue
  10. 19 37
      pages/product/caiWuGuanLi.vue
  11. 19 50
      pages/product/chanPinYunYing.vue
  12. 81 38
      pages/product/courseCustom.vue
  13. 19 37
      pages/product/keFuFuWu.vue
  14. 25 58
      pages/product/shengChanCaiGou.vue
  15. 18 34
      pages/product/xingZhengGuanLi.vue
  16. 3 6
      pages/solution/biteAndSup.vue
  17. 3 6
      pages/solution/education.vue
  18. 3 6
      pages/solution/energy.vue
  19. 4 6
      pages/solution/erupt.vue
  20. 23 36
      pages/solution/exam.vue
  21. 3 6
      pages/solution/financial.vue
  22. 3 6
      pages/solution/government.vue
  23. 3 6
      pages/solution/medical.vue
  24. 5 7
      pages/solution/peixun.vue
  25. 3 6
      pages/solution/privatization.vue
  26. 3 6
      pages/solution/transportation.vue
  27. 23 0
      pages/testPage.vue
  28. 二进制
      static/codeImage/bg01.png
  29. 二进制
      static/codeImage/code_jingli.png
  30. 二进制
      static/codeImage/code_kefu.png
  31. 二进制
      static/gangweiIcon/z01.png
  32. 二进制
      static/gangweiIcon/z02.png
  33. 二进制
      static/gangweiIcon/z03.png
  34. 二进制
      static/gangweiIcon/z04.png
  35. 二进制
      static/gangweiIcon/z05.png
  36. 二进制
      static/gangweiIcon/z06.png
  37. 二进制
      static/gangweiIcon/z07.png
  38. 二进制
      static/gangweiIcon/z08.png
  39. 二进制
      static/gangweiIcon/z09.png
  40. 二进制
      static/gangweiIcon/z10.png
  41. 二进制
      static/gangweiIcon/z11.png
  42. 二进制
      static/gangweiIcon/z12.png
  43. 二进制
      static/gangweiIcon/z13.png
  44. 二进制
      static/gangweiIcon/z14.png
  45. 二进制
      static/gangweiIcon/z15.png
  46. 二进制
      static/gangweiIcon/z16.png
  47. 二进制
      static/gangweiIcon/z17.png
  48. 二进制
      static/gangweiIcon/z18.png
  49. 二进制
      static/gangweiIcon/z19.png
  50. 二进制
      static/gangweiIcon/z20.png
  51. 二进制
      static/gangweiIcon/z21.png
  52. 二进制
      static/gangweiIcon/z22.png
  53. 二进制
      static/gangweiIcon/z23.png
  54. 二进制
      static/gangweiIcon/z24.png
  55. 二进制
      static/gangweiIcon/z25.png
  56. 二进制
      static/gangweiIcon/z26.png
  57. 二进制
      static/gangweiIcon/z27.png
  58. 二进制
      static/gangweiIcon/z28.png
  59. 二进制
      static/gangweiIcon/z29.png
  60. 二进制
      static/gangweiIcon/z30.png
  61. 二进制
      static/gangweiIcon/z31.png
  62. 二进制
      static/gangweiIcon/z32.png
  63. 二进制
      static/gangweiIcon/z33.png
  64. 二进制
      static/gangweiIcon/z34.png
  65. 二进制
      static/gangweiIcon/z35.png
  66. 二进制
      static/gangweiIcon/z36.png
  67. 二进制
      static/gangweiIcon/z37.png
  68. 二进制
      static/gangweiIcon/z38.png
  69. 二进制
      static/gangweiIcon/z39.png
  70. 二进制
      static/gangweiIcon/z40.png
  71. 二进制
      static/gangweiIcon/z41.png
  72. 二进制
      static/gangweiIcon/z42.png
  73. 二进制
      static/gangweiIcon/z43.png
  74. 二进制
      static/gangweiIcon/z44.png
  75. 二进制
      static/gangweiIcon/z45.png
  76. 二进制
      static/gangweiIcon/z46.png
  77. 二进制
      static/gangweiIcon/z47.png
  78. 二进制
      static/gangweiIcon/z48.png
  79. 二进制
      static/gangweiIcon/z49.png
  80. 二进制
      static/gangweiIcon/z50.png
  81. 二进制
      static/gangweiIcon/z51.png
  82. 二进制
      static/gangweiIcon/z52.png
  83. 二进制
      static/gangweiIcon/z53.png
  84. 二进制
      static/gangweiIcon/z54.png
  85. 二进制
      static/gangweiIcon/z55.png
  86. 二进制
      static/gangweiIcon/z56.png
  87. 二进制
      static/gangweiIcon/z57.png
  88. 二进制
      static/gangweiIcon/z58.png
  89. 二进制
      static/gangweiIcon/z59.png

+ 51 - 0
components/common/iconGangwei.vue

@@ -0,0 +1,51 @@
+<template>
+  <div class="gangwei-icon">
+    <i :style="iconStyle"></i>
+    <p>{{ des.text }}</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "iconGangwei",
+  props: {
+    des: {
+      type: Object,
+      required: true
+    }
+  },
+  computed: {
+    iconStyle() {
+      return `background-image: url(${this.des.icon})`;
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.gangwei-icon {
+  text-align: center;
+
+  i {
+    display: block;
+    width: 200px;
+    height: 160px;
+    background-size: contain;
+    background-repeat: no-repeat;
+    background-position: center;
+  }
+
+  p {
+    margin-top: 25px;
+    font-size: 18px;
+    font-weight: 800;
+  }
+
+  @media (max-width: 768px){
+    i {
+      width: 150px;
+      height: 120px;
+    }
+  }
+}
+</style>

+ 159 - 0
components/common/layout/desComp/desWithCode.vue

@@ -0,0 +1,159 @@
+<template>
+  <!--  立即咨询  -->
+  <div class="client-zixun-code mta-hidden-xs" :class="pageData.topClass" :style="pageData.topStyle">
+    <h4>{{ pageData.title }}</h4>
+    <p v-if="pageData.p1" class="p1">{{ pageData.p1 }}</p>
+    <img :src="imgUrl" alt="">
+    <p v-if="pageData.p2" class="p2">{{ pageData.p2 }}</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "desWithCode",
+  props: {
+    source: {
+      type: String,
+    }
+  },
+  data() {
+    return {
+      imgUrl: require('static/codeImage/code_kefu.png'), // 客服二维码
+      imgUrl2: require('static/codeImage/code_jingli.png'), // 经理二维码
+      bg1: require('static/codeImage/bg01.png'), // 企业培训
+      bg2: require('static/codeImage/bg01.png'), // 教育机构+食品餐饮
+    }
+  },
+  computed: {
+    pageData() {
+      const title = '立即扫码资讯,领取您的专属解决方案';
+      const p1 = '马上扫码添加客户经理';
+      const p2 = '扫码添加客服微信';
+      let result = {};
+      switch (this.source) {
+        case 'exam':
+          // 严肃考试
+          result = Object.assign({title, p2}, {topClass: 'kefu'}, {topStyle: 'background: none'}, {imgUrl: this.imgUrl});
+        case 'peixun':
+          // 企业培训
+          result = Object.assign({
+            title,
+            p1
+          }, {topClass: 'jingli'}, {topStyle: `background: url(${this.bg1})`}, {imgUrl: this.imgUrl2});
+        case 'education':
+          // 解决方案 -> 教育机构
+        case 'bitAnsSup':
+          // 解决方案 -> 食品餐饮
+        case 'erupt':
+          // 解决方案 -> 万人高并发
+        case 'transportation':
+          // 解决方案 -> 交通运输
+        case 'financial':
+          // 解决方案 -> 金融保险
+        case 'medical':
+          // 解决方案 -> 医疗行业
+        case 'privatization':
+          // 解决方案 -> 私有化部署
+        case 'government':
+        // 解决方案 -> 政府机构
+        case 'news':
+        // 客户案例
+        case 'energy':
+          // 解决方案 -> 能源化工
+          result = Object.assign({
+            title,
+            p2
+          }, {topClass: 'kefu_level2'}, {topStyle: `background: url(${this.bg2})`}, {imgUrl: this.imgUrl});
+      }
+      return result;
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.client-zixun-code {
+  width: 100%;
+  background: green;
+  text-align: center;
+  box-sizing: border-box;
+  overflow: hidden;
+
+  h4 {
+    text-align: center;
+    font-size: 30px;
+    height: 30px;
+  }
+
+  img {
+    text-align: center;
+    margin: 0 auto;
+    width: 142px;
+    height: 142px;
+
+  }
+
+  p {
+    text-align: center;
+    height: 18px;
+  }
+
+  // 客服
+  &.kefu {
+    height: 440px;
+
+    h4 {
+      color: #333;
+      margin-top: 62px;
+      margin-bottom: 43px;
+    }
+
+    p.p2 {
+      font-size: 18px;
+      color: #333;
+      margin-bottom: 81px;
+      margin-top: 24px;
+    }
+  }
+
+  // 经理
+  &.jingli {
+    height: 360px;
+
+    h4 {
+      color: #fff;
+      margin-top: 62px;
+      margin-bottom: 30px;
+    }
+
+    p.p1 {
+      font-size: 18px;
+      color: #fff;
+      margin-bottom: 16px;
+    }
+
+    img {
+      margin-bottom: 60px;
+    }
+  }
+
+  &.kefu_level2 {
+    height: 360px;
+
+    h4 {
+      color: #fff;
+      margin-top: 62px;
+      margin-bottom: 43px;
+    }
+
+    p.p2 {
+      font-size: 18px;
+      color: #fff;
+      margin-bottom: 81px;
+      margin-top: 24px;
+    }
+  }
+
+
+}
+</style>

+ 139 - 0
components/common/layout/desComp/gangweiList.vue

@@ -0,0 +1,139 @@
+<template>
+  <div class="client-gangwei-box">
+
+    <h4 class="gangwei-label" v-if="label">{{label}}</h4>
+
+    <div class="gangwei-row mta-hidden-xs" v-for="(rowList,index) in myListPc" :key="`pc-${index}`">
+      <template v-for="(des,ind) in rowList">
+        <!--    站位div    -->
+        <div v-if="des.empty"></div>
+        <iconGangwei class="my-icon"  :key="ind" :des="des" :style="iconStylePc"></iconGangwei>
+      </template>
+    </div>
+    <div class="gangwei-row mta-hidden-sm cur-h5" v-for="(rowList,index) in myListH5" :key="`h5${index}`">
+      <template  v-for="(des,ind) in rowList">
+        <!--    站位div    -->
+        <div v-if="des.empty"></div>
+        <iconGangwei v-else class="my-icon" :key="ind" :des="des" :style="iconStyleH5"></iconGangwei>
+      </template>
+    </div>
+  </div>
+</template>
+
+<script>
+import iconGangwei from "@/components/common/iconGangwei";
+
+export default {
+  name: "gangweiList",
+  props: {
+    label: {
+      type: String,
+    },
+    list: {
+      type: Array,
+      default: () => ([])
+    },
+    pcNum: {
+      type: Number,
+      default: 4
+    },
+    h5Num: {
+      type: Number,
+      default: 2
+    },
+    PcMargin: {
+      type: Number,
+      default: 308
+    },
+    H5Margin: {
+      type: Number,
+      default: 120
+    }
+  },
+  computed: {
+    myListPc() {
+      const count = this.pcNum;
+      const row = Math.ceil(this.list.length / count);
+      const result = [];
+      for (let i = 1; i <= row; i++) {
+        const start = (i - 1) * count;
+        const end = (i * count)
+        const curList = this.list.slice(start, end);
+        if (curList.length < count) {
+          curList.push({type: 'empty'});
+        }
+        result.push(curList)
+      }
+      return result;
+    },
+    myListH5() {
+      const count = this.h5Num;
+      const row = Math.ceil(this.list.length / count);
+
+      const result = [];
+      for (let i = 1; i <= row; i++) {
+        const start = (i - 1) * count;
+        const end = (i * count)
+        const curList = this.list.slice(start, end)
+        if (curList.length < count) {
+          curList.push({type: 'empty'});
+        }
+        result.push(curList)
+      }
+      return result;
+    },
+    iconStylePc() {
+      return `margin-right: ${this.PcMargin}px`
+    },
+    iconStyleH5() {
+      return `margin-right: ${this.H5Margin}%`
+    }
+  },
+  components: {
+    iconGangwei
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.client-gangwei-box {
+  margin: 0 auto;
+
+  .gangwei-row {
+    width: 98%;
+    display: flex;
+    flex-direction: row;
+    justify-content: center;
+    margin-bottom: 119px;
+
+    .my-icon {
+      &:last-child {
+        margin-right: 0 !important;
+      }
+    }
+  }
+
+
+  .gangwei-label {
+    text-align: center;
+    font-size: 30px;
+    color: #333;
+    margin-bottom: 160px;
+    margin-top: 90px;
+    font-weight: 800;
+  }
+
+}
+.client-gangwei-box {
+  @media (max-width: 768px){
+    .gangwei-label {
+      margin-bottom: 60px;
+    }
+
+    .gangwei-row {
+      margin-bottom: 60px;
+    }
+  }
+}
+
+</style>

+ 59 - 0
components/common/layout/imgDes/imgCardLv1.vue

@@ -0,0 +1,59 @@
+<template>
+  <div class="mta-card-lv1">
+    <div class="mta-card-content-pc mta-hidden-xs">
+      <img src="#">
+      <div class="card-info"></div>
+    </div>
+    <div class="mta-card-content-h5 mta-hidden-sm">
+      <img src="#">
+      <div class="card-info"></div>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "imgCardLv1",
+  props: {
+    img: {
+      type: String,
+      required: true,
+    },
+    option: {
+      type: Object,
+      required: true,
+    },
+    col: {
+      type: Number,
+      default: 3
+    }
+  },
+  computed: {
+    title() {
+      return this.option.title;
+    },
+    des() {
+      return this.option.des;
+    },
+    tages() {
+      const count = this.col;
+      const list = this.option.list;
+      const row = Math.ceil(list.length / count);
+      const result = [];
+      for (let i = 1; i <= row; i++) {
+        const start = (i - 1) * count;
+        const end = (i * count)
+        const curList = this.list.slice(start, end);
+        if (curList.length < count) {
+          curList.push({type: 'empty'});
+        }
+        result.push(curList)
+      }
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

+ 33 - 15
components/common/newsComp.vue

@@ -24,25 +24,26 @@
           </div>
         </div>
       </div>
-
     </div>
 
     <!-- 新闻资讯 手机-->
-    <div class="client-newsInfo-phone mta-hidden-sm">
-      <h4 class="client-title">新闻资讯</h4>
-      <el-carousel :interval="5000" type="card" height="300px" indicator-position="none" arrow="never">
-        <el-carousel-item v-for="(item,index) in newsData" @click="checkInfo(item)" :key="index" class="el-row">
-          <img :src="item.pic" alt="新闻资讯"/>
-          <div class="newsInfo-card-content">
-            <a style="display: none" :href="`${baseUrl}/news/${item.code}`"></a>
-            <h4>{{ item.title }}<i></i></h4>
-            <span>{{ item.yyyy }}-{{ item.mmdd }}</span>
-            <p>{{ item.intro }}</p>
-          </div>
+    <div class="client-container">
+      <div class="client-newsInfo-phone mta-hidden-sm">
+        <h4 class="client-title">新闻资讯</h4>
+        <el-carousel :interval="5000" type="card" height="300px" indicator-position="none" arrow="never">
+          <el-carousel-item v-for="(item,index) in newsData" @click="checkInfo(item)" :key="index" class="el-row">
+            <img :src="item.pic" alt="新闻资讯"/>
+            <div class="newsInfo-card-content">
+              <a style="display: none" :href="`${baseUrl}/news/${item.code}`"></a>
+              <h4>{{ item.title }}<i></i></h4>
+              <span>{{ item.yyyy }}-{{ item.mmdd }}</span>
+              <p>{{ item.intro }}</p>
+            </div>
 
-        </el-carousel-item>
-      </el-carousel>
+          </el-carousel-item>
+        </el-carousel>
 
+      </div>
     </div>
   </div>
 
@@ -93,6 +94,23 @@ export default {
 }
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
+.client-news-information {
+  background: #fafafa;
+
+  .client-title {
+    font-size: 30px;
+    font-weight: 800;
+    color: #333;
+    margin-top: 60px;
+    margin-bottom: 70px;
+  }
 
+  .industry-information-left {
+    img {
+      width: 605px;
+      height: 180px;
+    }
+  }
+}
 </style>

+ 81 - 18
components/common/newsComp2.vue

@@ -8,10 +8,10 @@
         <ul>
           <li style="font-size: 16px" v-for="(item, index) in newsData" :key="index">
             <div>
-              <img :src="item.pic" alt="新闻资讯" />
-              <h4 @click="checkInfo(item)">{{ item.title }}</h4>
-              <span>发布时间:{{item.yyyy }}-{{ item.mmdd }}</span>
-              <p>{{ item.intro }}</p>
+              <img :src="item.pic" alt="新闻资讯"/>
+              <h4 class="new_title" @click="checkInfo(item)">{{ item.title }}</h4>
+              <span class="new_date">发布时间:{{ item.yyyy }}-{{ item.mmdd }}</span>
+              <p class="new_des">{{ item.intro }}</p>
             </div>
           </li>
         </ul>
@@ -19,19 +19,21 @@
     </div>
 
     <!-- 新闻资讯 手机-->
-    <div class="client-newsInfo-phone mta-hidden-sm">
-      <h4 class="client-title">新闻资讯</h4>
-      <el-carousel :interval="5000" type="card" height="300px" indicator-position="none" arrow="never">
-        <el-carousel-item v-for="(item,index) in newsData" @click="checkInfo(item)" :key="index" class="el-row">
-          <img :src="item.pic" alt="新闻资讯"/>
-          <div class="newsInfo-card-content">
-            <a style="display: none" :href="`${baseUrl}/news/${item.code}`"></a>
-            <h4>{{ item.title }}<i></i></h4>
-            <span>{{ item.yyyy }}-{{ item.mmdd }}</span>
-            <p>{{ item.intro }}</p>
-          </div>
-        </el-carousel-item>
-      </el-carousel>
+    <div class="client-container">
+      <div class="client-newsInfo-phone mta-hidden-sm">
+        <h4 class="client-title">新闻资讯</h4>
+        <el-carousel :interval="5000" type="card" height="300px" indicator-position="none" arrow="never">
+          <el-carousel-item v-for="(item,index) in newsData" @click="checkInfo(item)" :key="index" class="el-row">
+            <img :src="item.pic" alt="新闻资讯"/>
+            <div class="newsInfo-card-content">
+              <a style="display: none" :href="`${baseUrl}/news/${item.code}`"></a>
+              <h4>{{ item.title }}<i></i></h4>
+              <span>{{ item.yyyy }}-{{ item.mmdd }}</span>
+              <p>{{ item.intro }}</p>
+            </div>
+          </el-carousel-item>
+        </el-carousel>
+      </div>
     </div>
   </div>
 
@@ -81,6 +83,67 @@ export default {
 }
 </script>
 
-<style scoped>
+<style lang="scss" scoped>
+.platform-news-information {
+  .client-container {
+    h4.client-title {
+      font-size: 30px;
+      font-weight: 800;
+      text-align: center;
+      color: #333;
+      margin-top: 100px;
+      margin-bottom: 80px;
+    }
+
+    ul {
+      margin-bottom: 100px;
+    }
+
+    ul > li {
+      .new_title {
+        font-size: 18px;
+        color: #333;
+        text-align: left;
+        font-weight: 800;
+
+
+      }
+
+      .new_date {
+        font-size: 12px;
+        font-weight: 500;
+        color: #565656;
+        position: relative;
+        margin-bottom: 20px;
+
+        &:after {
+          content: '';
+          position: absolute;
+          bottom: -8px;
+          left: 250px;
+          width: 60px;
+          height: 3px;
+          background: #00B96B;
+        }
+      }
+
+      .new_des {
+        font-size: 14px;
+        font-weight: 500;
+        color: #565656;
+      }
+    }
+
+    ul > li > div {
+      border-bottom: none;
+      margin-bottom: 66px;
+
+      img {
+        width: 226px;
+        height: 152px;
+      }
+    }
+  }
+}
 
 </style>

+ 103 - 1
defaultConfig.js

@@ -60,6 +60,101 @@ const classifys = {
   }
 }
 
+// 市场营销_销售
+const shichangyingxiao_xiaoshou = [
+  {text: '制定销售计划', icon: require(`~/static/gangweiIcon/z01.png`)},
+  {text: '销售信息收集', icon: require(`~/static/gangweiIcon/z02.png`)},
+  {text: '客户关系管理', icon: require(`~/static/gangweiIcon/z03.png`)},
+  {text: '严守职业道德', icon: require(`~/static/gangweiIcon/z04.png`)},
+  {text: '销售费用控制', icon: require(`~/static/gangweiIcon/z05.png`)},
+  {text: '协助市场开发', icon: require(`~/static/gangweiIcon/z06.png`)},
+]
+
+// 市场营销_市场
+const shichangyingxiao_shichang = [
+  {text: '策划市场推广方案', icon: require(`~/static/gangweiIcon/z07.png`)},
+  {text: '开展市场调研活动', icon: require(`~/static/gangweiIcon/z08.png`)},
+  {text: '品牌推广与运营',   icon: require(`~/static/gangweiIcon/z09.png`)},
+  {text: '计划拓展市场预算', icon: require(`~/static/gangweiIcon/z10.png`)},
+  {text: '建立媒体运营矩阵', icon: require(`~/static/gangweiIcon/z11.png`)},
+  {text: '协助销售部门工作', icon: require(`~/static/gangweiIcon/z12.png`)},
+]
+
+// 课程定制
+const kechengdingzhi = [
+  {text: '员工技能培训', icon: require(`~/static/gangweiIcon/z13.png`)},
+  {text: '中小学教育课程', icon: require(`~/static/gangweiIcon/z14.png`)},
+  {text: '高校专业理论知识',   icon: require(`~/static/gangweiIcon/z15.png`)},
+  {text: '领导干部培训', icon: require(`~/static/gangweiIcon/z16.png`)},
+  {text: '企业宣传片', icon: require(`~/static/gangweiIcon/z17.png`)},
+  {text: '语言类学习培训', icon: require(`~/static/gangweiIcon/z18.png`)},
+  {text: '专家讲座数字化', icon: require(`~/static/gangweiIcon/z19.png`)},
+  {text: '公务员理论学习', icon: require(`~/static/gangweiIcon/z20.png`)},
+]
+
+// 生产采购
+const shengchancaigou = [
+  {text: '生产计划管理', icon: require(`~/static/gangweiIcon/z21.png`)},
+  {text: '生产质量管理', icon: require(`~/static/gangweiIcon/z22.png`)},
+  {text: '生产安全管理',   icon: require(`~/static/gangweiIcon/z23.png`)},
+  {text: '生产团队建设', icon: require(`~/static/gangweiIcon/z24.png`)},
+  {text: '生产现场管理', icon: require(`~/static/gangweiIcon/z25.png`)},
+  {text: '生产设备管理', icon: require(`~/static/gangweiIcon/z26.png`)},
+  {text: '制定采购计划', icon: require(`~/static/gangweiIcon/z27.png`)},
+  {text: '采购制定建立', icon: require(`~/static/gangweiIcon/z28.png`)},
+  {text: '采购成本把控', icon: require(`~/static/gangweiIcon/z29.png`)},
+  {text: '供应商管理', icon: require(`~/static/gangweiIcon/z30.png`)},
+  {text: '采购团队建设', icon: require(`~/static/gangweiIcon/z31.png`)},
+]
+
+// 严肃考试
+const yansukaoshi = [
+  {text: '招聘考试', icon: require(`~/static/gangweiIcon/z32.png`)},
+  {text: '升学考试', icon: require(`~/static/gangweiIcon/z33.png`)},
+  {text: '司法考试',   icon: require(`~/static/gangweiIcon/z34.png`)},
+  {text: '知识竞赛', icon: require(`~/static/gangweiIcon/z35.png`)},
+]
+
+// 行政管理
+const xingzhengguanli = [
+  {text: '公文写作', icon: require(`~/static/gangweiIcon/z36.png`)},
+  {text: '会议管理', icon: require(`~/static/gangweiIcon/z37.png`)},
+  {text: '员工关系管理', icon: require(`~/static/gangweiIcon/z38.png`)},
+  {text: '建立公司规章制度', icon: require(`~/static/gangweiIcon/z39.png`)},
+  {text: '商务接待', icon: require(`~/static/gangweiIcon/z40.png`)},
+  {text: '办公用品采购', icon: require(`~/static/gangweiIcon/z41.png`)},
+]
+
+// 财务管理
+const caiwuguanli = [
+  {text: '财务制度的建设', icon: require(`~/static/gangweiIcon/z42.png`)},
+  {text: '财务规划与计划', icon: require(`~/static/gangweiIcon/z43.png`)},
+  {text: '现金出纳', icon: require(`~/static/gangweiIcon/z44.png`)},
+  {text: '日常会计核算', icon: require(`~/static/gangweiIcon/z45.png`)},
+  {text: '财务分析与报告', icon: require(`~/static/gangweiIcon/z46.png`)},
+  {text: '财务审计', icon: require(`~/static/gangweiIcon/z47.png`)},
+]
+
+// 客服服务
+const kefufuwu = [
+  {text: '客户咨询工作', icon: require(`~/static/gangweiIcon/z48.png`)},
+  {text: '记录客户信息', icon: require(`~/static/gangweiIcon/z49.png`)},
+  {text: '处理客户投诉', icon: require(`~/static/gangweiIcon/z50.png`)},
+  {text: '后期回访工作', icon: require(`~/static/gangweiIcon/z51.png`)},
+  {text: '收集客户意见及建议', icon: require(`~/static/gangweiIcon/z52.png`)},
+  {text: '维护企业形象', icon: require(`~/static/gangweiIcon/z53.png`)},
+]
+
+// 产品运营
+const chanpinyunying = [
+  {text: '需求管理', icon: require(`~/static/gangweiIcon/z54.png`)},
+  {text: '产品生命周期管理', icon: require(`~/static/gangweiIcon/z55.png`)},
+  {text: '数据分析', icon: require(`~/static/gangweiIcon/z56.png`)},
+  {text: '项目协助', icon: require(`~/static/gangweiIcon/z57.png`)},
+  {text: '市场调研', icon: require(`~/static/gangweiIcon/z58.png`)},
+  {text: '团队管理', icon: require(`~/static/gangweiIcon/z59.png`)},
+]
+
 /**
  * 申请方案
  * @page 首页 课程定制 课程资源
@@ -67,5 +162,12 @@ const classifys = {
 
 export {
   BannerImgs,
-  classifys
+  classifys,
+  chanpinyunying,
+  kefufuwu,
+  caiwuguanli,
+  xingzhengguanli,
+  yansukaoshi,
+  shengchancaigou,
+  kechengdingzhi,
 }

+ 27 - 8
package-lock.json

@@ -4279,6 +4279,14 @@
         }
       }
     },
+    "dom7": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/dom7/-/dom7-3.0.0.tgz",
+      "integrity": "sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==",
+      "requires": {
+        "ssr-window": "^3.0.0-alpha.1"
+      }
+    },
     "domain-browser": {
       "version": "1.2.0",
       "resolved": "https://registry.npm.taobao.org/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1597693741648&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz",
@@ -9538,6 +9546,11 @@
         "tweetnacl": "~0.14.0"
       }
     },
+    "ssr-window": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz",
+      "integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
+    },
     "ssri": {
       "version": "7.1.0",
       "resolved": "https://registry.npm.taobao.org/ssri/download/ssri-7.1.0.tgz",
@@ -9802,6 +9815,15 @@
         "util.promisify": "~1.0.0"
       }
     },
+    "swiper": {
+      "version": "6.8.4",
+      "resolved": "https://registry.npmmirror.com/swiper/-/swiper-6.8.4.tgz",
+      "integrity": "sha512-O+buF9Q+sMA0H7luMS8R59hCaJKlpo8PXhQ6ZYu6Rn2v9OsFd4d1jmrv14QvxtQpKAvL/ZiovEeANI/uDGet7g==",
+      "requires": {
+        "dom7": "^3.0.0",
+        "ssr-window": "^3.0.0"
+      }
+    },
     "tapable": {
       "version": "1.1.3",
       "resolved": "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1589549557661&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz",
@@ -10403,6 +10425,11 @@
       "resolved": "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz?cache=0&sync_timestamp=1597876246974&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue%2Fdownload%2Fvue-2.6.11.tgz",
       "integrity": "sha1-dllNh31LEiNEBuhONSdcbVFBJcU="
     },
+    "vue-awesome-swiper": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmmirror.com/vue-awesome-swiper/-/vue-awesome-swiper-4.1.1.tgz",
+      "integrity": "sha512-50um10t6N+lJaORkpwSi1wWuMmBI1sgFc9Znsi5oUykw2cO5DzLaBHcO2JNX21R+Ue4TGoIJDhhxjBHtkFrTEQ=="
+    },
     "vue-client-only": {
       "version": "2.0.0",
       "resolved": "https://registry.npm.taobao.org/vue-client-only/download/vue-client-only-2.0.0.tgz",
@@ -10633,7 +10660,6 @@
           "version": "2.3.2",
           "resolved": "http://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz",
           "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=",
-          "optional": true,
           "requires": {
             "arr-flatten": "^1.1.0",
             "array-unique": "^0.3.2",
@@ -10651,7 +10677,6 @@
               "version": "2.0.1",
               "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -10682,7 +10707,6 @@
           "version": "4.0.0",
           "resolved": "http://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz",
           "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-          "optional": true,
           "requires": {
             "extend-shallow": "^2.0.1",
             "is-number": "^3.0.0",
@@ -10694,7 +10718,6 @@
               "version": "2.0.1",
               "resolved": "http://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz",
               "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-              "optional": true,
               "requires": {
                 "is-extendable": "^0.1.0"
               }
@@ -10745,7 +10768,6 @@
           "version": "3.0.0",
           "resolved": "http://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz",
           "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-          "optional": true,
           "requires": {
             "kind-of": "^3.0.2"
           },
@@ -10754,7 +10776,6 @@
               "version": "3.2.2",
               "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz",
               "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-              "optional": true,
               "requires": {
                 "is-buffer": "^1.1.5"
               }
@@ -10765,7 +10786,6 @@
           "version": "3.1.10",
           "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz",
           "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=",
-          "optional": true,
           "requires": {
             "arr-diff": "^4.0.0",
             "array-unique": "^0.3.2",
@@ -10797,7 +10817,6 @@
           "version": "2.1.1",
           "resolved": "http://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz",
           "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-          "optional": true,
           "requires": {
             "is-number": "^3.0.0",
             "repeat-string": "^1.6.1"

+ 3 - 6
pages/news/index.vue

@@ -45,24 +45,21 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="news"></desWithCode>
 
   </div>
 </template>
 
 <script>
   import NewList from '~/components/news/NewsList';
+  import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
   const defaultNewsClassifyId = 0;
   export default {
     name:       'news',
     layout:     'templateB',
     components: {
-      NewList,
+      NewList,desWithCode
     },
     async asyncData({ $axios, store }) {
       // 设置选中菜单

+ 19 - 37
pages/product/caiWuGuanLi.vue

@@ -15,35 +15,9 @@
       财务部主要负责企业的财务管理,主要只能是在本企业一定的整体目标下,
       关于资本的购置,资本的融通和经营中现金流量,以及利润分配的管理。
     </div>
-
-    <!--  岗位职责  -->
-    <div class="client-caiwu-gangwei">
-      <ul>
-        <li>
-          <i></i>
-          <span>财务制度的建设</span>
-        </li>
-        <li>
-          <i></i>
-          <span>财务规划与计划</span>
-        </li>
-        <li>
-          <i></i>
-          <span>现金出纳</span>
-        </li>
-        <li>
-          <i></i>
-          <span>日常会计核算</span>
-        </li>
-        <li>
-          <i></i>
-          <span>财务分析与报告</span>
-        </li>
-        <li>
-          <i></i>
-          <span>财务审计</span>
-        </li>
-      </ul>
+    <div class="client-container">
+      <!--  岗位职责  -->
+      <gangwei-list label="岗位职责" :list="gangwei" :pc-num="3" :h5-num="2" :pc-margin="320" :h5-margin="0"></gangwei-list>
     </div>
 
     <!--  部分课程列表  -->
@@ -52,9 +26,9 @@
       <mtaTable :data="tableData" :config="tableConfig" @shi-kan="shiKan"></mtaTable>
       <div class="btns-group">
         <a class="client-default-Btn">
-          <freeTrialBtn  myType="kaoshi"/>
+          <freeTrialBtn myType="kaoshi"/>
         </a>
-        <onlineInformationBtn class="client-default-Btn" />
+        <onlineInformationBtn class="client-default-Btn"/>
       </div>
     </div>
 
@@ -67,14 +41,16 @@ import mtaTable from "~/components/common/mtaTable";
 import videoDialog from "~/components/common/videoDialog";
 import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
-import {BannerImgs} from "~/defaultConfig";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, caiwuguanli} from "~/defaultConfig";
+
 /**
  * @ 产品与服务 -> 课程资源 -> 财务管理
  */
 export default {
   name: "professionalQuality",
-  layout:   'templateB',
-  head(){
+  layout: 'templateB',
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -83,8 +59,8 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
@@ -100,7 +76,8 @@ export default {
   },
   components: {
     mtaTable, videoDialog,
-    freeTrialBtn,onlineInformationBtn},
+    freeTrialBtn, onlineInformationBtn, gangweiList
+  },
   data() {
     return {
       tableConfig: [
@@ -171,6 +148,11 @@ export default {
       visible: false,
     }
   },
+  computed: {
+    gangwei() {
+      return caiwuguanli
+    }
+  },
   methods: {
     shiKan({url}) {
       this.visible = true;

+ 19 - 50
pages/product/chanPinYunYing.vue

@@ -9,48 +9,9 @@
       <p>紧随市场趋势,接轨企业需求,获得产品运营技能</p>
       <span>产品部、运营部</span>
     </div>
-
-    <!--  岗位职责  -->
-    <div class="client-gangwei-box">
-      <h4>岗位职责</h4>
-      <ul>
-        <li>
-          <i></i>
-          <span>
-            需求管理
-          </span>
-        </li>
-        <li>
-          <i></i>
-          <span>
-            产品生命周期管理
-          </span>
-        </li>
-        <li>
-          <i></i>
-          <span>
-            数据分析
-          </span>
-        </li>
-        <li>
-          <i></i>
-          <span>
-            项目写作
-          </span>
-        </li>
-        <li>
-          <i></i>
-          <span>
-            市场调研
-          </span>
-        </li>
-        <li>
-          <i></i>
-          <span>
-            团队管理
-          </span>
-        </li>
-      </ul>
+    <div class="client-container">
+      <!--  岗位职责  -->
+      <gangwei-list label="岗位职责" :list="gangwei" :pc-num="3" :h5-num="2" :pc-margin="320" :h5-margin="0"></gangwei-list>
     </div>
 
     <!--  能力提升  -->
@@ -65,9 +26,9 @@
       <mtaTable :data="tableData" :config="tableConfig" @shi-kan="shiKan"></mtaTable>
       <div class="btns-group">
         <a class="client-default-Btn">
-          <freeTrialBtn  myType="kaoshi"/>
+          <freeTrialBtn myType="kaoshi"/>
         </a>
-        <onlineInformationBtn class="client-default-Btn" />
+        <onlineInformationBtn class="client-default-Btn"/>
       </div>
     </div>
 
@@ -79,14 +40,16 @@ import mtaTable from "~/components/common/mtaTable";
 import videoDialog from "~/components/common/videoDialog";
 import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
-import {BannerImgs} from "~/defaultConfig";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, chanpinyunying} from "~/defaultConfig";
+
 /**
  * @ 产品与服务 -> 课程资源 -> 产品运营
  */
 export default {
   name: "professionalQuality",
-  layout:   'templateB',
-  head(){
+  layout: 'templateB',
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -95,8 +58,8 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
@@ -112,7 +75,8 @@ export default {
   },
   components: {
     mtaTable, videoDialog,
-    freeTrialBtn,onlineInformationBtn},
+    freeTrialBtn, onlineInformationBtn, gangweiList
+  },
   data() {
     return {
       tableConfig: [
@@ -159,6 +123,11 @@ export default {
       visible: false,
     }
   },
+  computed: {
+    gangwei() {
+      return chanpinyunying
+    }
+  },
   methods: {
     shiKan({url}) {
       this.visible = true;

+ 81 - 38
pages/product/courseCustom.vue

@@ -12,43 +12,15 @@
     <!--  专业团队满足客户需求  -->
     <div class="platform-products-experience client-container">
       <h4> 专业团队满足客户需求 </h4>
-      <p>服务企业 <i>100+</i>,累计开发课时 <i>30,000+</i></p>
-      <p>青谷是国内专业、成熟的课程设计、开发团队、拥有丰富的电子课程制作经验,
+      <p class="p1">服务企业 <i>100+</i>,累计开发课时 <i>30,000+</i></p>
+      <p class="p2">青谷是国内专业、成熟的课程设计、开发团队、拥有丰富的电子课程制作经验,
         业务方向包括教学设计体验、动画设计、视频拍摄等,涉及的行业有教育培训、零售连锁、机械制造、金融保险等。</p>
-      <ul>
-        <li>
-          <img src="#">
-          <span>员工技能培训</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>中小学教育课程</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>高校专业理论知识</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>领导干部培训</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>企业宣传片</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>语言类学习培训</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>专家讲座数字化</span>
-        </li>
-        <li>
-          <img src="#">
-          <span>公务员理论学习</span>
-        </li>
-      </ul>
+      <div class="client-container">
+        <!--  岗位职责  -->
+        <gangweiList :list="gangwei" :pc-num="4" :h5-num="2" :pc-margin="150" :h5-margin="0"></gangweiList>
+      </div>
+
+
       <div class="btns-group">
         <a class="client-default-Btn">
           <applyBtn @active-pc="onApplyBtnActive" @active-h5="onApplyBtnActiveH5"/>
@@ -196,7 +168,8 @@ import newsComp2 from "~/components/common/newsComp2";
 import chanPinTiYan from "~/components/common/chanPinTiYan";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard"
-import {BannerImgs, classifys} from "~/defaultConfig"
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, classifys, kechengdingzhi} from "~/defaultConfig"
 
 /**
  * @ 产品与服务 -> 课程定制
@@ -204,7 +177,16 @@ import {BannerImgs, classifys} from "~/defaultConfig"
 export default {
   name: "courseCustom",
   layout: 'templateB',
-  components: { onlineInformationBtn, newsComp2, chanPinTiYan, videoDialog, videoCard, applyBtn, applicationDialog},
+  components: {
+    onlineInformationBtn,
+    newsComp2,
+    chanPinTiYan,
+    videoDialog,
+    videoCard,
+    applyBtn,
+    applicationDialog,
+    gangweiList
+  },
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/news/carousel`, {
@@ -234,6 +216,11 @@ export default {
       ],
     }
   },
+  computed: {
+    gangwei() {
+      return kechengdingzhi
+    }
+  },
   data() {
     return {
       curVideo: '',
@@ -266,6 +253,7 @@ export default {
   background: green;
   text-align: center;
   color: #fff;
+  overflow: hidden;
 }
 
 .btns-group {
@@ -283,4 +271,59 @@ export default {
     font-size: 16px;
   }
 }
+
+.platform-products-experience {
+  h4 {
+    font-size: 30px;
+    font-weight: 800;
+    text-align: center;
+    color: #333333;
+    margin-top: 74px;
+    margin-bottom: 58px;
+  }
+
+  .p1 {
+    font-size: 18px;
+    color: #565656;
+    font-weight: 800;
+    text-align: center;
+
+    i {
+      font-size: 26px;
+      color: #00B96B;
+    }
+  }
+
+  .p2 {
+    margin: 30px auto 110px;
+    text-align: center;
+    width: 991px;
+    font-size: 18px;
+    line-height: 24px;
+    font-weight: 500;
+    color: #565656;
+  }
+
+  @media (max-width: 768px) {
+    h4 {
+      font-size: 22px;
+      font-weight: 800;
+      text-align: center;
+      color: #333333;
+      margin-top: 36px;
+      margin-bottom: 20px;
+    }
+    .p1 {
+      i {
+        font-size: 18px;
+        color: #565656;
+        font-weight: 800;
+      }
+    }
+    .p2 {
+      width: 80%;
+      margin-bottom: 30px;
+    }
+  }
+}
 </style>

+ 19 - 37
pages/product/keFuFuWu.vue

@@ -10,35 +10,9 @@
       <span>产品部、运营部</span>
     </div>
 
-    <!--  岗位职责  -->
-    <div class="client-gangwei-box">
-      <h4>岗位职责</h4>
-      <ul>
-        <li>
-          <i></i>
-          <span>客户咨询工作</span>
-        </li>
-        <li>
-          <i></i>
-          <span>记录客户信息</span>
-        </li>
-        <li>
-          <i></i>
-          <span>处理客户投诉</span>
-        </li>
-        <li>
-          <i></i>
-          <span>后期回访工作</span>
-        </li>
-        <li>
-          <i></i>
-          <span>收集客户意见及建议</span>
-        </li>
-        <li>
-          <i></i>
-          <span>维护企业形象</span>
-        </li>
-      </ul>
+    <div class="client-container">
+      <!--  岗位职责  -->
+      <gangweiList label="岗位职责" :list="gangwei" :pc-num="3" :h5-num="2" :pc-margin="320" :h5-margin="0"></gangweiList>
     </div>
 
     <!--  能力提升  -->
@@ -53,9 +27,9 @@
       <mtaTable :data="tableData" :config="tableConfig" @shi-kan="shiKan"></mtaTable>
       <div class="btns-group">
         <a class="client-default-Btn">
-          <freeTrialBtn  myType="kaoshi"/>
+          <freeTrialBtn myType="kaoshi"/>
         </a>
-        <onlineInformationBtn class="client-default-Btn" />
+        <onlineInformationBtn class="client-default-Btn"/>
       </div>
     </div>
   </div>
@@ -66,14 +40,16 @@ import mtaTable from "~/components/common/mtaTable";
 import videoDialog from "~/components/common/videoDialog";
 import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
-import {BannerImgs} from "~/defaultConfig";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, kefufuwu} from "~/defaultConfig";
+
 /**
  * @ 产品与服务 -> 课程资源 -> 课程服务
  */
 export default {
   name: "professionalQuality",
-  layout:   'templateB',
-  head(){
+  layout: 'templateB',
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -82,8 +58,8 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
@@ -99,7 +75,8 @@ export default {
   },
   components: {
     mtaTable, videoDialog,
-    freeTrialBtn,onlineInformationBtn},
+    freeTrialBtn, onlineInformationBtn, gangweiList
+  },
   data() {
     return {
       tableConfig: [
@@ -158,6 +135,11 @@ export default {
       visible: false,
     }
   },
+  computed: {
+    gangwei() {
+      return kefufuwu
+    }
+  },
   methods: {
     shiKan({url}) {
       this.visible = true;

+ 25 - 58
pages/product/shengCanCaiGou.vue → pages/product/shengChanCaiGou.vue

@@ -10,52 +10,9 @@
       <span><i></i> 生产部门、采购部门</span>
     </div>
 
-    <!--  岗位职责  -->
-    <div class="client-gangwei-box">
-      <li>
-        <i></i>
-        <span>生产计划管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>生产质量管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>生产安全管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>生产团队建设</span>
-      </li>
-      <li>
-        <i></i>
-        <span>生产现场管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>生产设备管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>制定采购计划</span>
-      </li>
-      <li>
-        <i></i>
-        <span>采购制度建立</span>
-      </li>
-      <li>
-        <i></i>
-        <span>采购成本把控</span>
-      </li>
-      <li>
-        <i></i>
-        <span>供应商管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>采购团队建设</span>
-      </li>
+    <div class="client-container">
+      <!--  岗位职责  -->
+      <gangweiList label="岗位职责" :list="gangwei" :pc-num="4" :h5-num="2" :pc-margin="150" :h5-margin="0"></gangweiList>
     </div>
 
     <!--  部分课程列表  -->
@@ -64,9 +21,9 @@
       <mtaTable :data="tableData" :config="tableConfig" @shi-kan="shiKan"></mtaTable>
       <div class="btns-group">
         <a class="client-default-Btn">
-          <freeTrialBtn  myType="kaoshi"/>
+          <freeTrialBtn myType="kaoshi"/>
         </a>
-        <onlineInformationBtn class="client-default-Btn" />
+        <onlineInformationBtn class="client-default-Btn"/>
       </div>
     </div>
 
@@ -79,13 +36,15 @@ import mtaTable from "~/components/common/mtaTable";
 import videoDialog from "~/components/common/videoDialog";
 import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
-import {BannerImgs} from "~/defaultConfig";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, shengchancaigou} from "~/defaultConfig";
+
 /**
  * @ 产品与服务 -> 课程资源 -> 生产采购
  */
 export default {
   name: "professionalQuality",
-  layout:   'templateB',
+  layout: 'templateB',
   async asyncData({$axios}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.shengcancaigou}),
@@ -97,8 +56,9 @@ export default {
   },
   components: {
     mtaTable, videoDialog,
-    freeTrialBtn,onlineInformationBtn},
-  head(){
+    freeTrialBtn, onlineInformationBtn, gangweiList
+  },
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -107,8 +67,8 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
@@ -183,6 +143,11 @@ export default {
       visible: false,
     }
   },
+  computed: {
+    gangwei() {
+      return shengchancaigou
+    }
+  },
   methods: {
     shiKan({url}) {
       this.visible = true;
@@ -203,13 +168,15 @@ export default {
   text-align: center;
   color: #fff;
 }
+
 .btns-group {
   display: flex;
   text-align: center;
-.client-default-Btn {
-  width: 120px;
-  margin-right: 20px;
-}
+
+  .client-default-Btn {
+    width: 120px;
+    margin-right: 20px;
+  }
 }
 
 </style>

+ 18 - 34
pages/product/xingZhengGuanLi.vue

@@ -15,32 +15,9 @@
       行政部门主要负责企业的行政管理工作,配合业务部门进行文案写作、协调组织会议,商务接待、办公品采购等业务。
     </div>
 
-    <!--  岗位职责  -->
-    <div class="client-gangwei-box">
-      <li>
-        <i></i>
-        <span>公文写作</span>
-      </li>
-      <li>
-        <i></i>
-        <span>会议管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>员工关系管理</span>
-      </li>
-      <li>
-        <i></i>
-        <span>建立公司规章制度</span>
-      </li>
-      <li>
-        <i></i>
-        <span>商务接待</span>
-      </li>
-      <li>
-        <i></i>
-        <span>办公用品采购</span>
-      </li>
+    <div class="client-container">
+      <!--  岗位职责  -->
+      <gangweiList label="岗位职责" :list="gangwei" :pc-num="3" :h5-num="2" :pc-margin="320" :h5-margin="0"></gangweiList>
     </div>
 
 
@@ -50,9 +27,9 @@
       <mtaTable :data="tableData" :config="tableConfig" @shi-kan="shiKan"></mtaTable>
       <div class="btns-group">
         <a class="client-default-Btn">
-          <freeTrialBtn  myType="kaoshi"/>
+          <freeTrialBtn myType="kaoshi"/>
         </a>
-        <onlineInformationBtn class="client-default-Btn" />
+        <onlineInformationBtn class="client-default-Btn"/>
       </div>
     </div>
 
@@ -66,7 +43,8 @@ import videoDialog from "~/components/common/videoDialog";
 import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
 import pingfen from "~/components/common/pingfen";
-import {BannerImgs} from "~/defaultConfig";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
+import {BannerImgs, xingzhengguanli} from "~/defaultConfig";
 
 /**
  * @ 产品与服务 -> 课程资源 -> 行政管理
@@ -74,7 +52,7 @@ import {BannerImgs} from "~/defaultConfig";
 
 export default {
   name: "professionalQuality",
-  layout:   'templateB',
+  layout: 'templateB',
   async asyncData({$axios}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.xingzhenguanli}),
@@ -86,8 +64,9 @@ export default {
   },
   components: {
     mtaTable, videoDialog,
-    freeTrialBtn,onlineInformationBtn, pingfen},
-  head(){
+    freeTrialBtn, onlineInformationBtn, pingfen, gangweiList
+  },
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -96,12 +75,17 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
   },
+  computed: {
+    gangwei() {
+      return xingzhengguanli
+    }
+  },
   data() {
     return {
       tableConfig: [

+ 3 - 6
pages/solution/biteAndSup.vue

@@ -125,11 +125,7 @@
 
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="biteAndSup"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -145,6 +141,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 食品餐饮
@@ -152,7 +149,7 @@ import videoCard from "~/components/common/videoCard";
 export default {
   name: "biteAndSup",
   layout:   'templateB',
-  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.shipincanyin}),

+ 3 - 6
pages/solution/education.vue

@@ -121,11 +121,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode class="education"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -140,6 +136,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 教育机构
@@ -147,7 +144,7 @@ import {BannerImgs} from "~/defaultConfig";
 export default {
   name: "education",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.jiaoyujigou}),

+ 3 - 6
pages/solution/energy.vue

@@ -120,11 +120,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="energy"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
   </div>
@@ -139,13 +135,14 @@ import newsComp2 from "~/components/common/newsComp2";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 /**
  * @ 解决方案 -> 能源化工
  */
 export default {
   name: "energy",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.nengyuanhuagong}),

+ 4 - 6
pages/solution/erupt.vue

@@ -95,11 +95,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="erupt"></desWithCode>
   </div>
 </template>
 
@@ -109,13 +105,15 @@ import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
 import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
+
 /**
  * @ 解决方案 -> 万人高并发
  */
 export default {
   name: "erupt",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, desWithCode},
   async asyncData({$axios, store}) {
     const opt = {
       page:           1,

+ 23 - 36
pages/solution/exam.vue

@@ -8,30 +8,13 @@
         class="client-platform-banner"></div>
       <h3>全流程AI监考防作弊体系</h3>
       <p>青谷为您打造专业的严肃性在线考试解决方案</p>
-      <onlineInformationBtn />
+      <onlineInformationBtn/>
     </div>
 
-    <!--  常见严肃性考试场景  -->
-    <div class="client-changjian-kaoshi">
-      <h3>常见严肃性考试场景</h3>
-      <ul>
-        <li>
-          <i></i>
-          <span>招聘考试</span>
-        </li>
-        <li>
-          <i></i>
-          <span>升学考试</span>
-        </li>
-        <li>
-          <i></i>
-          <span>司法考试</span>
-        </li>
-        <li>
-          <i></i>
-          <span>知识竞赛</span>
-        </li>
-      </ul>
+    <div class="client-container">
+      <!--  常见严肃性考试场景  -->
+      <gangweiList label="常见严肃性考试场景" :list="gangwei" :pc-num="4" :h5-num="2" :pc-margin="120"
+                   :h5-margin="0"></gangweiList>
     </div>
 
     <!--  严肃性考试解决方案  -->
@@ -48,7 +31,7 @@
                 <p class="p-before-circle">支持子管理员协助多屏监控在线监考,考生的面部表情、一举一动在后台实时呈现,最大程度模拟人工监考场景</p>
                 <p class="p-before-circle">随机组件、试题乱序、选择题选项乱序、超时强制交卷、防止切屏限制,有效的防止考生相互抄卷的行为</p>
                 <div>
-                  <onlineInformationBtn class="client-default-Btn" />
+                  <onlineInformationBtn class="client-default-Btn"/>
                 </div>
               </div>
             </div>
@@ -63,7 +46,7 @@
                 <p class="p-before-circle">企业级技术框架;数据存储备份机制;算法、秘钥双重保险,数据安全可靠</p>
                 <p class="p-before-circle">支持私有服务器部署内网考试,让考试数据更安全</p>
                 <div>
-                  <onlineInformationBtn class="client-default-Btn" />
+                  <onlineInformationBtn class="client-default-Btn"/>
                 </div>
               </div>
               <img src="#" alt="强大的人员和试题管理"/>
@@ -81,7 +64,7 @@
                 <p class="p-before-circle">分布式微服务架构、开放、安全、高能、高可靠的服务调用</p>
                 <p class="p-before-circle">为企业快速,灵活构建大规模分布式服务应用提供基础</p>
                 <div>
-                  <onlineInformationBtn class="client-default-Btn" />
+                  <onlineInformationBtn class="client-default-Btn"/>
                 </div>
               </div>
             </div>
@@ -97,7 +80,7 @@
                 <p class="p-before-circle">分布式微服务架构、开放、安全、高能、高可靠的服务调用</p>
                 <p class="p-before-circle">为企业快速,灵活构建大规模分布式服务应用提供基础</p>
                 <div>
-                  <onlineInformationBtn class="client-default-Btn" />
+                  <onlineInformationBtn class="client-default-Btn"/>
                 </div>
               </div>
               <img src="#" alt="强大的人员和试题管理"/>
@@ -156,10 +139,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-    </div>
+    <desWithCode source="exam"></desWithCode>
   </div>
 </template>
 
@@ -169,16 +149,18 @@ import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
 import newsComp2 from "~/components/common/newsComp2";
 import chanPinTiYan from "~/components/common/chanPinTiYan";
-import {BannerImgs} from "~/defaultConfig";
+import {BannerImgs, yansukaoshi} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
+import gangweiList from "@/components/common/layout/desComp/gangweiList";
 
 /**
  * @ 解决方案 -> 严肃考试
  */
 export default {
   name: "exam.vue",
-  layout:   'templateB',
+  layout: 'templateB',
   components: {
-     freeTrialBtn,onlineInformationBtn,newsComp2,chanPinTiYan
+    freeTrialBtn, onlineInformationBtn, newsComp2, chanPinTiYan, desWithCode, gangweiList
   },
   async asyncData({$axios, store}) {
     const arr = [
@@ -191,7 +173,7 @@ export default {
       bannerList: res2.data.data || [],
     }
   },
-  head(){
+  head() {
     return {
       title: '在线考试平台_在线考试软件_试卷软件系统',
       meta: [
@@ -200,12 +182,17 @@ export default {
           content: '考试平台,试卷系统,试卷软件'
         },
         {
-          name:'description',
-          content:'麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
+          name: 'description',
+          content: '麦塔考试系统具有良好高并发性和访问安全部署、严格的考试监控防作弊功能、PC移动支持多终端,随时随地考试、丰富的考试管理功能。'
         }
       ],
     }
   },
+  computed: {
+    gangwei() {
+      return yansukaoshi
+    }
+  },
   data() {
     return {
       curActive: 1,

+ 3 - 6
pages/solution/financial.vue

@@ -122,11 +122,7 @@
 
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="financial"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -142,6 +138,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 金融保险
@@ -149,7 +146,7 @@ import {BannerImgs} from "~/defaultConfig";
 export default {
   name: "financial",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.jinrongbaoxian}),

+ 3 - 6
pages/solution/government.vue

@@ -121,11 +121,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="government"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -142,6 +138,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 政府机构
@@ -149,7 +146,7 @@ import videoCard from "~/components/common/videoCard";
 export default {
   name: "government",
   layout:   'templateB',
-  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.zhengfujigou}),

+ 3 - 6
pages/solution/medical.vue

@@ -120,11 +120,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="medical"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -139,6 +135,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 医疗行业
@@ -146,7 +143,7 @@ import videoCard from "~/components/common/videoCard";
 export default {
   name: "medical",
   layout:   'templateB',
-  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard},
+  components: {chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.yiliaohangye}),

+ 5 - 7
pages/solution/peixun.vue

@@ -197,12 +197,8 @@
       </ul>
     </div>
 
-    <!--  客户经理扫码  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <span>马上扫码添加客户经理</span>
-      <img src="#" alt="">
-    </div>
+    <!--  立即咨询  -->
+    <desWithCode source="peixun"></desWithCode>
   </div>
 </template>
 
@@ -212,13 +208,15 @@ import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
 import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
+
 /**
  * @ 解决方案 -> 企业培训
  */
 export default {
   name: "peixun",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.qiyepeixun}),

+ 3 - 6
pages/solution/privatization.vue

@@ -104,11 +104,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="privatization"></desWithCode>
   </div>
 </template>
 
@@ -118,6 +114,7 @@ import freeTrialBtn from "~/components/common/freeTrialBtn";
 import onlineInformationBtn from "~/components/common/onlineInformationBtn";
 import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 私有化部署
@@ -125,7 +122,7 @@ import {BannerImgs} from "~/defaultConfig";
 export default {
   name: "privatization",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.siyouhuabushu}),

+ 3 - 6
pages/solution/transportation.vue

@@ -126,11 +126,7 @@
     </div>
 
     <!--  立即咨询  -->
-    <div class="client-zixun-code">
-      <h4>立即扫码资讯,领取您的专属解决方案</h4>
-      <img src="#" alt="">
-      <p>扫码添加客服微信</p>
-    </div>
+    <desWithCode source="transportation"></desWithCode>
 
     <videoDialog :source="curVideo" :visible.sync="visible"></videoDialog>
 
@@ -145,6 +141,7 @@ import newsComp2 from "~/components/common/newsComp2";
 import {BannerImgs} from "~/defaultConfig";
 import videoDialog from "~/components/common/videoDialog";
 import videoCard from "~/components/common/videoCard";
+import desWithCode from "@/components/common/layout/desComp/desWithCode";
 
 /**
  * @ 解决方案 -> 交通运输
@@ -152,7 +149,7 @@ import videoCard from "~/components/common/videoCard";
 export default {
   name: "transportation",
   layout:   'templateB',
-  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2,  videoDialog, videoCard},
+  components: { chanPinTiYan, freeTrialBtn, onlineInformationBtn, newsComp2,  videoDialog, videoCard, desWithCode},
   async asyncData({$axios, store}) {
     const arr = [
       $axios.$post(`/home/banner/list`, {'code': BannerImgs.jiaotongyunshu}),

+ 23 - 0
pages/testPage.vue

@@ -0,0 +1,23 @@
+<template>
+<!--  <imgCardLv1 ></imgCardLv1>-->
+</template>
+
+<script>
+import imgCardLv1 from "@/components/common/layout/imgDes/imgCardLv1";
+
+export default {
+  name: "testPage",
+  components: {
+    imgCardLv1
+  },
+  data() {
+    return {
+
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>

二进制
static/codeImage/bg01.png


二进制
static/codeImage/code_jingli.png


二进制
static/codeImage/code_kefu.png


二进制
static/gangweiIcon/z01.png


二进制
static/gangweiIcon/z02.png


二进制
static/gangweiIcon/z03.png


二进制
static/gangweiIcon/z04.png


二进制
static/gangweiIcon/z05.png


二进制
static/gangweiIcon/z06.png


二进制
static/gangweiIcon/z07.png


二进制
static/gangweiIcon/z08.png


二进制
static/gangweiIcon/z09.png


二进制
static/gangweiIcon/z10.png


二进制
static/gangweiIcon/z11.png


二进制
static/gangweiIcon/z12.png


二进制
static/gangweiIcon/z13.png


二进制
static/gangweiIcon/z14.png


二进制
static/gangweiIcon/z15.png


二进制
static/gangweiIcon/z16.png


二进制
static/gangweiIcon/z17.png


二进制
static/gangweiIcon/z18.png


二进制
static/gangweiIcon/z19.png


二进制
static/gangweiIcon/z20.png


二进制
static/gangweiIcon/z21.png


二进制
static/gangweiIcon/z22.png


二进制
static/gangweiIcon/z23.png


二进制
static/gangweiIcon/z24.png


二进制
static/gangweiIcon/z25.png


二进制
static/gangweiIcon/z26.png


二进制
static/gangweiIcon/z27.png


二进制
static/gangweiIcon/z28.png


二进制
static/gangweiIcon/z29.png


二进制
static/gangweiIcon/z30.png


二进制
static/gangweiIcon/z31.png


二进制
static/gangweiIcon/z32.png


二进制
static/gangweiIcon/z33.png


二进制
static/gangweiIcon/z34.png


二进制
static/gangweiIcon/z35.png


二进制
static/gangweiIcon/z36.png


二进制
static/gangweiIcon/z37.png


二进制
static/gangweiIcon/z38.png


二进制
static/gangweiIcon/z39.png


二进制
static/gangweiIcon/z40.png


二进制
static/gangweiIcon/z41.png


二进制
static/gangweiIcon/z42.png


二进制
static/gangweiIcon/z43.png


二进制
static/gangweiIcon/z44.png


二进制
static/gangweiIcon/z45.png


二进制
static/gangweiIcon/z46.png


二进制
static/gangweiIcon/z47.png


二进制
static/gangweiIcon/z48.png


二进制
static/gangweiIcon/z49.png


二进制
static/gangweiIcon/z50.png


二进制
static/gangweiIcon/z51.png


二进制
static/gangweiIcon/z52.png


二进制
static/gangweiIcon/z53.png


二进制
static/gangweiIcon/z54.png


二进制
static/gangweiIcon/z55.png


二进制
static/gangweiIcon/z56.png


二进制
static/gangweiIcon/z57.png


二进制
static/gangweiIcon/z58.png


二进制
static/gangweiIcon/z59.png