Commit aa1aa971 authored by qzhxx's avatar qzhxx

’学习

parents f8825706 d345d0ed
...@@ -13,3 +13,4 @@ yarn-error.log* ...@@ -13,3 +13,4 @@ yarn-error.log*
*.ntvs* *.ntvs*
*.njsproj *.njsproj
*.sln *.sln
package-lock.json
\ No newline at end of file
...@@ -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>
......
This diff is collapsed.
...@@ -23,7 +23,9 @@ ...@@ -23,7 +23,9 @@
"qs": "^6.5.2", "qs": "^6.5.2",
"qs-stringify": "^1.1.0", "qs-stringify": "^1.1.0",
"video.js": "^7.11.4", "video.js": "^7.11.4",
"swiper": "^5.4.5",
"vue": "^2.5.2", "vue": "^2.5.2",
"vue-awesome-swiper": "^4.1.1",
"vue-qr": "^1.5.2", "vue-qr": "^1.5.2",
"vue-router": "^3.0.1", "vue-router": "^3.0.1",
"vuex": "^3.0.1", "vuex": "^3.0.1",
......
<template> <template>
<div id="app"> <div id="app">
<top-bar></top-bar> <top-bar v-if="!$route.meta.noShowbar"></top-bar>
<breadcrumb v-if="$route.meta.showBreadcrumb"></breadcrumb> <breadcrumb v-if="$route.meta.showBreadcrumb"></breadcrumb>
<!-- <div :class="'appContent' {}"> --> <!-- <div :class="'appContent' {}"> -->
<div v-bind:class="[{ hasBread: $route.meta.showBreadcrumb }, 'appContent']"> <div v-bind:class="[{ hasBread: $route.meta.showBreadcrumb }, 'appContent']">
......
This image diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
...@@ -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 []}
......
<template> <template>
<div class="top-bar"> <div class="top-bar">
<div class="top-bar-left"> <div class="top-bar-left">
<div class="logo"></div> <div class="logo"></div>
<span class="title f24">中国国家博物馆建党百年展点播院线服务平台</span> <span class="title f24">中国国家博物馆建党百年展点播院线服务平台</span>
</div> </div>
<div class="top-bar-right"> <div class="top-bar-right">
<div class="avatar"></div> <!-- <div class="avatar"></div> -->
<div class="user-name f16 ">{{userName}}</div> <div class="user-name f16">Hello, {{ userName }}</div>
<div class="line"></div> <div class="line"></div>
<div class="login-out"></div> <div class="login-out" @click="logout()"></div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
export default {
export default{
data() { data() {
return{ return {
userName:'admin,北京市政府' userName: localStorage.getItem("user"),
} };
}, },
mounted(){ mounted() {},
methods: {
logout() {
this.$confirm("确认退出吗?")
.then((_) => {
this.handleLogout();
})
.catch((_) => {});
}, },
methods:{ handleLogout() {
let _this = this;
_this
.$https( {
method: "get",
url: "logout",
authType:'back'
} )
.then((res) => {
if (res.status == 200) {
let resData = res.data;
if (resData.resultCode == 200) {
_this.$message({
type: "success",
message: resData.message,
});
localStorage.removeItem("user");
localStorage.removeItem("backToken");
_this.$router.push("login");
} else {
_this.$message.error(res.data.message);
} }
} } else {
_this.$message.error(res.data.message);
}
})
.catch((err) => {
_this.$message.error(error.message);
});
},
},
};
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.top-bar{ .top-bar {
background-color: @party-red; background-color: @party-red;
width: 100%; width: 100%;
height: 76px; height: 76px;
line-height: 76px; line-height: 76px;
padding:0 30px; padding: 0 30px;
overflow:hidden; overflow: hidden;
.top-bar-left{ .top-bar-left {
float: left; float: left;
.logo{ .logo {
width: 46px; width: 46px;
height: 36px; height: 36px;
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
background-color: pink; background: url("~@/assets/login/logo.png") no-repeat center/100% 100%;
} }
.title{ .title {
color: @party-white; color: @party-white;
vertical-align: middle; vertical-align: middle;
padding-left: 16px; padding-left: 16px;
} }
} }
.top-bar-right{ .top-bar-right {
float: right; float: right;
> *{ > * {
display: inline-block; display: inline-block;
vertical-align: middle; vertical-align: middle;
} }
.avatar{ .avatar {
width: 36px; width: 36px;
height: 36px; height: 36px;
border-radius: 50%; border-radius: 50%;
background-color: pink; background-color: pink;
} }
.user-name{ .user-name {
font-size: 16px; font-size: 16px;
line-height: 16px; line-height: 16px;
color: @party-white; color: @party-white;
} }
.line{ .line {
width: 2px; width: 2px;
height: 18px; height: 18px;
background-color: @party-white; background-color: @party-white;
margin: 0 15px; margin: 0 15px;
} }
.login-out{ .login-out {
width: 20px; width: 20px;
height: 20px; height: 20px;
background-color: pink; background: url("~@/assets/login/logout.png") no-repeat center/100% 100%;
cursor: pointer;
} }
} }
} }
</style> </style>
...@@ -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.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNzAzMzM3NSwiaWF0IjoxNjE3MDE4OTc1fQ.NN7nF9aOGJIVZm-8x0uVz00S--YbETfkC1Ifu9R4PbnNPvObhDYlY_u2oxiq2dEkjkJ4sQWy5o2X-fTNaIvnIQ"
}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
export const menuList = [ export const menuList = [
{ {
title:'内容管理', name: '内容管理',
menu:[ icon: 'icon-headContent',
avatar: 'content_head_picture.png',
color: '',
url: '',
children: [
{ {
subtitle:'视频管理', name: '展板管理',
subMenu:[ icon: '',
{label:'视频版权方管理', imgUrl:'',url:'/videoCopyright'}, avatar: '',
{label:'视频分类管理', imgUrl:'',url:'/videoClassify'}, color: '',
{label:'视频内容管理', imgUrl:'',url:'/videoContent'}, url: '',
{label:'视频汇出', imgUrl:'',url:'/videoRemit'}, children: [
{ name: '版权方管理', icon: 'icon-copyrights', color: 'index-red', avatar: '', url: '/displayCopyright' },
{ name: '分类管理', icon: 'icon-classify', color: 'index-blue', avatar: '', url: '/displayclassify' },
{ name: '内容管理', icon: 'icon-content', color: 'index-green', avatar: '', url: '/displayContent' },
] ]
}, },
{ {
subtitle:'展板管理', name: '视频管理',
subMenu:[ icon: '',
{label:'展板版权方管理', imgUrl:'',url:'/displayCopyright'}, avatar: '',
{label:'展板分类管理', imgUrl:'',url:'/displayClassify'}, color: '',
{label:'展板内容管理', imgUrl:'',url:'/displayContent'}, url: '',
children: [
{ name: '版权方管理', icon: 'icon-copyrights', color: 'index-red', avatar: '', url: '/videoCopyright' },
{ name: '分类管理', icon: 'icon-classify', color: 'index-blue', avatar: '', url: '/videoclassifyify' },
{ name: '内容管理', icon: 'icon-content', color: 'index-green', avatar: '', url: '/videoContent' },
{ name: '视频汇出', icon: 'icon-plane', color: 'index-purple', avatar: '', url: '/videoRemit' },
] ]
}, },
{ {
subtitle:'学习管理', name: '平台学习内容制作',
subMenu:[ icon: '',
{label:'学习项目管理', imgUrl:'',url:'/learnProject'}, avatar: '',
{label:'学习内容管理', imgUrl:'',url:'/learnContent'}, color: '',
{label:'互动管理', imgUrl:'',url:'/interactive'} url: '',
children: [
{ name: '学习项目管理', icon: 'icon-data', color: 'index-blue', avatar: '', url: '/learnProject' },
{ name: '学习内容制作', icon: 'icon-pen', color: 'index-pink', avatar: '', url: '/learnContent' },
] ]
}, },
] ]
}, },
{ {
title:'统计数据', name: '审核管理',
menu:[ icon: 'icon-headAudit',
avatar: 'audit_head_picture.png',
color: '',
url: '',
children: [
{ {
subtitle:'统计图表', name: '内容及账号审核',
subMenu:[ icon: '',
{label:'统计概览', imgUrl:''}, avatar: '',
{label:'互动统计', imgUrl:''}, color: '',
{label:'趋势分析', imgUrl:''} url: '',
children: [
{ name: '视频审核', icon: 'icon-video', color: 'index-blue', url: '/checkVideo' },
{ name: '展板审核', icon: 'icon-screen', color: 'index-green', url: '/checkDisplay' },
{ name: '平台学习内容审核', icon: 'icon-magnifier', color: 'index-pink', url: '/checkLearn' },
{ name: '账号禁用审核', icon: 'icon-disable', color: 'index-red', url: '/checkLearn' }
]
}
] ]
}, },
{ {
subtitle:'统计账号', title: '单位用户管理',
subMenu:[ icon: 'icon-headUser',
{label:'统计账号管理', imgUrl:''} avatar: 'user_head_picture.png',
color: '',
url: '',
children: [
{
name: '互动管理',
icon: '',
avatar: '',
color: '',
url: '',
children: [
{ label: '互动管理', icon: 'icon-interaction', color: 'index-purple', url: '/interactive' }
] ]
}, },
{ {
subtitle:'互动管理', name: '账号管理',
subMenu:[ icon: '',
{label:'互动管理', imgUrl:'',url:'/interactive'} avatar: '',
color: '',
url: '',
children: [
{ label: '账号管理', icon: 'icon-account', color: 'index-blue', url: '/unitAdmin' }
] ]
}, }
] ]
}, },
{ {
title:'审核管理', name: '机顶盒管理',
menu:[ icon: 'icon-headStb',
avatar: 'stb_head_picture.png',
color: '',
url: '',
children: [
{ {
subtitle:'内容及账号审核', name: '机顶盒信息及运维管理',
subMenu:[ icon: '',
{label:'视频审核', imgUrl:'',url:'/checkVideo'}, avatar: '',
{label:'展板审核', imgUrl:'',url:'/checkDisplay'}, color: '',
{label:'平台学习内容审核', imgUrl:'',url:'/checkLearn'}, url: '',
{label:'账号禁用审核', imgUrl:''} children: [
] { name: '基础信息管理', icon: 'icon-radio', color: 'index-pink', url: '/STBbase' },
} { name: '运维信息管理', icon: 'icon-message', color: 'index-blue', url: '/STBoperation' },
{ name: '运维账号管理', icon: 'icon-gear', color: 'index-pink', url: '/stbAccount' }
] ]
}, },
{ {
title:'机顶盒管理', name: 'APP管理',
menu:[ icon: '',
{ avatar: '',
subtitle:'机顶盒信息及运维管理', color: '',
subMenu:[ url: '',
{label:'机顶盒信息管理', imgUrl:'',url:'/STBbase'}, children: [
{label:'机顶盒运维信息管理', imgUrl:'',url:'/STBoperation'}, { name: '版本管理', icon: 'icon-appversion', color: 'index-red', url: '/appversion' },
{label:'机顶盒运维账号管理', imgUrl:''}, { name: '界面自定义', icon: 'icon-interface', color: 'index-pink', url: '/pagecustom' }
{label:'app版本管理', imgUrl:'',url:'/appversion'},
{label:'app界面自定义', imgUrl:'',url:'/pagecustom'},
] ]
} }
] ]
}, },
{ {
title:'系统管理', name: '统计数据',
menu:[ icon: 'icon-headStatistics',
avatar: 'statistics_head_picture.png',
color: '',
url: '',
menu: [
{ {
subtitle:'机构及信息管理', name: '统计图表',
subMenu:[ icon: '',
{label:'机构管理', imgUrl:'',url:'/organ'}, avatar: '',
{label:'日志管理', imgUrl:'',url:'/log'}, color: '',
{label:'修改密码', imgUrl:'',url:'/changePwd'}, url: '',
children: [
{ name: '统计概览', icon: 'icon-overview', color: 'index-purple', url: '/overview' },
{ name: '互动统计', icon: 'icon-interaction', color: 'index-green', url: '' },
{ name: '趋势分析', icon: 'icon-tend', color: 'index-pink', url: '' }
] ]
}, },
{ {
subtitle:'系统账号管理', name: '统计账号',
subMenu:[ icon: '',
{label:'用户账号管理', imgUrl:'',url:'/users'}, avatar: '',
{label:'单位管理员账号管理', imgUrl:'',url:'/unitAdmin'}, color: '',
url: '',
children: [
{ name: '统计用户管理', icon: 'icon-statisticsUser', color: 'index-blue', url: '/statisticalUser' }
]
},
] ]
}, },
{
name: '系统管理',
icon: 'icon-headSystem',
avatar: 'system_head_picture.png',
color: '',
url: '',
menu: [
{
name: '机构及信息管理',
icon: '',
avatar: '',
color: '',
url: '',
children: [
{ name: '机构管理', icon: 'icon-organ', color: 'index-green', url: '/organ' },
{ name: '日志管理', icon: 'icon-log', color: 'index-pink', url: '/log' },
{ name: '平台用户管理', icon: 'icon-platUser', color: 'index-blue', url: '/users' },
{ name: '修改密码', icon: 'icon-lock', color: 'index-red', url: '/changePwd' },
]
}
] ]
}, },
] ]
\ 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{
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
...@@ -16,11 +16,11 @@ ...@@ -16,11 +16,11 @@
label-position="right" label-position="right"
:rules="rules" :rules="rules"
> >
<el-form-item label="版本号1:" prop="version"> <el-form-item label="版本号:" prop="appVersion">
<el-input size="small" v-model="formItem.version" clearable placeholder="请输入版本号"></el-input> <el-input size="small" v-model="formItem.appVersion" clearable placeholder="请输入版本号"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本信息:" prop="versionContent"> <el-form-item label="版本信息:" prop="versionInfo">
<el-input type="textarea" size="small" v-model="formItem.versionContent"></el-input> <el-input type="textarea" size="small" v-model="formItem.versionInfo"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="更新内容:" prop="updateContent"> <el-form-item label="更新内容:" prop="updateContent">
<el-input type="textarea" size="small" v-model="formItem.updateContent"></el-input> <el-input type="textarea" size="small" v-model="formItem.updateContent"></el-input>
...@@ -28,20 +28,19 @@ ...@@ -28,20 +28,19 @@
<el-upload <el-upload
class="text-center" class="text-center"
drag drag
action="#" action="http://192.168.110.67/mall/file/upload/allType"
:auto-upload="false" :on-success="handleAvatarSuccess"
:on-change="onChange"
:file-list="fileList"> :file-list="fileList">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将安装包拖到此处,或<em>点击上传安装包</em></div> <div class="el-upload__text">将安装包拖到此处,或<em>点击上传安装包</em></div>
<div class="el-upload__tip" slot="tip">只能上传zip文件,且不超过500kb</div> <div class="el-upload__tip" slot="tip">只能上传apk文件,且不超过500kb</div>
</el-upload> </el-upload>
</el-form> </el-form>
</div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="submitForm('formItem')">确定</el-button> <el-button size="mini" type="primary" @click="submitForm('formItem')">确定</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>
</template> </template>
...@@ -53,10 +52,10 @@ export default { ...@@ -53,10 +52,10 @@ export default {
formItem: {}, formItem: {},
fileList:[], fileList:[],
rules: { rules: {
version: [ appVersion: [
{ required: true, message: "请输入版本号", trigger: "blur" } { required: true, message: "请输入版本号", trigger: "blur" }
], ],
versionContent: [{ required: true, message: "请输入版本信息", trigger: "blur" }], versionInfo: [{ required: true, message: "请输入版本信息", trigger: "blur" }],
updateContent: [{ required: true, message: "请输入更新内容", trigger: "blur" }] updateContent: [{ required: true, message: "请输入更新内容", trigger: "blur" }]
} }
}; };
...@@ -78,66 +77,73 @@ export default { ...@@ -78,66 +77,73 @@ export default {
this.$refs["formItem"].resetFields(); this.$refs["formItem"].resetFields();
}, },
// 上传数据操作 // 上传数据操作
onChange(file, fileList) { handleAvatarSuccess(res, file) {
this.fileList = fileList this.formItem.apkUrl = res.url
}, },
// 保存编辑信息 // 保存编辑信息
submitForm() { submitForm() {
let _this = this; let _this = this;
console.log(this.formItem)
_this.$refs.formItem.validate(valid => { _this.$refs.formItem.validate(valid => {
if (valid) { if (valid) {
if (!this.fileList.length) { if (!this.formItem.apkUrl) {
this.$message.info('请先选取文件!') this.$message.info('请先选取文件!')
return false return false
} }
const fileType = this.fileList.every(item => { let param = {
console.log(item.raw.type) appVersion: this.formItem.appVersion,
return item.raw.type === 'application/zip' versionInfo: this.formItem.versionInfo,
}) updateContent: this.formItem.updateContent ,
if (!fileType) { apkUrl: this.formItem.apkUrl ,
this.$message.error('支持扩展名:.zip格式!') };
return false // const fileType = this.fileList.every(item => {
} // console.log(item.raw.type)
const param = new FormData() // return item.raw.type === 'application/zip'
this.fileList.forEach(file => { // })
param.append('file', file.raw) // 此处一定是append file.raw 上传文件只需维护fileList file.raw.name要加上 // if (!fileType) {
param.append('fileName', file.name) // this.$message.error('支持扩展名:.zip格式!')
param.append('version', this.formItem.version) // return false
param.append('versionContent', this.formItem.versionContent)
param.append('updateContent', this.formItem.updateContent)
})
_this.$emit("refreshFn");
_this.formVisible = false;
// _this.$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(param)
// ).then(res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.formVisible = false;
// _this.$refs["formItem"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// } // }
// ); // const param = new FormData()
// this.fileList.forEach(file => {
// param.append('file', file.raw) // 此处一定是append file.raw 上传文件只需维护fileList file.raw.name要加上
// param.append('fileName', file.name)
// param.append('appVersion', this.formItem.appVersion)
// param.append('versionInfo', this.formItem.versionInfo)
// param.append('updateContent', this.formItem.updateContent)
// })
// _this.$emit("refreshFn");
// _this.formVisible = false;
_this.$https(
{
url: "tAppVersion/save",
method: "post",
authType: this.backToken
},
_this.$qs.stringify(param)
).then(res => {
if (res.data.resultCode === '200') {
_this.$message({
type: "success",
message: res.data.message
});
_this.formVisible = false;
_this.$emit("refreshFn");
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
} }
}); });
}, },
......
...@@ -13,28 +13,27 @@ ...@@ -13,28 +13,27 @@
ref="formItem" ref="formItem"
label-width="180px" label-width="180px"
label-position="right" label-position="right"
:rules="rules"
> >
<el-form-item label="上传时间:" prop="uploadTime"> <el-form-item label="上传时间:" prop="createTime">
<el-input size="small" v-model="formItem.uploadTime" disabled></el-input> <el-input size="small" v-model="formItem.createTime" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="操作者:" prop="name"> <el-form-item label="操作者:" prop="userName">
<el-input size="small" v-model="formItem.name" disabled></el-input> <el-input size="small" v-model="formItem.userName" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否为当前使用版本:" prop="isNew"> <el-form-item label="是否为当前使用版本:">
<el-input size="small" v-model="formItem.isNew" disabled></el-input> <el-input size="small" :value="formItem.isCurrent?'是':'否'" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="版本信息:" prop="version"> <el-form-item label="版本信息:" prop="versionInfo">
<el-input type="textarea" size="small" v-model="formItem.version" disabled></el-input> <el-input type="textarea" size="small" v-model="formItem.versionInfo" disabled></el-input>
</el-form-item> </el-form-item>
<el-form-item label="更新内容:" prop="newContent"> <el-form-item label="更新内容:" prop="updateLog">
<el-input type="textarea" size="small" v-model="formItem.newContent" disabled></el-input> <el-input type="textarea" size="small" v-model="formItem.updateLog" disabled></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
</div>
<div slot="footer" class="dialog-footer btn-group"> <div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close()">确定</el-button> <el-button size="mini" type="primary" @click="close()">确定</el-button>
</div> </div>
</div>
</el-dialog> </el-dialog>
</template> </template>
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker> ></el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -30,27 +31,28 @@ ...@@ -30,27 +31,28 @@
<div class="party-table"> <div class="party-table">
<el-table border style="width: 100%;height:100%" height="100%" :data="tableData"> <el-table border style="width: 100%;height:100%" height="100%" :data="tableData">
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="app版本号" prop="version"></el-table-column> <el-table-column label="app版本号" prop="appVersion"></el-table-column>
<el-table-column label="是否为最新版本" prop="isNew"></el-table-column> <el-table-column label="是否为最新版本">
<el-table-column label="上传时间" prop="uploadTime"></el-table-column> <template slot-scope="scope">
<el-table-column label="操作者" prop="name"></el-table-column> <span>{{scope.row.isCurrent?'是':'否'}}</span>
</template>
</el-table-column>
<el-table-column label="上传时间" prop="createTime"></el-table-column>
<el-table-column label="操作者" prop="userName"></el-table-column>
<el-table-column label="操作" header-align="center" align="center"> <el-table-column label="操作" header-align="center" align="center">
<template slot-scope="scope" width="220"> <template slot-scope="scope" width="220">
<el-button-group> <div class="table-btn-group">
<el-button <el-tooltip content="详情" placement="top">
title="详情" <el-button circle @click="handleDetail(scope.row)">
size="mini" <i class="icon-table icon-detail"></i>
type="text" </el-button>
@click="handleDetail(scope.row)" </el-tooltip>
>详情&nbsp;&nbsp;</el-button> <el-tooltip content="启用" placement="top">
<el-button <el-button circle @click="ableBtn(scope.row)">
title="激活" <i class="icon-table icon-enable"></i>
type="text" </el-button>
size="mini" </el-tooltip>
@click="ableBtn(scope.row)" </div>
>启用&nbsp;&nbsp;</el-button>
</el-button-group>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -76,29 +78,17 @@ import { addDialog , detailDialog } from "./components/index"; ...@@ -76,29 +78,17 @@ import { addDialog , detailDialog } from "./components/index";
export default { export default {
data() { data() {
return { return {
page: { currentPage: 1, pageSize: 10, total: 4 }, page: { currentPage: 1, pageSize: 10, total: 0 },
form: { form: {
dateRange: [] dateRange: []
}, },
tableData: [ tableData: []
// 序号 app版本号 是否为最新版本 上传时间 操作者 操作
{
uploadTime: "2016-05-02",
name: "王小虎",
version: "V1.0.0",
isNew: "是"
},
{
uploadTime: "2016-05-02",
name: "王小虎",
version: "V1.0.0",
isNew: "是"
}
]
}; };
}, },
components: { partyPagination ,addDialog ,detailDialog}, components: { partyPagination ,addDialog ,detailDialog},
mounted() {}, mounted() {
this.onSearch()
},
methods: { methods: {
// 查询 // 查询
onSearch() { onSearch() {
...@@ -116,7 +106,7 @@ export default { ...@@ -116,7 +106,7 @@ export default {
}; };
vm.$https( vm.$https(
{ {
url: "interaction/getList", url: "tAppVersion/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
...@@ -144,7 +134,7 @@ export default { ...@@ -144,7 +134,7 @@ export default {
this.$refs.detailDialog.backFn(item) this.$refs.detailDialog.backFn(item)
}, },
// 启用 // 启用
ableBtn(row, str) { ableBtn(row) {
const _this = this; const _this = this;
this.$confirm("确定要设置为最新版本?", "提示", { this.$confirm("确定要设置为最新版本?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
...@@ -153,13 +143,39 @@ export default { ...@@ -153,13 +143,39 @@ export default {
center: true center: true
}) })
.then(() => { .then(() => {
// 请求接口 // 请求接口 tAppVersion/update
this.$message.success("操作成功") this.updateVersion(row)
}) })
.catch(() => { .catch(() => {
this.$message("已取消") this.$message("已取消")
}); });
}, },
updateVersion(row){
let vm = this;
let param = {
id: row.id,
isCurrent:1
};
vm.$https(
{
url: "tAppVersion/update",
method: "put",
authType: this.backToken
},
vm.$qs.stringify(param)
)
.then(res => {
if(res.data.resultCode==='200'){
this.$message.success("操作成功")
this.onSearch()
}else{
this.$message({type:'error',message:res.data.message})
}
})
.catch(function(err) {
console.log(err);
});
},
handleReset() { handleReset() {
this.form = {}; this.form = {};
}, },
......
...@@ -15,83 +15,60 @@ ...@@ -15,83 +15,60 @@
label-position="right" label-position="right"
:rules="rules" :rules="rules"
> >
<el-form-item label="所属单位:" prop="unit"> <el-form-item label="所属单位:" prop="orgId">
<el-select <el-select
size="small" size="small"
v-model="formItem.unit" v-model="formItem.orgId"
clearable clearable
placeholder="请选择所属单位" placeholder="请选择所属单位"
@change="selectItem" @change="selectItem"
> >
<el-option <el-option
v-for="item in unitOptions" v-for="item in orgOptions"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="机构地理位置:" prop="address"> <el-form-item label="机构地理位置:" prop="areaName">
<el-input size="small" v-model="formItem.address" disabled></el-input> <el-input size="small" v-model="formItem.areaName" disabled></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="submitForm('formItem')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div> </div>
<div slot="footer" class="dialog-footer btn-group">
<el-button type="primary" @click="submitForm('formItem')">确定</el-button>
<el-button @click="close">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return { return {
title:'', title:'',
formVisible: false, formVisible: false,
formItem: {}, formItem: {},
unitOptions: [ orgOptions: [],
{
value: "1",
label: "黄金糕"
},
{
value: "2",
label: "双皮奶"
},
{
value: "3",
label: "蚵仔煎"
},
{
value: "4",
label: "龙须面"
},
{
value: "5",
label: "北京烤鸭"
}
],
rules: { rules: {
unit: [{ required: true, message: "请选择所属单位", trigger: "change" }] orgId: [{ required: true, message: "请选择所属单位", trigger: "change" }]
} }
}; };
}, },
mounted(){
},
methods: { methods: {
backFn(item) { backFn(item) {
this.formVisible = true; this.formVisible = true;
this.$nextTick(()=>{ this.$nextTick(()=>{
this.$refs.formItem.clearValidate(); this.$refs.formItem.clearValidate();
}) })
if (item) {
// 编辑
this.formItem = item;
this.title="编辑"
} else {
// 新增 // 新增
this.orgOptions = item
this.title="新增" this.title="新增"
this.formItem = {}; this.formItem = {};
}
}, },
// 关闭 // 关闭
...@@ -104,11 +81,22 @@ export default { ...@@ -104,11 +81,22 @@ export default {
}, },
// 联动出地址 // 联动出地址
selectItem(val) { selectItem(val) {
this.formItem.address = val; this.orgOptions.forEach(item=>{
if(val===item.id){
this.formItem.areaName = item.areaName;
this.formItem.areaId = item.areaId;
}
if(item.id===this.formItem.orgId){
this.formItem.userName = item.name
}
})
}, },
// 保存编辑信息 // 保存编辑信息
submitForm() { submitForm() {
let _this = this; let _this = this;
console.log(this.formItem)
_this.$refs.formItem.validate(valid => { _this.$refs.formItem.validate(valid => {
if (valid) { if (valid) {
let searchObj = {}; let searchObj = {};
...@@ -117,37 +105,34 @@ export default { ...@@ -117,37 +105,34 @@ export default {
searchObj[key] = _this.formItem[key]; searchObj[key] = _this.formItem[key];
} }
} }
_this.$emit("refreshFn"); _this.$https({
url: "tUser/boxAdd",
method: "post",
authType: this.backToken
},
_this.$qs.stringify(searchObj)
).then(res => {
if (res.data.resultCode == '200') {
_this.$message({
type: "success",
message: res.data.message
});
_this.formVisible = false; _this.formVisible = false;
// _this.$https( _this.$emit("refreshFn");
// { } else {
// url: "menu/edit", _this.$message({
// method: "put", type: "error",
// authType: this.backToken message: res.data.message
// }, });
// _this.$qs.stringify(searchObj) }
// ).then(res => { },
// if (res.data.status == 200 || res.data.status == 201) { error => {
// _this.$message({ _this.$message({
// type: "success", type: "error",
// message: res.data.message message: error
// }); });
// _this.formVisible = false; }
// _this.$refs["formItem"].resetFields(); );
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
} }
}); });
} }
......
...@@ -3,18 +3,18 @@ ...@@ -3,18 +3,18 @@
<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.unit" placeholder="请选择所属单位"> <el-select v-model="form.orgId" placeholder="请选择所属单位">
<el-option <el-option
v-for="item in unitOptions" v-for="item in orgOptions"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-cascader <el-cascader
v-model="form.area" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" :show-all-levels="false"
...@@ -39,11 +39,20 @@ ...@@ -39,11 +39,20 @@
<div class="party-table"> <div class="party-table">
<el-table border style="width: 100%;height:100%" height="100%" :data="tableData"> <el-table border style="width: 100%;height:100%" height="100%" :data="tableData">
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="MAC地址" prop="macUrl"></el-table-column> <el-table-column label="MAC地址" prop="mac"></el-table-column>
<el-table-column label="所属单位" prop="unit"></el-table-column> <el-table-column label="所属单位" prop="organName"></el-table-column>
</el-table> </el-table>
</div> </div>
<party-pagination /> <div class="partyt-pagination" style="margin:0 20px;">
<el-pagination
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>
<custom-dialog ref="formItem" @refreshFn="onSearch" /> <custom-dialog ref="formItem" @refreshFn="onSearch" />
</div> </div>
...@@ -52,6 +61,7 @@ ...@@ -52,6 +61,7 @@
import { partyPagination } from "@/components/index"; import { partyPagination } from "@/components/index";
import customDialog from "./components/dialog.vue"; import customDialog from "./components/dialog.vue";
import { getAreas } from "@/config/area.js"; import { getAreas } from "@/config/area.js";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default { export default {
components: { partyPagination, customDialog }, components: { partyPagination, customDialog },
data() { data() {
...@@ -63,186 +73,27 @@ export default { ...@@ -63,186 +73,27 @@ export default {
value: "id", value: "id",
checkStrictly: true checkStrictly: true
}, },
unitOptions: [ orgOptions: [],
{
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
form: { form: {
unit: "", orgId: "",
area: [] areaId: []
},
tableData: [
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
}, },
{ tableData: []
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
}
]
}; };
}, },
mounted() { mounted() {
this.getAreas(); this.getAreas();
// this.onSearch(); this.onSearch();
this.getOrgList();
}, },
methods: { methods: {
getOrgList(){
getOrgListWithOutPage().then(res => {
console.log(res)
this.orgOptions = res;
});
},
getAreas() { getAreas() {
getAreas().then(res => { getAreas().then(res => {
this.areaOptions = res; this.areaOptions = res;
...@@ -259,21 +110,22 @@ export default { ...@@ -259,21 +110,22 @@ export default {
let param = { let param = {
_index: this.page.currentPage, _index: this.page.currentPage,
_size: this.page.pageSize, _size: this.page.pageSize,
orgId: this.selectAreaId areaId: this.form.areaId[this.form.areaId.length-1],
organId: this.form.orgId,
}; };
vm.$https( vm.$https(
{ {
url: "interaction/getList", url: "boxOperation/selectPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
) )
.then(res => { .then(res => {
console.log(res.data.body); console.log(res.data.data);
let data = res.data.body; let data = res.data.data;
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);
...@@ -282,10 +134,14 @@ export default { ...@@ -282,10 +134,14 @@ export default {
// 新增弹框打开 // 新增弹框打开
addBox() { addBox() {
console.log(this.$refs.formItem); console.log(this.$refs.formItem);
this.$refs.formItem.backFn(); this.$refs.formItem.backFn(this.orgOptions);
}, },
handleReset() { handleReset() {
this.form = {}; this.form = {
orgId: "",
areaId: []
};
this.onSearch()
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
......
...@@ -3,19 +3,19 @@ ...@@ -3,19 +3,19 @@
<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.unit" placeholder="请选择所属单位"> <el-select v-model="form.orgId" placeholder="请选择所属单位">
<el-option <el-option
v-for="item in unitOptions" v-for="item in orgOptions"
:key="item.value" :key="item.id"
:label="item.label" :label="item.name"
:value="item.value" :value="item.id"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-select v-model="form.state" placeholder="请选择机顶盒状态"> <el-select v-model="form.status" placeholder="请选择机顶盒状态">
<el-option <el-option
v-for="item in stateOptions" v-for="item in statusOptions"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-cascader <el-cascader
v-model="form.area" v-model="form.areaId"
:options="areaOptions" :options="areaOptions"
:props="defaultProps" :props="defaultProps"
:show-all-levels="false" :show-all-levels="false"
...@@ -46,18 +46,33 @@ ...@@ -46,18 +46,33 @@
<div class="party-table"> <div class="party-table">
<el-table border style="width: 100%;height:100%" height="100%" :data="tableData"> <el-table border style="width: 100%;height:100%" height="100%" :data="tableData">
<el-table-column type="index" width="120" label="序号"></el-table-column> <el-table-column type="index" width="120" label="序号"></el-table-column>
<el-table-column label="mac地址" prop="macUrl"></el-table-column> <el-table-column label="mac地址" prop="mac"></el-table-column>
<el-table-column label="所属单位" prop="unit"></el-table-column> <el-table-column label="所属单位" prop="organName"></el-table-column>
<el-table-column label="机顶盒状态" prop="state"></el-table-column> <el-table-column label="机顶盒状态" prop="status">
<template slot-scope="scope">
<span v-if="scope.row.status===1">待激活</span>
<span v-if="scope.row.status===2">已激活</span>
<span v-if="scope.row.status===3">故障</span>
</template>
</el-table-column>
</el-table> </el-table>
</div> </div>
<party-pagination /> <div class="partyt-pagination" style="margin:0 20px;">
<el-pagination
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 { partyPagination } from "@/components/index";
import { getAreas } from "@/config/area.js"; import { getAreas } from "@/config/area.js";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default { export default {
data() { data() {
return { return {
...@@ -68,199 +83,33 @@ export default { ...@@ -68,199 +83,33 @@ export default {
value: "id", value: "id",
checkStrictly: true, checkStrictly: true,
}, },
unitOptions: [ orgOptions: [],
{ statusOptions: [
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
stateOptions: [
{ {
value: "1", value: "1",
label: "待激活" label: "待激活"
}, },
{ {
value: "2", value: "2",
label: "禁用" label: "已激活"
}, },
{ {
value: "3", value: "3",
label: "启用" label: "故障"
} }
], ],
form: { form: {
unit: "", orgId: "",
state: "", status: "",
area: [] areaId: []
},
tableData: [
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
}, },
{ tableData:[]
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
},
{
unit: "中国博物馆",
state: "禁用",
name: "王小虎",
macUrl: "00:71:cc:d3:11"
}
]
}; };
}, },
components: { partyPagination },
mounted() { mounted() {
this.getAreas(); this.getAreas();
// this.onSearch(); this.onSearch();
this.getOrgList()
}, },
methods: { methods: {
getAreas() { getAreas() {
...@@ -268,6 +117,11 @@ export default { ...@@ -268,6 +117,11 @@ export default {
this.areaOptions = res; this.areaOptions = res;
}); });
}, },
getOrgList(){
getOrgListWithOutPage().then(res => {
this.orgOptions = res;
});
},
// 查询 // 查询
onSearch() { onSearch() {
this.page.currentPage = 1; this.page.currentPage = 1;
...@@ -279,28 +133,34 @@ export default { ...@@ -279,28 +133,34 @@ export default {
let param = { let param = {
_index: this.page.currentPage, _index: this.page.currentPage,
_size: this.page.pageSize, _size: this.page.pageSize,
orgId: this.selectAreaId areaId: this.form.areaId[this.form.areaId.length-1],
organId: this.form.orgId,
status: this.form.status,
}; };
vm.$https( vm.$https(
{ {
url: "interaction/getList", url: "boxOperation/getPageList",
method: "post", method: "post",
authType: this.backToken authType: this.backToken
}, },
vm.$qs.stringify(param) vm.$qs.stringify(param)
) )
.then(res => { .then(res => {
console.log(res.data.body); let data = res.data.data;
let data = res.data.body;
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);
}); });
}, },
handleReset() { handleReset() {
this.form = {}; this.form = {
orgId: "",
status: "",
areaId: []
};
this.onSearch()
}, },
// 分页 // 分页
handleCurrentChange(val) { handleCurrentChange(val) {
......
This diff is collapsed.
import rejectDialog from './reject'
export {
rejectDialog
}
\ 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"
:rules="rules"
label-width="80px"
label-position="top"
class="party-form"
>
<el-form-item label="请填写驳回原因" prop="remarks">
<el-input
v-model="form.remarks"
placeholder="请填写"
type="textarea"
></el-input>
</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>
export default {
data() {
return {
dialogVisible: false,
form: {
status: 2,
content: "",
type: 3, //0,看板;1 视频;2 学习内容;3 账号禁用
},
rules: {
content: [
{ required: true, message: "请填写驳回原因", trigger: "change" },
],
},
};
},
mounted() {},
methods: {
// 弹窗关闭
handleClose() {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset();
})
.catch((_) => {});
},
handleReset() {
this.dialogVisible = false;
this.$refs.form.resetFields();
this.form = {
remarks: "",
type: "ACCOUNT",
};
},
// 提交
handleSubmit() {
// 校验用户输入值
let _this = this;
this.$refs.form.validate((valid) => {
if (valid) {
this.$https(
{
method: "put",
url: "audit/update",
authType: this.backToken,
},
_this.form
)
.then((res) => {
this.handleReset();
if (res.status == 200) {
if (res.data.resultCode == 200) {
this.$message({
type: "success",
message: res.data.message,
});
this.$emit("success", true);
} else {
this.$message.error(res.data.message);
}
} else {
this.$message.error(res.data);
}
})
.catch((err) => {
console.log(err);
});
} 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
...@@ -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,34 @@ ...@@ -29,18 +29,34 @@
</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 || scope.row.statusName == '待审核' "
@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>
<el-tooltip content="审核详情" placement="top">
<el-button
circle
@click="handleOperate(scope.row,'examine')">
<i class="icon-table icon-detail"></i>
</el-button>
</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 +64,7 @@ ...@@ -48,6 +64,7 @@
</div> </div>
</template> </template>
<script> <script>
// status 1 启用 2 禁用
export default { export default {
data(){ data(){
return { return {
...@@ -68,8 +85,45 @@ export default { ...@@ -68,8 +85,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",
{ {
......
This diff is collapsed.
<template>
<div class="party-table">
<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
align="center"
v-for="(item, index) in feildList"
:key="index"
:prop="item.prop"
:label="item.label"
:width="item.width"
>
<template slot-scope="scope">
<div v-if="item.isEdit" class="table-btn-group">
<el-tooltip content="修改" placement="top" v-if="userId === scope.row.id">
<el-button circle @click="handleOperate(scope.row, 'edit')" >
<i class="icon-table icon-edit"></i>
</el-button>
</el-tooltip>
<el-tooltip content="查看" placement="top" v-else>
<el-button circle @click="handleOperate(scope.row, 'detail')">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
</div>
<div v-else>
<span v-if="item.prop === 'type'">
{{ scope.row[item.prop] | accoutType }}
</span>
<span v-else>{{ scope.row[item.prop] }}</span>
</div>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
userId:localStorage.getItem('userId') || "1375705092221669378"
};
},
props: {
currentPage: {
type: Number,
default: 1,
},
list: {
type: Array,
default: () => {
return [];
},
},
feildList: {
type: Array,
default: () => {
return [];
},
},
},
methods: {
handleOperate(row, type) {
this.handlEmitMsg(row, type);
},
handlEmitMsg(row, type) {
this.$emit("action", {
row: row,
type: type,
});
},
},
};
</script>
<style lang="less">
@import "../../../style/table.less";
</style>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
import editDialog from './edit'
export {
editDialog
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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