Commit ae7cacd0 authored by qzhxx's avatar qzhxx

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

parent 0b9b4dd0
This diff is collapsed.
<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
This diff is collapsed.
This diff is collapsed.
......@@ -45,10 +45,10 @@
@selection-change="handleSelectionChange"
>
<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="menuUrl"></el-table-column>
<el-table-column label="视频分类" prop="sort"></el-table-column>
<el-table-column label="审核状态" prop="sort"></el-table-column>
<el-table-column show-overflow-tooltip label="视频名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="版权方" prop="assetCopyrightOwnerName"></el-table-column>
<el-table-column label="视频分类" prop="assetTypeName"></el-table-column>
<el-table-column label="审核状态" prop="auditStatus"></el-table-column>
<el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220">
<el-button-group>
......@@ -247,7 +247,7 @@ export default {
computed: {},
mounted() {
this.onSearch();
this.getPermis();
// this.getPermis();
},
components: {},
methods: {
......@@ -281,14 +281,15 @@ export default {
let vm = this;
vm.$https(
{
url: "menu/getMenuList",
method: "get",
url: "asset/getPageList",
method: "post",
authType: this.backToken
},
param
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data;
let data = res.data.body;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
......@@ -408,9 +409,32 @@ export default {
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
},
openDetails() {
openDetails(row) {
let _this = this;
_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) {
......@@ -421,17 +445,17 @@ export default {
type: "warning"
})
.then(() => {
// _this.$https({
// method: 'delete',
// url: 'menu/delete?menuId='+ row.id,
// authType: this.backToken
// }).then((res) => {
// this.$message({type: 'success', message: '删除成功!'});
// _this.Search();
// }, (error) => {
// this.$message({type: 'fail', message: "删除失败!" + error.response.data});
// }
// )
_this.$https({
method: 'delete',
url: 'asset/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(() => {});
},
......@@ -548,7 +572,10 @@ export default {
</script>
<style lang="less">
@import "../../../../style/common";
@import "../../style/list";
@import "../../../../style/dialog";
// @import "../../../../style/common";
// @import "../../style/list";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
@import "../../../../style/dialog.less";
</style>
......@@ -10,6 +10,7 @@
</el-form-item>
<el-form-item label="版权方有效期" required>
<el-date-picker
value-format="yyyy-MM-dd"
v-model="value1"
type="daterange"
range-separator="至"
......@@ -22,22 +23,26 @@
<el-button type="text" @click="addVideoClass">新建视频分类</el-button>
</el-form-item>
<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-option
v-for="(item, index) in departments"
:label="item.label"
:value="item.label"
:key="index"
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.desc"></el-input>
<el-input type="textarea" v-model="ruleForm.remarks"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确定</el-button>
<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>
<!--新增弹框-->
......@@ -62,12 +67,12 @@
<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-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">确定</el-button>
<el-button size="mini" type="primary" @click="save('classForm')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</el-dialog>
......@@ -77,29 +82,22 @@
export default {
data() {
return {
type:this.$route.query.type ,
dialogVisible: false,
formLabelWidth: "100px",
form: {
name: ""
},
classForm: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
},
value1: "",
value1: [],
ruleForm: {
assetTypeIdList:[],
name: "",
region: "",
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: ""
},
departments: [
copyrightOwnerType:'ASSET'
},
assetType: [
{
value: "Beijing",
label: "北京"
......@@ -107,28 +105,10 @@ export default {
{
value: "Shanghai",
label: "上海"
},
{
value: "Nanjing",
label: "南京"
},
{
value: "Chengdu",
label: "成都"
},
{
value: "Shenzhen",
label: "深圳"
},
{
value: "Guangzhou",
label: "广州"
}
],
checkedThing: false,
department: [],
selfstyle: {
textAlign: "right",
width: "100%",
......@@ -137,10 +117,7 @@ export default {
rules: {
name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" },
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
region: [
{ required: true, message: "请选择活动区域", trigger: "change" }
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
],
date1: [
{
......@@ -173,13 +150,94 @@ export default {
}
};
},
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() {
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() {
......@@ -189,10 +247,58 @@ export default {
}
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) {
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 {
console.log("error submit!!");
return false;
......@@ -203,10 +309,9 @@ export default {
this.$refs[formName].resetFields();
history.go(-1);
},
getSelectDep(department) {
// debugger
getSelectDep(assetTypeIdList) {
if (department.length === this.departments.length) {
if (assetTypeIdList.length === this.assetType.length) {
this.checkedThing = true;
} else {
this.checkedThing = false;
......@@ -215,13 +320,13 @@ export default {
selectAllThing() {
// debugger
this.department = [];
this.ruleForm.assetTypeIdList = [];
if (this.checkedThing) {
this.departments.map(item => {
this.department.push(item.label);
this.assetType.map(item => {
this.ruleForm.assetTypeIdList.push(item.label);
});
} else {
this.department = [];
this.ruleForm.assetTypeIdList = [];
}
}
}
......
......@@ -45,11 +45,11 @@
@selection-change="handleSelectionChange"
>
<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="menuUrl"></el-table-column>
<el-table-column label="创建时间" prop="sort"></el-table-column>
<el-table-column label="版权方有效期" prop="sort"></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="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>
......@@ -140,7 +140,7 @@ export default {
computed: {},
mounted() {
this.onSearch();
this.getPermis();
// this.getPermis();
},
components: {},
methods: {
......@@ -174,14 +174,15 @@ export default {
let vm = this;
vm.$https(
{
url: "menu/getMenuList",
method: "get",
url: "copyrightOwner/getPageList",
method: "post",
authType: this.backToken
},
param
vm.$qs.stringify(param)
// param
)
.then(res => {
let data = res.data;
let data = res.data.body;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
......@@ -289,7 +290,7 @@ export default {
openEdit(row) {
this.$router.push({
path: "videoCopyrightUpdate",
query: { type: "Update" }
query: { type: "Update" ,id :row.id}
});
// alert('编辑')
// $('.el-dialog__title').html('编辑');
......@@ -310,17 +311,17 @@ export default {
type: "warning"
})
.then(() => {
// _this.$https({
// method: 'delete',
// url: 'menu/delete?menuId='+ row.id,
// authType: this.backToken
// }).then((res) => {
// this.$message({type: 'success', message: '删除成功!'});
// _this.Search();
// }, (error) => {
// this.$message({type: 'fail', message: "删除失败!" + error.response.data});
// }
// )
_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(() => {});
},
......@@ -380,57 +381,6 @@ export default {
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: "请至少选择一个选项!"
});
}
}
}
};
......
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