xbx #13
80
src/components/NavBottom.vue
Normal file
80
src/components/NavBottom.vue
Normal file
@ -0,0 +1,80 @@
|
|||||||
|
<template>
|
||||||
|
<div class="nav-bottom">
|
||||||
|
<div class="nav-container">
|
||||||
|
<div v-for="(item, index) in navArray" :key="index" class="nav-item">{{ item.name }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="copyright">Beelink公司版权所有 2019—2022</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'NavBottom',
|
||||||
|
setup(){
|
||||||
|
interface Nav{
|
||||||
|
name: string;
|
||||||
|
route: string;
|
||||||
|
}
|
||||||
|
const navArray: Array<Nav> = [
|
||||||
|
{
|
||||||
|
name: "直播管理",
|
||||||
|
route: ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "视频管理",
|
||||||
|
route: ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "订阅者管理",
|
||||||
|
route: ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "个人中心",
|
||||||
|
route: ""
|
||||||
|
}
|
||||||
|
]
|
||||||
|
return {
|
||||||
|
navArray
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.nav-bottom {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
.nav-container {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
font-size: 10px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #404040;
|
||||||
|
.nav-item {
|
||||||
|
padding: 0 14px;
|
||||||
|
position: relative;
|
||||||
|
&:not(:last-child)::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
right: 0px;
|
||||||
|
top: 50%;
|
||||||
|
width: 1px;
|
||||||
|
height: 10px;
|
||||||
|
background: #404040;
|
||||||
|
transform: translate(0, -50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.copyright {
|
||||||
|
font-size: 9px;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #808080;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -38,6 +38,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -54,6 +55,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -79,6 +81,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['英语', '法语']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -137,6 +140,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['北京 GMT +08:00']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['北京 GMT +08:00']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -150,6 +154,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['人民币']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['人民币']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -163,6 +168,7 @@
|
|||||||
style="width: 171px"
|
style="width: 171px"
|
||||||
size="small"
|
size="small"
|
||||||
ref="select"
|
ref="select"
|
||||||
|
:getPopupContainer="triggerNode => triggerNode.parentNode"
|
||||||
>
|
>
|
||||||
<a-select-option v-for="(item, index) in ['英语', '中文']" :key="index" :value="item">
|
<a-select-option v-for="(item, index) in ['英语', '中文']" :key="index" :value="item">
|
||||||
{{ item }}
|
{{ item }}
|
||||||
@ -173,12 +179,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="submit-btn" @click="submitInfo">保存信息</div>
|
<div class="submit-btn" @click="submitInfo">保存信息</div>
|
||||||
</div>
|
</div>
|
||||||
|
<nav-bottom></nav-bottom>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { defineComponent, reactive } from "vue";
|
import { defineComponent, reactive } from "vue";
|
||||||
import { UserOutlined, SmileOutlined, PlaySquareOutlined } from '@ant-design/icons-vue';
|
import { UserOutlined, SmileOutlined, PlaySquareOutlined } from '@ant-design/icons-vue';
|
||||||
|
import NavBottom from '@/components/NavBottom.vue';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: "Archives",
|
name: "Archives",
|
||||||
@ -186,6 +194,7 @@ export default defineComponent({
|
|||||||
UserOutlined,
|
UserOutlined,
|
||||||
SmileOutlined,
|
SmileOutlined,
|
||||||
PlaySquareOutlined,
|
PlaySquareOutlined,
|
||||||
|
NavBottom
|
||||||
},
|
},
|
||||||
setup(){
|
setup(){
|
||||||
interface SpeakItem{
|
interface SpeakItem{
|
||||||
@ -216,13 +225,14 @@ export default defineComponent({
|
|||||||
const formData = reactive(formBasic);
|
const formData = reactive(formBasic);
|
||||||
/**
|
/**
|
||||||
* 修改用户名
|
* 修改用户名
|
||||||
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function updateUserName (): void {
|
function updateUserName (): void {
|
||||||
console.log('修改');
|
console.log('修改');
|
||||||
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 添加我还会说语言
|
* 添加我还会说语言
|
||||||
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function addSpeakLang (): void {
|
function addSpeakLang (): void {
|
||||||
formData.speakLang.push({
|
formData.speakLang.push({
|
||||||
@ -232,6 +242,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 修改手机号
|
* 修改手机号
|
||||||
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function updatePhoneNumber (): void {
|
function updatePhoneNumber (): void {
|
||||||
console.log('修改手机号');
|
console.log('修改手机号');
|
||||||
@ -239,6 +250,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 修改密码
|
* 修改密码
|
||||||
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function updateUserPassword(): void {
|
function updateUserPassword(): void {
|
||||||
console.log('修改密码');
|
console.log('修改密码');
|
||||||
@ -246,11 +258,13 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* 提交表单
|
* 提交表单
|
||||||
|
* @return { void }
|
||||||
*/
|
*/
|
||||||
function submitInfo (): void {
|
function submitInfo (): void {
|
||||||
console.log('12');
|
console.log('12');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
formData,
|
formData,
|
||||||
updateUserName,
|
updateUserName,
|
||||||
@ -266,20 +280,26 @@ export default defineComponent({
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.archives {
|
.archives {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
min-width: 700px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
padding: 46px;
|
padding: 46px;
|
||||||
|
border-radius: 17px;
|
||||||
position: relative;
|
position: relative;
|
||||||
.update-btn {
|
.update-btn {
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
color: #08AE98;
|
color: #08AE98;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
.user-info {
|
.user-info {
|
||||||
|
margin-bottom: 42px;
|
||||||
.avatar {
|
.avatar {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
|
margin-bottom: 30px;
|
||||||
.user-name {
|
.user-name {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-end;
|
align-items: flex-end;
|
||||||
@ -322,6 +342,12 @@ export default defineComponent({
|
|||||||
border: 1px solid #DCDFE0;
|
border: 1px solid #DCDFE0;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
.ant-select {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
.select-down {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.speak-lang {
|
.speak-lang {
|
||||||
.speak-array {
|
.speak-array {
|
||||||
@ -403,6 +429,8 @@ export default defineComponent({
|
|||||||
color: #FFFFFF;
|
color: #FFFFFF;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 23px;
|
line-height: 23px;
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
92
src/views/mine/ReleaseWebcast.vue
Normal file
92
src/views/mine/ReleaseWebcast.vue
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<template>
|
||||||
|
<div class="webcast">
|
||||||
|
<a-form :model="form" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
|
<a-form-item label="Activity name">
|
||||||
|
<a-input v-model:value="form.name" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Activity zone">
|
||||||
|
<a-select v-model:value="form.region" placeholder="please select your zone">
|
||||||
|
<a-select-option value="shanghai">
|
||||||
|
Zone one
|
||||||
|
</a-select-option>
|
||||||
|
<a-select-option value="beijing">
|
||||||
|
Zone two
|
||||||
|
</a-select-option>
|
||||||
|
</a-select>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Activity time">
|
||||||
|
<a-date-picker
|
||||||
|
v-model:value="form.date1"
|
||||||
|
show-time
|
||||||
|
type="date"
|
||||||
|
placeholder="Pick a date"
|
||||||
|
style="width: 100%;"
|
||||||
|
/>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Instant delivery">
|
||||||
|
<a-switch v-model:checked="form.delivery" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Activity type">
|
||||||
|
<a-checkbox-group v-model:value="form.type">
|
||||||
|
<a-checkbox value="1" name="type">
|
||||||
|
Online
|
||||||
|
</a-checkbox>
|
||||||
|
<a-checkbox value="2" name="type">
|
||||||
|
Promotion
|
||||||
|
</a-checkbox>
|
||||||
|
<a-checkbox value="3" name="type">
|
||||||
|
Offline
|
||||||
|
</a-checkbox>
|
||||||
|
</a-checkbox-group>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Resources">
|
||||||
|
<a-radio-group v-model:value="form.resource">
|
||||||
|
<a-radio value="1">
|
||||||
|
Sponsor
|
||||||
|
</a-radio>
|
||||||
|
<a-radio value="2">
|
||||||
|
Venue
|
||||||
|
</a-radio>
|
||||||
|
</a-radio-group>
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item label="Activity form">
|
||||||
|
<a-input v-model:value="form.desc" type="textarea" />
|
||||||
|
</a-form-item>
|
||||||
|
<a-form-item :wrapper-col="{ span: 14, offset: 4 }">
|
||||||
|
<a-button type="primary" @click="onSubmit">
|
||||||
|
Create
|
||||||
|
</a-button>
|
||||||
|
<a-button style="margin-left: 10px;">
|
||||||
|
Cancel
|
||||||
|
</a-button>
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { defineComponent } from 'vue';
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'ReleaseWebcast',
|
||||||
|
setup() {
|
||||||
|
function onSubmit(): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
labelCol: { span: 4 },
|
||||||
|
wrapperCol: { span: 14 },
|
||||||
|
form: {
|
||||||
|
name: '',
|
||||||
|
region: undefined,
|
||||||
|
date1: undefined,
|
||||||
|
delivery: false,
|
||||||
|
type: [],
|
||||||
|
resource: '',
|
||||||
|
desc: '',
|
||||||
|
},
|
||||||
|
onSubmit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
</style>
|
Loading…
Reference in New Issue
Block a user