Commit 436b90c8 authored by qzhxx's avatar qzhxx

merge

parents d3da9bad 3e6a90e2
...@@ -97,6 +97,7 @@ export default { ...@@ -97,6 +97,7 @@ export default {
}); });
localStorage.setItem("userType",resData.user.type) localStorage.setItem("userType",resData.user.type)
localStorage.setItem("user", resData.user.userName); localStorage.setItem("user", resData.user.userName);
localStorage.setItem("userId",resData.user.id)
localStorage.setItem("backToken", resData.token); localStorage.setItem("backToken", resData.token);
localStorage.setItem( localStorage.setItem(
"menuList", "menuList",
......
...@@ -3,6 +3,13 @@ let statusOption = [ ...@@ -3,6 +3,13 @@ let statusOption = [
{ label: "禁用", value: 'DISABLE' }, { label: "禁用", value: 'DISABLE' },
{ label: "待审核", value: 'TBC' }, { label: "待审核", value: 'TBC' },
] ]
let accoutType = [
{ label: "用户账号", value: 1 },
{ label: "单位管理员账号", value: 2 },
{ label: "机顶盒账号", value: 3 },
{ label: "运维账号", value: 4 },
{ label: "统计账号", value: 5 }
]
export { export {
statusOption statusOption
} }
/** /**
* Created by supervisor on 2017/11/3. * Created by supervisor on 2017/11/3.
*/ */
// import Vue from 'vue'
import axios from 'axios' import axios from 'axios'
// import qs from 'qs'
import store from '../store' import store from '../store'
import {Message, MessageBox, Loading} from 'element-ui'; import { Message, MessageBox, Loading } from 'element-ui';
import router from '../router' import router from '../router'
import {baseUrl} from './env' import { baseUrl } from './env'
import MyLocalStorage from './myLocalStorage' import MyLocalStorage from './myLocalStorage'
// Vue.use($msg) import { loginOut } from './loginOut'
//axios 拦截器 请求时的拦截 //axios 拦截器 请求时的拦截
axios.interceptors.request.use(config=>{ axios.interceptors.request.use(config => {
// 发送请求之前做一些处理 // 发送请求之前做一些处理
store.commit('UPDATE_LOADING',true) //显示loading store.commit('UPDATE_LOADING', true) //显示loading
// config.headers = { // config.headers = {
// 'Content-Type': 'application/json' // 'Content-Type': 'application/json'
// }; // };
return config return config
},error => { }, error => {
// 当请求异常时做一些处理 // 当请求异常时做一些处理
return new Promise.reject(error) return new Promise.reject(error)
}) })
// 响应时拦截 // 响应时拦截
axios.interceptors.response.use(response=>{ axios.interceptors.response.use(response => {
// 返回响应时做一些处理 // 返回响应时做一些处理
return response return response
},error=>{ }, error => {
// 当响应异常时做一些处理 // 当响应异常时做一些处理
return Promise.resolve(error.response) return Promise.resolve(error.response)
}) })
// let isOpen=false;
function errorState(status, data) { function errorState(status, data) {
store.commit('UPDATE_LOADING',false) store.commit('UPDATE_LOADING', false)
if(status === 500 && data.message.indexOf("token invalid")!==-1){ if (data.resultCode == '1109') {
// if(status == 500 && data == "sessionTimeOut"){ loginOut()
if(store.state.isOpen){
return ;
}
store.commit('setIsOpen',true)
MessageBox.alert('您的登录过期,请重新登录!', '提示', { MessageBox.alert('您的登录过期,请重新登录!', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
callback: () => { callback: () => {
//清除用户信息 router.push({ path: '/', query: { redirect: router.history.current.fullPath } })
localStorage.removeItem('backToken')
localStorage.removeItem('userId')
router.push({path: '/',query: {redirect: router.history.current.fullPath}})
} }
}); });
}else if(status===401){ } else if (status === 401) {
MessageBox.alert('您的用户权限已被禁用,请联系管理员!', '提示', { MessageBox.alert('您的用户权限已被禁用,请联系管理员!', '提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
callback: () => { callback: () => {
//这个时候点击确定后清除用户信息 //这个时候点击确定后清除用户信息
localStorage.removeItem('backToken') localStorage.removeItem('backToken')
localStorage.removeItem('userId') localStorage.removeItem('userId')
router.push({path: '/',query: {redirect: router.history.current.fullPath}}) router.push({ path: '/', query: { redirect: router.history.current.fullPath } })
store.commit('isAdminInfo',false); store.commit('isAdminInfo', false);
} }
}); });
} else if (status === 500 && data.message.indexOf("not have permission") !== -1) { } else if (status === 500 && data.message.indexOf("not have permission") !== -1) {
// router.push({path: 'page403'})
Message.error("抱歉,你无权访问该页面!") Message.error("抱歉,你无权访问该页面!")
}else if (!data) { } else if (!data) {
Message.error("网络出小差咯~") Message.error("网络出小差咯~")
} }
} }
function successState(res) { function successState(res) {
store.commit('UPDATE_LOADING',false) //隐藏loading store.commit('UPDATE_LOADING', false) //隐藏loading
} }
const httpServer = (opts,data,file,timeout)=>{ const httpServer = (opts, data, file, timeout) => {
//如果是不需要登录就可以访问的接口 需要设置opts.open //如果是不需要登录就可以访问的接口 需要设置opts.open
let Public = {} //公共参数 let Public = {} //公共参数
let httpDefaultOpts={ let httpDefaultOpts = {
method: opts.method, method: opts.method,
url: baseUrl + opts.url, url: baseUrl + opts.url,
timeout:timeout?timeout:20000, timeout: timeout ? timeout : 20000,
params:Object.assign(Public,data), params: Object.assign(Public, data),
data:data, data: data,
headers: opts.headers || {}, headers: opts.headers || {},
}; };
httpDefaultOpts.headers["Access-control-Allow-Origin"] = "*"; httpDefaultOpts.headers["Access-control-Allow-Origin"] = "*";
httpDefaultOpts.headers["Access-Control-Allow-Headers"] = "content-type,x-requested-with"; httpDefaultOpts.headers["Access-Control-Allow-Headers"] = "content-type,x-requested-with";
let authToken=""; let authToken = "";
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');
}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');
} }
httpDefaultOpts.headers["Authorization"]=authToken httpDefaultOpts.headers["Authorization"]=authToken
} }
if(opts.method==='get'){ if (opts.method === 'get') {
delete httpDefaultOpts.data delete httpDefaultOpts.data
httpDefaultOpts.params.timestamp_static = new Date().getTime(); httpDefaultOpts.params.timestamp_static = new Date().getTime();
// httpDefaultOpts.params.roleId = localStorage.getItem('roleId'); } else {
// httpDefaultOpts.params.bankBranchId = localStorage.getItem('bankBranchId');
}else{
delete httpDefaultOpts.params delete httpDefaultOpts.params
if(file){ if (file) {
httpDefaultOpts.data=data; httpDefaultOpts.data = data;
// httpDefaultOpts.headers["X-Requested-With"]="multipart/form-data";
} }
} }
let promise = new Promise(function (resolve,reject) { let promise = new Promise(function (resolve, reject) {
let loadingInstance = Loading.service({ let loadingInstance = Loading.service({
fullscreen: true, fullscreen: true,
lock: true, lock: true,
...@@ -115,29 +101,31 @@ const httpServer = (opts,data,file,timeout)=>{ ...@@ -115,29 +101,31 @@ const httpServer = (opts,data,file,timeout)=>{
text: 'Loading', text: 'Loading',
spinner: 'el-icon-loading' spinner: 'el-icon-loading'
}) })
let markIndex= setTimeout(function () { let markIndex = setTimeout(function () {
loadingInstance.close(); loadingInstance.close();
},10000) }, 10000)
axios(httpDefaultOpts).then((res)=>{ axios(httpDefaultOpts).then((res) => {
loadingInstance.close(); loadingInstance.close();
clearTimeout(markIndex) clearTimeout(markIndex)
if (res.data.resultCode == '1109' && localStorage.getItem('backToken')) {
//清除用户信息
errorState(res.status, res.data)
} else {
successState(res) successState(res)
if(res){
resolve(res) resolve(res)
errorState(res.status, res.data)
} }
}).catch((response)=>{ }).catch((response) => {
loadingInstance.close(); loadingInstance.close();
clearTimeout(markIndex) clearTimeout(markIndex)
console.log("catch") console.log("catch")
if(response && response.response && response.response.status && response.response.data){ if (response && response.response && response.response.status && response.response.data) {
errorState(response.response.status, response.response.data) errorState(response.response.status, response.response.data)
} }
reject(response) reject(response)
if(response.response.data){ if (response.response.data) {
if(response.response.data.message){ if (response.response.data.message) {
Message.error(response.response.data.message) Message.error(response.response.data.message)
}else{ } else {
Message.error("操作失败!") Message.error("操作失败!")
} }
} }
......
export function loginOut(){ export function loginOut() {
localStorage.removeItem("user") const list = ['user', 'userId', 'backToken', 'menuList']
localStorage.removeItem("backToken") list.forEach(v => {
localStorage.removeItem("menuList") localStorage.removeItem(v)
})
} }
\ No newline at end of file
...@@ -38,6 +38,7 @@ ...@@ -38,6 +38,7 @@
class="text-center" class="text-center"
drag drag
:action="uploadUrl" :action="uploadUrl"
:headers ="headers"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:file-list="fileList" :file-list="fileList"
...@@ -64,6 +65,7 @@ export default { ...@@ -64,6 +65,7 @@ export default {
return { return {
uploadUrl:'http://192.168.110.67/mall/file/upload/allType', uploadUrl:'http://192.168.110.67/mall/file/upload/allType',
formVisible: false, formVisible: false,
headers:{Authorization: localStorage.getItem('backToken')},
formItem: {}, formItem: {},
fileList: [], fileList: [],
rules: { rules: {
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
v-model="form.areaId" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" change-on-select
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</el-card> </el-card>
<el-card class="height100 detail-box" ref="rightBox"> <el-card class="height100 detail-box" ref="rightBox">
<div class="content-title"> <div class="content-title">
<div class="title">“北京市政府”展板互动信息汇总</div> <div class="title">"{{selectOrgName}}" 展板互动信息汇总</div>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看某个组织机构的互动信息</span> <span class="page-tips">可查看某个组织机构的互动信息</span>
...@@ -80,7 +80,8 @@ export default { ...@@ -80,7 +80,8 @@ export default {
children: "children", children: "children",
label: "name", label: "name",
}, },
selectAreaId: "", selectOrgId: "",
selectOrgName: "",
tableData: [], tableData: [],
}; };
}, },
...@@ -107,7 +108,7 @@ export default { ...@@ -107,7 +108,7 @@ export default {
let param = { let param = {
_index: this.page._index, _index: this.page._index,
_size: this.page._size, _size: this.page._size,
orgId: this.selectAreaId, orgId: this.selectOrgId,
}; };
vm.$https( vm.$https(
{ {
...@@ -178,7 +179,8 @@ export default { ...@@ -178,7 +179,8 @@ export default {
}, },
// 点击节点事件 // 点击节点事件
handleNodeClick(data) { handleNodeClick(data) {
this.selectAreaId = data.id; this.selectOrgId = data.id;
this.selectOrgName = data.name;
this.onSearch(); this.onSearch();
}, },
// 分页 // 分页
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
v-model="form.areaId" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" change-on-select
></el-cascader> ></el-cascader>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
action="http://192.168.110.67/mall/file/image/upload" action="http://192.168.110.67/mall/file/image/upload"
:on-success="uploadPageImg" :on-success="uploadPageImg"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:headers ="headers"
:file-list="dirList" :file-list="dirList"
> >
<el-button type="default">上传背景图</el-button> <el-button type="default">上传背景图</el-button>
...@@ -45,6 +46,7 @@ ...@@ -45,6 +46,7 @@
action="http://192.168.110.67/mall/file/image/upload" action="http://192.168.110.67/mall/file/image/upload"
:on-success="uploadRunImg" :on-success="uploadRunImg"
:before-upload="handleBeforeUpload" :before-upload="handleBeforeUpload"
:headers ="headers"
:file-list="fileRunList" :file-list="fileRunList"
> >
<el-button type="default">上传背景图</el-button> <el-button type="default">上传背景图</el-button>
...@@ -86,6 +88,7 @@ export default { ...@@ -86,6 +88,7 @@ export default {
components: { Swiper, SwiperSlide }, components: { Swiper, SwiperSlide },
data() { data() {
return { return {
headers:{Authorization: localStorage.getItem('backToken')},
radioPage: "", // 选中项 radioPage: "", // 选中项
radioRun: "", radioRun: "",
dirList: [], // 上传列表 dirList: [], // 上传列表
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
:prop="item.prop" :prop="item.prop"
:label="item.label" :label="item.label"
:width="item.width" :width="item.width"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="item.isEdit" class="table-btn-group"> <div v-if="item.isEdit" class="table-btn-group">
...@@ -68,8 +69,8 @@ ...@@ -68,8 +69,8 @@
</el-tooltip> </el-tooltip>
</div> </div>
<div v-else> <div v-else>
<span v-if="item.prop === 'type'"> <span v-if="item.prop === 'roleList'">
{{ scope.row[item.prop] | accoutType }} {{ accoutRoleList(scope.row[item.prop]) }}
</span> </span>
<span v-else>{{ scope.row[item.prop] }}</span> <span v-else>{{ scope.row[item.prop] }}</span>
</div> </div>
...@@ -103,29 +104,29 @@ export default { ...@@ -103,29 +104,29 @@ export default {
return []; return [];
}, },
}, },
rolesList: {
type: Array,
default: () => {
return [];
}, },
filters: {
accoutType(type) {
switch (type) {
case "1":
return "平台账号";
break;
case "2":
return "用户账号";
break;
case "3":
return "机顶盒账号";
break;
case "4":
return "运维账号";
break;
default:
return "";
}
}, },
}, },
components: { auditInfo }, components:{auditInfo},
methods: { methods: {
accoutRoleList(roleArray) {
if (!this.rolesList.length || !roleArray) {
return false;
}
let roleName = [];
this.rolesList.forEach((r) => {
roleArray.forEach((a) => {
if (r.id == a) {
roleName.push(r.name);
}
});
});
return roleName.join("、");
},
handleOperate(row, type) { handleOperate(row, type) {
if (type != "edit" && type != "examine") { if (type != "edit" && type != "examine") {
this.$confirm("确认进行此操作?", "提示", { this.$confirm("确认进行此操作?", "提示", {
......
...@@ -21,12 +21,16 @@ ...@@ -21,12 +21,16 @@
> >
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="item.isEdit" class="table-btn-group"> <div v-if="item.isEdit" class="table-btn-group">
<el-tooltip content="修改" placement="top" v-if="userId === scope.row.id"> <el-tooltip
<el-button circle @click="handleOperate(scope.row, 'edit')" > content="修改"
placement="top"
v-if="userId === scope.row.id"
>
<el-button circle @click="handleOperate(scope.row, 'edit')">
<i class="icon-table icon-edit"></i> <i class="icon-table icon-edit"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="查看" placement="top" v-else> <el-tooltip content="查看" placement="top">
<el-button circle @click="handleOperate(scope.row, 'detail')"> <el-button circle @click="handleOperate(scope.row, 'detail')">
<i class="icon-table icon-detail"></i> <i class="icon-table icon-detail"></i>
</el-button> </el-button>
...@@ -48,9 +52,14 @@ ...@@ -48,9 +52,14 @@
export default { export default {
data() { data() {
return { return {
userId:localStorage.getItem('userId') || "1375705092221669378"
}; };
}, },
computed:{
userId(){
return localStorage.getItem('userId') || ''
}
},
props: { props: {
currentPage: { currentPage: {
type: Number, type: Number,
......
...@@ -36,7 +36,7 @@ export default { ...@@ -36,7 +36,7 @@ export default {
{ prop: "telephone", label: "固定电话" }, { prop: "telephone", label: "固定电话" },
{ prop: "weChat", label: "微信号" }, { prop: "weChat", label: "微信号" },
{ prop: "email", label: "邮箱" }, { prop: "email", label: "邮箱" },
{ prop: "", label: "操作", isEdit: true, width: 120 }, { prop: "", label: "操作", isEdit: true, width: 180 },
], ],
list: [], list: [],
page: { page: {
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
<el-button type="primary" @click="handleSubmit()">确 定</el-button> <el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div> </div>
<div v-else> <div v-else>
<el-button type="primary">确 定</el-button> <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</div> </div>
</div> </div>
</el-dialog> </el-dialog>
...@@ -90,6 +90,7 @@ export default { ...@@ -90,6 +90,7 @@ export default {
phone: "", phone: "",
weChat: "", weChat: "",
email: "", email: "",
roleList:[],
type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号 type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
}, },
rules: { rules: {
...@@ -155,6 +156,7 @@ export default { ...@@ -155,6 +156,7 @@ export default {
phone: "", phone: "",
weChat: "", weChat: "",
email: "", email: "",
roleList:[],
type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号 type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
} }
}, },
...@@ -172,6 +174,7 @@ export default { ...@@ -172,6 +174,7 @@ export default {
user.email = _this.form.email; user.email = _this.form.email;
user.id = _this.id; user.id = _this.id;
user.type = this.form.type; user.type = this.form.type;
user.roleList = this.form.roleList
this.$https( this.$https(
{ {
method: "put", method: "put",
......
...@@ -103,7 +103,7 @@ export default { ...@@ -103,7 +103,7 @@ export default {
}, },
handleReset() { handleReset() {
this.form.userName = ""; this.form.userName = "";
this.form.user = ""; this.form.status = "";
this.getFirstPageList(); this.getFirstPageList();
}, },
getFirstPageList() { getFirstPageList() {
......
...@@ -146,6 +146,15 @@ export default { ...@@ -146,6 +146,15 @@ export default {
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
}); });
},
// 页面返回值为空
getResWithOutData() {
this.list = [];
this.page = {
_index: 1,
_size: 10,
total: 0,
};
}, },
// 新增账号 // 新增账号
handleAdd() { handleAdd() {
......
...@@ -109,6 +109,7 @@ export default { ...@@ -109,6 +109,7 @@ export default {
// 根据id获取获取详情内容 // 根据id获取获取详情内容
getDetailById() { getDetailById() {
let _this = this; let _this = this;
debugger
this.$https( this.$https(
{ {
method: "get", method: "get",
...@@ -126,7 +127,6 @@ export default { ...@@ -126,7 +127,6 @@ export default {
this.form[key] = resData[key]; this.form[key] = resData[key];
} }
} }
// _this.form.areaId = resData.areas
if (!_this.form.permanent) { if (!_this.form.permanent) {
_this.form.date = [resData.effectiveDate, resData.exiredDate]; _this.form.date = [resData.effectiveDate, resData.exiredDate];
} }
......
...@@ -44,14 +44,15 @@ ...@@ -44,14 +44,15 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="账号类型" prop="roleList"> <el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1"> <el-checkbox-group v-model="form.roleList" :min="1">
<el-checkbox <el-checkbox
v-for="(item,index) in rolesList" v-for="(item, index) in rolesList"
:key="index" :key="index"
:label="item.id" :label="item.id"
> >
...@@ -68,21 +69,17 @@ ...@@ -68,21 +69,17 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles";
export default { export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
organList: [],
rolesList: [],
form: { form: {
userName: "", userName: "",
orgId: "", orgId: "",
permanent: true, permanent: true,
date: "", date: "",
roleList: [], roleList: [],
type: 1 //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
}, },
rules: { rules: {
userName: [ userName: [
...@@ -95,48 +92,51 @@ export default { ...@@ -95,48 +92,51 @@ export default {
{ required: true, message: "请选择账号有效期", trigger: "change" }, { required: true, message: "请选择账号有效期", trigger: "change" },
], ],
roleList: [ roleList: [
{ type: 'array',required: true, message: "请选择账号类型", trigger: "change" }, {
] type: "array",
required: true,
message: "请选择账号类型",
trigger: "change",
},
],
}, },
}; };
}, },
mounted() { props: {
this.getOrgList(); organList: {
this.getRolesList(); type: Array,
default: () => {
return [];
}, },
methods: {
// 获取机构列表
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
}, },
// 获取角色列表 rolesList: {
getRolesList() { type: Array,
getRoles().then((res) => { default: () => {
this.rolesList = res; return [];
});
}, },
},
},
mounted() {},
methods: {
// 弹窗关闭 // 弹窗关闭
handleClose() { handleClose() {
this.$confirm("确认关闭?") this.$confirm("确认关闭?")
.then((_) => { .then((_) => {
this.handleReset() this.handleReset();
}) })
.catch((_) => {}); .catch((_) => {});
}, },
handleReset(){ handleReset() {
this.dialogVisible = false this.dialogVisible = false;
this.$refs.form.resetFields() this.$refs.form.resetFields();
this.form = { this.form = {
userName: "", userName: "",
orgId: "", orgId: "",
permanent: true, permanent: true,
date: "", date: "",
roleList: [], roleList: [],
type:1 type: 1,
} };
}, },
// 提交 // 提交
handleSubmit() { handleSubmit() {
...@@ -144,11 +144,11 @@ export default { ...@@ -144,11 +144,11 @@ export default {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
let user = {}; let user = {};
if(!this.form.permanent && !this.form.date){ if (!this.form.permanent && !this.form.date) {
this.$message.error('请选择有效期') this.$message.error("请选择有效期");
return false return false;
} }
if(!this.form.permanent){ if (!this.form.permanent) {
user.effectiveDate = this.form.date[0]; user.effectiveDate = this.form.date[0];
user.exiredDate = this.form.date[1]; user.exiredDate = this.form.date[1];
} }
...@@ -156,7 +156,7 @@ export default { ...@@ -156,7 +156,7 @@ export default {
user.orgId = this.form.orgId; user.orgId = this.form.orgId;
user.roleList = this.form.roleList; user.roleList = this.form.roleList;
user.permanent = this.form.permanent; user.permanent = this.form.permanent;
user.type = this.form.type user.type = this.form.type;
this.$https( this.$https(
{ {
method: "post", method: "post",
...@@ -166,14 +166,14 @@ export default { ...@@ -166,14 +166,14 @@ export default {
user user
) )
.then((res) => { .then((res) => {
if(res.status == 200 ){ if (res.status == 200) {
if (res.data.resultCode == 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.handleReset();
this.$emit('success',true) this.$emit("success", true);
} else { } else {
this.$message.error(res.data.message); this.$message.error(res.data.message);
} }
......
...@@ -68,14 +68,10 @@ ...@@ -68,14 +68,10 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles";
export default { export default {
data() { data() {
return { return {
dialogVisible: false, dialogVisible: false,
organList: [],
rolesList: [],
id:'', id:'',
form: { form: {
id:'', id:'',
...@@ -102,23 +98,24 @@ export default { ...@@ -102,23 +98,24 @@ export default {
}, },
}; };
}, },
mounted() { props: {
this.getOrgList(); organList: {
this.getRolesList(); type: Array,
default: () => {
return [];
}, },
methods: {
// 获取机构列表
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
}, },
// 获取角色列表 rolesList: {
getRolesList() { type: Array,
getRoles().then((res) => { default: () => {
this.rolesList = res; return [];
}); },
}, },
},
mounted() {
},
methods: {
// 根据id获取获取详情内容 // 根据id获取获取详情内容
getDetailById(){ getDetailById(){
let _this = this let _this = this
...@@ -140,7 +137,7 @@ export default { ...@@ -140,7 +137,7 @@ export default {
if(!this.form.permanent){ if(!this.form.permanent){
this.form.date = [ this.form.date = [
resData.effectiveDate, resData.effectiveDate,
exiredDate resData.exiredDate
] ]
} }
} else { } else {
......
...@@ -31,12 +31,13 @@ ...@@ -31,12 +31,13 @@
<account-table <account-table
:feildList="feildList" :feildList="feildList"
:list="list" :list="list"
:rolesList="rolesList"
@action="handleAction" @action="handleAction"
/> />
<party-pagination :page="page" @changePage="handleChangeCurrent" /> <party-pagination :page="page" @changePage="handleChangeCurrent" />
</div> </div>
<add-dialog ref="addDialog" @success="getFirstPageList()" /> <add-dialog ref="addDialog" :organList="organList" :rolesList="rolesList" @success="getFirstPageList()" />
<edit-dialog ref="editDialog" @success="getFirstPageList()" /> <edit-dialog ref="editDialog" :organList="organList" :rolesList="rolesList" @success="getFirstPageList()" />
<msg-dialog ref="msgDilaog" :msgInfo="msgInfo" /> <msg-dialog ref="msgDilaog" :msgInfo="msgInfo" />
</div> </div>
</template> </template>
...@@ -45,6 +46,8 @@ import { partyPagination } from "@/components/index"; ...@@ -45,6 +46,8 @@ import { partyPagination } from "@/components/index";
import accountTable from "./components/accountTable"; import accountTable from "./components/accountTable";
import { addDialog, editDialog } from "./userDialog/index"; import { addDialog, editDialog } from "./userDialog/index";
import msgDialog from "./msgDialog.vue"; import msgDialog from "./msgDialog.vue";
import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles";
export default { export default {
data() { data() {
return { return {
...@@ -56,7 +59,7 @@ export default { ...@@ -56,7 +59,7 @@ export default {
{ prop: "userName", label: "平台用户名" }, { prop: "userName", label: "平台用户名" },
{ prop: "orgName", label: "所在机构" }, { prop: "orgName", label: "所在机构" },
{ prop: "exiredDate", label: "到期时间" }, { prop: "exiredDate", label: "到期时间" },
{ prop: "type", label: "账号类型" }, { prop: "roleList", label: "账号类型" },
{ prop: "statusName", label: "账号状态" }, { prop: "statusName", label: "账号状态" },
{ prop: "", label: "操作", isEdit: true, width: 280 }, { prop: "", label: "操作", isEdit: true, width: 280 },
], ],
...@@ -68,6 +71,8 @@ export default { ...@@ -68,6 +71,8 @@ export default {
}, },
activeRow: {}, activeRow: {},
msgInfo: {}, msgInfo: {},
organList:[],
rolesList:[]
}; };
}, },
components: { components: {
...@@ -78,9 +83,23 @@ export default { ...@@ -78,9 +83,23 @@ export default {
msgDialog, msgDialog,
}, },
mounted() { mounted() {
this.getOrgList();
this.getRolesList();
this.getFirstPageList(); this.getFirstPageList();
}, },
methods: { methods: {
// 获取机构列表
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
},
// 获取角色列表
getRolesList() {
getRoles().then((res) => {
this.rolesList = res;
});
},
getFirstPageList() { getFirstPageList() {
this.page._index = 1; this.page._index = 1;
this.getPageList(); this.getPageList();
...@@ -124,6 +143,15 @@ export default { ...@@ -124,6 +143,15 @@ export default {
.catch((err) => { .catch((err) => {
console.log(err); console.log(err);
}); });
},
// 页面返回值为空
getResWithOutData() {
this.list = [];
this.page = {
_index: 1,
_size: 10,
total: 0,
};
}, },
// 新增账号 // 新增账号
handleAdd() { handleAdd() {
......
...@@ -23,20 +23,25 @@ ...@@ -23,20 +23,25 @@
<script> <script>
export default { export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() { data() {
return { return {
filedata:[], filedata: [],
fileArr: [], fileArr: [],
fileList:[],
// fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
}; };
}, },
mounted(){
console.log("uploadAudio",this.fileList)
},
methods: { methods: {
submitUpload() { // 导入 submitUpload() {
let tempData = this.filedata
this.filedata = new FormData() // 用FormData存放上传文件 this.filedata = new FormData() // 用FormData存放上传文件
this.$refs.upload.submit() // 会循环调用uploadFile方法,多个文件调用多次 this.$refs.upload.submit() // 会循环调用uploadFile方法,多个文件调用多次
let _this = this; let _this = this;
_this _this
.$https( .$https(
...@@ -52,15 +57,13 @@ export default { ...@@ -52,15 +57,13 @@ export default {
console.log(res) console.log(res)
if (resData.resultCode == "200") { if (resData.resultCode == "200") {
// alert("上传成功");
console.log(resData.data.fileList)
const data = resData.data.fileList const data = resData.data.fileList
console.log(data) let newArray = data.map((item) => item.id)
let newArray = data.map((item) => { let editArray =[]
return item.id; if(this.fileList.length){
}) editArray = this.fileList.map(item=>item.id)
this.$emit('audioList', newArray) }
this.$emit('audioList', [...newArray,...editArray])
} else { } else {
_this.$message.error(resData.msg || resData.message); _this.$message.error(resData.msg || resData.message);
} }
......
<template> <template>
<div> <div>
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" --> <!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- :show-file-list="false" --> <!-- :show-file-list="false" -->
<!-- :file-list="fileList" --> <!-- :file-list="fileList" -->
<!-- action="http://192.168.110.67/mall/file/video/content/upload" --> <!-- action="http://192.168.110.67/mall/file/video/content/upload" -->
...@@ -14,28 +14,37 @@ ...@@ -14,28 +14,37 @@
:before-upload="beforeAvatarUpload" :before-upload="beforeAvatarUpload"
> >
<i class="el-icon-plus fileUpload"></i> <i class="el-icon-plus fileUpload"></i>
</el-upload> </el-upload>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> <el-button
</div> style="margin-left: 10px"
size="small"
type="success"
@click="submitUpload"
>上传到服务器</el-button
>
</div>
</template> </template>
<script> <script>
export default { export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() { data() {
return { return {
filedata:[], filedata: [],
fileArr: [], fileArr: [],
fileList:[],
// fileList: [{name: 'food.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}, {name: 'food2.jpeg', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}]
}; };
}, },
mounted(){
},
methods: { methods: {
submitUpload() { // 导入 submitUpload() {
let tempData = this.filedata this.filedata = new FormData(); // 用FormData存放上传文件
this.filedata = new FormData() // 用FormData存放上传文件 this.$refs.upload.submit(); // 会循环调用uploadFile方法,多个文件调用多次
this.$refs.upload.submit() // 会循环调用uploadFile方法,多个文件调用多次
let _this = this; let _this = this;
_this _this
...@@ -43,35 +52,31 @@ export default { ...@@ -43,35 +52,31 @@ export default {
{ {
method: "post", method: "post",
url: "file/datum/upload", url: "file/datum/upload",
authType: this.backToken authType: this.backToken,
}, },
this.filedata this.filedata
) )
.then(res => { .then((res) => {
let resData = res.data; let resData = res.data;
console.log(res)
if (resData.resultCode == "200") { if (resData.resultCode == "200") {
// alert("上传成功"); const data = resData.data.fileList;
console.log(resData.data.fileList) let newArray = data.map((item) => item.id);
const data = resData.data.fileList let editArray =[]
console.log(data) if(this.fileList.length){
let newArray = data.map((item) => { editArray = this.fileList.map(item=>item.id)
return item.id; }
}) this.$emit("datumList", [...newArray,...editArray]);
this.$emit('datumList', newArray)
} else { } else {
_this.$message.error(resData.msg || resData.message); _this.$message.error(resData.msg || resData.message);
} }
}) })
.catch(err => { .catch((err) => {
console.log(err); console.log(err);
_this.$message.error(err.msg || err.message); _this.$message.error(err.msg || err.message);
}); });
}, },
uploadFile(file) { uploadFile(file) {
this.filedata.append('file', file.file) this.filedata.append("file", file.file);
}, },
beforeAvatarUpload(file) { beforeAvatarUpload(file) {
const isLt10G = file.size / 1024 < 10; const isLt10G = file.size / 1024 < 10;
......
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:headers="headers" :headers="headers"
:file-list="fileList" :file-list="fileList"
accept="" :limit="1"
:multiple ="false"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -20,6 +21,12 @@ ...@@ -20,6 +21,12 @@
<script> <script>
export default { export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() { data() {
return { return {
dialogImageUrl: "", dialogImageUrl: "",
......
...@@ -7,6 +7,9 @@ ...@@ -7,6 +7,9 @@
:on-remove="handleRemove" :on-remove="handleRemove"
:on-success="handleAvatarSuccess" :on-success="handleAvatarSuccess"
:headers="headers" :headers="headers"
:file-list="fileList"
:limit="1"
:multiple ="false"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -18,6 +21,12 @@ ...@@ -18,6 +21,12 @@
<script> <script>
export default { export default {
props:{
fileList:{
type:Array,
default:[]
},
},
data() { data() {
return { return {
dialogImageUrl: "", dialogImageUrl: "",
......
<template> <template>
<div class="listPage H100"> <div class="listPage H100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form" ref="form" class="search-form" onsubmit="return false;"> <el-form
<el-form-item label="版权方名称"> :inline="true"
:model="form"
ref="form"
onsubmit="return false;"
>
<el-form-item label="分类名称">
<el-input <el-input
size="mini" placeholder="请输入分类名称"
placeholder="请输入版权方名称"
v-model="form.nameOrCode" v-model="form.nameOrCode"
@keyup.enter.native="Search" @keyup.enter.native="onSearch"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期"> <el-form-item label="版权方有效期">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
v-model="value1" v-model="form.dateRange"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -23,14 +27,22 @@ ...@@ -23,14 +27,22 @@
</el-form-item> </el-form-item>
<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
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button> type="primary"
class="btn_form_search"
@click="onSearch"
>查询</el-button
>
<el-button class="btn_form_search" @click="Reset">重置</el-button
>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可通过创建时间、展板分类名称模糊搜索快速筛选展板分类信息,可对展板分类信息进行修改、删除。可新增视频分类。</span> <span class="page-tips"
>可通过创建时间、展板分类名称模糊搜索快速筛选展板分类信息,可对展板分类信息进行修改、删除。可新增视频分类。</span
>
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
...@@ -40,14 +52,23 @@ ...@@ -40,14 +52,23 @@
<div class="party-table"> <div class="party-table">
<el-table <el-table
border border
style="width: 100%;height:100%" height="100%" style="width: 100%; height: 100%"
height="100%"
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
@selection-change="handleSelectionChange"
> >
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column
type="index"
width="120"
label="序号"
><template slot-scope="scope">
<span>{{ (page._index - 1) * 10 + scope.$index + 1 }}</span>
</template></el-table-column>
<el-table-column label="展板分类名称" prop="name"></el-table-column> <el-table-column label="展板分类名称" prop="name"></el-table-column>
<el-table-column label="版权方" prop="copyrightOwnerNames"></el-table-column> <el-table-column
label="版权方"
prop="copyrightOwnerNames"
></el-table-column>
<el-table-column label="创建时间" prop="createTime"></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="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
...@@ -68,20 +89,16 @@ ...@@ -68,20 +89,16 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <party-pagination :page="page" @changePage="handleCurrentChange" />
<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>
<!--新增弹框--> <!--新增弹框-->
<el-dialog title="新建" custom-class="party-dialog" width="468px" :visible.sync="FormVisible1" :before-close="close1"> <el-dialog
:title="type?'新建版权方':'编辑版权方'"
custom-class="party-dialog"
width="468px"
:visible.sync="FormVisible"
:before-close="close"
>
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="classForm" :model="classForm"
...@@ -101,250 +118,126 @@ ...@@ -101,250 +118,126 @@
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" v-show="type" type="primary" @click="permisSave">确定</el-button> <el-button size="mini" v-show="type" type="primary" @click="permisSave"
<el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button> >确定</el-button
<el-button size="mini" @click="close1">取 消</el-button> >
</div> <el-button size="mini" v-show="!type" type="primary" @click="permisEdit"
</el-dialog> >确定</el-button
<!--编辑--> >
<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> <el-button size="mini" @click="close">取 消</el-button>
</div> </div>
</div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from "@/components/index";
export default { export default {
components: { partyPagination },
data() { data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return { return {
type:true, type: true,
value1: "", page: { _index: 1, _size: 10, total: 0 },
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [], tableData: [],
FormVisible: false, FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
name: "" dateRange:[]
},
editform: {
id: ""
}, },
classForm: { classForm: {},
rule: {
},
typeList: [],
rule:{
name: [ name: [
{ required: true, message: "请输入展板分类名称", trigger: "blur" } { required: true, message: "请输入展板分类名称", trigger: "blur" },
],
},
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: "", value: "",
name: "" name: "",
}; };
}, },
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
// this.getPermis();
}, },
components: {},
methods: { methods: {
// 渲染父级权限 onSearch() {
getPermis() { this.page._index = 1;
let vm = this; this.getTableData();
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) { getTableData() {
let vm = this; let vm = this;
let param = {
_index: this.page._index,
_size: this.page._size,
nameOrCode:this.form.nameOrCode,
startDate: this.form.dateRange.length ? this.form.dateRange[0] : "",
endDate: this.form.dateRange.length ? this.form.dateRange[1] : "",
};
vm.$https( vm.$https(
{ {
url: "exhibitionBoardCat/getPageList", url: "exhibitionBoardCat/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken,
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
// param
) )
.then(res => { .then((res) => {
let data = res.data.data; let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
let _this = this; this.page._index = val;
_this.page.currentPage = val; this.onSearch();
_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,
nameOrCode: _this.form.nameOrCode,
startDate:this.value1?this.value1[0]:"",
endDate:this.value1?this.value1[1]:"",
};
this.getTableData(searchObj);
}, },
// 重置 // 重置
Reset(){ Reset() {
// this.$refs["form"].resetFields(); this.form = { dateRange:[]};
this.form = {} this.onSearch();
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() { addPermis() {
// this.$router.push({ path: "videoContentAdd", query: { type: "add" } }); this.FormVisible = true;
$('.el-dialog__title').html('新建'); this.type = true;
this.FormVisible1 = true; this.classForm = {}
this.type = true
}, },
// 新建展板分类确认保存 // 新建展板分类确认保存
permisSave() { permisSave() {
let _this = this; let _this = this;
_this.$refs.classForm.validate(valid => { _this.$refs.classForm.validate((valid) => {
if (valid) { if (valid) {
const params ={
name: this.classForm.name,
remarks: this.classForm.remarks,
}
_this _this
.$https( .$https(
{ url: "exhibitionBoardCat/save", method: "post", authType: this.backToken }, {
_this.$qs.stringify(_this.classForm) url: "exhibitionBoardCat/save",
// _this.classForm method: "post",
authType: this.backToken,
},
_this.$qs.stringify(params)
) )
.then( .then(
res => { (res) => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode === '200') {
_this.$message({ _this.$message.success("新建成功!");
type: "success",
message: '新建成功!'
});
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.close()
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else { } else {
_this.$message({ _this.$message.error(res.data.msg);
type: "error",
message: res.data.msg
});
} }
}, },
error => { (error) => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error,
}); });
} }
); );
...@@ -354,99 +247,50 @@ export default { ...@@ -354,99 +247,50 @@ export default {
// 编辑展板分类确认保存 // 编辑展板分类确认保存
permisEdit() { permisEdit() {
let _this = this; let _this = this;
_this.$refs.classForm.validate(valid => { _this.$refs.classForm.validate((valid) => {
if (valid) { if (valid) {
_this _this
.$https( .$https(
{ url: "exhibitionBoardCat/update", method: "put", authType: this.backToken }, {
url: "exhibitionBoardCat/update",
method: "put",
authType: this.backToken,
},
_this.$qs.stringify(_this.classForm) _this.$qs.stringify(_this.classForm)
// _this.classForm
) )
.then( .then(
res => { (res) => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode === '200') {
_this.$message({ _this.$message.success("修改成功!");
type: "success",
message: '修改成功!'
});
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.close()
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else { } else {
_this.$message({ _this.$message.error(res.data.msg);
type: "error",
message: res.data.msg
});
} }
}, },
error => { (error) => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error,
}); });
} }
); );
} }
}); });
}, },
// 编辑关闭 // 关闭
close() { close() {
this.FormVisible1 = false; this.FormVisible = false;
for (let key in this.classForm) { this.classForm = {}
this.classForm[key] = null; this.$refs["classForm"].clearValidate();
}
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(); this.$refs["classForm"].resetFields();
}, },
// 编辑弹框 // 编辑弹框
openEdit(row) { openEdit(row) {
this.type = false this.type = false;
$('.el-dialog__title').html('编辑'); this.FormVisible = true;
let _this=this; this.classForm = JSON.parse(JSON.stringify(row));
//成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
_this.FormVisible1 = true;
this.getVideoContentCatInfo(row.id)
},
// 获取展板分类详情
getVideoContentCatInfo(id){
let vm = this;
vm.$https(
{
url: "exhibitionBoardCat/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) { handleDelete(row) {
...@@ -454,139 +298,34 @@ export default { ...@@ -454,139 +298,34 @@ export default {
this.$confirm("此操作将永久删除, 是否继续?", "提示", { this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}) })
.then(() => { .then(() => {
_this.$https({
method: 'delete',
url: 'exhibitionBoardCat/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 _this
.$https({ .$https({
url: "menu/batchDel?menuIds=" + str, method: "delete",
method: "DELETE", url: "exhibitionBoardCat/delete/" + row.id,
authType: this.backToken authType: this.backToken,
}) })
.then( .then(
res => { (res) => {
if (res.data.status == 201 || res.data.status == 200) { this.$message({ type: "success", message: "删除成功!" });
this.$message({
type: "success",
message: "删除成功!"
});
}
//重新查询数据
_this.onSearch(); _this.onSearch();
}, },
error => {} (error) => {
);
});
} else {
this.$message({ this.$message({
type: "info", type: "error",
message: "请至少选择一个选项!" message: "删除失败!" + error.response.data,
}); });
} }
} );
} })
.catch(() => {});
},
},
}; };
</script> </script>
<style lang="less"> <style lang="less">
// @import "../../../../style/common"; @import "../../../../style/table.less";
// @import "../../style/list";
@import "../../../../style/dialog.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style> </style>
...@@ -7,14 +7,14 @@ ...@@ -7,14 +7,14 @@
<strong>页面说明:</strong> <strong>页面说明:</strong>
可新建视频。“*”为必填项。若没有对应的视频版权方或视频分类可点击图标快速新建。 可新建视频。“*”为必填项。若没有对应的视频版权方或视频分类可点击图标快速新建。
</div> </div>
<el-collapse v-model="activeNames" @change="handleChange"> <el-collapse v-model="activeNames">
<el-collapse-item title="展板基本信息" name="1"> <el-collapse-item title="展板基本信息" name="1">
<el-form <el-form
:model="ruleForm" :model="ruleForm"
:rules="rules" :rules="rules"
ref="ruleForm" ref="ruleForm"
label-width="140px" label-width="140px"
class="demo-form-inline party-form" class="party-form"
:inline="true" :inline="true"
label-position="top" label-position="top"
> >
...@@ -22,10 +22,9 @@ ...@@ -22,10 +22,9 @@
<el-input v-model="ruleForm.name"></el-input> <el-input v-model="ruleForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="展板版权方" class="w50"> <el-form-item label="展板版权方" class="w50" prop="boardCopyrightOwnerId">
<el-select <el-select
placeholder="请选择展板版权方" placeholder="请选择展板版权方"
@focus="getBoardCopyrightOwnerId"
v-model="ruleForm.boardCopyrightOwnerId" v-model="ruleForm.boardCopyrightOwnerId"
> >
<el-option <el-option
...@@ -36,10 +35,9 @@ ...@@ -36,10 +35,9 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="展板分类"> <el-form-item label="展板分类" prop="exhibitionBoardCatId">
<el-select <el-select
placeholder="请选择展板分类" placeholder="请选择展板分类"
@focus="getExhibitionBoardCatId"
v-model="ruleForm.exhibitionBoardCatId" v-model="ruleForm.exhibitionBoardCatId"
> >
<el-option <el-option
...@@ -50,13 +48,13 @@ ...@@ -50,13 +48,13 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="展板图片" class="w50" prop="cover"> <el-form-item label="展板图片" class="w50" prop="cover" required>
<upload-img @imgUrl="imgUrl" ></upload-img> <upload-img :fileList="ruleForm.imageList" @imgUrl="imgUrl" ></upload-img>
</el-form-item> </el-form-item>
<el-form-item label="展板二维码" class prop="qrcodeUrl"> <el-form-item label="展板二维码" class prop="qrcodeUrl" required>
<upload-qrcode @qrcodeUrl="qrcodeUrl" ></upload-qrcode> <upload-qrcode :fileList="ruleForm.qrcodeList" @qrcodeUrl="qrcodeUrl" ></upload-qrcode>
</el-form-item> </el-form-item>
<el-form-item label="展板简介" style="width:640px" prop="introduction"> <el-form-item label="展板简介" style="width:100%" prop="remarks">
<el-input type="textarea" v-model="ruleForm.remarks"></el-input> <el-input type="textarea" v-model="ruleForm.remarks"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -67,14 +65,13 @@ ...@@ -67,14 +65,13 @@
:rules="rules" :rules="rules"
ref="ruleForm" ref="ruleForm"
label-width="140px" label-width="140px"
class="demo-form-inline party-form" class="party-form"
:inline="true" :inline="true"
label-position="top" label-position="top"
> >
<el-form-item label="请选择视频版权方" class="w50"> <el-form-item label="请选择视频版权方" class="w50" prop="videoContentCopyrightOwnerId">
<el-select <el-select
placeholder="请选择视频版权方" placeholder="请选择视频版权方"
@focus="getVideoContentCopyrightData"
v-model="ruleForm.videoContentCopyrightOwnerId" v-model="ruleForm.videoContentCopyrightOwnerId"
> >
<el-option <el-option
...@@ -85,12 +82,10 @@ ...@@ -85,12 +82,10 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="请选择预设视频分类"> <el-form-item label="请选择视频分类" prop="videoContentCatId">
<el-select <el-select
placeholder="请选择预设视频分类" placeholder="请选择视频分类"
@focus="getVideoContentCatData"
v-model="ruleForm.videoContentCatId" v-model="ruleForm.videoContentCatId"
@change="getVideoContentCat"
> >
<el-option <el-option
v-for="item in videoContentCat" v-for="item in videoContentCat"
...@@ -100,10 +95,9 @@ ...@@ -100,10 +95,9 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="请选择视频"> <el-form-item label="请选择视频" prop="videoContentId">
<el-select <el-select
placeholder="请选择视频" placeholder="请选择视频"
@focus="getVideoData"
v-model="ruleForm.videoContentId" v-model="ruleForm.videoContentId"
> >
<el-option <el-option
...@@ -114,12 +108,12 @@ ...@@ -114,12 +108,12 @@
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item class="w50" prop="audioIdList"></el-form-item> <el-form-item></el-form-item>
<el-form-item label="导览音频" class="w50"> <el-form-item label="导览音频" class="w50" prop="audioIdList" required>
<upload-audio @audioList="audioList"></upload-audio> <upload-audio :fileList="ruleForm.audioList" @audioList="audioList"></upload-audio>
</el-form-item> </el-form-item>
<el-form-item label="参考资料" class prop="datumIdList"> <el-form-item label="参考资料" prop="datumIdList" required>
<upload-datum @datumList="datumList"></upload-datum> <upload-datum :fileList="ruleForm.datumList" @datumList="datumList"></upload-datum>
</el-form-item> </el-form-item>
</el-form> </el-form>
</el-collapse-item> </el-collapse-item>
...@@ -128,10 +122,9 @@ ...@@ -128,10 +122,9 @@
</div> </div>
<div class="info-footer"> <div class="info-footer">
<div class="btn-group"> <div class="btn-group">
<!-- 确定、取消 --> <el-button class="btn_form_search" @click="close">关闭</el-button>
<el-button v-show="type === 'add'" size="mini" type="primary" class="btn_form_search" @click="submitForm('ruleForm')">提交审核</el-button> <el-button v-show="type === 'add'" type="primary" class="btn_form_search" @click="submitForm('ruleForm')">提交审核</el-button>
<el-button v-show="type === 'Update'" size="mini" type="primary" class="btn_form_search" @click="updateForm('ruleForm')">提交审核</el-button> <el-button v-show="type === 'Update'" type="primary" class="btn_form_search" @click="updateForm('ruleForm')">提交审核</el-button>
<el-button size="mini" class="btn_form_search" @click="close">关闭</el-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -157,104 +150,64 @@ export default { ...@@ -157,104 +150,64 @@ export default {
}, },
data() { data() {
return { return {
activeNames: ["1", "2"],
type: this.$route.query.type, type: this.$route.query.type,
copyrightOwner: [], boardCopyrightOwnerId:[], // 展板版权方
boardCopyrightOwnerId:[], exhibitionBoardCatId:[], // 展板分类
exhibitionBoardCatId:[], copyrightOwner: [], // 视频版权方
videoContentId:[], videoContentCat: [], // 视频分类
dialogVisible: false, videoContentId:[], // 视频
formLabelWidth: "100px", formLabelWidth: "100px",
form: {
name: ""
},
classForm: {},
value1: [],
ruleForm: { ruleForm: {
name: "", name: "",
boardCopyrightOwnerId:"", boardCopyrightOwnerId:"",
videoContentCopyrightOwnerId: "", videoContentCopyrightOwnerId: "",
videoContentCatId: "", videoContentCatId: "",
audioIdList: [], audioIdList: [],
datumIdList: [] datumIdList: [],
}, datumList:[],
videoContentCat: [ audioList:[],
{ imageList:[],
value: "Beijing", qrcodeList:[]
label: "北京"
},
{
value: "Shanghai",
label: "上海"
}
],
checkedThing: false,
selfstyle: {
textAlign: "right",
width: "100%",
paddingRight: "10px"
}, },
rules: { rules: {
name: [ name: [
{ required: true, message: "请输入版权方名称", trigger: "blur" } { required: true, message: "请输入版权方名称", trigger: "blur" }
// { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" }
], ],
date1: [ boardCopyrightOwnerId: [
{ { required: true, message: "请选择展板版权方", trigger: "change" }
type: "date",
required: true,
message: "请选择日期",
trigger: "change"
}
], ],
date2: [ exhibitionBoardCatId: [
{ { required: true, message: "请选择展板分类", trigger: "change" }
type: "date", ],
required: true, videoContentCopyrightOwnerId: [
message: "请选择时间", { required: true, message: "请选择视频版权方", trigger: "change" }
trigger: "change" ],
} videoContentCatId: [
{ required: true, message: "请选择视频分类", trigger: "change" }
],
videoContentId: [
{ required: true, message: "请选择视频", trigger: "change" }
],
remarks: [
{ required: true, message: "请输入展板简介", trigger: "change" }
], ],
}, },
activeNames: ["1", "2"]
}; };
}, },
mounted(){ mounted(){
this.init() this.init()
}, },
methods: { methods: {
audioList(list){
this.ruleForm.audioIdList = list;
},
datumList(list){
this.ruleForm.datumIdList = list;
},
// 视频版权方名称id
videoCopyright(idlist) {
this.ruleForm.videoContentCopyrightOwnerId = idlist;
},
// 缩略图地址
imgUrl(url) {
console.log(url, "图片服务器地址");
this.ruleForm.cover = url;
},
// 二维码
qrcodeUrl(url){
this.ruleForm.qrcodeUrl = url
},
getVideoContentCat(data) {
console.log(data);
console.log(this.ruleForm.videoContentCatId);
},
init() { init() {
if (this.$route.query.type === "Update") {
this.getInfo(this.$route.query.id);
this.getVideoContentCatData(); this.getVideoContentCatData();
this.getVideoContentCopyrightData(); this.getVideoContentCopyrightData();
this.getExhibitionBoardCatId(); this.getExhibitionBoardCatId();
this.getBoardCopyrightOwnerId(); this.getBoardCopyrightOwnerId();
this.getVideoData(); this.getVideoData();
if (this.$route.query.type === "Update") {
this.getInfo(this.$route.query.id);
} }
}, },
// 获取版权方详情 // 获取版权方详情
...@@ -266,11 +219,8 @@ export default { ...@@ -266,11 +219,8 @@ export default {
method: "get", method: "get",
authType: this.backToken authType: this.backToken
} }
// param
).then(res => { ).then(res => {
let data = res.data.data; let data = res.data.data;
// this.ruleForm = data;
console.log(this.ruleForm)
this.ruleForm = { this.ruleForm = {
videoContentCopyrightOwnerId :data.videoContentCopyrightOwnerId, videoContentCopyrightOwnerId :data.videoContentCopyrightOwnerId,
videoContentId:data.videoContentId, videoContentId:data.videoContentId,
...@@ -283,50 +233,37 @@ export default { ...@@ -283,50 +233,37 @@ export default {
qrcodeUrl:data.qrcodeUrl, qrcodeUrl:data.qrcodeUrl,
remarks:data.remarks, remarks:data.remarks,
audioIdList:data.audioIdList, audioIdList:data.audioIdList,
datumIdList:data.datumIdList datumIdList:data.datumIdList,
datumList:data.datumList.map(item=>{return {id:item.id,name:item.fileName,url:item.fileUrl}}),
audioList:data.audioList.map(item=>{return {id:item.id,name:item.fileName,url:item.fileUrl}}),
imageList:[{url:data.cover}],
qrcodeList:[{url:data.qrcodeUrl}]
} }
console.log(this.ruleForm)
}).catch(function(err) { }).catch(function(err) {
console.log(err); console.log(err);
}); });
}, },
// 新建视频分类 // 缩略图
addVideoClass() { imgUrl(url) {
this.dialogVisible = true; this.ruleForm.cover = url;
}, },
// 弹窗保存 // 二维码
save(formName) { qrcodeUrl(url){
this.$refs[formName].validate(valid => { this.ruleForm.qrcodeUrl = url
this.ruleForm.expireDateStart = this.value1[0];
this.ruleForm.expireDateEnd = this.value1[1];
if (valid) {
this.$https(
{
url: "videoContentCat/save",
method: "post",
// headers: {
// 'Content-Type': 'application/json'
// },
authType: this.backToken
}, },
this.classForm // 音频
).then(res => { audioList(list){
this.$message({ type: "success", message: "新增分类成功!" }); this.ruleForm.audioIdList = list;
this.dialogVisible = false; },
}).catch(function(err) { // 资料
this.$message({ datumList(list){
type: "fail", this.ruleForm.datumIdList = list;
message: "新增失败!" + err.response.data.msg
});
console.log(err);
});
} else {
console.log("error submit!!");
return false;
}
});
}, },
// 新增 // 新增
submitForm(formName) { submitForm(formName) {
console.log(this.ruleForm)
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (valid) { if (valid) {
this.$https( this.$https(
...@@ -335,47 +272,42 @@ export default { ...@@ -335,47 +272,42 @@ export default {
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
// this.ruleForm
this.$qs.stringify(this.ruleForm) this.$qs.stringify(this.ruleForm)
).then(res => { ).then(res => {
this.$message({ type: "success", message: "新增成功!" }); this.$message.success("新增成功!");
history.go(-1); this.close()
}).catch(function(err) { }).catch(function(err) {
console.log(err); console.log(err);
}); });
} else {
console.log("error submit!!");
return false;
} }
}); });
}, },
// 修改版权方 // 修改
updateForm(formName) { updateForm(formName) {
this.$refs[formName].validate(valid => { this.$refs[formName].validate(valid => {
if (valid) { if (valid) {
const params = JSON.parse(JSON.stringify(this.ruleForm))
delete params.datumList
delete params.audioList
delete params.imageList
delete params.qrcodeList
console.log(params)
this.$https( this.$https(
{ {
url: "exhibitionBoard/update", url: "exhibitionBoard/update",
method: "put", method: "put",
authType: this.backToken authType: this.backToken
}, },
this.$qs.stringify(this.ruleForm) this.$qs.stringify(params)
).then(res => { ).then(res => {
this.$message({ type: "success", message: "修改成功!" }); this.$message.success("修改成功!");
history.go(-1); this.close()
}).catch(function(err) { }).catch(function(err) {
console.log(err); console.log(err);
}); });
} else {
console.log("error submit!!");
return false;
} }
}); });
}, },
resetForm(formName) {
this.$refs[formName].resetFields();
history.go(-1);
},
// 获取视频版权方 // 获取视频版权方
getVideoContentCopyrightData() { getVideoContentCopyrightData() {
let vm = this; let vm = this;
...@@ -448,15 +380,33 @@ export default { ...@@ -448,15 +380,33 @@ export default {
console.log(err); console.log(err);
}); });
}, },
// 关闭
close() { close() {
history.go(-1); this.$router.go(-1);
}, },
handleChange(val) {
console.log(val);
}
} }
}; };
</script> </script>
<style lang="less"> <style lang="less" scoped>
.info-add {
/deep/.el-collapse-item__wrap {
padding: 16px;
}
/deep/.el-collapse-item__header {
position: relative;
padding-left: 20px;
font-size: 18px;
color: #333;
&::before {
content: "";
position: absolute;
top: 14px;
left: 0px;
width: 4px;
height: 18px;
background: #000;
}
}
}
</style> </style>
...@@ -272,19 +272,6 @@ export default { ...@@ -272,19 +272,6 @@ export default {
}, },
reviewFile() { reviewFile() {
console.log("点击预览。。。"); console.log("点击预览。。。");
// const _this = this;
// this.$confirm("确定要下载该文件?", "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: "warning",
// center: true,
// })
// .then(() => {
// this.updateVersion(row);
// })
// .catch(() => {
// this.$message("已取消");
// });
}, },
close() { close() {
this.$router.go(-1); this.$router.go(-1);
......
<template> <template>
<div class="listPage H100"> <div class="content-list-page H100">
<msg-dialogs ref="msgDialog" :msgInfo="msgInfo" /> <msg-dialog ref="msgDialog" :msgInfo="msgInfo" />
<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" onsubmit="return false;">
<el-form-item label="版权方名称"> <el-form-item label="展板名称">
<el-input <el-input
size="mini" placeholder="请输入展板名称"
placeholder="请输入版权方名称"
v-model="form.nameOrCode" v-model="form.nameOrCode"
@keyup.enter.native="Search" @keyup.enter.native="onSearch"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期"> <el-form-item label="版权方有效期">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
v-model="value1" v-model="form.dateRange"
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 label="展板版权方">
<el-select v-model="form.boardCopyrightOwnerId" placeholder="请选择展板版权方">
<el-option
v-for="item in copyRightList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="展板分类">
<el-select v-model="form.boardCatId" placeholder="请选择展板分类">
<el-option
v-for="item in classifyList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<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="onSearch">查询</el-button>
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button> <el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
...@@ -45,9 +64,10 @@ ...@@ -45,9 +64,10 @@
height="100%" height="100%"
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
@selection-change="handleSelectionChange"
> >
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column type="index" width="120" label="序号"><template slot-scope="scope">
<span>{{ (page._index - 1) * 10 + scope.$index + 1 }}</span>
</template></el-table-column>
<el-table-column show-overflow-tooltip label="展板名称" prop="name"></el-table-column> <el-table-column show-overflow-tooltip label="展板名称" prop="name"></el-table-column>
<el-table-column show-overflow-tooltip label="展板版权方" prop="boardCopyrightOwnerName"></el-table-column> <el-table-column show-overflow-tooltip label="展板版权方" prop="boardCopyrightOwnerName"></el-table-column>
<el-table-column label="展板分类" prop="exhibitionBoardCatName"></el-table-column> <el-table-column label="展板分类" prop="exhibitionBoardCatName"></el-table-column>
...@@ -78,12 +98,12 @@ ...@@ -78,12 +98,12 @@
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="上架" placement="top"> <el-tooltip content="上架" placement="top">
<el-button circle @click="handlePublish(scope.row,'True')"> <el-button circle :disabled="!!scope.row.published" @click="handlePublish(scope.row,true)">
<i class="icon-table icon-enable"></i> <i class="icon-table icon-enable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="下架" placement="top"> <el-tooltip content="下架" placement="top">
<el-button circle @click="handlePublish(scope.row,'False')"> <el-button circle :disabled="!scope.row.published" @click="handlePublish(scope.row,false)">
<i class="icon-table icon-disable"></i> <i class="icon-table icon-disable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
...@@ -102,121 +122,91 @@ ...@@ -102,121 +122,91 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <party-pagination :page="page" @changePage="handleCurrentChange" />
<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> </div>
</div>
</template> </template>
<script> <script>
// import accountTable from "@/page/accounts/components/accountTable";
import msgDialog from "@/page/content/components/msgDialog.vue"; import msgDialog from "@/page/content/components/msgDialog.vue";
import { partyPagination } from "@/components/index";
export default { export default {
components: { components: { partyPagination ,msgDialog},
msgDialog
},
data() { data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return { return {
msgInfo: {}, msgInfo: {},
value1: "", page: { _index: 1, _size: 10, total: 0 },
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [], tableData: [],
FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
nameOrCode: "" dateRange:[]
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: ""
},
permisform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: ""
}, },
typeList: [], copyRightList: [],
rules: { classifyList: [],
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() { mounted() {
this.onSearch(); this.onSearch();
// this.getPermis(); this.getCopyRightList()
this.getClassifyList()
}, },
components: {},
methods: { methods: {
// 渲染父级权限 getCopyRightList(){
getPermis() {
let vm = this; let vm = this;
vm.$https({ let param = {
method: "get", copyrightOwnerType: 'EXHIBITION_BOARD'
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]
}; };
vm.$https(
{
url: "copyrightOwner/getList",
method: "get",
authType: this.backToken,
},param)
.then((res) => {
if (res.data.resultCode === "200") {
this.copyRightList = res.data.data
} else {
this.$message.error(res.data.message)
}
})
.catch(function (err) {
console.log(err)
}); });
}, },
error => { getClassifyList(){
console.log(error); let vm = this;
vm.$https(
{
url: "exhibitionBoardCat/getList",
method: "get",
authType: this.backToken,
})
.then((res) => {
if (res.data.resultCode === "200") {
this.classifyList = res.data.data
} else {
this.$message.error(res.data.message)
} }
); })
.catch(function (err) {
console.log(err)
});
},
onSearch() {
this.page._index = 1;
this.getTableData();
}, },
// 获得数据接口 // 获得数据接口
getTableData(param) { getTableData() {
let vm = this; let vm = this;
const param ={
_index: this.page._index,
_size: this.page._size,
nameOrCode: this.form.nameOrCode,
boardCopyrightOwnerId:this.form.boardCopyrightOwnerId,
boardCatId:this.form.boardCatId,
startDate: this.form.dateRange.length ? this.form.dateRange[0] : "",
endDate: this.form.dateRange.length ? this.form.dateRange[1] : "",
};
vm.$https( vm.$https(
{ {
url: "exhibitionBoard/getPageList", url: "exhibitionBoard/getPageList",
...@@ -224,11 +214,9 @@ export default { ...@@ -224,11 +214,9 @@ export default {
authType: this.backToken authType: this.backToken
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
// param
) )
.then(res => { .then(res => {
let data = res.data.data; let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
}) })
...@@ -238,50 +226,18 @@ export default { ...@@ -238,50 +226,18 @@ export default {
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
let _this = this; this.page._index = val;
_this.page.currentPage = val; this.onSearch();
_this.onSearch();
},
onSearch() {
let _this = this;
let param = _this.getSearchQuery();
_this.getTableData(param);
}, },
// 重置 // 重置
Reset() { Reset() {
// this.$refs["form"].resetFields(); this.form = {dateRange:[]};
this.form = {}; this.onSearch();
this.Search();
},
Search() {
let _this = this;
_this.page.currentPage = 1;
let searchObj = {
_index: 1,
_size: _this.page.pageSize,
nameOrCode: _this.form.nameOrCode,
startDate:this.value1?this.value1[0]:"",
endDate:this.value1?this.value1[1]:"",
};
this.getTableData(searchObj);
},
// // 获取当前查询参数
getSearchQuery() {
let _this = this;
let searchObj = {
_index: _this.page.currentPage,
_size: _this.page.pageSize
};
for (let key in _this.form) {
if (_this.form[key]) {
searchObj[key] = _this.form[key];
}
}
return searchObj;
}, },
// 添加 // 添加
addPermis() { addPermis() {
this.$router.push({ path: "displayContentAdd", query: { type: "add" } }); // $('.el-dialog__title').html('新建'); // this.FormVisible1 = true; this.$router.push({ path: "displayContentAdd", query: { type: "add" } });
}, },
displayInfo(row) { displayInfo(row) {
this.$router.push({ this.$router.push({
...@@ -289,75 +245,12 @@ export default { ...@@ -289,75 +245,12 @@ export default {
query: { id: row.id, } query: { id: row.id, }
}); });
}, },
// 添加权限
permisSave() {
let _this = this;
_this.$refs.permisform.validate(valid => {
if (valid) {
_this
.$https(
{ url: "menu/add", method: "post", authType: this.backToken },
_this.$qs.stringify(_this.permisform)
)
.then(
res => {
if (res.data.status == 200 || res.data.status == 201) {
_this.$message({
type: "success",
message: res.data.message
});
//跳回用户列表
_this.onSearch();
_this.FormVisible1 = false;
for (let key in _this.permisform) {
_this.permisform[key] = null;
}
_this.$refs["permisform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
},
// 编辑关闭
close() {
this.FormVisible = false;
this.$refs["editform"].resetFields();
},
// 新增关闭
close1() {
this.FormVisible1 = false;
for (let key in this.permisform) {
this.permisform[key] = null;
}
this.$refs["permisform"].resetFields();
},
// 编辑弹框 // 编辑弹框
openEdit(row) { openEdit(row) {
this.$router.push({ this.$router.push({
path: "displayContentUpdate", path: "displayContentUpdate",
query: { type: "Update", id: row.id } query: { type: "Update", id: row.id }
}); });
// alert('编辑')
// $('.el-dialog__title').html('编辑');
// let _this=this;
// //成功之后清除数据
// for (let key in this.editform) {
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
// _this.FormVisible = true;
}, },
// 删除 // 删除
handleDelete(row) { handleDelete(row) {
...@@ -377,11 +270,11 @@ export default { ...@@ -377,11 +270,11 @@ export default {
.then( .then(
res => { res => {
this.$message({ type: "success", message: "删除成功!" }); this.$message({ type: "success", message: "删除成功!" });
_this.Search(); _this.onSearch();
}, },
error => { error => {
this.$message({ this.$message({
type: "fail", type: "error",
message: "删除失败!" + error.response.data message: "删除失败!" + error.response.data
}); });
} }
...@@ -401,86 +294,32 @@ export default { ...@@ -401,86 +294,32 @@ export default {
_this.$qs.stringify({isPublish:isPublish})) _this.$qs.stringify({isPublish:isPublish}))
.then( .then(
res => { res => {
// this.$message({ type: "success", message: "删除成功!" });
// alert("已提交审核!")
_this.msgInfo = { _this.msgInfo = {
type: "wait", type: "wait",
des: `申请已提交,待审核…`, des: `申请已提交,待审核…`,
}; };
_this.Search();
},
error => {
this.$message({
type: "fail",
message: "失败!" + error.response.data
});
}
);
},
// 保存编辑信息
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.onSearch();
_this.FormVisible = false;
_this.$refs["editform"].resetFields();
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
}, },
error => { error => {
_this.$message({ this.$message({
type: "error", type: "error",
message: error message: "失败!" + error.response.data
}); });
} }
); );
}
});
}, },
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
}
} }
}; };
</script> </script>
<style lang="less"> <style lang="less">
// @import "../../../../style/common";
// @import "../../style/list";
@import "../../../../style/table.less"; @import "../../../../style/table.less";
@import "../../../../style/pagination.less"; .content-list-page {
.search-container {
height: 160px;
}
.table-content {
height: calc(100% - 180px);
}
}
</style> </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" ref="form" class="search-form" onsubmit="return false;"> <el-form
:inline="true"
:model="form"
ref="form"
onsubmit="return false;"
>
<el-form-item label="版权方名称"> <el-form-item label="版权方名称">
<el-input <el-input
size="mini"
placeholder="请输入版权方名称" placeholder="请输入版权方名称"
v-model="form.nameOrCode" v-model="form.nameOrCode"
@keyup.enter.native="Search" @keyup.enter.native="onSearch"
clearable clearable
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期"> <el-form-item label="版权方有效期">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
v-model="value1" v-model="form.dateRange"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -23,14 +27,22 @@ ...@@ -23,14 +27,22 @@
</el-form-item> </el-form-item>
<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
<el-button size="mini" class="btn_form_search" @click="Reset">重置</el-button> type="primary"
class="btn_form_search"
@click="onSearch"
>查询</el-button
>
<el-button class="btn_form_search" @click="Reset">重置</el-button
>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可对展板版权方信息进行筛选、修改及删除。可新建版权方信息</span> <span class="page-tips"
>可对展板版权方信息进行筛选、修改及删除。可新建版权方信息</span
>
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
...@@ -40,17 +52,33 @@ ...@@ -40,17 +52,33 @@
<div class="party-table"> <div class="party-table">
<el-table <el-table
border border
style="width: 100%;height:100%" height="100%" style="width: 100%; height: 100%"
height="100%"
ref="multipleTable" ref="multipleTable"
:data="tableData" :data="tableData"
@selection-change="handleSelectionChange"
> >
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column
type="index"
width="120"
label="序号"
><template slot-scope="scope">
<span>{{ (page._index - 1) * 10 + scope.$index + 1 }}</span>
</template></el-table-column>
<el-table-column label="版权方名称" prop="name"></el-table-column> <el-table-column label="版权方名称" prop="name"></el-table-column>
<el-table-column label="展板分类" prop="videoContentCatNames"></el-table-column> <el-table-column
label="展板分类"
prop="videoContentCatNames"
></el-table-column>
<el-table-column label="创建时间" prop="createTime"></el-table-column> <el-table-column label="创建时间" prop="createTime"></el-table-column>
<el-table-column label="版权方有效期" prop="expireDateEnd" width="200"> <el-table-column
<template slot-scope="scope">{{scope.row.expireDateStart}}{{scope.row.expireDateEnd}}</template> label="版权方有效期"
prop="expireDateEnd"
width="200"
>
<template slot-scope="scope"
>{{ scope.row.expireDateStart }}
{{ scope.row.expireDateEnd }}</template
>
</el-table-column> </el-table-column>
<el-table-column label="备注" prop="remarks"></el-table-column> <el-table-column label="备注" prop="remarks"></el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
...@@ -71,20 +99,16 @@ ...@@ -71,20 +99,16 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="partyt-pagination"> <party-pagination :page="page" @changePage="handleCurrentChange" />
<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>
<!--新增弹框--> <!--新增弹框-->
<el-dialog title="新建版权方" custom-class="party-dialog" width="468px" :visible.sync="FormVisible1" :before-close="close1"> <el-dialog
:title="type?'新建版权方':'编辑版权方'"
custom-class="party-dialog"
width="468px"
:visible.sync="FormVisible"
:before-close="close"
>
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
:model="classForm" :model="classForm"
...@@ -98,10 +122,10 @@ ...@@ -98,10 +122,10 @@
<el-form-item label="版权方名称" prop="name"> <el-form-item label="版权方名称" prop="name">
<el-input v-model="classForm.name"></el-input> <el-input v-model="classForm.name"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版权方有效期" required> <el-form-item label="版权方有效期" prop="valueDate">
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
v-model="valueDate" v-model="classForm.valueDate"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -114,262 +138,139 @@ ...@@ -114,262 +138,139 @@
</el-form> </el-form>
</div> </div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" v-show="type" type="primary" @click="permisSave">确定</el-button> <el-button size="mini" v-show="type" type="primary" @click="permisSave"
<el-button size="mini" v-show="!type" type="primary" @click="permisEdit">确定</el-button> >确定</el-button
<el-button size="mini" @click="close1">取 消</el-button> >
</div> <el-button size="mini" v-show="!type" type="primary" @click="permisEdit"
</el-dialog> >确定</el-button
<!--编辑--> >
<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> <el-button size="mini" @click="close">取 消</el-button>
</div> </div>
</div>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from "@/components/index";
export default { export default {
components: { partyPagination },
data() { data() {
var checkIsNull = (rule, value, callback) => {
if (value) {
if (value.trim() == "") {
callback(new Error("不允许只输入空格"));
} else {
callback();
}
}
};
return { return {
valueDate: [], type: true,
type:true, page: { _index: 1, _size: 10, total: 0 },
value1: "",
page: { currentPage: 1, pageSize: 10, total: 0 },
tableData: [], tableData: [],
FormVisible: false, FormVisible: false,
FormVisible1: false,
formLabelWidth: "100px", formLabelWidth: "100px",
form: { form: {
name: "", dateRange:[]
ownerType:'EXHIBITION_BOARD'
},
editform: {
menuName: "",
menuUrl: "",
parentId: "",
sort: "",
id: ""
}, },
classForm: { classForm: {
ownerType:'EXHIBITION_BOARD', ownerType: "EXHIBITION_BOARD",
valueDate: [],
}, },
typeList: [], rule: {
rule:{
name: [ name: [
{ required: true, message: "请输入展板分类名称", trigger: "blur" } { required: true, message: "请输入展板分类名称", trigger: "blur" },
], ],
}, valueDate: [
rules: { { required: true, message: "请选择版权方有效期", trigger: "change" },
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: "", value: "",
name: "" name: "",
}; };
}, },
computed: {}, computed: {},
mounted() { mounted() {
this.onSearch(); this.onSearch();
// this.getPermis();
}, },
components: {},
methods: { methods: {
// 渲染父级权限 onSearch() {
getPermis() { this.page._index = 1;
let vm = this; this.getTableData();
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) { getTableData() {
let vm = this; let vm = this;
let param = {
_index: this.page._index,
_size: this.page._size,
nameOrCode:this.form.nameOrCode,
ownerType: "EXHIBITION_BOARD",
startDate: this.form.dateRange.length ? this.form.dateRange[0] : "",
endDate: this.form.dateRange.length ? this.form.dateRange[1] : "",
};
vm.$https( vm.$https(
{ {
url: "copyrightOwner/getPageList", url: "copyrightOwner/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken,
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
// param
) )
.then(res => { .then((res) => {
let data = res.data.data; let data = res.data.data;
vm.page.pageSize = data.size;
vm.page.total = data.total; vm.page.total = data.total;
vm.tableData = data.records; vm.tableData = data.records;
}) })
.catch(function(err) { .catch(function (err) {
console.log(err); console.log(err);
}); });
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
let _this = this; this.page._index = val;
_this.page.currentPage = val; this.onSearch();
_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,
nameOrCode: _this.form.nameOrCode,
ownerType:'EXHIBITION_BOARD',
startDate:this.value1?this.value1[0]:"",
endDate:this.value1?this.value1[1]:"",
};
this.getTableData(searchObj);
}, },
// 重置 // 重置
Reset(){ Reset() {
// this.$refs["form"].resetFields(); this.form = { dateRange:[]};
this.form = { ownerType:'EXHIBITION_BOARD'} this.onSearch();
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() { addPermis() {
// this.$router.push({ path: "videoContentAdd", query: { type: "add" } }); this.FormVisible = true;
$('.el-dialog__title').html('新建'); this.type = true;
this.FormVisible1 = true; this.classForm = {
this.type = true ownerType: "EXHIBITION_BOARD",
valueDate: [],
}
}, },
// 新建视频分类确认保存 // 新建视频分类确认保存
permisSave() { permisSave() {
this.classForm.ownerType = 'EXHIBITION_BOARD'
this.classForm.expireDateEnd = this.valueDate[1];
this.classForm.expireDateStart = this.valueDate[0];
let _this = this; let _this = this;
_this.$refs.classForm.validate(valid => { _this.$refs.classForm.validate((valid) => {
if (valid) { if (valid) {
const params ={
name: this.classForm.name,
remarks: this.classForm.remarks,
ownerType: "EXHIBITION_BOARD",
expireDateEnd : this.classForm.valueDate.length ? this.classForm.valueDate[1] : "",
expireDateStart : this.classForm.valueDate.length ? this.classForm.valueDate[0] : ""
}
_this _this
.$https( .$https(
{ url: "copyrightOwner/save", method: "post", authType: this.backToken }, {
_this.$qs.stringify(_this.classForm) url: "copyrightOwner/save",
// _this.classForm method: "post",
authType: this.backToken,
},
_this.$qs.stringify(params)
) )
.then( .then(
res => { (res) => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode === '200') {
_this.$message({ _this.$message.success("新建成功!");
type: "success",
message: '新建成功!'
});
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.close()
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
_this.valueDate = []
} else { } else {
_this.$message({ _this.$message.error(res.data.msg);
type: "error",
message: res.data.msg
});
} }
}, },
error => { (error) => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error,
}); });
} }
); );
...@@ -378,104 +279,60 @@ export default { ...@@ -378,104 +279,60 @@ export default {
}, },
// 编辑视频分类确认保存 // 编辑视频分类确认保存
permisEdit() { permisEdit() {
this.classForm.ownerType = 'EXHIBITION_BOARD'
this.classForm.expireDateEnd = this.valueDate[1];
this.classForm.expireDateStart = this.valueDate[0];
let _this = this; let _this = this;
_this.$refs.classForm.validate(valid => { _this.$refs.classForm.validate((valid) => {
if (valid) { if (valid) {
this.classForm.ownerType = "EXHIBITION_BOARD";
this.classForm.expireDateEnd = this.classForm.valueDate.length ? this.classForm.valueDate[1] : "";
this.classForm.expireDateStart = this.classForm.valueDate.length ? this.classForm.valueDate[0] : "";
delete this.classForm.valueDate
_this _this
.$https( .$https(
{ url: "copyrightOwner/update", method: "put", authType: this.backToken }, {
url: "copyrightOwner/update",
method: "put",
authType: this.backToken,
},
_this.$qs.stringify(_this.classForm) _this.$qs.stringify(_this.classForm)
// _this.classForm
) )
.then( .then(
res => { (res) => {
if (res.data.resultCode == 200 || res.data.resultCode == 201) { if (res.data.resultCode === '200') {
_this.$message({ _this.$message.success("修改成功!");
type: "success",
message: '修改成功!'
});
//跳回用户列表 //跳回用户列表
_this.onSearch(); _this.onSearch();
_this.FormVisible1 = false; _this.close()
for (let key in _this.classForm) {
_this.classForm[key] = null;
}
_this.$refs["classForm"].resetFields();
} else { } else {
_this.$message({ _this.$message.error(res.data.msg);
type: "error",
message: res.data.msg
});
} }
}, },
error => { (error) => {
_this.$message({ _this.$message({
type: "error", type: "error",
message: error message: error,
}); });
} }
); );
} }
}); });
}, },
// 编辑关闭 // 关闭
close() { close() {
this.FormVisible1 = false; this.FormVisible = false;
for (let key in this.classForm) { this.classForm = {
this.classForm[key] = null; ownerType: "EXHIBITION_BOARD",
} valueDate: [],
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"].clearValidate();
this.$refs["classForm"].resetFields(); this.$refs["classForm"].resetFields();
}, },
// 编辑弹框 // 编辑弹框
openEdit(row) { openEdit(row) {
this.type = false this.type = false;
$('.el-dialog__title').html('编辑'); this.FormVisible = true;
let _this=this; this.classForm = JSON.parse(JSON.stringify(row));
//成功之后清除数据 this.classForm.valueDate =[row.expireDateStart,row.expireDateEnd]
// for (let key in this.editform) { this.classForm = {...this.classForm}
// _this.editform[key]=null;
// }
// _this.editform= Object.assign({}, row);
_this.FormVisible1 = true;
this.getVideoContentCatInfo(row.id)
},
// 获取视频分类详情
getVideoContentCatInfo(id){
let vm = this;
vm.$https(
{
url: "copyrightOwner/get/" + id,
method: "get",
authType: this.backToken
},
// param
)
.then(res => {
let data = res.data.data;
this.valueDate = [data.expireDateStart, data.expireDateEnd];
this.classForm = data
})
.catch(function(err) {
console.log(err);
});
},
openDetails() {
let _this = this;
_this.FormVisible = true;
}, },
// 删除 // 删除
handleDelete(row) { handleDelete(row) {
...@@ -483,139 +340,34 @@ export default { ...@@ -483,139 +340,34 @@ export default {
this.$confirm("此操作将永久删除, 是否继续?", "提示", { this.$confirm("此操作将永久删除, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
cancelButtonText: "取消", cancelButtonText: "取消",
type: "warning" type: "warning",
}) })
.then(() => { .then(() => {
_this.$https({
method: 'delete',
url: 'copyrightOwner/delete/'+ row.id,
authType: this.backToken
}).then((res) => {
this.$message({type: 'success', message: '删除成功!'});
_this.Search();
}, (error) => {
this.$message({type: 'fail', message: "删除失败!" + error.response.data});
}
)
})
.catch(() => {});
},
// // 保存编辑信息
// submitForm() {
// let _this = this;
// _this.$refs.editform.validate(valid => {
// if (valid) {
// let searchObj = {};
// for (let key in _this.editform) {
// if (this.editform[key]) {
// searchObj[key] = _this.editform[key];
// }
// }
// let str = _this.editform.menuName;
// let index = str.lastIndexOf("-");
// str = str.substring(index + 1, str.length);
// searchObj.menuName = str;
// _this
// .$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(searchObj)
// )
// .then(
// res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.onSearch();
// _this.FormVisible = false;
// _this.$refs["editform"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
// }
// });
// },
// 批量操作
handleSelectionChange(selection) {
let _this = this;
_this.selection = selection;
},
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 _this
.$https({ .$https({
url: "menu/batchDel?menuIds=" + str, method: "delete",
method: "DELETE", url: "copyrightOwner/delete/" + row.id,
authType: this.backToken authType: this.backToken,
}) })
.then( .then(
res => { (res) => {
if (res.data.status == 201 || res.data.status == 200) { this.$message({ type: "success", message: "删除成功!" });
this.$message({
type: "success",
message: "删除成功!"
});
}
//重新查询数据
_this.onSearch(); _this.onSearch();
}, },
error => {} (error) => {
);
});
} else {
this.$message({ this.$message({
type: "info", type: "error",
message: "请至少选择一个选项!" message: "删除失败!" + error.response.data,
}); });
} }
} );
} })
.catch(() => {});
},
},
}; };
</script> </script>
<style lang="less"> <style lang="less">
// @import "../../../../style/common"; @import "../../../../style/table.less";
// @import "../../style/list";
@import "../../../../style/dialog.less";
@import '../../../../style/table.less';
@import '../../../../style/pagination.less';
</style> </style>
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
clearable
v-model="form.userName" v-model="form.userName"
placeholder="请输入运维者账号" placeholder="请输入运维者账号"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
...@@ -12,12 +13,14 @@ ...@@ -12,12 +13,14 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
clearable
v-model="form.date" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期"
>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -29,7 +32,9 @@ ...@@ -29,7 +32,9 @@
</el-form> </el-form>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips">可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选</span> <span class="page-tips"
>可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选</span
>
</div> </div>
</div> </div>
<div class="table-content hasTabs"> <div class="table-content hasTabs">
...@@ -37,105 +42,109 @@ ...@@ -37,105 +42,109 @@
class="noAdd" class="noAdd"
:currentPage="page._index" :currentPage="page._index"
:feildList="feildList" :feildList="feildList"
:list="list"> :list="list"
>
</party-table> </party-table>
<party-pagination <party-pagination :page="page" @changePage="handleChangeCurrent" />
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination,partyTable } from '@/components/index' import { partyPagination, partyTable } from "@/components/index";
export default { export default {
data(){ data() {
return{ return {
form:{ form: {
userName:'', userName: "",
date:'', date: "",
startDate:'', startDate: "",
endDate:'' endDate: "",
}, },
feildList:[ feildList: [
{prop:'userName',label:'运维账号'}, { prop: "userName", label: "运维账号" },
{prop:'area',label:'运维区域'}, { prop: "area", label: "运维区域" },
{prop:'operationType',label:'操作类型'}, { prop: "operationType", label: "操作类型" },
{prop:'createTime',label:'操作时间'} { prop: "createTime", label: "操作时间" },
], ],
list: [], list: [],
page:{ page: {
_index:1, _index: 1,
_size:10, _size: 10,
total:0 total: 0,
} },
} };
}, },
components:{ partyTable, partyPagination}, components: { partyTable, partyPagination },
mounted(){ mounted() {
this.getLog() this.getFirstPageList();
}, },
methods:{ methods: {
handleSubmit(){ handleSubmit() {
this.getLog() this.getPageList();
}, },
handleReset(){ getFirstPageList() {
for(let key in this.form){ this.page._index = 1;
this.form[key] = "" this.getPageList();
},
handleReset() {
for (let key in this.form) {
this.form[key] = "";
} }
this.getLog() this.getFirstPageList();
}, },
getLog(){ getPageList() {
let requestParams = {} let requestParams = {};
requestParams._index = this.page._index requestParams._index = this.page._index;
requestParams._size = this.page._size requestParams._size = this.page._size;
if(this.form.userName){ if (this.form.userName) {
requestParams.userName = this.form.userName requestParams.userName = this.form.userName;
} }
if(this.form.date){ if (this.form.date) {
requestParams.startDate = this.form.date[0] requestParams.startDate = this.form.date[0];
requestParams.endDate = this.form.date[1] requestParams.endDate = this.form.date[1];
} }
this.$https({ this.$https(
method:'get', {
url: 'sysLog/OperationLog', method: "get",
url: "sysLog/OperationLog",
authType: this.backToken, authType: this.backToken,
},requestParams).then(res=>{ },
if(res.status != 200){ requestParams
this.getResWithOutData() )
}else{ .then((res) => {
if(res.data.resultCode == 200){ if (res.status != 200) {
this.list = res.data.data.records this.getResWithOutData();
this.page._size = res.data.data.size } else {
this.page.total = res.data.data.total if (res.data.resultCode == 200) {
}else{ this.list = res.data.data.records;
this.getResWithOutData() this.page._size = res.data.data.size;
this.page.total = res.data.data.total;
} else {
this.getResWithOutData();
} }
} }
}).catch(err=>{
console.log(err)
}) })
.catch((err) => {
console.log(err);
});
}, },
// 页面返回值为空 // 页面返回值为空
getResWithOutData(){ getResWithOutData() {
this.list = [] this.list = [];
this.page = { this.page = {
_index:1, _index: 1,
_size:10, _size: 10,
total:0 total: 0,
} };
}, },
// 翻页 // 翻页
handleChangeCurrent(val){ handleChangeCurrent(val) {
this.page._index = val this.page._index = val;
this.getLog() this.getPageList();
}
}, },
watch:{ },
watch: {},
} };
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
</style> </style>
\ 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