From d1425aa67c0c6c0e087ce32b1779ee02bbcdc4c6 Mon Sep 17 00:00:00 2001 From: zhaoxiaoqiang <287285524@qq.com> Date: Tue, 27 Jul 2021 14:53:20 +0800 Subject: [PATCH] 接入宁夏移动 --- src/views/old/store/business-center.vue | 439 ++++++++++++++++++++++++++++++++---------------------- 1 files changed, 256 insertions(+), 183 deletions(-) diff --git a/src/views/old/store/business-center.vue b/src/views/old/store/business-center.vue index 427e108..2b98c40 100644 --- a/src/views/old/store/business-center.vue +++ b/src/views/old/store/business-center.vue @@ -6,205 +6,278 @@ * @Description: --> <template> - <div class="hb-gmzf"> - <x-header :left-options="{backText: '', showBack: false}">和微分</x-header> - <div v-if="showHwfProd"> - <div class="tab"> - <div class="tab-index"> - <p class="tab-index-one">请选择手机号类型</p> + <div class="hb-gmzf"> + <div v-if='hnOrnxtype == 410000'> + <div class="head"> + <div class="head-left"></div> + <div class="head-mid">和微分</div> + <div class="head-right" v-on:click="qrCodePage()">授权测试</div> + </div> + <div class="tab"> + <van-tabs v-model="active" animated @click="onClick"> + <van-tab + v-for="(item, index) in contTypeList" + :title="item.name" + :key="index" + > + <div v-for="(childItem, index) in item.childList" :key="index"> + <div class="tab-head"> + <div class="tab-head-icon"></div> + <div class="tab-head-font"> + {{ childItem.name }} </div> - </div> - <div class="order-xrw" v-if="showXrwType" @click="productPage(0)"> - <div class="order-xrw-create"> - <div class="order-xrw-create-icon"> - <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_xrw.png"></img> - </div> - <p class="order-xrw-create-text"> - 新入网号码 - </p> - <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> - </div> - </div> - <div class="order-xrw" style="margin-top: 30px" v-if="showXhzwType" @click="productPage(2)"> - <div class="order-xrw-create"> - <div class="order-xrw-create-icon"> - <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_xhzw.png"></img> + <div class="tab-head-remain"></div> + </div> + <div class="tab-index"> + <div class="tab-index-row"> + <div + class="tab-index-row-main" + v-for="(grandchildItem, index) in childItem.childList" + :key="index" + v-on:click="productPage(grandchildItem)" + > + <div class="tab-index-row-icon"> + <img + class="order-xrw-create-icon-image" + :src="getIndexIcon(grandchildItem)" + /> </div> - <p class="order-xrw-create-text"> - 携号转网号码 - </p> - <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> - </div> - </div> - <div class="order-xrw" style="margin-top: 30px" v-if="showClType" @click="productPage(1)"> - <div class="order-xrw-create"> - <div class="order-xrw-create-icon"> - <img class="order-xrw-create-icon-image" src="../../../assets/imgs/product_cl.png"></img> + <div class="tab-index-row-font"> + {{ grandchildItem.name }} </div> - <p class="order-xrw-create-text"> - 存量号码 - </p> - <i class="iconfont iconyou tab-index-two" style="width:10%;height:30px;"></i> + </div> </div> + </div> </div> - </div> + </van-tab> + </van-tabs> + </div> </div> + <wxPayScore v-else></wxPayScore> + </div> </template> <script> - import { mapState, mapGetters } from 'vuex'; - import { async } from 'q'; - import Vue from 'vue'; - import { Toast } from 'vant'; - export default { - components: { - }, - data() { - return { - mblNoTypeList:{}, - showHwfProd:false, - showXrwType:false, - showClType:false, - showXhzwType:false, - }; - }, - computed:{ - ...mapState(['userinfo', 'msgCount']), - ...mapGetters(['orgType']), - }, - created () { - if(this.orgType == 4) { - this.getProdcuctList(); - this.init(); - } - }, - methods: { - init(){ - this.$api.wxScoreCreInit().then(res => { - this.mblNoTypeList = res.body.mblNoTypeList|| {}; - this.mblNoTypeList.forEach(item => { - if(item.code == '0'){ - this.showXrwType = true; - }else if(item.code == '1'){ - this.showClType = true; - }else if(item.code == '2'){ - this.showXhzwType = true; - } - }); - }, err => err); - }, - productPage(type){ - let queryObj = { - mblNoType:type, - } - this.$router.push({ - path: "/wx-pay-score", - query: queryObj - }) - }, - getProdcuctList(){ - this.$api.prodIndexTypeList().then(res => { - let list = res.body.prodTypeRespVoList3 || []; - list.forEach(item => { - if(item.prodId ==30000016 && item.openStatus == 2){ - this.showHwfProd = true; - } - }); - }); - }, - } +import { mapState, mapGetters } from "vuex"; +import wxPayScore from './wx-pay-score.vue' +import Vue from "vue"; +import { Tab, Tabs } from "vant"; +Vue.use(Tab); +Vue.use(Tabs); +export default { + components: {wxPayScore}, + data() { + return { + active: "", + contTypeList: [], + mblNoTypeList: {}, + showHwfProd: false, }; + }, + computed: { + ...mapState(["userinfo", "msgCount","hnOrnxtype"]), + ...mapGetters(["orgType"]), + }, + created() { + if (this.orgType == 4) { + this.getProdcuctList(); + this.init(); + } + }, + methods: { + getIndexIcon(item) { + let iconSrc = + location.origin + + location.pathname + + "/static/img/" + + item.icon + + ".png"; + return iconSrc; + }, + init() { + this.$api.wxScoreCreInit2().then( + (res) => { + this.contTypeList = res.body.contTypeList || {}; + }, + (err) => err + ); + }, + qrCodePage() { + this.$router.push({ + path: "/wx-test-code", + query: "", + }); + }, + productPage(item) { + let queryObj = { + code: item.code, + mblNoType: item.mblNoType, + }; + this.$router.push({ + path: "/wx-pay-score", + query: queryObj, + }); + }, + getProdcuctList() { + this.$api.prodIndexTypeList().then((res) => { + let list = res.body.prodTypeRespVoList3 || []; + list.forEach((item) => { + if (item.prodId == 30000016 && item.openStatus == 2) { + this.showHwfProd = true; + } + }); + }); + }, + }, +}; </script> <style lang="less" scoped> - .hb-gmzf { - width: 100%; +.head { + width: 100%; + height: 40px; + display: flex; + line-height: 40px; + background: #ffffff; + text-align: center; + &-left { + width: 33.3%; + height: 40px; + } + &-mid { + width: 33.3%; + height: 40px; + font-size: 18px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + &-right { + width: 33.4%; + height: 40px; + font-size: 14px; + font-family: PingFang SC; + color: #333333; + } +} + +.tab { + width: 100%; + height: 100%; + &-head { + margin: 20px 30px 20px 30px; + width: 100%; + height: 24px; + line-height: 24px; + &-icon { + width: 3px; + margin-top: 3px; + float: left; + height: 18px; + background: #6c68ff; + } + &-font { + width: 20%; + margin-left: 10px; + height: 20px; + float: left; + font-size: 16px; + font-family: PingFang SC; + font-weight: bold; + color: #333333; + } + &-remain { + width: 70%; + float: left; + height: 20px; + } + } + .tab-index { + margin: 20px; + height: 110px; + line-height: 110px; + background: #ffffff; + box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.04); + border-radius: 16px; + &-row { + width: 100%; + height: 100px; + line-height: 100px; + margin: 0px 20px 0px 20px; + &-main { + width: 22.5%; height: 100%; - background: #FAFAFC; - } - - .tab { + float: left; + text-align: center; + } + &-icon { width: 100%; - height: 200px; - background: url('../../../assets/imgs/hwf_bg.png'); - background-size: 100% 100%; - } - - .tab-index { + height: 30%; + &-image { + width: 100%; + height: 100%; + } + } + &-font { width: 100%; - height: 40px; - line-height: 40px; - box-sizing: border-box; - padding: 100px 0px 0px 20px; - color: #ffffff; - i { - font-size: 36px; - } - &-one,&-two{ - width: 100%; - float: left; - box-sizing: border-box; - font-size: 20px; - } + height: 30%; + font-size: 10px; + font-family: PingFang SC; + color: #333333; + } } + } +} - - - .order-xrw { - margin:-50px 10px 10px 10px; - padding: 0 10px 0 10px; - line-height: 100px; - background: #FFFFFF; - box-shadow: 0px 0px 26px 0px rgba(0, 0, 0, 0.04); - border-radius: 16px; - &-create { - width: 100%; - height: 100px; - margin:0px 10px 0px 10px; - &-icon { - width:20%; - height: 100%; - float: left; - text-align: center; - &-image { - width:43px; - height:43px; - margin-top:25px; - } - } - &-text { - width: 70%; - float: left; - heght:100%; - font-size: 18px; - font-family: PingFang SC; - color: #333333; - } - &-arrow { - margin-right:10px; - width: 10%; - background: url('../../../assets/imgs/product_xrw.png'); - float: right; - } - } +.order-xrw { + margin: -50px 10px 10px 10px; + padding: 0 10px 0 10px; + line-height: 100px; + background: #ffffff; + box-shadow: 0px 0px 26px 0px rgba(0, 0, 0, 0.04); + border-radius: 16px; + &-create { + width: 100%; + height: 100px; + margin: 0px 10px 0px 10px; + &-icon { + width: 20%; + height: 100%; + float: left; + text-align: center; + &-image { + width: 43px; + height: 43px; + margin-top: 25px; + } } - - .button-maintain { - width:100%; - height:100%; - padding: 0 20px 0 20px; - box-sizing: inherit; - .button { - margin: 50px 0 0 0; - width:100%; - height:50px; - text-align: center; - line-height: 50px; - background: linear-gradient(90deg, #1C87FD, #219FFD); - border-radius: 44px; - .button-txt { - margin: 8px 0 0 0; - font-size: 22px; - color: #FFFFFF; - } - } + &-text { + width: 70%; + float: left; + heght: 100%; + font-size: 18px; + font-family: PingFang SC; + color: #333333; } + } +} + +.button-maintain { + width: 100%; +// height: 100%; + padding: 0 20px 0 20px; + box-sizing: inherit; + .button { + margin: 50px 0 0 0; + width: 100%; + height: 50px; + text-align: center; + line-height: 50px; + background: linear-gradient(90deg, #1c87fd, #219ffd); + border-radius: 44px; + .button-txt { + margin: 8px 0 0 0; + font-size: 22px; + color: #ffffff; + } + } +} </style> -- Gitblit v1.8.0