Commit 115beacb authored by qzhxx's avatar qzhxx

合并

parent 39169553
...@@ -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",
......
...@@ -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{
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.
...@@ -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 || 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>
</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>
<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
<template>
<!-- 单位用户单位管理员账号管理 -->
<div class="dbUnit-wrapper height100">
<div class="search-container">
<div class="page-tip">
<span class="page-tip-title">页面说明:</span>
<span class="page-tips"
>可查看本单位其他管理员信息,可以修改自己的管理员信息,修改后的信息同步到平台管理员信息列表中</span
>
</div>
</div>
<div class="table-content">
<db-unit-table
:feildList="feildList"
:list="list"
@action="handleAction"
/>
<party-pagination :page="page" @changePage="handleChangeCurrent" />
</div>
<edit-dialog ref="editDialog" @success="getFirstPageList()" />
</div>
</template>
<script>
import { partyPagination } from "@/components/index";
import dbUnitTable from "./components/dbUnitTable";
import { editDialog } from "./dbUnitDialog";
export default {
data() {
return {
form: {
type: 2, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
},
feildList: [
{ prop: "userName", label: "管理员姓名" },
{ prop: "phone", label: "手机号码" },
{ prop: "telephone", label: "固定电话" },
{ prop: "weChat", label: "微信号" },
{ prop: "email", label: "邮箱" },
{ prop: "", label: "操作", isEdit: true, width: 120 },
],
list: [],
page: {
_index: 1,
_size: 10,
total: 0,
},
activeRow: {}
};
},
components: {
partyPagination,
dbUnitTable,
editDialog
},
mounted() {
this.getFirstPageList();
},
methods: {
// 获取第一页数据列表
getFirstPageList() {
this.page._index = 1;
this.getPageList();
},
getPageList() {
let requestParams = {};
requestParams._index = this.page._index;
requestParams._size = this.page._size;
requestParams.type = this.form.type;
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);
});
},
// 编辑
handleEdit() {
this.$refs.editDialog.id = this.activeRow.id;
this.$refs.editDialog.getDetailById();
this.$refs.editDialog.dialogVisible = true;
this.$refs.editDialog.isEdit = true
},
// 查看详情
handleDetail() {
this.$refs.editDialog.id = this.activeRow.id;
this.$refs.editDialog.getDetailById();
this.$refs.editDialog.dialogVisible = true;
this.$refs.editDialog.isEdit = false
},
handleAction(params) {
this.activeRow = params.row;
switch (params.type) {
case "detail":
this.handleDetail();
break;
case "edit":
this.handleEdit();
break;
default:
break;
}
},
// 翻页
handleChangeCurrent() {
this.page._index = val;
this.getPageList();
},
},
};
</script>
<style lang="less" scoped>
.dbUnit-wrapper{
.page-tips{
white-space: nowrap;
}
}
</style>
\ No newline at end of file
<template>
<el-dialog
custom-class="party-dialog"
:title="`管理员${isEdit?'修改':'查看'}`"
: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="userName">
<el-input
v-model="form.userName"
placeholder="请填写管理员姓名"
:readonly="!isEdit"
></el-input>
</el-form-item>
<el-form-item label="手机号码" prop="phone">
<el-input
v-model="form.phone"
placeholder="请填写手机号码"
:readonly="!isEdit"
></el-input>
</el-form-item>
<el-form-item label="固定电话" prop="telephone">
<el-input
v-model="form.telephone"
placeholder="请填写固定电话"
:readonly="!isEdit"
></el-input>
</el-form-item>
<el-form-item label="微信" prop="wechat">
<el-input
v-model="form.weChat"
placeholder="请填写微信号"
:readonly="!isEdit"
></el-input>
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input
v-model="form.email"
placeholder="请填写邮箱地址"
:readonly="!isEdit"
></el-input>
</el-form-item>
</el-form>
</div>
<div slot="footer" class="dialog-footer btn-group">
<div v-if="isEdit">
<el-button @click="handleClose()">取 消</el-button>
<el-button type="primary" @click="handleSubmit()">确 定</el-button>
</div>
<div v-else>
<el-button type="primary">确 定</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
export default {
data() {
var validateMobilePhone = (rule, value, callback) => {
if (value === "") {
callback(new Error("手机号不可为空"));
} else {
if (value !== "") {
var reg = /^1[3456789]\d{9}$/;
if (!reg.test(value)) {
callback(new Error("请输入有效的手机号码"));
}
}
callback();
}
};
return {
dialogVisible: false,
isEdit: true,
id: "",
form: {
id: "",
userName: "",
telephone: "",
phone: "",
weChat: "",
email: "",
type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
},
rules: {
userName: [
{ required: true, message: "请选择系统用户名", trigger: "change" },
],
phone: [
{ required: true, validator: validateMobilePhone, trigger: "change" },
],
},
};
},
mounted() {},
methods: {
// 根据id获取获取详情内容
getDetailById() {
let _this = this;
this.$https(
{
method: "get",
url: "tUser/getById",
authType: this.backToken,
},
{ id: _this.id }
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
let resData = res.data.data;
for (let key in _this.form) {
_this.form[key] = resData[key];
}
} else {
_this.$message.error(res.data.message);
}
} else {
_this.$message.error(res.data);
}
})
.catch((err) => {
console.log(err);
});
},
// 弹窗关闭
handleClose() {
if (this.isEdit) {
this.$confirm("确认关闭?")
.then((_) => {
this.handleReset();
})
.catch((_) => {});
} else {
this.handleReset();
}
},
handleReset() {
this.dialogVisible = false;
this.$refs.form.resetFields();
this.form = {
id: "",
userName: "",
telephone: "",
phone: "",
weChat: "",
email: "",
type: 2, //1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
}
},
// 提交
handleSubmit() {
// 校验用户输入值
let _this = this;
_this.$refs.form.validate((valid) => {
if (valid) {
let user = {};
user.userName = _this.form.userName;
user.telephone = _this.form.telephone;
user.phone = _this.form.phone;
user.weChat = _this.form.weChat;
user.email = _this.form.email;
user.id = _this.id;
user.type = this.form.type;
this.$https(
{
method: "put",
url: "tUser/update",
authType: _this.backToken,
},
user
)
.then((res) => {
if (res.status == 200) {
if (res.data.resultCode == 200) {
this.$message({
type: "success",
message: res.data.message,
});
_this.dialogVisible = false;
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 editDialog from './edit'
export {
editDialog
}
\ No newline at end of file
<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>
...@@ -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.name"
placeholder="请输入账号名称、提交人" placeholder="请输入账号名称、提交人"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
clearable clearable
...@@ -47,54 +47,38 @@ ...@@ -47,54 +47,38 @@
/> />
<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{
form:{ form:{
user:'', user:'',
status:'' status:''
},
addForm:{
}, },
options:[ options:[
{label:'待激活',value:0}, {label:'待初审',value:1},
{label:'活跃',value:1}, {label:'驳回',value:2},
{label:'禁用待审核',value:2}, {label:'待复审',value:3},
{label:'禁用',value:3}, {label:'通过',value:4}
], ],
feildList:[ feildList:[
{prop:'username',label:'账号名称'}, {prop:'username',label:'账号名称'},
{prop:'org',label:'所在机构'}, {prop:'orgName',label:'所在机构'},
{prop:'endTime',label:'提交人'}, {prop:'endTime',label:'提交人'},
{prop:'endTime',label:'提交日期'}, {prop:'endTime',label:'提交日期'},
{prop:'endTime',label:'审核状态'}, {prop:'endTime',label:'审核状态'},
{prop:'',label:'操作',isEdit:true, width:240}, {prop:'',label:'操作',isEdit:true, width:240},
], ],
list: [ list: []
{ 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:'活跃'},
{ 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:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
{ username: '丁晓晓', org:'北京市政府',type:'系统管理员',endTime:'永久有效', status:'活跃'},
]
} }
}, },
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(){
}, },
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
import addDialog from './add'
import editDialog from './edit'
export {
addDialog,
editDialog
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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
<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
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