Commit e8387852 authored by xulili's avatar xulili
parents fa65a001 e8f27e3c
......@@ -100,7 +100,7 @@ const httpServer = (opts, data, file, timeout) => {
// loadingInstance.close();
// }, 10000)
axios(httpDefaultOpts).then((res) => {
console.log(res)
// console.log(res)
if(res.data){
loadingInstance.close();
// clearTimeout(markIndex)
......
......@@ -32,7 +32,7 @@ Vue.filter('dateformat', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') {
Vue.prototype.$querystring = qs//其他的代码用到比较多 就新增一个
Vue.prototype.$querystring = qs//其他的代码用到比较多 就新增一个可以了
Vue.prototype.$qs = qs
Vue.prototype.$http = axios
......
......@@ -197,7 +197,7 @@
<el-input type="textarea" v-model="editForm.remarks"></el-input>
</el-form-item>
<el-form-item label="展板视频" :label-width="formLabelWidth">
<div class="video-box">
<div class="video-box" @contextmenu.prevent>
<div class="video-item" v-for="(item, index) in editForm.videoList" :key="index">
<video :src="item.fileUrl" controls controlsList='nodownload noremote footbar' />
<span>{{ item.fileName }}</span>
......
......@@ -42,13 +42,13 @@
<span>{{ item.remarks }}</span>
</el-form-item>
<el-form-item label="展板视频" class="w100">
<div class="video-box">
<div class="video-box" @contextmenu.prevent>
<div
class="video-item"
v-for="(vi, index) in item.videoList"
:key="index"
>
<video :src="vi.fileUrl" controls />
<video :src="vi.fileUrl" controlsList='nodownload noremote footbar' />
<span>{{ vi.fileName }}</span>
</div>
</div>
......
<template>
<div>
<!--
<video :src="videoSrc" :poster="videoImg" :autoplay="playStatus" height="421" width="700" :muted="muteStatus">
your browser does not support the video tag
</video>
<button @click="playClick" :class="{hide: isPlay}">点击播放</button> -->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video :preload="preload"
:poster="videoImg" :height="height" :width="width" align="center" :controls="controls" :autoplay="autoplay">
<source :src="videoSrc" >
</video>
</div>
</template>
<script>
export default {
name: 'Video',
data () {
return {
videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
playStatus: '',
muteStatus: '',
isMute: true,
isPlay: false,
width: '820', // 设置视频播放器的显示宽度(以像素为单位)
height: '500', // 设置视频播放器的显示高度(以像素为单位)
preload: 'auto', // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: ''
}
}
// 自动播放属性,muted:静音播放
// autoplay: 'muted',
}
</script>
<style scoped >
</style>
......@@ -151,7 +151,8 @@
:visible.sync="FormVisible"
:before-close="close"
>
<div class="dialog-content">
<!-- @contextmenu.prevent.capture -->
<div class="dialog-content" @contextmenu.prevent>
<span
v-for="(item, index) in videoList"
......@@ -173,7 +174,9 @@
</el-dialog>
</div>
</template>
<script>
export default {
components: {},
data() {
......
......@@ -18,7 +18,7 @@
label-position="top"
>
<el-form-item label="版权方名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="版权方有效期" prop="value1">
<el-date-picker
......
......@@ -6,6 +6,7 @@
width="400px"
:visible.sync="dialogVisible"
:before-close="close"
@contextmenu.prevent
>
<span v-for="(item,index) in videoList" :key="index">
<video
......
......@@ -28,6 +28,7 @@ export default {
},
data() {
return {
fullscreenLoading: false,
loading:false,
filedata: [],
fileArr: [],
......@@ -38,7 +39,13 @@ export default {
},
methods: {
submitUpload() {
this.loading = true
const loading = this.$loading({
lock: true,
text: '上传中,请稍候。。。',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
// this.loading = true
this.filedata = new FormData() // 用FormData存放上传文件
this.$refs.upload.submit() // 会循环调用uploadFile方法,多个文件调用多次
let _this = this;
......@@ -54,7 +61,8 @@ export default {
.then(res => {
let resData = res.data;
console.log(res)
this.loading = false
loading.close();
// this.loading = false
if (resData.resultCode == "200") {
_this.$message.success('上传成功!')
const data = resData.data.fileList
......
......@@ -33,6 +33,7 @@ export default {
},
data() {
return {
fullscreenLoading: false,
loading:false,
filedata: [],
fileArr: [],
......@@ -42,7 +43,13 @@ export default {
},
methods: {
submitUpload() {
this.loading = true
const loading = this.$loading({
lock: true,
text: '上传中,请稍候。。。',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
// this.loading = true
this.filedata = new FormData(); // 用FormData存放上传文件
this.$refs.upload.submit(); // 会循环调用uploadFile方法,多个文件调用多次
......@@ -57,9 +64,10 @@ export default {
this.filedata
)
.then((res) => {
this.loading = false
// this.loading = false
let resData = res.data;
if (resData.resultCode == "200") {
loading.close();
_this.$message.success('上传成功!')
const data = resData.data.fileList;
let newArray = data.map((item) => item.id);
......
<template>
<div>
<el-upload
ref="upload"
accept=".mp4,.flv,.mpeg,.mpg"
:multiple="true"
:http-request="uploadFile"
:file-list="fileList"
action
:auto-upload="false"
:before-upload="beforeAvatarUpload"
>
<i class="el-icon-plus fileUpload"></i>
</el-upload>
<el-button style="margin-left: 10px;" size="small" type="success" v-loading="loading" @click="submitUpload">上传到服务器</el-button>
</div>
</template>
<script>
export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() {
return {
fullscreenLoading: false,
loading:false,
filedata:[],
fileArr: [],
fileList:[],
// fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
};
},
methods: {
openFullScreen2() {
const loading = this.$loading({
lock: true,
text: '上传中,请稍候。。。',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
},
submitUpload() { // 导入
// this.openFullScreen2()
const loading = this.$loading({
lock: true,
text: '上传中,请稍候。。。',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
// this.loading = true
let tempData = this.filedata
this.filedata = new FormData() // 用FormData存放上传文件
this.$refs.upload.submit() // 会循环调用uploadFile方法,多个文件调用多次
let _this = this;
_this
.$https(
{
method: "post",
url: "file/video/content/upload",
authType: this.backToken
},
this.filedata
)
.then(res => {
let resData = res.data;
console.log(res)
// this.loading = false
if (resData.resultCode == "200") {
loading.close();
_this.$message.success('上传成功!')
const data = resData.data.fileList;
let newArray = data.map((item) => item.id);
let editArray =[]
if(this.fileList.length){
editArray = this.fileList.map(item=>item.id)
}
this.$emit("videoList", [...newArray,...editArray]);
} else {
_this.$message.error(resData.msg || resData.message);
}
})
.catch(err => {
console.log(err);
_this.$message.error(err.msg || err.message);
});
},
uploadFile(file) {
this.filedata.append('file', file.file)
},
beforeAvatarUpload(file) {
const isLt10G = file.size / 1024 / 1024 / 1024 < 10;
if (!isLt10G) {
this.$message.error("上传文件大小不能超过 10GB!");
}
return isLt10G;
}
}
};
</script>
<style>
.el-upload .fileUpload {
width: 148px;
height: 148px;
line-height: 148px!important;
margin: 0 auto;
border: 1px dashed #c0ccda;
font-size: 24px;
font: #ccc;
}
</style>
......@@ -73,10 +73,10 @@ export default {
.then(res => {
let resData = res.data;
console.log(res)
loading.close();
// this.loading = false
if (resData.resultCode == "200") {
loading.close();
_this.$message.success('上传成功!')
const data = resData.data.fileList;
let newArray = data.map((item) => item.id);
......@@ -98,6 +98,7 @@ export default {
},
uploadFile(file) {
console.log(file)
this.filedata.append('file', file.file)
},
beforeAvatarUpload(file) {
......
<template>
<el-form enctype="multipart/form-data">
选择多文件:
<input type="file" name="files" multiple="multiple" @change="getFiles($event)" />
<br />选择文件夹:
<input @change="getFiles($event)" type="file" name="files" webkitdirectory mozdirectory />
<br />
<ul class="el-upload-list el-upload-list--text">
<li class="el-upload-list__item is-ready" v-for="(item, i) in files" :label="item.name" :value="item.name" :key="i">
{{item.name}}
<span>
<el-button size="mini" type="text">
<i @click="remove(item)" class="el-icon-close"></i>
</el-button>
</span>
</li>
</ul>
<el-button size="medium" type="success" @click.stop="upload">上传到服务器</el-button>
</el-form>
</template>
<script>
import axios from "axios";
export default {
name: "UploadFileVue",
props:{
fileList:{
type:Array,
default:[]
},
},
data() {
return {
fullscreenLoading: false,
files: [
]
};
},
watch: {
fileList(newName, oldName) {
console.log(newName)
this.files = newName
// ...
}
},
computed: {
headers() {
return {
Authorization: localStorage.getItem("backToken") || ""
};
}
},
methods: {
remove(data) {
const children = this.files;
const index = children.findIndex(d => d.name === data.name);
children.splice(index, 1);
},
getFiles: function(event) {
console.log(event);
var files = event.target.files;
for (var i = 0; i < files.length; i++) {
this.files.push(files[i]);
}
console.log(this.files, "--");
},
upload: function() {
const loading = this.$loading({
lock: true,
text: '上传中,请稍候。。。',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
console.log(this.files);
var formData = new FormData();
for (var i = 0; i < this.files.length; i++) {
formData.append("file", this.files[i]);
}
console.log(formData);
let _this = this;
_this
.$https(
{
method: "post",
url: "file/video/content/upload",
authType: this.backToken
},
formData
)
.then(res => {
loading.close();
let resData = res.data;
console.log(res);
if (resData.resultCode == "200") {
_this.$message.success("上传成功!");
const data = resData.data.fileList;
let newArray = data.map((item) => item.id);
let editArray =[]
if(this.files.length){
editArray = this.files.map(item=>item.id)
}
this.$emit("videoList", [...newArray,...editArray]);
} else {
_this.$message.error(resData.msg || resData.message);
}
})
.catch(err => {
console.log(err);
_this.$message.error(err.msg || err.message);
});
}
}
};
</script>
<style>
</style>
\ No newline at end of file
<template>
<div>
<div @contextmenu.prevent>
<span v-for="(item,index) in videoList" :key="index">
<video
:preload="preload"
......
......@@ -110,7 +110,7 @@
class="party-form"
>
<el-form-item label="展板分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
......
......@@ -18,8 +18,16 @@
:inline="true"
label-position="top"
>
<!-- <el-form-item label="多文件上传测试" >
<div style="color:red;">
(可支持word、PDF、ppt、视频类型文件及图片上传)
</div>
<upload-folder ></upload-folder>
</el-form-item> -->
<el-form-item label="展板名称" prop="name" class="w100">
<el-input v-model="ruleForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="展板版权方" class="w50" prop="boardCopyrightOwnerId">
......@@ -153,6 +161,7 @@ import uploadDatum from "@/page/content/components/uploadVue/uploadDatum";
import uploadAudio from "@/page/content/components/uploadVue/uploadAudio";
import mulDisplay from "@/page/content/components/mulClassify/mulDisplay";
import addCopyright from "@/page/content/components/dialog/addCopyright";
import uploadFolder from "@/page/content/components/uploadVue/uploadFolder";
export default {
components: {
uploadImg,
......@@ -161,7 +170,8 @@ export default {
uploadAudio,
mulDisplay,
addCopyright,
uploadQrcode
uploadQrcode,
uploadFolder
},
data() {
return {
......
......@@ -78,7 +78,7 @@
label-position="top"
>
<el-form-item label="展板视频" class="w100">
<div v-if="contentData.videoList.length">
<div v-if="contentData.videoList.length" @contextmenu.prevent>
<span
class="file-box"
v-for="(s, i) in contentData.videoList"
......@@ -89,6 +89,7 @@
width="100%"
height="100%"
poster="images/applets/video.png"
controlsList='nodownload noremote footbar'
>
<source :src="s.fileUrl" />
</video>
......
......@@ -3,6 +3,7 @@
<msg-dialog ref="msgDialog" :msgInfo="msgInfo" />
<div class="search-container">
<el-form :inline="true" :model="form" onsubmit="return false;">
<el-form-item >
<el-input
placeholder="请输入展板名称"
......
......@@ -17,7 +17,7 @@
label-position="top"
>
<el-form-item label="版权方名称" prop="name" class="w50">
<el-input v-model="ruleForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="版权方有效期" prop="value1">
<el-date-picker
......@@ -75,7 +75,7 @@
class="party-form"
>
<el-form-item label="展板分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
......
......@@ -120,7 +120,7 @@
class="party-form"
>
<el-form-item label="版权方名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="版权方有效期" prop="valueDate">
<el-date-picker
......
......@@ -54,6 +54,7 @@
<el-collapse-item title="展板列表" name="3">
<!-- {{tableData}} -->
<div class="party-table">
<!-- {{tableData[0]}} -->
<el-table
border
style="width: 100%;height:100%"
......@@ -62,9 +63,9 @@
:data="tableData"
>
<el-table-column type="index" width="120" label="序号">
<template slot-scope="scope">
<!-- <template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</template> -->
</el-table-column>
<el-table-column show-overflow-tooltip label="版权方名称" prop="name"></el-table-column>
<el-table-column label="操作">
......
......@@ -101,7 +101,7 @@
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
......
......@@ -16,8 +16,9 @@
:inline="true"
label-position="top"
>
<el-form-item label="视频名称" prop="name" class="w100">
<el-input v-model="ruleForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="请选择视频版权方" prop="videoContentCopyrightOwnerId">
......@@ -71,10 +72,17 @@
<el-form-item label="视频缩略图" required>
<upload-img :fileList="ruleForm.imageList" @imgUrl="imgUrl"></upload-img>
</el-form-item>
<el-form-item label="上传视频" required>
<!-- <el-form-item label="上传视频" required>
<p style="color:red">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</p>
<upload-file :fileList="ruleForm.videoList" @videoList="videoList"></upload-file>
</el-form-item>
</el-form-item> -->
<el-form-item label="上传视频" required >
<div style="color:red;">
(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)
</div>
<upload-folder :fileList="ruleForm.videoList" @videoList="videoList" ></upload-folder>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
......@@ -95,7 +103,7 @@
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注" class="w100" prop="remarks">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
......@@ -137,13 +145,15 @@ import uploadFile from '@/page/content/components/uploadVue/uploadFile'
import uploadDatum from '@/page/content/components/uploadVue/uploadDatum'
import mulDisplay from '@/page/content/components/mulClassify/mulDisplay'
import addCopyright from '@/page/content/components/dialog/addCopyright'
import uploadFolder from "@/page/content/components/uploadVue/uploadFolder";
export default {
components:{
uploadImg,
uploadFile,
uploadDatum,
mulDisplay,
addCopyright
addCopyright,
uploadFolder
},
data() {
return {
......
......@@ -17,7 +17,7 @@
label-position="top"
>
<el-form-item label="版权方名称" prop="name" class="w50">
<el-input v-model="ruleForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="版权方有效期" prop="value1">
<el-date-picker
......@@ -74,7 +74,7 @@
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
<el-input oninput="value = value.trim()" v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
......
......@@ -54,7 +54,7 @@
</div>
<div class="table-content">
<div class="btn-group">
<el-button type="primary" @click="downloadCipher()">导出加密秘钥</el-button>
<el-button type="primary" @click="downloadCipher()">导出加密文件</el-button>
<el-button type="primary" @click="multipleRemitGet()">汇出</el-button>
<!-- <el-button type="primary" @click="multipleRemit()">汇出</el-button> -->
</div>
......
......@@ -11,6 +11,7 @@ import { accoutsRoute } from './accout'
import { STBoxRoute } from './STBox'
import { learnRoute } from './learn'
const router = new Router({
// mode:'history',
routes: [
{
path: '/',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment