zhaoxiaoqiang
2021-07-27 d1425aa67c0c6c0e087ce32b1779ee02bbcdc4c6
src/views/old/store/business-center.vue
@@ -6,268 +6,278 @@
 * @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>