Commit ae7cacd0 authored by qzhxx's avatar qzhxx

视频版权、分类,展板版权接口对接

parent 0b9b4dd0
<template> <template>
<h1>展板分类</h1> <div class="listPage H100">
</template> <div class="search-container">
\ No newline at end of file <el-form :inline="true" :model="form" class="search-form" onsubmit="return false;">
<el-form-item label="版权方名称">
<el-input
size="mini"
placeholder="请输入版权方名称"
v-model="form.name"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item label="版权方有效期">
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</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">重置</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="序号"></el-table-column>
<el-table-column label="展板分类" prop="name"></el-table-column>
<el-table-column label="版权方" prop="copyrightOwnerName"></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220">
<el-button-group>
<el-button
title="删除"
type="text"
size="mini"
@click="handleDelete(scope.row)"
>删除&nbsp;&nbsp;</el-button>
<el-button
title="编辑"
size="mini"
type="text"
@click="openEdit(scope.row)"
>编辑&nbsp;&nbsp;</el-button>
<!-- <el-button title="编辑" size="mini" type="text" @click="openDetails(scope.row)">查看详情</el-button> -->
</el-button-group>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
small
background
@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="dialog-content">
<el-form
:model="classForm"
ref="classForm"
label-width="80px"
label-position="top"
:rules="rules"
id="ruleo"
class="party-form"
>
<el-form-item label="展板分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" v-show="type" type="primary" @click="permisSave">确定</el-button>
<el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button>
<el-button size="mini" @click="close1">取 消</el-button>
</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="right" :rules="rules">
<el-form-item label="审核层级:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.sort"
auto-complete="off"
clearable
></el-input>
</el-form-item>
<el-form-item label="审核时间:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.menuName"
auto-complete="off"
clearable
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item label="审核结果:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.menuUrl"
auto-complete="off"
clearable
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item label="驳回原因:" :label-width="formLabelWidth">
<el-input type="textarea" v-model="editform.desc"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="submitForm('editform')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return {
type:true,
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: ""
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: ""
},
classForm: {
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: {
// 渲染父级权限
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: "assetType/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data.body;
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);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
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;
this.type = true
},
// 新建展板分类确认保存
permisSave() {
let _this = this;
_this.$refs.classForm.validate(valid => {
if (valid) {
_this
.$https(
{ url: "assetType/save", method: "post", authType: this.backToken },
// _this.$qs.stringify(_this.classForm)
_this.classForm
)
.then(
res => {
if (res.data.code == 200 || res.data.code == 201) {
_this.$message({
type: "success",
message: '新建成功!'
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.msg
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑展板分类确认保存
permisEdit() {
let _this = this;
_this.$refs.classForm.validate(valid => {
if (valid) {
_this
.$https(
{ url: "assetType/update", method: "put", authType: this.backToken },
_this.$qs.stringify(_this.classForm)
// _this.classForm
)
.then(
res => {
if (res.data.code == 200 || res.data.code == 201) {
_this.$message({
type: "success",
message: '新建成功!'
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.msg
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible1 = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
// this.FormVisible = false;
// this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.type = false
$('.el-dialog__title').html('编辑');
let _this=this;
//成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
_this.FormVisible1 = true;
this.getAssetTypeInfo(row.id)
},
// 获取展板分类详情
getAssetTypeInfo(id){
let vm = this;
vm.$https(
{
url: "assetType/get/" + id,
method: "get",
authType: this.backToken
},
// param
)
.then(res => {
let data = res.data.body;
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails() {
let _this = this;
_this.FormVisible = true;
},
// 删除
handleDelete(row) {
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
_this.$https({
method: 'delete',
url: 'assetType/delete/'+ row.id,
authType: this.backToken
}).then((res) => {
this.$message({type: 'success', message: '删除成功!'});
_this.Search();
}, (error) => {
this.$message({type: 'fail', message: "删除失败!" + error.response.data});
}
)
})
.catch(() => {});
},
// // 保存编辑信息
// submitForm() {
// let _this = this;
// _this.$refs.editform.validate(valid => {
// if (valid) {
// let searchObj = {};
// for (let key in _this.editform) {
// if (this.editform[key]) {
// searchObj[key] = _this.editform[key];
// }
// }
// let str = _this.editform.menuName;
// let index = str.lastIndexOf("-");
// str = str.substring(index + 1, str.length);
// searchObj.menuName = str;
// _this
// .$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(searchObj)
// )
// .then(
// res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.onSearch();
// _this.FormVisible = false;
// _this.$refs["editform"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
// }
// });
// },
// 批量操作
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/dialog";
@import "../../../../style/dialog.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style>
<template>
<div class="addFormBox">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="addForm" label-position="top">
<el-form-item
label="页面说明:"
class="addTipMsg"
>可新建版权方信息。创建展板内容,“*”为必填项,音频资料支持汉语、蒙语、藏语、维吾尔语、英语五种言音频上传,参考资料支持多文件上传。</el-form-item>
<div class="addTitle">展板基本信息</div>
<el-form-item label="展板名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="展板版权方">
<el-select v-model="ruleForm.desc" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="展板分类">
<el-select v-model="ruleForm.desc" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="展板图片">
</el-form-item>
<el-form-item label="展板二维码">
</el-form-item>
<el-form-item label="展板介绍">
<el-input type="textarea" v-model="ruleForm.desc"></el-input>
</el-form-item>
<div class="addTitle">展板影音信息</div>
<el-form-item label="视频版权方">
<el-select v-model="ruleForm.desc" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="视频类别">
<el-select v-model="ruleForm.desc" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="视频">
<el-select v-model="ruleForm.desc" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="导览音频">
</el-form-item>
<el-form-item label="参考资料">
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class="party-dialog"
title="新建视频分类"
width="468px"
:visible.sync="dialogVisible"
:before-close="close"
>
<div class="dialog-content">
<el-form
:model="classForm"
ref="classForm"
label-width="80px"
label-position="top"
:rules="rules"
id="ruleo"
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="classForm.desc"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="save">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
options: [
{
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
dialogVisible: false,
formLabelWidth: "100px",
form: {
name: ""
},
classForm: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
},
value1: "",
ruleForm: {
name: "",
region: "",
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: ""
},
departments: [
{
value: "Beijing",
label: "北京"
},
{
value: "Shanghai",
label: "上海"
},
{
value: "Nanjing",
label: "南京"
},
{
value: "Chengdu",
label: "成都"
},
{
value: "Shenzhen",
label: "深圳"
},
{
value: "Guangzhou",
label: "广州"
}
],
checkedThing: false,
department: [],
selfstyle: {
textAlign: "right",
width: "100%",
paddingRight: "10px"
},
rules: {
name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" },
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
region: [
{ required: true, message: "请选择活动区域", trigger: "change" }
],
date1: [
{
type: "date",
required: true,
message: "请选择日期",
trigger: "change"
}
],
date2: [
{
type: "date",
required: true,
message: "请选择时间",
trigger: "change"
}
],
type: [
{
type: "array",
required: true,
message: "请至少选择一个活动性质",
trigger: "change"
}
],
resource: [
{ required: true, message: "请选择活动资源", trigger: "change" }
],
desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }]
}
};
},
methods: {
// 新建视频分类
addVideoClass() {
this.dialogVisible = true;
},
save() {
this.dialogVisible = false;
},
// 新增关闭
close() {
this.dialogVisible = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
},
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
alert("submit!");
} else {
console.log("error submit!!");
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
history.go(-1);
},
getSelectDep(department) {
// debugger
if (department.length === this.departments.length) {
this.checkedThing = true;
} else {
this.checkedThing = false;
}
},
selectAllThing() {
// debugger
this.department = [];
if (this.checkedThing) {
this.departments.map(item => {
this.department.push(item.label);
});
} else {
this.department = [];
}
}
}
};
</script>
<style lang="less">
@import "../../style/add";
@import "../../../../style/dialog";
</style>
\ No newline at end of file
<template> <template>
<h1>展板版权</h1> <div class="listPage H100">
</template> <div class="search-container">
\ No newline at end of file <el-form :inline="true" :model="form" class="search-form" onsubmit="return false;">
<el-form-item label="版权方名称">
<el-input
size="mini"
placeholder="请输入版权方名称"
v-model="form.name"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item label="版权方有效期">
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</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">重置</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="序号"></el-table-column>
<el-table-column show-overflow-tooltip label="版权方名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="展板分类" prop="assetTypeNames"></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="版权方有效期" prop="expireDateEnd"></el-table-column>
<el-table-column show-overflow-tooltip label="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220">
<el-button-group>
<el-button
title="编辑"
size="mini"
type="text"
@click="openEdit(scope.row)"
>编辑&nbsp;&nbsp;</el-button>
<el-button title="删除" type="text" size="mini" @click="handleDelete(scope.row)">删除</el-button>
</el-button-group>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
small
background
@current-change="handleCurrentChange"
:current-page="page.currentPage"
:page-size="page.pageSize"
layout="prev, pager, next, jumper"
:total="page.total"
></el-pagination>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return {
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: ""
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: ""
},
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: {
// 渲染父级权限
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: "copyrightOwner/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data.body;
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);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
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: "videoCopyrightAdd", 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: "videoCopyrightUpdate",
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;
},
// 删除
handleDelete(row) {
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
_this.$https({
method: 'delete',
url: 'copyrightOwner/delete/'+ row.id,
authType: this.backToken
}).then((res) => {
this.$message({type: 'success', message: '删除成功!'});
_this.Search();
}, (error) => {
this.$message({type: 'fail', message: "删除失败!" + error.response.data});
}
)
})
.catch(() => {});
},
// 保存编辑信息
submitForm() {
let _this = this;
_this.$refs.editform.validate(valid => {
if (valid) {
let searchObj = {};
for (let key in _this.editform) {
if (this.editform[key]) {
searchObj[key] = _this.editform[key];
}
}
let str = _this.editform.menuName;
let index = str.lastIndexOf("-");
str = str.substring(index + 1, str.length);
searchObj.menuName = str;
_this
.$https(
{
url: "menu/edit",
method: "put",
authType: this.backToken
},
_this.$qs.stringify(searchObj)
)
.then(
res => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message
});
_this.onSearch();
_this.FormVisible = false;
_this.$refs["editform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
}
}
};
</script>
<style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style>
<template> <template>
<div class="unit-admin-wrapper"> <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
size="mini"
placeholder="请输入版权方名称"
v-model="form.name"
@keyup.enter.native="Search"
clearable
></el-input>
</el-form-item>
<el-form-item label="版权方有效期">
<el-date-picker
v-model="value1"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</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">重置</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="序号"></el-table-column>
<el-table-column label="视频分类" prop="name"></el-table-column>
<el-table-column label="版权方" prop="copyrightOwnerName"></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220">
<el-button-group>
<el-button
title="删除"
type="text"
size="mini"
@click="handleDelete(scope.row)"
>删除&nbsp;&nbsp;</el-button>
<el-button
title="编辑"
size="mini"
type="text"
@click="openEdit(scope.row)"
>编辑&nbsp;&nbsp;</el-button>
<!-- <el-button title="编辑" size="mini" type="text" @click="openDetails(scope.row)">查看详情</el-button> -->
</el-button-group>
</template>
</el-table-column>
</el-table>
</div>
<div class="partyt-pagination">
<el-pagination
small
background
@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="dialog-content">
<el-form
:model="classForm"
ref="classForm"
label-width="80px"
label-position="top"
:rules="rules"
id="ruleo"
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" v-show="type" type="primary" @click="permisSave">确定</el-button>
<el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button>
<el-button size="mini" @click="close1">取 消</el-button>
</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="right" :rules="rules">
<el-form-item label="审核层级:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.sort"
auto-complete="off"
clearable
></el-input>
</el-form-item>
<el-form-item label="审核时间:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.menuName"
auto-complete="off"
clearable
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item label="审核结果:" :label-width="formLabelWidth">
<el-input
size="small"
v-model="editform.menuUrl"
auto-complete="off"
clearable
onkeyup="this.value=this.value.replace(/^ +| +$/g,'')"
></el-input>
</el-form-item>
<el-form-item label="驳回原因:" :label-width="formLabelWidth">
<el-input type="textarea" v-model="editform.desc"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="submitForm('editform')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data(){ data() {
return{ var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return {
type:true,
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px",
form: {
name: ""
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: ""
},
classForm: {
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: {
// 渲染父级权限
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);
} }
);
}, },
mounted(){ // 获得数据接口
getTableData(param) {
let vm = this;
vm.$https(
{
url: "assetType/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data.body;
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);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
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;
this.type = true
},
// 新建视频分类确认保存
permisSave() {
let _this = this;
_this.$refs.classForm.validate(valid => {
if (valid) {
_this
.$https(
{ url: "assetType/save", method: "post", authType: this.backToken },
// _this.$qs.stringify(_this.classForm)
_this.classForm
)
.then(
res => {
if (res.data.code == 200 || res.data.code == 201) {
_this.$message({
type: "success",
message: '新建成功!'
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.msg
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
}, },
methods:{ // 编辑视频分类确认保存
permisEdit() {
let _this = this;
_this.$refs.classForm.validate(valid => {
if (valid) {
_this
.$https(
{ url: "assetType/update", method: "put", authType: this.backToken },
_this.$qs.stringify(_this.classForm)
// _this.classForm
)
.then(
res => {
if (res.data.code == 200 || res.data.code == 201) {
_this.$message({
type: "success",
message: '新建成功!'
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.msg
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible1 = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
// this.FormVisible = false;
// this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
},
// 编辑弹框
openEdit(row) {
this.type = false
$('.el-dialog__title').html('编辑');
let _this=this;
//成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
_this.FormVisible1 = true;
this.getAssetTypeInfo(row.id)
},
// 获取视频分类详情
getAssetTypeInfo(id){
let vm = this;
vm.$https(
{
url: "assetType/get/" + id,
method: "get",
authType: this.backToken
},
// param
)
.then(res => {
let data = res.data.body;
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails() {
let _this = this;
_this.FormVisible = true;
},
// 删除
handleDelete(row) {
let _this = this;
this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
_this.$https({
method: 'delete',
url: 'assetType/delete/'+ row.id,
authType: this.backToken
}).then((res) => {
this.$message({type: 'success', message: '删除成功!'});
_this.Search();
}, (error) => {
this.$message({type: 'fail', message: "删除失败!" + error.response.data});
}
)
})
.catch(() => {});
},
// // 保存编辑信息
// submitForm() {
// let _this = this;
// _this.$refs.editform.validate(valid => {
// if (valid) {
// let searchObj = {};
// for (let key in _this.editform) {
// if (this.editform[key]) {
// searchObj[key] = _this.editform[key];
// }
// }
// let str = _this.editform.menuName;
// let index = str.lastIndexOf("-");
// str = str.substring(index + 1, str.length);
// searchObj.menuName = str;
// _this
// .$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(searchObj)
// )
// .then(
// res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.onSearch();
// _this.FormVisible = false;
// _this.$refs["editform"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
// }
// });
// },
// 批量操作
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> </script>
<style lang="less" scoped>
</style> <style lang="less">
\ No newline at end of file // @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/dialog.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style>
<template>
<div class="addFormBox">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="addForm">
<el-form-item
label="页面说明:"
class="addTipMsg"
>可新建版权方信息。“*”为必填项。预设视频分类中没有合适的选项,可点击“新建视频分类”在弹框中新建分类</el-form-item>
<el-form-item label="版权方名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item class="addTip">
<span>若没有相应的视频分类,请点击</span>
<el-button type="text" @click="addVideoClass">新建视频分类</el-button>
</el-form-item>
<el-form-item label="请选择预设视频分类">
<el-select placeholder="请选择预设视频分类" @focus="getAssetTypeData" multiple v-model="ruleForm.assetTypeIdList" @change="getSelectDep">
<el-checkbox :style="selfstyle" v-model="checkedThing" @change="selectAllThing">全选</el-checkbox>
<el-option
v-for="item in assetType"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item class="addTip">
<span>若没有相应的展板分类,请点击</span>
<el-button type="text" @click="addVideoClass">新建分类</el-button>
</el-form-item>
<el-form-item label="请选择预设展板分类">
<el-select placeholder="请选择预设展板分类" @focus="getAssetTypeData" multiple v-model="ruleForm.assetTypeIdList" @change="getSelectDep">
<el-checkbox :style="selfstyle" v-model="checkedThing" @change="selectAllThing">全选</el-checkbox>
<el-option
v-for="item in assetType"
:label="item.name"
:value="item.id"
:key="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="ruleForm.remarks"></el-input>
</el-form-item>
<el-form-item>
<div class=" btn-group">
<el-button type="primary" v-show="type === 'add'" @click="submitForm('ruleForm')">确定</el-button>
<el-button type="primary" v-show="type === 'Update'" @click="updateForm('ruleForm')">确定</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button>
</div>
</el-form-item>
</el-form>
<!--新增弹框-->
<el-dialog
custom-class="party-dialog"
title="新建视频分类"
width="468px"
:visible.sync="dialogVisible"
:before-close="close"
>
<div class="dialog-content">
<el-form
:model="classForm"
ref="classForm"
label-width="80px"
label-position="top"
:rules="rules"
id="ruleo"
class="party-form"
>
<el-form-item label="视频分类名称" prop="name">
<el-input v-model="classForm.name"></el-input>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="classForm.remarks"></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="save('classForm')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
type:this.$route.query.type ,
dialogVisible: false,
formLabelWidth: "100px",
form: {
name: ""
},
classForm: {
},
value1: [],
ruleForm: {
assetTypeIdList:[],
name: "",
copyrightOwnerType:'ASSET'
},
assetType: [
{
value: "Beijing",
label: "北京"
},
{
value: "Shanghai",
label: "上海"
}
],
checkedThing: false,
selfstyle: {
textAlign: "right",
width: "100%",
paddingRight: "10px"
},
rules: {
name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" },
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1: [
{
type: "date",
required: true,
message: "请选择日期",
trigger: "change"
}
],
date2: [
{
type: "date",
required: true,
message: "请选择时间",
trigger: "change"
}
],
type: [
{
type: "array",
required: true,
message: "请至少选择一个活动性质",
trigger: "change"
}
],
resource: [
{ required: true, message: "请选择活动资源", trigger: "change" }
],
desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }]
}
};
},
mounted(){
this.init()
},
methods: {
init(){
if(this.$route.query.type === 'Update'){
this.getInfo()
}
},
// 获取版权方详情
getInfo(){
let vm = this;
vm.$https(
{
url: "copyrightOwner/get/" + this.$route.query.id,
method: "get",
authType: this.backToken
},
)
.then(res => {
let data = res.data.body;
// this.assetType = data
this.ruleForm = data
this.value1 = [data.expireDateStart,data.expireDateEnd]
// this.ruleForm.assetTypeIdList[0] = data.expireDateStart
// this.ruleForm.assetTypeIdList[1] = data.expireDateEnd
})
.catch(function(err) {
console.log(err);
});
},
// 获取视频分类列表
getAssetTypeData() {
let vm = this;
vm.$https(
{
url: "assetType/getList",
method: "get",
authType: this.backToken
},
)
.then(res => {
let data = res.data.body;
this.assetType = data
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.catch(function(err) {
console.log(err);
});
},
// 新建视频分类
addVideoClass() {
this.dialogVisible = true;
},
save(formName) {
this.$refs[formName].validate(valid => {
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) {
this.$https(
{
url: "assetType/save",
method: "post",
// headers: {
// 'Content-Type': 'application/json'
// },
authType: this.backToken
},
this.classForm
)
.then(res => {
this.$message({type: 'success', message: '新增分类成功!'});
this.dialogVisible = false;
})
.catch(function(err) {
this.$message({type: 'fail', message: "新增失败!" + err.response.data.msg});
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
},
// 新增关闭
close() {
this.dialogVisible = false;
for (let key in this.classForm) {
this.classForm[key] = null;
}
this.$refs["classForm"].resetFields();
},
// 新增
submitForm(formName) {
this.$refs[formName].validate(valid => {
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) {
this.$https(
{
url: "copyrightOwner/save",
method: "post",
authType: this.backToken
},
// this.ruleForm
this.$qs.stringify(this.ruleForm)
)
.then(res => {
this.$message({type: 'success', message: '新增成功!'});
history.go(-1);
})
.catch(function(err) {
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
},
// 修改版权方
updateForm(formName) {
this.$refs[formName].validate(valid => {
this.ruleForm.id = this.$route.query.id
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) {
this.$https(
{
url: "copyrightOwner/update",
method: "put",
authType: this.backToken
},
this.$qs.stringify(this.ruleForm)
// this.ruleForm
)
.then(res => {
this.$message({type: 'success', message: '修改成功!'});
history.go(-1);
})
.catch(function(err) {
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
history.go(-1);
},
getSelectDep(assetTypeIdList) {
if (assetTypeIdList.length === this.assetType.length) {
this.checkedThing = true;
} else {
this.checkedThing = false;
}
},
selectAllThing() {
// debugger
this.ruleForm.assetTypeIdList = [];
if (this.checkedThing) {
this.assetType.map(item => {
this.ruleForm.assetTypeIdList.push(item.label);
});
} else {
this.ruleForm.assetTypeIdList = [];
}
}
}
};
</script>
<style lang="less">
@import "../../style/add";
@import "../../../../style/dialog";
</style>
\ No newline at end of file
...@@ -45,10 +45,10 @@ ...@@ -45,10 +45,10 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<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 show-overflow-tooltip label="视频名称" prop="menuName"></el-table-column> <el-table-column show-overflow-tooltip label="视频名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="版权方" prop="menuUrl"></el-table-column> <el-table-column show-overflow-tooltip label="版权方" prop="assetCopyrightOwnerName"></el-table-column>
<el-table-column label="视频分类" prop="sort"></el-table-column> <el-table-column label="视频分类" prop="assetTypeName"></el-table-column>
<el-table-column label="审核状态" prop="sort"></el-table-column> <el-table-column label="审核状态" prop="auditStatus"></el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" width="220">
<el-button-group> <el-button-group>
...@@ -247,7 +247,7 @@ export default { ...@@ -247,7 +247,7 @@ export default {
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
this.getPermis(); // this.getPermis();
}, },
components: {}, components: {},
methods: { methods: {
...@@ -281,14 +281,15 @@ export default { ...@@ -281,14 +281,15 @@ export default {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: "menu/getMenuList", url: "asset/getPageList",
method: "get", method: "post",
authType: this.backToken authType: this.backToken
}, },
param vm.$qs.stringify(param)
// param
) )
.then(res => { .then(res => {
let data = res.data; let data = res.data.body;
vm.page.pageSize = data.size; vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
...@@ -408,9 +409,32 @@ export default { ...@@ -408,9 +409,32 @@ export default {
// _this.editform= Object.assign({}, row); // _this.editform= Object.assign({}, row);
// _this.FormVisible = true; // _this.FormVisible = true;
}, },
openDetails() {
openDetails(row) {
let _this = this; let _this = this;
_this.FormVisible = true; _this.FormVisible = true;
// 获取详情
this.getAssetInfo(row.id)
},
// 获取视频分类详情
getAssetInfo(id){
let vm = this;
vm.$https(
{
url: "asset/get/" + id,
method: "get",
authType: this.backToken
},
// param
)
.then(res => {
let data = res.data.body;
this.editform = data
})
.catch(function(err) {
console.log(err);
});
}, },
// 删除 // 删除
handleDelete(row) { handleDelete(row) {
...@@ -421,17 +445,17 @@ export default { ...@@ -421,17 +445,17 @@ export default {
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
// _this.$https({ _this.$https({
// method: 'delete', method: 'delete',
// url: 'menu/delete?menuId='+ row.id, url: 'asset/delete/'+ row.id,
// authType: this.backToken authType: this.backToken
// }).then((res) => { }).then((res) => {
// this.$message({type: 'success', message: '删除成功!'}); this.$message({type: 'success', message: '删除成功!'});
// _this.Search(); _this.Search();
// }, (error) => { }, (error) => {
// this.$message({type: 'fail', message: "删除失败!" + error.response.data}); this.$message({type: 'fail', message: "删除失败!" + error.response.data});
// } }
// ) )
}) })
.catch(() => {}); .catch(() => {});
}, },
...@@ -548,7 +572,10 @@ export default { ...@@ -548,7 +572,10 @@ export default {
</script> </script>
<style lang="less"> <style lang="less">
@import "../../../../style/common"; // @import "../../../../style/common";
@import "../../style/list"; // @import "../../style/list";
@import "../../../../style/dialog";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
@import "../../../../style/dialog.less";
</style> </style>
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期" required> <el-form-item label="版权方有效期" required>
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd"
v-model="value1" v-model="value1"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
...@@ -22,22 +23,26 @@ ...@@ -22,22 +23,26 @@
<el-button type="text" @click="addVideoClass">新建视频分类</el-button> <el-button type="text" @click="addVideoClass">新建视频分类</el-button>
</el-form-item> </el-form-item>
<el-form-item label="请选择预设视频分类"> <el-form-item label="请选择预设视频分类">
<el-select placeholder="请选择预设视频分类" multiple v-model="department" @change="getSelectDep"> <el-select placeholder="请选择预设视频分类" @focus="getAssetTypeData" multiple v-model="ruleForm.assetTypeIdList" @change="getSelectDep">
<el-checkbox :style="selfstyle" v-model="checkedThing" @change="selectAllThing">全选</el-checkbox> <el-checkbox :style="selfstyle" v-model="checkedThing" @change="selectAllThing">全选</el-checkbox>
<el-option <el-option
v-for="(item, index) in departments" v-for="item in assetType"
:label="item.label" :label="item.name"
:value="item.label" :value="item.id"
:key="index" :key="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
<el-input type="textarea" v-model="ruleForm.desc"></el-input> <el-input type="textarea" v-model="ruleForm.remarks"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button> <div class=" btn-group">
<el-button @click="resetForm('ruleForm')">取消</el-button> <el-button type="primary" v-show="type === 'add'" @click="submitForm('ruleForm')">确定</el-button>
<el-button type="primary" v-show="type === 'Update'" @click="updateForm('ruleForm')">确定</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button>
</div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!--新增弹框--> <!--新增弹框-->
...@@ -62,12 +67,12 @@ ...@@ -62,12 +67,12 @@
<el-input v-model="classForm.name"></el-input> <el-input v-model="classForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="备注"> <el-form-item label="备注">
<el-input type="textarea" v-model="classForm.desc"></el-input> <el-input type="textarea" v-model="classForm.remarks"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="save">确定</el-button> <el-button size="mini" type="primary" @click="save('classForm')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button> <el-button size="mini" @click="close">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
...@@ -77,29 +82,22 @@ ...@@ -77,29 +82,22 @@
export default { export default {
data() { data() {
return { return {
type:this.$route.query.type ,
dialogVisible: false, dialogVisible: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
name: "" name: ""
}, },
classForm: { classForm: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
}, },
value1: "", value1: [],
ruleForm: { ruleForm: {
assetTypeIdList:[],
name: "", name: "",
region: "", copyrightOwnerType:'ASSET'
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: ""
}, },
departments: [ assetType: [
{ {
value: "Beijing", value: "Beijing",
label: "北京" label: "北京"
...@@ -107,28 +105,10 @@ export default { ...@@ -107,28 +105,10 @@ export default {
{ {
value: "Shanghai", value: "Shanghai",
label: "上海" label: "上海"
},
{
value: "Nanjing",
label: "南京"
},
{
value: "Chengdu",
label: "成都"
},
{
value: "Shenzhen",
label: "深圳"
},
{
value: "Guangzhou",
label: "广州"
} }
], ],
checkedThing: false, checkedThing: false,
department: [],
selfstyle: { selfstyle: {
textAlign: "right", textAlign: "right",
width: "100%", width: "100%",
...@@ -137,10 +117,7 @@ export default { ...@@ -137,10 +117,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" }
],
region: [
{ required: true, message: "请选择活动区域", trigger: "change" }
], ],
date1: [ date1: [
{ {
...@@ -173,13 +150,94 @@ export default { ...@@ -173,13 +150,94 @@ export default {
} }
}; };
}, },
mounted(){
this.init()
},
methods: { methods: {
init(){
if(this.$route.query.type === 'Update'){
this.getInfo()
}
},
// 获取版权方详情
getInfo(){
let vm = this;
vm.$https(
{
url: "copyrightOwner/get/" + this.$route.query.id,
method: "get",
authType: this.backToken
},
)
.then(res => {
let data = res.data.body;
// this.assetType = data
this.ruleForm = data
this.value1 = [data.expireDateStart,data.expireDateEnd]
// this.ruleForm.assetTypeIdList[0] = data.expireDateStart
// this.ruleForm.assetTypeIdList[1] = data.expireDateEnd
})
.catch(function(err) {
console.log(err);
});
},
// 获取视频分类列表
getAssetTypeData() {
let vm = this;
vm.$https(
{
url: "assetType/getList",
method: "get",
authType: this.backToken
},
)
.then(res => {
let data = res.data.body;
this.assetType = data
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.catch(function(err) {
console.log(err);
});
},
// 新建视频分类 // 新建视频分类
addVideoClass() { addVideoClass() {
this.dialogVisible = true; this.dialogVisible = true;
}, },
save() { save(formName) {
this.dialogVisible = false; this.$refs[formName].validate(valid => {
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) {
this.$https(
{
url: "assetType/save",
method: "post",
// headers: {
// 'Content-Type': 'application/json'
// },
authType: this.backToken
},
this.classForm
)
.then(res => {
this.$message({type: 'success', message: '新增分类成功!'});
this.dialogVisible = false;
})
.catch(function(err) {
this.$message({type: 'fail', message: "新增失败!" + err.response.data.msg});
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
}, },
// 新增关闭 // 新增关闭
close() { close() {
...@@ -189,10 +247,58 @@ export default { ...@@ -189,10 +247,58 @@ export default {
} }
this.$refs["classForm"].resetFields(); this.$refs["classForm"].resetFields();
}, },
// 新增
submitForm(formName) { submitForm(formName) {
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) {
this.$https(
{
url: "copyrightOwner/save",
method: "post",
authType: this.backToken
},
// this.ruleForm
this.$qs.stringify(this.ruleForm)
)
.then(res => {
this.$message({type: 'success', message: '新增成功!'});
history.go(-1);
})
.catch(function(err) {
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
},
// 修改版权方
updateForm(formName) {
this.$refs[formName].validate(valid => {
this.ruleForm.id = this.$route.query.id
this.ruleForm.expireDateEnd = this.value1[1]
this.ruleForm.expireDateStart = this.value1[0]
if (valid) { if (valid) {
alert("submit!"); this.$https(
{
url: "copyrightOwner/update",
method: "put",
authType: this.backToken
},
this.$qs.stringify(this.ruleForm)
// this.ruleForm
)
.then(res => {
this.$message({type: 'success', message: '修改成功!'});
history.go(-1);
})
.catch(function(err) {
console.log(err);
});
} else { } else {
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
...@@ -203,10 +309,9 @@ export default { ...@@ -203,10 +309,9 @@ export default {
this.$refs[formName].resetFields(); this.$refs[formName].resetFields();
history.go(-1); history.go(-1);
}, },
getSelectDep(department) { getSelectDep(assetTypeIdList) {
// debugger
if (department.length === this.departments.length) { if (assetTypeIdList.length === this.assetType.length) {
this.checkedThing = true; this.checkedThing = true;
} else { } else {
this.checkedThing = false; this.checkedThing = false;
...@@ -215,13 +320,13 @@ export default { ...@@ -215,13 +320,13 @@ export default {
selectAllThing() { selectAllThing() {
// debugger // debugger
this.department = []; this.ruleForm.assetTypeIdList = [];
if (this.checkedThing) { if (this.checkedThing) {
this.departments.map(item => { this.assetType.map(item => {
this.department.push(item.label); this.ruleForm.assetTypeIdList.push(item.label);
}); });
} else { } else {
this.department = []; this.ruleForm.assetTypeIdList = [];
} }
} }
} }
......
...@@ -45,11 +45,11 @@ ...@@ -45,11 +45,11 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<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 show-overflow-tooltip label="版权方名称" prop="menuName"></el-table-column> <el-table-column show-overflow-tooltip label="版权方名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="视频分类" prop="menuUrl"></el-table-column> <el-table-column show-overflow-tooltip label="视频分类" prop="assetTypeNames"></el-table-column>
<el-table-column label="创建时间" prop="sort"></el-table-column> <el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="版权方有效期" prop="sort"></el-table-column> <el-table-column label="版权方有效期" prop="expireDateEnd"></el-table-column>
<el-table-column show-overflow-tooltip label="备注" prop="menuName"></el-table-column> <el-table-column show-overflow-tooltip label="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" width="220">
<el-button-group> <el-button-group>
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
this.getPermis(); // this.getPermis();
}, },
components: {}, components: {},
methods: { methods: {
...@@ -174,14 +174,15 @@ export default { ...@@ -174,14 +174,15 @@ export default {
let vm = this; let vm = this;
vm.$https( vm.$https(
{ {
url: "menu/getMenuList", url: "copyrightOwner/getPageList",
method: "get", method: "post",
authType: this.backToken authType: this.backToken
}, },
param vm.$qs.stringify(param)
// param
) )
.then(res => { .then(res => {
let data = res.data; let data = res.data.body;
vm.page.pageSize = data.size; vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
...@@ -289,7 +290,7 @@ export default { ...@@ -289,7 +290,7 @@ export default {
openEdit(row) { openEdit(row) {
this.$router.push({ this.$router.push({
path: "videoCopyrightUpdate", path: "videoCopyrightUpdate",
query: { type: "Update" } query: { type: "Update" ,id :row.id}
}); });
// alert('编辑') // alert('编辑')
// $('.el-dialog__title').html('编辑'); // $('.el-dialog__title').html('编辑');
...@@ -310,17 +311,17 @@ export default { ...@@ -310,17 +311,17 @@ export default {
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
// _this.$https({ _this.$https({
// method: 'delete', method: 'delete',
// url: 'menu/delete?menuId='+ row.id, url: 'copyrightOwner/delete/'+ row.id,
// authType: this.backToken authType: this.backToken
// }).then((res) => { }).then((res) => {
// this.$message({type: 'success', message: '删除成功!'}); this.$message({type: 'success', message: '删除成功!'});
// _this.Search(); _this.Search();
// }, (error) => { }, (error) => {
// this.$message({type: 'fail', message: "删除失败!" + error.response.data}); this.$message({type: 'fail', message: "删除失败!" + error.response.data});
// } }
// ) )
}) })
.catch(() => {}); .catch(() => {});
}, },
...@@ -380,57 +381,6 @@ export default { ...@@ -380,57 +381,6 @@ export default {
handleSelectionChange(selection) { handleSelectionChange(selection) {
let _this = this; let _this = this;
_this.selection = selection; _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: "请至少选择一个选项!"
});
}
} }
} }
}; };
......
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