Commit 41208b65 authored by xulili's avatar xulili

Merge branch 'master' of http://111.203.232.171:8888/qzhxx/national_museum_vod into dev_xll

parents d93a2114 3c13dd71
...@@ -23,7 +23,7 @@ export const menuList = [ ...@@ -23,7 +23,7 @@ export const menuList = [
subtitle:'学习内容及互动管理', subtitle:'学习内容及互动管理',
subMenu:[ subMenu:[
{label:'学习内容管理', imgUrl:'',url:'/learn'}, {label:'学习内容管理', imgUrl:'',url:'/learn'},
{label:'互动管理', imgUrl:'',url:''} {label:'互动管理', imgUrl:'',url:'/interactive'}
] ]
}, },
] ]
...@@ -65,8 +65,8 @@ export const menuList = [ ...@@ -65,8 +65,8 @@ export const menuList = [
{ {
subtitle:'机顶盒信息及运维管理', subtitle:'机顶盒信息及运维管理',
subMenu:[ subMenu:[
{label:'机顶盒信息管理', imgUrl:''}, {label:'机顶盒信息管理', imgUrl:'',url:'/STBbase'},
{label:'机顶盒运维信息管理', imgUrl:''}, {label:'机顶盒运维信息管理', imgUrl:'',url:'/STBoperation'},
{label:'机顶盒运维账号管理', imgUrl:''} {label:'机顶盒运维账号管理', imgUrl:''}
] ]
......
<template>
<div class="STBbase-wrapper height100">
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.unit" placeholder="请选择所属单位">
<el-option
v-for="item in unitOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="form.state" placeholder="请选择账号状态">
<el-option
v-for="item in stateOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-cascader v-model="form.area" :options="areaOptions" :show-all-levels="false"></el-cascader>
</el-form-item>
<el-form-item>
<div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button>
<el-button @click="handleReset">重置</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">新建机顶盒账号</el-button>
</div>
<div class="party-table">
<el-table border style="width: 100%;height:100%" height="100%" :data="list">
<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="unit"></el-table-column>
<el-table-column label="账号状态" prop="state"></el-table-column>
<el-table-column label="MAC地址" prop="macUrl"></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-group>
</template>
</el-table-column>
</el-table>
</div>
<party-pagination/>
</div>
</div>
</template>
<script>
import { partyPagination } from '@/components/index'
import area from '@/config/area'
export default {
data(){
return{
areaOptions: area,
unitOptions: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
stateOptions:[{
value: '1',
label: '待激活'
},{
value: '2',
label: '禁用'
},{
value: '3',
label: '启用'
}],
form:{
unit:'',
state:'',
area:[]
},
list: [
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
]
}
},
components:{ partyPagination},
mounted(){
},
methods:{
handleSubmit(){
},
handleReset(){
this.form = {}
},
// 弹窗关闭
handleClose(){
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
}
}
}
</script>
<style lang="less">
@import "../../../style/dialog.less";
@import '../../../style/table.less';
@import '../../../style/pagination.less';
</style>
\ No newline at end of file
<template>
<div class="STBbase-wrapper height100">
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.unit" placeholder="请选择所属单位">
<el-option
v-for="item in unitOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="form.state" placeholder="请选择机顶盒状态">
<el-option
v-for="item in stateOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-cascader v-model="form.area" :options="areaOptions" :show-all-levels="false"></el-cascader>
</el-form-item>
<el-form-item>
<div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button>
<el-button @click="handleReset">重置</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="party-table">
<el-table border style="width: 100%;height:100%" height="100%" :data="list">
<el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="mac地址" prop="macUrl"></el-table-column>
<el-table-column label="所属单位" prop="unit"></el-table-column>
<el-table-column label="机顶盒状态" prop="state"></el-table-column>
</el-table>
</div>
<party-pagination/>
</div>
</div>
</template>
<script>
import { partyPagination } from '@/components/index'
import area from '@/config/area'
export default {
data(){
return{
areaOptions: area,
unitOptions: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
stateOptions:[{
value: '1',
label: '待激活'
},{
value: '2',
label: '禁用'
},{
value: '3',
label: '启用'
}],
form:{
unit:'',
state:'',
area:[]
},
list: [
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
{unit:'中国博物馆', state: '禁用',name: '王小虎', macUrl: '00:71:cc:d3:11'},
]
}
},
components:{ partyPagination},
mounted(){
},
methods:{
handleSubmit(){
},
handleReset(){
this.form = {}
}
}
}
</script>
<style lang="less">
@import "../../../style/dialog.less";
@import '../../../style/table.less';
@import '../../../style/pagination.less';
</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 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>
<div class="interactive-wrapper height100">
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可按照账号状态及所属单位进行信息筛选。可新增机顶盒账号,“*”为必填项。请先创建单位管理员账号,否则机顶盒无法激活</span>
</div>
<el-row :gutter="16" style="margin-left:0;margin-right:0;height:calc(100% - 41px);">
<el-col :span="6" class="height100">
<el-card class="height100">
<div class="tree-title">组织机构</div>
<div class="tree-body">
<el-input suffix-icon="el-icon-search" placeholder="请输入组织结构名称" v-model="filterText"></el-input>
<el-tree
class="filter-tree"
:data="data"
:props="defaultProps"
default-expand-all
:filter-node-method="filterNode"
ref="tree"
/>
</div>
</el-card>
</el-col>
<el-col :span="18" class="height100">
<el-card class="height100">
<div class="content-title">“北京市政府”展板互动信息汇总</div>
<div class="content-item" v-for="(item,index) in list" :key="index">
<h5 class="title">{{item.title}}</h5>
<p>{{item.content}}</p>
<div class="img-box">
<img src="@/assets/audio-icon.png" alt="">
<img src="@/assets/audio-icon.png" alt="">
<img src="@/assets/video-icon.png" alt="">
<img src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic139.nipic.com%2Ffile%2F20170825%2F24044964_112347917039_2.jpg&refer=http%3A%2F%2Fpic139.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1616393684&t=43405cf2c33d8addc98e0909da78f359" alt="">
</div>
<div class="author">
<div>{{item.author}}</div>
<div>{{item.time}}</div>
</div>
</div>
<party-pagination style="margin:0 20px;"/>
</el-card>
</el-col>
</el-row>
</div>
</template>
<script>
import { partyPagination } from '@/components/index'
export default {
components:{ partyPagination},
data() {
return {
filterText: "",
data: [
{
id: 1,
label: "一级 1",
children: [
{
id: 4,
label: "二级 1-1",
children: [
{
id: 9,
label: "三级 1-1-1"
},
{
id: 10,
label: "三级 1-1-2"
}
]
}
]
},
{
id: 2,
label: "一级 2",
children: [
{
id: 5,
label: "二级 2-1"
},
{
id: 6,
label: "二级 2-2"
}
]
},
{
id: 3,
label: "一级 3",
children: [
{
id: 7,
label: "二级 3-1"
},
{
id: 8,
label: "二级 3-2"
}
]
}
],
defaultProps: {
children: "children",
label: "label"
},
list: [
{
title: "建党百年,爱国主义教育",
content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget.",
author: "邢潇潇",
files:['@/assets/audio-icon.png','@/assets/video-icon.png','https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic139.nipic.com%2Ffile%2F20170825%2F24044964_112347917039_2.jpg&refer=http%3A%2F%2Fpic139.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1616393684&t=43405cf2c33d8addc98e0909da78f359'],
macUrl: "2021/01/02 14:34:22"
},
{
title: "建党百年,爱国主义教育",
content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean euismod bibendum laoreet. Proin gravida dolor sit amet lacus accumsan et viverra justo commodo. Proin sodales pulvinar tempor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam fermentum, nulla luctus pharetra vulputate, felis tellus mollis orci, sed rhoncus sapien nunc eget.",
author: "邢潇潇",
files:['@/assets/audio-icon.png','@/assets/video-icon.png','https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic139.nipic.com%2Ffile%2F20170825%2F24044964_112347917039_2.jpg&refer=http%3A%2F%2Fpic139.nipic.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1616393684&t=43405cf2c33d8addc98e0909da78f359'],
macUrl: "2021/01/02 14:34:22"
},
]
};
},
watch: {
filterText(val) {
this.$refs.tree.filter(val);
}
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.label.indexOf(value) !== -1;
}
}
};
</script>
<style lang="less">
.interactive-wrapper {
.page-tip {
padding: 10px;
}
.el-card__body {
padding: 0;
}
.tree-title {
font-size: 16px;
color: #fff;
text-align: center;
height: 56px;
line-height: 56px;
background: #9B1E23;
border-radius: 8px 8px 0 0;
}
.tree-body {
padding: 20px;
.el-input__inner {
background: #F8F8F8;
border-radius: 22px;
}
.el-input__icon {
font-size: 18px;
color: #AC9374;
}
.el-tree-node__content:hover {
border-radius: 20px;
}
.el-tree-node__content {
height:30px;
margin: 5px 0;
}
}
.content-title {
font-size: 20px;
color: #333;
padding: 20px;
border-bottom: 1px solid #eee;
}
.content-item {
font-size: 16px;
margin: 20px;
padding: 40px;
background: #f8f8f8;
.title {
padding-bottom: 20px;
}
p {
padding-bottom: 20px;
border-bottom: 1px solid #bbb;
}
.img-box {
padding: 20px;
border-bottom: 1px solid #bbb;
img {
width: 90px;
height: 90px;
margin-right: 20px;
}
}
.author {
display: flex;
justify-content: space-between;
padding-top: 16px;
font-size: 14px;
}
}
}
</style>
\ No newline at end of file
<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: "请至少选择一个选项!"
});
}
} }
} }
}; };
......
...@@ -423,6 +423,37 @@ const router = new Router({ ...@@ -423,6 +423,37 @@ const router = new Router({
name: '审核活动产品', name: '审核活动产品',
component: auditProductActivity component: auditProductActivity
}, },
//=======================================机顶盒管理 start ===================================//
{
path: '/STBbase',
name: '机顶盒基础信息管理',
component: () => import('@/page/STB/base/index'),
meta:{
showBreadcrumb:true,
title:'机顶盒基础信息管理',
}
},
{
path: '/STBoperation',
name: '机顶盒运维信息管理',
component: () => import('@/page/STB/operation/index'),
meta:{
showBreadcrumb:true,
title:'机顶盒运维信息管理',
}
},
{
path: '/interactive',
name: '互动内容',
component: () => import('@/page/content/interactive/index'),
meta:{
showBreadcrumb:true,
title:'互动内容',
}
},
//=======================================机顶盒管理 end ===================================//
] ]
}, },
......
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