Commit 02e4739b authored by xulili's avatar xulili

用户账号

parent c4c4875d
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>虚拟营业厅</title> <title>中国国家博物馆建党百年展点播院线服务平台</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
<div class="partyt-pagination"> <div class="partyt-pagination">
<el-pagination <el-pagination
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
:current-page.sync="currentPage" :current-page.sync="page._index"
:page-size=pageSize :page-size="page._size"
layout="prev, pager, next, jumper" layout="prev, pager, next, jumper"
:total="total"> :total="page.total">
</el-pagination> </el-pagination>
</div> </div>
</template> </template>
...@@ -17,18 +17,18 @@ export default { ...@@ -17,18 +17,18 @@ export default {
} }
}, },
props:{ props:{
total:{ page:{
type:Number, type: Object,
default:500 default:{
}, _index:1,
pageSize:{ _size:10,
type:Number, total:0
default:20 }
} }
}, },
methods:{ methods:{
handleCurrentChange(val){ handleCurrentChange(val){
console.log('currentPage' + val + '页') this.$emit('changePage',val)
} }
} }
} }
......
<template> <template>
<div class="party-table"> <div class="party-table">
<el-table border :data="list" style="width: 100%;height:100%" height="100%"> <el-table border :data="list" style="width: 100%;height:100%" height="100%">
<el-table-column
label="序号"
align="center"
width="100">
<template slot-scope="scope" >
<span>{{ (currentPage-1) * 10 + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
v-for="(item,index) in feildList" v-for="(item,index) in feildList"
...@@ -19,6 +27,10 @@ export default { ...@@ -19,6 +27,10 @@ export default {
} }
}, },
props:{ props:{
currentPage:{
type:Number,
default:1
},
list:{ list:{
type:Array, type:Array,
default:()=>{return []} default:()=>{return []}
......
...@@ -89,7 +89,7 @@ const httpServer = (opts,data,file,timeout)=>{ ...@@ -89,7 +89,7 @@ const httpServer = (opts,data,file,timeout)=>{
// Authorization // Authorization
if(opts.authType==="back"){ if(opts.authType==="back"){
//authToken=localStorage.getItem('backToken'); //authToken=localStorage.getItem('backToken');
authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNjU5MDE3NiwiaWF0IjoxNjE2NTc1Nzc2fQ.BT7bv2fmz_mS10nhoeW8_z17MSRY0MQNta-0ozhUMkuqFC2bed88yc2xoolyMEN7DYSVUOCFvDJrwmi8NwgDgQ" authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNjY2NTkzOCwiaWF0IjoxNjE2NjUxNTM4fQ._nqZq0LMwkurIBKJtfX-imXLCxQSNwJ-ueGZ8iwW-0oAW880gY7PjNEfroYYQZ91v0u5yQb73Alzvy6EIp6GGg"
}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');
} }
......
import httpServer from './httpServer'
let getLogType = function(){
return new Promise((resolve, reject)=>{
httpServer({
method: 'post',
url: 'sysLog/getOperationType',
authType:"back"
}).then(res=>{
if(res.status != 200){
resolve([])
}else{
if(res.data.resultCode == 200){
let list = res.data.data
resolve(list)
}else{
resolve([])
}
}
}).catch(err=>{
resolve([])
})
})
}
export {
getLogType
}
\ No newline at end of file
import httpServer from './httpServer'
let getOrgListWithOutPage = function(){
return new Promise((resolve, reject)=>{
httpServer({
method: 'get',
url: 'organ/getList',
authType:"back"
}).then(res=>{
if(res.status != 200){
resolve([])
}else{
if(res.data.resultCode == 200){
let list = res.data.data
resolve(list)
}else{
resolve([])
}
}
}).catch(err=>{
resolve([])
})
})
}
export {
getOrgListWithOutPage
}
\ No newline at end of file
import httpServer from './httpServer'
let getRoles = function(){
return new Promise((resolve, reject)=>{
httpServer({
method: 'get',
url: 'role/getRoleBox',
authType:"back"
}).then(res=>{
if(res.status != 200){
resolve([])
}else{
resolve(res.data)
// if(res.data.resultCode == 200){
// let list = res.data.data
// resolve(list)
// }else{
// resolve([])
// }
}
}).catch(err=>{
resolve([])
})
})
}
export {
getRoles
}
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
align="center" align="center"
width="100"> width="100">
<template slot-scope="scope" > <template slot-scope="scope" >
<span>{{ (currentPage-1) * 10 * scope.$index + 1}}</span> <span>{{ (currentPage-1) * 10 + scope.$index + 1}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
...@@ -29,18 +29,27 @@ ...@@ -29,18 +29,27 @@
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="禁用" placement="top"> <el-tooltip content="禁用" placement="top">
<el-button circle @click="handleOperate(scope.row,'disable')"> <el-button
circle
:disabled="scope.row.status == 2"
@click="handleOperate(scope.row,'disable')">
<i class="icon-table icon-disable"></i> <i class="icon-table icon-disable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<el-tooltip content="激活" placement="top"> <el-tooltip content="激活" placement="top">
<el-button circle @click="handleOperate(scope.row,'enable')"> <el-button
circle
:disabled="scope.row.status == 1"
@click="handleOperate(scope.row,'enable')">
<i class="icon-table icon-enable"></i> <i class="icon-table icon-enable"></i>
</el-button> </el-button>
</el-tooltip> </el-tooltip>
</div> </div>
<div v-else> <div v-else>
<span>{{scope.row[item.prop]}}</span> <span v-if="item.prop==='type'">
{{scope.row[item.prop] | accoutType}}
</span>
<span v-else>{{scope.row[item.prop]}}</span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
...@@ -48,6 +57,7 @@ ...@@ -48,6 +57,7 @@
</div> </div>
</template> </template>
<script> <script>
// status 1 启用 2 禁用
export default { export default {
data(){ data(){
return { return {
...@@ -68,8 +78,45 @@ export default { ...@@ -68,8 +78,45 @@ export default {
default:()=>{return []} 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 ""
}
}
},
methods:{ methods:{
handleOperate(row,type){ handleOperate(row,type){
if(type != 'edit'){
this.$confirm('确认进行此操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.handlEmitMsg(row,type)
}).catch(() => {
});
}else{
this.handlEmitMsg(row,type)
}
},
handlEmitMsg(row,type){
this.$emit( this.$emit(
"action", "action",
{ {
......
<template>
<el-dialog
custom-class="party-dialog msg-dialog noHeader"
:visible.sync="dialogVisible"
width="500px"
>
<div class="dialog-content">
<img :src="getImgUrl()" alt="">
<p>{{msgInfo.des}}</p>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data(){
return{
dialogVisible:false,
}
},
props:{
msgInfo:{
type: Object,
default:()=>{
return {
type:'',
des:''
}
}
}
},
mounted(){
},
methods:{
getImgUrl(){
switch (this.msgInfo.type) {
case "wait":
return require('@/assets/wait.png')
break;
case "success":
return require('@/assets/success.png')
break;
default:
break;
}
}
}
}
</script>
<style lang="less" scoped>
.party-dialog.msg-dialog{
.dialog-content{
img{
display: block;
width: 160px;
margin: 0 auto;
}
p{
font-size: 20px;
color: @font-color;
font-weight: bold;
margin-top: 20px;
text-align: center;
}
}
}
</style>
...@@ -47,13 +47,13 @@ ...@@ -47,13 +47,13 @@
/> />
<party-pagination/> <party-pagination/>
</div> </div>
<user-dialog/> <!-- <user-dialog/> -->
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from '@/components/index' import { partyPagination } from '@/components/index'
import checkTable from './components/checkTable' import checkTable from './components/checkTable'
import userDialog from './userDialog/index' import {addDialog, editDialog} from './userDialog/index'
export default { export default {
data(){ data(){
return{ return{
...@@ -94,7 +94,7 @@ export default { ...@@ -94,7 +94,7 @@ export default {
] ]
} }
}, },
components:{ partyPagination, checkTable, userDialog}, components:{ partyPagination, checkTable, addDialog, editDialog},
mounted(){ mounted(){
}, },
......
...@@ -48,13 +48,13 @@ ...@@ -48,13 +48,13 @@
/> />
<party-pagination/> <party-pagination/>
</div> </div>
<user-dialog/> <!-- <user-dialog/> -->
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from '@/components/index' import { partyPagination } from '@/components/index'
import accountTable from './components/accountTable' import accountTable from './components/accountTable'
import userDialog from './userDialog/index' // import userDialog from './userDialog/index'
export default { export default {
data(){ data(){
return{ return{
...@@ -95,7 +95,7 @@ export default { ...@@ -95,7 +95,7 @@ export default {
] ]
} }
}, },
components:{ partyPagination, accountTable, userDialog}, components:{ partyPagination, accountTable},
mounted(){ mounted(){
}, },
......
...@@ -50,13 +50,13 @@ ...@@ -50,13 +50,13 @@
/> />
<party-pagination/> <party-pagination/>
</div> </div>
<user-dialog/> <!-- <user-dialog/> -->
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from '@/components/index' import { partyPagination } from '@/components/index'
import accountTable from './components/accountTable' import accountTable from './components/accountTable'
import userDialog from './userDialog/index' // import userDialog from './userDialog/index'
export default { export default {
data(){ data(){
return{ return{
...@@ -96,7 +96,7 @@ export default { ...@@ -96,7 +96,7 @@ export default {
] ]
} }
}, },
components:{ partyPagination, accountTable, userDialog}, components:{ partyPagination, accountTable},
mounted(){ mounted(){
}, },
......
...@@ -53,13 +53,13 @@ ...@@ -53,13 +53,13 @@
/> />
<party-pagination/> <party-pagination/>
</div> </div>
<user-dialog/> <!-- <user-dialog/> -->
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from '@/components/index' import { partyPagination } from '@/components/index'
import accountTable from './components/accountTable' import accountTable from './components/accountTable'
import userDialog from './userDialog/index' // import userDialog from './userDialog/index'
export default { export default {
data(){ data(){
return{ return{
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
] ]
} }
}, },
components:{ partyPagination, accountTable, userDialog}, components:{ partyPagination, accountTable},
mounted(){ mounted(){
}, },
......
<template>
<el-dialog
custom-class="party-dialog"
title="新建账号"
:visible.sync="dialogVisible"
width="720px"
:before-close="handleClose"
>
<div class="dialog-content">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
label-position="top"
class="party-form"
>
<div class="form-row">
<el-form-item label="系统用户名" prop="userName">
<el-input v-model="form.userName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="所在机构" prop="orgId">
<el-select v-model="form.orgId" filterable placeholder="请选择">
<el-option
v-for="item in organList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="form.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!form.permanent">
<el-date-picker
class="mt16"
v-model="form.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1">
<el-checkbox
v-for="(item,index) in rolesList"
:key="index"
:label="item.id"
>
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles";
export default {
data() {
return {
dialogVisible: false,
organList: [],
rolesList: [],
form: {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
},
rules: {
userName: [
{ required: true, message: "请选择系统用户名", trigger: "change" },
],
orgId: [
{ required: true, message: "请输入所在机构", trigger: "change" },
],
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
roleList: [
{ type: 'array',required: true, message: "请选择账号类型", trigger: "change" },
]
},
};
},
mounted() {
this.getOrgList();
this.getRolesList();
},
methods: {
// 获取机构列表
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
},
// 获取角色列表
getRolesList() {
getRoles().then((res) => {
this.rolesList = res;
});
},
// 弹窗关闭
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset()
})
.catch((_) => {});
},
handleReset(){
this.dialogVisible = false
this.$refs.form.resetFields()
this.form = {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
}
},
// 提交
handleSubmit() {
// 校验用户输入值
this.$refs.form.validate((valid) => {
if (valid) {
let user = {};
if(!this.form.permanent && !this.form.date){
this.$message.error('请选择有效期')
return false
}
if(!this.form.permanent){
user.effectiveDate = this.form.date[0];
user.exiredDate = this.form.date[1];
}
user.userName = this.form.userName;
user.orgId = this.form.orgId;
user.roleList = this.form.roleList.map(v=>{return {id:v}});
user.permanent = this.form.permanent;
this.$https(
{
method: "post",
url: "tUser/add",
authType: this.backToken,
},
user
)
.then((res) => {
if(res.status == 200 ){
if (res.data.resultCode == 200 ) {
this.$message({
type: "success",
message: res.data.message,
});
this.handleReset()
this.$emit('success',true)
} else {
this.$message.error(res.data.message);
this.$emit('success',false)
}
} else {
this.$message.error(res.data);
this.$emit('success',false)
}
})
.catch((err) => {
console.log(res);
});
} else {
console.log("error submit!!");
return false;
}
});
},
},
};
</script>
<style lang="less" scoped>
.form-row {
display: flex;
justify-content: space-between;
}
</style>
\ No newline at end of file
<template>
<el-dialog
custom-class="party-dialog"
title="编辑账号"
:visible.sync="dialogVisible"
width="720px"
:before-close="handleClose"
>
<div class="dialog-content">
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="80px"
label-position="top"
class="party-form"
>
<div class="form-row">
<el-form-item label="系统用户名" prop="userName">
<el-input v-model="form.userName" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="所在机构" prop="orgId">
<el-select v-model="form.orgId" filterable placeholder="请选择">
<el-option
v-for="item in organList"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
</div>
<el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="form.permanent">
<el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio>
</el-radio-group>
<div v-if="!form.permanent">
<el-date-picker
class="mt16"
v-model="form.date"
type="daterange"
value-format="yyyy-MM-dd"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</el-form-item>
<el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1">
<el-checkbox
v-for="(item,index) in rolesList"
:key="index"
:label="item.id"
>
{{ item.name }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles";
export default {
data() {
return {
dialogVisible: false,
organList: [],
rolesList: [],
id:'',
form: {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
},
rules: {
userName: [
{ required: true, message: "请选择系统用户名", trigger: "change" },
],
orgId: [
{ required: true, message: "请输入所在机构", trigger: "change" },
],
permanent: [
{ required: true, message: "请选择账号有效期", trigger: "change" },
],
roleList: [
{ type: 'array',required: true, message: "请选择账号类型", trigger: "change" },
]
},
};
},
mounted() {
this.getOrgList();
this.getRolesList();
setTimeout(v=>{
this.getDetailById()
},100)
},
methods: {
// 获取机构列表
getOrgList() {
getOrgListWithOutPage().then((res) => {
this.organList = res;
});
},
// 获取角色列表
getRolesList() {
getRoles().then((res) => {
this.rolesList = res;
});
},
// 根据id获取获取详情内容
getDetailById(){
this.$https(
{
method: "get",
url: "tUser/getById",
authType: this.backToken,
},
{id:this.id}
)
.then((res) => {
// if(res.status == 200 ){
// if (res.data.resultCode == 200 ) {
// console.log(res)
// } else {
// this.$message.error(res.data.message);
// }
// } else {
// this.$message.error(res.data);
// }
})
.catch((err) => {
console.log(err);
});
},
// 弹窗关闭
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset()
})
.catch((_) => {});
},
handleReset(){
this.dialogVisible = false
this.$refs.form.resetFields()
this.form = {
userName: "",
orgId: "",
permanent: true,
date: "",
roleList: [],
}
},
// 提交
handleSubmit() {
// 校验用户输入值
this.$refs.form.validate((valid) => {
if (valid) {
let user = {};
if(!this.form.permanent && !this.form.date){
this.$message.error('请选择有效期')
return false
}
if(!this.form.permanent){
user.effectiveDate = this.form.date[0];
user.exiredDate = this.form.date[1];
}
user.userName = this.form.userName;
user.orgId = this.form.orgId;
user.roleList = this.form.roleList.map(v=>{return {id:v}});
user.permanent = this.form.permanent;
this.$https(
{
method: "post",
url: "tUser/add",
authType: this.backToken,
},
user
)
.then((res) => {
if(res.status == 200 ){
if (res.data.resultCode == 200 ) {
this.$message({
type: "success",
message: res.data.message,
});
this.handleReset()
this.$emit('success',true)
} else {
this.$message.error(res.data.message);
this.$emit('success',false)
}
} else {
this.$message.error(res.data);
this.$emit('success',false)
}
})
.catch((err) => {
console.log(res);
});
} else {
console.log("error submit!!");
return false;
}
});
},
},
};
</script>
<style lang="less" scoped>
.form-row {
display: flex;
justify-content: space-between;
}
</style>
\ No newline at end of file
import addDialog from './add'
import editDialog from './edit'
export {
addDialog,
editDialog
}
\ No newline at end of file
<template>
<el-dialog
custom-class="party-dialog"
title="提示"
:visible.sync="dialogVisible"
width="468px"
:before-close="handleClose">
<div class="dialog-content">
<el-form ref="form" :model="form" label-width="80px" label-position="top" class="party-form">
<el-form-item label="系统用户名" >
<el-input v-model="form.name" placeholder="请填写"></el-input>
</el-form-item>
<el-form-item label="所在机构" >
<el-input v-model="form.name"></el-input>
</el-form-item>
<el-form-item label="账号有效期" >
<el-radio-group v-model="form.radio">
<el-radio :label="3">永久有效</el-radio>
<el-radio :label="6">设置有效期</el-radio>
</el-radio-group>
<el-date-picker
class="mt16"
v-model="form.date"
type="date"
placeholder="选择日期时间">
</el-date-picker>
</el-form-item>
<el-form-item label="账号状态" >
<el-radio-group v-model="form.radio">
<el-radio :label="3">激活</el-radio>
<el-radio :label="6">禁用</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="账号类型" >
<el-checkbox-group v-model="form.name">
<el-checkbox label="超级管理员" name="type"></el-checkbox>
<el-checkbox label="后台管理员" name="type"></el-checkbox>
<el-checkbox label="展板管理员" name="type"></el-checkbox>
<el-checkbox label="视频管理员" name="type"></el-checkbox>
<el-checkbox label="视频及展板审核" name="type"></el-checkbox>
<el-checkbox label="账号禁用审核员" name="type"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false">确 定</el-button>
</div>
</el-dialog>
</template>
<script>
export default {
data(){
return {
dialogVisible:false,
form:{
name:'',
date:''
}
}
},
methods:{
// 弹窗关闭
handleClose(){
this.$confirm('确认关闭?')
.then(_ => {
done();
})
.catch(_ => {});
}
}
}
</script>
<style lang="less" scoped>
</style>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
v-model="form.user" v-model="form.userName"
placeholder="请输入平台用户名" placeholder="请输入平台用户名"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
...@@ -24,78 +24,217 @@ ...@@ -24,78 +24,217 @@
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="btn-group"> <div class="btn-group">
<el-button type="primary">新建账户</el-button> <el-button type="primary" @click="handleAdd()">新建账户</el-button>
</div> </div>
<!-- <party-table :feildList="feildList" :list="list"></party-table> -->
<account-table <account-table
:feildList="feildList" :feildList="feildList"
:list="list" :list="list"
@action="handleAction" @action="handleAction"
/> />
<party-pagination/> <party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
<user-dialog/> <add-dialog
ref="addUserDialog"
@success="getFirstPageList()"
/>
<edit-dialog
ref="editUserDialog"
@success="getFirstPageList()"
/>
<msg-dialog
ref="msgDilaog"
:msgInfo="msgInfo"
/>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from '@/components/index' import { partyPagination } from '@/components/index'
import accountTable from './components/accountTable' import accountTable from './components/accountTable'
import userDialog from './userDialog/index' import {addDialog, editDialog} from './userDialog/index'
import msgDialog from './msgDialog.vue'
export default { export default {
data(){ data(){
return{ return{
form:{ form:{
user:'' userName:''
},
addForm:{
}, },
feildList:[ feildList:[
{prop:'username',label:'平台用户名'}, {prop:'userName',label:'平台用户名'},
{prop:'org',label:'所在机构'}, {prop:'orgName',label:'所在机构'},
{prop:'endTime',label:'到期时间'}, {prop:'exiredDate',label:'到期时间'},
{prop:'type',label:'账号类型'}, {prop:'type',label:'账号类型'},
{prop:'status',label:'账号状态'}, {prop:'statusName',label:'账号状态'},
{prop:'',label:'操作',isEdit:true, width:280}, {prop:'',label:'操作',isEdit:true, width:280},
], ],
list: [ list: [],
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, page:{
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, _index:1,
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, _size:10,
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, total:0
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, },
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, activeRow:{},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'}, msgInfo:{}
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
]
} }
}, },
components:{ partyPagination, accountTable, userDialog}, components:{
partyPagination,
accountTable,
addDialog,
editDialog,
msgDialog
},
mounted(){ mounted(){
this.getPageList()
}, },
methods:{ methods:{
getFirstPageList(){
this.page._index = 1
this.getPageList()
},
handleSubmit(){ handleSubmit(){
this.getPageList()
}, },
handleReset(){ handleReset(){
this.form.user = '' this.form.userName = ''
}, },
// 弹窗关闭 getPageList(){
handleClose(){ let requestParams = {}
this.$confirm('确认关闭?') requestParams._index = this.page._index
.then(_ => { requestParams._size = this.page._size
done(); if(this.form.userName){
}) requestParams.userName = this.form.userName
.catch(_ => {}); }
this.$https({
method:'get',
url: 'tUser/getPageList',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 新增账号
handleAdd(){
this.$refs.addUserDialog.dialogVisible = true
},
// 编辑
handleEdit(){
},
// 重置密码
handleResetPwd(){
let requestParams = {userId: this.activeRow.id}
this.$https({
method:'put',
url: 'tUser/resetPassword',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.$message.error(res.data.message)
}else{
if(res.data.resultCode == 200){
this.msgInfo = {
type:'success',
des:`用户${this.activeRow.userName}密码已重置!`
}
this.$refs.msgDilaog.dialogVisible = true
}else{
this.$message.error(res.data.message)
}
}
}).catch(err=>{
console.log(err)
})
},
// 禁用
handleDisable(){
let requestParams = {userId: this.activeRow.id}
this.$https({
method:'put',
url: 'tUser/disable',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.$message.error(res.data.message)
}else{
if(res.data.resultCode == 200){
this.msgInfo = {
type:'wait',
des:`${this.activeRow.userName}账号禁用申请已提交,待审核…`
}
this.$refs.msgDilaog.dialogVisible = true
this.getPageList()
}else{
this.$message.error(res.data.message)
}
}
}).catch(err=>{
console.log(err)
})
},
// 激活
handleActive(){
let requestParams = {userId: this.activeRow.id}
this.$https({
method:'put',
url: 'tUser/disable',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.$message.error(res.data.message)
}else{
if(res.data.resultCode == 200){
this.msgInfo = {
type:'success',
des:`用户${this.activeRow.userName}账号激活成功!`
}
this.$refs.msgDilaog.dialogVisible = true
this.getPageList()
}else{
this.$message.error(res.data.message)
}
}
}).catch(err=>{
console.log(err)
})
}, },
handleAction(params){ handleAction(params){
console.log(params.type) this.activeRow = params.row
switch (params.type) {
case "enable":
this.handleActive()
break;
case "disable":
this.handleDisable()
break;
case "reset":
this.handleResetPwd()
break;
case "edit":
this.handleEdit()
break;
default:
break;
}
},
// 翻页
handleChangeCurrent(){
this.page._index = val
this.getPageList()
} }
} }
} }
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
v-model="form.user" v-model="form.userName"
placeholder="请输入运维者账号" placeholder="请输入运维者账号"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
v-model="form.date" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
value-format="yyyy-MM-dd"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期"> end-placeholder="结束日期">
</el-date-picker> </el-date-picker>
...@@ -32,8 +33,16 @@ ...@@ -32,8 +33,16 @@
</div> </div>
</div> </div>
<div class="table-content hasTabs"> <div class="table-content hasTabs">
<party-table :feildList="feildList" :list="list"></party-table> <party-table
<party-pagination/> class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list">
</party-table>
<party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
</div> </div>
</template> </template>
...@@ -43,73 +52,87 @@ export default { ...@@ -43,73 +52,87 @@ export default {
data(){ data(){
return{ return{
form:{ form:{
user:'', userName:'',
date:'' date:'',
startDate:'',
endDate:''
}, },
addForm:{
},
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
feildList:[ feildList:[
{prop:'date',label:'日期'}, {prop:'userName',label:'运维账号'},
{prop:'name',label:'姓名'}, {prop:'area',label:'运维区域'},
{prop:'address',label:'地址'}, {prop:'operationType',label:'操作内容'},
{prop:'createTime',label:'操作时间'}
], ],
list: [ list: [],
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, page:{
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _index:1,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _size:10,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, total:0
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, }
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
]
} }
}, },
components:{ partyTable, partyPagination}, components:{ partyTable, partyPagination},
mounted(){ mounted(){
this.getLog()
}, },
methods:{ methods:{
handleSubmit(){ handleSubmit(){
this.getLog()
}, },
handleReset(){ handleReset(){
this.form.user = '' for(let key in this.form){
this.form[key] = ""
}
this.getLog()
}, },
getLog(){
let requestParams = {}
requestParams._index = this.page._index
requestParams._size = this.page._size
if(this.form.userName){
requestParams.userName = this.form.userName
}
if(this.form.date){
requestParams.startDate = this.form.date[0]
requestParams.endDate = this.form.date[1]
}
this.$https({
method:'get',
url: 'sysLog/OperationLog',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 页面返回值为空
getResWithOutData(){
this.list = []
this.page = {
_index:1,
_size:10,
total:0
}
},
// 翻页
handleChangeCurrent(val){
this.page._index = val
this.getLog()
}
},
watch:{
} }
} }
</script> </script>
......
<template> <template>
<!-- 平台操作日志 -->
<div class="platform-log-wrapper height100"> <div class="platform-log-wrapper height100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
v-model="form.user" v-model="form.nameOrCode"
placeholder="请输入操作者" placeholder="请输入操作者"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
v-model="form.value" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -19,13 +20,15 @@ ...@@ -19,13 +20,15 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="form.user" placeholder="请选择"> <el-select
<el-option v-model="form.operationType"
v-for="item in options" placeholder="请选择操作类型">
:key="item.value" <el-option
:label="item.label" v-for="(item,index) in operationTypeList"
:value="item.value"> :key="index"
</el-option> :label="item"
:value="item">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -41,84 +44,123 @@ ...@@ -41,84 +44,123 @@
</div> </div>
</div> </div>
<div class="table-content hasTabs"> <div class="table-content hasTabs">
<party-table class="noAdd" :feildList="feildList" :list="list"></party-table> <party-table
<party-pagination/> class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list">
</party-table>
<party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination,partyTable } from '@/components/index' import { partyPagination,partyTable } from '@/components/index'
import { getLogType } from '@/config/logOperationType.js'
export default { export default {
data(){ data(){
return{ return{
form:{ form:{
user:'', nameOrCode:'',
value:'' date:'',
operationType:'',
startDate:'',
endDate:''
}, },
addForm:{ logType:1, //1.平台操作日志 2.用户操作日志
operationTypeList:[],
},
options: [{
value: '选项1',
label: '黄金糕'
}, {
value: '选项2',
label: '双皮奶'
}, {
value: '选项3',
label: '蚵仔煎'
}, {
value: '选项4',
label: '龙须面'
}, {
value: '选项5',
label: '北京烤鸭'
}],
feildList:[ feildList:[
{prop:'date',label:'日期'}, {prop:'operationTime',label:'操作时间'},
{prop:'name',label:'姓名'}, {prop:'operator',label:'操作者'},
{prop:'address',label:'地址'}, {prop:'operationType',label:'操作类型'},
{prop:'operationObject',label:'操作对象'},
{prop:'operationContent',label:'操作内容'},
], ],
list: [ list: [],
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, page:{
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _index:1,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _size:10,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, total:0
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, }
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
]
} }
}, },
components:{ partyTable, partyPagination}, components:{ partyTable, partyPagination},
mounted(){ mounted(){
// 获取日志操作类型
this.getOperationType()
// 获取机顶盒运维类表
this.getLog()
}, },
methods:{ methods:{
getOperationType(){
getLogType().then(res=>{
this.operationTypeList = res
})
},
handleSubmit(){ handleSubmit(){
this.getLog()
}, },
handleReset(){ handleReset(){
this.form.user = '' for(let key in this.form){
this.form[key] = ""
}
this.getLog()
},
getLog(){
let requestParams = {}
requestParams._index = this.page._index
requestParams._size = this.page._size
requestParams.type = this.logType
if(this.form.nameOrCode){
requestParams.nameOrCode = this.form.nameOrCode
}
if(this.form.operationType){
requestParams.operationType = this.form.operationType
}
if(this.form.date){
requestParams.startDate = this.form.date[0]
requestParams.endDate = this.form.date[1]
}
this.$https({
method:'get',
url: 'sysLog/querySysLogList',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 页面返回值为空
getResWithOutData(){
this.list = []
this.page = {
_index:1,
_size:10,
total:0
}
}, },
// 翻页
handleChangeCurrent(val){
this.page._index = val
this.getLog()
}
},
watch:{
} }
} }
</script> </script>
......
<template> <template>
<!-- 机顶盒运维日志 -->
<div class="set-top-log-wrapper height100"> <div class="set-top-log-wrapper height100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-select v-model="form.user" placeholder="请选择"> <el-select v-model="form.user" placeholder="请选择">
<el-option <el-option
v-for="item in options" v-model="form.organId"
:key="item.value" v-for="item in organList"
:label="item.label" :key="item.id"
:value="item.value"> :label="item.orgName"
:value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
v-model="form.value" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -35,69 +37,117 @@ ...@@ -35,69 +37,117 @@
</div> </div>
</div> </div>
<div class="table-content hasTabs"> <div class="table-content hasTabs">
<party-table :feildList="feildList" :list="list"></party-table> <party-table
<party-pagination/> class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list">
</party-table>
<party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination,partyTable } from '@/components/index' import { partyPagination,partyTable } from '@/components/index'
import { getOrgListWithOutPage } from "@/config/organ.js"
export default { export default {
data(){ data(){
return{ return{
form:{ form:{
user:'', organId:'',
value:'' date:'',
startDate:'',
endDate:''
}, },
addForm:{ organList:[],
},
options:[],
feildList:[ feildList:[
{prop:'date',label:'日期'}, {prop:'macAddr',label:'机顶盒Mac地址'},
{prop:'name',label:'姓名'}, {prop:'orgName',label:'所属单位'},
{prop:'address',label:'地址'}, {prop:'learnName',label:'学习内容'},
{prop:'startTime',label:'开始时间'},
{prop:'endTime',label:'结束时间'}
], ],
list: [ list: [],
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, page:{
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _index:1,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _size:10,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, total:0
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, }
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
]
} }
}, },
components:{ partyTable, partyPagination}, components:{ partyTable, partyPagination},
mounted(){ mounted(){
// 获取所属范围列表
this.getOrgList()
// 获取机顶盒运维类表
this.getLog()
}, },
methods:{ methods:{
getOrgList(){
getOrgListWithOutPage().then(res=>{
this.organList = res
})
},
handleSubmit(){ handleSubmit(){
this.getLog()
}, },
handleReset(){ handleReset(){
this.form.user = '' for(let key in this.form){
this.form[key] = ""
}
this.getLog()
},
getLog(){
let requestParams = {}
requestParams._index = this.page._index
requestParams._size = this.page._size
if(this.form.organId){
requestParams.organId = this.form.organId
}
if(this.form.date){
requestParams.startDate = this.form.date[0]
requestParams.endDate = this.form.date[1]
}
this.$https({
method:'get',
url: 'sysLog/runLogList',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 页面返回值为空
getResWithOutData(){
this.list = []
this.page = {
_index:1,
_size:10,
total:0
}
}, },
// 翻页
handleChangeCurrent(val){
this.page._index = val
this.getLog()
}
},
watch:{
} }
} }
</script> </script>
......
<template> <template>
<div class="use-log-wrapper height100"> <!-- 用户操作日志 -->
<div class="platform-log-wrapper height100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
v-model="form.user" v-model="form.nameOrCode"
placeholder="请输入操作者" placeholder="请输入操作者"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-date-picker <el-date-picker
v-model="form.value" v-model="form.date"
type="daterange" type="daterange"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
...@@ -19,13 +20,15 @@ ...@@ -19,13 +20,15 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="form.user" placeholder="请选择"> <el-select
<el-option v-model="form.operationType"
v-for="item in options" placeholder="请选择操作类型">
:key="item.value" <el-option
:label="item.label" v-for="(item,index) in operationTypeList"
:value="item.value"> :key="index"
</el-option> :label="item"
:value="item">
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -41,69 +44,123 @@ ...@@ -41,69 +44,123 @@
</div> </div>
</div> </div>
<div class="table-content hasTabs"> <div class="table-content hasTabs">
<party-table :feildList="feildList" :list="list"></party-table> <party-table
<party-pagination/> class="noAdd"
:currentPage="page._index"
:feildList="feildList"
:list="list">
</party-table>
<party-pagination
:page="page"
@changePage="handleChangeCurrent"
/>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { partyPagination,partyTable } from '@/components/index' import { partyPagination,partyTable } from '@/components/index'
import { getLogType } from '@/config/logOperationType.js'
export default { export default {
data(){ data(){
return{ return{
form:{ form:{
user:'', nameOrCode:'',
value:'' date:'',
operationType:'',
startDate:'',
endDate:''
}, },
addForm:{ logType:2, //1.平台操作日志 2.用户操作日志
operationTypeList:[],
},
options:[],
feildList:[ feildList:[
{prop:'date',label:'日期'}, {prop:'operationTime',label:'操作时间'},
{prop:'name',label:'姓名'}, {prop:'operator',label:'操作者'},
{prop:'address',label:'地址'}, {prop:'operationType',label:'操作类型'},
{prop:'operationObject',label:'操作对象'},
{prop:'operationContent',label:'操作内容'},
], ],
list: [ list: [],
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, page:{
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _index:1,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, _size:10,
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, total:0
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'}, }
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
{ date: '2016-05-02',name: '王小虎', address: '上海市普陀区金沙江路 1518 弄'},
]
} }
}, },
components:{ partyTable, partyPagination}, components:{ partyTable, partyPagination},
mounted(){ mounted(){
// 获取日志操作类型
this.getOperationType()
// 获取机顶盒运维类表
this.getLog()
}, },
methods:{ methods:{
getOperationType(){
getLogType().then(res=>{
this.operationTypeList = res
})
},
handleSubmit(){ handleSubmit(){
this.getLog()
}, },
handleReset(){ handleReset(){
this.form.user = '' for(let key in this.form){
this.form[key] = ""
}
this.getLog()
},
getLog(){
let requestParams = {}
requestParams._index = this.page._index
requestParams._size = this.page._size
requestParams.type = this.logType
if(this.form.nameOrCode){
requestParams.nameOrCode = this.form.nameOrCode
}
if(this.form.operationType){
requestParams.operationType = this.form.operationType
}
if(this.form.date){
requestParams.startDate = this.form.date[0]
requestParams.endDate = this.form.date[1]
}
this.$https({
method:'get',
url: 'sysLog/querySysLogList',
authType: this.backToken,
},requestParams).then(res=>{
if(res.status != 200){
this.getResWithOutData()
}else{
if(res.data.resultCode == 200){
this.list = res.data.data.records
this.page._size = res.data.data.size
this.page.total = res.data.data.total
}else{
this.getResWithOutData()
}
}
}).catch(err=>{
console.log(err)
})
},
// 页面返回值为空
getResWithOutData(){
this.list = []
this.page = {
_index:1,
_size:10,
total:0
}
}, },
// 翻页
handleChangeCurrent(val){
this.page._index = val
this.getLog()
}
},
watch:{
} }
} }
</script> </script>
......
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
box-shadow: 0 4px 8px 0 rgba(221,221,221,0.40); box-shadow: 0 4px 8px 0 rgba(221,221,221,0.40);
border-radius: 8px; border-radius: 8px;
padding: 20px 20px 0 20px; padding: 20px 20px 0 20px;
&.noHeader{
.el-dialog__header{
display: none;
}
}
.el-dialog__header{ .el-dialog__header{
padding: 0; padding: 0;
border-bottom: 1px solid @party-border-color; border-bottom: 1px solid @party-border-color;
......
...@@ -93,6 +93,9 @@ ...@@ -93,6 +93,9 @@
width: 20px; width: 20px;
padding: 0 2px; padding: 0 2px;
} }
.el-range-input{
background-color: @party-bg-gray;
}
} }
.el-input__icon{ .el-input__icon{
width: 40px; width: 40px;
...@@ -152,6 +155,15 @@ ...@@ -152,6 +155,15 @@
} }
// 系统form 表单样式 // 系统form 表单样式
.party-form{ .party-form{
.el-input__icon{
width: 40px;
font-size: 20px;
color: @party-btn-color;
}
.el-range-separator{
width: 20px;
padding: 0 2px;
}
.el-input{ .el-input{
width: 280px; width: 280px;
.el-input__inner{ .el-input__inner{
......
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