<template> <!-- 平台用户单位管理员账号管理 --> <div class="user-wrapper height100"> <div class="search-container"> <el-form :inline="true" :model="form"> <el-form-item> <el-input v-model="form.userName" placeholder="请输入管理员姓名" suffix-icon="el-icon-search" clearable ></el-input> </el-form-item> <el-form-item> <el-select v-model="form.orgId" filterable placeholder="请选择所属单位" clearable> <el-option v-for="item in organList" :key="item.id" :label="item.name" :value="item.id" > </el-option> </el-select> </el-form-item> <el-form-item> <el-cascader v-model="form.areaId" change-on-select :props="cascaderProps" :options="areaOptions" placeholder="请选择区域" clearable> </el-cascader> </el-form-item> <el-form-item> <div class="btn-group"> <el-button type="primary" @click="handleSubmit">查询</el-button> <el-button @click="handleReset">重置</el-button> </div> </el-form-item> </el-form> <div class="page-tip"> <span class="page-tip-title">页面说明:</span> <span class="page-tips" >管理员姓名即管理员用户名。可以新增账号,“*”为必填项。可以对账号信息进行修改及重置密码</span > </div> </div> <div class="table-content"> <div class="btn-group"> <el-button type="primary" @click="handleAdd()">新建账户</el-button> </div> <account-table :feildList="feildList" :list="list" @action="handleAction" /> <party-pagination :page="page" @changePage="handleChangeCurrent" /> </div> <add-dialog ref="addDialog" @success="getFirstPageList()" /> <edit-dialog ref="editDialog" @success="getFirstPageList()" /> <msg-dialog ref="msgDilaog" :msgInfo="msgInfo" /> </div> </template> <script> import { partyPagination } from "@/components/index"; import accountTable from "./components/accountTable"; import { addDialog, editDialog } from "./unitAdminDialog"; import msgDialog from "./msgDialog.vue"; import { getAreas } from "@/config/area"; import { getOrgListWithOutPage } from "@/config/organ"; export default { data() { return { form: { userName: "", orgId:'', type: 2, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 areaId:[] }, feildList: [ { prop: "userName", label: "管理员姓名" }, { prop: "phone", label: "手机号码" }, { prop: "telephone", label: "固定电话" }, { prop: "weChat", label: "微信号" }, { prop: "email", label: "邮箱" }, { prop: "orgName", label: "所属单位" }, { prop: "exiredDate", label: "到期时间" }, { prop: "statusName", label: "账号状态" }, { prop: "", label: "操作", isEdit: true, width: 280 }, ], list: [], page: { _index: 1, _size: 10, total: 0, }, activeRow: {}, msgInfo: {}, organList: [], areaOptions: [], cascaderProps: { label: "name", value: "code", checkStrictly: true, }, }; }, components: { partyPagination, accountTable, addDialog, editDialog, msgDialog, }, mounted() { this.getOrgList(); this.getAreas(); this.getFirstPageList(); }, methods: { // 获取区域数据 getAreas() { getAreas().then((res) => { this.areaOptions = res; }); }, // 获取机构列表 getOrgList() { getOrgListWithOutPage().then((res) => { this.organList = res; }); }, // 获取第一页数据列表 getFirstPageList() { this.page._index = 1; this.getPageList(); }, // 查询数据 handleSubmit() { this.getPageList(); }, // 重置查询 handleReset() { this.form = { userName: "", orgId:'', type:2, areaId:[] } this.getFirstPageList(); }, getPageList() { let requestParams = {}; requestParams._index = this.page._index; requestParams._size = this.page._size; requestParams.type = this.form.type; if (this.form.userName) { requestParams.userName = this.form.userName; } if (this.form.orgId) { requestParams.orgId = this.form.orgId; } if(this.form.areaId.length>0){ requestParams.areaId = [...this.form.areaId].pop(); } 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); }); }, // 页面返回值为空 getResWithOutData(){ this.list = [] this.page = { _index:1, _size:10, total:0 } }, // 新增账号 handleAdd() { this.$refs.addDialog.dialogVisible = true; }, // 编辑 handleEdit() { this.$refs.editDialog.id = this.activeRow.id; this.$refs.editDialog.getDetailById(); this.$refs.editDialog.dialogVisible = true; }, // 重置密码 handleResetPwd() { let _this = this; this.$https({ method: "put", url: `tUser/resetPassword?userId=${this.activeRow.id}`, authType: this.backToken, }) .then((res) => { if (res.status != 200) { _this.$message.error(res.data.message); } else { if (res.data.resultCode == 200) { _this.msgInfo = { type: "success", des: `用户${this.activeRow.userName}密码已重置!`, }; _this.$refs.msgDilaog.dialogVisible = true; } else { _this.$message.error(res.data.message); } } }) .catch((err) => { console.log(err); }); }, // 禁用 handleDisable() { let _this = this; this.$https({ method: "put", url: `tUser/disable?userId=${this.activeRow.id}`, authType: this.backToken, }) .then((res) => { if (res.status != 200) { _this.$message.error(res.data.message); } else { if (res.data.resultCode == 200) { _this.msgInfo = { type: "wait", des: `${this.activeRow.userName}账号禁用申请已提交,待审核…`, }; _this.$refs.msgDilaog.dialogVisible = true; _this.getPageList(); } else { _this.$message.error(res.data.message); } } }) .catch((err) => { console.log(err); }); }, // 激活 handleActive() { let _this = this; this.$https({ method: "put", url: `tUser/enable?userId=${this.activeRow.id}`, authType: this.backToken, }) .then((res) => { if (res.status != 200) { _this.$message.error(res.data.message); } else { if (res.data.resultCode == 200) { _this.msgInfo = { type: "success", des: `用户${this.activeRow.userName}账号激活成功!`, }; _this.$refs.msgDilaog.dialogVisible = true; _this.getPageList(); } else { this.$message.error(res.data.message); } } }) .catch((err) => { console.log(err); }); }, handleAction(params) { this.activeRow = params.row; switch (params.type) { case "enable": this.handleActive(); break; case "disable": this.handleDisable(); break; case "reset": this.handleResetPwd(); break; case "edit": this.handleEdit(); break; default: break; } }, // 翻页 handleChangeCurrent() { this.page._index = val; this.getPageList(); }, }, }; </script> <style lang="less" scoped> </style>