Commit 6508bf10 authored by Your Name's avatar Your Name

展板版权方、内容管理删除提示

parent 9634ca70
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" class="search-form" onsubmit="return false;">
<el-form-item label="">
<el-input
placeholder="请输入视频名称"
v-model="form.nameOrCode"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item label="">
<el-select
placeholder="请选择视频版权方"
@focus="getAssetCopyrightData"
v-model="form.videoContentCopyrightOwnerId"
clearable
>
<el-option
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>
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可通过版权方、视频分类及视频名称模糊搜索快速筛选视频信息,可对视频信息进行修改、删除。</span>
</div>
</div>
<div class="table-content">
<div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频</el-button>
</div>
<div class="party-table">
<el-table
border
style="width: 100%;height:100%"
height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号">
<template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip label="视频名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="版权方" prop="videoContentCopyrightOwnerName"></el-table-column>
<el-table-column label="视频分类" prop="videoContentCatName"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus">
<template slot-scope="scope">
<span v-if="scope.row.auditStatus === 'TBC'">待初审</span>
<span v-else-if="scope.row.auditStatus === 'REFUSED'">已驳回</span>
<span v-else-if="scope.row.auditStatus === 'TBCA'">待复审</span>
<span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'">通过</span>
</template>
</el-table-column>
<el-table-column label="操作" header-align="center" width="220" align="center">
<template slot-scope="scope" >
<div class="table-btn-group">
<el-tooltip content="修改" placement="top">
<el-button :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<!-- <el-tooltip content="启用" placement="top">
<el-button circle @click="handlePublish(scope.row,'True')">
<i class="icon-table icon-enable"></i>
</el-button>
</el-tooltip>
<el-tooltip content="禁用" placement="top">
<el-button circle @click="handlePublish(scope.row,'False')">
<i class="icon-table icon-disable"></i>
</el-button>
</el-tooltip>-->
<el-tooltip content="删除" placement="top">
<el-button :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="handleDelete(scope.row)">
<i class="icon-table icon-del"></i>
</el-button>
</el-tooltip>
<el-tooltip content="审核详情" placement="top">
<el-button circle @click="openDetails(scope.row)">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.pageSize"
layout="prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
<!--新增弹框-->
<el-dialog title="新建" class="newPermis" :visible.sync="FormVisible1" :before-close="close1">
<div class="form_box">
<el-form
:model="permisform"
ref="permisform"
:rules="rules"
id="ruleo"
label-position="left"
>
<el-form-item label="排序值:" prop="sort" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.sort"
auto-complete="off"
clearable
placeholder="请输入排序值"
></el-input>
</el-form-item>
<el-form-item label="菜单名称:" prop="menuName" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.menuName"
onkeyup="this.value=this.value.replace(/\s+/g,'')"
auto-complete="off"
clearable
placeholder="请输入您的菜单名称"
></el-input>
</el-form-item>
<el-form-item label="地址:" prop="menuUrl" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.menuUrl"
onkeyup="this.value=this.value.replace(/\s+/g,'')"
auto-complete="off"
clearable
placeholder="请输入您的菜单地址"
></el-input>
</el-form-item>
<el-form-item label="父级菜单:" prop="parentId" :label-width="formLabelWidth">
<el-select
size="small"
v-model="permisform.parentId"
value-key="name"
clearable
placeholder="请选择父级菜单"
>
<el-option
v-for="(item,index) in typeList"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button class="r-float" size="mini" type="primary" @click="permisSave">确定</el-button>
<el-button class="r-float" size="mini" @click="close1">取 消</el-button>
</div>
</div>
</el-dialog>
<!--查看详情-->
<el-dialog
custom-class="party-dialog"
title="审核详情"
width="468px"
:visible.sync="FormVisible"
:before-close="close"
>
<div class="dialog-content">
<el-form
:model="editform"
disabled
class="party-form"
ref="editform"
label-width="80px"
label-position="top"
:rules="rules"
>
<el-form-item label="初审时间:" :label-width="formLabelWidth">
<span class="input-item">{{editform.firstTime}}</span>
</el-form-item>
<el-form-item label="复审时间:" :label-width="formLabelWidth">
<span class="input-item">{{editform.secondTime}}</span>
</el-form-item>
<el-form-item label="审核结果:" :label-width="formLabelWidth">
<span class="input-item">{{keyMap[editform.status]}}</span>
</el-form-item>
<el-form-item label="驳回原因:" :label-width="formLabelWidth" v-if="editform.status==='REFUSED'">
<span class="input-item">{{editform.firstRemarks || editform.secondRemarks}}</span>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
const keyMap ={'TBC':'待初审','REFUSED':'已驳回','TBCA':'待复审','APPROVED_FINAL':'通过'}
return {
copyrightOwner:[],
videoContentCat:[],
keyMap:keyMap,
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: ""
},
editform: {},
permisform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
},
typeList: [],
rules: {
sort: [
{ required: true, message: "请输入顺序值", trigger: "change" },
{ pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" }
],
menuName: [
{ required: true, message: "请输入菜单名称", trigger: "change" },
{ max: 20, message: "不能超过20个字符", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" }
],
menuUrl: [
{ required: true, message: "请输入菜单地址", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" }
],
parentId: [
{ required: true, message: "请输入父级菜单", trigger: "change" }
]
},
value: "",
name: ""
};
},
computed: {},
mounted() {
this.onSearch();
// this.getPermis();
},
components: {},
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() {
let vm = this;
vm.$https({
method: "get",
url: "menu/getRoleMenu?roleId=" + sessionStorage.getItem("roleId"),
authType: this.backToken
}).then(
res => {
let data = res.data;
vm.typeList = data.map((e, i) => {
return {
id: e.id,
name:
e.menuName.indexOf("-") == -1
? e.menuName
: e.menuName.split("-")[1]
};
});
},
error => {
console.log(error);
}
);
},
// 获得数据接口
getTableData(param) {
let vm = this;
vm.$https(
{
url: "videoContent/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
// 重置
Reset() {
this.form = {};
this.Search();
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
nameOrCode: _this.form.nameOrCode,
videoContentCatId:_this.form.videoContentCatId,
videoContentCopyrightOwnerId:_this.form.videoContentCopyrightOwnerId
};
this.getTableData(searchObj);
},
// // 获取当前查询参数
getSearchQuery() {
let _this = this;
let searchObj = {
_index: _this.page.currentPage,
_size: _this.page.pageSize
};
for (let key in _this.form) {
if (_this.form[key]) {
searchObj[key] = _this.form[key];
}
}
return searchObj;
},
// 添加
addPermis() {
this.$router.push({ path: "videoContentAdd", query: { type: "add" } });
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
},
// 添加权限
permisSave() {
let _this = this;
_this.$refs.permisform.validate(valid => {
if (valid) {
_this
.$https(
{ url: "menu/add", method: "post", authType: this.backToken },
_this.$qs.stringify(_this.permisform)
)
.then(
res => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.permisform) {
_this.permisform[key] = null;
}
_this.$refs["permisform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible = false;
this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.permisform) {
this.permisform[key] = null;
}
this.$refs["permisform"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.$router.push({
path: "videoContentUpdate",
query: { type: "Update", id: row.id }
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
openDetails(row) {
let _this = this;
_this.FormVisible = true;
// 获取详情
this.getAssetInfo(row.id);
},
// 获取视频分类详情
getAssetInfo(id) {
let vm = this;
const param ={
id:id,
type:'VIDEO_CONTENT'
}
vm.$https(
{
url: "audit/getById",
method: "get",
authType: this.backToken
},
param
)
.then(res => {
let data = res.data.data;
this.editform = data || {};
})
.catch(function(err) {
console.log(err);
});
},
// 根据视频内容id查询被引用的展板
getUseBoard(id){
this
.$https({
method: "get",
url: "videoContent/getExhibitionBoardById/" + id,
authType: this.backToken
})
.then(
res => {
if(res.data.resultCode === "200"){
// console.log(res.data.data,'wwwww')
let data = res.data.data
if(data){
data = '当前视频已被展板(' + res.data.data + ')所使用,'
}else{
data = '当前视频无引用展板,'
}
console.log(data)
this.openDel(id,data)
}else{
this.$message({ type: "error", message: res.data.message });
}
},
error => {
this.$message({
type: "fail",
message: "删除失败!" + error.response.data
});
}
);
},
//
// 删除弹出确认窗口
openDel(id,data){
// alert(data)
const dataMsg = data
let _this = this;
this.$confirm(dataMsg + "此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
_this
.$https({
method: "delete",
url: "videoContent/delete/" + id,
authType: this.backToken
})
.then(
res => {
if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "删除视频申请已提交,待审核!" });
_this.Search();
}else{
this.$message({ type: "error", message: res.data.message });
}
},
error => {
this.$message({
type: "fail",
message: "删除失败!" + error.response.data
});
}
);
})
.catch(() => {});
},
// 删除
handleDelete(row) {
this.getUseBoard(row.id)
},
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
},
getMultipleSelect() {
let _this = this;
let arr = [];
let str = "";
if (_this.selection) {
_this.selection.forEach(function(e) {
arr.push(e.id);
});
str = arr.join(",");
} else {
str = "";
}
return str;
},
// 批量删除
multipleDelete() {
let _this = this;
let str = _this.getMultipleSelect();
if (str) {
this.$confirm("此操作将删除选中菜单, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
_this
.$https({
url: "menu/batchDel?menuIds=" + str,
method: "DELETE",
authType: this.backToken
})
.then(
res => {
if (res.data.status === 201 || res.data.status === 200) {
this.$message({
type: "success",
message: "删除成功!"
});
}
//重新查询数据
_this.onSearch();
},
error => {}
);
});
} else {
this.$message({
type: "info",
message: "请至少选择一个选项!"
});
}
}
}
};
</script>
<style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/table.less";
@import "../../../../style/pagination.less";
@import "../../../../style/dialog.less";
.listPage {
.input-item {
font-size: 16px;
color:#333;
}
}
</style>
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" class="search-form" onsubmit="return false;">
<el-form-item label="">
<el-input
placeholder="请输入视频名称"
v-model="form.nameOrCode"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item label="">
<el-select
placeholder="请选择视频版权方"
@focus="getAssetCopyrightData"
v-model="form.videoContentCopyrightOwnerId"
clearable
>
<el-option
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>
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可通过版权方、视频分类及视频名称模糊搜索快速筛选视频信息,可对视频信息进行修改、删除。</span>
</div>
</div>
<div class="table-content">
<div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频</el-button>
</div>
<div class="party-table">
<el-table
border
style="width: 100%;height:100%"
height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号">
<template slot-scope="scope">
<span>{{ (page.currentPage - 1) * 10 + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip label="视频名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="版权方" prop="videoContentCopyrightOwnerName"></el-table-column>
<el-table-column label="视频分类" prop="videoContentCatName"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus">
<template slot-scope="scope">
<span v-if="scope.row.auditStatus === 'TBC'">待初审</span>
<span v-else-if="scope.row.auditStatus === 'REFUSED'">已驳回</span>
<span v-else-if="scope.row.auditStatus === 'TBCA'">待复审</span>
<span v-else-if="scope.row.auditStatus === 'APPROVED_FINAL'">通过</span>
</template>
</el-table-column>
<el-table-column label="操作" header-align="center" width="220" align="center">
<template slot-scope="scope" >
<div class="table-btn-group">
<el-tooltip content="修改" placement="top">
<el-button :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="openEdit(scope.row)">
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<!-- <el-tooltip content="启用" placement="top">
<el-button circle @click="handlePublish(scope.row,'True')">
<i class="icon-table icon-enable"></i>
</el-button>
</el-tooltip>
<el-tooltip content="禁用" placement="top">
<el-button circle @click="handlePublish(scope.row,'False')">
<i class="icon-table icon-disable"></i>
</el-button>
</el-tooltip>-->
<el-tooltip content="删除" placement="top">
<el-button :disabled="(scope.row.auditStatus === 'TBC')||(scope.row.auditStatus === 'TBCA')" circle @click="handleDelete(scope.row)">
<i class="icon-table icon-del"></i>
</el-button>
</el-tooltip>
<el-tooltip content="审核详情" placement="top">
<el-button circle @click="openDetails(scope.row)">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.pageSize"
layout="prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
<!--新增弹框-->
<el-dialog title="新建" class="newPermis" :visible.sync="FormVisible1" :before-close="close1">
<div class="form_box">
<el-form
:model="permisform"
ref="permisform"
:rules="rules"
id="ruleo"
label-position="left"
>
<el-form-item label="排序值:" prop="sort" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.sort"
auto-complete="off"
clearable
placeholder="请输入排序值"
></el-input>
</el-form-item>
<el-form-item label="菜单名称:" prop="menuName" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.menuName"
onkeyup="this.value=this.value.replace(/\s+/g,'')"
auto-complete="off"
clearable
placeholder="请输入您的菜单名称"
></el-input>
</el-form-item>
<el-form-item label="地址:" prop="menuUrl" :label-width="formLabelWidth">
<el-input
size="small"
v-model="permisform.menuUrl"
onkeyup="this.value=this.value.replace(/\s+/g,'')"
auto-complete="off"
clearable
placeholder="请输入您的菜单地址"
></el-input>
</el-form-item>
<el-form-item label="父级菜单:" prop="parentId" :label-width="formLabelWidth">
<el-select
size="small"
v-model="permisform.parentId"
value-key="name"
clearable
placeholder="请选择父级菜单"
>
<el-option
v-for="(item,index) in typeList"
:key="index"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button class="r-float" size="mini" type="primary" @click="permisSave">确定</el-button>
<el-button class="r-float" size="mini" @click="close1">取 消</el-button>
</div>
</div>
</el-dialog>
<!--查看详情-->
<el-dialog
custom-class="party-dialog"
title="审核详情"
width="468px"
:visible.sync="FormVisible"
:before-close="close"
>
<div class="dialog-content">
<el-form
:model="editform"
disabled
class="party-form"
ref="editform"
label-width="80px"
label-position="top"
:rules="rules"
>
<el-form-item label="初审时间:" :label-width="formLabelWidth">
<span class="input-item">{{editform.firstTime}}</span>
</el-form-item>
<el-form-item label="复审时间:" :label-width="formLabelWidth">
<span class="input-item">{{editform.secondTime}}</span>
</el-form-item>
<el-form-item label="审核结果:" :label-width="formLabelWidth">
<span class="input-item">{{keyMap[editform.status]}}</span>
</el-form-item>
<el-form-item label="驳回原因:" :label-width="formLabelWidth" v-if="editform.status==='REFUSED'">
<span class="input-item">{{editform.firstRemarks || editform.secondRemarks}}</span>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close">关 闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
const keyMap ={'TBC':'待初审','REFUSED':'已驳回','TBCA':'待复审','APPROVED_FINAL':'通过'}
return {
copyrightOwner:[],
videoContentCat:[],
keyMap:keyMap,
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: ""
},
editform: {},
permisform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
},
typeList: [],
rules: {
sort: [
{ required: true, message: "请输入顺序值", trigger: "change" },
{ pattern: /^(\d{1,5})?$/, message: "排序值为低于5位数的纯数字" }
],
menuName: [
{ required: true, message: "请输入菜单名称", trigger: "change" },
{ max: 20, message: "不能超过20个字符", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" }
],
menuUrl: [
{ required: true, message: "请输入菜单地址", trigger: "change" },
{ validator: checkIsNull, trigger: "blur" }
],
parentId: [
{ required: true, message: "请输入父级菜单", trigger: "change" }
]
},
value: "",
name: ""
};
},
computed: {},
mounted() {
this.onSearch();
// this.getPermis();
},
components: {},
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() {
let vm = this;
vm.$https({
method: "get",
url: "menu/getRoleMenu?roleId=" + sessionStorage.getItem("roleId"),
authType: this.backToken
}).then(
res => {
let data = res.data;
vm.typeList = data.map((e, i) => {
return {
id: e.id,
name:
e.menuName.indexOf("-") == -1
? e.menuName
: e.menuName.split("-")[1]
};
});
},
error => {
console.log(error);
}
);
},
// 获得数据接口
getTableData(param) {
let vm = this;
vm.$https(
{
url: "videoContent/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
// 重置
Reset() {
this.form = {};
this.Search();
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
nameOrCode: _this.form.nameOrCode,
videoContentCatId:_this.form.videoContentCatId,
videoContentCopyrightOwnerId:_this.form.videoContentCopyrightOwnerId
};
this.getTableData(searchObj);
},
// // 获取当前查询参数
getSearchQuery() {
let _this = this;
let searchObj = {
_index: _this.page.currentPage,
_size: _this.page.pageSize
};
for (let key in _this.form) {
if (_this.form[key]) {
searchObj[key] = _this.form[key];
}
}
return searchObj;
},
// 添加
addPermis() {
this.$router.push({ path: "videoContentAdd", query: { type: "add" } });
// $('.el-dialog__title').html('新建');
// this.FormVisible1 = true;
},
// 添加权限
permisSave() {
let _this = this;
_this.$refs.permisform.validate(valid => {
if (valid) {
_this
.$https(
{ url: "menu/add", method: "post", authType: this.backToken },
_this.$qs.stringify(_this.permisform)
)
.then(
res => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.permisform) {
_this.permisform[key] = null;
}
_this.$refs["permisform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible = false;
this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.permisform) {
this.permisform[key] = null;
}
this.$refs["permisform"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.$router.push({
path: "videoContentUpdate",
query: { type: "Update", id: row.id }
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
openDetails(row) {
let _this = this;
_this.FormVisible = true;
// 获取详情
this.getAssetInfo(row.id);
},
// 获取视频分类详情
getAssetInfo(id) {
let vm = this;
const param ={
id:id,
type:'VIDEO_CONTENT'
}
vm.$https(
{
url: "audit/getById",
method: "get",
authType: this.backToken
},
param
)
.then(res => {
let data = res.data.data;
this.editform = data || {};
})
.catch(function(err) {
console.log(err);
});
},
// 根据视频内容id查询被引用的展板
// getUseBoard(id){
// this
// .$https({
// method: "get",
// url: "videoContent/getExhibitionBoardById/" + id,
// authType: this.backToken
// })
// .then(
// res => {
// if(res.data.resultCode === "200"){
// // console.log(res.data.data,'wwwww')
// let data = res.data.data
// if(data){
// data = '当前视频已被展板(' + res.data.data + ')所使用,'
// }else{
// data = '当前视频无引用展板,'
// }
// console.log(data)
// this.openDel(id,data)
// }else{
// this.$message({ type: "error", message: res.data.message });
// }
// },
// error => {
// this.$message({
// type: "fail",
// message: "删除失败!" + error.response.data
// });
// }
// );
// },
//
// 删除弹出确认窗口
openDel(id){
// alert(data)
// const dataMsg = data
},
// 删除
handleDelete(row) {
var id = row.id
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
_this
.$https({
method: "delete",
url: "videoContent/delete/" + id,
authType: this.backToken
})
.then(
res => {
if(res.data.resultCode === "200"){
this.$message({ type: "success", message: "删除视频申请已提交,待审核!" });
_this.Search();
}else{
this.$message({ type: "error", message: res.data.message });
}
},
error => {
this.$message({
type: "fail",
message: "删除失败!" + error.response.data
});
}
);
})
.catch(() => {});
},
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
},
getMultipleSelect() {
let _this = this;
let arr = [];
let str = "";
if (_this.selection) {
_this.selection.forEach(function(e) {
arr.push(e.id);
});
str = arr.join(",");
} else {
str = "";
}
return str;
},
// 批量删除
multipleDelete() {
let _this = this;
let str = _this.getMultipleSelect();
if (str) {
this.$confirm("此操作将删除选中菜单, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
_this
.$https({
url: "menu/batchDel?menuIds=" + str,
method: "DELETE",
authType: this.backToken
})
.then(
res => {
if (res.data.status === 201 || res.data.status === 200) {
this.$message({
type: "success",
message: "删除成功!"
});
}
//重新查询数据
_this.onSearch();
},
error => {}
);
});
} else {
this.$message({
type: "info",
message: "请至少选择一个选项!"
});
}
}
}
};
</script>
<style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/table.less";
@import "../../../../style/pagination.less";
@import "../../../../style/dialog.less";
.listPage {
.input-item {
font-size: 16px;
color:#333;
}
}
</style>
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