| | |
| | | * @Description: |
| | | --> |
| | | <template> |
| | | <div class="hb-gmzf"> |
| | | <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 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)"></img> |
| | | </div> |
| | | <div class="tab-index-row-font"> |
| | | {{grandchildItem.name}} |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <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 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> |
| | | </van-tab> |
| | | </van-tabs> |
| | | </div> |
| | | <div class="tab-index-row-font"> |
| | | {{ grandchildItem.name }} |
| | | </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'; |
| | | import { Tab, Tabs } from 'vant'; |
| | | Vue.use(Tab); |
| | | Vue.use(Tabs); |
| | | export default { |
| | | components: { |
| | | }, |
| | | data() { |
| | | return { |
| | | active:'', |
| | | contTypeList:[], |
| | | mblNoTypeList:{}, |
| | | showHwfProd:false |
| | | }; |
| | | }, |
| | | computed:{ |
| | | ...mapState(['userinfo', 'msgCount']), |
| | | ...mapGetters(['orgType']), |
| | | }, |
| | | created () { |
| | | if(this.orgType == 4) { |
| | | this.getProdcuctList(); |
| | | this.init(); |
| | | } |
| | | }, |
| | | methods: { |
| | | getIndexIcon(item){ |
| | | let iconSrc = "/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; |
| | | } |
| | | }); |
| | | }); |
| | | }, |
| | | } |
| | | 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> |
| | | .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; |
| | | } |
| | | } |
| | | .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%; |
| | | .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%; |
| | | &-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; |
| | | } |
| | | float: left; |
| | | text-align: center; |
| | | } |
| | | &-icon { |
| | | width: 100%; |
| | | height: 30%; |
| | | &-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .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%; |
| | | float: left; |
| | | text-align: center; |
| | | } |
| | | &-icon { |
| | | width:100%; |
| | | height: 30%; |
| | | &-image { |
| | | width:100%; |
| | | height:100%; |
| | | } |
| | | } |
| | | &-font { |
| | | width: 100%; |
| | | height: 30%; |
| | | font-size: 10px; |
| | | font-family: PingFang SC; |
| | | color: #333333; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | &-font { |
| | | width: 100%; |
| | | 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; |
| | | } |
| | | } |
| | | .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> |