hml 2 tahun lalu
induk
melakukan
c328462c1a

+ 2 - 4
purchase_H5/src/common/common.js

@@ -45,13 +45,13 @@ export default {
             showZhezhao: false,
             showTimeout: false,
             callback: "",
-            indexNum: 0,
             // 临时实现
             bgc: '#ffffff',
             showVcode: false,
             dateTime: new Date(),
             getIsNum: 0,
             userid: "",
+            indexNum:0
         }
     },
     computed: {
@@ -201,9 +201,7 @@ export default {
             iframe.onload = function () {
                 iframe.contentWindow.postMessage(JSON.stringify(that.param), that.iframeUrl)
                 if (that.pageData.remarks.isMask === '1') {
-                    if (that.indexNum === 0) {
-                        that.showZhezhao = true
-                    }
+                  that.showZhezhao = true
 
                 }
                 that.$toast.clear();

+ 11 - 12
purchase_H5/src/components/hideModal.vue

@@ -59,6 +59,7 @@
         <p>(1)获得您明确同意的情况下,我们会在您同意的范围内对外提供您的个人信息。我们会按照法律法规及国家标准要求以协议、具体场景下的文案、弹窗提示等形式征得您的同意,或核查第三方已经征得您的同意。</p>
         <p>(2)根据法律法规或强制性的行政或司法要求,我们会依法对外提供您的个人信息。</p>
         <p>(3)某些产品或服务可能由第三方提供或我们与第三方共同提供,只有向第三方提供您的信息才能为您提供产品或服务。本情形下,我们将向第三方提供为实现上述业务目的所必要的您的个人信息,并要求第三方不得将您的个人信息用于任何其他用途。</p>
+        <p v-if="isTemp==='tencent'">(4)您提供的手机号码,后续将提供给腾讯视频用于共同提供流量服务。</p>
         <p>3.公开披露个人信息</p>
         <p>我们仅会在以下情形下,公开披露您的个人信息:</p>
         <p>(1)获得您明确同意后;</p>
@@ -202,17 +203,15 @@ export default {
     pageData: Object
   },
   created () {
-    // if (this.pageData.remarks.dispose && this.pageData.remarks.dispose !== '') {
-    //   this.pageData.remarks.dispose.split(',').forEach(val => {
-    //     if (val === 'ksInfo' || val === 'kuaishou' || val === 'ksJhuo') {
-    //       this.isTemp = 'ks'
-    //     } else if (val === 'tencent') {
-    //       this.isTemp = 'tencent'
-    //     } else {
-    //       this.isTemp = ""
-    //     }
-    //   })
-    // }
+      if (this.pageData.remarks.dispose && this.pageData.remarks.dispose !== '') {
+        this.pageData.remarks.dispose.split(',').forEach(val => {
+          if (val === 'tencent') {
+            this.isTemp = 'tencent'
+          } else {
+            this.isTemp = ""
+          }
+        })
+      }
   }
 };
 </script>
@@ -296,4 +295,4 @@ export default {
     left: 37px;
   }
 }
-</style>
+</style>

+ 3 - 2
purchase_H5/src/components/newZheZhao.vue

@@ -12,7 +12,8 @@
 <!--        </span>-->
 <!--      </div>-->
 <!--    </div>-->
-      <div class="maskTest">{{ pageData.remarks.maskText }}</div>
+      <div v-if="indexNum===0" class="maskTest">{{ pageData.remarks.maskText }}</div>
+      <div v-else class="maskTest">{{ pageData.remarks.fitText }}</div>
   </div>
   <div v-else-if="isZheZhao === '0'" class="zhezhoa">
     <div class="box">
@@ -40,7 +41,7 @@
 </template>
 <script>
 export default {
-  props: { showZhezhao: Boolean, isZheZhao: String },
+  props: { showZhezhao: Boolean, isZheZhao: String,indexNum:Number },
   data() {
     return {
       show: false,

+ 15 - 4
purchase_H5/src/components/unifyColor.vue

@@ -118,12 +118,23 @@
         <div class="name">
           您正在订购<span>{{ pageData.mainProduct.productName }}</span>
         </div>
-        <div class="maskText" v-if="pageData.remarks.isMask === '1'">
-          {{ pageData.remarks.maskText }}
+        <div v-if="indexNum === 0">
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.maskText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1' && pageData.remarks.maskText2">
+            ({{ pageData.remarks.maskText2 }})
+          </div>
         </div>
-        <div class="maskText2" v-if="pageData.remarks.isMask === '1' && pageData.remarks.maskText2">
-          ({{ pageData.remarks.maskText2 }})
+        <div v-else>
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.fitText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1'">
+            ({{ pageData.remarks.fitText2 }})
+          </div>
         </div>
+
         <div class="getCode">
           <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码" maxlength="6" />
           <span class="code" :class="{ code: 1, number: codeState.state }" @click="getCode()">{{ codeState.state ? codeState.time + "s" : "重新获取" }}</span>

+ 20 - 10
purchase_H5/src/components/unifyModal.vue

@@ -57,18 +57,29 @@
         <div class="name">
           您正在订购<span>{{ pageData.mainProduct.productName }}</span>
         </div>
-        <div class="maskText" v-if="pageData.remarks.isMask === '1'">
-          {{ pageData.remarks.maskText }}
+        <div v-if="indexNum === 0">
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.maskText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1'">
+            ({{ pageData.remarks.maskText2 }})
+          </div>
         </div>
-        <div class="maskText2" v-if="pageData.remarks.isMask === '1' && pageData.remarks.maskText2">
-          ({{ pageData.remarks.maskText2 }})
+        <div v-else>
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.fitText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1'">
+            ({{ pageData.remarks.fitText2 }})
+          </div>
         </div>
-        <div class="getCode">
-          <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码" maxlength="6" />
-          <span class="code" :class="{ code: 1, number: codeState.state }" @click="getCode()">{{ codeState.state ? codeState.time + "s" : "重新获取" }}</span>
+
+        <div class=" getCode">
+            <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码" maxlength="6" />
+            <span class="code" :class="{ code: 1, number: codeState.state }" @click="getCode()">{{ codeState.state ? codeState.time + "s" : "重新获取" }}</span>
+          </div>
+          <div class="inputBtn" @click="unified">确认订购</div>
         </div>
-        <div class="inputBtn" @click="unified">确认订购</div>
-      </div>
     </van-overlay>
   </div>
 </template>
@@ -216,7 +227,6 @@ export default {
                 }, 500);
               }
             } else {
-              console.log(this.pageData.remarks.attestation);
               if (this.pageData.remarks.attestation === 3) {
                 this.$emit("btnClick", this.loginForm.phone);
               } else {

+ 7 - 7
purchase_H5/src/templates/templateColor/index.vue

@@ -3,13 +3,13 @@
   <div id="temp" class="tempalteColor" :style="pageData.mainProduct.bgColor !== null &&pageData.mainProduct.bgColor.length > 0? { backgroundColor: pageData.mainProduct.bgColor[0] }: { backgroundColor: '#000' } ">
     <div class="bannerBox" @click="bannerClick">
       <!-- 底层banner -->
-      <img class="banner" :class="productJson[0].dongHua && productJson[0].dongHua!==''&& productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
+      <img class="banner" v-if="pageData.mainProduct.bannerPics[0]" :class="productJson.length>0&&productJson[0].dongHua && productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
       <!-- json动图 -->
       <div class="svgBanner">
         <div id="lottie_box"></div>
       </div>
       <!-- 上层png -->
-      <div class="banner2" :class="productJson[0].dongHua && productJson[0].dongHua!==''&& productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
+      <div class="banner2" :class="productJson.length>0&&productJson[0].dongHua&& productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
         <img :src="imgUrl + pageData.mainProduct.bannerPics[2]" alt="" />
       </div>
       <!-- 顶层png/gif -->
@@ -29,7 +29,7 @@
     <jian-ren ref="refs" v-else-if="pageData.remarks.attestation === 2" @btnClick="toNewBuy" :pageData="pageData" @hideClick="showConceal = true" @ruleClick="ruleClick"></jian-ren>
     <!-- 统一认证组件---升级 -->
     <unify-color v-if="pageData.remarks.attestation === 3 ||pageData.remarks.attestation === 4 ||pageData.remarks.attestation === 5
-      " @btnClick="btnClick" :pageData="pageData" :isBuy="isBuy" @hideClick="showConceal = true" @ruleClick="ruleClick" @toBuy="toBuy" @toNewBuy="toNewBuy">
+      " @btnClick="btnClick" :pageData="pageData" :isBuy="isBuy" @hideClick="showConceal = true" @ruleClick="ruleClick" @toBuy="toBuy" @toNewBuy="toNewBuy" :indexNum="indexNum">
     </unify-color>
     <!-- 产品说明 -->
     <div class="descbox" v-if="productJson.length > 0 && productJson[0].productV === '2'" :style="{
@@ -40,11 +40,11 @@
       }" style="padding-top: 30px; padding-bottom: 15px">
       <div class="titleImg">
         <img :src="imgUrl + pageData.mainProduct.guidancePic.c" style="width: 100%; height: 100%" />
-        <div class="titleText" :style="{ color: `${productJson[0].proC.s}` }">
+        <div class="titleText" :style="productJson[0].proC.s?{ color: `${productJson[0].proC.s}` }:{}">
           产品说明
         </div>
       </div>
-      <div class="main" :style="{ color: `${productJson[0].proC.s}` }" v-html="pageData.mainProduct.givePhoneInfo"></div>
+      <div class="main" :style="productJson[0].proC.s?{ color: `${productJson[0].proC.s}` }:{}" v-html="pageData.mainProduct.givePhoneInfo"></div>
     </div>
     <div class="descbox" v-else>
       <img :src="imgUrl + pageData.mainProduct.guidancePic.p" style="width: 100%" />
@@ -106,9 +106,9 @@
     <!-- 订购超时 -->
     <timeout-modal v-model="showTimeout"></timeout-modal>
     <!-- 遮罩 -->
-    <newZheZhao v-if="showZhezhao" isZheZhao="1"></newZheZhao>
+    <newZheZhao v-if="showZhezhao" isZheZhao="1" :indexNum="indexNum"></newZheZhao>
     <!-- 退订挽留 -->
-    <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false"  >
+    <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false">
       <div class="other-modal modal" @click.stop>
         <img src="../../assets/img/close.png" class="close" @click="unBuyDrainage = false" />
         <div class="text-box">确定要放弃本服务吗?</div>

+ 7 - 10
purchase_H5/src/templates/templateCom/index.vue

@@ -2,13 +2,13 @@
   <div class="templateCom" id="temp">
     <div class="bannerBox" @click="bannerClick">
       <!-- 底层banner -->
-      <img class="banner" :class="productJson[0].dongHua && productJson[0].dongHua!==''&& productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
+      <img class="banner" v-if="pageData.mainProduct.bannerPics[0]" :class="productJson.length>0&&productJson[0].dongHua && productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
       <!-- json动图 -->
       <div class="svgBanner">
         <div id="lottie_box"></div>
       </div>
       <!-- 上层png -->
-      <div class="banner2" :class="productJson[0].dongHua && productJson[0].dongHua!==''&& productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
+      <div class="banner2" :class="productJson.length>0&&productJson[0].dongHua && productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
         <img :src="imgUrl + pageData.mainProduct.bannerPics[2]" alt="" />
       </div>
       <!-- 顶层png/gif -->
@@ -38,7 +38,7 @@
         pageData.remarks.attestation === 3 ||
         pageData.remarks.attestation === 4 ||
         pageData.remarks.attestation === 5
-      " @btnClick="btnClick" :pageData="pageData" :isBuy="isBuy" @hideClick="showConceal = true" @ruleClick="ruleClick" @toBuy="toBuy" @toNewBuy="toNewBuy">
+      " @btnClick="btnClick" :pageData="pageData" :isBuy="isBuy" @hideClick="showConceal = true" @ruleClick="ruleClick" @toBuy="toBuy" @toNewBuy="toNewBuy" :indexNum="indexNum">
     </unify-modal>
     <!-- 用户状态 -->
     <div v-if="user.userid" class="memBox">
@@ -103,9 +103,9 @@
     <!-- 订购超时 -->
     <timeout-modal v-model="showTimeout"></timeout-modal>
     <!-- 遮罩 -->
-    <newZheZhao v-if="showZhezhao" isZheZhao="1"></newZheZhao>
+    <newZheZhao v-if="showZhezhao" isZheZhao="1" :indexNum="indexNum"></newZheZhao>
     <!-- 退订挽留 -->
-    <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false" >
+    <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false">
       <div class="other-modal modal" @click.stop>
         <img src="../../assets/img/close.png" class="close" @click="unBuyDrainage = false" />
         <div class="text-box">确定要放弃本服务吗?</div>
@@ -206,7 +206,7 @@ export default {
   created () {
     document.title = this.pageData.mainProduct.productName;
     this.phone = this.$route.query.phone;
-    if (this.pageData.mainProduct.cacheSeatOne) {
+    if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
       this.productJson = this.pageData.mainProduct.cacheSeatOne;
     }
   },
@@ -331,10 +331,7 @@ export default {
         url = "/order001";
       } else if (type === "member") {
         addR.memberClick();
-        if (
-          this.productJson[0].memberUrl &&
-          this.productJson[0].memberUrl !== ""
-        ) {
+        if (this.productJson[0].memberUrl && this.productJson[0].memberUrl !== "") {
           window.location.href = this.productJson[0].memberUrl;
           return false;
         } else {

+ 9 - 9
purchase_H5/src/templates/templateTogether-Col/index.vue

@@ -3,13 +3,13 @@
   <div id="temp" class="tempalteTogetherColor" :style="pageData.mainProduct.bgColor !== null &&pageData.mainProduct.bgColor.length > 0 ? { backgroundColor: pageData.mainProduct.bgColor[0] }: { backgroundColor: '#000' }">
     <div class="bannerBox" @click="bannerClick">
       <!-- 底层banner -->
-      <img class="banner" :class="pageData.mainProduct.cacheSeatOne[0].dongHua && pageData.mainProduct.cacheSeatOne[0].dongHua!==''&& pageData.mainProduct.cacheSeatOne[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
+      <img class="banner" v-if="pageData.mainProduct.bannerPics[0]" :class="productJson.length>0 &&productJson[0].dongHua &&productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
        <!-- json动图 -->
       <div class="svgBanner" >
         <div id="lottie_box"></div>
       </div>
       <!-- 上层png -->
-      <div class="banner2" :class="pageData.mainProduct.cacheSeatOne[0].dongHua && pageData.mainProduct.cacheSeatOne[0].dongHua!==''&& pageData.mainProduct.cacheSeatOne[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
+      <div class="banner2" :class="productJson.length>0 &&productJson[0].dongHua && productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
         <img :src="imgUrl + pageData.mainProduct.bannerPics[2]" alt="" />
       </div>
       <!-- 顶层png/gif -->
@@ -32,7 +32,7 @@
           产品说明
         </div>
       </div>
-      <div class="main" :style="{ color: `${productJson[0].proC.s}` }" v-html="pageData.mainProduct.givePhoneInfo"></div>
+      <div class="main" :style="productJson[0].proC.s?{ color: `${productJson[0].proC.s}` }:{}" v-html="pageData.mainProduct.givePhoneInfo"></div>
     </div>
     <div class="descbox" v-else-if="productJson.length > 0 && productJson[0].productV === '1'">
       <img :src="imgUrl + pageData.mainProduct.guidancePic.p" style="width: 100%" />
@@ -92,7 +92,7 @@
     <!-- 订购超时 -->
     <timeout-modal v-model="showTimeout"></timeout-modal>
     <!-- 遮罩 -->
-    <newZheZhao v-if="showZhezhao" isZheZhao="1"></newZheZhao>
+    <newZheZhao v-if="showZhezhao" isZheZhao="1" :indexNum="indexNum"></newZheZhao>
     <!-- 退订挽留 -->
     <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false">
       <div class="other-modal modal" @click.stop>
@@ -165,7 +165,7 @@ export default {
       productJson: [],
       repeatShow: false,
       isBuy: "未订购",
-      opoutShow: false
+      opoutShow: false,
     };
   },
   components: {
@@ -204,12 +204,12 @@ export default {
         this.param.cpid = res.data.cpid;
         this.param.spid = res.data.spid;
         document.title = res.data.remark;
-        // this.productJson =res.data.cacheSeatOne;
+        this.productJson =res.data.cacheSeatOne;
         this.$store.commit("setPageData", this.pageData);
         this.callSvg()
-        if (this.pageData.mainProduct.cacheSeatOne) {
-          this.productJson = this.pageData.mainProduct.cacheSeatOne;
-        }
+        // if (this.pageData.mainProduct.cacheSeatOne ) {
+        //   this.productJson = this.pageData.mainProduct.cacheSeatOne;
+        // }
       });
     },
     extendClick () {

+ 24 - 15
purchase_H5/src/templates/templateTogether-Col/unify.vue

@@ -1,12 +1,12 @@
 <template>
   <!-- 统一认证组件 炫彩 升级 -->
   <div class="unifyColor">
-    <div class="tabs" v-if="newProduct.length<=2">
+    <div class="tabs" v-if="newProduct.length<=2&& pageData.mainProduct.cacheSeatOne && pageData.mainProduct.cacheSeatOne!==null">
       <div class="tab" v-for="(item,index) in newProduct" :key="index" :class="index === num?'left':'right'" :style="index === num?{backgroundColor: pageData.mainProduct.bgColor[2],color:  `${pageData.mainProduct.cacheSeatOne[0].tabC.s}`}:{color:  `${pageData.mainProduct.cacheSeatOne[0].tabC.e}`,opacity:'0.7'}" @click="tabClick(item.id,index)">
         {{item.productName}}
       </div>
     </div>
-    <div class="matchBanner" :style="{backgroundColor: pageData.mainProduct.bgColor[2],borderColor: pageData.mainProduct.bgColor[3],}">
+    <div class="matchBanner"  :style="{backgroundColor: pageData.mainProduct.bgColor[2],borderColor: pageData.mainProduct.bgColor[3],}">
       <div class="matchImage" :style="{backgroundImage: `url(${imgUrl}${pageData.mainProduct.guidancePic.p})`,}"></div>
       <div class="textBox">
         <div class="input">
@@ -15,20 +15,20 @@
       </div>
       <div class="privacyBox">
         <van-checkbox v-model="checked" checked-color="#fc8940">
-          <div :style=" pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.s !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.s}` }: { color: '#000' }">
+          <div :style=" pageData.mainProduct.cacheSeatOne && pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.s !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.s}` }: { color: '#000' }">
             <p style="margin: 0; padding: 0">我已阅读并同意</p>
           </div>
         </van-checkbox>
-        <span class="span" :style=" pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.e}` }: { color: '#000' }" @click="$emit('hideClick')">《隐私声明》</span>
-        <span class="span" :style="pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.e}` }: { color: '#000' }" @click="$emit('ruleClick')">《产品说明》</span>
+        <span class="span" :style=" pageData.mainProduct.cacheSeatOne && pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.e}` }: { color: '#000' }" @click="$emit('hideClick')">《隐私声明》</span>
+        <span class="span" :style="pageData.mainProduct.cacheSeatOne > 0 && pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.e}` }: { color: '#000' }" @click="$emit('ruleClick')">《产品说明》</span>
       </div>
-      <div class="tips" :style="pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.s !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.s}` }: { color: '#fff' }">
+      <div class="tips" :style="pageData.mainProduct.cacheSeatOne > 0 && pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].proC.s !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].proC.s}` }: { color: '#fff' }">
         {{ pageData.remarks.privacyText }}
       </div>
     </div>
     <!-- 订购按钮 -->
     <div class="buyBox" v-if="pageData.remarks.isBuy === '1'">
-      <div v-if="pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null &&pageData.mainProduct.cacheSeatOne[0].btnUrl !== '' &&pageData.mainProduct.cacheSeatOne[0].productV === '2'
+      <div v-if="pageData.mainProduct.cacheSeatOne &&pageData.mainProduct.cacheSeatOne!==null &&pageData.mainProduct.cacheSeatOne[0].btnUrl !== '' &&pageData.mainProduct.cacheSeatOne[0].productV === '2'
         " class="btnImg" @click="btnClick()">
         <img :src="pageData.mainProduct.cacheSeatOne[0].btnUrl" alt="" />
       </div>
@@ -40,8 +40,8 @@
           <s>{{ pageData.mainProduct.originalPrice }}元/月</s>
         </div>
       </div>
-      <div class="text" :style="pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].rushC.e !== '' ? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.e}` }: { color: '#000' }">
-        <span :style="pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].rushC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.s}` }: { color: '#ea1313' }">{{ times }}</span>
+      <div class="text" :style="pageData.mainProduct.cacheSeatOne&& pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].rushC.e !== '' ? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.e}` }: { color: '#000' }">
+        <span :style="pageData.mainProduct.cacheSeatOne&& pageData.mainProduct.cacheSeatOne!==null && pageData.mainProduct.cacheSeatOne[0].rushC.e !== ''? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.s}` }: { color: '#ea1313' }">{{ times }}</span>
         {{pageData.remarks.orderText !== "" && pageData.remarks.orderText? pageData.remarks.orderText: "用户已抢购成功"}}
       </div>
     </div>
@@ -51,11 +51,21 @@
         <div class="name">
           您正在订购<span>{{ pageData.mainProduct.productName }}</span>
         </div>
-        <div class="maskText" v-if="pageData.remarks.isMask === '1'">
-          {{ pageData.remarks.maskText }}
+        <div v-if="num ===0">
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.maskText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1' && pageData.remarks.maskText2">
+            ({{ pageData.remarks.maskText2 }})
+          </div>
         </div>
-        <div class="maskText2" v-if="pageData.remarks.isMask === '1' && pageData.remarks.maskText2">
-          ({{ pageData.remarks.maskText2 }})
+        <div v-else>
+          <div class="maskText" v-if="pageData.remarks.isMask === '1'">
+            {{ pageData.remarks.fitText }}
+          </div>
+          <div class="maskText2" v-if="pageData.remarks.isMask === '1'">
+            ({{ pageData.remarks.fitText2 }})
+          </div>
         </div>
         <div class="getCode">
           <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码" maxlength="6" />
@@ -91,13 +101,12 @@ export default {
       },
       authType: "",
       newProduct: [],
-      num: 0
+      num: 0,
     };
   },
   props: {
     pageData: Object,
     isBuy: String,
-    indexNum: Number,
   },
   created () {
     if (this.pageData.remarks.privacy && this.pageData.remarks.privacy !== "" && this.pageData.remarks.privacy !== null) {

+ 204 - 206
purchase_H5/src/templates/templateTogether/components/jianRen.vue

@@ -1,235 +1,233 @@
 <template>
-    <!-- 统一认证组件 -->
-    <div class="jianTog">
-        <div v-if="isBuy !== '已订购' && pageData.remarks.isBuy !== 1 " class="buyBoxText">
-            <div class="textBox">
-                <div class="input">
-                    <input type="text" v-model="loginForm.phone" placeholder="请输入联通手机号" />
-                </div>
-                <div class="input">
-                    <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码"
-                        maxlength="6" />
-                    <span class="getcode" :class="{ code: 1, number: codeState.state }"
-                        @click="getCode()">{{ codeState.state ? codeState.time + "s" : "获取验证码" }}</span>
-                </div>
-            </div>
-            <div class="btn" v-if="indexNum === 0" :style="{
+  <!-- 统一认证组件 -->
+  <div class="jianTog">
+    <div v-if="isBuy !== '已订购' && pageData.remarks.isBuy !== 1 " class="buyBoxText">
+      <div class="textBox">
+        <div class="input">
+          <input type="text" v-model="loginForm.phone" placeholder="请输入联通手机号" />
+        </div>
+        <div class="input">
+          <input type="text" v-model="loginForm.vcode" v-on:input="checkVcode" placeholder="验证码" maxlength="6" />
+          <span class="getcode" :class="{ code: 1, number: codeState.state }" @click="getCode()">{{ codeState.state ? codeState.time + "s" : "获取验证码" }}</span>
+        </div>
+      </div>
+      <div class="btn" v-if="indexNum === 0" :style="{
           'background-color': pageData.mainProduct.themeColor[0],
           'border-color':pageData.mainProduct.themeColor[1],
         }" @click="btnClick">
-                {{ pageData.remarks.btnText ? pageData.remarks.btnText : "点我领取" }}
-            </div>
+        {{ pageData.remarks.btnText ? pageData.remarks.btnText : "点我领取" }}
+      </div>
 
-            <div class="btn" v-else :style="{
+      <div class="btn" v-else :style="{
           'background-color': pageData.mainProduct.themeColor[0],
           'border-color':pageData.mainProduct.themeColor[1],
         }" @click="btnClick">
-                {{ pageData.remarks.btnTextAss ? pageData.remarks.btnTextAss : "点我领取" }}
-            </div>
-        </div>
+        {{ pageData.remarks.btnTextAss ? pageData.remarks.btnTextAss : "点我领取" }}
+      </div>
     </div>
+  </div>
 </template>
 
 <script>
-    import {
-        getNewCode
-    } from '../../../api'
-    import {
-    Dialog
-    } from "vant";
-    export default {
-        data() {
-            return {
-                imgUrl: process.env.VUE_APP_IMGS_URL,
-                loginForm: {
-                    phone: "",
-                    vcode: "",
-                },
-                codeState: {
-                    state: false,
-                    time: 60,
-                    task: null,
-                },
-            }
-        },
-        props: {
-            pageData: Object,
-            isBuy: String,
-            checked: Boolean,
-            indexNum: Number
-        },
-        methods: {
-            btnClick() {
-                if (this.checked === false) {
-                    this.$toast.fail("请先勾选隐私声明");
-                } else {
-                    let {
-                        phone,
-                        vcode
-                    } = this.loginForm;
-                    if (!/^1[23456789]\d{9}$/.test(phone)) {
-                        return this.$toast("请输入正确手机号");
-                    }
-                    if (!vcode) {
-                        return this.$toast("请输入验证码");
-                    }
-                    let str = phone.slice(0,3)
-                    let str2 =  phone.slice(0,4)
-                    if(str === '167' || str === '171' || str2 ==='1704' || str2 ==='1707' || str2 ==='1708'|| str2 ==='1709'){
-                         Dialog({
-                          message: '您的号码为虚拟运营商号码,不支持办理此业务',
-                          theme: 'round-button',
-                          })
-                          return false
-                    }
-                    this.$emit("btnClick", this.loginForm);
-                    this.loginForm = {}
-                }
-            },
-            checkVcode() {
-                if (this.loginForm.vcode.length > 6) {
-                    this.loginForm.vcode = this.loginForm.vcode.slice(0, 6);
-                }
-            },
-            getCode() {
-                if (this.codeState.state) return;
-                let {
-                    phone
-                } = this.loginForm;
-                if (!/^1[23456789]\d{9}$/.test(phone)) {
-                    return this.$toast("请输入正确手机号");
-                }
-                    let str = phone.slice(0,3)
-                    let str2 =  phone.slice(0,4)
-                    let number = this.$store.state.fictitious.split(',')
-                    let isDialog = true
-                    if(number !== ''){
-                      number.forEach(element => {
-                        if(element===str || element===str2){
-                           isDialog = false
-                        }
-                      });
-                    }
-                    if(isDialog === false){
-                        Dialog({
-                          message: '您的号码为虚拟运营商号码,不支持办理此业务',
-                          theme: 'round-button',
-                          })
-                      return false
-                    }
-                if (this.checked === false) {
-                    return this.$toast.fail("请先勾选隐私声明");
-                }
-                let params = {
-                    cpid: this.pageData.mainProduct.cpid,
-                    spid: this.pageData.mainProduct.spid,
-                    type: '',
-                    userid: phone
-                }
-                getNewCode(params).then(res => {
-                    if (res.code === 10000) {
-                        this.$toast("验证码已发送");
-                        this.codeState.state = true;
-                        this.codeState.task = setInterval(() => {
-                            if (this.codeState.time <= 0) {
-                                clearInterval(this.codeState.task);
-                                this.codeState.task = null;
-                                this.codeState.state = false;
-                                this.codeState.time = 60;
-                            } else {
-                                this.codeState.time--;
-                            }
-                        }, 1000);
-                        this.$store.commit("setUser", {
-                            userid: res.data,
-                            phone: this.loginForm.phone,
-                        });
-                    }
-
-                }, res => {
-                    this.$toast(res.message);
-                })
+import {
+  getNewCode
+} from '../../../api'
+import {
+  Dialog
+} from "vant";
+export default {
+  data () {
+    return {
+      imgUrl: process.env.VUE_APP_IMGS_URL,
+      loginForm: {
+        phone: "",
+        vcode: "",
+      },
+      codeState: {
+        state: false,
+        time: 60,
+        task: null,
+      },
+    }
+  },
+  props: {
+    pageData: Object,
+    isBuy: String,
+    checked: Boolean,
+    indexNum: Number
+  },
+  methods: {
+    btnClick () {
+      if (this.checked === false) {
+        this.$toast.fail("请先勾选隐私声明");
+      } else {
+        let {
+          phone,
+          vcode
+        } = this.loginForm;
+        if (!/^1[23456789]\d{9}$/.test(phone)) {
+          return this.$toast("请输入正确手机号");
+        }
+        if (!vcode) {
+          return this.$toast("请输入验证码");
+        }
+        let str = phone.slice(0, 3)
+        let str2 = phone.slice(0, 4)
+        if (str === '167' || str === '171' || str2 === '1704' || str2 === '1707' || str2 === '1708' || str2 === '1709') {
+          Dialog({
+            message: '您的号码为虚拟运营商号码,不支持办理此业务',
+            theme: 'round-button',
+          })
+          return false
+        }
+        this.$emit("btnClick", this.loginForm);
+        this.loginForm = {}
+      }
+    },
+    checkVcode () {
+      if (this.loginForm.vcode.length > 6) {
+        this.loginForm.vcode = this.loginForm.vcode.slice(0, 6);
+      }
+    },
+    getCode () {
+      if (this.codeState.state) return;
+      let {
+        phone
+      } = this.loginForm;
+      if (!/^1[23456789]\d{9}$/.test(phone)) {
+        return this.$toast("请输入正确手机号");
+      }
+      let str = phone.slice(0, 3)
+      let str2 = phone.slice(0, 4)
+      let number = this.$store.state.fictitious.split(',')
+      let isDialog = true
+      if (number !== '') {
+        number.forEach(element => {
+          if (element === str || element === str2) {
+            isDialog = false
+          }
+        });
+      }
+      if (isDialog === false) {
+        Dialog({
+          message: '您的号码为虚拟运营商号码,不支持办理此业务',
+          theme: 'round-button',
+        })
+        return false
+      }
+      if (this.checked === false) {
+        return this.$toast.fail("请先勾选隐私声明");
+      }
+      let params = {
+        cpid: this.pageData.mainProduct.cpid,
+        spid: this.pageData.mainProduct.spid,
+        type: '',
+        userid: phone
+      }
+      getNewCode(params).then(res => {
+        if (res.code === 10000) {
+          this.$toast("验证码已发送");
+          this.codeState.state = true;
+          this.codeState.task = setInterval(() => {
+            if (this.codeState.time <= 0) {
+              clearInterval(this.codeState.task);
+              this.codeState.task = null;
+              this.codeState.state = false;
+              this.codeState.time = 60;
+            } else {
+              this.codeState.time--;
             }
+          }, 1000);
+          this.$store.commit("setUser", {
+            userid: res.data,
+            phone: this.loginForm.phone,
+          });
         }
 
+      }, res => {
+        this.$toast(res.message);
+      })
     }
+  }
+
+}
 </script>
 
 <style lang="scss">
-    .jianTog {
-        @keyframes scale {
-            from {
-                transform: scale(1);
-            }
+.jianTog {
+  @keyframes scale {
+    from {
+      transform: scale(1);
+    }
 
-            to {
-                transform: scale(0.8);
-            }
-        }
+    to {
+      transform: scale(0.8);
+    }
+  }
 
-        .buyBoxText {
-            width: 690px;
-            margin: 20px 30px;
-            background-color: #fff;
-            padding-bottom: 40px;
+  .buyBoxText {
+    width: 690px;
+    margin: 20px 30px;
+    background-color: #fff;
+    padding-bottom: 40px;
 
-            .btn {
-                margin-top: 60px;
-                width: 690px;
-                height: 100px;
-                border-radius: 50px;
-                line-height: 100px;
-                font-size: 40px;
-                font-weight: bold;
-                border-style: solid;
-                border-width: 4px;
-                color: #ffffff;
-                text-align: center;
-                animation-name: scale;
-                animation-duration: 0.6s;
-                animation-timing-function: linear;
-                animation-iteration-count: infinite;
-                animation-direction: alternate-reverse;
-            }
+    .btn {
+      margin-top: 60px;
+      width: 690px;
+      height: 100px;
+      border-radius: 50px;
+      line-height: 100px;
+      font-size: 40px;
+      font-weight: bold;
+      border-style: solid;
+      border-width: 4px;
+      color: #ffffff;
+      text-align: center;
+      animation-name: scale;
+      animation-duration: 0.6s;
+      animation-timing-function: linear;
+      animation-iteration-count: infinite;
+      animation-direction: alternate-reverse;
+    }
 
-            .textBox {
-                // width: 750px;
-                padding: 0 50px;
-                box-sizing: border-box;
+    .textBox {
+      // width: 750px;
+      padding: 0 50px;
+      box-sizing: border-box;
 
-                .input {
-                    height: 117px;
-                    margin: 0 auto;
-                    border-bottom: 2px solid #595959;
-                    position: relative;
+      .input {
+        height: 117px;
+        margin: 0 auto;
+        border-bottom: 2px solid #595959;
+        position: relative;
 
-                    input {
-                        margin: 0;
-                        padding: 0;
-                        border: none;
-                        outline: none;
-                        width: 100%;
-                        font-size: 34px;
-                        font-family: PingFang SC;
-                        font-weight: 500;
-                        color: #757575;
-                        background-color: transparent;
-                        position: absolute;
-                        bottom: 22px;
-                        left: 28px;
-                    }
+        input {
+          margin: 0;
+          padding: 0;
+          border: none;
+          outline: none;
+          width: 100%;
+          font-size: 34px;
+          font-family: PingFang SC;
+          font-weight: 500;
+          color: #757575;
+          background-color: transparent;
+          position: absolute;
+          bottom: 22px;
+          left: 28px;
+        }
 
-                    .getcode {
-                        font-size: 34px;
-                        font-family: PingFang SC;
-                        font-weight: bold;
-                        color: #0D0D0D;
-                        position: absolute;
-                        right: 20px;
-                        bottom: 24px;
-                    }
-                }
-            }
+        .getcode {
+          font-size: 34px;
+          font-family: PingFang SC;
+          font-weight: bold;
+          color: #0d0d0d;
+          position: absolute;
+          right: 20px;
+          bottom: 24px;
         }
+      }
     }
+  }
+}
 </style>

+ 17 - 28
purchase_H5/src/templates/templateTogether/index.vue

@@ -2,13 +2,14 @@
   <div class="togetherNew" id="temp">
     <div class="bannerBox" @click="bannerClick">
       <!-- 底层banner -->
-      <img class="banner" :class="pageData.mainProduct.cacheSeatOne[0].dongHua && pageData.mainProduct.cacheSeatOne[0].dongHua!==''&& pageData.mainProduct.cacheSeatOne[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
+
+      <img class="banner" v-if="pageData.mainProduct.bannerPics[0]" :class="productJson.length>0&&productJson[0].dongHua&& productJson[0].dongHua=='1'?'cartoon1':''" :src="imgUrl + pageData.mainProduct.bannerPics[0]" alt="" />
       <!-- json动图 -->
       <div class="svgBanner">
         <div id="lottie_box"></div>
       </div>
       <!-- 上层png -->
-      <div class="banner2" :class="pageData.mainProduct.cacheSeatOne[0].dongHua && pageData.mainProduct.cacheSeatOne[0].dongHua!==''&& pageData.mainProduct.cacheSeatOne[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
+      <div class="banner2" :class="productJson[0].dongHua && productJson[0].dongHua=='1'?'cartoon2':''" v-if="pageData.mainProduct.bannerPics[2]&& pageData.mainProduct.bannerPics[2]!==''">
         <img :src="imgUrl + pageData.mainProduct.bannerPics[2]" alt="" />
       </div>
       <!-- 顶层png/gif -->
@@ -75,23 +76,10 @@
         <span class="span" style="color: #fc8940" @click="showConceal = true">《隐私声明》</span>
         <span class="span" style="color: #fc8940" @click="ruleClick">《产品说明》</span>
       </div>
-      <div class="textText" :style="
-          pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null &&
-          pageData.mainProduct.cacheSeatOne[0].rushC.e !== ''
-            ? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.e}` }
-            : { color: '#000' }
-        ">
+      <div class="textText" :style="productJson.length > 0  &&productJson[0].rushC.e !== ''? { color: `${productJson[0].rushC.e}` }: { color: '#000' }">
         <span :style="
-            pageData.mainProduct.cacheSeatOne.length > 0 && this.pageData.mainProduct.cacheSeatOne!==null &&
-            pageData.mainProduct.cacheSeatOne[0].rushC.e !== ''
-              ? { color: `${pageData.mainProduct.cacheSeatOne[0].rushC.s}` }
-              : { color: '#ea1313' }
-          ">{{ times }}</span>
-        {{
-          pageData.remarks.orderText !== "" && pageData.remarks.orderText
-            ? pageData.remarks.orderText
-            : "用户已抢购成功"
-        }}
+            productJson.length > 0 &&productJson[0].rushC.e !== ''? { color: `${productJson[0].rushC.s}` }: { color: '#ea1313' }">{{ times }}</span>
+        {{pageData.remarks.orderText !== "" && pageData.remarks.orderText? pageData.remarks.orderText: "用户已抢购成功"}}
       </div>
       <div class="tips">
         {{ pageData.remarks.privacyText }}
@@ -166,7 +154,7 @@
     <!-- 订购超时 -->
     <timeout-modal v-model="showTimeout"></timeout-modal>
     <!-- 遮罩 -->
-    <newZheZhao v-if="showZhezhao" isZheZhao="1"></newZheZhao>
+    <newZheZhao v-if="showZhezhao" isZheZhao="1" :indexNum="indexNum"></newZheZhao>
     <!-- 退订挽留 -->
     <van-overlay :show="unBuyDrainage" :duration="0.1" @click="unBuyDrainage = false">
       <div class="other-modal modal" @click.stop>
@@ -242,7 +230,8 @@ export default {
       repeatShow: false,
       isBuy: "未订购",
       phone: "",
-      opoutShow: false
+      opoutShow: false,
+      productJson: []
     };
   },
   components: {
@@ -288,9 +277,9 @@ export default {
         this.checked = true;
       }
     }
-    // if (this.pageData.mainProduct.cacheSeatOne) {
-    //   this.productJson = this.pageData.mainProduct.cacheSeatOne;
-    // }
+    if (this.pageData.mainProduct.cacheSeatOne && this.pageData.mainProduct.cacheSeatOne !== null) {
+      this.productJson = this.pageData.mainProduct.cacheSeatOne;
+    }
   },
   mounted () {
     addR.showSP();
@@ -356,9 +345,9 @@ export default {
       detMainProduct({
         productId: val,
       }).then(async (res) => {
-        // if (res.data.cacheSeatOne) {
-        //   this.productJson = res.data.cacheSeatOne;
-        // }
+        if (res.data.cacheSeatOne && res.data.cacheSeatOne !== null) {
+          this.productJson = res.data.cacheSeatOne;
+        }
         this.pageData.mainProduct = res.data;
         this.param.cpid = res.data.cpid;
         this.param.spid = res.data.spid;
@@ -480,8 +469,8 @@ export default {
         url = "/order001";
       } else if (type === "member") {
         addR.memberClick();
-        if (this.pageData.mainProduct.cacheSeatOne[0].memberUrl && this.pageData.mainProduct.cacheSeatOne !== null && this.pageData.mainProduct.cacheSeatOne[0].memberUrl !== "") {
-          window.location.href = this.pageData.mainProduct.cacheSeatOne[0].memberUrl;
+        if (this.productJson[0].memberUrl && this.productJson.length>0 && this.pageData.mainProduct.cacheSeatOne[0].memberUrl !== "") {
+          window.location.href = this.productJson[0].memberUrl;
           return false;
         } else {
           if (this.pageData.mainProduct.isCompositeProduct === 2) {

+ 21 - 0
purchase_ao/src/views/schemeV2/schemeAdd.vue

@@ -150,6 +150,25 @@
               </el-row>
               <el-row :gutter="20">
                 <el-col :span="6">
+                  <el-form-item>
+                    <!-- <el-switch style="width: 300px" v-model="extJson.isMask" active-text="启用" inactive-text="不启用" active-value="1" inactive-value="0" /> -->
+                  </el-form-item>
+                </el-col>
+                <el-col :span="14">
+                  <el-form-item label="副产品文本">
+                    <el-row :gutter="24">
+                      <el-col :span="11" style="padding: 0 !important">
+                        <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" v-model="extJson.fitText" />
+                      </el-col>
+                      <el-col :span="11">
+                        <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" v-model="extJson.fitText2" />
+                      </el-col>
+                    </el-row>
+                  </el-form-item>
+                </el-col>
+              </el-row>
+              <el-row :gutter="20">
+                <el-col :span="6">
                   <el-form-item label="订购按钮">
                     <el-switch style="width: 300px" v-model="extJson.isBuy" active-text="启用" inactive-text="不启用" active-value="1" inactive-value="0" />
                   </el-form-item>
@@ -511,6 +530,8 @@ export default {
         extendVal: "0",
         treaty: '0',
         treatyText: "",
+        fitText: "",
+        fitText2: "",
       },
       //策略匹配信息
       rulesform: {