修改上传
This commit is contained in:
parent
5fceedfd1d
commit
6dddc2cd7a
@ -289,5 +289,8 @@ export default {
|
||||
chushihuashibai: "Failed to initialize local stream",
|
||||
buzhichifenxiang: "Your browser does not support screen sharing. Please download the new version of chrome",
|
||||
xuanzefenxiangneirong: "Please choose what to share",
|
||||
guanbishibai: "Closing failed"
|
||||
guanbishibai: "Closing failed",
|
||||
fengmianyaoqiu:"Cover requirements:",
|
||||
fengmianyaoqiu1:"File extension: JPG, png",
|
||||
fengmianyaoqiu2:"File size limit: 2m",
|
||||
}
|
@ -94,7 +94,10 @@ export default {
|
||||
shipinyaoqiu:"视频要求:",
|
||||
shipinyaoqiu1:"上传视频时间要求为30s之内",
|
||||
shipinyaoqiu2:"支持文件大小100M",
|
||||
shipinyaoqiu3:"文件扩展名:fiv、mp4…",
|
||||
shipinyaoqiu3:"文件扩展名:fiv、mp4",
|
||||
fengmianyaoqiu:"封面要求:",
|
||||
fengmianyaoqiu1:"文件扩展名:jpg,png",
|
||||
fengmianyaoqiu2:"文件大小限制:2M",
|
||||
ziwojieshao:"自我介绍",
|
||||
lianxifangshi:"联系方式",
|
||||
genghuanshoujihao:"更换手机号",
|
||||
|
@ -804,6 +804,10 @@ export default defineComponent({
|
||||
// }
|
||||
|
||||
for(const i in uesrinfo.willsay){
|
||||
if(uesrinfo.willsay[i].name == '请选择'){
|
||||
console.log(111)
|
||||
break;
|
||||
}
|
||||
for(const j in chiveslist.value[1]){
|
||||
if(uesrinfo.willsay[i].name == chiveslist.value[1][j].name){
|
||||
uesrinfo.willsay[i].name = chiveslist.value[1][j].languageid
|
||||
@ -814,6 +818,10 @@ export default defineComponent({
|
||||
const arr: any = {};
|
||||
for(const i in uesrinfo.willsay){
|
||||
// const a: any = {};
|
||||
if(uesrinfo.willsay[i].name == '请选择'){
|
||||
console.log(111)
|
||||
break;
|
||||
}
|
||||
arr[uesrinfo.willsay[i].name] = uesrinfo.willsay[i].level
|
||||
// arr.push(a);
|
||||
// arr.push({uesrinfo.willsay[i].name})
|
||||
|
@ -1,106 +1,130 @@
|
||||
<template>
|
||||
<div class="upload-video">
|
||||
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<div class="title">{{lan.$t("shangchuanshipin")}}</div>
|
||||
<a-form-item :label="lan.$t('shipinbiaoti')">
|
||||
<a-input
|
||||
size="small"
|
||||
v-model:value="form.title"
|
||||
:placeholder="lan.$t('shurushipinbiaoti')"
|
||||
/>
|
||||
</a-form-item>
|
||||
<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
|
||||
style="fontsize: 22px"
|
||||
v-if="uploadpicprogress == 0"
|
||||
/>
|
||||
<a-progress
|
||||
type="circle"
|
||||
:percent="uploadpicprogress"
|
||||
:width="80"
|
||||
v-else
|
||||
/>
|
||||
</div>
|
||||
<div class="upload-image" v-else>
|
||||
<img style="width: 100%; height: 100%" :src="form.img" />
|
||||
</div>
|
||||
</a-upload>
|
||||
</a-form-item>
|
||||
<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">
|
||||
<PlaySquareOutlined
|
||||
style="fontsize: 22px"
|
||||
v-if="uploadprogress == 0"
|
||||
/>
|
||||
<a-progress
|
||||
type="circle"
|
||||
:percent="uploadprogress"
|
||||
:width="80"
|
||||
v-else
|
||||
/>
|
||||
<video style="display: none" :src="videofile"></video>
|
||||
</div>
|
||||
<div
|
||||
class="upload-image upload"
|
||||
style="position: relative"
|
||||
v-show="false"
|
||||
>
|
||||
<video
|
||||
:src="form.fileurl"
|
||||
:ref="
|
||||
(el) => {
|
||||
videos[0] = el;
|
||||
}
|
||||
"
|
||||
class="upload"
|
||||
></video>
|
||||
<!-- <a-progress type="circle" :percent="100" :width="80" style="position:absolute;right:35%"/> -->
|
||||
</div>
|
||||
</a-upload>
|
||||
<!-- 文件列表 -->
|
||||
<div v-if="form.video[0].length">
|
||||
<div
|
||||
v-for="(item, index) in form.video"
|
||||
:key="index"
|
||||
class="video-list"
|
||||
>
|
||||
<img src="@/static/images/link.png" class="link" />
|
||||
<span class="one-line-hide">{{ item.split('/')[item.split('/').length-1] }}</span>
|
||||
<img
|
||||
src="@/static/images/delete.png"
|
||||
@click="removeFile(0)"
|
||||
class="del"
|
||||
<div class="upload-video">
|
||||
<a-form :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||
<div class="title">{{ lan.$t("shangchuanshipin") }}</div>
|
||||
<a-form-item :label="lan.$t('shipinbiaoti')">
|
||||
<a-input
|
||||
size="small"
|
||||
v-model:value="form.title"
|
||||
:placeholder="lan.$t('shurushipinbiaoti')"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="demand">
|
||||
<p class="one-line-hide">{{lan.$t('shipinyaoqiu')}}</p>
|
||||
<p class="one-line-hide">
|
||||
1. {{lan.$t('shipinyaoqiu3')}}
|
||||
</p>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<a-form-item :label="lan.$t('shipinjianjie')" class="brief">
|
||||
<a-textarea
|
||||
v-model:value="form.desc"
|
||||
:autoSize="true"
|
||||
class="brief-textarea"
|
||||
:maxlength="200"
|
||||
: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">{{lan.$t('shangchuanshipin')}}</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
<nav-bottom></nav-bottom>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<a-form-item :label="lan.$t('shipinfengmian')" class="video-cover">
|
||||
<div style="display: flex">
|
||||
<a-upload
|
||||
list-type="picture"
|
||||
:customRequest="uploadspic"
|
||||
:before-upload="beforeUploadpic"
|
||||
>
|
||||
<div
|
||||
class="upload-image"
|
||||
v-if="!viewCover && form.img.length == 0"
|
||||
>
|
||||
<PlusOutlined
|
||||
style="fontsize: 22px"
|
||||
v-if="uploadpicprogress == 0"
|
||||
/>
|
||||
<a-progress
|
||||
type="circle"
|
||||
:percent="uploadpicprogress"
|
||||
:width="80"
|
||||
v-else
|
||||
/>
|
||||
</div>
|
||||
<div class="upload-image" v-else>
|
||||
<img
|
||||
style="width: 100%; height: 100%"
|
||||
:src="form.img"
|
||||
/>
|
||||
</div>
|
||||
</a-upload>
|
||||
<div class="demand">
|
||||
<p class="one-line-hide">
|
||||
{{ lan.$t("fengmianyaoqiu") }}
|
||||
</p>
|
||||
<p class="one-line-hide">
|
||||
1.{{ lan.$t("fengmianyaoqiu1") }}
|
||||
</p>
|
||||
<p class="one-line-hide">
|
||||
2.{{ lan.$t("fengmianyaoqiu2") }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</a-form-item>
|
||||
<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"
|
||||
v-if="uploadprogress == 0"
|
||||
/>
|
||||
<a-progress
|
||||
type="circle"
|
||||
:percent="uploadprogress"
|
||||
:width="80"
|
||||
v-else
|
||||
/>
|
||||
<!-- <video style="display: none" :src="videofile"></video> -->
|
||||
</div>
|
||||
<div
|
||||
class="upload-image upload"
|
||||
style="position: relative"
|
||||
v-show="form.fileurl.length != 0"
|
||||
>
|
||||
<video
|
||||
:src="form.fileurl"
|
||||
:ref="
|
||||
(el) => {
|
||||
videos[0] = el;
|
||||
}
|
||||
"
|
||||
class="upload1"
|
||||
></video>
|
||||
<!-- <a-progress type="circle" :percent="100" :width="80" style="position:absolute;right:35%"/> -->
|
||||
</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> -->
|
||||
</a-form-item>
|
||||
<a-form-item :label="lan.$t('shipinjianjie')" class="brief">
|
||||
<a-textarea
|
||||
v-model:value="form.desc"
|
||||
:autoSize="true"
|
||||
class="brief-textarea"
|
||||
:maxlength="200"
|
||||
: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">{{
|
||||
lan.$t("shangchuanshipin")
|
||||
}}</a-button>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
<nav-bottom></nav-bottom>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { defineComponent, onMounted, reactive, Ref, ref, toRaw } from "vue";
|
||||
@ -110,314 +134,313 @@ import { previewCover } from "@/utils/common";
|
||||
import { FromSend, ImgInfo, VideoInfo } from "@/types";
|
||||
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';
|
||||
import { useRoute } from "vue-router";
|
||||
import { message } from "ant-design-vue";
|
||||
import { useI18n } from "@/utils/i18n";
|
||||
|
||||
export default defineComponent({
|
||||
name: "ReleaseWebcast",
|
||||
components: {
|
||||
PlaySquareOutlined,
|
||||
PlusOutlined,
|
||||
NavBottom,
|
||||
},
|
||||
setup() {
|
||||
const lan: any = useI18n();
|
||||
interface FileItem {
|
||||
video: Array<string>;
|
||||
}
|
||||
const fileList: Array<FileItem> = [];
|
||||
|
||||
// 表单数据
|
||||
const form = ref<any>({
|
||||
title: "",
|
||||
img: "",
|
||||
fileid: "",
|
||||
fileurl: "",
|
||||
fileduration: "",
|
||||
desc: "",
|
||||
video:[""],
|
||||
});
|
||||
onMounted(async () => {
|
||||
if(useRoute().query.id){
|
||||
console.log(useRoute().query.id,"knijkdbj")
|
||||
form.value = await videodetail(useRoute().query.id,1)
|
||||
console.log(form.value,"fornm")
|
||||
}
|
||||
})
|
||||
|
||||
// 是否显示封面预览 封面的路径
|
||||
const viewCover: Ref<boolean> = ref(false),
|
||||
previewImage: Ref<string> = ref("");
|
||||
/**
|
||||
* 封面改变触发事件
|
||||
*/
|
||||
function coverChange(info: ImgInfo): void {
|
||||
// console.log(info);
|
||||
// 获取预览图片
|
||||
previewCover(info.file).then((url) => (previewImage.value = url));
|
||||
viewCover.value = true;
|
||||
// form.cover = fileList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传封面之前的钩子
|
||||
* @param file 上传的文件
|
||||
*/
|
||||
const beforeCoverUpload = (file: File): boolean => {
|
||||
console.log(file);
|
||||
return false;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* 删除封面
|
||||
*/
|
||||
function cancelCover(file: number): void {
|
||||
console.log(file);
|
||||
}
|
||||
/**
|
||||
* 删除视频列表
|
||||
* @param index 删除文件的索引
|
||||
*/
|
||||
function removeFile(index: number): void {
|
||||
const newFileList = form.value.video.slice();
|
||||
newFileList.splice(index, 1);
|
||||
form.value.video = newFileList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*/
|
||||
const uploadpicprogress: Ref<number> = ref(0);
|
||||
const videofile = ref<File>();
|
||||
const videos = ref<Array<any>>([]);
|
||||
const ifalowupload=ref<boolean>(false)
|
||||
interface AntUpload {
|
||||
action: string;
|
||||
data: unknown;
|
||||
file: File;
|
||||
}
|
||||
async function uploadspic(file: AntUpload) {
|
||||
if(ifalowupload.value){
|
||||
const res = await uploadflie(file.file, (info: any) => {
|
||||
console.log(info);
|
||||
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
||||
});
|
||||
console.log(res);
|
||||
form.value.img = res.video.url;
|
||||
}else{
|
||||
return
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传视频
|
||||
*/
|
||||
const uploadprogress: Ref<number> = ref(0);
|
||||
const ifallowvideo=ref<boolean>(false)
|
||||
async function uploads(file: AntUpload) {
|
||||
if(ifallowvideo.value){
|
||||
uploadprogress.value=0
|
||||
form.value.video=[""]
|
||||
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;
|
||||
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(lan.$t('wenjiangeshi'))
|
||||
|
||||
}else{
|
||||
ifallowvideo.value=true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单提交
|
||||
*/
|
||||
const routes=useRoute()
|
||||
const onSubmit = async (e: FromSend) => {
|
||||
e.preventDefault();
|
||||
console.log(toRaw(form.value), 111);
|
||||
console.log(toRaw(form.value).video[0].length)
|
||||
|
||||
console.log(routes.query,"adsadsa")
|
||||
const subdata=toRaw(form.value)
|
||||
if(subdata.title==""){
|
||||
message.error(lan.$t('biaotiweikong'))
|
||||
return
|
||||
}else if(subdata.img==""){
|
||||
message.error(lan.$t('fengmianweikong'))
|
||||
return
|
||||
}else if(subdata.fileurl==""){
|
||||
message.error(lan.$t('wenjianweikong'))
|
||||
}else if(subdata.desc==""){
|
||||
message.error(lan.$t('jianjieweikong'))
|
||||
}
|
||||
else{
|
||||
|
||||
if(routes.query.id){
|
||||
form.value.id=routes.query.id
|
||||
console.log('edi')
|
||||
setvideo(form.value)
|
||||
}else{
|
||||
videoadd(form, toRaw(form.value));
|
||||
name: "ReleaseWebcast",
|
||||
components: {
|
||||
PlaySquareOutlined,
|
||||
PlusOutlined,
|
||||
NavBottom,
|
||||
},
|
||||
setup() {
|
||||
const lan: any = useI18n();
|
||||
interface FileItem {
|
||||
video: Array<string>;
|
||||
}
|
||||
// videoadd(form, toRaw(form.value));
|
||||
}
|
||||
const fileList: Array<FileItem> = [];
|
||||
|
||||
// videoadd(form, toRaw(form.value));
|
||||
};
|
||||
// 表单数据
|
||||
const form = ref<any>({
|
||||
title: "",
|
||||
img: "",
|
||||
fileid: "",
|
||||
fileurl: "",
|
||||
fileduration: "",
|
||||
desc: "",
|
||||
video: [""],
|
||||
});
|
||||
onMounted(async () => {
|
||||
if (useRoute().query.id) {
|
||||
console.log(useRoute().query.id, "knijkdbj");
|
||||
form.value = await videodetail(useRoute().query.id, 1);
|
||||
console.log(form.value, "fornm");
|
||||
}
|
||||
});
|
||||
|
||||
function beforeUpload(info?: any){
|
||||
console.log(info.type)
|
||||
if(info.type.split('/')[0]!="image"){
|
||||
message.error(lan.$t('fengmiangeshi'))
|
||||
ifalowupload.value=false
|
||||
return
|
||||
}else{
|
||||
ifalowupload.value=true
|
||||
}
|
||||
}
|
||||
// 是否显示封面预览 封面的路径
|
||||
const viewCover: Ref<boolean> = ref(false),
|
||||
previewImage: Ref<string> = ref("");
|
||||
/**
|
||||
* 封面改变触发事件
|
||||
*/
|
||||
function coverChange(info: ImgInfo): void {
|
||||
// console.log(info);
|
||||
// 获取预览图片
|
||||
previewCover(info.file).then((url) => (previewImage.value = url));
|
||||
viewCover.value = true;
|
||||
// form.cover = fileList;
|
||||
}
|
||||
|
||||
return {
|
||||
labelCol: { span: 4 },
|
||||
wrapperCol: { span: 14 },
|
||||
form,
|
||||
viewCover,
|
||||
previewImage,
|
||||
previewCover,
|
||||
coverChange,
|
||||
cancelCover,
|
||||
beforeCoverUpload,
|
||||
onSubmit,
|
||||
uploadpicprogress,
|
||||
uploadspic,
|
||||
uploadprogress,
|
||||
uploads,
|
||||
videofile,
|
||||
videos,
|
||||
removeFile,
|
||||
beforeUpload,
|
||||
ifalowupload,
|
||||
beforeVideoUpload,
|
||||
lan
|
||||
};
|
||||
},
|
||||
/**
|
||||
* 上传封面之前的钩子
|
||||
* @param file 上传的文件
|
||||
*/
|
||||
const beforeCoverUpload = (file: File): boolean => {
|
||||
console.log(file);
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* 删除封面
|
||||
*/
|
||||
function cancelCover(file: number): void {
|
||||
console.log(file);
|
||||
}
|
||||
/**
|
||||
* 删除视频列表
|
||||
* @param index 删除文件的索引
|
||||
*/
|
||||
function removeFile(index: number): void {
|
||||
const newFileList = form.value.video.slice();
|
||||
newFileList.splice(index, 1);
|
||||
form.value.video = newFileList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传图片
|
||||
*/
|
||||
const uploadpicprogress: Ref<number> = ref(0);
|
||||
const videofile = ref<File>();
|
||||
const videos = ref<Array<any>>([]);
|
||||
const ifalowupload = ref<boolean>(false);
|
||||
interface AntUpload {
|
||||
action: string;
|
||||
data: unknown;
|
||||
file: File;
|
||||
}
|
||||
async function uploadspic(file: AntUpload) {
|
||||
if (ifalowupload.value) {
|
||||
const res = await uploadflie(file.file, (info: any) => {
|
||||
console.log(info);
|
||||
uploadpicprogress.value = info.percent.toFixed(2) * 100;
|
||||
});
|
||||
console.log(res);
|
||||
form.value.img = res.video.url;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
function beforeUploadpic(info?: any) {
|
||||
console.log(info);
|
||||
if (info.type.split("/")[0] != "image") {
|
||||
message.error(lan.$t("fengmiangeshi"));
|
||||
ifalowupload.value = false;
|
||||
return;
|
||||
} else {
|
||||
ifalowupload.value = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 上传视频
|
||||
*/
|
||||
const uploadprogress: Ref<number> = ref(0);
|
||||
const ifallowvideo = ref<boolean>(false);
|
||||
async function uploads(file: AntUpload) {
|
||||
if (ifallowvideo.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;
|
||||
}
|
||||
}
|
||||
|
||||
function beforeVideoUpload(info?: any) {
|
||||
console.log(info);
|
||||
if (info.type.split("/")[0] != "video") {
|
||||
ifallowvideo.value;
|
||||
message.error(lan.$t("wenjiangeshi"));
|
||||
} else {
|
||||
ifallowvideo.value = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 表单提交
|
||||
*/
|
||||
const routes = useRoute();
|
||||
const onSubmit = async (e: FromSend) => {
|
||||
e.preventDefault();
|
||||
console.log(toRaw(form.value), 111);
|
||||
console.log(toRaw(form.value).video[0].length);
|
||||
|
||||
console.log(routes.query, "adsadsa");
|
||||
const subdata = toRaw(form.value);
|
||||
if (subdata.title == "") {
|
||||
message.error(lan.$t("biaotiweikong"));
|
||||
return;
|
||||
} else if (subdata.img == "") {
|
||||
message.error(lan.$t("fengmianweikong"));
|
||||
return;
|
||||
} else if (subdata.fileurl == "") {
|
||||
message.error(lan.$t("wenjianweikong"));
|
||||
} else if (subdata.desc == "") {
|
||||
message.error(lan.$t("jianjieweikong"));
|
||||
} 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);
|
||||
if (info.type.split("/")[0] != "video") {
|
||||
ifallowvideo.value = false;
|
||||
message.error(lan.$t("shipinjieshaoccuowu"));
|
||||
return;
|
||||
} else {
|
||||
ifallowvideo.value = true;
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
labelCol: { span: 4 },
|
||||
wrapperCol: { span: 14 },
|
||||
form,
|
||||
viewCover,
|
||||
previewImage,
|
||||
previewCover,
|
||||
coverChange,
|
||||
cancelCover,
|
||||
beforeCoverUpload,
|
||||
onSubmit,
|
||||
uploadpicprogress,
|
||||
uploadspic,
|
||||
uploadprogress,
|
||||
uploads,
|
||||
videofile,
|
||||
videos,
|
||||
removeFile,
|
||||
beforeUpload,
|
||||
ifalowupload,
|
||||
beforeVideoUpload,
|
||||
lan,
|
||||
beforeUploadpic
|
||||
};
|
||||
},
|
||||
});
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.upload {
|
||||
.upload1{
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
display:none
|
||||
}
|
||||
.upload {
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
display: none;
|
||||
}
|
||||
.upload-video {
|
||||
width: 100%;
|
||||
min-width: 700px;
|
||||
background-color: #ffffff;
|
||||
padding: 46px;
|
||||
border-radius: 17px;
|
||||
position: relative;
|
||||
::v-deep(.ant-form) {
|
||||
.title {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
color: #111111;
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
.ant-row {
|
||||
.ant-form-item-label {
|
||||
width: 60px;
|
||||
margin: 0 30px 0 17px;
|
||||
> label {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
&::after {
|
||||
content: "";
|
||||
}
|
||||
width: 100%;
|
||||
min-width: 700px;
|
||||
background-color: #ffffff;
|
||||
padding: 46px;
|
||||
border-radius: 17px;
|
||||
position: relative;
|
||||
::v-deep(.ant-form) {
|
||||
.title {
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
color: #111111;
|
||||
margin-bottom: 28px;
|
||||
}
|
||||
}
|
||||
.upload-image {
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
border: 1px solid #dcdfe0;
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 17px;
|
||||
}
|
||||
.ant-input {
|
||||
width: 171px;
|
||||
padding: 6px 11px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #dcdfe0;
|
||||
font-size: 11px;
|
||||
color: #3f3f3f;
|
||||
&::-webkit-input-placeholder {
|
||||
font-size: 12px;
|
||||
color: #808080;
|
||||
.ant-row {
|
||||
.ant-form-item-label {
|
||||
width: 60px;
|
||||
margin: 0 30px 0 17px;
|
||||
> label {
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
&::after {
|
||||
content: "";
|
||||
}
|
||||
}
|
||||
}
|
||||
.upload-image {
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
border: 1px solid #dcdfe0;
|
||||
border-radius: 3px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 17px;
|
||||
}
|
||||
.ant-input {
|
||||
width: 171px;
|
||||
padding: 6px 11px;
|
||||
border-radius: 3px;
|
||||
border: 1px solid #dcdfe0;
|
||||
font-size: 11px;
|
||||
color: #3f3f3f;
|
||||
&::-webkit-input-placeholder {
|
||||
font-size: 12px;
|
||||
color: #808080;
|
||||
}
|
||||
}
|
||||
.ant-select {
|
||||
font-size: 12px;
|
||||
color: #3f3f3f;
|
||||
}
|
||||
.ant-select-dropdown {
|
||||
font-size: 12px;
|
||||
}
|
||||
.ant-upload-list {
|
||||
display: none;
|
||||
}
|
||||
.ant-btn {
|
||||
padding: 0;
|
||||
width: 63px;
|
||||
height: 23px;
|
||||
background: #ccc;
|
||||
border-radius: 3px;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
background: #08ae98;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.ant-select {
|
||||
font-size: 12px;
|
||||
color: #3f3f3f;
|
||||
}
|
||||
.ant-select-dropdown {
|
||||
font-size: 12px;
|
||||
}
|
||||
.ant-upload-list {
|
||||
display: none;
|
||||
}
|
||||
.ant-btn {
|
||||
padding: 0;
|
||||
width: 63px;
|
||||
height: 23px;
|
||||
background: #ccc;
|
||||
border-radius: 3px;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
color: #ffffff;
|
||||
&:hover{
|
||||
background: #08ae98;
|
||||
.video-cover {
|
||||
.preview-image {
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.video-cover {
|
||||
.preview-image {
|
||||
width: 171px;
|
||||
height: 96px;
|
||||
}
|
||||
}
|
||||
.video-introduction {
|
||||
.ant-form-item-control-wrapper {
|
||||
.ant-form-item-children {
|
||||
display: flex;
|
||||
// align-items: center;
|
||||
.demand {
|
||||
.demand {
|
||||
height: 94px;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
@ -427,61 +450,66 @@ export default defineComponent({
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
> p {
|
||||
line-height: 17px;
|
||||
margin: 0;
|
||||
line-height: 17px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.video-list {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.link {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
margin-right: 4px;
|
||||
.video-introduction {
|
||||
.ant-form-item-control-wrapper {
|
||||
.ant-form-item-children {
|
||||
display: flex;
|
||||
// align-items: center;
|
||||
}
|
||||
}
|
||||
.video-list {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.link {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
> span {
|
||||
font-size: 9px;
|
||||
font-weight: 500;
|
||||
color: #07ad97;
|
||||
max-width: 150px;
|
||||
}
|
||||
.del {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
margin-left: auto;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
> span {
|
||||
font-size: 9px;
|
||||
font-weight: 500;
|
||||
color: #07ad97;
|
||||
max-width: 150px;
|
||||
.duration {
|
||||
.unit {
|
||||
margin-left: 18px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
}
|
||||
}
|
||||
.del {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
margin-left: auto;
|
||||
cursor: pointer;
|
||||
.brief {
|
||||
position: relative;
|
||||
.ant-input {
|
||||
width: 359px;
|
||||
}
|
||||
.brief-textarea {
|
||||
min-height: 85px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
.words-number {
|
||||
position: absolute;
|
||||
right: 11px;
|
||||
bottom: -11px;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
color: #7f7f7f;
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.duration {
|
||||
.unit {
|
||||
margin-left: 18px;
|
||||
font-size: 12px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
}
|
||||
}
|
||||
.brief {
|
||||
position: relative;
|
||||
.ant-input {
|
||||
width: 359px;
|
||||
}
|
||||
.brief-textarea {
|
||||
min-height: 85px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
.words-number {
|
||||
position: absolute;
|
||||
right: 11px;
|
||||
bottom: -11px;
|
||||
font-size: 11px;
|
||||
font-weight: 500;
|
||||
color: #7f7f7f;
|
||||
user-select: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -10,7 +10,8 @@
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item :label="lan.$t('zhibofengmian')" class="item-cover">
|
||||
<a-upload
|
||||
<div style="display:flex">
|
||||
<a-upload
|
||||
list-type="picture"
|
||||
:customRequest="uploadspic"
|
||||
:before-upload="beforeUploadpic"
|
||||
@ -36,7 +37,21 @@
|
||||
:src="form.img"
|
||||
/>
|
||||
</div>
|
||||
|
||||
</a-upload>
|
||||
<div class="demand">
|
||||
<p class="one-line-hide">
|
||||
{{ lan.$t("fengmianyaoqiu") }}
|
||||
</p>
|
||||
<p class="one-line-hide">
|
||||
1.{{ lan.$t("fengmianyaoqiu1") }}
|
||||
</p>
|
||||
<p class="one-line-hide">
|
||||
2.{{ lan.$t("fengmianyaoqiu2") }}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</a-form-item>
|
||||
<a-form-item
|
||||
:label="lan.$t('shipinjieshao')"
|
||||
@ -618,21 +633,22 @@ export default defineComponent({
|
||||
height: 96px;
|
||||
}
|
||||
}
|
||||
.demand {
|
||||
line-height: 17px;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
width: 134px;
|
||||
> p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.video-introduction {
|
||||
.ant-form-item-control-wrapper {
|
||||
.ant-form-item-children {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.demand {
|
||||
line-height: 17px;
|
||||
font-size: 10px;
|
||||
font-weight: 500;
|
||||
color: #808080;
|
||||
width: 134px;
|
||||
> p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user