Commit aa1aa971 authored by qzhxx's avatar qzhxx

’学习

parents f8825706 d345d0ed
......@@ -13,3 +13,4 @@ yarn-error.log*
*.ntvs*
*.njsproj
*.sln
package-lock.json
\ No newline at end of file
......@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>虚拟营业厅</title>
<title>中国国家博物馆建党百年展点播院线服务平台</title>
</head>
<body>
<div id="app"></div>
......
This diff is collapsed.
......@@ -23,7 +23,9 @@
"qs": "^6.5.2",
"qs-stringify": "^1.1.0",
"video.js": "^7.11.4",
"swiper": "^5.4.5",
"vue": "^2.5.2",
"vue-awesome-swiper": "^4.1.1",
"vue-qr": "^1.5.2",
"vue-router": "^3.0.1",
"vuex": "^3.0.1",
......
<template>
<div id="app">
<top-bar></top-bar>
<top-bar v-if="!$route.meta.noShowbar"></top-bar>
<breadcrumb v-if="$route.meta.showBreadcrumb"></breadcrumb>
<!-- <div :class="'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 @@
<div class="partyt-pagination">
<el-pagination
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size=pageSize
:current-page.sync="page._index"
:page-size="page._size"
layout="prev, pager, next, jumper"
:total="total">
:total="page.total">
</el-pagination>
</div>
</template>
......@@ -17,18 +17,18 @@ export default {
}
},
props:{
total:{
type:Number,
default:500
},
pageSize:{
type:Number,
default:20
page:{
type: Object,
default:{
_index:1,
_size:10,
total:0
}
}
},
methods:{
handleCurrentChange(val){
console.log('currentPage' + val + '页')
this.$emit('changePage',val)
}
}
}
......
<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"
......@@ -19,6 +27,10 @@ export default {
}
},
props:{
currentPage:{
type:Number,
default:1
},
list:{
type:Array,
default:()=>{return []}
......
<template>
<div class="top-bar">
<div class="top-bar">
<div class="top-bar-left">
<div class="logo"></div>
<span class="title f24">中国国家博物馆建党百年展点播院线服务平台</span>
<div class="logo"></div>
<span class="title f24">中国国家博物馆建党百年展点播院线服务平台</span>
</div>
<div class="top-bar-right">
<div class="avatar"></div>
<div class="user-name f16 ">{{userName}}</div>
<div class="line"></div>
<div class="login-out"></div>
<!-- <div class="avatar"></div> -->
<div class="user-name f16">Hello, {{ userName }}</div>
<div class="line"></div>
<div class="login-out" @click="logout()"></div>
</div>
</div>
</div>
</template>
<script>
export default{
data() {
return{
userName:'admin,北京市政府'
}
export default {
data() {
return {
userName: localStorage.getItem("user"),
};
},
mounted() {},
methods: {
logout() {
this.$confirm("确认退出吗?")
.then((_) => {
this.handleLogout();
})
.catch((_) => {});
},
mounted(){
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);
});
},
methods:{
}
}
},
};
</script>
<style lang="less" scoped>
.top-bar{
background-color: @party-red;
width: 100%;
height: 76px;
line-height: 76px;
padding:0 30px;
overflow:hidden;
.top-bar-left{
float: left;
.logo{
width: 46px;
height: 36px;
display: inline-block;
vertical-align: middle;
background-color: pink;
}
.title{
color: @party-white;
vertical-align: middle;
padding-left: 16px;
}
.top-bar {
background-color: @party-red;
width: 100%;
height: 76px;
line-height: 76px;
padding: 0 30px;
overflow: hidden;
.top-bar-left {
float: left;
.logo {
width: 46px;
height: 36px;
display: inline-block;
vertical-align: middle;
background: url("~@/assets/login/logo.png") no-repeat center/100% 100%;
}
.title {
color: @party-white;
vertical-align: middle;
padding-left: 16px;
}
}
.top-bar-right {
float: right;
> * {
display: inline-block;
vertical-align: middle;
}
.avatar {
width: 36px;
height: 36px;
border-radius: 50%;
background-color: pink;
}
.user-name {
font-size: 16px;
line-height: 16px;
color: @party-white;
}
.line {
width: 2px;
height: 18px;
background-color: @party-white;
margin: 0 15px;
}
.top-bar-right{
float: right;
> *{
display: inline-block;
vertical-align: middle;
}
.avatar{
width: 36px;
height: 36px;
border-radius: 50%;
background-color: pink;
}
.user-name{
font-size: 16px;
line-height: 16px;
color: @party-white;
}
.line{
width: 2px;
height: 18px;
background-color: @party-white;
margin: 0 15px;
}
.login-out{
width: 20px;
height: 20px;
background-color: pink;
}
.login-out {
width: 20px;
height: 20px;
background: url("~@/assets/login/logout.png") no-repeat center/100% 100%;
cursor: pointer;
}
}
}
</style>
......@@ -89,7 +89,7 @@ const httpServer = (opts,data,file,timeout)=>{
// Authorization
if(opts.authType==="back"){
//authToken=localStorage.getItem('backToken');
authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNjU5MDE3NiwiaWF0IjoxNjE2NTc1Nzc2fQ.BT7bv2fmz_mS10nhoeW8_z17MSRY0MQNta-0ozhUMkuqFC2bed88yc2xoolyMEN7DYSVUOCFvDJrwmi8NwgDgQ"
authToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsInVzZXJfaWQiOiIxIiwiaXNzIjoiSUFUQSIsImV4cCI6MTYxNzAzMzM3NSwiaWF0IjoxNjE3MDE4OTc1fQ.NN7nF9aOGJIVZm-8x0uVz00S--YbETfkC1Ifu9R4PbnNPvObhDYlY_u2oxiq2dEkjkJ4sQWy5o2X-fTNaIvnIQ"
}else if(opts.authType==="front"){
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
This diff is collapsed.
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 @@
label-position="right"
:rules="rules"
>
<el-form-item label="版本号1:" prop="version">
<el-input size="small" v-model="formItem.version" clearable placeholder="请输入版本号"></el-input>
<el-form-item label="版本号:" prop="appVersion">
<el-input size="small" v-model="formItem.appVersion" clearable placeholder="请输入版本号"></el-input>
</el-form-item>
<el-form-item label="版本信息:" prop="versionContent">
<el-input type="textarea" size="small" v-model="formItem.versionContent"></el-input>
<el-form-item label="版本信息:" prop="versionInfo">
<el-input type="textarea" size="small" v-model="formItem.versionInfo"></el-input>
</el-form-item>
<el-form-item label="更新内容:" prop="updateContent">
<el-input type="textarea" size="small" v-model="formItem.updateContent"></el-input>
......@@ -28,19 +28,18 @@
<el-upload
class="text-center"
drag
action="#"
:auto-upload="false"
:on-change="onChange"
action="http://192.168.110.67/mall/file/upload/allType"
:on-success="handleAvatarSuccess"
:file-list="fileList">
<i class="el-icon-upload"></i>
<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-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 size="mini" type="primary" @click="submitForm('formItem')">确定</el-button>
<el-button size="mini" @click="close">取 消</el-button>
</div>
</el-dialog>
</template>
......@@ -53,10 +52,10 @@ export default {
formItem: {},
fileList:[],
rules: {
version: [
appVersion: [
{ required: true, message: "请输入版本号", trigger: "blur" }
],
versionContent: [{ required: true, message: "请输入版本信息", trigger: "blur" }],
versionInfo: [{ required: true, message: "请输入版本信息", trigger: "blur" }],
updateContent: [{ required: true, message: "请输入更新内容", trigger: "blur" }]
}
};
......@@ -78,66 +77,73 @@ export default {
this.$refs["formItem"].resetFields();
},
// 上传数据操作
onChange(file, fileList) {
this.fileList = fileList
handleAvatarSuccess(res, file) {
this.formItem.apkUrl = res.url
},
// 保存编辑信息
submitForm() {
let _this = this;
console.log(this.formItem)
_this.$refs.formItem.validate(valid => {
if (valid) {
if (!this.fileList.length) {
if (!this.formItem.apkUrl) {
this.$message.info('请先选取文件!')
return false
}
const fileType = this.fileList.every(item => {
console.log(item.raw.type)
return item.raw.type === 'application/zip'
})
if (!fileType) {
this.$message.error('支持扩展名:.zip格式!')
return false
}
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('version', this.formItem.version)
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
// });
// }
// );
let param = {
appVersion: this.formItem.appVersion,
versionInfo: this.formItem.versionInfo,
updateContent: this.formItem.updateContent ,
apkUrl: this.formItem.apkUrl ,
};
// const fileType = this.fileList.every(item => {
// console.log(item.raw.type)
// return item.raw.type === 'application/zip'
// })
// if (!fileType) {
// this.$message.error('支持扩展名:.zip格式!')
// return false
// }
// 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,27 +13,26 @@
ref="formItem"
label-width="180px"
label-position="right"
:rules="rules"
>
<el-form-item label="上传时间:" prop="uploadTime">
<el-input size="small" v-model="formItem.uploadTime" disabled></el-input>
<el-form-item label="上传时间:" prop="createTime">
<el-input size="small" v-model="formItem.createTime" disabled></el-input>
</el-form-item>
<el-form-item label="操作者:" prop="name">
<el-input size="small" v-model="formItem.name" disabled></el-input>
<el-form-item label="操作者:" prop="userName">
<el-input size="small" v-model="formItem.userName" disabled></el-input>
</el-form-item>
<el-form-item label="是否为当前使用版本:" prop="isNew">
<el-input size="small" v-model="formItem.isNew" disabled></el-input>
<el-form-item label="是否为当前使用版本:">
<el-input size="small" :value="formItem.isCurrent?'是':'否'" disabled></el-input>
</el-form-item>
<el-form-item label="版本信息:" prop="version">
<el-input type="textarea" size="small" v-model="formItem.version" disabled></el-input>
<el-form-item label="版本信息:" prop="versionInfo">
<el-input type="textarea" size="small" v-model="formItem.versionInfo" disabled></el-input>
</el-form-item>
<el-form-item label="更新内容:" prop="newContent">
<el-input type="textarea" size="small" v-model="formItem.newContent" disabled></el-input>
<el-form-item label="更新内容:" prop="updateLog">
<el-input type="textarea" size="small" v-model="formItem.updateLog" disabled></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close()">确定</el-button>
</div>
</div>
<div slot="footer" class="dialog-footer btn-group">
<el-button size="mini" type="primary" @click="close()">确定</el-button>
</div>
</el-dialog>
</template>
......
......@@ -9,6 +9,7 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item>
......@@ -30,27 +31,28 @@
<div class="party-table">
<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 label="app版本号" prop="version"></el-table-column>
<el-table-column label="是否为最新版本" prop="isNew"></el-table-column>
<el-table-column label="上传时间" prop="uploadTime"></el-table-column>
<el-table-column label="操作者" prop="name"></el-table-column>
<el-table-column label="app版本号" prop="appVersion"></el-table-column>
<el-table-column label="是否为最新版本">
<template slot-scope="scope">
<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">
<template slot-scope="scope" width="220">
<el-button-group>
<el-button
title="详情"
size="mini"
type="text"
@click="handleDetail(scope.row)"
>详情&nbsp;&nbsp;</el-button>
<el-button
title="激活"
type="text"
size="mini"
@click="ableBtn(scope.row)"
>启用&nbsp;&nbsp;</el-button>
</el-button-group>
<div class="table-btn-group">
<el-tooltip content="详情" placement="top">
<el-button circle @click="handleDetail(scope.row)">
<i class="icon-table icon-detail"></i>
</el-button>
</el-tooltip>
<el-tooltip content="启用" placement="top">
<el-button circle @click="ableBtn(scope.row)">
<i class="icon-table icon-enable"></i>
</el-button>
</el-tooltip>
</div>
</template>
</el-table-column>
</el-table>
......@@ -76,29 +78,17 @@ import { addDialog , detailDialog } from "./components/index";
export default {
data() {
return {
page: { currentPage: 1, pageSize: 10, total: 4 },
page: { currentPage: 1, pageSize: 10, total: 0 },
form: {
dateRange: []
},
tableData: [
// 序号 app版本号 是否为最新版本 上传时间 操作者 操作
{
uploadTime: "2016-05-02",
name: "王小虎",
version: "V1.0.0",
isNew: "是"
},
{
uploadTime: "2016-05-02",
name: "王小虎",
version: "V1.0.0",
isNew: "是"
}
]
tableData: []
};
},
components: { partyPagination ,addDialog ,detailDialog},
mounted() {},
mounted() {
this.onSearch()
},
methods: {
// 查询
onSearch() {
......@@ -116,7 +106,7 @@ export default {
};
vm.$https(
{
url: "interaction/getList",
url: "tAppVersion/getPageList",
method: "post",
authType: this.backToken
},
......@@ -144,7 +134,7 @@ export default {
this.$refs.detailDialog.backFn(item)
},
// 启用
ableBtn(row, str) {
ableBtn(row) {
const _this = this;
this.$confirm("确定要设置为最新版本?", "提示", {
confirmButtonText: "确定",
......@@ -153,13 +143,39 @@ export default {
center: true
})
.then(() => {
// 请求接口
this.$message.success("操作成功")
// 请求接口 tAppVersion/update
this.updateVersion(row)
})
.catch(() => {
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() {
this.form = {};
},
......
......@@ -15,83 +15,60 @@
label-position="right"
:rules="rules"
>
<el-form-item label="所属单位:" prop="unit">
<el-form-item label="所属单位:" prop="orgId">
<el-select
size="small"
v-model="formItem.unit"
v-model="formItem.orgId"
clearable
placeholder="请选择所属单位"
@change="selectItem"
>
<el-option
v-for="item in unitOptions"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in orgOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="机构地理位置:" prop="address">
<el-input size="small" v-model="formItem.address" disabled></el-input>
<el-form-item label="机构地理位置:" prop="areaName">
<el-input size="small" v-model="formItem.areaName" disabled></el-input>
</el-form-item>
</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>
</el-dialog>
</template>
<script>
export default {
data() {
return {
title:'',
formVisible: false,
formItem: {},
unitOptions: [
{
value: "1",
label: "黄金糕"
},
{
value: "2",
label: "双皮奶"
},
{
value: "3",
label: "蚵仔煎"
},
{
value: "4",
label: "龙须面"
},
{
value: "5",
label: "北京烤鸭"
}
],
orgOptions: [],
rules: {
unit: [{ required: true, message: "请选择所属单位", trigger: "change" }]
orgId: [{ required: true, message: "请选择所属单位", trigger: "change" }]
}
};
},
mounted(){
},
methods: {
backFn(item) {
this.formVisible = true;
this.$nextTick(()=>{
this.$refs.formItem.clearValidate();
})
if (item) {
// 编辑
this.formItem = item;
this.title="编辑"
} else {
// 新增
this.title="新增"
this.formItem = {};
}
// 新增
this.orgOptions = item
this.title="新增"
this.formItem = {};
},
// 关闭
......@@ -104,11 +81,22 @@ export default {
},
// 联动出地址
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() {
let _this = this;
console.log(this.formItem)
_this.$refs.formItem.validate(valid => {
if (valid) {
let searchObj = {};
......@@ -117,37 +105,34 @@ export default {
searchObj[key] = _this.formItem[key];
}
}
_this.$emit("refreshFn");
_this.formVisible = false;
// _this.$https(
// {
// url: "menu/edit",
// method: "put",
// authType: this.backToken
// },
// _this.$qs.stringify(searchObj)
// ).then(res => {
// if (res.data.status == 200 || res.data.status == 201) {
// _this.$message({
// type: "success",
// message: res.data.message
// });
// _this.formVisible = false;
// _this.$refs["formItem"].resetFields();
// } else {
// _this.$message({
// type: "error",
// message: res.data.message
// });
// }
// },
// error => {
// _this.$message({
// type: "error",
// message: error
// });
// }
// );
_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.$emit("refreshFn");
} else {
_this.$message({
type: "error",
message: res.data.message
});
}
},
error => {
_this.$message({
type: "error",
message: error
});
}
);
}
});
}
......
......@@ -3,18 +3,18 @@
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.unit" placeholder="请选择所属单位">
<el-select v-model="form.orgId" placeholder="请选择所属单位">
<el-option
v-for="item in unitOptions"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in orgOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-cascader
v-model="form.area"
v-model="form.areaId"
:options="areaOptions"
:props="defaultProps"
:show-all-levels="false"
......@@ -39,11 +39,20 @@
<div class="party-table">
<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 label="MAC地址" prop="macUrl"></el-table-column>
<el-table-column label="所属单位" prop="unit"></el-table-column>
<el-table-column label="MAC地址" prop="mac"></el-table-column>
<el-table-column label="所属单位" prop="organName"></el-table-column>
</el-table>
</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>
<custom-dialog ref="formItem" @refreshFn="onSearch" />
</div>
......@@ -52,6 +61,7 @@
import { partyPagination } from "@/components/index";
import customDialog from "./components/dialog.vue";
import { getAreas } from "@/config/area.js";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default {
components: { partyPagination, customDialog },
data() {
......@@ -63,186 +73,27 @@ export default {
value: "id",
checkStrictly: true
},
unitOptions: [
{
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
orgOptions: [],
form: {
unit: "",
area: []
orgId: "",
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"
},
{
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"
}
]
tableData: []
};
},
mounted() {
this.getAreas();
// this.onSearch();
this.onSearch();
this.getOrgList();
},
methods: {
getOrgList(){
getOrgListWithOutPage().then(res => {
console.log(res)
this.orgOptions = res;
});
},
getAreas() {
getAreas().then(res => {
this.areaOptions = res;
......@@ -259,21 +110,22 @@ export default {
let param = {
_index: this.page.currentPage,
_size: this.page.pageSize,
orgId: this.selectAreaId
areaId: this.form.areaId[this.form.areaId.length-1],
organId: this.form.orgId,
};
vm.$https(
{
url: "interaction/getList",
url: "boxOperation/selectPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
)
.then(res => {
console.log(res.data.body);
let data = res.data.body;
console.log(res.data.data);
let data = res.data.data;
vm.page.total = data.total;
// vm.tableData = data.records;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
......@@ -282,10 +134,14 @@ export default {
// 新增弹框打开
addBox() {
console.log(this.$refs.formItem);
this.$refs.formItem.backFn();
this.$refs.formItem.backFn(this.orgOptions);
},
handleReset() {
this.form = {};
this.form = {
orgId: "",
areaId: []
};
this.onSearch()
},
// 分页
handleCurrentChange(val) {
......
......@@ -3,19 +3,19 @@
<div class="search-container">
<el-form :inline="true" :model="form">
<el-form-item>
<el-select v-model="form.unit" placeholder="请选择所属单位">
<el-select v-model="form.orgId" placeholder="请选择所属单位">
<el-option
v-for="item in unitOptions"
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in orgOptions"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-select v-model="form.state" placeholder="请选择机顶盒状态">
<el-select v-model="form.status" placeholder="请选择机顶盒状态">
<el-option
v-for="item in stateOptions"
v-for="item in statusOptions"
:key="item.value"
:label="item.label"
:value="item.value"
......@@ -24,7 +24,7 @@
</el-form-item>
<el-form-item>
<el-cascader
v-model="form.area"
v-model="form.areaId"
:options="areaOptions"
:props="defaultProps"
:show-all-levels="false"
......@@ -46,18 +46,33 @@
<div class="party-table">
<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 label="mac地址" prop="macUrl"></el-table-column>
<el-table-column label="所属单位" prop="unit"></el-table-column>
<el-table-column label="机顶盒状态" prop="state"></el-table-column>
<el-table-column label="mac地址" prop="mac"></el-table-column>
<el-table-column label="所属单位" prop="organName"></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>
</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>
</template>
<script>
import { partyPagination } from "@/components/index";
import { getAreas } from "@/config/area.js";
import { getOrgListWithOutPage } from "@/config/organ.js";
export default {
data() {
return {
......@@ -68,199 +83,33 @@ export default {
value: "id",
checkStrictly: true,
},
unitOptions: [
{
value: "选项1",
label: "黄金糕"
},
{
value: "选项2",
label: "双皮奶"
},
{
value: "选项3",
label: "蚵仔煎"
},
{
value: "选项4",
label: "龙须面"
},
{
value: "选项5",
label: "北京烤鸭"
}
],
stateOptions: [
orgOptions: [],
statusOptions: [
{
value: "1",
label: "待激活"
},
{
value: "2",
label: "禁用"
label: "已激活"
},
{
value: "3",
label: "启用"
label: "故障"
}
],
form: {
unit: "",
state: "",
area: []
orgId: "",
status: "",
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"
},
{
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"
}
]
tableData:[]
};
},
components: { partyPagination },
mounted() {
this.getAreas();
// this.onSearch();
this.onSearch();
this.getOrgList()
},
methods: {
getAreas() {
......@@ -268,6 +117,11 @@ export default {
this.areaOptions = res;
});
},
getOrgList(){
getOrgListWithOutPage().then(res => {
this.orgOptions = res;
});
},
// 查询
onSearch() {
this.page.currentPage = 1;
......@@ -279,28 +133,34 @@ export default {
let param = {
_index: this.page.currentPage,
_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(
{
url: "interaction/getList",
url: "boxOperation/getPageList",
method: "post",
authType: this.backToken
},
vm.$qs.stringify(param)
)
.then(res => {
console.log(res.data.body);
let data = res.data.body;
let data = res.data.data;
vm.page.total = data.total;
// vm.tableData = data.records;
vm.tableData = data.records;
})
.catch(function(err) {
console.log(err);
});
},
handleReset() {
this.form = {};
this.form = {
orgId: "",
status: "",
areaId: []
};
this.onSearch()
},
// 分页
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 @@
align="center"
width="100">
<template slot-scope="scope" >
<span>{{ (currentPage-1) * 10 * scope.$index + 1}}</span>
<span>{{ (currentPage-1) * 10 + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column
......@@ -29,18 +29,34 @@
</el-button>
</el-tooltip>
<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>
</el-button>
</el-tooltip>
<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>
</el-button>
</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 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>
</template>
</el-table-column>
......@@ -48,6 +64,7 @@
</div>
</template>
<script>
// status 1 启用 2 禁用
export default {
data(){
return {
......@@ -68,8 +85,45 @@ export default {
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:{
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(
"action",
{
......
This diff is collapsed.
This diff is collapsed.
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