zj #87
@ -42,5 +42,11 @@ div {
|
|||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
input::-webkit-outer-spin-button,
|
||||||
|
input::-webkit-inner-spin-button {
|
||||||
|
-webkit-appearance: none;
|
||||||
|
}
|
||||||
|
input[type="number"]{
|
||||||
|
-moz-appearance: textfield;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -189,6 +189,19 @@ export async function videoadd( form: any,data: any) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑视频
|
||||||
|
*/
|
||||||
|
export async function setvideo(data?: any) {
|
||||||
|
console.log(data,11110)
|
||||||
|
const res=await put<Liveaddrule>('video/'+data.id,data)
|
||||||
|
if(res.code==0){
|
||||||
|
message.success("修改成功")
|
||||||
|
}else{
|
||||||
|
message.error(res.msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 视频详情
|
* 视频详情
|
||||||
*/
|
*/
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="nav">
|
<div class="nav">
|
||||||
<div class="logo" :style="{'background-color': types == 0 ? 'unset' : ''}">
|
<div class="logo" :style="{'background-color': types == 0 ? 'unset' : ''}" @click="toindex">
|
||||||
|
|
||||||
<img src="@/static/images/logo.png" alt="" class="img">
|
<img src="@/static/images/logo.png" alt="" class="img">
|
||||||
<div class="title" :style="{'color': types == 0 ? '#07AD97' : ''}">Beelink</div>
|
<div class="title" :style="{'color': types == 0 ? '#07AD97' : ''}">Beelink</div>
|
||||||
@ -183,12 +183,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { editsystemsetting, getcurrencys, getlanguages, getzonelist } from '@/api';
|
import { editsystemsetting, getcurrencys, getlanguages, getzonelist } from '@/api';
|
||||||
import router from '@/router';
|
import router from '@/router';
|
||||||
import store from '@/store';
|
import store from '@/store';
|
||||||
import { computed, defineComponent, onMounted, ref } from 'vue';
|
import { computed, defineComponent, onMounted, ref } from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
import axios from 'axios'
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
props:{
|
props:{
|
||||||
@ -199,6 +201,9 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
setup(props){
|
setup(props){
|
||||||
// console.log(useRoute().currentRoute.value.name)
|
// console.log(useRoute().currentRoute.value.name)
|
||||||
|
axios.get("//api.map.baidu.com/location/ip?ak=YoG7yXzGNdKSDpAjvl7DpBaESaqzUKhT").then((res)=>{
|
||||||
|
console.log(res,"llllkljsdkoj")
|
||||||
|
})
|
||||||
const routes = useRoute();
|
const routes = useRoute();
|
||||||
console.log(routes.path);
|
console.log(routes.path);
|
||||||
const types = ref(props.type)
|
const types = ref(props.type)
|
||||||
@ -295,6 +300,9 @@ export default defineComponent({
|
|||||||
function setlanguage(e?: any){
|
function setlanguage(e?: any){
|
||||||
editsystemsetting({language:e})
|
editsystemsetting({language:e})
|
||||||
}
|
}
|
||||||
|
function toindex(){
|
||||||
|
router.push("/")
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
nav,
|
nav,
|
||||||
@ -308,7 +316,8 @@ export default defineComponent({
|
|||||||
currencychange,
|
currencychange,
|
||||||
languagelist,
|
languagelist,
|
||||||
setlanguage,
|
setlanguage,
|
||||||
nowroute
|
nowroute,
|
||||||
|
toindex
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
import { defineComponent, ref } from "vue";
|
import { defineComponent, ref } from "vue";
|
||||||
import NavBottom from "@/components/NavBottom.vue";
|
import NavBottom from "@/components/NavBottom.vue";
|
||||||
import { feedback } from '@/api';
|
import { feedback } from '@/api';
|
||||||
|
import { useRoute } from 'vue-router';
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Aboutus",
|
name: "Aboutus",
|
||||||
components: {
|
components: {
|
||||||
@ -55,6 +56,11 @@ export default defineComponent({
|
|||||||
setup() {
|
setup() {
|
||||||
const tabindex=ref(1)
|
const tabindex=ref(1)
|
||||||
const value = ref("")
|
const value = ref("")
|
||||||
|
console.log(useRoute().query)
|
||||||
|
const selected=useRoute().query.selected
|
||||||
|
if(useRoute().query.selected){
|
||||||
|
tabindex.value=Number(selected)
|
||||||
|
}
|
||||||
const tabchange: (e: number) => void = (e: number) => {
|
const tabchange: (e: number) => void = (e: number) => {
|
||||||
console.log(e);
|
console.log(e);
|
||||||
tabindex.value=e
|
tabindex.value=e
|
||||||
|
@ -1,55 +1,72 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="cashout">
|
<div class="cashout">
|
||||||
|
<div class="mingxilist">
|
||||||
<div class="mingxilist">
|
<div class="tabs">
|
||||||
<div class="tabs">
|
<div class="beforetab">提现到指定账户</div>
|
||||||
<div class="beforetab">提现到指定账户</div>
|
<span class="residue">余额:{{ yue }}</span>
|
||||||
<span class="residue">余额:{{yue}}</span>
|
<div class="topbtn topbtn2">提现到指定账户</div>
|
||||||
<div class="topbtn topbtn2">提现到指定账户</div>
|
<div class="topbtn topbtn1">提现记录</div>
|
||||||
<div class="topbtn topbtn1">提现记录</div>
|
</div>
|
||||||
</div>
|
<div class="line"></div>
|
||||||
<div class="line"></div>
|
<div class="choose">
|
||||||
<div class="choose">
|
<div class="chooseitem">
|
||||||
<div class="chooseitem">
|
<div class="label">选择账户</div>
|
||||||
<div class="label">选择账户</div>
|
<!-- <a-radio></a-radio> -->
|
||||||
<!-- <a-radio></a-radio> -->
|
<!-- {{payinfo.type}} -->
|
||||||
<!-- {{payinfo.type}} -->
|
<a-radio-group
|
||||||
<a-radio-group v-model:value="payinfo.type" @change="onChange">
|
v-model:value="payinfo.type"
|
||||||
<div class="accountlist">
|
@change="onChange"
|
||||||
<a-radio v-for="(i,j) in accountlist" :key="j" :value="j">
|
>
|
||||||
<div class="accountitem">
|
<div class="accountlist">
|
||||||
<div class="hostinfo" v-if="i.type==4">
|
<a-radio
|
||||||
<div>
|
v-for="(i, j) in accountlist"
|
||||||
<img src="@/static/images/bank.png" alt="" class="icon" />
|
:key="j"
|
||||||
<span class="accounttype">银行卡</span>
|
:value="j"
|
||||||
</div>
|
>
|
||||||
</div>
|
<div class="accountitem">
|
||||||
<div class="hostinfo" v-if="i.type==2">
|
<div class="hostinfo" v-if="i.type == 4">
|
||||||
<div>
|
<div>
|
||||||
<img
|
<img
|
||||||
src="@/static/images/walletzfb.png"
|
src="@/static/images/bank.png"
|
||||||
alt=""
|
alt=""
|
||||||
class="icon icon1"
|
class="icon"
|
||||||
/>
|
/>
|
||||||
<span class="accounttype">支付宝</span>
|
<span class="accounttype"
|
||||||
</div>
|
>银行卡</span
|
||||||
</div>
|
>
|
||||||
<div class="hostinfo" v-if="i.type==1">
|
</div>
|
||||||
<div>
|
</div>
|
||||||
<img
|
<div class="hostinfo" v-if="i.type == 2">
|
||||||
src="@/static/images/walletweixin.png"
|
<div>
|
||||||
alt=""
|
<img
|
||||||
class="icon icon1"
|
src="@/static/images/walletzfb.png"
|
||||||
/>
|
alt=""
|
||||||
<span class="accounttype">微信</span>
|
class="icon icon1"
|
||||||
</div>
|
/>
|
||||||
</div>
|
<span class="accounttype"
|
||||||
<div class="zhanghao">账号:6217 **** **** **** 175</div>
|
>支付宝</span
|
||||||
</div>
|
>
|
||||||
</a-radio>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="hostinfo" v-if="i.type == 1">
|
||||||
<!-- <a-radio :value="2">
|
<div>
|
||||||
|
<img
|
||||||
|
src="@/static/images/walletweixin.png"
|
||||||
|
alt=""
|
||||||
|
class="icon icon1"
|
||||||
|
/>
|
||||||
|
<span class="accounttype"
|
||||||
|
>微信</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="zhanghao">
|
||||||
|
账号:6217 **** **** **** 175
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-radio>
|
||||||
|
|
||||||
|
<!-- <a-radio :value="2">
|
||||||
<div class="accountitem">
|
<div class="accountitem">
|
||||||
<div class="hostinfo">
|
<div class="hostinfo">
|
||||||
<div>
|
<div>
|
||||||
@ -79,264 +96,290 @@
|
|||||||
<div class="zhanghao">账号:6217 **** **** **** 175</div>
|
<div class="zhanghao">账号:6217 **** **** **** 175</div>
|
||||||
</div>
|
</div>
|
||||||
</a-radio> -->
|
</a-radio> -->
|
||||||
|
</div>
|
||||||
|
</a-radio-group>
|
||||||
|
</div>
|
||||||
|
<div class="cashoutmoney">
|
||||||
|
<div class="label">提现金额</div>
|
||||||
|
<div class="moneynum">
|
||||||
|
<a-input v-model:value="payinfo.money" class="shuru" />
|
||||||
|
<div>¥</div>
|
||||||
|
<div class="cashoutall" @click="all">全部金额</div>
|
||||||
|
<div class="desc">
|
||||||
|
注:每笔提现收取0.1%服务费,最低¥0.1
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="ale"
|
||||||
|
v-if="
|
||||||
|
payinfo.money < 100 || payinfo.money > parseFloat(yue)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
*您的余额只有{{ parseFloat(yue) }},最低提现金额¥100
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-radio-group>
|
<div class="cashoutall submit" @click="sub">立即提现</div>
|
||||||
|
<NavBottom class="navbottom"></NavBottom>
|
||||||
</div>
|
</div>
|
||||||
<div class="cashoutmoney">
|
|
||||||
<div class="label">提现金额</div>
|
|
||||||
<div class="moneynum">
|
|
||||||
<a-input v-model:value="payinfo.money" class="shuru" />
|
|
||||||
<div>¥</div>
|
|
||||||
<div class="cashoutall" @click="all">全部金额</div>
|
|
||||||
<div class="desc">注:每笔提现收取0.1%服务费,最低¥0.1</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="ale" v-if="payinfo.money<100 || payinfo.money>parseFloat(yue)">*您的余额只有{{parseFloat(yue)}},最低提现金额¥100</div>
|
|
||||||
</div>
|
|
||||||
<div class="cashoutall submit" @click="sub">立即提现</div>
|
|
||||||
<NavBottom class="navbottom"></NavBottom>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
import { defineComponent, onMounted, ref, toRaw } from "vue";
|
||||||
import NavBottom from "@/components/NavBottom.vue";
|
import NavBottom from "@/components/NavBottom.vue";
|
||||||
import { cashout, getwallect } from '@/api';
|
import { cashout, getwallect } from "@/api";
|
||||||
import store from '@/store';
|
import store from "@/store";
|
||||||
|
import { message } from "ant-design-vue";
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Cashout",
|
name: "Cashout",
|
||||||
components: {
|
components: {
|
||||||
NavBottom,
|
NavBottom,
|
||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const money = ref(0);
|
const money = ref(0);
|
||||||
const payinfo=ref<any>({
|
const payinfo = ref<any>({
|
||||||
type:0,
|
type: 0,
|
||||||
money:0,
|
money: 0,
|
||||||
account :"",
|
account: "",
|
||||||
mname:"",
|
mname: "",
|
||||||
bankcode:"",
|
bankcode: "",
|
||||||
bankname:"",
|
bankname: "",
|
||||||
international:0,
|
international: 0,
|
||||||
|
});
|
||||||
|
const moneychange: (e: number) => void = (e: number) => {
|
||||||
|
console.log(e);
|
||||||
|
};
|
||||||
|
// const yue=ref<string>(store.state.userinfo.money)
|
||||||
|
const yue = ref<number>(10000);
|
||||||
|
// yue.value=store.state.userinfo.money
|
||||||
|
const accountlist = ref<Array<any>>([]);
|
||||||
|
|
||||||
})
|
onMounted(async () => {
|
||||||
const moneychange: (e: number) => void = (e: number) => {
|
accountlist.value = await getwallect();
|
||||||
console.log(e);
|
console.log(store.state.userinfo);
|
||||||
};
|
});
|
||||||
// const yue=ref<string>(store.state.userinfo.money)
|
function onChange(e: any) {
|
||||||
const yue=ref<number>(10000)
|
console.log(e.target.value);
|
||||||
// yue.value=store.state.userinfo.money
|
payinfo.value.type = e.target.value;
|
||||||
const accountlist =ref<Array<any>>([])
|
// payinfo.value.typeid=toRaw(accountlist.value)[e.target.value].wallectid
|
||||||
|
// payinfo.value.type=toRaw(accountlist.value)[e.target.value].wallectid
|
||||||
|
}
|
||||||
|
function all() {
|
||||||
|
payinfo.value.money = yue.value;
|
||||||
|
}
|
||||||
|
function sub() {
|
||||||
|
console.log(toRaw(payinfo.value));
|
||||||
|
|
||||||
onMounted(async () => {
|
payinfo.value.money = Number(payinfo.value.money);
|
||||||
accountlist.value=await getwallect();
|
console.log(toRaw(payinfo.value));
|
||||||
});
|
if (accountlist.value.length == 0) {
|
||||||
function onChange(e: any) {
|
message.error("您的账户列表为空,请先添加");
|
||||||
console.log(e.target.value);
|
return;
|
||||||
payinfo.value.type=e.target.value
|
} else if (payinfo.value.money < 100) {
|
||||||
// payinfo.value.typeid=toRaw(accountlist.value)[e.target.value].wallectid
|
message.error("最低提现金额为100");
|
||||||
// payinfo.value.type=toRaw(accountlist.value)[e.target.value].wallectid
|
return;
|
||||||
}
|
} else if (payinfo.value.money > yue.value) {
|
||||||
function all(){
|
message.error("余额不足");
|
||||||
payinfo.value.money=yue.value
|
} else {
|
||||||
}
|
cashout(
|
||||||
function sub(){
|
toRaw(payinfo.value),
|
||||||
console.log(toRaw(payinfo.value))
|
toRaw(accountlist.value)[payinfo.value.type]
|
||||||
console.log(toRaw(payinfo.value))
|
);
|
||||||
payinfo.value.money=Number(payinfo.value.money)
|
}
|
||||||
cashout(toRaw(payinfo.value),toRaw(accountlist.value)[payinfo.value.type])
|
|
||||||
|
// cashout(
|
||||||
}
|
// toRaw(payinfo.value),
|
||||||
return {
|
// toRaw(accountlist.value)[payinfo.value.type]
|
||||||
money,
|
// );
|
||||||
moneychange,
|
}
|
||||||
payinfo,
|
return {
|
||||||
onChange,
|
money,
|
||||||
all,
|
moneychange,
|
||||||
yue,
|
payinfo,
|
||||||
sub,
|
onChange,
|
||||||
accountlist,
|
all,
|
||||||
store
|
yue,
|
||||||
};
|
sub,
|
||||||
},
|
accountlist,
|
||||||
|
store,
|
||||||
|
};
|
||||||
|
},
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.cashout ::v-deep(.ant-breadcrumb) > span:last-child {
|
.cashout ::v-deep(.ant-breadcrumb) > span:last-child {
|
||||||
color: #08ae98;
|
color: #08ae98;
|
||||||
}
|
}
|
||||||
.cashout ::v-deep(.ant-radio-wrapper) {
|
.cashout ::v-deep(.ant-radio-wrapper) {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.cashout ::v-deep(.ant-radio) {
|
.cashout ::v-deep(.ant-radio) {
|
||||||
top: 43px;
|
top: 43px;
|
||||||
height:13px
|
height: 13px;
|
||||||
}
|
}
|
||||||
.cashout {
|
.cashout {
|
||||||
.mingxilist {
|
.mingxilist {
|
||||||
width: 1150px;
|
width: 1150px;
|
||||||
// height: 533px;
|
// height: 533px;
|
||||||
background: white;
|
background: white;
|
||||||
border-radius: 18px;
|
border-radius: 18px;
|
||||||
margin-top: 18px;
|
margin-top: 18px;
|
||||||
.tabs {
|
.tabs {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
padding-top: 35px;
|
padding-top: 35px;
|
||||||
padding-left: 40px;
|
padding-left: 40px;
|
||||||
.residue {
|
.residue {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
margin: auto 0;
|
margin: auto 0;
|
||||||
color: #08ae98;
|
color: #08ae98;
|
||||||
position: relative;
|
position: relative;
|
||||||
left: -30px;
|
left: -30px;
|
||||||
}
|
}
|
||||||
.topbtn {
|
.topbtn {
|
||||||
// width: 89px;
|
// width: 89px;
|
||||||
height: 17px;
|
height: 17px;
|
||||||
padding-left: 14px;
|
padding-left: 14px;
|
||||||
padding-right: 14px;
|
padding-right: 14px;
|
||||||
line-height: 17px;
|
line-height: 17px;
|
||||||
border: 1px solid #08ae98;
|
border: 1px solid #08ae98;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
color: #08ae98;
|
color: #08ae98;
|
||||||
font-weight: 500;
|
|
||||||
margin: auto 0;
|
|
||||||
}
|
|
||||||
.topbtn2 {
|
|
||||||
margin-left: 642px;
|
|
||||||
}
|
|
||||||
.topbtn1 {
|
|
||||||
padding-left: 9px;
|
|
||||||
padding-right: 9px;
|
|
||||||
color: #d12c2e;
|
|
||||||
border: 1px solid #d12c2e;
|
|
||||||
margin-left: 11px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.line {
|
|
||||||
width: 1070px;
|
|
||||||
height: 1px;
|
|
||||||
background: #eeeeee;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-top: 11px;
|
|
||||||
}
|
|
||||||
.beforetab {
|
|
||||||
color: #121212;
|
|
||||||
font-size: 13px;
|
|
||||||
line-height: 35px;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-right: 57px;
|
|
||||||
}
|
|
||||||
.choose {
|
|
||||||
margin-top: 28px;
|
|
||||||
margin-left: 40px;
|
|
||||||
|
|
||||||
.label {
|
|
||||||
color: #808080;
|
|
||||||
font-size: 11px;
|
|
||||||
margin-right: 28px;
|
|
||||||
}
|
|
||||||
.chooseitem {
|
|
||||||
display: flex;
|
|
||||||
margin-bottom: 34px;
|
|
||||||
.label{
|
|
||||||
width:150px;
|
|
||||||
}
|
|
||||||
.accountlist {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
.accountitem {
|
|
||||||
// width: 200px;
|
|
||||||
padding-bottom: 16px;
|
|
||||||
padding-right: 20px;
|
|
||||||
border: 1px solid #dcdfe0;
|
|
||||||
background: white;
|
|
||||||
border-radius: 17px;
|
|
||||||
margin-left: 17px;
|
|
||||||
margin-right: 46px;
|
|
||||||
margin-bottom: 17px;
|
|
||||||
.hostinfo {
|
|
||||||
display: flex;
|
|
||||||
padding-top: 17px;
|
|
||||||
.icon {
|
|
||||||
width: 47px;
|
|
||||||
height: 29px;
|
|
||||||
margin-right: 11px;
|
|
||||||
margin-left: 17px;
|
|
||||||
}
|
|
||||||
.icon1 {
|
|
||||||
width: 29px !important;
|
|
||||||
height: 29px !important;
|
|
||||||
}
|
|
||||||
.accounttype {
|
|
||||||
font-size: 13px;
|
|
||||||
color: #111111;
|
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
}
|
margin: auto 0;
|
||||||
}
|
}
|
||||||
.zhanghao {
|
.topbtn2 {
|
||||||
color: #111111;
|
margin-left: 642px;
|
||||||
font-size: 10px;
|
}
|
||||||
margin-top: 38px;
|
.topbtn1 {
|
||||||
margin-left: 17px;
|
padding-left: 9px;
|
||||||
|
padding-right: 9px;
|
||||||
|
color: #d12c2e;
|
||||||
|
border: 1px solid #d12c2e;
|
||||||
|
margin-left: 11px;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
.line {
|
||||||
.cashoutmoney {
|
width: 1070px;
|
||||||
display: flex;
|
height: 1px;
|
||||||
.moneynum {
|
background: #eeeeee;
|
||||||
display: flex;
|
margin: 0 auto;
|
||||||
font-size: 11px;
|
margin-top: 11px;
|
||||||
line-height: 23px;
|
|
||||||
color: #808080;
|
|
||||||
.shuru {
|
|
||||||
width: 171px;
|
|
||||||
height: 23px;
|
|
||||||
margin-right: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.desc{
|
|
||||||
margin-left:17px
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
.beforetab {
|
||||||
}
|
color: #121212;
|
||||||
.cashoutall {
|
font-size: 13px;
|
||||||
|
line-height: 35px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-right: 57px;
|
||||||
|
}
|
||||||
|
.choose {
|
||||||
|
margin-top: 28px;
|
||||||
|
margin-left: 40px;
|
||||||
|
|
||||||
|
.label {
|
||||||
|
color: #808080;
|
||||||
|
font-size: 11px;
|
||||||
|
margin-right: 28px;
|
||||||
|
}
|
||||||
|
.chooseitem {
|
||||||
|
display: flex;
|
||||||
|
margin-bottom: 34px;
|
||||||
|
// .label {
|
||||||
|
// width: 150px;
|
||||||
|
// }
|
||||||
|
.accountlist {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
.accountitem {
|
||||||
|
// width: 200px;
|
||||||
|
padding-bottom: 16px;
|
||||||
|
padding-right: 20px;
|
||||||
|
border: 1px solid #dcdfe0;
|
||||||
|
background: white;
|
||||||
|
border-radius: 17px;
|
||||||
|
margin-left: 17px;
|
||||||
|
margin-right: 46px;
|
||||||
|
margin-bottom: 17px;
|
||||||
|
.hostinfo {
|
||||||
|
display: flex;
|
||||||
|
padding-top: 17px;
|
||||||
|
.icon {
|
||||||
|
width: 47px;
|
||||||
|
height: 29px;
|
||||||
|
margin-right: 11px;
|
||||||
|
margin-left: 17px;
|
||||||
|
}
|
||||||
|
.icon1 {
|
||||||
|
width: 29px !important;
|
||||||
|
height: 29px !important;
|
||||||
|
}
|
||||||
|
.accounttype {
|
||||||
|
font-size: 13px;
|
||||||
|
color: #111111;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.zhanghao {
|
||||||
|
color: #111111;
|
||||||
|
font-size: 10px;
|
||||||
|
margin-top: 38px;
|
||||||
|
margin-left: 17px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.cashoutmoney {
|
||||||
|
display: flex;
|
||||||
|
.moneynum {
|
||||||
|
display: flex;
|
||||||
|
font-size: 11px;
|
||||||
|
line-height: 23px;
|
||||||
|
color: #808080;
|
||||||
|
.shuru {
|
||||||
|
width: 171px;
|
||||||
|
height: 23px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.desc {
|
||||||
|
margin-left: 17px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.cashoutall {
|
||||||
width: 67px;
|
width: 67px;
|
||||||
height: 23px;
|
height: 23px;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
background: #08ae98;
|
background: #08ae98;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
color:white;
|
color: white;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin-left: 23px;
|
margin-left: 23px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
.ale{
|
.ale {
|
||||||
color:#D12C2E;
|
color: #d12c2e;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
position: relative;
|
position: relative;
|
||||||
left: 80px;
|
left: 80px;
|
||||||
top: 11px;
|
top: 11px;
|
||||||
}
|
}
|
||||||
.submit{
|
.submit {
|
||||||
font-size:10px;
|
font-size: 10px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 56px;
|
top: 56px;
|
||||||
left: 20px;
|
left: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbottom {
|
.navbottom {
|
||||||
padding-top: 250px;
|
padding-top: 250px;
|
||||||
padding-bottom: 30px;
|
padding-bottom: 30px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
@ -10,7 +10,7 @@
|
|||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="视频封面" class="video-cover">
|
<a-form-item label="视频封面" class="video-cover">
|
||||||
<a-upload list-type="picture" :customRequest="uploadspic">
|
<a-upload list-type="picture" :customRequest="uploadspic" :before-upload="beforeUpload">
|
||||||
<div class="upload-image" v-if="!viewCover && form.img.length == 0">
|
<div class="upload-image" v-if="!viewCover && form.img.length == 0">
|
||||||
<PlusOutlined
|
<PlusOutlined
|
||||||
style="fontsize: 22px"
|
style="fontsize: 22px"
|
||||||
@ -109,8 +109,9 @@ import NavBottom from "@/components/NavBottom.vue";
|
|||||||
import { previewCover } from "@/utils/common";
|
import { previewCover } from "@/utils/common";
|
||||||
import { FromSend, ImgInfo, VideoInfo } from "@/types";
|
import { FromSend, ImgInfo, VideoInfo } from "@/types";
|
||||||
import { uploadflie } from "@/utils/vod";
|
import { uploadflie } from "@/utils/vod";
|
||||||
import { videoadd, videodetail } from "@/api";
|
import { setvideo, videoadd, videodetail } from "@/api";
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
import { message } from 'ant-design-vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "ReleaseWebcast",
|
name: "ReleaseWebcast",
|
||||||
@ -137,7 +138,7 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
if(useRoute().query.id){
|
if(useRoute().query.id){
|
||||||
console.log(useRoute().query.id)
|
console.log(useRoute().query.id,"knijkdbj")
|
||||||
form.value = await videodetail(useRoute().query.id,1)
|
form.value = await videodetail(useRoute().query.id,1)
|
||||||
console.log(form.value,"fornm")
|
console.log(form.value,"fornm")
|
||||||
}
|
}
|
||||||
@ -189,71 +190,136 @@ export default defineComponent({
|
|||||||
const uploadpicprogress: Ref<number> = ref(0);
|
const uploadpicprogress: Ref<number> = ref(0);
|
||||||
const videofile = ref<File>();
|
const videofile = ref<File>();
|
||||||
const videos = ref<Array<any>>([]);
|
const videos = ref<Array<any>>([]);
|
||||||
|
const ifalowupload=ref<boolean>(false)
|
||||||
interface AntUpload {
|
interface AntUpload {
|
||||||
action: string;
|
action: string;
|
||||||
data: unknown;
|
data: unknown;
|
||||||
file: File;
|
file: File;
|
||||||
}
|
}
|
||||||
async function uploadspic(file: AntUpload) {
|
async function uploadspic(file: AntUpload) {
|
||||||
const res = await uploadflie(file.file, (info: any) => {
|
if(ifalowupload.value){
|
||||||
console.log(info);
|
const res = await uploadflie(file.file, (info: any) => {
|
||||||
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
console.log(info);
|
||||||
});
|
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
||||||
console.log(res);
|
});
|
||||||
form.value.img = res.video.url;
|
console.log(res);
|
||||||
|
form.value.img = res.video.url;
|
||||||
|
}else{
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 上传视频
|
* 上传视频
|
||||||
*/
|
*/
|
||||||
const uploadprogress: Ref<number> = ref(0);
|
const uploadprogress: Ref<number> = ref(0);
|
||||||
|
const ifallowvideo=ref<boolean>(false)
|
||||||
async function uploads(file: AntUpload) {
|
async function uploads(file: AntUpload) {
|
||||||
uploadprogress.value=0
|
if(ifallowvideo.value){
|
||||||
form.value.video=[""]
|
uploadprogress.value=0
|
||||||
console.log(file);
|
form.value.video=[""]
|
||||||
videofile.value = file.file;
|
console.log(file);
|
||||||
videos.value[0].addEventListener("durationchange", () => {
|
videofile.value = file.file;
|
||||||
console.log(videos.value[0].duration);
|
videos.value[0].addEventListener("durationchange", () => {
|
||||||
form.value.fileduration = videos.value[0].duration;
|
console.log(videos.value[0].duration);
|
||||||
});
|
form.value.fileduration = videos.value[0].duration;
|
||||||
const res = await uploadflie(file.file, (info: any) => {
|
});
|
||||||
console.log(info);
|
const res = await uploadflie(file.file, (info: any) => {
|
||||||
uploadprogress.value = info.percent.toFixed(2) * 100;
|
console.log(info);
|
||||||
});
|
uploadprogress.value = info.percent.toFixed(2) * 100;
|
||||||
console.log(res);
|
});
|
||||||
|
console.log(res);
|
||||||
|
|
||||||
form.value.fileid = res.fileId;
|
form.value.fileid = res.fileId;
|
||||||
form.value.fileurl = res.video.url;
|
form.value.fileurl = res.video.url;
|
||||||
form.value.video[0]=res.video.url
|
form.value.video[0]=res.video.url
|
||||||
|
uploadprogress.value=0
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function beforeVideoUpload(info?: any){
|
||||||
|
console.log(info)
|
||||||
|
if(info.type.split("/")[0]!="video"){
|
||||||
|
ifallowvideo.value
|
||||||
|
message.error("文件必须是视频格式")
|
||||||
|
|
||||||
|
}else{
|
||||||
|
ifallowvideo.value=true
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 表单提交
|
* 表单提交
|
||||||
*/
|
*/
|
||||||
|
const routes=useRoute()
|
||||||
const onSubmit = async (e: FromSend) => {
|
const onSubmit = async (e: FromSend) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
console.log(toRaw(form.value), 111);
|
console.log(toRaw(form.value), 111);
|
||||||
videoadd(form, toRaw(form.value));
|
console.log(toRaw(form.value).video[0].length)
|
||||||
|
|
||||||
|
console.log(routes.query,"adsadsa")
|
||||||
|
const subdata=toRaw(form.value)
|
||||||
|
if(subdata.title==""){
|
||||||
|
message.error("标题不能为空")
|
||||||
|
return
|
||||||
|
}else if(subdata.img==""){
|
||||||
|
message.error("封面不能为空")
|
||||||
|
return
|
||||||
|
}else if(subdata.fileurl==""){
|
||||||
|
message.error("视频文件不能为空")
|
||||||
|
}else if(subdata.desc==""){
|
||||||
|
message.error("视频简介不能为空")
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
|
||||||
|
if(routes.query.id){
|
||||||
|
form.value.id=routes.query.id
|
||||||
|
console.log('edi')
|
||||||
|
setvideo(form.value)
|
||||||
|
}else{
|
||||||
|
videoadd(form, toRaw(form.value));
|
||||||
|
}
|
||||||
|
// videoadd(form, toRaw(form.value));
|
||||||
|
}
|
||||||
|
|
||||||
|
// videoadd(form, toRaw(form.value));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function beforeUpload(info?: any){
|
||||||
|
console.log(info.type)
|
||||||
|
if(info.type.split('/')[0]!="image"){
|
||||||
|
message.error("上传文件必须是图片格式")
|
||||||
|
ifalowupload.value=false
|
||||||
|
return
|
||||||
|
}else{
|
||||||
|
ifalowupload.value=true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
labelCol: { span: 4 },
|
labelCol: { span: 4 },
|
||||||
wrapperCol: { span: 14 },
|
wrapperCol: { span: 14 },
|
||||||
form,
|
form,
|
||||||
viewCover,
|
viewCover,
|
||||||
previewImage,
|
previewImage,
|
||||||
previewCover,
|
previewCover,
|
||||||
coverChange,
|
coverChange,
|
||||||
cancelCover,
|
cancelCover,
|
||||||
beforeCoverUpload,
|
beforeCoverUpload,
|
||||||
onSubmit,
|
onSubmit,
|
||||||
uploadpicprogress,
|
uploadpicprogress,
|
||||||
uploadspic,
|
uploadspic,
|
||||||
uploadprogress,
|
uploadprogress,
|
||||||
uploads,
|
uploads,
|
||||||
videofile,
|
videofile,
|
||||||
videos,
|
videos,
|
||||||
removeFile
|
removeFile,
|
||||||
|
beforeUpload,
|
||||||
|
ifalowupload,
|
||||||
|
beforeVideoUpload
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user