Merge branch 'master' of http://git.luyuan.tk/luyuan/beelink into xbx
This commit is contained in:
		
						commit
						e496c3e0b3
					
				@ -1,8 +1,8 @@
 | 
			
		||||
<template>
 | 
			
		||||
    <div class="cont">
 | 
			
		||||
        <div class="title">
 | 
			
		||||
        <div>上课学生</div>
 | 
			
		||||
        <div class="more" @click="toxq">查看详情</div>
 | 
			
		||||
        <div>{{lan.$t('shangkexuesheng')}}</div>
 | 
			
		||||
        <div class="more" @click="toxq">{{lan.$t('chakanxiangqing')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="info">
 | 
			
		||||
        <div class="item" v-for="(i, j) in list" :key="j">
 | 
			
		||||
@ -14,7 +14,7 @@
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="takehour" v-if="i.status == 1 && livestatus == 2">
 | 
			
		||||
                参加时长
 | 
			
		||||
                {{lan.$t('canjiashichang')}}
 | 
			
		||||
                <div>{{i.length}}min</div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div
 | 
			
		||||
@ -22,10 +22,10 @@
 | 
			
		||||
                v-if="i.status == 2 || (livestatus == 0 && i.status == 1)"
 | 
			
		||||
                @click="quxiao(j)"
 | 
			
		||||
            >
 | 
			
		||||
                取消直播
 | 
			
		||||
                {{lan.$t('quxiaozhibo')}}
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="refuse" v-if="i.status == 3">已拒绝</div>
 | 
			
		||||
            <div class="refuse" v-if="i.status == 3">{{lan.$t('yijujue')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="modal-container">
 | 
			
		||||
            <a-modal
 | 
			
		||||
@ -41,17 +41,17 @@
 | 
			
		||||
                </template>
 | 
			
		||||
                <!-- 换绑手机号第一步 -->
 | 
			
		||||
                <div class="yuanyin">
 | 
			
		||||
                    请输入您举着该学生参与直播的原因
 | 
			
		||||
                    {{lan.$t('jujueyuanyintext')}}
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="body">
 | 
			
		||||
                    <div class="jubao">拒绝原因</div>
 | 
			
		||||
                    <div class="jubao">{{lan.$t('juejueyuanyin')}}</div>
 | 
			
		||||
                    <a-textarea
 | 
			
		||||
                        v-model:value="text"
 | 
			
		||||
                        class="text"
 | 
			
		||||
                    />
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="submit-btn" @click="sum">
 | 
			
		||||
                    确认拒绝
 | 
			
		||||
                    {{lan.$t('querenjujue')}}
 | 
			
		||||
                </div>
 | 
			
		||||
            </a-modal>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -237,6 +237,7 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { cancellive, refusedtolive } from '@/api';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, ref, toRaw, watch } from "vue";
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
@ -246,6 +247,7 @@ export default defineComponent({
 | 
			
		||||
        zid:Number
 | 
			
		||||
    },
 | 
			
		||||
    setup(props) {
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        const modalNode = () => document.getElementsByClassName('modal-container')[0]
 | 
			
		||||
        const updatePhoneVisible = ref(false)
 | 
			
		||||
        const sid = ref(0)
 | 
			
		||||
@ -291,7 +293,8 @@ export default defineComponent({
 | 
			
		||||
            hidePhoneModal,
 | 
			
		||||
            sum,
 | 
			
		||||
            text,
 | 
			
		||||
            toxq
 | 
			
		||||
            toxq,
 | 
			
		||||
            lan
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
        <img src="@/static/images/play.png" alt="" class="play">
 | 
			
		||||
        <div class="title">
 | 
			
		||||
            <div class="one-line-hide">{{title}}</div> 
 | 
			
		||||
            <span class="lv">{{score}}分</span>
 | 
			
		||||
            <span class="lv">{{score}} {{lan.$t('fen')}}</span>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="info">
 | 
			
		||||
            <div class="datetime">
 | 
			
		||||
@ -23,13 +23,13 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="state audit" v-if="status==0">
 | 
			
		||||
            还未开始
 | 
			
		||||
            {{lan.$t('haiweikaishi')}}
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="state live" v-if="status==1">
 | 
			
		||||
            进入直播
 | 
			
		||||
            {{lan.$t('jinruzhibo')}}
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="state over" v-if="status==2">
 | 
			
		||||
             查看回放
 | 
			
		||||
             {{lan.$t('chakanhuifang')}}
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
@ -135,6 +135,7 @@
 | 
			
		||||
</style>
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent } from 'vue';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
@ -169,6 +170,7 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    setup(props){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        function navto(){
 | 
			
		||||
            let url = '';
 | 
			
		||||
            switch (props.type) {
 | 
			
		||||
@ -187,7 +189,8 @@ export default defineComponent({
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return {
 | 
			
		||||
            navto
 | 
			
		||||
            navto,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
          <div class="left">
 | 
			
		||||
              <div>
 | 
			
		||||
                  <img src="@/static/images/livelesson.png" alt="" class="icon">
 | 
			
		||||
                  <span>西班牙语</span>
 | 
			
		||||
                  <span>{{lan.$t('xiabanyayu')}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
              <div>
 | 
			
		||||
                  <img src="@/static/images/livewatch.png" alt="" class="icon">
 | 
			
		||||
@ -17,15 +17,15 @@
 | 
			
		||||
              </div>
 | 
			
		||||
                    <div>
 | 
			
		||||
                  <img src="@/static/images/shoucang.png" alt="" class="icon">
 | 
			
		||||
                  <span class="score">5.0分</span>
 | 
			
		||||
                  <span class="score">5.0{{lan.$t('fen')}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div style="display: flex">
 | 
			
		||||
            <div class="right" @click="bianji">
 | 
			
		||||
              编辑信息
 | 
			
		||||
              {{lan.$t('bianjixinxi')}}
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="right" @click="kaishi">
 | 
			
		||||
              开始直播
 | 
			
		||||
              {{lan.$t('kaishizhibo')}}
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          
 | 
			
		||||
@ -85,6 +85,7 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { livestart } from '@/api';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, ref } from "vue";
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
@ -92,6 +93,7 @@ export default defineComponent({
 | 
			
		||||
    info: Object
 | 
			
		||||
  },
 | 
			
		||||
  setup(props) {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    console.log(props.info);
 | 
			
		||||
    function bianji(){
 | 
			
		||||
      if(props.info != undefined){
 | 
			
		||||
@ -110,7 +112,8 @@ export default defineComponent({
 | 
			
		||||
    // const liveinfo = ref(props.liveinfo)
 | 
			
		||||
    return {
 | 
			
		||||
      bianji,
 | 
			
		||||
      kaishi
 | 
			
		||||
      kaishi,
 | 
			
		||||
      lan
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,7 @@
 | 
			
		||||
                <div class="item" :class="{'selitem': j == selnum, 'seltop': j == selnum - 1, 'selbottom': j == selnum + 1}">
 | 
			
		||||
                    <div class="route">
 | 
			
		||||
                        <img :src="i.icon" alt="" class="icon">
 | 
			
		||||
                        <div class="title">{{i.name}}</div>
 | 
			
		||||
                        <div class="title">{{lan.$t(i.name)}}</div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <img alt="" src="../static/images/jiantou.png" class="right">
 | 
			
		||||
                </div>
 | 
			
		||||
@ -24,7 +24,7 @@
 | 
			
		||||
                <div class="route" @click="logout">
 | 
			
		||||
                    <img src="../static/images/tuichu.png" alt="" class="icon">
 | 
			
		||||
                    <div class="title">
 | 
			
		||||
                        帐号退出
 | 
			
		||||
                        {{lan.$t('tuichu')}}
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
@ -119,11 +119,13 @@ import { setToken } from '@/api/base';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import store from '@/store';
 | 
			
		||||
import { saveValue } from '@/utils/common';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { computed, defineComponent, ref } from 'vue';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
    setup(){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        interface MenuItem {
 | 
			
		||||
            icon: string;
 | 
			
		||||
            sleicon: string;
 | 
			
		||||
@ -135,37 +137,37 @@ export default defineComponent({
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/wode1.png"),
 | 
			
		||||
                sleicon:"",
 | 
			
		||||
                name: "我的档案",
 | 
			
		||||
                name: 'wodedangan',
 | 
			
		||||
                route: "/mine/archives"
 | 
			
		||||
            },
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/xiayig.png"),
 | 
			
		||||
                sleicon:"",
 | 
			
		||||
                name: "发布直播",
 | 
			
		||||
                name: 'fabuzhibo',
 | 
			
		||||
                route: "/mine/webcast"
 | 
			
		||||
            },
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/shipin.png"),
 | 
			
		||||
                sleicon:"shipin.png",
 | 
			
		||||
                name: "上传视频",
 | 
			
		||||
                name: 'shangchuanshipin',
 | 
			
		||||
                route: "/mine/video"
 | 
			
		||||
            },
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/yinhangka.png"),
 | 
			
		||||
                sleicon:"",
 | 
			
		||||
                name: "我的钱包",
 | 
			
		||||
                name: 'wodeqianbao',
 | 
			
		||||
                route: "/mine/wallet"
 | 
			
		||||
            },
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/tongji.png"),
 | 
			
		||||
                sleicon:"",
 | 
			
		||||
                name: "列表统计",
 | 
			
		||||
                name: 'liebiaotongji',
 | 
			
		||||
                route: "/mine/liststatistic"
 | 
			
		||||
            },
 | 
			
		||||
            {  
 | 
			
		||||
                icon: require("../static/images/bangzhu.png"),
 | 
			
		||||
                sleicon:"",
 | 
			
		||||
                name: "关于Beelink",
 | 
			
		||||
                name: 'guanyu',
 | 
			
		||||
                route: "/mine/aboutus"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
@ -216,7 +218,8 @@ export default defineComponent({
 | 
			
		||||
            userinfo,
 | 
			
		||||
            logout,
 | 
			
		||||
            mouse,
 | 
			
		||||
            tuichu
 | 
			
		||||
            tuichu,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -2,15 +2,16 @@
 | 
			
		||||
    <div class="nav-bottom">
 | 
			
		||||
        <div class="nav-container" :style="color">
 | 
			
		||||
            <div v-for="(item, index) in navArray" :key="index" class="nav-item" @click="navto(item.route)">
 | 
			
		||||
               <div :class="item.route==nowroute?'active':''">{{ item.name }}</div> 
 | 
			
		||||
               <div :class="item.route==nowroute?'active':''">{{lan.$t(item.name)  }}</div> 
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="copyright" :style="color">Beelink公司版权所有  2019—2022</div>
 | 
			
		||||
        <div class="copyright" :style="color">{{lan.$t("banquan")}}</div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, onMounted, ref } from 'vue';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
 | 
			
		||||
@ -19,6 +20,7 @@ export default defineComponent({
 | 
			
		||||
        color: Object
 | 
			
		||||
    }, 
 | 
			
		||||
    setup(){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        interface Nav{
 | 
			
		||||
            name: string;
 | 
			
		||||
            route: string;
 | 
			
		||||
@ -27,24 +29,42 @@ export default defineComponent({
 | 
			
		||||
        const routes=useRoute()
 | 
			
		||||
        const nowroute=ref<string>(routes.path)
 | 
			
		||||
        console.log(routes.path)
 | 
			
		||||
        const navArray: Array<Nav> = [
 | 
			
		||||
         const navArray: Array<Nav> = [
 | 
			
		||||
            {
 | 
			
		||||
                name: "直播管理",
 | 
			
		||||
                name: 'zhiboguanli',
 | 
			
		||||
                route: "/regime/live"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: "视频管理",
 | 
			
		||||
                name: 'shipinguanli',
 | 
			
		||||
                route: "/regime/video"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: "订阅者管理",
 | 
			
		||||
                name: 'dingyuezheguanli',
 | 
			
		||||
                route: "/regime/subscriber"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: "个人中心",
 | 
			
		||||
                name: 'gerenzhongxin',
 | 
			
		||||
                route: "/mine/archives"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        // const navArray: Array<Nav> = [
 | 
			
		||||
        //     {
 | 
			
		||||
        //         name: "直播管理",
 | 
			
		||||
        //         route: "/regime/live"
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //         name: "视频管理",
 | 
			
		||||
        //         route: "/regime/video"
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //         name: "订阅者管理",
 | 
			
		||||
        //         route: "/regime/subscriber"
 | 
			
		||||
        //     },
 | 
			
		||||
        //     {
 | 
			
		||||
        //         name: "个人中心",
 | 
			
		||||
        //         route: "/mine/archives"
 | 
			
		||||
        //     }
 | 
			
		||||
        // ]
 | 
			
		||||
        function navto(url: string){
 | 
			
		||||
            nowroute.value=url
 | 
			
		||||
            router.push(url)
 | 
			
		||||
@ -55,7 +75,8 @@ export default defineComponent({
 | 
			
		||||
        return {
 | 
			
		||||
            navArray,
 | 
			
		||||
            navto,
 | 
			
		||||
            nowroute
 | 
			
		||||
            nowroute,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="navigation">
 | 
			
		||||
            <div class="item" v-for="(i,j) in nav" :key="j" @click="navto(j)">
 | 
			
		||||
                <div :class="i.route==nowroute?'active':''">{{i.name}}</div>
 | 
			
		||||
                <div :class="i.route==nowroute?'active':''">{{lan.$t(i.name)}}</div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div style="width: 100%"></div>
 | 
			
		||||
@ -261,19 +261,19 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
        const nav: Array<Nav> = [
 | 
			
		||||
            {
 | 
			
		||||
                name: lan.$t('zhiboguanli'),
 | 
			
		||||
                name: 'zhiboguanli',
 | 
			
		||||
                route: "/regime/live"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: lan.$t('shipinguanli'),
 | 
			
		||||
                name: 'shipinguanli',
 | 
			
		||||
                route: "/regime/video"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: lan.$t("dingyuezheguanli"),
 | 
			
		||||
                name:  'dingyuezheguanli',
 | 
			
		||||
                route: "/regime/subscriber"
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                name: lan.$t("gerenzhongxin"),
 | 
			
		||||
                name: 'gerenzhongxin',
 | 
			
		||||
                route: "/mine/archives"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
@ -303,6 +303,7 @@ export default defineComponent({
 | 
			
		||||
            languagelist.value=await getlanguages()
 | 
			
		||||
            console.log(routes.path)
 | 
			
		||||
            nowroute.value=routes.path
 | 
			
		||||
            lan.locale.value = userinfo.value.languageValue
 | 
			
		||||
        })
 | 
			
		||||
        
 | 
			
		||||
        function zonechange(e?: any){
 | 
			
		||||
 | 
			
		||||
@ -11,10 +11,10 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                    
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="num">{{(score+'').split('.')[1]?score:score+'.0'}}分</div>
 | 
			
		||||
                <div class="num">{{(score+'').split('.')[1]?score:score+'.0'}} {{lan.$t('fen')}}</div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="all" @click="findall(replyid)" >
 | 
			
		||||
                <span>查看所有回复</span>
 | 
			
		||||
                <span>={{lan.$t('suoyouhuifu')}}</span>
 | 
			
		||||
                <img src="@/static/images/arrowdownblue.png" alt="">
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -23,7 +23,7 @@
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="bottom">
 | 
			
		||||
            <div class="date">{{date}}</div>
 | 
			
		||||
            <div class="reply" @click="reply(username)">回复</div>
 | 
			
		||||
            <div class="reply" @click="reply(username)">{{lan.$t('huifu ')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
 
 | 
			
		||||
         <div class="huifu" v-if="ifshow">
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@
 | 
			
		||||
                    回复
 | 
			
		||||
                </div> -->
 | 
			
		||||
                <div class="del" @click="del(replyid)" v-if="parseInt(memberid)==myid">
 | 
			
		||||
                    删除
 | 
			
		||||
                    {{lan.$t('shanchu')}}
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
         
 | 
			
		||||
@ -99,6 +99,7 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { delreply } from '@/api';
 | 
			
		||||
import store from '@/store';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, ref } from 'vue';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
@ -126,6 +127,7 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    setup(prop,context){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        const myid=ref<number>(store.state.userinfo.memberid)
 | 
			
		||||
        function reply(e?: string){
 | 
			
		||||
            console.log(155)
 | 
			
		||||
@ -144,7 +146,8 @@ export default defineComponent({
 | 
			
		||||
        return {
 | 
			
		||||
            reply,
 | 
			
		||||
            myid,
 | 
			
		||||
            del
 | 
			
		||||
            del,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -1,49 +1,47 @@
 | 
			
		||||
  <template>
 | 
			
		||||
  <div class="cont">
 | 
			
		||||
    <div class="title">视频数据</div>
 | 
			
		||||
    <div class="title">{{lan.$t('shipinshuju')}}</div>
 | 
			
		||||
    <div class="info">
 | 
			
		||||
      <div class="item">
 | 
			
		||||
        <img src="@/static/images/livewatch.png" alt="" />
 | 
			
		||||
        <span> 上传时间: </span>
 | 
			
		||||
        <span> {{lan.$t('shangchuanshijian')}} </span>
 | 
			
		||||
        <span>{{date}}</span>
 | 
			
		||||
        
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item">
 | 
			
		||||
        <img src="@/static/images/watch.png" alt="" />
 | 
			
		||||
        <span>播放量</span>
 | 
			
		||||
        <span>{{lan.$t('bofangliang')}}</span>
 | 
			
		||||
        <span> {{watch}}</span>
 | 
			
		||||
       
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item">
 | 
			
		||||
        <img src="@/static/images/share.png" alt="" />
 | 
			
		||||
        <span>转发量</span>
 | 
			
		||||
        <span>{{lan.$t('zhuanfaliang')}}</span>
 | 
			
		||||
        <span>{{share}}</span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="item item1" v-if="status==0">
 | 
			
		||||
        <span>状态</span>
 | 
			
		||||
            <span class="status">正在审核中,情耐心等待</span>
 | 
			
		||||
        <span>{{lan.$t('zhuangtai')}}</span>
 | 
			
		||||
            <span class="status">{{lan.$t('shenheing')}}</span>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item item1" v-if="status==2">
 | 
			
		||||
            <span>状态</span>
 | 
			
		||||
            <span class="status1">审核未通过</span>
 | 
			
		||||
            <span>{{lan.$t('zhuangtai')}}</span>
 | 
			
		||||
            <span class="status1">{{lan.$t('shenheweitongguo')}}</span>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="item item1" v-if="status==1">
 | 
			
		||||
            <span style="flex-shrink:0">原因</span>
 | 
			
		||||
            <span class="status">您的视频中含有大量敏感词汇,请修改后再次上传,感谢您对Beelink的技术支持 </span>
 | 
			
		||||
            <span style="flex-shrink:0">{{lan.$t('yuanyin')}}</span>
 | 
			
		||||
            <span class="status"> {{lan.$t('yuanyintext')}} </span>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="button">
 | 
			
		||||
      <div class="modify" @click="update(videoid)">修改该视频</div>
 | 
			
		||||
      <div class="del" @click="drop(videoid)">删除该视频</div>
 | 
			
		||||
      <div class="modify" @click="update(videoid)">{{lan.$t('xiugaishipin')}}</div>
 | 
			
		||||
      <div class="del" @click="drop(videoid)">{{lan.$t('shanchushipin')}}</div>
 | 
			
		||||
      <a-modal
 | 
			
		||||
        title="确认删除"
 | 
			
		||||
        v-model:visible="visible"
 | 
			
		||||
        :confirm-loading="confirmLoading"
 | 
			
		||||
        @ok="handleOk"
 | 
			
		||||
        okText="确定"
 | 
			
		||||
        cancelText="取消"
 | 
			
		||||
      >
 | 
			
		||||
        <p>您确认删除该视频吗?</p>
 | 
			
		||||
        <p>{{lan.$t('querenshanchu')}}</p>
 | 
			
		||||
      </a-modal>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -118,6 +116,7 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { videodel } from '@/api';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, ref } from "vue";
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
 | 
			
		||||
@ -140,6 +139,7 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    setup(){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        console.log(1)
 | 
			
		||||
        const visible = ref(false);
 | 
			
		||||
        const confirmLoading = ref(false);
 | 
			
		||||
@ -166,7 +166,8 @@ export default defineComponent({
 | 
			
		||||
            update,
 | 
			
		||||
            confirmLoading,
 | 
			
		||||
            visible,
 | 
			
		||||
            handleOk
 | 
			
		||||
            handleOk,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -24,13 +24,13 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="state audit" v-if="status==0">
 | 
			
		||||
            审核中
 | 
			
		||||
            {{lan.$t('shenhezhong')}}
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="state audit fail" v-if="status==2">
 | 
			
		||||
            未通过
 | 
			
		||||
            {{lan.$t('weitongguo')}}
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="state audit" v-if="status==1">
 | 
			
		||||
             已发布
 | 
			
		||||
             {{lan.$t('yifabu')}}
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
@ -130,6 +130,7 @@
 | 
			
		||||
</style>
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent } from 'vue';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
@ -167,12 +168,14 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    setup() {
 | 
			
		||||
         const lan: any = useI18n();
 | 
			
		||||
        function navto(e: number){
 | 
			
		||||
            router.push("/regime/videoinfo?id="+e)
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            navto,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -2,10 +2,10 @@
 | 
			
		||||
    <div class="review">
 | 
			
		||||
        <div class="top">
 | 
			
		||||
            <div class="title">
 | 
			
		||||
                该视频评价
 | 
			
		||||
                <span>8.0分</span>
 | 
			
		||||
                {{lan.$t('shipinpingjia')}}
 | 
			
		||||
                <span>8.0{{lan.$t('fen')}}</span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="score">8.0分</div>
 | 
			
		||||
            <div class="score">8.0{{lan.$t('fen')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="list" v-for="(i,j) in reviewlist.data"  :key="j"  >
 | 
			
		||||
            <ReviewItem  
 | 
			
		||||
@ -25,8 +25,8 @@
 | 
			
		||||
       
 | 
			
		||||
        <div class="reply">
 | 
			
		||||
            <span v-if="uinfo.name">@{{uinfo.name}}</span>
 | 
			
		||||
            <a-textarea v-model:value="commentval" placeholder="Basic usage" :rows="4" />
 | 
			
		||||
            <div class="send" @click="send">发表留言</div>
 | 
			
		||||
            <a-textarea v-model:value="commentval" :placeholder="lan.$t('shuruliuyan')" :rows="4" />
 | 
			
		||||
            <div class="send" @click="send">{{lan.$t('fabiaoliuyan')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
@ -93,6 +93,7 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { addcomment, getcommentlist, videodetail } from '@/api';
 | 
			
		||||
import store from '@/store';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { message } from 'ant-design-vue';
 | 
			
		||||
import { defineComponent, onMounted, ref, toRaw } from 'vue';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
@ -109,6 +110,7 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    setup(prop,context){
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        const reviewlist=ref({})
 | 
			
		||||
        const commentval=ref<string>('')
 | 
			
		||||
        const uinfo=ref<any>({})
 | 
			
		||||
@ -166,7 +168,8 @@ export default defineComponent({
 | 
			
		||||
            replylist,
 | 
			
		||||
            haslist,
 | 
			
		||||
            reviewlist,
 | 
			
		||||
            refresh
 | 
			
		||||
            refresh,
 | 
			
		||||
            lan
 | 
			
		||||
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -1,28 +1,3 @@
 | 
			
		||||
export default {
 | 
			
		||||
    zhiboguanli: "直播管理",
 | 
			
		||||
    shipinguanli: "视频管理",
 | 
			
		||||
    dingyuezheguanli: "订阅者管理",
 | 
			
		||||
    gerenzhongxin: "个人中心",
 | 
			
		||||
    rili: "Date",
 | 
			
		||||
    quanbuzhibo: "全部直播",
 | 
			
		||||
    weikaishi: "未开始",
 | 
			
		||||
    yijieshu: "已结束",
 | 
			
		||||
    zhibosousuo: "请输入想要搜索的直播标题",
 | 
			
		||||
    haiweikaishi: "还未开始",
 | 
			
		||||
    yijueshi: "已结束",
 | 
			
		||||
    jinruzhibo: "进入直播",
 | 
			
		||||
    quanbushipin: "全部视频",
 | 
			
		||||
    shenhezhong: "审核中",
 | 
			
		||||
    weitongguo: "未通过",
 | 
			
		||||
    yifabu: "已发布",
 | 
			
		||||
    shipinsousuo: "请输入想要搜索的直播标题",
 | 
			
		||||
    wodedingyuezhe: "我的订阅者",
 | 
			
		||||
    xingming: "姓名",
 | 
			
		||||
    suozaiguojia: "所在国家",
 | 
			
		||||
    nianling: "年龄",
 | 
			
		||||
    xueshengmuyu: "学生母语",
 | 
			
		||||
    xingqudian: "兴趣点",
 | 
			
		||||
    yuyandengji: "语言等级",
 | 
			
		||||
    canyupingtaishichang: "参与平台直播总时长",
 | 
			
		||||
    sousuoxuesheng: "请输入想要搜索的学生姓名"
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										205
									
								
								src/i18n/zh.ts
									
									
									
									
									
								
							
							
						
						
									
										205
									
								
								src/i18n/zh.ts
									
									
									
									
									
								
							@ -11,6 +11,7 @@ export default {
 | 
			
		||||
    haiweikaishi: "还未开始",
 | 
			
		||||
    yijueshi: "已结束",
 | 
			
		||||
    jinruzhibo: "进入直播",
 | 
			
		||||
    chakanhuifang:"查看回放",
 | 
			
		||||
    quanbushipin: "全部视频",
 | 
			
		||||
    shenhezhong: "审核中",
 | 
			
		||||
    weitongguo: "未通过",
 | 
			
		||||
@ -28,6 +29,8 @@ export default {
 | 
			
		||||
    huanying:"您好,欢迎来到",
 | 
			
		||||
    beelink:"Beelink",
 | 
			
		||||
    meiyouzhanghao:"还没有账号?",
 | 
			
		||||
    yiyouzhanghao:"已有账号?",
 | 
			
		||||
    qudenglu:"去登录",
 | 
			
		||||
    chengweilaoshi:"成为一名Beelink老师",
 | 
			
		||||
    shoujidenglu:"手机号登录",
 | 
			
		||||
    mimadenglu:"账号密码登录",
 | 
			
		||||
@ -47,6 +50,204 @@ export default {
 | 
			
		||||
    kaiqishenghuo:"Beelink 开启您的美好学习生活",
 | 
			
		||||
    guanyubeelink:"关于 Beelink",
 | 
			
		||||
    guanyuneirong:" Beelink平台拥有数千名优秀老师,丰富的教育经验和有趣的课堂环境,一对一辅导平台的教务管理、线上课堂、线下课堂、助学互动,课程回放等多项教学功能,让您利用碎片时间,轻轻松松学会各种语言。",
 | 
			
		||||
    liaojiegengduo:"了解更多"
 | 
			
		||||
 | 
			
		||||
    liaojiegengduo:"了解更多",
 | 
			
		||||
    xiayibu:"下一步",
 | 
			
		||||
    tongyixieyi:"勾选表示同意 《用户注册协议和隐私政策》",
 | 
			
		||||
    shezhimima:"设置密码",
 | 
			
		||||
    shurumimatwo:"请再次输入您的密码",
 | 
			
		||||
    shuruxingming:"请输入您的姓名",
 | 
			
		||||
    youxiang:"邮箱",
 | 
			
		||||
    shuruyouxiang:"请输入您的邮箱",
 | 
			
		||||
    muyu:"母语",
 | 
			
		||||
    shurumuyu:"请输入您的母语",
 | 
			
		||||
    jiaoshou:"教授",
 | 
			
		||||
    xuanzejiaoshou:"请选择您的教授",
 | 
			
		||||
    lijizhuce:"立刻注册",
 | 
			
		||||
    wanchengzhuce:"您已完成注册",
 | 
			
		||||
    qudangan:"恭喜您注册成功,点击跳转到我的档案页面",
 | 
			
		||||
    yanzhengshouji:"验证手机号",
 | 
			
		||||
    tianxiexinxi:"填写帐号信息",
 | 
			
		||||
    fanhuishangyibu:"返回上一步",
 | 
			
		||||
    zhucewancheng:"帐号注册完成",
 | 
			
		||||
    mimachongzhi:"密码重置",
 | 
			
		||||
    xiangqimima:"想起密码?",
 | 
			
		||||
    zhanghuming:"账户名",
 | 
			
		||||
    chongzhimima:"重置密码",
 | 
			
		||||
    chongzhishurumima:"请输入您要设置的密码",
 | 
			
		||||
    querenmima:"确认密码",
 | 
			
		||||
    querenchongzhi:"确认重置",
 | 
			
		||||
    wanchengchongzhi:"您已完成密码重置",
 | 
			
		||||
    chongzhichenggong:"恭喜您重置密码成功,点击跳转到登录页面",
 | 
			
		||||
    shibiezhanghao:"识别账号",
 | 
			
		||||
    yanzhengxinxi:"验证账号信息,重置密码",
 | 
			
		||||
    chongzhiwancheng:"密码重置完成",
 | 
			
		||||
    xiugaitouxiang:"修改头像",
 | 
			
		||||
    xiugai:"修改",
 | 
			
		||||
    shuruxinnicheng:"请输入新的昵称",
 | 
			
		||||
    jibenxinxi:"基本信息",
 | 
			
		||||
    laiziguojia:"来自国家",
 | 
			
		||||
    juzhudi:"居住地",
 | 
			
		||||
    shurujuzhudi:"输入居住地",
 | 
			
		||||
    wohaihuishuo:"我还会说",
 | 
			
		||||
    shuliandu:"熟练度",
 | 
			
		||||
    jixutianjia:"继续添加",
 | 
			
		||||
    xindemuyu:"请输入新的母语",
 | 
			
		||||
    duanshipin:"短视频",
 | 
			
		||||
    shipinyaoqiu:"视频要求:",
 | 
			
		||||
    shipinyaoqiu1:"上传视频时间要求为30s之内",
 | 
			
		||||
    shipinyaoqiu2:"支持文件大小100M",
 | 
			
		||||
    shipinyaoqiu3:"文件扩展名:fiv、mp4…",
 | 
			
		||||
    ziwojieshao:"自我介绍",
 | 
			
		||||
    lianxifangshi:"联系方式",
 | 
			
		||||
    genghuanshoujihao:"更换手机号",
 | 
			
		||||
    xitongshezhi:"系统设置",
 | 
			
		||||
    shiqu:"时区",
 | 
			
		||||
    huobi:"货币",
 | 
			
		||||
    yuyan:"语言",
 | 
			
		||||
    wanchengrenzheng:"请完成以下认证",
 | 
			
		||||
    shuru:"请输入",
 | 
			
		||||
    shoudaodeyzm:"收到的验证短信码",
 | 
			
		||||
    shoujiyanzhengma:"手机验证码",
 | 
			
		||||
    huoquyanzhengma:"获取验证码",
 | 
			
		||||
    bangdingxinhaoma:"完成以下操作,绑定新号码",
 | 
			
		||||
    bangdingshouji:"绑定手机",
 | 
			
		||||
    xiugaizhanghaomima:"完成以下操作,修改账号密码",
 | 
			
		||||
    yuanmima:"原密码",
 | 
			
		||||
    xinmima:"新密码",
 | 
			
		||||
    xinmimatwo:"确认新密码",
 | 
			
		||||
    xiugaimima:"修改密码",
 | 
			
		||||
    baocun:"保存信息",
 | 
			
		||||
    gerenjieshao:"请输入个人介绍",
 | 
			
		||||
    shangchuanshipin:"上传视频",
 | 
			
		||||
    shipinbiaoti:"视频标题",
 | 
			
		||||
    shurushipinbiaoti:"请输入您的视频标题",
 | 
			
		||||
    shipinfengmian:"视频封面",
 | 
			
		||||
    xuanzeshipin:"选择视频",
 | 
			
		||||
    shipinjianjie:"视频简介",
 | 
			
		||||
    shurushipinjianjie:"请输入您的视频简介",
 | 
			
		||||
    zhiboxinxi:"直播信息",
 | 
			
		||||
    zhibobiaoti:"直播标题",
 | 
			
		||||
    shuruzhibobiaoti:"请输入您的直播标题",
 | 
			
		||||
    zhibofengmian:"直播封面",
 | 
			
		||||
    shipinjieshao:"视频介绍",
 | 
			
		||||
    kaishishijian:"开始时间",
 | 
			
		||||
    shezhikaishishijian:"请设置您的开始时间",
 | 
			
		||||
    zhiboshichang:"直播时长",
 | 
			
		||||
    shuruzhiboshijian:"请输入直播时间",
 | 
			
		||||
    fenzhong:"分钟",
 | 
			
		||||
    zhiborenshu:"直播人数",
 | 
			
		||||
    shuruzhiborenshu:"请输入直播人数",
 | 
			
		||||
    zhibojianjie:"直播简介",
 | 
			
		||||
    shuruzhibojianjie:"请输入您的直播简介",
 | 
			
		||||
    fabuzhibo:"发布直播",
 | 
			
		||||
    wuzhibozige:"您尚未获得直播资格",
 | 
			
		||||
    yijianfankui:"意见反馈",
 | 
			
		||||
    fen:"分",
 | 
			
		||||
    shipinshuju:"视频数据",
 | 
			
		||||
    shangchuanshijian:"上传时间:",
 | 
			
		||||
    bofangliang:"播放量",
 | 
			
		||||
    zhuanfaliang:"转发量",
 | 
			
		||||
    zhuangtai:"状态",
 | 
			
		||||
    shenheing:"正在审核中,情耐心等待",
 | 
			
		||||
    shenheweitongguo:"审核未通过",
 | 
			
		||||
    yuanyin:"原因",
 | 
			
		||||
    yuanyintext:"您的视频中含有大量敏感词汇,请修改后再次上传,感谢您对Beelink的技术支持",
 | 
			
		||||
    xiugaishipin:"修改该视频",
 | 
			
		||||
    shanchushipin:"删除该视频",
 | 
			
		||||
    querenshanchu:"您确认删除该视频吗?",
 | 
			
		||||
    shipinpingjia:"该视频评价",
 | 
			
		||||
    fabiaoliuyan:"发表留言",
 | 
			
		||||
    shuruliuyan:"请输入您的看法和见解",
 | 
			
		||||
    suoyouhuifu:"查看所有回复",
 | 
			
		||||
    huifu:"回复",
 | 
			
		||||
    shanchu:"删除",
 | 
			
		||||
    xiabanyayu:"西班牙语",
 | 
			
		||||
    bianjixinxi:"编辑信息",
 | 
			
		||||
    kaishizhibo:"开始直播",
 | 
			
		||||
    shangkexuesheng:"上课学生",
 | 
			
		||||
    chakanxiangqing:"查看详情",
 | 
			
		||||
    canjiashichang:"参加时长",
 | 
			
		||||
    quxiaozhibo:"取消直播",
 | 
			
		||||
    yijujue:"已拒绝",
 | 
			
		||||
    jujueyuanyintext:"请输入您拒绝该学生参与直播的原因",
 | 
			
		||||
    juejueyuanyin:"拒绝原因",
 | 
			
		||||
    querenjujue:"确认拒绝",
 | 
			
		||||
    zhiboyemian:"直播页面",
 | 
			
		||||
    querenguanbi:"您确认关闭直播吗",
 | 
			
		||||
    dingyuezhe:"我的订阅者",
 | 
			
		||||
    sousuodingyue:"请输入想要搜索的学生姓名",
 | 
			
		||||
    wodeqianbao:"我的钱包",
 | 
			
		||||
    lijitixian:"立即提现",
 | 
			
		||||
    tixianjilu:"提现记录",
 | 
			
		||||
    bangdingyonghu:"绑定用户",
 | 
			
		||||
    zhanghuyue:"账户余额",
 | 
			
		||||
    tianjiazhanghu:"添加新的账户",
 | 
			
		||||
    yinhangka:"银行卡",
 | 
			
		||||
    zhifubao:"支付宝",
 | 
			
		||||
    weixin:"微信",
 | 
			
		||||
    zhanghao0:"帐号",
 | 
			
		||||
    tixianzhanghu:"提现到指定账户",
 | 
			
		||||
    yue:"余额",
 | 
			
		||||
    xuanzezhanghu:"选择账户",
 | 
			
		||||
    tixianjine:"提现金额",
 | 
			
		||||
    quanbujine:"全部金额",
 | 
			
		||||
    tixianzhu:"注:每笔提现收取0.1%服务费,最低¥0.1",
 | 
			
		||||
    yueshu:"您的余额只有",
 | 
			
		||||
    zuiditixian:"最低提现金额¥100",
 | 
			
		||||
    mingxichaxun:"明细查询",
 | 
			
		||||
    kaishiriqi:"请选择开始日期",
 | 
			
		||||
    jieshuriqi:"请选择结束日期",
 | 
			
		||||
    zhanghu:"账户",
 | 
			
		||||
    tijiaoriqi:"提交日期",
 | 
			
		||||
    jine:"金额",
 | 
			
		||||
    caozuo:"操作",
 | 
			
		||||
    jiaoyimingxixiangqing:"交易明细详情",
 | 
			
		||||
    leixing:"类型",
 | 
			
		||||
    zhiboshouru:"直播收入",
 | 
			
		||||
    tixian:"提现",
 | 
			
		||||
    houtaichongzhi:"后台充值",
 | 
			
		||||
    liushuihao:"流水号",
 | 
			
		||||
    riqi:"日期",
 | 
			
		||||
    laiyuan:"来源",
 | 
			
		||||
    fanhui:"返回",
 | 
			
		||||
    tixianjiluxiangqing:"提现记录详情",
 | 
			
		||||
    daozhangjine:"到帐金额",
 | 
			
		||||
    shouxufei:"手续费",
 | 
			
		||||
    tixianzhuangtai:"提现状态",
 | 
			
		||||
    yuanyinmiaoshu:"原因描述",
 | 
			
		||||
    mingcheng:"名称",
 | 
			
		||||
    shoukuanzhanghu:"收款账户",
 | 
			
		||||
    quanbu:"全部",
 | 
			
		||||
    shouru:"收入",
 | 
			
		||||
    zhichu:"支出",
 | 
			
		||||
    xinzengzhanghu:"新增账户",
 | 
			
		||||
    shurukahao:"请输入收款人储蓄卡号",
 | 
			
		||||
    kahao:"卡号",
 | 
			
		||||
    kaihuhang:"开户行",
 | 
			
		||||
    shurukaihuhang:"请输入开户行",
 | 
			
		||||
    shuruzhifubao:"请输入支付宝账号/密码",
 | 
			
		||||
    saomabangding:"扫码绑定",
 | 
			
		||||
    zhu:"注",
 | 
			
		||||
    weixinbangding:"打开手机微信扫描左侧二维码 进行微信账户绑定",
 | 
			
		||||
    yinhangzhanghu:"银行账户",
 | 
			
		||||
    yinhangbic:"银行BIC码",
 | 
			
		||||
    tijiao:"提交",
 | 
			
		||||
    zhiboliebiao:"直播列表",
 | 
			
		||||
    zhibokecheng:"直播课程",
 | 
			
		||||
    canyurenshu:"参与人数",
 | 
			
		||||
    kechengpingfen:"课程评分",
 | 
			
		||||
    shipinliebiao:'视频列表',
 | 
			
		||||
    fabushipin:"发布视频",
 | 
			
		||||
    zongguankanshu:"总观看数",
 | 
			
		||||
    pingjundefen:"平均得分",
 | 
			
		||||
    dingyueliebiao:"订阅列表",
 | 
			
		||||
    dingyuerenshu:"订阅人数",
 | 
			
		||||
    fuwutiaokuan:"服务条款",
 | 
			
		||||
    yinsizhengce:"隐私政策",
 | 
			
		||||
    shurufankui:"请输入您的意见反馈",
 | 
			
		||||
    tijiaofankui:"提交反馈",
 | 
			
		||||
    tuichu:"帐号退出",
 | 
			
		||||
    wodedangan:"我的档案",
 | 
			
		||||
    liebiaotongji:"列表统计",
 | 
			
		||||
    guanyu:"关于Beelink"
 | 
			
		||||
}
 | 
			
		||||
@ -3,89 +3,89 @@
 | 
			
		||||
    <div class="box">
 | 
			
		||||
      <div :class="stepnow != 2 ? 'left' : 'left left1'">
 | 
			
		||||
        <div class="title">
 | 
			
		||||
         <span class="orgname">Beelink</span>密码重置
 | 
			
		||||
         <span class="orgname">{{lan.$t('beelink')}}</span>{{lan.$t('mimachongzhi')}}
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div v-if="stepnow == 1">
 | 
			
		||||
          <div class="nosign">
 | 
			
		||||
            想起密码?
 | 
			
		||||
            <span class="tosign"><router-link to="/"> 去登录 </router-link></span>
 | 
			
		||||
            {{lan.$t('xiangqimima')}}
 | 
			
		||||
            <span class="tosign"><router-link to="/"> {{lan.$t('qudenglu')}} </router-link></span>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <a-form :layout="formLayout">
 | 
			
		||||
            <a-form-item label="账户名" class="form-item">
 | 
			
		||||
                <a-input class="shuru" placeholder="请输入您的邮箱或者手机号"  v-model:value="uinfo.phone"/>
 | 
			
		||||
            <a-form-item :label="lan.$t('zhanghuming')" class="form-item">
 | 
			
		||||
                <a-input class="shuru" :placeholder="lan.$t('shuruzhanghao')"  v-model:value="uinfo.phone"/>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <div class="submit" @click="next(2)">下一步</div>
 | 
			
		||||
            <div class="submit" @click="next(2)">{{lan.$t('xiayibu')}}</div>
 | 
			
		||||
        
 | 
			
		||||
          </a-form>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div v-if="stepnow == 2">
 | 
			
		||||
          <div class="nosign">
 | 
			
		||||
            已有账号?
 | 
			
		||||
            <span class="tosign"><router-link to="/"> 去登录 </router-link></span>
 | 
			
		||||
            {{lan.$t('yiyouzhanghao')}}
 | 
			
		||||
            <span class="tosign"><router-link to="/"> {{lan.$t('qudenglu')}} </router-link></span>
 | 
			
		||||
          </div>
 | 
			
		||||
          <a-form :layout="formLayout">
 | 
			
		||||
            <div class="signform">
 | 
			
		||||
              <div style="display:flex">
 | 
			
		||||
          <a-form-item label="手机号" class="shuru">
 | 
			
		||||
          <a-form-item :label="lan.$t('shoujihao')" class="shuru">
 | 
			
		||||
              <div>{{uinfo.phone}}</div>
 | 
			
		||||
          </a-form-item>
 | 
			
		||||
            <a-form-item label="验证码" class="form-item yzm">
 | 
			
		||||
            <a-form-item :label="lan.$t('yanzhengma')" class="form-item yzm">
 | 
			
		||||
 | 
			
		||||
               <a-input-group compact>
 | 
			
		||||
                   <div class="getcode" @click="getcode">
 | 
			
		||||
                  点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
 | 
			
		||||
                  {{lan.$t('dianjihuoquyzm')}} {{ time == 60 ? "" : "(" + time + ")" }}
 | 
			
		||||
                </div>
 | 
			
		||||
      
 | 
			
		||||
                <div class="line"></div>
 | 
			
		||||
                <a-input style="width: 50%" placeholder="请输入您的验证码" v-model:value="uinfo.code"/>
 | 
			
		||||
                <a-input style="width: 50%" :placeholder="lan.$t('shuruyzm')" v-model:value="uinfo.code"/>
 | 
			
		||||
              </a-input-group>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
 
 | 
			
		||||
              </div>
 | 
			
		||||
         
 | 
			
		||||
            <div style="display:flex">
 | 
			
		||||
                    <a-form-item label="设置密码" class="form-item">
 | 
			
		||||
                <a-input class="shuru" placeholder="请再次输入您的密码" type="password" v-model:value="uinfo.password"/>
 | 
			
		||||
                    <a-form-item :label="lan.$t('chongzhimima')" class="form-item">
 | 
			
		||||
                <a-input class="shuru" :placeholder="lan.$t('chongzhishurumima')" type="password" v-model:value="uinfo.password"/>
 | 
			
		||||
              </a-form-item>
 | 
			
		||||
                    <a-form-item label="设置密码" class="form-item">
 | 
			
		||||
                <a-input class="shuru" placeholder="请再次输入您的密码" type="password" v-model:value="uinfo.repassword"/>
 | 
			
		||||
                    <a-form-item :label="lan.$t('querenmima')" class="form-item">
 | 
			
		||||
                <a-input class="shuru" :placeholder="lan.$t('shurumimatwo')" type="password" v-model:value="uinfo.repassword"/>
 | 
			
		||||
              </a-form-item>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="submit" @click="next(3)">确认重置</div>
 | 
			
		||||
            <div class="orginfo">Beelink公司版权所有 2019—2022</div>
 | 
			
		||||
            <div class="submit" @click="next(3)">{{lan.$t('querenchongzhi')}}</div>
 | 
			
		||||
            <div class="orginfo">{{lan.$t('banquan')}}</div>
 | 
			
		||||
          </a-form>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div v-if="stepnow == 3">
 | 
			
		||||
          <div class="nosign">您已完成密码重置</div>
 | 
			
		||||
          <div class="nosign">{{lan.$t('wanchengchongzhi')}}</div>
 | 
			
		||||
          <img src="@/static/images/success.png" alt="" class="success">
 | 
			
		||||
          <div class="ale" @click="tologin">恭喜您重置密码成功,点击跳转到登录页面</div>
 | 
			
		||||
          <div class="ale" @click="tologin">{{lan.$t('chongzhichenggong')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div :class="stepnow != 2 ? 'right' : 'right right1'">
 | 
			
		||||
        <div class="steps">
 | 
			
		||||
          <div class="step">
 | 
			
		||||
            <div :class="stepnow == 1 ? 'circle step1' : 'circle'">01</div>
 | 
			
		||||
            <div :class="stepnow == 1 ? 'stepnow' : ''">识别账号</div>
 | 
			
		||||
            <div :class="stepnow == 1 ? 'stepnow' : ''">{{lan.$t('shibiezhanghao')}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="stepline"></div>
 | 
			
		||||
          <div class="step">
 | 
			
		||||
            <div :class="stepnow == 2 ? 'circle step1' : 'circle'">02</div>
 | 
			
		||||
            <div :class="stepnow == 2 ? 'stepnow' : ''">验证账号信息,重置密码</div>
 | 
			
		||||
            <div :class="stepnow == 2 ? 'stepnow' : ''">{{lan.$t('yanzhengxinxi')}}</div>
 | 
			
		||||
            <div class="back" @click="next(1)" v-if="stepnow==2">
 | 
			
		||||
              返回上一步
 | 
			
		||||
              {{lan.$t('fanhuishangyibu')}}
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="stepline"></div>
 | 
			
		||||
          <div class="step">
 | 
			
		||||
            <div :class="stepnow == 3 ? 'circle step1' : 'circle'">03</div>
 | 
			
		||||
            <div :class="stepnow == 3 ? 'stepnow' : ''">密码重置完成</div>
 | 
			
		||||
            <div :class="stepnow == 3 ? 'stepnow' : ''">{{lan.$t('chongzhiwancheng')}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="icons" v-if="stepnow == 2">
 | 
			
		||||
@ -101,12 +101,14 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { checksmscode, checkuser, editpassword, sendsms } from '@/api';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { message } from 'ant-design-vue';
 | 
			
		||||
import { defineComponent, ref, toRaw } from "vue";
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Sign",
 | 
			
		||||
  components: {},
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const formLayout = {
 | 
			
		||||
      labelCol: 4,
 | 
			
		||||
      wrapperCol: 14,
 | 
			
		||||
@ -219,7 +221,8 @@ export default defineComponent({
 | 
			
		||||
      stepnow,
 | 
			
		||||
      next,
 | 
			
		||||
      uinfo,
 | 
			
		||||
      tologin
 | 
			
		||||
      tologin,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -2,180 +2,240 @@
 | 
			
		||||
    <div class="login">
 | 
			
		||||
        <NavTop :type="0" style="flex-shrink: 0"></NavTop>
 | 
			
		||||
        <div class="box">
 | 
			
		||||
        <div :class="stepnow != 2 ? 'left' : 'left left1'">
 | 
			
		||||
            <div class="title">
 | 
			
		||||
            您好,欢迎来到 <span class="orgname">Beelink</span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div :class="stepnow != 2 ? 'left' : 'left left1'">
 | 
			
		||||
                <div class="title">
 | 
			
		||||
                    {{ lan.$t("huanying") }}
 | 
			
		||||
                    <span class="orgname">{{ lan.$t("beelink") }}</span>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
            <div v-if="stepnow == 1">
 | 
			
		||||
            <div class="nosign">
 | 
			
		||||
                已有账号?
 | 
			
		||||
                <span class="tosign" @click="navto('/')"> 去登录 </span>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <a-form :layout="formLayout">
 | 
			
		||||
                <a-form-item label="手机号" class="form-item">
 | 
			
		||||
                <a-input-group compact>
 | 
			
		||||
                    <a-select
 | 
			
		||||
                    class="getcode"
 | 
			
		||||
                    style="width: 50%"
 | 
			
		||||
                    v-model:value="phone.quhao"
 | 
			
		||||
                    >
 | 
			
		||||
                    <a-select-option value="86"> 中国+0086 </a-select-option>
 | 
			
		||||
                    <a-select-option value="Jiangsu"> Jiangsu </a-select-option>
 | 
			
		||||
                    </a-select>
 | 
			
		||||
                    <div class="line"></div>
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    v-model:value="phone.phone"
 | 
			
		||||
                    style="width: 50%"
 | 
			
		||||
                    placeholder="请输入您的手机号"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-input-group>
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="验证码" class="form-item">
 | 
			
		||||
                <a-input-group compact>
 | 
			
		||||
                    <div class="getcode" style="width: 50%" @click="getcode">
 | 
			
		||||
                    点击获取验证码{{ time == 60 ? "" : "(" + time + ")" }}
 | 
			
		||||
                <div v-if="stepnow == 1">
 | 
			
		||||
                    <div class="nosign">
 | 
			
		||||
                        {{ lan.$t("yiyouzhanghao") }}
 | 
			
		||||
                        <span class="tosign" @click="navto('/')">
 | 
			
		||||
                            {{ lan.$t("qudenglu") }}
 | 
			
		||||
                        </span>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="line"></div>
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    v-model:value="phone.code"
 | 
			
		||||
                    style="width: 50%"
 | 
			
		||||
                    placeholder="请输入您的验证码"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-input-group>
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <div class="submit" @click="next(2)">下一步</div>
 | 
			
		||||
                <div class="agreement" @click="agree">
 | 
			
		||||
                <div class="ifagree">
 | 
			
		||||
 | 
			
		||||
                    <a-form :layout="formLayout">
 | 
			
		||||
                        <a-form-item
 | 
			
		||||
                            :label="lan.$t('shoujihao')"
 | 
			
		||||
                            class="form-item"
 | 
			
		||||
                        >
 | 
			
		||||
                            <a-input-group compact>
 | 
			
		||||
                                <a-select
 | 
			
		||||
                                    :default-value="quhaolist[0].code"
 | 
			
		||||
                                    size="small"
 | 
			
		||||
                                    @change="getquhao"
 | 
			
		||||
                                    class="getcode"
 | 
			
		||||
									style="width: 50%"
 | 
			
		||||
                                >
 | 
			
		||||
                                    <a-select-option
 | 
			
		||||
                                        v-for="(i, j) in quhaolist"
 | 
			
		||||
                                        :key="j"
 | 
			
		||||
                                        :value="i.code"
 | 
			
		||||
                                    >
 | 
			
		||||
                                        {{ i.name }}+{{ i.code }}
 | 
			
		||||
                                    </a-select-option>
 | 
			
		||||
                                    <!-- <a-select-option value="Jiangsu"> Jiangsu </a-select-option> -->
 | 
			
		||||
                                </a-select>
 | 
			
		||||
                                <!-- <a-select
 | 
			
		||||
                                    class="getcode"
 | 
			
		||||
                                    style="width: 50%"
 | 
			
		||||
                                    v-model:value="phone.quhao"
 | 
			
		||||
                                >
 | 
			
		||||
                                    <a-select-option value="86">
 | 
			
		||||
                                        中国+0086
 | 
			
		||||
                                    </a-select-option>
 | 
			
		||||
                                    <a-select-option value="Jiangsu">
 | 
			
		||||
                                        Jiangsu
 | 
			
		||||
                                    </a-select-option>
 | 
			
		||||
                                </a-select> -->
 | 
			
		||||
                                <div class="line"></div>
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    v-model:value="phone.phone"
 | 
			
		||||
                                    style="width: 50%"
 | 
			
		||||
                                    :placeholder="lan.$t('shurushouji')"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-input-group>
 | 
			
		||||
                        </a-form-item>
 | 
			
		||||
                        <a-form-item :label="lan.$t('yanzhengma')" class="form-item">
 | 
			
		||||
                            <a-input-group compact>
 | 
			
		||||
                                <div
 | 
			
		||||
                                    class="getcode"
 | 
			
		||||
                                    style="width: 50%"
 | 
			
		||||
                                    @click="getcode"
 | 
			
		||||
                                >
 | 
			
		||||
                                    {{lan.$t('dianjihuoquyzm')}} {{
 | 
			
		||||
                                        time == 60 ? "" : "(" + time + ")"
 | 
			
		||||
                                    }}
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="line"></div>
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    v-model:value="phone.code"
 | 
			
		||||
                                    style="width: 50%"
 | 
			
		||||
                                    :placeholder="lan.$t('shuruyzm')"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-input-group>
 | 
			
		||||
                        </a-form-item>
 | 
			
		||||
                        <div class="submit" @click="next(2)">{{lan.$t('xiayibu')}}</div>
 | 
			
		||||
                        <div class="agreement" @click="agree">
 | 
			
		||||
                            <div class="ifagree">
 | 
			
		||||
                                <img
 | 
			
		||||
                                    src="@/static/images/agree.png"
 | 
			
		||||
                                    alt=""
 | 
			
		||||
                                    class="agree"
 | 
			
		||||
                                    v-if="ifagree"
 | 
			
		||||
                                />
 | 
			
		||||
                            </div>
 | 
			
		||||
                            {{lan.$t('tongyixieyi')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </a-form>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div v-if="stepnow == 2">
 | 
			
		||||
                    <div class="nosign">
 | 
			
		||||
                        {{lan.$t('yiyouzhanghao')}}
 | 
			
		||||
                        <span class="tosign" @click="navto('/')"> {{lan.$t('qudenglu')}} </span>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <a-form :layout="formLayout">
 | 
			
		||||
                        <div class="signform">
 | 
			
		||||
                            <a-form-item :label="lan.$t('shezhimima')" class="form-item">
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    class="shuru"
 | 
			
		||||
                                    :placeholder="lan.$t('shurumima')"
 | 
			
		||||
                                    type="password"
 | 
			
		||||
                                    v-model:value="userinfo.pass"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                            <a-form-item :label="lan.$t('shezhimima')" class="form-item">
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    class="shuru"
 | 
			
		||||
                                    :placeholder="lan.$t('shurumimatwo')"
 | 
			
		||||
                                    type="password"
 | 
			
		||||
                                    v-model:value="userinfo.passtow"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                            <a-form-item :label="lan.$t('xingming')" class="form-item">
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    class="shuru"
 | 
			
		||||
                                    :placeholder="lan.$t('shuruxingming')"
 | 
			
		||||
                                    v-model:value="userinfo.name"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                            <a-form-item :label="lan.$t('youxiang')" class="form-item">
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    class="shuru"
 | 
			
		||||
                                    :placeholder="lan.$t('shuruyouxiang')"
 | 
			
		||||
                                    v-model:value="userinfo.emil"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                            <a-form-item :label="lan.$t('muyu')" class="form-item">
 | 
			
		||||
                                <a-input
 | 
			
		||||
                                    class="shuru"
 | 
			
		||||
                                    :placeholder="lan.$t('shurumuyu')"
 | 
			
		||||
                                    v-model:value="userinfo.muyu"
 | 
			
		||||
                                />
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                            <a-form-item label="教授" class="form-item">
 | 
			
		||||
                                <a-select
 | 
			
		||||
                                    v-model:value="userinfo.jiaoshou"
 | 
			
		||||
                                    class="getcode"
 | 
			
		||||
                                    style="color: #111"
 | 
			
		||||
                                    :placeholder="lan.$t('xuanzejiaoshou')"
 | 
			
		||||
                                >
 | 
			
		||||
                                    <a-select-option
 | 
			
		||||
                                        v-for="(item, index) in willsay"
 | 
			
		||||
                                        :key="index"
 | 
			
		||||
                                        :value="item.languageid"
 | 
			
		||||
                                    >
 | 
			
		||||
                                        {{ item.name }}
 | 
			
		||||
                                    </a-select-option>
 | 
			
		||||
                                </a-select>
 | 
			
		||||
                            </a-form-item>
 | 
			
		||||
                        </div>
 | 
			
		||||
 | 
			
		||||
                        <div class="submit" @click="next(3)">{{lan.$t('lijizhuce')}}</div>
 | 
			
		||||
                        <div class="orginfo">{{lan.$t('banquan')}}</div>
 | 
			
		||||
                    </a-form>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div v-if="stepnow == 3">
 | 
			
		||||
                    <div class="nosign">{{lan.$t('您已完成注册')}}</div>
 | 
			
		||||
                    <img
 | 
			
		||||
                    src="@/static/images/agree.png"
 | 
			
		||||
                    alt=""
 | 
			
		||||
                    class="agree"
 | 
			
		||||
                    v-if="ifagree"
 | 
			
		||||
                        src="@/static/images/success.png"
 | 
			
		||||
                        alt=""
 | 
			
		||||
                        class="success"
 | 
			
		||||
                    />
 | 
			
		||||
                </div>
 | 
			
		||||
                勾选表示同意 《用户注册协议和隐私政策》
 | 
			
		||||
                </div>
 | 
			
		||||
            </a-form>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div v-if="stepnow == 2">
 | 
			
		||||
            <div class="nosign">
 | 
			
		||||
                已有账号?
 | 
			
		||||
                <span class="tosign" @click="navto('/')"> 去登录 </span>
 | 
			
		||||
            </div>
 | 
			
		||||
            <a-form :layout="formLayout">
 | 
			
		||||
                <div class="signform">
 | 
			
		||||
                <a-form-item label="设置密码" class="form-item">
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    class="shuru"
 | 
			
		||||
                    placeholder="请输入您的密码"
 | 
			
		||||
                    type="password"
 | 
			
		||||
                    v-model:value="userinfo.pass"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="设置密码" class="form-item">
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    class="shuru"
 | 
			
		||||
                    placeholder="请再次输入您的密码"
 | 
			
		||||
                    type="password"
 | 
			
		||||
                    v-model:value="userinfo.passtow"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="姓名" class="form-item">
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    class="shuru"
 | 
			
		||||
                    placeholder="请输入您的姓名"
 | 
			
		||||
                    v-model:value="userinfo.name"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="邮箱" class="form-item">
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    class="shuru"
 | 
			
		||||
                    placeholder="请输入您的邮箱"
 | 
			
		||||
                    v-model:value="userinfo.emil"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="母语" class="form-item">
 | 
			
		||||
                    <a-input
 | 
			
		||||
                    class="shuru"
 | 
			
		||||
                    placeholder="请输入您的母语"
 | 
			
		||||
                    v-model:value="userinfo.muyu"
 | 
			
		||||
                    />
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                <a-form-item label="教授" class="form-item">
 | 
			
		||||
                    <a-select
 | 
			
		||||
                    v-model:value="userinfo.jiaoshou"
 | 
			
		||||
                    class="getcode"
 | 
			
		||||
                    style="color: #111"
 | 
			
		||||
                    placeholder="请选择您的教授"
 | 
			
		||||
                    >
 | 
			
		||||
                    <a-select-option
 | 
			
		||||
                        v-for="(item, index) in willsay"
 | 
			
		||||
                        :key="index"
 | 
			
		||||
                        :value="item.languageid"
 | 
			
		||||
                    >
 | 
			
		||||
                        {{ item.name }}
 | 
			
		||||
                    </a-select-option>
 | 
			
		||||
                    </a-select>
 | 
			
		||||
                </a-form-item>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
                <div class="submit" @click="next(3)">立刻注册</div>
 | 
			
		||||
                <div class="orginfo">Beelink公司版权所有 2019—2022</div>
 | 
			
		||||
            </a-form>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div v-if="stepnow == 3">
 | 
			
		||||
            <div class="nosign">您已完成注册</div>
 | 
			
		||||
            <img src="@/static/images/success.png" alt="" class="success" />
 | 
			
		||||
            <div class="ale" @click="navto('/mine/archives')">
 | 
			
		||||
                恭喜您注册成功,点击跳转到我的档案页面
 | 
			
		||||
            </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div :class="stepnow != 2 ? 'right' : 'right right1'">
 | 
			
		||||
            <div class="steps">
 | 
			
		||||
            <div class="step">
 | 
			
		||||
                <div :class="stepnow == 1 ? 'circle step1' : 'circle'">01</div>
 | 
			
		||||
                <div :class="stepnow == 1 ? 'stepnow' : ''">验证手机号</div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="stepline"></div>
 | 
			
		||||
            <div class="step">
 | 
			
		||||
                <div :class="stepnow == 2 ? 'circle step1' : 'circle'">02</div>
 | 
			
		||||
                <div :class="stepnow == 2 ? 'stepnow' : ''">填写帐号信息</div>
 | 
			
		||||
                <div class="back" @click="next(1)" v-if="stepnow == 2">
 | 
			
		||||
                返回上一步
 | 
			
		||||
                    <div class="ale" @click="navto('/mine/archives')">
 | 
			
		||||
                        {{lan.$t('qudangan')}}
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="stepline"></div>
 | 
			
		||||
            <div class="step">
 | 
			
		||||
                <div :class="stepnow == 3 ? 'circle step1' : 'circle'">03</div>
 | 
			
		||||
                <div :class="stepnow == 3 ? 'stepnow' : ''">帐号注册完成</div>
 | 
			
		||||
            <div :class="stepnow != 2 ? 'right' : 'right right1'">
 | 
			
		||||
                <div class="steps">
 | 
			
		||||
                    <div class="step">
 | 
			
		||||
                        <div :class="stepnow == 1 ? 'circle step1' : 'circle'">
 | 
			
		||||
                            01
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div :class="stepnow == 1 ? 'stepnow' : ''">
 | 
			
		||||
                            {{lan.$t('yanzhengshouji')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="stepline"></div>
 | 
			
		||||
                    <div class="step">
 | 
			
		||||
                        <div :class="stepnow == 2 ? 'circle step1' : 'circle'">
 | 
			
		||||
                            02
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div :class="stepnow == 2 ? 'stepnow' : ''">
 | 
			
		||||
                            {{lan.$t('tianxiexinxi')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div class="back" @click="next(1)" v-if="stepnow == 2">
 | 
			
		||||
                            {{lan.$t('fanhuishangyibu')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="stepline"></div>
 | 
			
		||||
                    <div class="step">
 | 
			
		||||
                        <div :class="stepnow == 3 ? 'circle step1' : 'circle'">
 | 
			
		||||
                            03
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <div :class="stepnow == 3 ? 'stepnow' : ''">
 | 
			
		||||
                            {{lan.$t('zhucewancheng')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="icons" v-if="stepnow == 2">
 | 
			
		||||
                    <img src="@/static/images/weixin.png" alt="" class="icon" />
 | 
			
		||||
                    <img src="@/static/images/weibo.png" alt="" class="icon" />
 | 
			
		||||
                    <img
 | 
			
		||||
                        src="@/static/images/facebook.png"
 | 
			
		||||
                        alt=""
 | 
			
		||||
                        class="icon"
 | 
			
		||||
                    />
 | 
			
		||||
                </div>	
 | 
			
		||||
            </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="icons" v-if="stepnow == 2">
 | 
			
		||||
            <img src="@/static/images/weixin.png" alt="" class="icon" />
 | 
			
		||||
            <img src="@/static/images/weibo.png" alt="" class="icon" />
 | 
			
		||||
            <img src="@/static/images/facebook.png" alt="" class="icon" />
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { defineComponent, reactive, ref, toRaw } from "vue";
 | 
			
		||||
import { defineComponent, onMounted, reactive, ref, toRaw } from "vue";
 | 
			
		||||
import NavTop from "@/components/NavTop.vue";
 | 
			
		||||
import { checksmscode, getwillsay, register, sendsms } from "@/api";
 | 
			
		||||
import {
 | 
			
		||||
    checksmscode,
 | 
			
		||||
    getquhaolist,
 | 
			
		||||
    getwillsay,
 | 
			
		||||
    register,
 | 
			
		||||
    sendsms,
 | 
			
		||||
} from "@/api";
 | 
			
		||||
import { message } from "ant-design-vue";
 | 
			
		||||
import router from "@/router";
 | 
			
		||||
import { useI18n } from "@/utils/i18n";
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
    name: "Sign",
 | 
			
		||||
    components: { NavTop },
 | 
			
		||||
    setup() {
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        const formLayout = {
 | 
			
		||||
            labelCol: 4,
 | 
			
		||||
            wrapperCol: 14,
 | 
			
		||||
@ -195,9 +255,20 @@ export default defineComponent({
 | 
			
		||||
            jiaoshou: "",
 | 
			
		||||
        });
 | 
			
		||||
        const willsay = ref<any>();
 | 
			
		||||
        const quhaolist = ref<any>([
 | 
			
		||||
            {
 | 
			
		||||
                code: "86",
 | 
			
		||||
                id: 214,
 | 
			
		||||
                name: "中国",
 | 
			
		||||
            },
 | 
			
		||||
        ]);
 | 
			
		||||
        getwillsay().then((res) => {
 | 
			
		||||
            willsay.value = res;
 | 
			
		||||
        });
 | 
			
		||||
        onMounted(async () => {
 | 
			
		||||
            quhaolist.value = await getquhaolist();
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * @param
 | 
			
		||||
         * 点击获取验证码  触发60S倒计时
 | 
			
		||||
@ -218,9 +289,9 @@ export default defineComponent({
 | 
			
		||||
                console.log(phone);
 | 
			
		||||
                time.value = time.value - 1;
 | 
			
		||||
                if (time.value <= 0) {
 | 
			
		||||
                time.value = 60;
 | 
			
		||||
                clearInterval(timestep);
 | 
			
		||||
                lock = false;
 | 
			
		||||
                    time.value = 60;
 | 
			
		||||
                    clearInterval(timestep);
 | 
			
		||||
                    lock = false;
 | 
			
		||||
                }
 | 
			
		||||
            }, 1000);
 | 
			
		||||
        };
 | 
			
		||||
@ -228,8 +299,8 @@ export default defineComponent({
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         *@param
 | 
			
		||||
        * 用户协议前面radio 的点击效果
 | 
			
		||||
        */
 | 
			
		||||
         * 用户协议前面radio 的点击效果
 | 
			
		||||
         */
 | 
			
		||||
        const agree: () => void = () => {
 | 
			
		||||
            ifagree.value = ifagree.value == true ? false : true;
 | 
			
		||||
            console.log(ifagree.value, 600);
 | 
			
		||||
@ -246,9 +317,9 @@ export default defineComponent({
 | 
			
		||||
                message.error("密码不能为空");
 | 
			
		||||
                return false;
 | 
			
		||||
            }
 | 
			
		||||
            if(userinfo.value.pass!=userinfo.value.passtow){
 | 
			
		||||
				message.error("两次密码输入不一致")
 | 
			
		||||
				return
 | 
			
		||||
            if (userinfo.value.pass != userinfo.value.passtow) {
 | 
			
		||||
                message.error("两次密码输入不一致");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (userinfo.value.name == "") {
 | 
			
		||||
                message.error("姓名不能为空");
 | 
			
		||||
@ -270,14 +341,13 @@ export default defineComponent({
 | 
			
		||||
        }
 | 
			
		||||
        /**
 | 
			
		||||
         *@param  e 跳到哪一步
 | 
			
		||||
        * 步骤条跳到某一步
 | 
			
		||||
        */
 | 
			
		||||
         * 步骤条跳到某一步
 | 
			
		||||
         */
 | 
			
		||||
 | 
			
		||||
        async function next(e: number) {
 | 
			
		||||
          
 | 
			
		||||
            if(!ifagree.value){
 | 
			
		||||
              message.error("请同意用户协议");
 | 
			
		||||
              return ;
 | 
			
		||||
            if (!ifagree.value) {
 | 
			
		||||
                message.error("请同意用户协议");
 | 
			
		||||
                return;
 | 
			
		||||
            }
 | 
			
		||||
            if (stepnow.value > e) {
 | 
			
		||||
                stepnow.value = e;
 | 
			
		||||
@ -285,35 +355,37 @@ export default defineComponent({
 | 
			
		||||
            }
 | 
			
		||||
            switch (e) {
 | 
			
		||||
                case 2: {
 | 
			
		||||
                console.log(e);
 | 
			
		||||
                if (phone.value.phone == "") {
 | 
			
		||||
                    message.error("手机号不能为空");
 | 
			
		||||
                    return;
 | 
			
		||||
                } else if (phone.value.code == "") {
 | 
			
		||||
                    message.error("验证码不能为空");
 | 
			
		||||
                    return;
 | 
			
		||||
                }
 | 
			
		||||
                const res = await checksmscode(
 | 
			
		||||
                    phone.value.quhao + phone.value.phone,
 | 
			
		||||
                    phone.value.code
 | 
			
		||||
                );
 | 
			
		||||
                if (res) {
 | 
			
		||||
                    stepnow.value = e;
 | 
			
		||||
                }
 | 
			
		||||
                break;
 | 
			
		||||
                    console.log(e);
 | 
			
		||||
                    if (phone.value.phone == "") {
 | 
			
		||||
                        message.error("手机号不能为空");
 | 
			
		||||
                        return;
 | 
			
		||||
                    } else if (phone.value.code == "") {
 | 
			
		||||
                        message.error("验证码不能为空");
 | 
			
		||||
                        return;
 | 
			
		||||
                    }
 | 
			
		||||
                    const res = await checksmscode(
 | 
			
		||||
                        phone.value.quhao + phone.value.phone,
 | 
			
		||||
                        phone.value.code
 | 
			
		||||
                    );
 | 
			
		||||
                    if (res) {
 | 
			
		||||
                        stepnow.value = e;
 | 
			
		||||
					}
 | 
			
		||||
 
 | 
			
		||||
                    break;
 | 
			
		||||
                }
 | 
			
		||||
                case 3: {
 | 
			
		||||
                console.log(userinfo.value);
 | 
			
		||||
                const yz = yanzheng();
 | 
			
		||||
                if (yz) {
 | 
			
		||||
                    const res = await register({
 | 
			
		||||
                    ...toRaw(phone.value),
 | 
			
		||||
                    ...toRaw(userinfo.value),
 | 
			
		||||
                    });
 | 
			
		||||
                    if (res) {
 | 
			
		||||
                    stepnow.value = e;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                    console.log(userinfo.value);
 | 
			
		||||
                    const yz = yanzheng();
 | 
			
		||||
                    if (yz) {
 | 
			
		||||
                        const res = await register({
 | 
			
		||||
                            ...toRaw(phone.value),
 | 
			
		||||
                            ...toRaw(userinfo.value),
 | 
			
		||||
                        });
 | 
			
		||||
                        if (res) {
 | 
			
		||||
                            stepnow.value = e;
 | 
			
		||||
                        }
 | 
			
		||||
					}
 | 
			
		||||
 
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@ -332,208 +404,210 @@ export default defineComponent({
 | 
			
		||||
            userinfo,
 | 
			
		||||
            willsay,
 | 
			
		||||
            navto,
 | 
			
		||||
            lan,
 | 
			
		||||
            quhaolist,
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.login ::v-deep(.ant-select-selection) {
 | 
			
		||||
  border: none;
 | 
			
		||||
    border: none;
 | 
			
		||||
}
 | 
			
		||||
.login ::v-deep(.ant-input) {
 | 
			
		||||
  border: none;
 | 
			
		||||
    border: none;
 | 
			
		||||
}
 | 
			
		||||
.ant-input:focus {
 | 
			
		||||
  border: none;
 | 
			
		||||
  border-bottom: 1px solid white !important;
 | 
			
		||||
  box-shadow: none;
 | 
			
		||||
    border: none;
 | 
			
		||||
    border-bottom: 1px solid white !important;
 | 
			
		||||
    box-shadow: none;
 | 
			
		||||
}
 | 
			
		||||
.login ::v-deep(.ant-form-item-label) {
 | 
			
		||||
  line-height: 14px;
 | 
			
		||||
    line-height: 14px;
 | 
			
		||||
}
 | 
			
		||||
.login ::v-deep(.ant-form-item) ::v-deep(label) {
 | 
			
		||||
  color: #0dbba4;
 | 
			
		||||
  font-size: 11px;
 | 
			
		||||
  left: 1px;
 | 
			
		||||
    color: #0dbba4;
 | 
			
		||||
    font-size: 11px;
 | 
			
		||||
    left: 1px;
 | 
			
		||||
}
 | 
			
		||||
.login {
 | 
			
		||||
  min-width: 100%;
 | 
			
		||||
  height: 100vh;
 | 
			
		||||
  background: url("../../static/images/loginbg.png");
 | 
			
		||||
  background-size: 100% 130%;
 | 
			
		||||
  background-repeat: no-repeat;
 | 
			
		||||
  .box {
 | 
			
		||||
    padding-top: 145px;
 | 
			
		||||
    min-width: 100%;
 | 
			
		||||
    height: 100vh;
 | 
			
		||||
    background: url("../../static/images/loginbg.png");
 | 
			
		||||
    background-size: 100% 130%;
 | 
			
		||||
    background-repeat: no-repeat;
 | 
			
		||||
    .box {
 | 
			
		||||
        padding-top: 145px;
 | 
			
		||||
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content: space-around;
 | 
			
		||||
    .left1 {
 | 
			
		||||
      width: 710px !important;
 | 
			
		||||
    }
 | 
			
		||||
    .left {
 | 
			
		||||
      width: 314px;
 | 
			
		||||
      .title {
 | 
			
		||||
        font-size: 17px;
 | 
			
		||||
        font-weight: bold;
 | 
			
		||||
      }
 | 
			
		||||
      .orgname {
 | 
			
		||||
        font-size: 29px;
 | 
			
		||||
        color: #0dbba4;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
      }
 | 
			
		||||
      .nosign {
 | 
			
		||||
        font-size: 12px;
 | 
			
		||||
        color: #666666;
 | 
			
		||||
        margin-top: 17px;
 | 
			
		||||
        margin-bottom: 35px;
 | 
			
		||||
      }
 | 
			
		||||
      .tosign {
 | 
			
		||||
        color: #0dbba4;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
      }
 | 
			
		||||
      .tab {
 | 
			
		||||
        margin-bottom: 30px;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      .form-item {
 | 
			
		||||
        border-bottom: 1px solid #e5e5e5;
 | 
			
		||||
        font-size: 15px;
 | 
			
		||||
        margin-right: 40px;
 | 
			
		||||
      }
 | 
			
		||||
      .line {
 | 
			
		||||
        width: 1px;
 | 
			
		||||
        height: 14px;
 | 
			
		||||
        background: #e5e5e5;
 | 
			
		||||
        margin-top: 10px;
 | 
			
		||||
        position: relative;
 | 
			
		||||
        z-index: 999;
 | 
			
		||||
      }
 | 
			
		||||
      .getcode {
 | 
			
		||||
        font-size: 15px;
 | 
			
		||||
        color: #08ae98;
 | 
			
		||||
        width: 313px;
 | 
			
		||||
        // width: 50%;
 | 
			
		||||
        line-height: 30px;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
      }
 | 
			
		||||
      .orginfo {
 | 
			
		||||
        margin-top: 178px;
 | 
			
		||||
      }
 | 
			
		||||
      .submit {
 | 
			
		||||
        width: 143px;
 | 
			
		||||
        height: 35px;
 | 
			
		||||
        background: linear-gradient(
 | 
			
		||||
          90deg,
 | 
			
		||||
          #00dac2,
 | 
			
		||||
          #42de9e,
 | 
			
		||||
          #88e062,
 | 
			
		||||
          #d0eb3e,
 | 
			
		||||
          #fffa18
 | 
			
		||||
        );
 | 
			
		||||
        border-radius: 18px;
 | 
			
		||||
        font-size: 15px;
 | 
			
		||||
        color: white;
 | 
			
		||||
        font-weight: 800;
 | 
			
		||||
        text-align: center;
 | 
			
		||||
        line-height: 35px;
 | 
			
		||||
        margin-top: 45px;
 | 
			
		||||
      }
 | 
			
		||||
      .agreement {
 | 
			
		||||
        font-size: 12px;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        margin-top: 23px;
 | 
			
		||||
        cursor: default;
 | 
			
		||||
        .ifagree {
 | 
			
		||||
          width: 12px;
 | 
			
		||||
          height: 12px;
 | 
			
		||||
          border-radius: 3px;
 | 
			
		||||
          border: 1px solid #0ebca4;
 | 
			
		||||
          margin: auto 0;
 | 
			
		||||
          margin-right: 7px;
 | 
			
		||||
          .agree {
 | 
			
		||||
            width: 8px;
 | 
			
		||||
            height: 6px;
 | 
			
		||||
            position: relative;
 | 
			
		||||
            top: -4px;
 | 
			
		||||
            left: 2.5px;
 | 
			
		||||
          }
 | 
			
		||||
        justify-content: space-around;
 | 
			
		||||
        .left1 {
 | 
			
		||||
            width: 710px !important;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    .right1 {
 | 
			
		||||
      width: 230px !important;
 | 
			
		||||
    }
 | 
			
		||||
    .right {
 | 
			
		||||
      width: 690px;
 | 
			
		||||
      .steps {
 | 
			
		||||
        padding-top: 112px;
 | 
			
		||||
        .stepline {
 | 
			
		||||
          width: 1px;
 | 
			
		||||
          height: 50px;
 | 
			
		||||
          border: 1px dashed #eeeeee;
 | 
			
		||||
          position: relative;
 | 
			
		||||
          left: 13px;
 | 
			
		||||
        .left {
 | 
			
		||||
            width: 314px;
 | 
			
		||||
            .title {
 | 
			
		||||
                font-size: 17px;
 | 
			
		||||
                font-weight: bold;
 | 
			
		||||
            }
 | 
			
		||||
            .orgname {
 | 
			
		||||
                font-size: 29px;
 | 
			
		||||
                color: #0dbba4;
 | 
			
		||||
                cursor: pointer;
 | 
			
		||||
            }
 | 
			
		||||
            .nosign {
 | 
			
		||||
                font-size: 12px;
 | 
			
		||||
                color: #666666;
 | 
			
		||||
                margin-top: 17px;
 | 
			
		||||
                margin-bottom: 35px;
 | 
			
		||||
            }
 | 
			
		||||
            .tosign {
 | 
			
		||||
                color: #0dbba4;
 | 
			
		||||
                cursor: pointer;
 | 
			
		||||
            }
 | 
			
		||||
            .tab {
 | 
			
		||||
                margin-bottom: 30px;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            .form-item {
 | 
			
		||||
                border-bottom: 1px solid #e5e5e5;
 | 
			
		||||
                font-size: 15px;
 | 
			
		||||
                margin-right: 40px;
 | 
			
		||||
            }
 | 
			
		||||
            .line {
 | 
			
		||||
                width: 1px;
 | 
			
		||||
                height: 14px;
 | 
			
		||||
                background: #e5e5e5;
 | 
			
		||||
                margin-top: 10px;
 | 
			
		||||
                position: relative;
 | 
			
		||||
                z-index: 999;
 | 
			
		||||
            }
 | 
			
		||||
            .getcode {
 | 
			
		||||
                font-size: 15px;
 | 
			
		||||
                color: #08ae98;
 | 
			
		||||
                width: 313px;
 | 
			
		||||
                // width: 50%;
 | 
			
		||||
                line-height: 30px;
 | 
			
		||||
                cursor: pointer;
 | 
			
		||||
            }
 | 
			
		||||
            .orginfo {
 | 
			
		||||
                margin-top: 178px;
 | 
			
		||||
            }
 | 
			
		||||
            .submit {
 | 
			
		||||
                width: 143px;
 | 
			
		||||
                height: 35px;
 | 
			
		||||
                background: linear-gradient(
 | 
			
		||||
                    90deg,
 | 
			
		||||
                    #00dac2,
 | 
			
		||||
                    #42de9e,
 | 
			
		||||
                    #88e062,
 | 
			
		||||
                    #d0eb3e,
 | 
			
		||||
                    #fffa18
 | 
			
		||||
                );
 | 
			
		||||
                border-radius: 18px;
 | 
			
		||||
                font-size: 15px;
 | 
			
		||||
                color: white;
 | 
			
		||||
                font-weight: 800;
 | 
			
		||||
                text-align: center;
 | 
			
		||||
                line-height: 35px;
 | 
			
		||||
                margin-top: 45px;
 | 
			
		||||
            }
 | 
			
		||||
            .agreement {
 | 
			
		||||
                font-size: 12px;
 | 
			
		||||
                display: flex;
 | 
			
		||||
                margin-top: 23px;
 | 
			
		||||
                cursor: default;
 | 
			
		||||
                .ifagree {
 | 
			
		||||
                    width: 12px;
 | 
			
		||||
                    height: 12px;
 | 
			
		||||
                    border-radius: 3px;
 | 
			
		||||
                    border: 1px solid #0ebca4;
 | 
			
		||||
                    margin: auto 0;
 | 
			
		||||
                    margin-right: 7px;
 | 
			
		||||
                    .agree {
 | 
			
		||||
                        width: 8px;
 | 
			
		||||
                        height: 6px;
 | 
			
		||||
                        position: relative;
 | 
			
		||||
                        top: -4px;
 | 
			
		||||
                        left: 2.5px;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .step {
 | 
			
		||||
          display: flex;
 | 
			
		||||
          color: #999999;
 | 
			
		||||
          font-size: 11px;
 | 
			
		||||
          line-height: 28px;
 | 
			
		||||
          font-weight: bold;
 | 
			
		||||
          .back {
 | 
			
		||||
            color: #0dbba4;
 | 
			
		||||
            margin-left: 23px;
 | 
			
		||||
          }
 | 
			
		||||
          .circle {
 | 
			
		||||
            width: 29px;
 | 
			
		||||
            height: 29px;
 | 
			
		||||
            border-radius: 15px;
 | 
			
		||||
            background: #eeeeee;
 | 
			
		||||
            font-size: 12px;
 | 
			
		||||
            color: #999999;
 | 
			
		||||
            text-align: center;
 | 
			
		||||
            line-height: 29px;
 | 
			
		||||
            font-weight: 800;
 | 
			
		||||
            margin-right: 17px;
 | 
			
		||||
          }
 | 
			
		||||
        .right1 {
 | 
			
		||||
            width: 230px !important;
 | 
			
		||||
        }
 | 
			
		||||
        .step1 {
 | 
			
		||||
          background: #08ae98 !important;
 | 
			
		||||
          color: white !important;
 | 
			
		||||
        .right {
 | 
			
		||||
            width: 690px;
 | 
			
		||||
            .steps {
 | 
			
		||||
                padding-top: 112px;
 | 
			
		||||
                .stepline {
 | 
			
		||||
                    width: 1px;
 | 
			
		||||
                    height: 50px;
 | 
			
		||||
                    border: 1px dashed #eeeeee;
 | 
			
		||||
                    position: relative;
 | 
			
		||||
                    left: 13px;
 | 
			
		||||
                }
 | 
			
		||||
                .step {
 | 
			
		||||
                    display: flex;
 | 
			
		||||
                    color: #999999;
 | 
			
		||||
                    font-size: 11px;
 | 
			
		||||
                    line-height: 28px;
 | 
			
		||||
                    font-weight: bold;
 | 
			
		||||
                    .back {
 | 
			
		||||
                        color: #0dbba4;
 | 
			
		||||
                        margin-left: 23px;
 | 
			
		||||
                    }
 | 
			
		||||
                    .circle {
 | 
			
		||||
                        width: 29px;
 | 
			
		||||
                        height: 29px;
 | 
			
		||||
                        border-radius: 15px;
 | 
			
		||||
                        background: #eeeeee;
 | 
			
		||||
                        font-size: 12px;
 | 
			
		||||
                        color: #999999;
 | 
			
		||||
                        text-align: center;
 | 
			
		||||
                        line-height: 29px;
 | 
			
		||||
                        font-weight: 800;
 | 
			
		||||
                        margin-right: 17px;
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
                .step1 {
 | 
			
		||||
                    background: #08ae98 !important;
 | 
			
		||||
                    color: white !important;
 | 
			
		||||
                }
 | 
			
		||||
                .stepnow {
 | 
			
		||||
                    color: #111111;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        .stepnow {
 | 
			
		||||
          color: #111111;
 | 
			
		||||
    }
 | 
			
		||||
    .signform {
 | 
			
		||||
        display: flex;
 | 
			
		||||
        flex-wrap: wrap;
 | 
			
		||||
        .shuru {
 | 
			
		||||
            width: 313px;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .signform {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-wrap: wrap;
 | 
			
		||||
    .shuru {
 | 
			
		||||
      width: 313px;
 | 
			
		||||
    .icons {
 | 
			
		||||
        margin-right: 41px;
 | 
			
		||||
        margin-top: 227px;
 | 
			
		||||
        .icon {
 | 
			
		||||
            width: 28px;
 | 
			
		||||
            height: 28px;
 | 
			
		||||
            margin-right: 18px;
 | 
			
		||||
            float: right;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .icons {
 | 
			
		||||
    margin-right: 41px;
 | 
			
		||||
    margin-top: 227px;
 | 
			
		||||
    .icon {
 | 
			
		||||
      width: 28px;
 | 
			
		||||
      height: 28px;
 | 
			
		||||
      margin-right: 18px;
 | 
			
		||||
      float: right;
 | 
			
		||||
    .success {
 | 
			
		||||
        width: 250px;
 | 
			
		||||
        height: 233px;
 | 
			
		||||
    }
 | 
			
		||||
    .ale {
 | 
			
		||||
        color: #08ae98;
 | 
			
		||||
        font-size: 14px;
 | 
			
		||||
        font-weight: 800;
 | 
			
		||||
        margin-top: 34px;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  .success {
 | 
			
		||||
    width: 250px;
 | 
			
		||||
    height: 233px;
 | 
			
		||||
  }
 | 
			
		||||
  .ale {
 | 
			
		||||
    color: #08ae98;
 | 
			
		||||
    font-size: 14px;
 | 
			
		||||
    font-weight: 800;
 | 
			
		||||
    margin-top: 34px;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
@ -1,9 +1,9 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="aboutus">
 | 
			
		||||
    <div class="tabs">
 | 
			
		||||
        <div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">服务条款</div>
 | 
			
		||||
        <div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">隐私政策</div>
 | 
			
		||||
        <div :class="tabindex == 3 ? 'on' : ''" @click="tabchange(3)">意见反馈</div>
 | 
			
		||||
        <div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">{{lan.$t('fuwutiaokuan')}}</div>
 | 
			
		||||
        <div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">{{lan.$t('yinsizhengce')}}</div>
 | 
			
		||||
        <div :class="tabindex == 3 ? 'on' : ''" @click="tabchange(3)">{{lan.$t('yijianfankui')}}</div>
 | 
			
		||||
      </div>
 | 
			
		||||
    <div class="line"></div>
 | 
			
		||||
    <div class="content" v-if="tabindex==1|| tabindex==2">
 | 
			
		||||
@ -31,13 +31,13 @@
 | 
			
		||||
    <div v-else>
 | 
			
		||||
      
 | 
			
		||||
      <div class="fankui">
 | 
			
		||||
        <div class="label">意见反馈</div>
 | 
			
		||||
        <div class="label">{{lan.$t('yijianfankui')}}</div>
 | 
			
		||||
        <div>
 | 
			
		||||
             <a-textarea v-model:value="value" placeholder="请输入您的意见反馈" :rows="10" />
 | 
			
		||||
             <a-textarea v-model:value="value" :placeholder="lan.$t('shurufankui')" :rows="10" />
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <div class="sub" @click="sub">提交反馈</div>
 | 
			
		||||
      <div class="sub" @click="sub">{{lan.$t('tijiaofankui')}}</div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <NavBottom class="navbottom"></NavBottom>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -48,12 +48,14 @@ import { defineComponent, ref } from "vue";
 | 
			
		||||
import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { feedback } from '@/api';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Aboutus",
 | 
			
		||||
  components: {
 | 
			
		||||
    NavBottom,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const tabindex=ref(1)
 | 
			
		||||
    const value = ref("")
 | 
			
		||||
    console.log(useRoute().query)
 | 
			
		||||
@ -72,7 +74,8 @@ export default defineComponent({
 | 
			
		||||
      tabchange,
 | 
			
		||||
      tabindex,
 | 
			
		||||
      sub,
 | 
			
		||||
      value
 | 
			
		||||
      value,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,11 +3,11 @@
 | 
			
		||||
    
 | 
			
		||||
    <div class="mingxilist">
 | 
			
		||||
      <div class="tabs">
 | 
			
		||||
        <div class="beforetab">新增账户</div>
 | 
			
		||||
        <div class="beforetab">{{lan.$t('xinzengzhanghu')}}</div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="line"></div>
 | 
			
		||||
      <div class="choose">
 | 
			
		||||
        <div class="label">选择账户</div>
 | 
			
		||||
        <div class="label">{{lan.$t('xuanzezhanghu')}}</div>
 | 
			
		||||
        <!-- <a-radio></a-radio> -->
 | 
			
		||||
        <div v-if="ifchina">
 | 
			
		||||
          <a-radio-group
 | 
			
		||||
@ -19,15 +19,15 @@
 | 
			
		||||
          >
 | 
			
		||||
            <a-radio :value="4">
 | 
			
		||||
              <img src="@/static/images/bank.png" alt="" class="icon icon1" />
 | 
			
		||||
              <span>银行卡</span>
 | 
			
		||||
              <span>{{lan.$t('yinhangka')}}</span>
 | 
			
		||||
            </a-radio>
 | 
			
		||||
            <a-radio :value="2">
 | 
			
		||||
              <img src="@/static/images/walletzfb.png" alt="" class="icon" />
 | 
			
		||||
              <span>支付宝</span>
 | 
			
		||||
              <span>{{lan.$t('zhifubao')}}</span>
 | 
			
		||||
            </a-radio>
 | 
			
		||||
            <a-radio :value="1">
 | 
			
		||||
              <img src="@/static/images/walletweixin.png" alt="" class="icon" />
 | 
			
		||||
              <span>微信</span>
 | 
			
		||||
              <span>{{lan.$t('weixin')}}</span>
 | 
			
		||||
            </a-radio>
 | 
			
		||||
          </a-radio-group>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -45,7 +45,7 @@
 | 
			
		||||
                alt=""
 | 
			
		||||
                class="icon icon1"
 | 
			
		||||
              />
 | 
			
		||||
              <span>银行卡</span>
 | 
			
		||||
              <span>{{lan.$t('yinhangka')}}</span>
 | 
			
		||||
            </a-radio>
 | 
			
		||||
            <a-radio :value="2">
 | 
			
		||||
              <img src="@/static/images/paypi.png" alt="" class="icon" />
 | 
			
		||||
@ -58,23 +58,23 @@
 | 
			
		||||
         <a-form >
 | 
			
		||||
          <div>
 | 
			
		||||
            <div class="infoitem">
 | 
			
		||||
              <span class="label label1">姓名</span>
 | 
			
		||||
              <a-input v-model:value="accountinfo.mname" class="shuru" placeholder="请输入姓名" />
 | 
			
		||||
              <span class="label label1">{{lan.$t('xingming')}}</span>
 | 
			
		||||
              <a-input v-model:value="accountinfo.mname" class="shuru" :placeholder="lan.$t('shuruxingming')" />
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="infoitem">
 | 
			
		||||
              <span class="label label1">卡号</span>
 | 
			
		||||
              <span class="label label1">{{lan.$t('kahao')}}</span>
 | 
			
		||||
              <a-input
 | 
			
		||||
                v-model:value="accountinfo.bankcode"
 | 
			
		||||
                class="shuru"
 | 
			
		||||
                placeholder="请输入收款人储蓄卡号"
 | 
			
		||||
                :placeholder="lan.$t('shurukahao')"
 | 
			
		||||
              />
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="infoitem">
 | 
			
		||||
              <span class="label label1">开户行</span>
 | 
			
		||||
              <span class="label label1">{{lan.$t('kaihuhang')}}</span>
 | 
			
		||||
              <a-input
 | 
			
		||||
                v-model:value="accountinfo.bankname"
 | 
			
		||||
                class="shuru shuru2"
 | 
			
		||||
                placeholder="请输入开户行"
 | 
			
		||||
                :placeholder="lan.$t('shurukaihuhang')"
 | 
			
		||||
              />
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
@ -83,22 +83,22 @@
 | 
			
		||||
      <div class="cashoutmoney" v-if="accountinfo.type == 2 && ifchina">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <span class="label label1">帐号</span>
 | 
			
		||||
            <span class="label label1">{{lan.$t('zhanghao')}}</span>
 | 
			
		||||
            <a-input
 | 
			
		||||
              v-model:value="accountinfo.account"
 | 
			
		||||
              class="shuru"
 | 
			
		||||
              placeholder="请输入支付宝账号/密码"
 | 
			
		||||
              :placeholder="lan.$t('shuruzhifubao')"
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="cashoutmoney" v-if="accountinfo.type == 1 && ifchina">
 | 
			
		||||
        <div class="label label1">扫码绑定</div>
 | 
			
		||||
        <div class="label label1">{{lan.$t('saomabangding')}}</div>
 | 
			
		||||
        <div class="ewmbox">
 | 
			
		||||
          <img src="@/static/images/erweima.png" alt="" class="ewmpic" />
 | 
			
		||||
          <div class="desc">注:</div>
 | 
			
		||||
          <div class="desc">{{lan.$t('zhu')}}:</div>
 | 
			
		||||
          <div class="desc desc1">
 | 
			
		||||
            打开手机微信扫描左侧二维码 进行微信账户绑定
 | 
			
		||||
            {{lan.$t('weixinbangding')}}
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
@ -106,23 +106,23 @@
 | 
			
		||||
      <div class="cashoutmoney" v-if="paytypeforign == 1 && !ifchina">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <span class="label label1">账户名</span>
 | 
			
		||||
            <a-input v-model="accountinfo.mname" class="shuru" placeholder="请输入姓名" />
 | 
			
		||||
            <span class="label label1">{{lan.$t('zhanghuming')}}</span>
 | 
			
		||||
            <a-input v-model="accountinfo.mname" class="shuru" :placeholder="lan.$t('shuruxingming')" />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <span class="label label1">银行账户</span>
 | 
			
		||||
            <span class="label label1">{{lan.$t('yinhangzhanghu')}}</span>
 | 
			
		||||
            <a-input
 | 
			
		||||
              v-model="accountinfo.bankcode"
 | 
			
		||||
              class="shuru shuru2"
 | 
			
		||||
              placeholder="请输入收款人储蓄卡号"
 | 
			
		||||
              :placeholder="shurukahao"
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem infoitem1">
 | 
			
		||||
            <div class="label label1 label2"> 银行BIC码 /swift code </div>
 | 
			
		||||
            <div class="label label1 label2"> {{lan.$t(yinhangbic)}} /swift code </div>
 | 
			
		||||
            <a-input
 | 
			
		||||
              v-model="accountinfo.bankname"
 | 
			
		||||
              class="shuru shuru1"
 | 
			
		||||
              placeholder="请输入开户行"
 | 
			
		||||
              :placeholder="lan.$t('shurukaihuhang')"
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -131,16 +131,16 @@
 | 
			
		||||
          <div class="cashoutmoney" v-if="paytypeforign == 2 && !ifchina">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <span class="label label1">帐号</span>
 | 
			
		||||
            <span class="label label1">{{lan.$t('zhanghao')}}</span>
 | 
			
		||||
            <a-input
 | 
			
		||||
             v-model:value="accountinfo.account"
 | 
			
		||||
              class="shuru"
 | 
			
		||||
              placeholder="请输入账号"
 | 
			
		||||
              :placeholder="lan.$t('shuruzhanghao')"
 | 
			
		||||
            />
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="cashoutall submit" @click="sub">提交</div>
 | 
			
		||||
      <div class="cashoutall submit" @click="sub">{{lan.$t('tijiao')}}</div>
 | 
			
		||||
      <NavBottom class="navbottom"></NavBottom>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -151,12 +151,14 @@ import { defineComponent, onMounted, ref, toRaw } from "vue";
 | 
			
		||||
import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { accountadd, editaccount, getaccountinfo } from '@/api';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Cashout",
 | 
			
		||||
  components: {
 | 
			
		||||
    NavBottom,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const money = ref(0);
 | 
			
		||||
    const paytype = ref(4);
 | 
			
		||||
    const paytypeforign = ref(1);
 | 
			
		||||
@ -211,7 +213,8 @@ export default defineComponent({
 | 
			
		||||
      paytypeforign,
 | 
			
		||||
      onChange1,
 | 
			
		||||
      sub,
 | 
			
		||||
      accountinfo
 | 
			
		||||
      accountinfo,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -2,15 +2,15 @@
 | 
			
		||||
    <div class="cashout">
 | 
			
		||||
        <div class="mingxilist">
 | 
			
		||||
            <div class="tabs">
 | 
			
		||||
                <div class="beforetab">提现到指定账户</div>
 | 
			
		||||
                <span class="residue">余额:{{ yue }}</span>
 | 
			
		||||
                <div class="topbtn topbtn2" @click="navto('/mine/addaccount')">提现到指定账户</div>
 | 
			
		||||
                <div class="topbtn topbtn1" @click="navto('/mine/transaction')">提现记录</div>
 | 
			
		||||
                <div class="beforetab">{{lan.$t('tixianzhanghu')}}</div>
 | 
			
		||||
                <span class="residue">{{lan.$t('yue')}}:{{ yue }}</span>
 | 
			
		||||
                <div class="topbtn topbtn2" @click="navto('/mine/addaccount')">{{lan.$t('tixianzhanghu')}}</div>
 | 
			
		||||
                <div class="topbtn topbtn1" @click="navto('/mine/transaction')">{{lan.$t('tixianjilu')}}</div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="line"></div>
 | 
			
		||||
            <div class="choose">
 | 
			
		||||
                <div class="chooseitem">
 | 
			
		||||
                    <div class="label">选择账户</div>
 | 
			
		||||
                    <div class="label">{{lan.$t('xuanzezhanghu')}}</div>
 | 
			
		||||
                    <!-- <a-radio></a-radio> -->
 | 
			
		||||
                    <!-- {{payinfo.type}} -->
 | 
			
		||||
                    <a-radio-group
 | 
			
		||||
@ -32,7 +32,7 @@
 | 
			
		||||
                                                class="icon"
 | 
			
		||||
                                            />
 | 
			
		||||
                                            <span class="accounttype"
 | 
			
		||||
                                                >银行卡</span
 | 
			
		||||
                                                >{{lan.$t('yinhangka')}}</span
 | 
			
		||||
                                            >
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -44,7 +44,7 @@
 | 
			
		||||
                                                class="icon icon1"
 | 
			
		||||
                                            />
 | 
			
		||||
                                            <span class="accounttype"
 | 
			
		||||
                                                >支付宝</span
 | 
			
		||||
                                                >{{lan.$t('zhifubao')}}</span
 | 
			
		||||
                                            >
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
@ -56,12 +56,12 @@
 | 
			
		||||
                                                class="icon icon1"
 | 
			
		||||
                                            />
 | 
			
		||||
                                            <span class="accounttype"
 | 
			
		||||
                                                >微信</span
 | 
			
		||||
                                                >{{lan.$t('weixin')}}</span
 | 
			
		||||
                                            >
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    <div class="zhanghao">
 | 
			
		||||
                                        账号:6217 **** **** **** 175
 | 
			
		||||
                                        {{lan.$t('zhanghao')}}:6217 **** **** **** 175
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </a-radio>
 | 
			
		||||
@ -100,13 +100,13 @@
 | 
			
		||||
                    </a-radio-group>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="cashoutmoney">
 | 
			
		||||
                    <div class="label">提现金额</div>
 | 
			
		||||
                    <div class="label">{{lan.$t('tixianjine')}}</div>
 | 
			
		||||
                    <div class="moneynum">
 | 
			
		||||
                        <a-input v-model:value="payinfo.money" class="shuru" />
 | 
			
		||||
                        <div>¥</div>
 | 
			
		||||
                        <div class="cashoutall" @click="all">全部金额</div>
 | 
			
		||||
                        <div class="cashoutall" @click="all">{{lan.$t('quanbujine')}}</div>
 | 
			
		||||
                        <div class="desc">
 | 
			
		||||
                            注:每笔提现收取0.1%服务费,最低¥0.1
 | 
			
		||||
                            {{lan.$t('tixianzhu')}}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
@ -116,10 +116,10 @@
 | 
			
		||||
                        payinfo.money < 100 || payinfo.money > parseFloat(yue)
 | 
			
		||||
                    "
 | 
			
		||||
                >
 | 
			
		||||
                    *您的余额只有{{ parseFloat(yue) }},最低提现金额¥100
 | 
			
		||||
                    *{{lan.$t('yueshu')}} {{ parseFloat(yue) }},{{lan.$t('zuiditixian')}}
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="cashoutall submit" @click="sub">立即提现</div>
 | 
			
		||||
            <div class="cashoutall submit" @click="sub">{{lan.$t('lijitixian')}}</div>
 | 
			
		||||
            <NavBottom class="navbottom"></NavBottom>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -132,12 +132,14 @@ import { cashout, getwallect } from "@/api";
 | 
			
		||||
import store from "@/store";
 | 
			
		||||
import { message } from "ant-design-vue";
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
    name: "Cashout",
 | 
			
		||||
    components: {
 | 
			
		||||
        NavBottom,
 | 
			
		||||
    },
 | 
			
		||||
    setup() {
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        const money = ref(0);
 | 
			
		||||
        const payinfo = ref<any>({
 | 
			
		||||
            type: 0,
 | 
			
		||||
@ -209,6 +211,7 @@ export default defineComponent({
 | 
			
		||||
            sub,
 | 
			
		||||
            accountlist,
 | 
			
		||||
            store,
 | 
			
		||||
            lan
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -61,15 +61,16 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { defineComponent } from "vue";
 | 
			
		||||
import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Cashoutdetail",
 | 
			
		||||
  components: {
 | 
			
		||||
      NavBottom
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
 
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    return {
 | 
			
		||||
 
 | 
			
		||||
		lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -4,20 +4,20 @@
 | 
			
		||||
    <div class="listitem" @click="navto(1)">
 | 
			
		||||
      <div class="top">
 | 
			
		||||
        <img src="@/static/images/zhibotjicon.png" alt="" class="icon" />
 | 
			
		||||
        <span>直播列表</span>
 | 
			
		||||
        <span>{{lan.$t('zhiboliebiao')}}</span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="mid">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">直播课程</div>
 | 
			
		||||
            <div class="label">{{lan.$t('zhibokecheng')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.liveInfo?statistics.liveInfo.sum:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">参与人数</div>
 | 
			
		||||
            <div class="label">{{lan.$t('canyurenshu')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.liveInfo?statistics.liveInfo.student:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">课程评分</div>
 | 
			
		||||
            <div class="label">{{lan.$t('kechengpingfen')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.liveInfo?statistics.liveInfo.avg:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <img src="@/static/images/zhibotj.png" alt="" class="zhuzi" />
 | 
			
		||||
@ -27,20 +27,20 @@
 | 
			
		||||
    <div class="listitem" @click="navto(2)">
 | 
			
		||||
      <div class="top">
 | 
			
		||||
        <img src="@/static/images/shipintjicon.png" alt="" class="icon" />
 | 
			
		||||
        <span class="label1">视频列表</span>
 | 
			
		||||
        <span class="label1">{{lan.$t('shipinliebiao')}}</span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="mid">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">发布视频</div>
 | 
			
		||||
            <div class="label">{{lan.$t('fabushipin')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.videoInfo?statistics.videoInfo.sum:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">总观看数</div>
 | 
			
		||||
            <div class="label">{{lan.$t('zongguankanshu')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.videoInfo?statistics.videoInfo.sum:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">平均得分</div>
 | 
			
		||||
            <div class="label">{{lan.$t('pingjundefen')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.videoInfo?statistics.videoInfo.sum:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <img src="@/static/images/shipintj.png" alt="" class="zhuzi" />
 | 
			
		||||
@ -50,12 +50,12 @@
 | 
			
		||||
    <div class="listitem" @click="navto(3)">
 | 
			
		||||
      <div class="top">
 | 
			
		||||
        <img src="@/static/images/dingyuetjicon.png" alt="" class="icon" />
 | 
			
		||||
        <span class="label2">订阅列表</span>
 | 
			
		||||
        <span class="label2">{{lan.$t('dingyueliebiao')}}</span>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="mid">
 | 
			
		||||
        <div>
 | 
			
		||||
          <div class="data">
 | 
			
		||||
            <div class="label">订阅人数</div>
 | 
			
		||||
            <div class="label">{{lan.$t('dingyuerenshu')}}</div>
 | 
			
		||||
            <div class="right">{{statistics.studentInfo?statistics.studentInfo.sum:0}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
   
 | 
			
		||||
@ -75,12 +75,14 @@ import { defineComponent, onMounted, ref } from "vue";
 | 
			
		||||
import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { getstatisticlist } from "@/api"
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Liststatistic",
 | 
			
		||||
  components: {
 | 
			
		||||
      NavBottom
 | 
			
		||||
  },
 | 
			
		||||
  setup(){
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const statistics = ref({})
 | 
			
		||||
    onMounted(async ()=>{
 | 
			
		||||
      statistics.value = await getstatisticlist()
 | 
			
		||||
@ -101,7 +103,8 @@ export default defineComponent({
 | 
			
		||||
    // console.log(statistics,111)
 | 
			
		||||
    return {
 | 
			
		||||
      statistics,
 | 
			
		||||
      navto
 | 
			
		||||
      navto,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,15 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="upload-video">
 | 
			
		||||
    <a-form :label-col="labelCol" :wrapper-col="wrapperCol">
 | 
			
		||||
      <div class="title">上传视频</div>
 | 
			
		||||
      <a-form-item label="视频标题">
 | 
			
		||||
      <div class="title">{{lan.$t("shangchuanshipin")}}</div>
 | 
			
		||||
      <a-form-item :label="lan.$t('shipinbiaoti')">
 | 
			
		||||
        <a-input
 | 
			
		||||
          size="small"
 | 
			
		||||
          v-model:value="form.title"
 | 
			
		||||
          placeholder="请输入您的视频标题"
 | 
			
		||||
          :placeholder="lan.$t('shurushipinbiaoti')"
 | 
			
		||||
        />
 | 
			
		||||
      </a-form-item>
 | 
			
		||||
      <a-form-item label="视频封面" class="video-cover">
 | 
			
		||||
      <a-form-item :label="lan.$t('shipinfengmian')" class="video-cover">
 | 
			
		||||
        <a-upload list-type="picture" :customRequest="uploadspic" :before-upload="beforeUpload">
 | 
			
		||||
          <div class="upload-image" v-if="!viewCover && form.img.length == 0">
 | 
			
		||||
            <PlusOutlined
 | 
			
		||||
@ -28,7 +28,7 @@
 | 
			
		||||
          </div>
 | 
			
		||||
        </a-upload>
 | 
			
		||||
      </a-form-item>
 | 
			
		||||
      <a-form-item label="选择视频" class="video-introduction">
 | 
			
		||||
      <a-form-item :label="lan.$t('xuanzeshipin')" class="video-introduction">
 | 
			
		||||
        <div class="upload-container">
 | 
			
		||||
          <a-upload list-type="picture" :customRequest="uploads"  :beforeUpload="beforeVideoUpload">
 | 
			
		||||
            <div class="upload-image">
 | 
			
		||||
@ -79,24 +79,24 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="demand">
 | 
			
		||||
          <p class="one-line-hide">视频要求:</p>
 | 
			
		||||
          <p class="one-line-hide">{{lan.$t('shipinyaoqiu')}}</p>
 | 
			
		||||
          <p class="one-line-hide">
 | 
			
		||||
            1.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…
 | 
			
		||||
            1. {{lan.$t('shipinyaoqiu3')}}
 | 
			
		||||
          </p>
 | 
			
		||||
        </div>
 | 
			
		||||
      </a-form-item>
 | 
			
		||||
      <a-form-item label="视频简介" class="brief">
 | 
			
		||||
      <a-form-item :label="lan.$t('shipinjianjie')" class="brief">
 | 
			
		||||
        <a-textarea
 | 
			
		||||
          v-model:value="form.desc"
 | 
			
		||||
          :autoSize="true"
 | 
			
		||||
          class="brief-textarea"
 | 
			
		||||
          :maxlength="200"
 | 
			
		||||
          placeholder="请输入您的视频简介"
 | 
			
		||||
          :placeholder="lan.$t('shurushipinjianjie')"
 | 
			
		||||
        />
 | 
			
		||||
        <span class="words-number">{{ form.desc.length }}/200</span>
 | 
			
		||||
      </a-form-item>
 | 
			
		||||
      <a-form-item :wrapper-col="{ span: 4, offset: 0 }">
 | 
			
		||||
        <a-button @click="onSubmit">上传视频</a-button>
 | 
			
		||||
        <a-button @click="onSubmit">{{lan.$t('shangchuanshipin')}}</a-button>
 | 
			
		||||
      </a-form-item>
 | 
			
		||||
    </a-form>
 | 
			
		||||
    <nav-bottom></nav-bottom>
 | 
			
		||||
@ -112,6 +112,7 @@ import { uploadflie } from "@/utils/vod";
 | 
			
		||||
import { setvideo, videoadd, videodetail } from "@/api";
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import { message } from 'ant-design-vue';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "ReleaseWebcast",
 | 
			
		||||
@ -121,6 +122,7 @@ export default defineComponent({
 | 
			
		||||
    NavBottom,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    interface FileItem {
 | 
			
		||||
      video: Array<string>;
 | 
			
		||||
    }
 | 
			
		||||
@ -319,7 +321,8 @@ export default defineComponent({
 | 
			
		||||
		removeFile,
 | 
			
		||||
		beforeUpload,
 | 
			
		||||
		ifalowupload,
 | 
			
		||||
		beforeVideoUpload
 | 
			
		||||
    beforeVideoUpload,
 | 
			
		||||
    lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,20 @@
 | 
			
		||||
<template>
 | 
			
		||||
    <div class="webcast">
 | 
			
		||||
        <a-form :label-col="labelCol" :wrapper-col="wrapperCol">
 | 
			
		||||
            <div class="title">直播信息</div>
 | 
			
		||||
            <a-form-item label="直播标题">
 | 
			
		||||
            <div class="title">{{ lan.$t("zhiboxinxi") }}</div>
 | 
			
		||||
            <a-form-item :label="lan.$t('zhibobiaoti')">
 | 
			
		||||
                <a-input
 | 
			
		||||
                    size="small"
 | 
			
		||||
                    v-model:value="form.title"
 | 
			
		||||
                    placeholder="请输入您的直播标题"
 | 
			
		||||
                    :placeholder="lan.$t('shuruzhibobiaoti')"
 | 
			
		||||
                />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="直播封面" class="item-cover">
 | 
			
		||||
                <a-upload list-type="picture" :customRequest="uploadspic"	:before-upload="beforeUploadpic">
 | 
			
		||||
            <a-form-item :label="lan.$t('zhibofengmian')" class="item-cover">
 | 
			
		||||
                <a-upload
 | 
			
		||||
                    list-type="picture"
 | 
			
		||||
                    :customRequest="uploadspic"
 | 
			
		||||
                    :before-upload="beforeUploadpic"
 | 
			
		||||
                >
 | 
			
		||||
                    <div
 | 
			
		||||
                        class="upload-image"
 | 
			
		||||
                        v-if="!viewCover && form.img.length == 0"
 | 
			
		||||
@ -34,8 +38,15 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                </a-upload>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="视频介绍" class="video-introduction">
 | 
			
		||||
                <a-upload list-type="picture" :customRequest="uploads"	:before-upload="beforeUpload">
 | 
			
		||||
            <a-form-item
 | 
			
		||||
                :label="lan.$t('shipinjieshao')"
 | 
			
		||||
                class="video-introduction"
 | 
			
		||||
            >
 | 
			
		||||
                <a-upload
 | 
			
		||||
                    list-type="picture"
 | 
			
		||||
                    :customRequest="uploads"
 | 
			
		||||
                    :before-upload="beforeUpload"
 | 
			
		||||
                >
 | 
			
		||||
                    <div class="upload-image" v-if="form.fileurl.length == 0">
 | 
			
		||||
                        <PlaySquareOutlined
 | 
			
		||||
                            style="fontsize: 22px"
 | 
			
		||||
@ -67,15 +78,23 @@
 | 
			
		||||
                    </div>
 | 
			
		||||
                </a-upload>
 | 
			
		||||
                <div class="demand">
 | 
			
		||||
                    <p class="one-line-hide">
 | 
			
		||||
                        {{ lan.$t("shipinyaoqiu") }}
 | 
			
		||||
                    </p>
 | 
			
		||||
                    <p class="one-line-hide">1.{{ lan.$t("shipinyaoqiu1") }}</p>
 | 
			
		||||
                    <p class="one-line-hide">2.{{ lan.$t("shipinyaoqiu2") }}</p>
 | 
			
		||||
                    <p class="one-line-hide">3.{{ lan.$t("shipinyaoqiu3") }}</p>
 | 
			
		||||
                </div>
 | 
			
		||||
                <!-- <div class="demand">
 | 
			
		||||
                    <p class="one-line-hide">视频要求:</p>
 | 
			
		||||
                    <p class="one-line-hide">1.上传视频时间要求为30s之内</p>
 | 
			
		||||
                    <p class="one-line-hide">2.支持文件大小100M</p>
 | 
			
		||||
                    <p class="one-line-hide">
 | 
			
		||||
                        3.文件扩展名:fiv、mp4…文件扩展名:fiv、mp4…
 | 
			
		||||
                    </p>
 | 
			
		||||
                </div>
 | 
			
		||||
                </div> -->
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="开始时间">
 | 
			
		||||
            <a-form-item :label="lan.$t('kaishishijian')">
 | 
			
		||||
                <!-- <a-input
 | 
			
		||||
          size="small"
 | 
			
		||||
          v-model:value="form.startTime"
 | 
			
		||||
@ -85,42 +104,45 @@
 | 
			
		||||
                    show-time
 | 
			
		||||
                    :value="form.dateline"
 | 
			
		||||
                    @change="startchange"
 | 
			
		||||
                    placeholder="请设置您的开始时间"
 | 
			
		||||
                    :placeholder="lan.$t('shezhikaishishijian')"
 | 
			
		||||
                />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item
 | 
			
		||||
                label="直播时长"
 | 
			
		||||
                :label="lan.$t('zhiboshichang')"
 | 
			
		||||
                class="duration"
 | 
			
		||||
                v-bind="validateInfos.livetime"
 | 
			
		||||
            >
 | 
			
		||||
                <a-input
 | 
			
		||||
                    size="small"
 | 
			
		||||
                    v-model:value="form.livetime"
 | 
			
		||||
                    placeholder="请输入直播时间"
 | 
			
		||||
                    :placeholder="lan.$t('shuruzhiboshijian')"
 | 
			
		||||
                    type="number"
 | 
			
		||||
                />
 | 
			
		||||
                <span class="unit">分钟</span>
 | 
			
		||||
                <span class="unit">{{ lan.$t("fenzhong") }}</span>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="直播人数" v-bind="validateInfos.livenumber">
 | 
			
		||||
            <a-form-item
 | 
			
		||||
                :label="lan.$t('zhiborenshu')"
 | 
			
		||||
                v-bind="validateInfos.livenumber"
 | 
			
		||||
            >
 | 
			
		||||
                <a-input
 | 
			
		||||
                    size="small"
 | 
			
		||||
                    v-model:value="form.livenumber"
 | 
			
		||||
                    placeholder="请输入直播人数"
 | 
			
		||||
                    :placeholder="lan.$t('shuruzhiborenshu')"
 | 
			
		||||
                    type="number"
 | 
			
		||||
                />
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item label="直播简介" class="brief">
 | 
			
		||||
            <a-form-item :label="lan.$t('zhibojianjie')" class="brief">
 | 
			
		||||
                <a-textarea
 | 
			
		||||
                    v-model:value="form.desc"
 | 
			
		||||
                    :autoSize="true"
 | 
			
		||||
                    class="brief-textarea"
 | 
			
		||||
                    :maxlength="200"
 | 
			
		||||
                    placeholder="请输入您的直播简介"
 | 
			
		||||
                    :placeholder="lan.$t('shuruzhibojianjie')"
 | 
			
		||||
                />
 | 
			
		||||
                <span class="words-number">{{ form.desc.length }}/200</span>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
            <a-form-item :wrapper-col="{ span: 4, offset: 0 }">
 | 
			
		||||
                <a-button @click="onSubmit">发布直播</a-button>
 | 
			
		||||
                <a-button @click="onSubmit">{{ lan.$t("fabuzhibo") }}</a-button>
 | 
			
		||||
            </a-form-item>
 | 
			
		||||
        </a-form>
 | 
			
		||||
        <div class="modal-container">
 | 
			
		||||
@ -136,14 +158,16 @@
 | 
			
		||||
                    <img src="@/static/images/delete.png" class="close" />
 | 
			
		||||
                </template>
 | 
			
		||||
                <div class="notice-container report" v-if="lives.status == 1">
 | 
			
		||||
                    <div class="title">您尚未获得直播资格</div>
 | 
			
		||||
                    <div class="title">{{ lan.$t("wuzhibozige") }}</div>
 | 
			
		||||
                    <div class="title sub-title">
 | 
			
		||||
                        {{ lives.data.msg }}
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="confirm-btn" @click="fankui">意见反馈</div>
 | 
			
		||||
                    <div class="confirm-btn" @click="fankui">
 | 
			
		||||
                        {{ lan.$t("yijianfankui") }}
 | 
			
		||||
                    </div>
 | 
			
		||||
                </div>
 | 
			
		||||
                <div class="notice-container" v-else>
 | 
			
		||||
                    <div class="title">您尚未获得直播资格</div>
 | 
			
		||||
                    <div class="title">{{ lan.$t("wuzhibozige") }}</div>
 | 
			
		||||
                    <div class="title sub-title">
 | 
			
		||||
                        <!-- 上一周/月您在平台视频点击量为
 | 
			
		||||
            <span class="red">第24名</span>,要在前
 | 
			
		||||
@ -178,7 +202,8 @@ import { getlivest, liveadd, liveinfo, setlive } from "@/api";
 | 
			
		||||
import { useRoute } from "vue-router";
 | 
			
		||||
import dayjs from "dayjs";
 | 
			
		||||
import { message } from "ant-design-vue";
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import router from "@/router";
 | 
			
		||||
import { useI18n } from "@/utils/i18n";
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
    name: "ReleaseWebcast",
 | 
			
		||||
@ -189,6 +214,7 @@ export default defineComponent({
 | 
			
		||||
        RankList,
 | 
			
		||||
    },
 | 
			
		||||
    setup() {
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        // 表单数据
 | 
			
		||||
        const form = ref({
 | 
			
		||||
            title: "",
 | 
			
		||||
@ -266,8 +292,8 @@ export default defineComponent({
 | 
			
		||||
            viewCover.value = true;
 | 
			
		||||
            // form.cover = fileList;
 | 
			
		||||
        }
 | 
			
		||||
        function fankui(){
 | 
			
		||||
            router.push({path:"/mine/aboutus",query:{selected:3}})
 | 
			
		||||
        function fankui() {
 | 
			
		||||
            router.push({ path: "/mine/aboutus", query: { selected: 3 } });
 | 
			
		||||
        }
 | 
			
		||||
        const { resetFields, validate, validateInfos } = useForm(form, rules);
 | 
			
		||||
 | 
			
		||||
@ -323,24 +349,22 @@ export default defineComponent({
 | 
			
		||||
                        message.error("直播简介不能为空");
 | 
			
		||||
                        return;
 | 
			
		||||
                    } else {
 | 
			
		||||
						if(!lives.value.status){
 | 
			
		||||
							//   subdata.fileid=picinfo.
 | 
			
		||||
							if (id != undefined && id) {
 | 
			
		||||
								/**
 | 
			
		||||
								 * todo 提交会报错  编辑直播
 | 
			
		||||
								 */
 | 
			
		||||
								subdata.id = id;
 | 
			
		||||
								// setlive(subdata)
 | 
			
		||||
							} else {
 | 
			
		||||
								console.log(subdata);
 | 
			
		||||
								console.log(lives.value)
 | 
			
		||||
								// liveadd(subdata);
 | 
			
		||||
							}
 | 
			
		||||
						}else{
 | 
			
		||||
							message.error("您尚未获得直播资格")
 | 
			
		||||
						}
 | 
			
		||||
 | 
			
		||||
                        
 | 
			
		||||
                        if (!lives.value.status) {
 | 
			
		||||
                            //   subdata.fileid=picinfo.
 | 
			
		||||
                            if (id != undefined && id) {
 | 
			
		||||
                                /**
 | 
			
		||||
                                 * todo 提交会报错  编辑直播
 | 
			
		||||
                                 */
 | 
			
		||||
                                subdata.id = id;
 | 
			
		||||
                                setlive(subdata)
 | 
			
		||||
                            } else {
 | 
			
		||||
                                console.log(subdata);
 | 
			
		||||
                                console.log(lives.value);
 | 
			
		||||
                                liveadd(subdata);
 | 
			
		||||
                            }
 | 
			
		||||
                        } else {
 | 
			
		||||
                            message.error("您尚未获得直播资格");
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                })
 | 
			
		||||
                .catch((err: unknown) => {
 | 
			
		||||
@ -394,51 +418,49 @@ export default defineComponent({
 | 
			
		||||
            action: string;
 | 
			
		||||
            data: unknown;
 | 
			
		||||
            file: File;
 | 
			
		||||
		}
 | 
			
		||||
		const ifallowupload=ref<boolean>(false)
 | 
			
		||||
		function beforeUpload(info?: any){
 | 
			
		||||
			console.log(info)
 | 
			
		||||
			if(info.type.split("/")[0]!="video"){
 | 
			
		||||
				ifallowupload.value=false
 | 
			
		||||
				message.error("视频介绍的文件格式错误")
 | 
			
		||||
				return 
 | 
			
		||||
			}else{
 | 
			
		||||
				ifallowupload.value=true
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
        async function uploads(file: AntUpload) {
 | 
			
		||||
			if(ifallowupload.value){
 | 
			
		||||
				console.log(file);
 | 
			
		||||
				videofile.value = file.file;
 | 
			
		||||
				videos.value[0].addEventListener("durationchange", () => {
 | 
			
		||||
					console.log(videos.value[0].duration);
 | 
			
		||||
					form.value.fileduration = videos.value[0].duration;
 | 
			
		||||
				});
 | 
			
		||||
				const res = await uploadflie(file.file, (info: any) => {
 | 
			
		||||
					console.log(info);
 | 
			
		||||
					uploadprogress.value = info.percent.toFixed(2) * 100;
 | 
			
		||||
				});
 | 
			
		||||
				console.log(res);
 | 
			
		||||
 | 
			
		||||
				form.value.fileid = res.fileId;
 | 
			
		||||
				form.value.fileurl = res.video.url;
 | 
			
		||||
			}
 | 
			
		||||
            
 | 
			
		||||
        }
 | 
			
		||||
		const ifallowpic=ref<boolean>(false)
 | 
			
		||||
        async function uploadspic(file: AntUpload) {
 | 
			
		||||
			if(ifallowpic.value){
 | 
			
		||||
				const res = await uploadflie(file.file, (info: any) => {
 | 
			
		||||
					console.log(info);
 | 
			
		||||
					uploadpicprogress.value = info.percent.toFixed(2) * 100;
 | 
			
		||||
				});
 | 
			
		||||
				console.log(res);
 | 
			
		||||
        const ifallowupload = ref<boolean>(false);
 | 
			
		||||
        function beforeUpload(info?: any) {
 | 
			
		||||
            console.log(info);
 | 
			
		||||
            if (info.type.split("/")[0] != "video") {
 | 
			
		||||
                ifallowupload.value = false;
 | 
			
		||||
                message.error("视频介绍的文件格式错误");
 | 
			
		||||
                return;
 | 
			
		||||
            } else {
 | 
			
		||||
                ifallowupload.value = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        async function uploads(file: AntUpload) {
 | 
			
		||||
            if (ifallowupload.value) {
 | 
			
		||||
                console.log(file);
 | 
			
		||||
                videofile.value = file.file;
 | 
			
		||||
                videos.value[0].addEventListener("durationchange", () => {
 | 
			
		||||
                    console.log(videos.value[0].duration);
 | 
			
		||||
                    form.value.fileduration = videos.value[0].duration;
 | 
			
		||||
                });
 | 
			
		||||
                const res = await uploadflie(file.file, (info: any) => {
 | 
			
		||||
                    console.log(info);
 | 
			
		||||
                    uploadprogress.value = info.percent.toFixed(2) * 100;
 | 
			
		||||
                });
 | 
			
		||||
                console.log(res);
 | 
			
		||||
 | 
			
		||||
				//  picinfo.fileId=res.fileId
 | 
			
		||||
				//  picinfo.url=res.video.url
 | 
			
		||||
				form.value.img = res.video.url;
 | 
			
		||||
			}
 | 
			
		||||
            
 | 
			
		||||
                form.value.fileid = res.fileId;
 | 
			
		||||
                form.value.fileurl = res.video.url;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        const ifallowpic = ref<boolean>(false);
 | 
			
		||||
        async function uploadspic(file: AntUpload) {
 | 
			
		||||
            if (ifallowpic.value) {
 | 
			
		||||
                const res = await uploadflie(file.file, (info: any) => {
 | 
			
		||||
                    console.log(info);
 | 
			
		||||
                    uploadpicprogress.value = info.percent.toFixed(2) * 100;
 | 
			
		||||
                });
 | 
			
		||||
                console.log(res);
 | 
			
		||||
 | 
			
		||||
                //  picinfo.fileId=res.fileId
 | 
			
		||||
                //  picinfo.url=res.video.url
 | 
			
		||||
                form.value.img = res.video.url;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        getlivest().then((res) => {
 | 
			
		||||
@ -446,17 +468,17 @@ export default defineComponent({
 | 
			
		||||
                isEntitled.value = true;
 | 
			
		||||
                lives.value = res;
 | 
			
		||||
            }
 | 
			
		||||
		});
 | 
			
		||||
		function beforeUploadpic(info?: any){
 | 
			
		||||
			console.log(info)
 | 
			
		||||
			if(info.type.split("/")[0]!='image'){
 | 
			
		||||
				message.error("封面必须是图片文件")
 | 
			
		||||
				ifallowpic.value=false
 | 
			
		||||
				return
 | 
			
		||||
			}else{
 | 
			
		||||
				ifallowpic.value=true
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
        });
 | 
			
		||||
        function beforeUploadpic(info?: any) {
 | 
			
		||||
            console.log(info);
 | 
			
		||||
            if (info.type.split("/")[0] != "image") {
 | 
			
		||||
                message.error("封面必须是图片文件");
 | 
			
		||||
                ifallowpic.value = false;
 | 
			
		||||
                return;
 | 
			
		||||
            } else {
 | 
			
		||||
                ifallowpic.value = true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return {
 | 
			
		||||
            labelCol: { span: 4 },
 | 
			
		||||
@ -481,12 +503,13 @@ export default defineComponent({
 | 
			
		||||
            startchange,
 | 
			
		||||
            videofile,
 | 
			
		||||
            videos,
 | 
			
		||||
			lives,
 | 
			
		||||
			beforeUploadpic,
 | 
			
		||||
			ifallowpic,
 | 
			
		||||
			beforeUpload,
 | 
			
		||||
            lives,
 | 
			
		||||
            beforeUploadpic,
 | 
			
		||||
            ifallowpic,
 | 
			
		||||
            beforeUpload,
 | 
			
		||||
            ifallowupload,
 | 
			
		||||
            fankui
 | 
			
		||||
            fankui,
 | 
			
		||||
            lan,
 | 
			
		||||
        };
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,19 +3,19 @@
 | 
			
		||||
     
 | 
			
		||||
         <div class="mingxilist">
 | 
			
		||||
     <div class="mingxitop">
 | 
			
		||||
       <div><span class="tabtitle">明细查询</span>
 | 
			
		||||
       <div><span class="tabtitle">{{lan.$t("mingxichaxun")}}</span>
 | 
			
		||||
</div>
 | 
			
		||||
        <a-range-picker @change="onChange" class="choosedate"  :placeholder="['请选择开始日期', '请选择结束日期']"/>
 | 
			
		||||
        <a-range-picker @change="onChange" class="choosedate"  :placeholder="[lan.$t('kaishiriqi'), lan.$t('jieshuriqi')]"/>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div>
 | 
			
		||||
        <table class="table">
 | 
			
		||||
          <thead>
 | 
			
		||||
            <tr class="head">
 | 
			
		||||
              <th>账户</th>
 | 
			
		||||
              <th>提交日期</th>
 | 
			
		||||
              <th>状态</th>
 | 
			
		||||
              <th>金额</th>
 | 
			
		||||
              <th>操作</th>
 | 
			
		||||
              <th>{{lan.$t('zhanghu')}}</th>
 | 
			
		||||
              <th>{{lan.$t('tijiaoriqi')}}</th>
 | 
			
		||||
              <th>{{lan.$t('zhuangtai')}}</th>
 | 
			
		||||
              <th>{{lan.$t('jine')}}</th>
 | 
			
		||||
              <th>{{lan.$t('caozuo')}}</th>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </thead>
 | 
			
		||||
          <tbody>
 | 
			
		||||
@ -28,7 +28,7 @@
 | 
			
		||||
                <span v-else>¥</span>
 | 
			
		||||
                {{i.money}}
 | 
			
		||||
              </td>
 | 
			
		||||
              <td @click="navto(3,i.withdrawalid)">查看详情</td>
 | 
			
		||||
              <td @click="navto(3,i.withdrawalid)">{{lan.$t('chakanxiangqing')}}</td>
 | 
			
		||||
            </tr>
 | 
			
		||||
                
 | 
			
		||||
       
 | 
			
		||||
@ -49,12 +49,14 @@ import { defineComponent, onMounted, ref } from "vue";
 | 
			
		||||
import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { withdrawal } from '@/api';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Transaction",
 | 
			
		||||
  components: {
 | 
			
		||||
      NavBottom
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const withdrawallist =ref<any>({})
 | 
			
		||||
    const dates=ref<Array<string>>(["",""])
 | 
			
		||||
    const page = ref(1);
 | 
			
		||||
@ -105,7 +107,8 @@ export default defineComponent({
 | 
			
		||||
      withdrawallist,
 | 
			
		||||
      onChange,
 | 
			
		||||
      navto,
 | 
			
		||||
      pagechange
 | 
			
		||||
      pagechange,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,37 +3,37 @@
 | 
			
		||||
      
 | 
			
		||||
      <div class="mingxilist" v-if="query.ifwithdrawal!=1">
 | 
			
		||||
        <div class="tabs">
 | 
			
		||||
          <div class="beforetab">交易明细详情</div>
 | 
			
		||||
          <div class="beforetab">{{lan.$t('jiaoyimingxixiangqing')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="detail">
 | 
			
		||||
        <div class="infoitem">
 | 
			
		||||
          <div class="left">金额</div>
 | 
			
		||||
          <div class="left">{{lan.$t('jine')}}</div>
 | 
			
		||||
          <div class="right">{{accountinfo.money}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">类型</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==1">直播收入</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==2">提现</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==3">后台充值</div>
 | 
			
		||||
            <div class="left">{{lan.$t('leixing')}}</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==1">{{lan.$t('zhiboshouru')}}</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==2">{{lan.$t('tixian')}}</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.type==3">{{lan.$t('houtaichongzhi')}}</div>
 | 
			
		||||
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">流水号</div>
 | 
			
		||||
            <div class="left">{{lan.$t('liushuihao')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.sn}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">日期</div>
 | 
			
		||||
            <div class="left">{{lan.$t('riqi')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.created_at}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">来源</div>
 | 
			
		||||
            <div class="left">{{lan.$t('laiyuan')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.remark}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="back" @click="navto(1,2)">返回</div>
 | 
			
		||||
          <div class="back" @click="navto(1,2)">{{lan.$t('fanhui')}}</div>
 | 
			
		||||
         
 | 
			
		||||
        </div>
 | 
			
		||||
      <NavBottom class="navbottom"></NavBottom>
 | 
			
		||||
@ -41,23 +41,23 @@
 | 
			
		||||
   
 | 
			
		||||
      <div class="mingxilist" v-if="query.ifwithdrawal==1">
 | 
			
		||||
        <div class="tabs">
 | 
			
		||||
          <div class="beforetab">提现记录详情</div>
 | 
			
		||||
          <div class="beforetab">{{lan.$t('tixianjiluxiangqing')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="detail">
 | 
			
		||||
        <div class="infoitem">
 | 
			
		||||
          <div class="left">提现金额</div>
 | 
			
		||||
          <div class="left">{{lan.$t('tixianjine')}}</div>
 | 
			
		||||
          <div class="right">{{accountinfo.amount}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="infoitem">
 | 
			
		||||
          <div class="left">到帐金额</div>
 | 
			
		||||
          <div class="left">{{lan.$t('daozhangjine')}}</div>
 | 
			
		||||
          <div class="right">{{accountinfo.money}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="infoitem">
 | 
			
		||||
          <div class="left">手续费</div>
 | 
			
		||||
          <div class="left">{{lan.$t('shouxufei')}}</div>
 | 
			
		||||
          <div class="right">{{accountinfo.sxf}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">提现状态</div>
 | 
			
		||||
            <div class="left">{{lan.$t('tixianzhuangtai')}}</div>
 | 
			
		||||
             <div class="right" >{{accountinfo.statusname}}</div>
 | 
			
		||||
            <!-- <div class="right" v-if="accountinfo.status==1">直播收入</div>
 | 
			
		||||
            <div class="right" v-if="accountinfo.status==2">提现</div>
 | 
			
		||||
@ -65,28 +65,28 @@
 | 
			
		||||
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">原因描述</div>
 | 
			
		||||
            <div class="left">{{lan.$t('yuanyinmiaoshu')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.remark}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">流水号</div>
 | 
			
		||||
            <div class="left">{{lan.$t('liushuihao')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.sn}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">名称</div>
 | 
			
		||||
            <div class="left">{{lan.$t('mingcheng')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.typename}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">日期</div>
 | 
			
		||||
            <div class="left">{{riqi}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.created_at}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="infoitem">
 | 
			
		||||
            <div class="left">收款账户</div>
 | 
			
		||||
            <div class="left">{{lan.$t('shoukuanzhanghu')}}</div>
 | 
			
		||||
            <div class="right">{{accountinfo.account}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
        
 | 
			
		||||
          <div class="back" @click="navto(2)">返回</div>
 | 
			
		||||
          <div class="back" @click="navto(2)">{{lan.$t('fanhui')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
      <NavBottom class="navbottom"></NavBottom>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -99,12 +99,14 @@ import NavBottom from "@/components/NavBottom.vue";
 | 
			
		||||
import { transactioninfo, withdrawlxq } from '@/api';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import router from '@/router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Transactiondetail",
 | 
			
		||||
  components: {
 | 
			
		||||
      NavBottom
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const accountinfo=ref<any>({});
 | 
			
		||||
    const query=ref({})
 | 
			
		||||
    onMounted(async () => {
 | 
			
		||||
@ -143,7 +145,8 @@ export default defineComponent({
 | 
			
		||||
    return {
 | 
			
		||||
      accountinfo,
 | 
			
		||||
      query,
 | 
			
		||||
      navto
 | 
			
		||||
      navto,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,17 +3,17 @@
 | 
			
		||||
    <div class="top">
 | 
			
		||||
      <div class="mywallet">
 | 
			
		||||
        <div class="topinfo">
 | 
			
		||||
          <div class="title">我的钱包</div>
 | 
			
		||||
          <div class="title">{{lan.$t('wodeqianbao')}}</div>
 | 
			
		||||
 | 
			
		||||
          <div class="topbtn" @click="navto(2)">立即提现</div>
 | 
			
		||||
          <div class="topbtn topbtn1" @click="navto(3)">提现记录</div>
 | 
			
		||||
          <div class="topbtn" @click="navto(2)">{{lan.$t('lijitixian')}}</div>
 | 
			
		||||
          <div class="topbtn topbtn1" @click="navto(3)">{{lan.$t('tixianjilu')}}</div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="line"></div>
 | 
			
		||||
        <div class="accounts">
 | 
			
		||||
          <div class="left" @click="listchange(1)">
 | 
			
		||||
            <img src="@/static/images/account.png" alt="" class="pic" />
 | 
			
		||||
            <div class="texts">
 | 
			
		||||
              <div>绑定用户</div>
 | 
			
		||||
              <div>{{lan.$t('bangdingyonghu')}}</div>
 | 
			
		||||
              <div class="num">{{accountlist.length}}</div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
@ -21,7 +21,7 @@
 | 
			
		||||
          <div class="left" @click="listchange(2)">
 | 
			
		||||
            <img src="@/static/images/money.png" alt="" class="pic" />
 | 
			
		||||
            <div class="texts">
 | 
			
		||||
              <div>账户余额</div>
 | 
			
		||||
              <div>{{lan.$t('zhanghuyue')}}</div>
 | 
			
		||||
              <div class="num">
 | 
			
		||||
                <!-- <span class="moneyicon" v-if="ifchina">¥</span>
 | 
			
		||||
                <span class="moneyicon" v-else> $ </span> -->
 | 
			
		||||
@ -43,7 +43,7 @@
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="add" @click="navto(1)">
 | 
			
		||||
        <img src="@/static/images/walletadd.png" alt="" class="icon" />
 | 
			
		||||
        <div>添加新的账户</div>
 | 
			
		||||
        <div>{{lan.$t('tianjiazhanghu')}}</div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@
 | 
			
		||||
        <div class="hostinfo">
 | 
			
		||||
          <div v-if="i.type==4">
 | 
			
		||||
            <img src="@/static/images/bank.png" alt="" class="icon" />
 | 
			
		||||
            <span class="accounttype">银行卡</span>
 | 
			
		||||
            <span class="accounttype">{{lan.$t('yinhangka')}}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
           <div v-if="i.type==2">
 | 
			
		||||
            <img
 | 
			
		||||
@ -60,7 +60,7 @@
 | 
			
		||||
              alt=""
 | 
			
		||||
              class="icon icon1"
 | 
			
		||||
            />
 | 
			
		||||
            <span class="accounttype">支付宝</span>
 | 
			
		||||
            <span class="accounttype">{{lan.$t('zhifubao')}}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
             <div v-if="i.type==1">
 | 
			
		||||
            <img
 | 
			
		||||
@ -68,15 +68,15 @@
 | 
			
		||||
              alt=""
 | 
			
		||||
              class="icon icon1"
 | 
			
		||||
            />
 | 
			
		||||
            <span class="accounttype">微信</span>
 | 
			
		||||
            <span class="accounttype">{{lan.$t('weixin')}}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
          <div class="btns">
 | 
			
		||||
            <div class="btn"  @click="navto(1,i.wallectid)">修改</div>
 | 
			
		||||
            <div class="btn1" @click="del(i.wallectid)">删除</div>
 | 
			
		||||
            <div class="btn"  @click="navto(1,i.wallectid)">{{lan.$t('xiugai')}}</div>
 | 
			
		||||
            <div class="btn1" @click="del(i.wallectid)">{{lan.$t('shanchu')}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="zhanghao" v-if="i.type==4">账号 <span>{{i.bankcode}}</span></div>
 | 
			
		||||
        <div class="zhanghao" v-else>账号 <span>{{i.account}}</span></div>
 | 
			
		||||
         <div class="zhanghao" v-if="i.type==4">{{lan.$t('zhanghao0')}} <span>{{i.bankcode}}</span></div>
 | 
			
		||||
        <div class="zhanghao" v-else>{{lan.$t('zhanghao0')}} <span>{{i.account}}</span></div>
 | 
			
		||||
      </div>
 | 
			
		||||
 | 
			
		||||
      <!-- <div class="accountitem">
 | 
			
		||||
@ -137,7 +137,7 @@
 | 
			
		||||
        <div class="hostinfo">
 | 
			
		||||
          <div v-if="i.type==4">
 | 
			
		||||
            <img src="@/static/images/foreignbank.png" alt="" class="icon" />
 | 
			
		||||
            <span class="accounttype">银行卡</span>
 | 
			
		||||
            <span class="accounttype">{{lan.$t('yinhangka')}}</span>
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div v-else>
 | 
			
		||||
@ -146,40 +146,40 @@
 | 
			
		||||
          </div>
 | 
			
		||||
 | 
			
		||||
          <div class="btns">
 | 
			
		||||
              <div class="btn"  @click="navto(1,i.wallectid)">修改</div>
 | 
			
		||||
            <div class="btn1" @click="del(i.wallectid)">删除</div>
 | 
			
		||||
              <div class="btn"  @click="navto(1,i.wallectid)">{{lan.$t('xiugai')}}</div>
 | 
			
		||||
            <div class="btn1" @click="del(i.wallectid)">{{lan.$t('shanchu')}}</div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
         <div class="zhanghao" v-if="i.type==4">账号 <span>{{i.bankcode}}</span></div>
 | 
			
		||||
        <div class="zhanghao" v-else>账号 <span>{{i.account}}</span></div>
 | 
			
		||||
         <div class="zhanghao" v-if="i.type==4">{{lan.$t('zhanghao')}} <span>{{i.bankcode}}</span></div>
 | 
			
		||||
        <div class="zhanghao" v-else>{{lan.$t('zhanghao')}} <span>{{i.account}}</span></div>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="mingxilist" v-if="ifchina && listindex==2">
 | 
			
		||||
      <div class="mingxitop">
 | 
			
		||||
        <div class="tabs">
 | 
			
		||||
          <span class="tabtitle">明细查询</span>
 | 
			
		||||
          <span class="tabtitle">{{lan.$t('mingxichaxun')}}</span>
 | 
			
		||||
 | 
			
		||||
          <div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
 | 
			
		||||
            全部
 | 
			
		||||
            {{lan.$t('quanbu')}}
 | 
			
		||||
          </div>
 | 
			
		||||
          <div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
 | 
			
		||||
            收入
 | 
			
		||||
            {{lan.$t('shouru')}}
 | 
			
		||||
          </div>
 | 
			
		||||
          <div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
 | 
			
		||||
            支出
 | 
			
		||||
            {{lan.$t('zhichu')}}
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <a-range-picker @change="onChange" class="choosedate"  :placeholder="['请选择开始日期', '请选择结束日期']"/>
 | 
			
		||||
        <a-range-picker @change="onChange" class="choosedate"  :placeholder="[lan.$t('kaishiriqi'),lan.$t('jieshuriqi')]"/>
 | 
			
		||||
      </div>
 | 
			
		||||
 
 | 
			
		||||
      <div>
 | 
			
		||||
        <table class="table">
 | 
			
		||||
          <thead>
 | 
			
		||||
            <tr class="head">
 | 
			
		||||
              <th>日期</th>
 | 
			
		||||
              <th>类型</th>
 | 
			
		||||
              <th>金额</th>
 | 
			
		||||
              <th>操作</th>
 | 
			
		||||
              <th>{{lan.$t('riqi')}}</th>
 | 
			
		||||
              <th>{{lan.$t('leixing')}}</th>
 | 
			
		||||
              <th>{{lan.$t('jine')}}</th>
 | 
			
		||||
              <th>{{lan.$t('caozuo')}}</th>
 | 
			
		||||
            </tr>
 | 
			
		||||
          </thead>
 | 
			
		||||
          <tbody>
 | 
			
		||||
@ -209,12 +209,14 @@ import router from "@/router";
 | 
			
		||||
import store from '@/store';
 | 
			
		||||
import { deleteaccount, getwallect, saleinfo } from "@/api";
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Wallet",
 | 
			
		||||
  components: {
 | 
			
		||||
    NavBottom,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const ifchina = true;
 | 
			
		||||
    const ifmingxi = false;
 | 
			
		||||
    const salelist=ref<any>({})
 | 
			
		||||
@ -304,7 +306,8 @@ export default defineComponent({
 | 
			
		||||
      dates,
 | 
			
		||||
      del,
 | 
			
		||||
      store,
 | 
			
		||||
      pagechange
 | 
			
		||||
      pagechange,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,18 +3,18 @@
 | 
			
		||||
    <div class="nav">
 | 
			
		||||
        <div class="tabs">
 | 
			
		||||
            <div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
 | 
			
		||||
            全部直播
 | 
			
		||||
            {{lan.$t('quanbuzhibo')}}
 | 
			
		||||
            </div>
 | 
			
		||||
            <div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
 | 
			
		||||
            未开始
 | 
			
		||||
            {{lan.$t('weikaishi')}}
 | 
			
		||||
            </div>
 | 
			
		||||
            <div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
 | 
			
		||||
            已结束
 | 
			
		||||
            {{lan.$t('yijieshu')}}
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="sel">
 | 
			
		||||
            <img src="@/static/images/sousuo.png" alt="" class="icon" />
 | 
			
		||||
            <input placeholder="请输入想要搜索的直播标题" type="text" @keyup.enter="sel()" v-model="input" />
 | 
			
		||||
            <input :placeholder="lan.$t('zhibosousuo')" type="text" @keyup.enter="sel()" v-model="input" />
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="list" v-if="tabindex == 1">
 | 
			
		||||
@ -173,11 +173,13 @@ import { defineComponent, onMounted, ref } from "vue";
 | 
			
		||||
import LiveItem from "@/components/LiveItem.vue";
 | 
			
		||||
import { getlivelist } from "@/api";
 | 
			
		||||
import { LivelistInfo } from "@/types";
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  components: {
 | 
			
		||||
    LiveItem,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const page = ref(1);
 | 
			
		||||
    const tabindex = ref(1);
 | 
			
		||||
    const livelist = ref<LivelistInfo>({
 | 
			
		||||
@ -211,7 +213,8 @@ export default defineComponent({
 | 
			
		||||
        tabchange,
 | 
			
		||||
        livelist,
 | 
			
		||||
        input,
 | 
			
		||||
        sel
 | 
			
		||||
        sel,
 | 
			
		||||
        lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
    <div class="liveing">
 | 
			
		||||
      
 | 
			
		||||
        <div class="top">
 | 
			
		||||
        <div class="left">直播页面</div>
 | 
			
		||||
        <div class="left">{{lan.$t('zhiboyemian')}}</div>
 | 
			
		||||
        <div class="right">
 | 
			
		||||
            <img src="@/static/images/liveshare.png" alt="" @click="fenxiang()" />
 | 
			
		||||
            <img src="@/static/images/liveend.png" alt="" @click="visible = true" />
 | 
			
		||||
@ -56,7 +56,7 @@
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
        <a-modal v-model:visible="visible" title="Basic Modal" @ok="guanbi">
 | 
			
		||||
            <p>您确认关闭直播吗</p>
 | 
			
		||||
            <p>{{lan.$t('querenguanbi')}}</p>
 | 
			
		||||
        </a-modal>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
@ -198,6 +198,7 @@ import { getliveinfo, livestop, luzhi, usersig } from '@/api';
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import store from '@/store';
 | 
			
		||||
import { message } from 'ant-design-vue';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
    components: {
 | 
			
		||||
@ -205,6 +206,7 @@ export default defineComponent({
 | 
			
		||||
        LiveingWatcher,
 | 
			
		||||
    },
 | 
			
		||||
    setup() {
 | 
			
		||||
        const lan: any = useI18n();
 | 
			
		||||
        console.log(1);
 | 
			
		||||
        let client: any;
 | 
			
		||||
        let localStream: any;
 | 
			
		||||
@ -402,7 +404,8 @@ export default defineComponent({
 | 
			
		||||
            qiehuan,
 | 
			
		||||
            roominfo,
 | 
			
		||||
            guanbi,
 | 
			
		||||
            visible
 | 
			
		||||
            visible,
 | 
			
		||||
            lan
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -1,10 +1,10 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="subscriber">
 | 
			
		||||
    <div class="top">
 | 
			
		||||
      <div class="title">我的订阅者({{teacherlikedlist.total}})</div>
 | 
			
		||||
      <div class="title">{{lan.$t('dingyuezhe')}}({{teacherlikedlist.total}})</div>
 | 
			
		||||
      <div class="sel">
 | 
			
		||||
        <img src="@/static/images/sousuo.png" alt="" class="icon" />
 | 
			
		||||
           <input type="text" placeholder="请输入想要搜索的学生姓名" v-model="condition.title" @keyup.enter="search(condition)"/>
 | 
			
		||||
           <input type="text" :placeholder="lan.$t('sousuodingyue')" v-model="condition.title" @keyup.enter="search(condition)"/>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="mid">
 | 
			
		||||
@ -15,38 +15,38 @@
 | 
			
		||||
          <div>
 | 
			
		||||
            <div class="info">
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">姓名:</span>
 | 
			
		||||
                <span class="label">{{lan.$t("xingming")}}:</span>
 | 
			
		||||
                <span class="one-line-hide">{{i.name}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">所在国家:</span>
 | 
			
		||||
                <span class="label">{{lan.$t('suozaiguojia')}}:</span>
 | 
			
		||||
                <span class="one-line-hide">{{i.live}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">年龄:</span>
 | 
			
		||||
                <span class="label">{{lan.$t('nianling')}}:</span>
 | 
			
		||||
                <span class="one-line-hide">{{i.age}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
            <div class="info">
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">学生母语:</span>
 | 
			
		||||
                <span class="label">{{lan.$t('xueshengmuyu')}}:</span>
 | 
			
		||||
                <span class="one-line-hide">{{i.mtongue	}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">兴趣点:</span>
 | 
			
		||||
                <span class="label">{{lan.$t('xingqudian')}}:</span>
 | 
			
		||||
                <span class="one-line-hide">{{i.interestStr}}</span>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div class="infoitem">
 | 
			
		||||
                <span class="label">语言等级:</span>
 | 
			
		||||
                <span class="label">{{lan.$t("yuyandengji")}}:</span>
 | 
			
		||||
                <span class="one-line-hide">asd</span>
 | 
			
		||||
              </div>
 | 
			
		||||
 | 
			
		||||
              <div>参加平台直播课程总时长:<span class="time">{{i.longtime}}min</span></div>
 | 
			
		||||
              <div>{{lan.$t('canyupingtaishichang')}}:<span class="time">{{i.longtime}}min</span></div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
        </div>
 | 
			
		||||
@ -166,11 +166,13 @@
 | 
			
		||||
</style>
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
import { getteacherliked } from '@/api';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
import { defineComponent, onMounted, ref, toRaw } from "vue";
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  name: "Subscriber",
 | 
			
		||||
  components: {},
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const page = ref(1);
 | 
			
		||||
    const teacherlikedlist =ref<any>({
 | 
			
		||||
 | 
			
		||||
@ -194,7 +196,8 @@ export default defineComponent({
 | 
			
		||||
      teacherlikedlist,
 | 
			
		||||
      condition,
 | 
			
		||||
      title,
 | 
			
		||||
      search
 | 
			
		||||
      search,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
@ -3,21 +3,21 @@
 | 
			
		||||
    <div class="nav">
 | 
			
		||||
      <div class="tabs">
 | 
			
		||||
        <div :class="tabindex == 4 ? 'on' : ''" @click="tabchange(4)">
 | 
			
		||||
          全部视频
 | 
			
		||||
          {{lan.$t('quanbushipin')}}
 | 
			
		||||
        </div>
 | 
			
		||||
        <div :class="tabindex == 0 ? 'on' : ''" @click="tabchange(0)">
 | 
			
		||||
          审核中
 | 
			
		||||
          {{lan.$t('shenhezhong')}}
 | 
			
		||||
        </div>
 | 
			
		||||
        <div :class="tabindex == 2 ? 'on' : ''" @click="tabchange(2)">
 | 
			
		||||
          未通过
 | 
			
		||||
          {{lan.$t('weitongguo')}}
 | 
			
		||||
        </div>
 | 
			
		||||
        <div :class="tabindex == 1 ? 'on' : ''" @click="tabchange(1)">
 | 
			
		||||
          已发布
 | 
			
		||||
          {{lan.$t('yifabu')}}
 | 
			
		||||
        </div>
 | 
			
		||||
      </div>
 | 
			
		||||
      <div class="sel">
 | 
			
		||||
        <img src="@/static/images/sousuo.png" alt="" class="icon" />
 | 
			
		||||
        <input type="text"  placeholder="请输入想要搜索的直播标题"  @keyup.enter="sel()" v-model="input"/>
 | 
			
		||||
        <input type="text"  :placeholder="lan.$t('shipinsousuo')"  @keyup.enter="sel()" v-model="input"/>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="list" v-if="tabindex == 4">
 | 
			
		||||
@ -195,11 +195,13 @@ import { defineComponent, onMounted, reactive, ref, UnwrapRef } from "vue";
 | 
			
		||||
import VideoItem from "@/components/VideoItem.vue";
 | 
			
		||||
import { getvideolist } from "@/api";
 | 
			
		||||
import { useRoute } from 'vue-router';
 | 
			
		||||
import { useI18n } from '@/utils/i18n';
 | 
			
		||||
export default defineComponent({
 | 
			
		||||
  components: {
 | 
			
		||||
    VideoItem,
 | 
			
		||||
  },
 | 
			
		||||
  setup() {
 | 
			
		||||
    const lan: any = useI18n();
 | 
			
		||||
    const page = ref(1);
 | 
			
		||||
    const tabindex = ref(4);
 | 
			
		||||
    interface VideoList {
 | 
			
		||||
@ -251,7 +253,8 @@ export default defineComponent({
 | 
			
		||||
      videolist,
 | 
			
		||||
      sel,
 | 
			
		||||
      input,
 | 
			
		||||
      pagechange
 | 
			
		||||
      pagechange,
 | 
			
		||||
      lan
 | 
			
		||||
    };
 | 
			
		||||
  },
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user