Commit a1487c51 authored by xulili's avatar xulili

xx

parents ed3e8249 623fc82b
...@@ -95,9 +95,11 @@ export default { ...@@ -95,9 +95,11 @@ export default {
type: "success", type: "success",
message: resData.message, message: resData.message,
}); });
localStorage.setItem("userType",resData.user.type)
localStorage.setItem("user", resData.user.userName); localStorage.setItem("user", resData.user.userName);
localStorage.setItem("userId",resData.user.id) localStorage.setItem("userId",resData.user.id)
localStorage.setItem("backToken", resData.token); localStorage.setItem("backToken", resData.token);
localStorage.setItem("roleList",resData.user.roleList)
localStorage.setItem( localStorage.setItem(
"menuList", "menuList",
JSON.stringify(resData.menuList) JSON.stringify(resData.menuList)
......
export function loginOut() { export function loginOut() {
const list = ['user', 'userId', 'backToken', 'menuList'] const list = ['user', 'userId','roleList', 'backToken', 'menuList']
list.forEach(v => { list.forEach(v => {
localStorage.removeItem(v) localStorage.removeItem(v)
}) })
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
v-model="form.areaId" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" change-on-select
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</el-card> </el-card>
<el-card class="height100 detail-box" ref="rightBox"> <el-card class="height100 detail-box" ref="rightBox">
<div class="content-title"> <div class="content-title">
<div class="title">“北京市政府”展板互动信息汇总</div> <div class="title">"{{selectOrgName}}" 展板互动信息汇总</div>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看某个组织机构的互动信息</span> <span class="page-tips">可查看某个组织机构的互动信息</span>
...@@ -80,7 +80,8 @@ export default { ...@@ -80,7 +80,8 @@ export default {
children: "children", children: "children",
label: "name", label: "name",
}, },
selectAreaId: "", selectOrgId: "",
selectOrgName: "",
tableData: [], tableData: [],
}; };
}, },
...@@ -107,7 +108,7 @@ export default { ...@@ -107,7 +108,7 @@ export default {
let param = { let param = {
_index: this.page._index, _index: this.page._index,
_size: this.page._size, _size: this.page._size,
orgId: this.selectAreaId, orgId: this.selectOrgId,
}; };
vm.$https( vm.$https(
{ {
...@@ -178,7 +179,8 @@ export default { ...@@ -178,7 +179,8 @@ export default {
}, },
// 点击节点事件 // 点击节点事件
handleNodeClick(data) { handleNodeClick(data) {
this.selectAreaId = data.id; this.selectOrgId = data.id;
this.selectOrgName = data.name;
this.onSearch(); this.onSearch();
}, },
// 分页 // 分页
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
v-model="form.areaId" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" change-on-select
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="party-table"> <div class="party-table noAdd">
<el-table <el-table
border border
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
......
...@@ -71,6 +71,9 @@ ...@@ -71,6 +71,9 @@
<div v-else> <div v-else>
<span v-if="item.prop === 'roleList'"> <span v-if="item.prop === 'roleList'">
{{ accoutRoleList(scope.row[item.prop]) }} {{ accoutRoleList(scope.row[item.prop]) }}
</span>
<span v-else-if="item.prop === 'exiredDate'">
{{ scope.row[item.prop] || '永久有效' }}
</span> </span>
<span v-else>{{ scope.row[item.prop] }}</span> <span v-else>{{ scope.row[item.prop] }}</span>
</div> </div>
......
...@@ -73,9 +73,9 @@ export default { ...@@ -73,9 +73,9 @@ export default {
statusOption: statusOption, statusOption: statusOption,
feildList: [ feildList: [
{ prop: "userName", label: "运维人员姓名" }, { prop: "userName", label: "运维人员姓名" },
{ prop: "orgName", label: "运维区域" }, { prop: "areaName", label: "运维区域" },
{ prop: "exiredDate", label: "到期时间" }, { prop: "exiredDate", label: "到期时间" },
{ prop: "type", label: "账号类型" }, // { prop: "type", label: "账号类型" },
{ prop: "statusName", label: "账号状态" }, { prop: "statusName", label: "账号状态" },
{ prop: "", label: "操作", isEdit: true, width: 280 }, { prop: "", label: "操作", isEdit: true, width: 280 },
], ],
...@@ -105,7 +105,7 @@ export default { ...@@ -105,7 +105,7 @@ export default {
this.getPageList(); this.getPageList();
}, },
handleSubmit() { handleSubmit() {
this.getPageList(); this.getFirstPageList();
}, },
handleReset() { handleReset() {
this.form.userName = ""; this.form.userName = "";
......
...@@ -142,7 +142,7 @@ export default { ...@@ -142,7 +142,7 @@ export default {
}, },
// 查询数据 // 查询数据
handleSubmit() { handleSubmit() {
this.getPageList(); this.getFirstPageList();
}, },
// 重置查询 // 重置查询
handleReset() { handleReset() {
......
...@@ -163,12 +163,13 @@ export default { ...@@ -163,12 +163,13 @@ export default {
permanent: true, permanent: true,
date: "", date: "",
roleList: [], roleList: [],
type: 1, type: 2,
}; };
}, },
// 提交 // 提交
handleSubmit() { handleSubmit() {
// 校验用户输入值 // 校验用户输入值
let _this = this;
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
let user = {}; let user = {};
...@@ -188,6 +189,7 @@ export default { ...@@ -188,6 +189,7 @@ export default {
user.userName = this.form.userName; user.userName = this.form.userName;
user.orgId = this.form.orgId; user.orgId = this.form.orgId;
user.type = this.form.type; user.type = this.form.type;
user.phone = this.form.phone;
this.$https( this.$https(
{ {
method: "post", method: "post",
......
...@@ -230,7 +230,6 @@ export default { ...@@ -230,7 +230,6 @@ export default {
user.userName = this.form.userName; user.userName = this.form.userName;
user.orgId = this.form.orgId; user.orgId = this.form.orgId;
user.type = this.form.type; user.type = this.form.type;
this.$https( this.$https(
{ {
method: "put", method: "put",
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
clearable
v-model="form.userName" v-model="form.userName"
placeholder="请输入平台用户名" placeholder="请输入平台用户名"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
...@@ -36,8 +37,18 @@ ...@@ -36,8 +37,18 @@
/> />
<party-pagination :page="page" @changePage="handleChangeCurrent" /> <party-pagination :page="page" @changePage="handleChangeCurrent" />
</div> </div>
<add-dialog ref="addDialog" :organList="organList" :rolesList="rolesList" @success="getFirstPageList()" /> <add-dialog
<edit-dialog ref="editDialog" :organList="organList" :rolesList="rolesList" @success="getFirstPageList()" /> ref="addDialog"
:organList="organList"
:rolesList="rolesList"
@success="getFirstPageList()"
/>
<edit-dialog
ref="editDialog"
:organList="organList"
:rolesList="rolesList"
@success="getFirstPageList()"
/>
<msg-dialog ref="msgDilaog" :msgInfo="msgInfo" /> <msg-dialog ref="msgDilaog" :msgInfo="msgInfo" />
</div> </div>
</template> </template>
...@@ -71,8 +82,8 @@ export default { ...@@ -71,8 +82,8 @@ export default {
}, },
activeRow: {}, activeRow: {},
msgInfo: {}, msgInfo: {},
organList:[], organList: [],
rolesList:[] rolesList: [],
}; };
}, },
components: { components: {
...@@ -88,7 +99,7 @@ export default { ...@@ -88,7 +99,7 @@ export default {
this.getFirstPageList(); this.getFirstPageList();
}, },
methods: { methods: {
// 获取机构列表 // 获取机构列表
getOrgList() { getOrgList() {
getOrgListWithOutPage().then((res) => { getOrgListWithOutPage().then((res) => {
this.organList = res; this.organList = res;
...@@ -105,7 +116,7 @@ export default { ...@@ -105,7 +116,7 @@ export default {
this.getPageList(); this.getPageList();
}, },
handleSubmit() { handleSubmit() {
this.getPageList(); this.getFirstPageList();
}, },
handleReset() { handleReset() {
this.form.userName = ""; this.form.userName = "";
...@@ -144,7 +155,7 @@ export default { ...@@ -144,7 +155,7 @@ export default {
console.log(err); console.log(err);
}); });
}, },
// 页面返回值为空 // 页面返回值为空
getResWithOutData() { getResWithOutData() {
this.list = []; this.list = [];
this.page = { this.page = {
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="party-table"> <div class="party-table noAdd">
<el-table <el-table
border border
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
...@@ -91,8 +91,8 @@ ...@@ -91,8 +91,8 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核" header-align="center" align="center"> <el-table-column label="审核" width="220" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" >
<!-- <div class="table-btn-group"> <!-- <div class="table-btn-group">
<el-tooltip content="通过" placement="top"> <el-tooltip content="通过" placement="top">
...@@ -131,8 +131,7 @@ ...@@ -131,8 +131,7 @@
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <div class="partyt-pagination">
<el-pagination <el-pagination
small
background background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="page.currentPage" :current-page="page.currentPage"
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<!-- <div class="btn-group"> <!-- <div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频分类</el-button> <el-button type="primary" @click="addPermis()">新建视频分类</el-button>
</div> --> </div> -->
<div class="party-table"> <div class="party-table noAdd">
<el-table <el-table
border border
style="width: 100%;height:100%" height="100%" style="width: 100%;height:100%" height="100%"
...@@ -71,8 +71,8 @@ ...@@ -71,8 +71,8 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核" header-align="center" align="center"> <el-table-column label="审核" width="220" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope">
<div class="table-btn-group"> <div class="table-btn-group">
<el-button <el-button
round round
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="party-table"> <div class="party-table noAdd">
<el-table <el-table
border border
style="width: 100%;height:100%" style="width: 100%;height:100%"
...@@ -69,8 +69,8 @@ ...@@ -69,8 +69,8 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="审核" header-align="center" align="center"> <el-table-column label="审核" width="220" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope">
<div class="table-btn-group"> <div class="table-btn-group">
<el-button <el-button
round round
...@@ -97,7 +97,6 @@ ...@@ -97,7 +97,6 @@
</div> </div>
<div class="partyt-pagination"> <div class="partyt-pagination">
<el-pagination <el-pagination
small
background background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="page.currentPage" :current-page="page.currentPage"
...@@ -139,24 +138,29 @@ ...@@ -139,24 +138,29 @@
<el-dialog <el-dialog
custom-class="party-dialog" custom-class="party-dialog"
title="视频详情" title="视频详情"
height="600px" height="200px"
width="800px" width="800px"
:visible.sync="FormVisible" :visible.sync="FormVisible"
:before-close="close" :before-close="close"
> >
<div class="dialog-content"> <div class="dialog-content">
<div>
<span
v-for="(item, index) in videoList"
:key="index">
<video <video
:preload="preload" :preload="preload"
:poster="videoImg" :poster="item.thumbnail"
:height="height" :height="height"
:width="width" :width="width"
align="center" align="center"
:controls="controls" :controls="controls"
> >
<source :src="videoSrc" /> <source :src="item.fileUrl" />
</video> </video>
</div> <span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
</div> </div>
</el-dialog> </el-dialog>
</div> </div>
...@@ -184,6 +188,7 @@ export default { ...@@ -184,6 +188,7 @@ export default {
LOWER: "下架" LOWER: "下架"
}; };
return { return {
videoList:[],
videoSrc: "", videoSrc: "",
videoSrc: videoSrc:
"https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4", "https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4",
...@@ -192,8 +197,8 @@ export default { ...@@ -192,8 +197,8 @@ export default {
muteStatus: "", muteStatus: "",
isMute: true, isMute: true,
isPlay: false, isPlay: false,
width: "100%", // 设置视频播放器的显示宽度(以像素为单位) width: "350px", // 设置视频播放器的显示宽度(以像素为单位)
height: "100%", // 设置视频播放器的显示高度(以像素为单位) height: "200px", // 设置视频播放器的显示高度(以像素为单位)
preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。 preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。 controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: "", autoplay: "",
...@@ -517,10 +522,12 @@ export default { ...@@ -517,10 +522,12 @@ export default {
.then(res => { .then(res => {
let data = res.data.data; let data = res.data.data;
console.log(res.data.data.videoFileList[0].fileUrl); console.log(res.data.data.videoFileList[0].fileUrl);
this.videoSrc = res.data.data.videoFileList[0].fileUrl;
this.videoList = res.data.data.videoFileList
console.log(this.videoSrc); console.log(this.videoSrc);
vm.FormVisible = true; vm.FormVisible = true;
this.videoImg = data.thumbnail; // this.videoSrc = res.data.data.videoFileList[0].fileUrl;
// this.videoImg = data.thumbnail;
}) })
.catch(function(err) { .catch(function(err) {
console.log(err); console.log(err);
......
...@@ -114,9 +114,9 @@ export default { ...@@ -114,9 +114,9 @@ export default {
this.$qs.stringify(this.ruleForm) this.$qs.stringify(this.ruleForm)
) )
.then(res => { .then(res => {
if(res.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "新成功!" }); this.$message({ type: "success", message: "新建视频版权方成功!" });
history.go(-1); this.dialogVisible = false
}else{ }else{
this.$message({ type: "error", message: res.message }); this.$message({ type: "error", message: res.message });
} }
...@@ -148,12 +148,13 @@ export default { ...@@ -148,12 +148,13 @@ export default {
_this.$qs.stringify(this.ruleForm) _this.$qs.stringify(this.ruleForm)
) )
.then(res => { .then(res => {
if(res.data.resultCode === "200"){ console.log(res)
_this.$message({ type: "success", message: "新增成功!" }); // if(res.data.resultCode === "200"){
_this.dialogVisible =false // _this.$message({ type: "success", message: "新增成功!" });
}else{ // _this.dialogVisible =false
_this.$message({ type: "error", message: res.data.message }); // }else{
} // _this.$message({ type: "error", message: res.data.message });
// }
}) })
......
<template>
<el-upload
class="upload-demo"
ref="upload"
action="http://192.168.110.67/mall/file/audio/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
:on-success="handleAvatarSuccess"
:auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleAvatarSuccess(res, file) {
console.log(res)
console.log(res.data.fileList)
const data = res.data.fileList
let newArray = data.map((item) => {
return item.id;
})
this.$emit('audioList', newArray)
},
submitUpload() {
this.$refs.upload.submit();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
}
}
}
</script>
<style>
</style>
\ No newline at end of file
...@@ -79,7 +79,7 @@ export default { ...@@ -79,7 +79,7 @@ export default {
this.filedata.append('file', file.file) this.filedata.append('file', file.file)
}, },
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isLt5M = file.size / 1024 < 1; const isLt5M = file.size / 1024 / 1024 / 1024 < 1;
if (!isLt5M) { if (!isLt5M) {
this.$message.error("上传文件大小不能超过 1GB!"); this.$message.error("上传文件大小不能超过 1GB!");
} }
......
<template>
<el-upload
class="upload-demo"
ref="upload"
action="http://192.168.110.67/mall/file/datum/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
:on-success="handleAvatarSuccess"
:auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleAvatarSuccess(res, file) {
console.log(res)
// console.log(res.url)
const data = res.data.fileList
let newArray = data.map((item) => {
return item.id;
})
this.$emit('datumList', newArray)
},
submitUpload() {
this.$refs.upload.submit();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
}
}
}
</script>
<style>
</style>
\ No newline at end of file
...@@ -79,7 +79,7 @@ export default { ...@@ -79,7 +79,7 @@ export default {
this.filedata.append("file", file.file); this.filedata.append("file", file.file);
}, },
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isLt10G = file.size / 1024 < 10; const isLt10G = file.size / 1024 / 1024 / 1024 < 10;
if (!isLt10G) { if (!isLt10G) {
this.$message.error("上传文件大小不能超过 10GB!"); this.$message.error("上传文件大小不能超过 10GB!");
} }
......
<template>
<el-upload
class="upload-demo"
ref="upload"
action="http://192.168.110.67/mall/file/video/content/upload"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
:on-success="handleAvatarSuccess"
:auto-upload="false">
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
<div slot="tip" class="el-upload__tip">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</div>
</el-upload>
</template>
<script>
export default {
data() {
return {
fileList: []
};
},
methods: {
handleAvatarSuccess(res, file) {
const data = res.data.fileList
let newArray = data.map((item) => {
return item.id;
})
this.$emit('videoList', newArray)
// console.log(newArray,'----idArray')
},
submitUpload() {
this.$refs.upload.submit();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
}
}
}
</script>
<style>
</style>
\ No newline at end of file
...@@ -23,6 +23,12 @@ ...@@ -23,6 +23,12 @@
<script> <script>
export default { export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() { data() {
return { return {
filedata:[], filedata:[],
...@@ -52,14 +58,22 @@ export default { ...@@ -52,14 +58,22 @@ export default {
console.log(res) console.log(res)
if (resData.resultCode == "200") { if (resData.resultCode == "200") {
// alert("上传成功"); // console.log(resData.data.fileList)
console.log(resData.data.fileList) // const data = resData.data.fileList
const data = resData.data.fileList // console.log(data)
console.log(data) // let newArray = data.map((item) => {
let newArray = data.map((item) => { // return item.id;
return item.id; // })
})
this.$emit('videoList', newArray) // this.$emit('videoList', newArray)
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 { } else {
_this.$message.error(resData.msg || resData.message); _this.$message.error(resData.msg || resData.message);
...@@ -76,51 +90,11 @@ export default { ...@@ -76,51 +90,11 @@ export default {
this.filedata.append('file', file.file) this.filedata.append('file', file.file)
}, },
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isLt10G = file.size / 1024 < 10; const isLt10G = file.size / 1024 / 1024 / 1024 < 10;
if (!isLt10G) { if (!isLt10G) {
this.$message.error("上传文件大小不能超过 10GB!"); this.$message.error("上传文件大小不能超过 10GB!");
} }
return isLt10G; return isLt10G;
},
handleRequest(file) {
// let formData = new FormData();
// this.fileArr.push(file.file)
// console.log(this.fileArr,'文件数组')
// formData.append("file", this.fileArr);
let formData = new FormData();
if (Array.isArray(file)) {
file.forEach(item => {
formData.append("file", item.file);
});
} else {
formData.append("file", file.file);
}
let _this = this;
_this
.$https(
{
method: "post",
url: "file/video/content/upload",
authType: this.backToken
},
formData
)
.then(res => {
let resData = res.data;
if (resData.resultCode == 200) {
alert("上传成功");
// _this.getOrgTree();
} else {
_this.$message.error(resData.msg || resData.message);
}
})
.catch(err => {
console.log(err);
_this.$message.error(err.msg || err.message);
});
} }
} }
}; };
......
...@@ -31,12 +31,6 @@ export default { ...@@ -31,12 +31,6 @@ export default {
return { return {
dialogImageUrl: "", dialogImageUrl: "",
dialogVisible: false, dialogVisible: false,
fileList: [
{
name: "",
url: "",
},
],
}; };
}, },
computed: { computed: {
......
...@@ -24,7 +24,12 @@ export default { ...@@ -24,7 +24,12 @@ export default {
props:{ props:{
fileList:{ fileList:{
type:Array, type:Array,
default:[] default:[
{
name: "",
url: "",
},
]
}, },
}, },
data() { data() {
......
<template> <template>
<div> <div>
<!-- <span v-for="(item,index) in videoList" :key="index">
<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 <video
:preload="preload" :preload="preload"
:poster="videoImg" :poster="item.cover"
:height="height" :height="height"
:width="width" :width="width"
align="center" align="center"
:controls="controls" :controls="controls"
:autoplay="autoplay"
> >
<source :src="videoSrc" type="video/mp4" /> <source :src="item.fileUrl" type="video/mp4" />
</video> </video>
</div> <span>&nbsp;&nbsp;&nbsp;&nbsp; </span>
</span>
</div>
</template> </template>
<script> <script>
...@@ -25,6 +22,7 @@ export default { ...@@ -25,6 +22,7 @@ export default {
name: "Video", name: "Video",
data() { data() {
return { return {
videoList:[],
videoSrc: videoSrc:
"https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4", "https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4",
videoImg: "https://sm.ms/image/ueRFCZfk2xTONGb", videoImg: "https://sm.ms/image/ueRFCZfk2xTONGb",
...@@ -32,8 +30,8 @@ export default { ...@@ -32,8 +30,8 @@ export default {
muteStatus: "", muteStatus: "",
isMute: true, isMute: true,
isPlay: false, isPlay: false,
width: "820", // 设置视频播放器的显示宽度(以像素为单位) width: "350", // 设置视频播放器的显示宽度(以像素为单位)
height: "500", // 设置视频播放器的显示高度(以像素为单位) height: "200", // 设置视频播放器的显示高度(以像素为单位)
preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。 preload: "auto", // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。 controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: "", autoplay: "",
......
...@@ -29,11 +29,11 @@ ...@@ -29,11 +29,11 @@
<div class="btn-group"> <div class="btn-group">
<el-button <el-button
type="primary" type="primary"
class="btn_form_search"
@click="onSearch" @click="onSearch"
>查询</el-button >查询</el-button
> >
<el-button class="btn_form_search" @click="Reset">重置</el-button <el-button @click="Reset">重置</el-button
> >
</div> </div>
</el-form-item> </el-form-item>
...@@ -192,7 +192,7 @@ export default { ...@@ -192,7 +192,7 @@ export default {
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
this.page._index = val; this.page._index = val;
this.onSearch(); this.getTableData();
}, },
// 重置 // 重置
Reset() { Reset() {
......
<template> <template>
<div class="info info-add"> <div class="info">
<!-- <div class="info-header">新建展板</div> --> <div class="info-header">{{ type === 'Update'?'修改':'新建'}}展板</div>
<div class="info-container"> <div class="info-container">
<div class="info-wrapper"> <div class="info-wrapper">
<div class="pageTips"> <div class="pageTips">
......
...@@ -287,6 +287,9 @@ export default { ...@@ -287,6 +287,9 @@ export default {
height: 180px; height: 180px;
margin: 0 10px; margin: 0 10px;
} }
.info-container {
height: calc(100% - 250px);
}
/deep/.el-collapse-item__wrap { /deep/.el-collapse-item__wrap {
padding: 16px; padding: 16px;
} }
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="展板分类"> <el-form-item label="展板分类">
<el-select v-model="form.boardCatId" placeholder="请选择展板分类"> <el-select v-model="form.exhibitionBoardCatId" placeholder="请选择展板分类">
<el-option <el-option
v-for="item in classifyList" v-for="item in classifyList"
:key="item.id" :key="item.id"
...@@ -90,28 +90,30 @@ ...@@ -90,28 +90,30 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="280" header-align="center" align="center"> <el-table-column label="操作" width="280" header-align="center" align="center">
<!-- 只有下架可编辑、删除,只有通过可上架、下架 -->
<template slot-scope="scope" > <template slot-scope="scope" >
<div class="table-btn-group"> <div class="table-btn-group">
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
<el-button circle @click="openEdit(scope.row)"> <el-button circle :disabled="scope.row.published" @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i> <i class="icon-table icon-edit"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle :disabled="scope.row.published" @click="handleDelete(scope.row)">
<i class="icon-table icon-del"></i>
</el-button>
</el-tooltip>
<el-tooltip content="上架" placement="top"> <el-tooltip content="上架" placement="top">
<el-button circle :disabled="!!scope.row.published" @click="handlePublish(scope.row,true)"> <el-button circle :disabled="scope.row.auditStatus !== 'APPROVED_FINAL'" v-show="!scope.row.published" @click="handlePublish(scope.row,true)">
<i class="icon-table icon-enable"></i> <i class="icon-table icon-enable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="下架" placement="top"> <el-tooltip content="下架" placement="top">
<el-button circle :disabled="!scope.row.published" @click="handlePublish(scope.row,false)"> <el-button circle :disabled="scope.row.auditStatus !== 'APPROVED_FINAL'" v-show="scope.row.published" @click="handlePublish(scope.row,false)">
<i class="icon-table icon-disable"></i> <i class="icon-table icon-disable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="删除" placement="top">
<el-button circle @click="handleDelete(scope.row)">
<i class="icon-table icon-del"></i>
</el-button>
</el-tooltip>
<el-tooltip content="详情" placement="top"> <el-tooltip content="详情" placement="top">
<el-button circle @click="displayInfo(scope.row)"> <el-button circle @click="displayInfo(scope.row)">
<i class="icon-table icon-detail"></i> <i class="icon-table icon-detail"></i>
...@@ -203,7 +205,7 @@ export default { ...@@ -203,7 +205,7 @@ export default {
_size: this.page._size, _size: this.page._size,
nameOrCode: this.form.nameOrCode, nameOrCode: this.form.nameOrCode,
boardCopyrightOwnerId:this.form.boardCopyrightOwnerId, boardCopyrightOwnerId:this.form.boardCopyrightOwnerId,
boardCatId:this.form.boardCatId, exhibitionBoardCatId:this.form.exhibitionBoardCatId,
startDate: this.form.dateRange.length ? this.form.dateRange[0] : "", startDate: this.form.dateRange.length ? this.form.dateRange[0] : "",
endDate: this.form.dateRange.length ? this.form.dateRange[1] : "", endDate: this.form.dateRange.length ? this.form.dateRange[1] : "",
}; };
...@@ -227,7 +229,7 @@ export default { ...@@ -227,7 +229,7 @@ export default {
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
this.page._index = val; this.page._index = val;
this.onSearch(); this.getTableData();
}, },
// 重置 // 重置
...@@ -284,6 +286,7 @@ export default { ...@@ -284,6 +286,7 @@ export default {
}, },
// 上下架 // 上下架
handlePublish(row ,isPublish) { handlePublish(row ,isPublish) {
let _isPublish = isPublish
let _this = this; let _this = this;
_this _this
.$https({ .$https({
...@@ -294,10 +297,23 @@ export default { ...@@ -294,10 +297,23 @@ export default {
_this.$qs.stringify({isPublish:isPublish})) _this.$qs.stringify({isPublish:isPublish}))
.then( .then(
res => { res => {
_this.msgInfo = { // _this.msgInfo = {
type: "wait", // type: "wait",
des: `申请已提交,待审核…`, // des: `申请已提交,待审核…`,
}; // };
if(res.data.resultCode === "200"){
if(_isPublish){
this.$message({ type: "success", message: "上架申请已提交,待审核!" });
}else{
this.$message({ type: "success", message: "下架申请已提交,待审核!" });
}
_this.Search();
}else{
this.$message({ type: "error", message: res.data.message });
}
_this.onSearch(); _this.onSearch();
}, },
error => { error => {
......
...@@ -219,7 +219,7 @@ export default { ...@@ -219,7 +219,7 @@ export default {
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
this.page._index = val; this.page._index = val;
this.onSearch(); this.getTableData();
}, },
// 重置 // 重置
Reset() { Reset() {
......
This diff is collapsed.
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-form-item> <el-form-item>
<el-input <el-input
placeholder="请输入学习内容名称" placeholder="请输入学习内容名称"
v-model="form.name" v-model="form.nameOrCode"
@keyup.enter.native="Search" @keyup.enter.native="Search"
clearable clearable
></el-input> ></el-input>
...@@ -57,7 +57,30 @@ ...@@ -57,7 +57,30 @@
show-overflow-tooltip show-overflow-tooltip
label="学习内容名称" label="学习内容名称"
prop="name" prop="name"
></el-table-column> >
<template slot-scope="scope">
<div class="table-btn-group">
<el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip>
<span>&nbsp;&nbsp;</span>
<span>{{scope.row.name}}</span>
</div>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column> <el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="创建者" prop=""></el-table-column> <el-table-column label="创建者" prop=""></el-table-column>
<el-table-column <el-table-column
...@@ -79,8 +102,9 @@ ...@@ -79,8 +102,9 @@
</el-table-column> </el-table-column>
<el-table-column label="使用状态" prop="published"> <el-table-column label="使用状态" prop="published">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.published">禁用</span> <!-- {{scope.row.published}} -->
<span v-else>启用</span> <span v-if="scope.row.published">启用</span>
<span v-else>禁用</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -91,27 +115,41 @@ ...@@ -91,27 +115,41 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div class="table-btn-group"> <div class="table-btn-group">
<!-- <el-tooltip content="上移" placement="top">
<el-button circle :disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)" >
<i class="icon-table-up icon-up"></i>
</el-button>
</el-tooltip>
<el-tooltip content="下移" placement="top">
<el-button circle
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)">
<i class="icon-table-up icon-down"></i>
</el-button>
</el-tooltip> -->
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
<el-button circle @click="openEdit(scope.row)"> <el-button circle @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i> <i class="icon-table icon-edit"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="详情" placement="top"> <el-tooltip content="详情" placement="top">
<el-button circle @click="learnDetails(scope.row)"> <el-button circle @click="learnDetails(scope.row)">
<i class="icon-table icon-detail"></i> <i class="icon-table icon-detail"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="启用" placement="top"> <el-tooltip content="启用" placement="top">
<el-button circle @click="handlePublish(scope.row, 'True')"> <el-button circle :disabled="scope.row.auditStatus !== 'APPROVED_FINAL'" v-show="!scope.row.published" @click="handlePublish(scope.row, 'True')">
<i class="icon-table icon-enable"></i> <i class="icon-table icon-enable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="禁用" placement="top"> <el-tooltip content="禁用" placement="top">
<el-button circle @click="handlePublish(scope.row, 'False')"> <el-button circle :disabled="scope.row.auditStatus !== 'APPROVED_FINAL'" v-show="scope.row.published" @click="handlePublish(scope.row, 'False')">
<i class="icon-table icon-disable"></i> <i class="icon-table icon-disable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-button
<!-- <el-button
type="text" type="text"
style="padding:0" style="padding:0"
:disabled="scope.$index == 0" :disabled="scope.$index == 0"
...@@ -122,12 +160,7 @@ ...@@ -122,12 +160,7 @@
style="padding:0" style="padding:0"
:disabled="(scope.$index + 1) == tableData.length" :disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)" @click="moveDown(scope.row, scope.$index)"
>下移</el-button> >下移</el-button> -->
<!-- <el-tooltip content="删除" placement="top">
<el-button circle @click="handleDelete(scope.row)">
<i class="icon-table icon-del"></i>
</el-button>
</el-tooltip> -->
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -369,7 +402,7 @@ export default { ...@@ -369,7 +402,7 @@ export default {
let searchObj = { let searchObj = {
_index: 1, _index: 1,
_size: _this.page.pageSize, _size: _this.page.pageSize,
name: _this.form.name, nameOrCode: _this.form.nameOrCode,
startDate: this.value1 ? this.value1[0] : "", startDate: this.value1 ? this.value1[0] : "",
endDate: this.value1 ? this.value1[1] : "", endDate: this.value1 ? this.value1[1] : "",
}; };
......
...@@ -501,7 +501,7 @@ export default { ...@@ -501,7 +501,7 @@ export default {
// }; // };
if(res.data.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "删除视频分类申请已提交,待审核!" }); this.$message({ type: "success", message: "删除成功!" });
_this.Search(); _this.Search();
}else{ }else{
this.$message({ type: "error", message: res.data.message }); this.$message({ type: "error", message: res.data.message });
......
<template> <template>
<div class="info"> <div class="info">
<div class="info-header">新建视频</div> <div class="info-header">{{ type === 'Update'?'修改':'新建'}}视频</div>
<div class="info-container"> <div class="info-container">
<div class="info-wrapper"> <div class="info-wrapper">
<div class="pageTips"> <div class="pageTips">
...@@ -80,11 +80,11 @@ ...@@ -80,11 +80,11 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="视频缩略图" required> <el-form-item label="视频缩略图" required>
<upload-img @imgUrl="imgUrl"></upload-img> <upload-img :fileList="ruleForm.imageList" @imgUrl="imgUrl"></upload-img>
</el-form-item> </el-form-item>
<el-form-item label="上传视频" required> <el-form-item label="上传视频" required>
<p style="color:red">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</p> <p style="color:red">(支持上传多个视频及视频文件夹,视频语言支持汉语、蒙语、藏语、维吾尔语、英语,视频命名规定:视频名称+语言)</p>
<upload-file @videoList="videoList"></upload-file> <upload-file :fileList="ruleForm.videoList" @videoList="videoList"></upload-file>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!--新增弹框--> <!--新增弹框-->
...@@ -199,7 +199,7 @@ export default { ...@@ -199,7 +199,7 @@ export default {
}, },
rules: { rules: {
name: [ name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" } { required: true, message: "请输入视频名称", trigger: "blur" }
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" } // { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
], ],
videoContentCopyrightOwnerId:[ videoContentCopyrightOwnerId:[
...@@ -265,6 +265,8 @@ export default { ...@@ -265,6 +265,8 @@ export default {
this.ruleForm.videoContentCatId = data.videoContentCatId this.ruleForm.videoContentCatId = data.videoContentCatId
this.ruleForm.thumbnail = data.thumbnail this.ruleForm.thumbnail = data.thumbnail
this.ruleForm.videoFileIdList = data.videoFileIdList this.ruleForm.videoFileIdList = data.videoFileIdList
this.ruleForm.imageList=[{url:data.thumbnail}]
this.ruleForm.videoList=data.videoFileList.map(item=>{return {id:item.id,name:item.fileName,url:item.fileUrl}})
}).catch(function(err) { }).catch(function(err) {
console.log(err); console.log(err);
}); });
...@@ -277,7 +279,7 @@ export default { ...@@ -277,7 +279,7 @@ export default {
addVideoClass() { addVideoClass() {
this.dialogVisible = true; this.dialogVisible = true;
}, },
// 弹窗保存 // 新建视频分类弹窗保存
save(formName) { save(formName) {
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
this.ruleForm.expireDateEnd = this.value1[1]; this.ruleForm.expireDateEnd = this.value1[1];
...@@ -289,10 +291,14 @@ export default { ...@@ -289,10 +291,14 @@ export default {
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
this.classForm this.$qs.stringify(this.classForm)
).then(res => { ).then(res => {
this.$message({ type: "success", message: "新增分类成功!" }); if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "新增分类成功!" });
this.dialogVisible = false; this.dialogVisible = false;
}else{
this.$message({ type: "error", message: res.data.message });
}
}).catch(function(err) { }).catch(function(err) {
this.$message({ this.$message({
type: "fail", type: "fail",
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
placeholder="请选择视频版权方" placeholder="请选择视频版权方"
@focus="getAssetCopyrightData" @focus="getAssetCopyrightData"
v-model="form.videoContentCopyrightOwnerId" v-model="form.videoContentCopyrightOwnerId"
clearable
> >
<el-option <el-option
v-for="item in copyrightOwner" v-for="item in copyrightOwner"
...@@ -29,6 +30,7 @@ ...@@ -29,6 +30,7 @@
placeholder="请选择预设视频分类" placeholder="请选择预设视频分类"
@focus="getAssetTypeData" @focus="getAssetTypeData"
v-model="form.videoContentCatId" v-model="form.videoContentCatId"
clearable
> >
<el-option <el-option
v-for="item in videoContentCat" v-for="item in videoContentCat"
...@@ -75,8 +77,8 @@ ...@@ -75,8 +77,8 @@
<span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'">通过</span> <span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'">通过</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" width="220" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" >
<div class="table-btn-group"> <div class="table-btn-group">
<el-tooltip content="修改" placement="top"> <el-tooltip content="修改" placement="top">
<el-button circle @click="openEdit(scope.row)"> <el-button circle @click="openEdit(scope.row)">
......
...@@ -258,7 +258,7 @@ export default { ...@@ -258,7 +258,7 @@ export default {
) )
.then(res => { .then(res => {
if(res.data.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "新增视频版权方申请已提交,待审核!" }); this.$message({ type: "success", message: "新增视频版权成功!" });
history.go(-1); history.go(-1);
}else{ }else{
this.$message({ type: "error", message: res.data.message }); this.$message({ type: "error", message: res.data.message });
...@@ -294,7 +294,7 @@ export default { ...@@ -294,7 +294,7 @@ export default {
) )
.then(res => { .then(res => {
if(res.data.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "修改视频版权方申请已提交,待审核!" }); this.$message({ type: "success", message: "修改视频版权方成功!" });
history.go(-1); history.go(-1);
}else{ }else{
this.$message({ type: "error", message: res.data.message }); this.$message({ type: "error", message: res.data.message });
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button type="primary" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button> <el-button @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -338,7 +338,7 @@ export default { ...@@ -338,7 +338,7 @@ export default {
.then( .then(
res => { res => {
if(res.data.resultCode === "200"){ if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "删除视频版权方申请已提交,待审核!" }); this.$message({ type: "success", message: "删除成功!" });
_this.Search(); _this.Search();
}else{ }else{
this.$message({ type: "error", message: res.data.message }); this.$message({ type: "error", message: res.data.message });
......
...@@ -2,24 +2,44 @@ ...@@ -2,24 +2,44 @@
<div class="listPage H100"> <div class="listPage H100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form" class="search-form" onsubmit="return false;"> <el-form :inline="true" :model="form" class="search-form" onsubmit="return false;">
<el-form-item label="版权方名称"> <el-form-item label="">
<el-input <el-input
size="mini" placeholder="请输入视频名称"
placeholder="请输入版权方名称" v-model="form.nameOrCode"
v-model="form.name"
@keyup.enter.native="Search" @keyup.enter.native="Search"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期"> <el-form-item label="">
<el-date-picker <el-select
v-model="value1" placeholder="请选择视频版权方"
type="daterange" @focus="getAssetCopyrightData"
range-separator="至" v-model="form.videoContentCopyrightOwnerId"
start-placeholder="开始日期" clearable
end-placeholder="结束日期" >
></el-date-picker> <el-option
</el-form-item> v-for="item in copyrightOwner"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="">
<el-select
placeholder="请选择预设视频分类"
@focus="getAssetTypeData"
v-model="form.videoContentCatId"
clearable
>
<el-option
v-for="item in videoContentCat"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
...@@ -47,14 +67,13 @@ ...@@ -47,14 +67,13 @@
> >
<el-table-column type="selection" width="55"></el-table-column> <el-table-column type="selection" width="55"></el-table-column>
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="视频名称" prop="name"></el-table-column> <el-table-column label="视频名称" prop="videoContentCopyrightOwnerName"></el-table-column>
<el-table-column label="版权方" prop="copyrightOwnerName"></el-table-column> <el-table-column label="版权方" prop="exhibitionBoardName"></el-table-column>
<el-table-column label="视频类别" prop="createTime"></el-table-column> <el-table-column label="视频类别" prop="videoContentCatName"></el-table-column>
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <div class="partyt-pagination">
<el-pagination <el-pagination
small
background background
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page="page.currentPage" :current-page="page.currentPage"
...@@ -79,6 +98,8 @@ export default { ...@@ -79,6 +98,8 @@ export default {
} }
}; };
return { return {
copyrightOwner:[],
videoContentCat:[],
type: true, type: true,
value1: "", value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 }, page: { currentPage: 1, pageSize: 10, total: 0 },
...@@ -87,7 +108,7 @@ export default { ...@@ -87,7 +108,7 @@ export default {
FormVisible1: false, FormVisible1: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
name: "" nameOrCode: ""
}, },
editform: { editform: {
menuName: "", menuName: "",
...@@ -132,6 +153,39 @@ export default { ...@@ -132,6 +153,39 @@ export default {
}, },
components: {}, components: {},
methods: { methods: {
// 获取展板分类列表
getAssetCopyrightData(){
let vm = this;
vm.$https({
url: "copyrightOwner/getList",
method: "get",
authType: this.backToken
},
{copyrightOwnerType:'VIDEO_CONTENT'})
.then(res => {
let data = res.data.data;
this.copyrightOwner = data;
})
.catch(function(err) {
console.log(err);
});
},
// 获取视频分类列表
getAssetTypeData() {
let vm = this;
vm.$https({
url: "videoContentCat/getList",
method: "get",
authType: this.backToken
})
.then(res => {
let data = res.data.data;
this.videoContentCat = data;
})
.catch(function(err) {
console.log(err);
});
},
// 渲染父级权限 // 渲染父级权限
getPermis() { getPermis() {
let vm = this; let vm = this;
...@@ -162,7 +216,7 @@ export default { ...@@ -162,7 +216,7 @@ export default {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: "videoContentCat/getPageList", url: "asset/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
...@@ -192,7 +246,6 @@ export default { ...@@ -192,7 +246,6 @@ export default {
}, },
// 重置 // 重置
Reset(){ Reset(){
// this.$refs["form"].resetFields();
this.form = {} this.form = {}
this.Search() this.Search()
}, },
...@@ -202,7 +255,9 @@ export default { ...@@ -202,7 +255,9 @@ export default {
let searchObj = { let searchObj = {
_index: 1, _index: 1,
_size: _this.page.pageSize, _size: _this.page.pageSize,
name: _this.form.name nameOrCode: _this.form.nameOrCode,
videoContentCatId:_this.form.videoContentCatId,
videoContentCopyrightOwnerId:_this.form.videoContentCopyrightOwnerId
}; };
this.getTableData(searchObj); this.getTableData(searchObj);
}, },
...@@ -234,11 +289,11 @@ export default { ...@@ -234,11 +289,11 @@ export default {
_this.selection.forEach(function(e) { _this.selection.forEach(function(e) {
arr.push(e.id); arr.push(e.id);
}); });
// str = arr.join(","); str = arr.join(",");
str = arr; // str = arr;
} else { } else {
// str = ""; str = "";
str = []; // str = [];
} }
return str; return str;
}, },
...@@ -249,31 +304,36 @@ export default { ...@@ -249,31 +304,36 @@ export default {
// console.log(str) // console.log(str)
if (str.length > 0) { if (str.length > 0) {
console.log(str); console.log(str);
// _this.$https({ _this.$https({
// url: "menu/batchDel?menuIds=" + str, url: "asset/download",
// method: "post", method: "get",
// authType: this.backToken authType: this.backToken
// }) },
// .then( {idList:str}
// res => { )
// if (res.data.status == 201 || res.data.status == 200) { .then(
// var reader = new FileReader(); res => {
// reader.readAsDataURL(blob); // 转换为base64,可以直接放入a表情href const blob = new Blob([res.data], {
// reader.onload = function(e) { type:
// var a = document.createElement("a"); "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'"
// a.download = })
// genUUID() + (batchno !== "" ? "_" + batchno : "") + ".zip"; //下载文件名 const downloadElement = document.createElement('a')
// a.href = e.target.result; const contentDisposition = res.headers['content-disposition']
// $("body").append(a); // 修复firefox中无法触发click const patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*')
// a.click(); const result = patt.exec(contentDisposition)
// $(a).remove(); const filename = decodeURI(result[1])
// }; const href = window.URL.createObjectURL(blob) // 创建下载的链接
// } downloadElement.href = href
// //重新查询数据 downloadElement.download = filename // 下载后文件名
// _this.onSearch(); document.body.appendChild(downloadElement)
// }, downloadElement.click() // 点击下载
// error => {} document.body.removeChild(downloadElement) // 下载完成移除元素
// ); window.URL.revokeObjectURL(href) // 释放blob对象
},
error => {}
);
} else { } else {
this.$message({ this.$message({
type: "info", type: "info",
......
...@@ -33,7 +33,7 @@ export default { ...@@ -33,7 +33,7 @@ export default {
methods: { methods: {
getList() { getList() {
let curTime = getCurDate(); let curTime = getCurDate();
let frequencyDate = curTime.year + curTime.month + curTime.date; let frequencyDate = curTime.year + curTime.month;
this.$https({ this.$https({
method: "post", method: "post",
url: "tBoardStatistic/getInteractionFrequencyPageList?frequencyDate=" + frequencyDate, url: "tBoardStatistic/getInteractionFrequencyPageList?frequencyDate=" + frequencyDate,
...@@ -132,7 +132,7 @@ export default { ...@@ -132,7 +132,7 @@ export default {
type: "value", type: "value",
name: "单位/次", name: "单位/次",
splitNumber: 5, splitNumber: 5,
max: 100, // max: 100,
axisLabel: { axisLabel: {
textStyle: { textStyle: {
color: "#333333", color: "#333333",
......
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
<img :src="getImg(index + 1)" alt="" v-if="index < 3" /> <img :src="getImg(index + 1)" alt="" v-if="index < 3" />
<p v-else>{{ index + 1 }}</p> <p v-else>{{ index + 1 }}</p>
</span> </span>
<span>{{ item.organName }}</span> <span>{{ item.playDate || item.organName }}</span>
<span>{{ item.frequencyCnt }}</span> <span>{{ item.playNumber || item.frequencyCnt}}</span>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -28,8 +28,8 @@ ...@@ -28,8 +28,8 @@
<span> <span>
{{ 6 + index }} {{ 6 + index }}
</span> </span>
<span>{{ item.organName }}</span> <span>{{ item.playDate || item.organName }}</span>
<span>{{ item.frequencyCnt }}</span> <span>{{ item.playNumber || item.frequencyCnt}}</span>
</li> </li>
</ul> </ul>
</div> </div>
......
...@@ -85,7 +85,7 @@ export default { ...@@ -85,7 +85,7 @@ export default {
{ {
type: "value", type: "value",
splitNumber: 5, splitNumber: 5,
max: 100, // max: 100,
axisLabel: { axisLabel: {
textStyle: { textStyle: {
color: "#333333", color: "#333333",
......
...@@ -29,7 +29,7 @@ export default { ...@@ -29,7 +29,7 @@ export default {
methods: { methods: {
getList() { getList() {
let curTime = getCurDate(); let curTime = getCurDate();
let playDate = curTime.year + curTime.month + curTime.date; let playDate = curTime.year + curTime.month;
let _this = this; let _this = this;
this.$https({ this.$https({
method: "post", method: "post",
...@@ -120,7 +120,7 @@ export default { ...@@ -120,7 +120,7 @@ export default {
{ {
type: "value", type: "value",
splitNumber: 5, splitNumber: 5,
max: 100, // max: 100,
axisLabel: { axisLabel: {
textStyle: { textStyle: {
color: "#333333", color: "#333333",
......
/* 互动频次 */ /* 互动频次 */
<template> <template>
<div class="interaction-wrapper height100 overview-detail"> <div class="interaction-wrapper height100 overview-detail">
<div class="ecahrts-panel-box"> <div class="btn-group" v-if="isExport">
<div class="panel-box-header"> <el-button
<span class="title">互动频次</span> class="export"
<div class="tip"> type="primary"
<span class="tip-title">页面说明:</span> icon="el-icon-download"
<span> @click="handleExport"
可查看当前系统各项数据统计情况。互动频次及点播趋势图展示部分数据,可进入互动统计及趋势分析详情页查看全部数据。</span >导出文件</el-button
> >
</div>
</div>
<div class="panel-box-content">
<bar :data="echartsData" ref="echarts" />
</div>
</div> </div>
<div class="rank-panel-box"> <div id="bodyCanvas" :class="isExport?'':'export'">
<div class="panel-box-header"> <div class="ecahrts-panel-box">
<span class="title">互动频次排行</span> <div class="panel-box-header">
<span class="title">互动频次</span>
<div class="tip">
<span class="tip-title">页面说明:</span>
<span>
可查看当前系统各项数据统计情况。互动频次及点播趋势图展示部分数据,可进入互动统计及趋势分析详情页查看全部数据。</span
>
</div>
</div>
<div class="panel-box-content">
<bar :data="echartsData" ref="echarts" />
</div>
</div> </div>
<div class="panel-box-content"> <div class="rank-panel-box">
<rank-table :tList="tList" :data="data" /> <div class="panel-box-header">
<span class="title">互动频次排行</span>
</div>
<div class="panel-box-content">
<rank-table :tList="tList" :data="data" />
</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -35,24 +46,30 @@ export default { ...@@ -35,24 +46,30 @@ export default {
tList: ["排名", "机构名称", "互动频次"], tList: ["排名", "机构名称", "互动频次"],
echartsData: {}, echartsData: {},
data: [], data: [],
isExport:false
}; };
}, },
components: { bar, rankTable }, components: { bar, rankTable },
mounted() { mounted() {
let roleList = localStorage.getItem('roleList')
if(roleList){
this.isExport = localStorage.getItem('roleList').includes('1')
}
this.getList(); this.getList();
}, },
methods: { methods: {
getList() { getList() {
let curTime = getCurDate(); let curTime = getCurDate();
let frequencyDate = curTime.year + curTime.month; let frequencyDate = curTime.year + curTime.month;
let _this = this let _this = this;
_this.$https({ _this
method: "post", .$https({
url: method: "post",
"tBoardStatistic/getInteractionPageList?frequencyDate=" + url:
frequencyDate, "tBoardStatistic/getInteractionPageList?frequencyDate=" +
authType: this.backToken, frequencyDate,
}) authType: this.backToken,
})
.then((res) => { .then((res) => {
if (res.status == 200) { if (res.status == 200) {
if (res.data.resultCode == 200) { if (res.data.resultCode == 200) {
...@@ -70,7 +87,7 @@ export default { ...@@ -70,7 +87,7 @@ export default {
} }
setTimeout(() => { setTimeout(() => {
_this.init(); _this.init();
},100); }, 100);
}) })
.catch((err) => { .catch((err) => {
_this.$message.error(err.message); _this.$message.error(err.message);
...@@ -80,10 +97,52 @@ export default { ...@@ -80,10 +97,52 @@ export default {
}, },
init() { init() {
this.$refs.echarts.init(); this.$refs.echarts.init();
} },
handleExport() {
let _this = this;
if (this.timer) {
return false;
}
this.timer = setTimeout(() => {
clearTimeout(_this.timer);
_this.timer = null;
}, 30000);
_this.getPdf("#bodyCanvas", "互动频次");
const loading = this.$loading({
lock: true,
text: "Loading",
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
setTimeout(() => {
loading.close();
}, 2000);
},
}, },
}; };
</script> </script>
<style lang="less" scoped>
<style> .interaction-wrapper {
.btn-group {
margin-bottom: 20px;
height: 36px;
}
/deep/ .el-button.export {
width: 128px;
float: right;
.el-icon-download {
font-size: 18px;
font-weight: bold;
}
}
#bodyCanvas {
height: calc(100% - 56px);
&.export{
height: 100%;
}
}
.ul-wrapper {
background-color: @party-white;
}
}
</style> </style>
\ No newline at end of file
/* 点播趋势图 */ /* 点播趋势图 */
<template> <template>
<div class="trend-wrapper height100 overview-detail"> <div class="trend-wrapper height100 overview-detail">
<div class="btn-group"> <div class="btn-group" v-if="isExport">
<el-button <el-button
class="export" class="export"
type="primary" type="primary"
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
>导出文件</el-button >导出文件</el-button
> >
</div> </div>
<div id="bodyCanvas"> <div id="bodyCanvas" :class="isExport?'':'export'">
<div class="ecahrts-panel-box"> <div class="ecahrts-panel-box">
<div class="panel-box-header"> <div class="panel-box-header">
<span class="title">趋势图</span> <span class="title">趋势图</span>
...@@ -48,8 +48,6 @@ ...@@ -48,8 +48,6 @@
<script> <script>
import { trendLine, rankTable } from "./components"; import { trendLine, rankTable } from "./components";
import { getCurDate } from "@/utils/util.time"; import { getCurDate } from "@/utils/util.time";
import htmlCanvas from "@/utils/htmlCanvas";
import JsPDF from "jspdf";
export default { export default {
data() { data() {
return { return {
...@@ -61,13 +59,18 @@ export default { ...@@ -61,13 +59,18 @@ export default {
options: [ options: [
{ label: "年", value: "1" }, { label: "年", value: "1" },
{ label: "月", value: "2" }, { label: "月", value: "2" },
{ label: "日", value: "3" }, // { label: "日", value: "3" },
], ],
timer: null, timer: null,
isExport: false,
}; };
}, },
components: { trendLine, rankTable }, components: { trendLine, rankTable },
mounted() { mounted() {
let roleList = localStorage.getItem("roleList");
if (roleList) {
this.isExport = localStorage.getItem("roleList").includes("1");
}
this.handleChange("1"); this.handleChange("1");
}, },
methods: { methods: {
...@@ -77,15 +80,14 @@ export default { ...@@ -77,15 +80,14 @@ export default {
.$https({ .$https({
method: "post", method: "post",
url: url:
"tBoardStatistic/getBoardPageList?frequencyDate=" + "tBoardStatistic/getBoardTrendPageList?playDate=" + frequencyDate,
frequencyDate,
authType: this.backToken, authType: this.backToken,
}) })
.then((res) => { .then((res) => {
if (res.status == 200) { if (res.status == 200) {
if (res.data.resultCode == 200) { if (res.data.resultCode == 200) {
_this.echartsData = {}; _this.echartsData = {};
_this.echartsData.xAxisData = res.data.data.organList; _this.echartsData.xAxisData = res.data.data.dateList;
_this.echartsData.yAxisData = res.data.data.cntList; _this.echartsData.yAxisData = res.data.data.cntList;
_this.data = res.data.data.page.records; _this.data = res.data.data.page.records;
} else { } else {
...@@ -182,6 +184,9 @@ export default { ...@@ -182,6 +184,9 @@ export default {
} }
#bodyCanvas { #bodyCanvas {
height: calc(100% - 56px); height: calc(100% - 56px);
&.export {
height: 100%;
}
} }
.ul-wrapper { .ul-wrapper {
background-color: @party-white; background-color: @party-white;
......
...@@ -11,6 +11,9 @@ ...@@ -11,6 +11,9 @@
label-position="top" label-position="top"
class="party-form" class="party-form"
> >
<el-form-item label="当前账号">
<span>{{ userName }}</span>
</el-form-item>
<el-form-item label="请输入当前密码" prop="oldPassWord"> <el-form-item label="请输入当前密码" prop="oldPassWord">
<el-input <el-input
v-model="form.oldPassWord" v-model="form.oldPassWord"
...@@ -66,6 +69,7 @@ export default { ...@@ -66,6 +69,7 @@ export default {
} }
}; };
return { return {
userName: localStorage.getItem("user"),
form: { form: {
oldPassWord: "", oldPassWord: "",
password: "", password: "",
...@@ -92,6 +96,7 @@ export default { ...@@ -92,6 +96,7 @@ export default {
password: "", password: "",
checkPass: "", checkPass: "",
}; };
this.$router.go(-1)
}, },
handleSubmit() { handleSubmit() {
let _this = this; let _this = this;
......
...@@ -84,7 +84,7 @@ export default { ...@@ -84,7 +84,7 @@ export default {
}, },
getFirstPageList() { getFirstPageList() {
this.page._index = 1; this.page._index = 1;
this.getPageList(); this.getFirstPageList();
}, },
handleReset() { handleReset() {
for (let key in this.form) { for (let key in this.form) {
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
clearable
v-model="form.nameOrCode" v-model="form.nameOrCode"
placeholder="请输入操作者" placeholder="请输入操作者"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
...@@ -78,7 +79,7 @@ export default { ...@@ -78,7 +79,7 @@ export default {
{ prop: "operator", label: "操作者" }, { prop: "operator", label: "操作者" },
{ prop: "operationType", label: "操作类型" }, { prop: "operationType", label: "操作类型" },
{ prop: "operationObject", label: "操作对象" }, { prop: "operationObject", label: "操作对象" },
{ prop: "operationIp", label: "操作Ip" }, { prop: "operationIp", label: "设备Ip" },
], ],
list: [], list: [],
page: { page: {
...@@ -93,7 +94,7 @@ export default { ...@@ -93,7 +94,7 @@ export default {
// 获取日志操作类型 // 获取日志操作类型
this.getOperationType(); this.getOperationType();
// 获取机顶盒运维类表 // 获取机顶盒运维类表
this.getLog(); this.getFirstPageList();
}, },
methods: { methods: {
getOperationType() { getOperationType() {
...@@ -102,15 +103,20 @@ export default { ...@@ -102,15 +103,20 @@ export default {
}); });
}, },
handleSubmit() { handleSubmit() {
this.getLog(); this.getFirstPageList();
},
getFirstPageList() {
this.page._index = 1;
this.getPageList();
}, },
handleReset() { handleReset() {
for (let key in this.form) { for (let key in this.form) {
this.form[key] = ""; this.form[key] = "";
} }
this.getLog(); this.getFirstPageList();
}, },
getLog() {
getPageList() {
let requestParams = {}; let requestParams = {};
requestParams._index = this.page._index; requestParams._index = this.page._index;
requestParams._size = this.page._size; requestParams._size = this.page._size;
...@@ -162,7 +168,7 @@ export default { ...@@ -162,7 +168,7 @@ export default {
// 翻页 // 翻页
handleChangeCurrent(val) { handleChangeCurrent(val) {
this.page._index = val; this.page._index = val;
this.getLog(); this.getPageList();
}, },
}, },
watch: {}, watch: {},
......
...@@ -4,9 +4,12 @@ ...@@ -4,9 +4,12 @@
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-select v-model="form.user" placeholder="请选择所属单位"> <el-select
clearable
v-model="form.organId"
placeholder="请选择所属单位"
>
<el-option <el-option
v-model="form.organId"
v-for="item in organList" v-for="item in organList"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
...@@ -17,6 +20,7 @@ ...@@ -17,6 +20,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
clearable
v-model="form.date" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
...@@ -99,7 +103,7 @@ export default { ...@@ -99,7 +103,7 @@ export default {
this.getPageList(); this.getPageList();
}, },
handleSubmit() { handleSubmit() {
this.getPageList(); this.getFirstPageList();
}, },
handleReset() { handleReset() {
for (let key in this.form) { for (let key in this.form) {
......
...@@ -84,7 +84,7 @@ export default { ...@@ -84,7 +84,7 @@ export default {
{ prop: "operator", label: "操作者" }, { prop: "operator", label: "操作者" },
{ prop: "operationType", label: "操作类型" }, { prop: "operationType", label: "操作类型" },
{ prop: "operationObject", label: "操作对象" }, { prop: "operationObject", label: "操作对象" },
{ prop: "operationIp", label: "操作Ip" }, { prop: "operationIp", label: "设备Ip" },
], ],
list: [], list: [],
page: { page: {
...@@ -112,7 +112,7 @@ export default { ...@@ -112,7 +112,7 @@ export default {
}); });
}, },
handleSubmit() { handleSubmit() {
this.getPageList(); this.getFirstPageList();
}, },
handleReset() { handleReset() {
for (let key in this.form) { for (let key in this.form) {
......
...@@ -550,6 +550,18 @@ ...@@ -550,6 +550,18 @@
.icon-disable { .icon-disable {
background-image: url("~@/assets/icons/disable.png"); background-image: url("~@/assets/icons/disable.png");
} }
.icon-up{
background-image: url("~@/assets/icons/up.png");
}
.icon-down{
background-image: url("~@/assets/icons/down.png");
}
.icon-video{
background-image: url("~@/assets/icons/video.png");
}
.icon-board{
background-image: url("~@/assets/icons/board.png");
}
.icon-del { .icon-del {
background-image: url("~@/assets/icons/del.png"); background-image: url("~@/assets/icons/del.png");
......
...@@ -40,6 +40,14 @@ ...@@ -40,6 +40,14 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center; background-position: center;
} }
.icon-table-up{
display: inline-block;
width: 12px;
height: 24px;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.passed, .passed,
......
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