Commit 90bde5bc authored by 乐宝呗666's avatar 乐宝呗666

Merge branch 'master' into dev_fbl

parents 7fb4e72c 39169553
...@@ -194,6 +194,11 @@ ...@@ -194,6 +194,11 @@
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
}, },
"animate.css": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz",
"integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
},
"ansi-html": { "ansi-html": {
"version": "0.0.7", "version": "0.0.7",
"resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
"build": "node build/build.js" "build": "node build/build.js"
}, },
"dependencies": { "dependencies": {
"animate.css": "^4.1.1",
"awe-dnd": "^0.3.1", "awe-dnd": "^0.3.1",
"axios": "^0.18.0", "axios": "^0.18.0",
"echarts": "^4.2.0-rc.2", "echarts": "^4.2.0-rc.2",
......
...@@ -5,10 +5,16 @@ let getAreas = function(){ ...@@ -5,10 +5,16 @@ let getAreas = function(){
method: 'get', method: 'get',
url: 'organ/getAreaTree' url: 'organ/getAreaTree'
}).then(res=>{ }).then(res=>{
if(res.data.code == 200){ if(res.status != 200){
resolve(res.data.body)
}else{
resolve([]) resolve([])
}else{
if(res.data.resultCode == 200){
let list = res.data.data
let filterList = setChildNull(list)
resolve(filterList)
}else{
resolve([])
}
} }
}).catch(err=>{ }).catch(err=>{
...@@ -16,4 +22,21 @@ let getAreas = function(){ ...@@ -16,4 +22,21 @@ let getAreas = function(){
}) })
}) })
} }
function setChildNull(list){
if (list.length === 0) return []
list.forEach(v=>{
fs(v)
})
return list
}
function fs(v){
if(v.children && v.children.length === 0){
v.children = null
}else{
v.children.forEach(s=>{
fs(s)
})
}
}
export { getAreas } export { getAreas }
\ No newline at end of file
...@@ -88,7 +88,8 @@ const httpServer = (opts,data,file,timeout)=>{ ...@@ -88,7 +88,8 @@ const httpServer = (opts,data,file,timeout)=>{
if(opts.authType && opts.authType!=""){ if(opts.authType && opts.authType!=""){
// Authorization // Authorization
if(opts.authType==="back"){ if(opts.authType==="back"){
authToken=localStorage.getItem('backToken'); //authToken=localStorage.getItem('backToken');
authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNjU5MDE3NiwiaWF0IjoxNjE2NTc1Nzc2fQ.BT7bv2fmz_mS10nhoeW8_z17MSRY0MQNta-0ozhUMkuqFC2bed88yc2xoolyMEN7DYSVUOCFvDJrwmi8NwgDgQ"
}else if(opts.authType==="front"){ }else if(opts.authType==="front"){
authToken = localStorage.getItem("token") || MyLocalStorage.Cache.get('token'); authToken = localStorage.getItem("token") || MyLocalStorage.Cache.get('token');
} }
......
...@@ -22,7 +22,7 @@ export const menuList = [ ...@@ -22,7 +22,7 @@ export const menuList = [
{ {
subtitle:'学习内容及互动管理', subtitle:'学习内容及互动管理',
subMenu:[ subMenu:[
{label:'学习内容管理', imgUrl:'',url:'/learn'}, {label:'学习内容管理', imgUrl:'',url:'/learnContent'},
{label:'互动管理', imgUrl:'',url:'/interactive'} {label:'互动管理', imgUrl:'',url:'/interactive'}
] ]
}, },
...@@ -53,7 +53,9 @@ export const menuList = [ ...@@ -53,7 +53,9 @@ export const menuList = [
{ {
subtitle:'内容及账号审核', subtitle:'内容及账号审核',
subMenu:[ subMenu:[
{label:'视频及展板审核', imgUrl:''}, {label:'视频审核', imgUrl:'',url:'/checkVideo'},
{label:'展板审核', imgUrl:'',url:'/checkDisplay'},
{label:'平台学习内容审核', imgUrl:'',url:'/checkLearn'},
{label:'账号禁用审核', imgUrl:''} {label:'账号禁用审核', imgUrl:''}
] ]
} }
......
...@@ -18,6 +18,8 @@ import {shortcuts} from './common/js/commonJs' ...@@ -18,6 +18,8 @@ import {shortcuts} from './common/js/commonJs'
import VueDND from 'awe-dnd' import VueDND from 'awe-dnd'
import echarts from 'echarts' import echarts from 'echarts'
import Video from 'video.js'
import 'video.js/dist/video-js.css'
Vue.prototype.$echarts = echarts Vue.prototype.$echarts = echarts
......
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" ref="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>
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看视频待审核的所有内容,可根据审核类别进行筛选</span>
</div>
</div>
<div class="table-content">
<!-- <div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频分类</el-button>
</div> -->
<div class="party-table">
<el-table
border
style="width: 100%;height:100%" height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号"></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="reject(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-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
size="mini"
type="text"
@click="reject(scope.row)"
>驳回&nbsp;&nbsp;</el-button>
<el-button
size="mini"
type="text"
@click="adopt(scope.row)"
>通过&nbsp;&nbsp;</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="新建" custom-class="party-dialog" width="468px" :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="驳回原因:">
<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="top" :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">
<img class="imgSize" src="" alt="">
</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-item label="展板视频" :label-width="formLabelWidth">
<div>
<img class="iconImg" src="" alt="">
<span>xxx.mp4</span>
</div>
</el-form-item>
<el-form-item label="展板音频" :label-width="formLabelWidth">
<div>
<img class="iconImg" src="" alt="">
<span>xxx.mp3</span>
</div>
</el-form-item>
</el-form>
</div>
<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>
</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.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
this.getTableData(searchObj);
},
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数
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();
},
// 通过
adopt(row){
this.$message({type: 'success', message: '审核通过!'});
},
// 请填写驳回原因弹框
reject(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.data;
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails() {
let _this = this;
_this.FormVisible = true;
// $('.el-dialog__title').html('请填写驳回原因');
// let _this=this;
// _this.FormVisible1 = 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">
.imgSize{
width: 160px;
height: 100px;
}
.iconImg{
height: 32px;
width: 32px;
margin-right: 8px;
}
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../style/dialog.less";
@import '../../../style/table.less';
@import '../../../style/pagination.less';
</style>
<template>
<div class="info">
<div class="info-header">学习内容详情</div>
<div class="info-container">
<div class="info-wrapper">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="建党伟业" name="1">
<el-form
class="demo-form-inline"
:inline="true"
:model="formInline"
label-position="top"
>
<el-form-item label="学习内容宣传图" class="w50">
<img class="imgSize" src alt />
</el-form-item>
<el-form-item label="展板宣传图">
<img class="imgSize" src alt />
</el-form-item>
<el-form-item label="展板名称" class="w50">
xxxxxxx
<!-- <el-input v-model="formInline.user" placeholder="审批人"></el-input> -->
</el-form-item>
<el-form-item label="展板版权方">
xxxxxxx
<!-- <el-input v-model="formInline.user" placeholder="审批人"></el-input> -->
</el-form-item>
<el-form-item label="展板简介">
各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给
<!-- <el-input type="textarea" v-model="formInline.remarks"></el-input> -->
</el-form-item>
<el-form-item label="展板视频" class="w100">
<div>
<img class="iconImg" src alt />
<span>xxx.mp4</span>
</div>
</el-form-item>
<el-form-item label="展板音频">
<div>
<img class="iconImg" src alt />
<span>xxx.mp3</span>
</div>
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item title="改革之路" name="2">
<div>与现实生活一致:与现实生活的流程、逻辑保持一致,遵循用户习惯的语言和概念;</div>
<div>在界面中一致:所有的元素和结构需保持一致,比如:设计样式、图标和文本、元素的位置等。</div>
</el-collapse-item>
<el-collapse-item title="伟大复兴" name="3"></el-collapse-item>
<el-collapse-item title="辉煌成就" name="4"></el-collapse-item>
</el-collapse>
</div>
</div>
<div class="info-footer">
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="close">关闭</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
activeNames: ["1"],
formInline: {
user: "",
region: ""
}
};
},
methods: {
close() {
history.go(-1);
},
handleChange(val) {
console.log(val);
}
}
};
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<div>
<!--
<video :src="videoSrc" :poster="videoImg" :autoplay="playStatus" height="421" width="700" :muted="muteStatus">
your browser does not support the video tag
</video>
<button @click="playClick" :class="{hide: isPlay}">点击播放</button> -->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video :preload="preload"
:poster="videoImg" :height="height" :width="width" align="center" :controls="controls" :autoplay="autoplay">
<source :src="videoSrc" type="video/mp4">
</video>
</div>
</template>
<script>
export default {
name: 'Video',
data () {
return {
videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
playStatus: '',
muteStatus: '',
isMute: true,
isPlay: false,
width: '820', // 设置视频播放器的显示宽度(以像素为单位)
height: '500', // 设置视频播放器的显示高度(以像素为单位)
preload: 'auto', // 建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
controls: true, // 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay: ''
}
}
// 自动播放属性,muted:静音播放
// autoplay: 'muted',
}
</script>
<style scoped >
</style>
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" ref="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>
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看视频待审核的所有内容,可根据审核类别进行筛选</span>
</div>
</div>
<div class="table-content">
<!-- <div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频分类</el-button>
</div> -->
<div class="party-table">
<el-table
border
style="width: 100%;height:100%" height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号"></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="reject(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-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
size="mini"
type="text"
@click="reject(scope.row)"
>驳回&nbsp;&nbsp;</el-button>
<el-button
size="mini"
type="text"
@click="adopt(scope.row)"
>通过&nbsp;&nbsp;</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="新建" custom-class="party-dialog" width="468px" :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="驳回原因:">
<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.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
this.getTableData(searchObj);
},
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数
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();
},
// 通过
adopt(row){
this.$message({type: 'success', message: '审核通过!'});
},
// 请填写驳回原因弹框
reject(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.data;
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails(row) {
this.$router.push({ path: "checkLearnDetails", query: { id: row.id } })
// let _this = this;
// _this.FormVisible = true;
// $('.el-dialog__title').html('请填写驳回原因');
// let _this=this;
// _this.FormVisible1 = 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.less";
@import '../../../style/table.less';
@import '../../../style/pagination.less';
</style>
fefe
\ No newline at end of file
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" ref="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>
<div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看视频待审核的所有内容,可根据审核类别进行筛选</span>
</div>
</div>
<div class="table-content">
<!-- <div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频分类</el-button>
</div> -->
<div class="party-table">
<el-table
border
style="width: 100%;height:100%" height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号"></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="reject(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-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
size="mini"
type="text"
@click="reject(scope.row)"
>驳回&nbsp;&nbsp;</el-button>
<el-button
size="mini"
type="text"
@click="adopt(scope.row)"
>通过&nbsp;&nbsp;</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="新建" custom-class="party-dialog" width="468px" :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="驳回原因:">
<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.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
this.getTableData(searchObj);
},
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数
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();
},
// 通过
adopt(row){
this.$message({type: 'success', message: '审核通过!'});
},
// 请填写驳回原因弹框
reject(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.data;
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails() {
let _this = this;
_this.FormVisible = true;
// $('.el-dialog__title').html('请填写驳回原因');
// let _this=this;
// _this.FormVisible1 = 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.less";
@import '../../../style/table.less';
@import '../../../style/pagination.less';
</style>
<template> <template>
<div class="listPage H100"> <div class="listPage H100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form" class="search-form" onsubmit="return false;"> <el-form :inline="true" :model="form" ref="form" class="search-form" onsubmit="return false;">
<el-form-item label="版权方名称"> <el-form-item label="版权方名称">
<el-input <el-input
size="mini" size="mini"
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</div> </div>
</div> </div>
<!--新增弹框--> <!--新增弹框-->
<el-dialog title="新建" class="newPermis" :visible.sync="FormVisible1" :before-close="close1"> <el-dialog title="新建" custom-class="party-dialog" width="468px" :visible.sync="FormVisible1" :before-close="close1">
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="classForm" :model="classForm"
...@@ -254,7 +254,7 @@ export default { ...@@ -254,7 +254,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
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;
...@@ -284,6 +284,12 @@ export default { ...@@ -284,6 +284,12 @@ export default {
}; };
this.getTableData(searchObj); this.getTableData(searchObj);
}, },
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数 // // 获取当前查询参数
getSearchQuery() { getSearchQuery() {
let _this = this; let _this = this;
...@@ -396,8 +402,8 @@ export default { ...@@ -396,8 +402,8 @@ export default {
this.classForm[key] = null; this.classForm[key] = null;
} }
this.$refs["classForm"].resetFields(); this.$refs["classForm"].resetFields();
// this.FormVisible = false; // this.FormVisible = false;
// this.$refs["editform"].resetFields(); // this.$refs["editform"].resetFields();
}, },
// 新增关闭 // 新增关闭
close1() { close1() {
...@@ -433,7 +439,7 @@ export default { ...@@ -433,7 +439,7 @@ export default {
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
this.classForm = data this.classForm = data
}) })
.catch(function(err) { .catch(function(err) {
...@@ -582,7 +588,6 @@ export default { ...@@ -582,7 +588,6 @@ export default {
<style lang="less"> <style lang="less">
// @import "../../../../style/common"; // @import "../../../../style/common";
// @import "../../style/list"; // @import "../../style/list";
// @import "../../../../style/dialog";
@import "../../../../style/dialog.less"; @import "../../../../style/dialog.less";
@import '../../../../style/table.less'; @import '../../../../style/table.less';
@import '../../../../style/pagination.less'; @import '../../../../style/pagination.less';
......
<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>
<div class="addFormBox"> <el-form :model="dealForm" >
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px" class="addForm" label-position="top"> <el-form-item
<el-form-item prop="uploadFile"
label="页面说明:" label="上传文件">
class="addTipMsg" <el-upload
>可新建版权方信息。创建展板内容,“*”为必填项,音频资料支持汉语、蒙语、藏语、维吾尔语、英语五种言音频上传,参考资料支持多文件上传。</el-form-item> ref="fileUpload"
<div class="addTitle">展板基本信息</div> :auto-upload="false"
<el-form-item label="展板名称" prop="name"> :limit="3"
<el-input v-model="ruleForm.name"></el-input> :on-change="fileOnChange"
</el-form-item> :before-upload="fileBeforeUpload"
<el-form-item label="展板版权方"> :before-remove="fileBeforeRemove"
<el-select v-model="ruleForm.desc" placeholder="请选择"> size="mini"
<el-option class="upload-file"
v-for="item in options" action="/"
:key="item.value" multiple>
:label="item.label" <el-button
:value="item.value" class="upload-button"
></el-option> size="small"
</el-select> type="primary">请选择文件</el-button>
</el-form-item> <!--<div
<el-form-item label="展板分类"> slot="tip"
<el-select v-model="ruleForm.desc" placeholder="请选择"> class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>-->
<el-option </el-upload>
v-for="item in options" </el-form-item>
:key="item.value" <el-form-item
:label="item.label" prop="uploadImg"
:value="item.value" label="上传图片">
></el-option> <!--:on-remove="imgRemoveList"-->
</el-select> <el-upload
</el-form-item> ref="imgUpload"
<el-form-item label="展板图片"> :auto-upload="false"
:limit="3"
</el-form-item> :on-change="imgOnChange"
<el-form-item label="展板二维码"> :before-upload="imgBeforeUpload"
:before-remove="imgBeforeRemove"
</el-form-item> size="mini"
class="upload-img"
<el-form-item label="展板介绍"> action="/"
<el-input type="textarea" v-model="ruleForm.desc"></el-input> accept=".jpg,.jpeg,.png"
</el-form-item> list-type="picture-card"
<div class="addTitle">展板影音信息</div> multiple>
<el-form-item label="视频版权方"> <!--<i class="el-icon-plus"/>-->
<el-select v-model="ruleForm.desc" placeholder="请选择"> <i class="icon-tupian"/>
<el-option <!--<div class="el-upload__text">将文件拖到此处</div>-->
v-for="item in options" <div
:key="item.value" slot="tip"
:label="item.label" class="el-upload__tip">只能上传jpg/png文件,大小不超过20M</div>
:value="item.value" </el-upload>
></el-option> </el-form-item>
</el-select> <el-button @click="saveDealEvent">提交</el-button>
</el-form-item> </el-form>
<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> </template>
<script> <script>
export default { export default {
data() { data() {
let validateLicense = (rule, value, callback) => {
if (!(this.imgSizeIsSatisfy.length === 0)) {
callback(new Error('上传图片大小不能超过 5MB!'));
} else {
callback();
}
};
let fileValidate = (rule, value, callback) => {
if (!(this.fileSizeIsSatisfy.length === 0)) {
callback(new Error('上传图片大小不能超过 10MB!'));
} else {
callback();
}
};
return { return {
options: [ dealForm: {
{ solutions: '111',
value: "选项1", dealStatus: 'ww',
label: "黄金糕" dealFunction: 'qq'
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
dialogVisible: false,
formLabelWidth: "100px",
form: {
name: ""
},
classForm: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
}, },
value1: "", dealFormRules: {
ruleForm: { uploadImg: [{ validator: validateLicense }],
name: "", uploadFile: [{ validator: fileValidate }]
region: "",
date1: "",
date2: "",
delivery: false,
type: [],
resource: "",
desc: ""
}, },
departments: [ uploadFile: [],
{ uploadImg: [],
value: "Beijing", imgSizeIsSatisfy: [],
label: "北京" fileSizeIsSatisfy: []
},
{
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: { methods: {
// 新建视频分类 imgBeforeUpload(file) {
addVideoClass() { this.uploadImg.push(file);
this.dialogVisible = true; return false;
// 返回false,停止上传
}, },
save() { fileBeforeUpload(file) {
this.dialogVisible = false; this.uploadFile.push(file);
return false;
}, },
// 新增关闭 saveDealEvent() {
close() { // this.$refs.dealForm.validate(valid => {
this.dialogVisible = false; // if (valid) {
for (let key in this.classForm) { this.$confirm('确认提交吗?', '提示', {})
this.classForm[key] = null; .then(() => {
} // 创建一个formData对象
this.$refs["classForm"].resetFields(); const formData = new FormData();
// 把表单双向绑定的数据添加到formData对象里面
Object.keys(this.dealForm).forEach(key => {
formData.append(key, this.dealForm[key]);
});
console.log(formData)
// 添加eventId到formData对象里面
// formData.append('eventId', this.evtId);
// 手动上传文件列表
this.$refs.fileUpload.submit();
this.$refs.imgUpload.submit();
// 把要上传的文件添加到formData对象里面
for (let i = 0; i < this.uploadFile.length; i++) {
formData.append('fileFiles', this.uploadFile[i]);
}
for (let i = 0; i < this.uploadImg.length; i++) {
formData.append('imgFiles', this.uploadImg[i]);
}
console.log(formData,'formData')
let vm = this;
vm.$https(
{
url: "asset/dddddgetPageList",
method: "post",
authType: this.backToken
},
// vm.$qs.stringify(this.dealForm)
vm.$qs.stringify(formData)
// param
)
.then(res => {
})
.catch(function(err) {
console.log(err);
});
// // 提交表单
// saveDealEvent(formData).then(res => {
// // 提交后置空
// this.dealForm = {};
// this.uploadFile = [];
// this.uploadImg = [];
// this.$refs['dealForm'].resetFields();
// this.$message({
// message: '提交成功',
// type: 'success'
// });
// });
})
.catch(e => {
console.log(e);
});
// }
// });
}, },
submitForm(formName) { imgOnChange(file, fileList) {
this.$refs[formName].validate(valid => { console.log(file,'eeeee')
if (valid) { this.dealForm.imgFile =file
alert("submit!"); this.imgSizeIsSatisfy.push(file.name);
} else { this.$refs.dealForm.validateField('uploadImg');
console.log("error submit!!"); const isLt2M = file.size / 1024 / 1024 < 5;
return false; // if (!isLt2M) {
} // this.imgSizeIsSatisfy.push(file.name);
}); // this.$refs.dealForm.validateField('uploadImg');
// }
}, },
resetForm(formName) { imgBeforeRemove(file) {
this.$refs[formName].resetFields(); if (!(this.imgSizeIsSatisfy.indexOf(file.name) === -1)) {
history.go(-1); let temp = this.imgSizeIsSatisfy.indexOf(file.name);
this.imgSizeIsSatisfy.splice(temp, 1);
this.$refs.dealForm.validateField('uploadImg');
}
}, },
getSelectDep(department) { fileOnChange(file, fileList) {
// debugger const isLt2M = file.size / 1024 / 1024 < 10;
if (!isLt2M) {
if (department.length === this.departments.length) { this.fileSizeIsSatisfy.push(file.name);
this.checkedThing = true; this.$refs.dealForm.validateField('uploadFile');
} else {
this.checkedThing = false;
} }
}, },
fileBeforeRemove(file) {
selectAllThing() { if (!(this.fileSizeIsSatisfy.indexOf(file.name) === -1)) {
// debugger let temp = this.fileSizeIsSatisfy.indexOf(file.name);
this.department = []; this.fileSizeIsSatisfy.splice(temp, 1);
if (this.checkedThing) { this.$refs.dealForm.validateField('uploadFile');
this.departments.map(item => {
this.department.push(item.label);
});
} else {
this.department = [];
} }
} }
} }
}; }
</script> </script>
<style lang="less">
@import "../../style/add"; <style>
@import "../../../../style/dialog";
</style> </style>
\ No newline at end of file
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -201,6 +201,11 @@ export default { ...@@ -201,6 +201,11 @@ export default {
let param = _this.getSearchQuery(); let param = _this.getSearchQuery();
_this.getTableData(param); _this.getTableData(param);
}, },
// 重置
Reset(){
this.form = {}
this.Search()
},
Search() { Search() {
let _this = this; let _this = this;
_this.page.currentPage = 1; _this.page.currentPage = 1;
......
...@@ -182,7 +182,7 @@ export default { ...@@ -182,7 +182,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
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;
......
<template>
<h1>ddddd</h1>
</template>
\ No newline at end of file
<template>
<div class="info">
<div class="info-header">新建学习内容</div>
<div class="info-container">
<div class="info-wrapper">
<el-form class="demo-form-inline" :inline="true" :model="ruleForm" label-position="top">
<el-form-item label="学习内容名称" class="w50" style="padding-right:100px;">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="适用范围">
全平台
<!-- <el-input v-model="ruleForm.name" ></el-input> -->
</el-form-item>
<el-form-item label="学习内容宣传图" class="w100">
<img class="imgSize" src alt />
</el-form-item>
<el-form-item class="selectH100 w50" 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="selectH100" 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="展板备选清单" class="w100"></el-form-item>
</el-form>
<div class>
<el-table
border
style="width: 100%;height:300px;overflow:auto;"
height="100%"
ref="multipleTable"
:data="tableData"
>
<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 label="操作">
<template slot-scope="scope">
<el-button
type="text"
style="padding:0"
:disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)"
>上移</el-button>
<el-button
type="text"
style="padding:0"
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)"
>下移</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
<div class="info-footer">
<div class="btn-group">
<!-- 确定、取消 -->
<el-button size="mini" type="primary" class="btn_form_search" @click="addSubmit">确定</el-button>
<el-button size="mini" class="btn_form_search" @click="close">取消</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
assetType: [],
checkedThing: false,
selfstyle: {
textAlign: "right",
width: "100%",
paddingRight: "10px"
},
tableData: [
{
id: "1",
name: "1"
},
{
id: "2",
name: "2"
},
{
id: "3",
name: "3"
}
],
ruleForm: {
user: "",
region: ""
}
};
},
methods: {
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.id);
});
} else {
this.ruleForm.assetTypeIdList = [];
}
},
// 获取视频分类列表
getAssetTypeData() {
let vm = this;
vm.$https({
url: "assetType/getList",
method: "get",
authType: this.backToken
})
.then(res => {
let data = res.data.data;
this.assetType = data;
// this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart
})
.catch(function(err) {
console.log(err);
});
},
// 新增
addSubmit() {
// 至少选一个备选清单 提示
alert("请先至少选择一个展板备选清单");
},
close() {
history.go(-1);
},
moveUpward(row, index) {
if (index > 0) {
let upData = this.tableData[index - 1];
this.tableData.splice(index - 1, 1);
this.tableData.splice(index, 0, upData);
} else {
this.$message({
message: "已经是第一条,上移失败",
type: "warning"
});
}
},
moveDown(row, index) {
if (index + 1 == this.tableData.length) {
this.$message({
message: "已经是最后一条,下移失败",
type: "warning"
});
} else {
let downData = this.tableData[index + 1];
this.tableData.splice(index + 1, 1);
this.tableData.splice(index, 0, downData);
}
}
}
};
</script>
<style lang="less">
</style>
\ No newline at end of file
<template>
<div class="info">
<div class="info-header">学习内容详情</div>
<div class="info-container">
<div class="info-wrapper">
<el-collapse v-model="activeNames" @change="handleChange">
<el-collapse-item title="审核意见" name="1">
<el-form
class="demo-form-inline"
:inline="true"
:model="formInline"
label-position="top"
>
<el-form-item label="审核层级" class="w100">
<span class="w50 l-float">
<strong>初审</strong> 2021/02/02
</span>
<span class="w50">
<strong>复审</strong> 2021/02/23
</span>
</el-form-item>
<el-form-item label="审核结果" class="w50">驳回</el-form-item>
<el-form-item
label="驳回原因"
>各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给各区域为夫妻房我发给</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item title="学习内容" name="2">
<el-form
class="demo-form-inline"
:inline="true"
:model="formInline"
label-position="top"
>
<el-form-item label="学习内容名称" class="w50">xxxxxxx</el-form-item>
<el-form-item label="学习内容宣传图" class="w50">
<img class="imgSize" src alt />
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item title="展板列表" name="3">
{{tableData}}
<div class="party-table">
<el-table
border
style="width: 100%;height:100%"
height="100%"
ref="multipleTable"
:data="tableData"
>
<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 label="操作">
<template slot-scope="scope">
<el-button
type="text"
style="padding:0"
:disabled="scope.$index == 0"
@click="moveUpward(scope.row, scope.$index)"
>上移</el-button>
<el-button
type="text"
style="padding:0"
:disabled="(scope.$index + 1) == tableData.length"
@click="moveDown(scope.row, scope.$index)"
>下移</el-button>
</template>
</el-table-column>
</el-table>
</div>
</el-collapse-item>
</el-collapse>
</div>
</div>
<div class="info-footer">
<div class="btn-group">
<!-- 确定、取消 -->
<el-button size="mini" type="primary" class="btn_form_search" @click="close">关闭</el-button>
</div>
</div>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [
{
id: "1",
name: "1"
},
{
id: "2",
name: "2"
},
{
id: "3",
name: "3"
}
],
activeNames: ["1"],
formInline: {
user: "",
region: ""
}
};
},
methods: {
close() {
history.go(-1);
},
handleChange(val) {
console.log(val);
},
moveUpward(row, index) {
if (index > 0) {
let upData = this.tableData[index - 1];
this.tableData.splice(index - 1, 1);
this.tableData.splice(index, 0, upData);
} else {
this.$message({
message: "已经是第一条,上移失败",
type: "warning"
});
}
},
moveDown(row, index) {
if (index + 1 == this.tableData.length) {
this.$message({
message: "已经是最后一条,下移失败",
type: "warning"
});
} else {
let downData = this.tableData[index + 1];
this.tableData.splice(index + 1, 1);
this.tableData.splice(index, 0, downData);
}
}
}
};
</script>
<style lang="less">
</style>
\ No newline at end of file
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
<div class="table-content"> <div class="table-content">
<div class="btn-group"> <div class="btn-group">
<el-button type="primary" @click="addPermis()">新建学习内容</el-button> <el-button type="primary" @click="addPermis()">新建学习内容</el-button>
<el-button type="primary" @click="learnDetails()">学习内容详情界面</el-button>
</div> </div>
<div class="party-table"> <div class="party-table">
<el-table <el-table
...@@ -45,11 +46,11 @@ ...@@ -45,11 +46,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 +141,7 @@ export default { ...@@ -140,7 +141,7 @@ export default {
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
this.getPermis(); // this.getPermis();
}, },
components: {}, components: {},
methods: { methods: {
...@@ -174,14 +175,15 @@ export default { ...@@ -174,14 +175,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.data;
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;
...@@ -201,6 +203,12 @@ export default { ...@@ -201,6 +203,12 @@ export default {
let param = _this.getSearchQuery(); let param = _this.getSearchQuery();
_this.getTableData(param); _this.getTableData(param);
}, },
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
Search() { Search() {
let _this = this; let _this = this;
_this.page.currentPage = 1; _this.page.currentPage = 1;
...@@ -227,10 +235,14 @@ export default { ...@@ -227,10 +235,14 @@ export default {
}, },
// 添加 // 添加
addPermis() { addPermis() {
this.$router.push({ path: "learnAdd", query: { type: "add" } }); this.$router.push({ path: "learnContentAdd", query: { type: "add" } });
// $('.el-dialog__title').html('新建'); // $('.el-dialog__title').html('新建');
// this.FormVisible1 = true; // this.FormVisible1 = true;
}, },
// 学习内容详情
learnDetails(){
this.$router.push({ path: "learnContentDetails", query: { id: "111" } });
},
// 添加权限 // 添加权限
permisSave() { permisSave() {
let _this = this; let _this = this;
...@@ -288,8 +300,8 @@ export default { ...@@ -288,8 +300,8 @@ export default {
// 编辑弹框 // 编辑弹框
openEdit(row) { openEdit(row) {
this.$router.push({ this.$router.push({
path: "learnUpdate", path: "videoCopyrightUpdate",
query: { type: "Update" } query: { type: "Update" ,id :row.id}
}); });
// alert('编辑') // alert('编辑')
// $('.el-dialog__title').html('编辑'); // $('.el-dialog__title').html('编辑');
...@@ -310,17 +322,17 @@ export default { ...@@ -310,17 +322,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 +392,6 @@ export default { ...@@ -380,57 +392,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: "请至少选择一个选项!"
});
}
} }
} }
}; };
...@@ -439,6 +400,6 @@ export default { ...@@ -439,6 +400,6 @@ export default {
<style lang="less"> <style lang="less">
// @import "../../../../style/common"; // @import "../../../../style/common";
// @import "../../style/list"; // @import "../../style/list";
@import '../../../style/table.less'; @import '../../../../style/table.less';
@import '../../../style/pagination.less'; @import '../../../../style/pagination.less';
</style> </style>
<template>
<div class="listPage H100">
<div class="search-container">
<el-form :inline="true" :model="form" ref="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" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可通过创建时间、视频分类名称模糊搜索快速筛选视频分类信息,可对视频分类信息进行修改、删除。可新建视频分类。</span>
</div>
</div>
<div class="table-content">
<div class="btn-group">
<el-button type="primary" @click="addPermis()">新建视频分类</el-button>
</div>
<div class="party-table">
<el-table
border
style="width: 100%;height:100%" height="100%"
ref="multipleTable"
:data="tableData"
@selection-change="handleSelectionChange"
>
<el-table-column type="index" width="120" label="序号"></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="新建" custom-class="party-dialog" width="468px" :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.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
name: _this.form.name
};
this.getTableData(searchObj);
},
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数
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.data;
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.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style>
<template> <template>
<div class="listPage H100"> <div class="listPage H100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form" class="search-form" onsubmit="return false;"> <el-form :inline="true" :model="form" ref="form" class="search-form" onsubmit="return false;">
<el-form-item label="版权方名称"> <el-form-item label="版权方名称">
<el-input <el-input
size="mini" size="mini"
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
</div> </div>
</div> </div>
<!--新增弹框--> <!--新增弹框-->
<el-dialog title="新建" class="newPermis" :visible.sync="FormVisible1" :before-close="close1"> <el-dialog title="新建" custom-class="party-dialog" width="468px" :visible.sync="FormVisible1" :before-close="close1">
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="classForm" :model="classForm"
...@@ -254,7 +254,7 @@ export default { ...@@ -254,7 +254,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
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;
...@@ -284,6 +284,12 @@ export default { ...@@ -284,6 +284,12 @@ export default {
}; };
this.getTableData(searchObj); this.getTableData(searchObj);
}, },
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
// // 获取当前查询参数 // // 获取当前查询参数
getSearchQuery() { getSearchQuery() {
let _this = this; let _this = this;
...@@ -433,7 +439,7 @@ export default { ...@@ -433,7 +439,7 @@ export default {
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
this.classForm = data this.classForm = data
}) })
.catch(function(err) { .catch(function(err) {
......
...@@ -175,7 +175,7 @@ export default { ...@@ -175,7 +175,7 @@ export default {
}, },
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
// this.assetType = data // this.assetType = data
this.ruleForm = data this.ruleForm = data
this.value1 = [data.expireDateStart,data.expireDateEnd] this.value1 = [data.expireDateStart,data.expireDateEnd]
...@@ -200,7 +200,7 @@ export default { ...@@ -200,7 +200,7 @@ export default {
}, },
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
this.assetType = data this.assetType = data
// this.value1[0]=data.expireDateEnd // this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart //this.value1[1]=data.expireDateStart
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -289,7 +289,7 @@ export default { ...@@ -289,7 +289,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
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;
...@@ -309,6 +309,11 @@ export default { ...@@ -309,6 +309,11 @@ export default {
let param = _this.getSearchQuery(); let param = _this.getSearchQuery();
_this.getTableData(param); _this.getTableData(param);
}, },
// 重置
Reset(){
this.form = {}
this.Search()
},
Search() { Search() {
let _this = this; let _this = this;
_this.page.currentPage = 1; _this.page.currentPage = 1;
...@@ -429,7 +434,7 @@ export default { ...@@ -429,7 +434,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
this.editform = data this.editform = data
}) })
.catch(function(err) { .catch(function(err) {
......
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
<span>若没有相应的视频分类,请点击</span> <span>若没有相应的视频分类,请点击</span>
<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 class="selectH100" label="请选择预设视频分类">
<el-select placeholder="请选择预设视频分类" @focus="getAssetTypeData" multiple v-model="ruleForm.assetTypeIdList" @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 in assetType" v-for="item in assetType"
...@@ -38,8 +38,8 @@ ...@@ -38,8 +38,8 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div class=" btn-group"> <div class=" btn-group">
<el-button type="primary" v-show="type === 'add'" @click="submitForm('ruleForm')">确定</el-button> <el-button type="primary" v-show="type === 'add'" class="btn_form_search" @click="submitForm('ruleForm')">确定</el-button>
<el-button type="primary" v-show="type === 'Update'" @click="updateForm('ruleForm')">确定</el-button> <el-button type="primary" v-show="type === 'Update'" class="btn_form_search" @click="updateForm('ruleForm')">确定</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button> <el-button @click="resetForm('ruleForm')">取消</el-button>
</div> </div>
...@@ -170,7 +170,7 @@ export default { ...@@ -170,7 +170,7 @@ export default {
}, },
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
// this.assetType = data // this.assetType = data
this.ruleForm = data this.ruleForm = data
this.value1 = [data.expireDateStart,data.expireDateEnd] this.value1 = [data.expireDateStart,data.expireDateEnd]
...@@ -195,7 +195,7 @@ export default { ...@@ -195,7 +195,7 @@ export default {
}, },
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
this.assetType = data this.assetType = data
// this.value1[0]=data.expireDateEnd // this.value1[0]=data.expireDateEnd
//this.value1[1]=data.expireDateStart //this.value1[1]=data.expireDateStart
...@@ -323,7 +323,7 @@ export default { ...@@ -323,7 +323,7 @@ export default {
this.ruleForm.assetTypeIdList = []; this.ruleForm.assetTypeIdList = [];
if (this.checkedThing) { if (this.checkedThing) {
this.assetType.map(item => { this.assetType.map(item => {
this.ruleForm.assetTypeIdList.push(item.label); this.ruleForm.assetTypeIdList.push(item.id);
}); });
} else { } else {
this.ruleForm.assetTypeIdList = []; this.ruleForm.assetTypeIdList = [];
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button> <el-button size="mini" type="primary" class="btn_form_search" @click="Search">查询</el-button>
<el-button size="mini" class="btn_form_search">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -182,7 +182,7 @@ export default { ...@@ -182,7 +182,7 @@ export default {
// param // param
) )
.then(res => { .then(res => {
let data = res.data.body; let data = res.data.data;
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;
...@@ -202,6 +202,12 @@ export default { ...@@ -202,6 +202,12 @@ export default {
let param = _this.getSearchQuery(); let param = _this.getSearchQuery();
_this.getTableData(param); _this.getTableData(param);
}, },
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
Search() { Search() {
let _this = this; let _this = this;
_this.page.currentPage = 1; _this.page.currentPage = 1;
......
<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" @click="Reset">重置</el-button>
</div>
</el-form-item>
</el-form>
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips">可使用版权方、视频分类、视频名称模糊搜索对需要汇出的视频进行快速检索,选定视频后将视频汇出到指定U盘。</span>
</div>
</div>
<div class="table-content">
<div class="btn-group">
<el-button type="primary" @click="multipleRemit()">汇出</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="selection" width="55"></el-table-column>
<el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="视频名称" prop="name"></el-table-column>
<el-table-column label="版权方" prop="copyrightOwnerName"></el-table-column>
<el-table-column label="视频类别" prop="createTime"></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 {
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.data;
vm.page.pageSize = data.size;
vm.page.total = data.total;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
// 分页
handleCurrentChange(val) {
let _this = this;
_this.page.currentPage = val;
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
},
// 重置
Reset(){
// this.$refs["form"].resetFields();
this.form = {}
this.Search()
},
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;
},
// 批量操作
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(",");
str = arr;
} else {
// str = "";
str = [];
}
return str;
},
// 批量删除
multipleRemit() {
let _this = this;
let str = _this.getMultipleSelect();
// console.log(str)
if (str.length > 0) {
console.log(str);
// _this.$https({
// url: "menu/batchDel?menuIds=" + str,
// method: "post",
// authType: this.backToken
// })
// .then(
// res => {
// if (res.data.status == 201 || res.data.status == 200) {
// var reader = new FileReader();
// reader.readAsDataURL(blob); // 转换为base64,可以直接放入a表情href
// reader.onload = function(e) {
// var a = document.createElement("a");
// a.download =
// genUUID() + (batchno !== "" ? "_" + batchno : "") + ".zip"; //下载文件名
// a.href = e.target.result;
// $("body").append(a); // 修复firefox中无法触发click
// a.click();
// $(a).remove();
// };
// }
// //重新查询数据
// _this.onSearch();
// },
// error => {}
// );
} else {
this.$message({
type: "info",
message: "请至少选择一个选项!"
});
}
// 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.less";
@import "../../../../style/table.less";
@import "../../../../style/pagination.less";
</style>
<template> <template>
<!-- 运维日志 -->
<div class="devops-wrapper height100"> <div class="devops-wrapper height100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
v-model="form.user" v-model="form.user"
placeholder="请输入操作者" placeholder="请输入运维者账号"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
v-model="form.value" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item>
<el-select v-model="form.user" 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> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button> <el-button type="primary" @click="handleSubmit">查询</el-button>
...@@ -53,7 +44,7 @@ export default { ...@@ -53,7 +44,7 @@ export default {
return{ return{
form:{ form:{
user:'', user:'',
value:'' date:''
}, },
addForm:{ addForm:{
......
...@@ -64,7 +64,7 @@ import { getAreas } from "@/config/area"; ...@@ -64,7 +64,7 @@ import { getAreas } from "@/config/area";
export default { export default {
data() { data() {
return { return {
dialogVisible: true, dialogVisible: false,
form: { form: {
name: "", name: "",
areaId: [], areaId: [],
...@@ -72,11 +72,11 @@ export default { ...@@ -72,11 +72,11 @@ export default {
remarks: "", remarks: "",
}, },
disabled: false, disabled: false,
areaOptions: [], areaOptions: [],
cascaderProps: { cascaderProps: {
label: "name", label: "name",
value: "id", value: "id",
checkStrictly: true, checkStrictly: true
}, },
levelOption: [], levelOption: [],
rules: { rules: {
...@@ -97,6 +97,10 @@ export default { ...@@ -97,6 +97,10 @@ export default {
type: Number, type: Number,
default: 1, default: 1,
}, },
parentId:{
type: String,
default: '0',
}
}, },
mounted() { mounted() {
this.getLevelOption(); this.getLevelOption();
...@@ -109,10 +113,20 @@ export default { ...@@ -109,10 +113,20 @@ export default {
handleClose() { handleClose() {
this.$confirm("确认关闭?") this.$confirm("确认关闭?")
.then((_) => { .then((_) => {
done(); this.handleReset()
}) })
.catch((_) => {}); .catch((_) => {});
}, },
handleReset(){
this.dialogVisible = false
this.$refs.form.resetFields()
this.form = {
name: "",
areaId: [],
level: "",
remarks: "",
}
},
handleCancle() { handleCancle() {
this.handleClose(); this.handleClose();
}, },
...@@ -125,24 +139,33 @@ export default { ...@@ -125,24 +139,33 @@ export default {
params.areaId = [...this.form.areaId].pop(); params.areaId = [...this.form.areaId].pop();
params.remarks = this.form.remarks; params.remarks = this.form.remarks;
params.level = this.form.level; params.level = this.form.level;
params.parentId = this.parentId
let requestparams = this.$qs.stringify(params); let requestparams = this.$qs.stringify(params);
this.$https( this.$https(
{ {
method: "post", method: "post",
url: "organ/add", url: "organ/add",
authType: this.backToken,
}, },
requestparams requestparams
) )
.then((res) => { .then((res) => {
console.log(res); if(res.status == 200 ){
if (res.data.code != 200) { if (res.data.resultCode == 200 ) {
this.$message({ this.$message({
type: "success", type: "success",
message: res.data.message, message: res.data.message,
}); });
this.handleReset()
this.$emit('success',true)
} else {
this.$message.error(res.data.message);
this.$emit('success',false)
}
} else { } else {
this.$message.error(res.data.message); this.$message.error(res.data);
} this.$emit('success',false)
}
}) })
.catch((err) => { .catch((err) => {
console.log(res); console.log(res);
......
...@@ -7,17 +7,20 @@ ...@@ -7,17 +7,20 @@
<div class="tree-search party-form"> <div class="tree-search party-form">
<el-input <el-input
placeholder="请输入组织结构名称" placeholder="请输入组织结构名称"
v-model="orgName" v-model="name"
suffix-icon="el-icon-search"
clearable
> >
<i
slot="suffix"
class="el-input__icon el-icon-search"
@click="getOrgTree()">
</i>
</el-input> </el-input>
<div class="f0"> <div class="f0">
<el-tooltip content="新建" placement="top"> <el-tooltip content="新建" placement="top">
<i class="icon-add party-icon-20" /> <i class="icon-add party-icon-20" @click="handleAdd('add')"/>
</el-tooltip> </el-tooltip>
<el-tooltip content="导入" placement="top"> <el-tooltip content="导入" placement="top">
<i class="icon-import party-icon-20" /> <i class="icon-import party-icon-20" @click="handleImport('import')"/>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
...@@ -43,10 +46,10 @@ ...@@ -43,10 +46,10 @@
</div> </div>
<div class="org-detail"> <div class="org-detail">
<div class="org-detail-panel-box"> <div class="org-detail-panel-box">
<span class="title">{{ title }}</span> <span class="title">{{ currentInfo.name }}</span>
<div class="icon-group"> <div class="icon-group">
<i class="icon-edit party-icon-24"> </i> <i class="icon-edit party-icon-24" @click="handleEdit()"> </i>
<i class="icon-del party-icon-24"> </i> <i class="icon-del party-icon-24" @click="handleDel()"> </i>
</div> </div>
</div> </div>
<div class="org-detail-panel-box-content"> <div class="org-detail-panel-box-content">
...@@ -58,162 +61,166 @@ ...@@ -58,162 +61,166 @@
</div> </div>
<el-form label-position="top" :inline="true"> <el-form label-position="top" :inline="true">
<el-form-item label="上级机构" class="w50"> <el-form-item label="上级机构" class="w50">
<span>中国国家博物馆</span> <span></span>
</el-form-item> </el-form-item>
<el-form-item label="下级机构" class="w50"> <el-form-item label="下级机构" class="w50">
<span>中国国家博物馆</span> <span>
</span>
</el-form-item> </el-form-item>
<el-form-item label="地理位置" class="w100"> <el-form-item label="地理位置" class="w100">
<span>北京市海淀区</span> <span>
{{currentInfo.remarks}}
</span>
</el-form-item> </el-form-item>
<el-form-item label="备注信息" class="w100"> <el-form-item label="备注信息" class="w100">
<span> <span>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean {{currentInfo.remarks}}
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.
</span> </span>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<org-add/> <org-add
<org-edit/> ref="orgAdd"
:parentId="currentInfo.id"
:level="currentInfo.level"
@success="getOrgTree()"
/>
<org-edit ref="orgEdit" :currentInfo="currentInfo"/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
let res = {
code: "200",
body: [
{
children: [
{
children: [
{
children: [],
city: 1,
country: 1,
createTime: "2020-03-22",
icon: "1",
id: "3",
isDeleted: false,
level: 3,
name: "xe",
parentId: "2",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "2",
isDeleted: false,
level: 2,
name: "测试2级",
parentId: "1",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
{
children: [],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "4",
isDeleted: false,
level: 2,
name: "测试2级2",
parentId: "1",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
],
city: 1101,
country: 11011,
createTime: "2021-03-22",
icon: "0",
id: "1",
isDeleted: false,
level: 1,
name: "国博",
parentId: "0",
province: 110005,
remarks: "0",
updateTime: "2021-03-22",
},
{
children: [],
city: 1,
country: 1,
createTime: "2021-03-22",
icon: "1",
id: "1373918679665557505",
isDeleted: false,
level: 1,
name: "测试",
parentId: "0",
province: 1,
remarks: "1",
updateTime: "2021-03-22",
},
{
children: [],
city: 110100,
country: 110108,
createTime: "2021-03-23",
icon: "0",
id: "1374238828926935042",
isDeleted: false,
level: 1,
name: "测试11",
parentId: "0",
province: 110000,
remarks: "测试",
updateTime: "2021-03-23",
},
{
children: [],
city: 110100,
country: 110108,
createTime: "2021-03-23",
icon: "0",
id: "1374239612615909378",
isDeleted: false,
level: 1,
name: "测试22",
parentId: "0",
province: 110000,
remarks: "测试",
updateTime: "2021-03-23",
},
],
};
import {orgAdd, orgEdit} from './orgDialog' import {orgAdd, orgEdit} from './orgDialog'
export default { export default {
data() { data() {
return { return {
orgName: "", name: "",
data: res.body, data: [],
defaultProps: { defaultProps: {
children: "children", children: "children",
label: "name", label: "name",
}, },
title: "国博", currentId:'',
currentInfo:{},
}; };
}, },
components:{orgAdd,orgEdit}, components:{orgAdd,orgEdit},
mounted(){
this.getOrgTree()
},
methods: { methods: {
handleNodeClick(data) { handleNodeClick(data) {
console.log(data); this.currentId = data.id
this.getInfoById()
},
// 获取机构数详情
getInfoById(){
this.$https({
method: "get",
url: "organ/getById",
authType: this.backToken,
},{id:this.currentId}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
if(res.data.data){
this.currentInfo = res.data.data
}else{
this.currentInfo = {}
}
}else{
this.currentInfo = {}
}
}else{
this.currentInfo = {}
}
}).catch(err=>{
console.log(res)
})
},
// 获取机构树
getOrgTree(){
this.$https({
method: "get",
url: "organ/getTree",
authType: this.backToken,
},{name:this.name}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
this.data = res.data.data
}else{
this.data = []
}
}else{
this.data = []
}
}).catch(err=>{
console.log(res)
})
},
// 新增或者导入 之前判断是否选择父级
handleOperate(type){
if(JSON.stringify(this.currentInfo) === "{}"){
this.currentId.level = 1
this.currentInfo.id = '0'
}
if(type === 'add'){
this.handleAdd()
}
if(type === 'import'){
this.handleImport()
}
},
// 新增
handleAdd(){
this.$refs.orgAdd.dialogVisible = true
}, },
//导入
handleImport(){
},
handleEdit(){
},
// 删除
handleDel(){
this.$confirm('此操作将永久删除, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.delAction()
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
delAction(){
this.$https({
method: `delete?id=${this.currentId}`,
url: "organ/delete",
authType: this.backToken,
}).then(res=>{
if(res.status == 200){
if(res.data.resultCode == 200){
this.$message({
type:'success',
message:res.data.message
})
this.getOrgTree()
}else{
this.$message.error(res.data.message)
}
}else{
this.$message.error(res.data)
}
}).catch(err=>{
console.log(err)
})
}
}, },
}; };
</script> </script>
...@@ -255,6 +262,11 @@ export default { ...@@ -255,6 +262,11 @@ export default {
} }
.org-tree-box-content { .org-tree-box-content {
padding: 20px; padding: 20px;
height: calc(100% - 56px);
.tree-content{
height: calc(100% - 60px);
overflow-y: auto;
}
} }
} }
} }
......
...@@ -348,41 +348,90 @@ const router = new Router({ ...@@ -348,41 +348,90 @@ const router = new Router({
}, },
// --学习 // --学习
{ {
path: '/learn', path: '/learnProject',
name: '学习项目制作',
component: () => import('@/page/content/learn/project/index'),
meta:{
showBreadcrumb:true,
title:'学习项目制作',
}
},
{
path: '/learnContent',
name: '学习内容制作', name: '学习内容制作',
component: () => import('@/page/content/learn/index'), component: () => import('@/page/content/learn/content/index'),
meta:{ meta:{
showBreadcrumb:true, showBreadcrumb:true,
title:'学习内容制作', title:'学习内容制作',
} }
}, },
{ {
path: '/learnAdd', path: '/learnContentAdd',
name: '新建学习内容', name: '新建学习内容',
component: () => import('@/page/content/learn/add'), component: () => import('@/page/content/learn/content/add'),
meta:{ meta:{
showBreadcrumb:true, showBreadcrumb:true,
title:'新建学习内容', title:'新建学习内容',
} }
}, },
{ {
path: '/learnUpdate', path: '/learnContentUpdate',
name: '修改展板', name: '修改学习内容',
component: () => import('@/page/content/learn/add'), component: () => import('@/page/content/learn/content/add'),
meta:{ meta:{
showBreadcrumb:true, showBreadcrumb:true,
title:'修改展板', title:'修改学习内容',
} }
}, },
{ {
path: '/learnDetails', path: '/learnContentDetails',
name: '展板管理详情', name: '学习内容详情',
component: () => import('@/page/content/learn/details'), component: () => import('@/page/content/learn/content/details'),
meta:{ meta:{
showBreadcrumb:true, showBreadcrumb:true,
title:'展板管理详情', title:'学习内容详情',
}
},
// 审核
{
path: '/checkVideo',
name: '视频审核',
component: () => import('@/page/check/video/index'),
meta:{
showBreadcrumb:true,
title:'视频审核',
}
},
{
path: '/checkDisplay',
name: '展板审核',
component: () => import('@/page/check/display/index'),
meta:{
showBreadcrumb:true,
title:'展板审核',
} }
}, },
{
path: '/checkLearn',
name: '平台学习内容审核',
component: () => import('@/page/check/learn/index'),
meta:{
showBreadcrumb:true,
title:'平台学习内容审核',
}
},
{
path: '/checkLearnDetails',
name: '学习内容详情',
component: () => import('@/page/check/learn/details'),
meta:{
showBreadcrumb:true,
title:'学习内容详情',
}
},
//新建页面 //新建页面
{ {
......
...@@ -267,6 +267,60 @@ ...@@ -267,6 +267,60 @@
} }
} }
.imgSize{
width: 160px;
height: 100px;
}
.iconImg{
height: 32px;
width: 32px;
margin-right: 8px;
}
.w50{
width: 50%;
}
.w100{
width:100%;
}
.selectH100{
height:100px;
overflow: auto;
}
// 详情页
.info {
height: 100%;
width: 100%;
overflow: hidden;
.info-header {
font-size: 20px;
padding: 20px;
height: 68px;
width: 100%;
vertical-align: middle;
text-align: center;
border-bottom: 2px solid #eee;
}
.info-wrapper {
height: 100%;
width: 640px;
margin: 0 auto;
background: #fff;
}
.info-container {
width: 100%;
height: calc(100% - 156px);
overflow-y: auto;
overflow-x: hidden;
}
.info-footer {
height: 88px;
border-top: 2px solid #eee;
padding: 20px;
text-align: center;
}
}
// 适用于统计详情样式 // 适用于统计详情样式
.overview-detail{ .overview-detail{
.ecahrts-panel-box{ .ecahrts-panel-box{
...@@ -395,6 +449,14 @@ ...@@ -395,6 +449,14 @@
} }
.el-tree-node{ .el-tree-node{
background-color: @party-white; background-color: @party-white;
&.is-current{
>.el-tree-node__content{
.custom-tree-node{
background-color: @party-border-color;
}
}
}
} }
.el-tree-node__content{ .el-tree-node__content{
height: auto; height: auto;
...@@ -425,6 +487,7 @@ ...@@ -425,6 +487,7 @@
height: 56px; height: 56px;
line-height: 56px; line-height: 56px;
border-bottom: 1px solid @party-border-color; border-bottom: 1px solid @party-border-color;
padding-left: 5px;
} }
.tree-node-level2, .tree-node-level2,
.tree-node-level3{ .tree-node-level3{
...@@ -440,4 +503,4 @@ ...@@ -440,4 +503,4 @@
.tree-node-level3:hover{ .tree-node-level3:hover{
background-color: @party-border-color; background-color: @party-border-color;
} }
} }
\ No newline at end of file
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