Commit fb96c0c4 authored by Your Name's avatar Your Name

平台账户管理新建

parent 04af5cbb
...@@ -13,7 +13,7 @@ module.exports = { ...@@ -13,7 +13,7 @@ module.exports = {
proxyTable: { proxyTable: {
'/mall': { '/mall': {
target: "http://111.203.232.175:8088/mall", target: "http://111.203.232.175:8088/mall",
// target: "http://192.168.110.67/mall", // target: "http://192.168.0.106:8088/mall",
// target: "http://192.168.204.66:8088/mall", // target: "http://192.168.204.66:8088/mall",
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
......
<template> <template>
<el-dialog <el-dialog
custom-class="party-dialog" custom-class="party-dialog"
title="新建账号" title="新建账号"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="720px" width="720px"
:before-close="handleClose" :before-close="handleClose"
> >
<div class="dialog-content"> <div class="dialog-content">
<el-form <el-form
ref="form" ref="form"
:model="form" :model="form"
:rules="rules" :rules="rules"
label-width="80px" label-width="80px"
label-position="top" label-position="top"
class="party-form" class="party-form"
> >
<div class="form-row"> <div class="form-row">
<el-form-item label="系统用户名" prop="userName"> <el-form-item label="系统用户名" prop="userName">
<el-input <el-input
v-model.trim="form.userName" v-model.trim="form.userName"
placeholder="请填写" placeholder="请填写"
oninput="value = value.trim()" oninput="value = value.trim()"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="所在机构" prop="orgId"> <el-form-item label="所在机构" prop="orgId">
<el-select v-model="form.orgId" filterable placeholder="请选择"> <el-select v-model="form.orgId" filterable placeholder="请选择">
<el-option <el-option
v-for="item in organList" v-for="item in organList"
:key="item.id" :key="item.id"
:label="item.name" :label="item.name"
:value="item.id" :value="item.id"
> >
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
<el-form-item label="账号有效期" prop="permanent"> <el-form-item label="账号有效期" prop="permanent">
<el-radio-group v-model="form.permanent"> <el-radio-group v-model="form.permanent">
<el-radio :label="true">永久有效</el-radio> <el-radio :label="true">永久有效</el-radio>
<el-radio :label="false">设置有效期</el-radio> <el-radio :label="false">设置有效期</el-radio>
</el-radio-group> </el-radio-group>
<div v-if="!form.permanent"> <div v-if="!form.permanent">
<el-date-picker <el-date-picker
class="mt16" class="mt16"
v-model="form.date" v-model="form.date"
type="daterange" type="daterange"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
range-separator="至" range-separator="至"
start-placeholder="开始日期" start-placeholder="开始日期"
end-placeholder="结束日期" end-placeholder="结束日期"
> >
</el-date-picker> </el-date-picker>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="账号类型" prop="roleList"> <el-form-item label="账号类型" prop="roleList">
<el-checkbox-group v-model="form.roleList" :min="1"> <el-checkbox-group v-model="form.roleList" :min="1">
<el-checkbox <span v-for="(item, index) in rolesList">
v-for="(item, index) in rolesList" <el-checkbox
:key="index" v-if="item.name !== '单位管理员' && item.name !== '统计管理员' && item.name !== '互动审核员'"
:label="item.id" :key="index"
> :label="item.id"
{{ item.name }} >
</el-checkbox> {{ item.name }}
</el-checkbox-group> </el-checkbox>
</el-form-item> </span>
</el-form> </el-checkbox-group>
</div> </el-form-item>
<div slot="footer" class="dialog-footer btn-group"> </el-form>
<el-button @click="handleClose()">取 消</el-button> </div>
<el-button type="primary" @click="handleSubmit()">确 定</el-button> <div slot="footer" class="dialog-footer btn-group">
</div> <el-button @click="handleClose()">取 消</el-button>
</el-dialog> <el-button type="primary" @click="handleSubmit()">确 定</el-button>
</template> </div>
<script> </el-dialog>
export default { </template>
data() { <script>
return { export default {
dialogVisible: false, data() {
form: { return {
userName: "", dialogVisible: false,
orgId: "", form: {
permanent: true, userName: "",
date: "", orgId: "",
roleList: [], permanent: true,
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 date: "",
}, roleList: [],
rules: { type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
userName: [ },
{ required: true, message: "请选择系统用户名", trigger: "change" }, rules: {
{ min: 1, max: 20, message: "请输入1到20个字符" }, userName: [
], { required: true, message: "请选择系统用户名", trigger: "change" },
orgId: [ { min: 1, max: 20, message: "请输入1到20个字符" },
{ required: true, message: "请输入所在机构", trigger: "change" }, ],
], orgId: [
permanent: [ { required: true, message: "请输入所在机构", trigger: "change" },
{ required: true, message: "请选择账号有效期", trigger: "change" }, ],
], permanent: [
roleList: [ { required: true, message: "请选择账号有效期", trigger: "change" },
{ ],
type: "array", roleList: [
required: true, {
message: "请选择账号类型", type: "array",
trigger: "change", required: true,
}, message: "请选择账号类型",
], trigger: "change",
}, },
}; ],
}, },
props: { };
organList: { },
type: Array, props: {
default: () => { organList: {
return []; type: Array,
}, default: () => {
}, return [];
rolesList: { },
type: Array, },
default: () => { rolesList: {
return []; type: Array,
}, default: () => {
}, return [];
}, },
mounted() {}, },
methods: { },
// 弹窗关闭 mounted() {},
handleClose() { methods: {
this.$confirm("确认关闭?") // 弹窗关闭
.then((_) => { handleClose() {
this.handleReset(); this.$confirm("确认关闭?")
}) .then((_) => {
.catch((_) => {}); this.handleReset();
}, })
handleReset() { .catch((_) => {});
this.dialogVisible = false; },
this.$refs.form.resetFields(); handleReset() {
this.form = { this.dialogVisible = false;
userName: "", this.$refs.form.resetFields();
orgId: "", this.form = {
permanent: true, userName: "",
date: "", orgId: "",
roleList: [], permanent: true,
type: 1, date: "",
}; roleList: [],
}, type: 1,
// 提交 };
handleSubmit() { },
// 校验用户输入值 // 提交
this.$refs.form.validate((valid) => { handleSubmit() {
if (valid) { // 校验用户输入值
let user = {}; this.$refs.form.validate((valid) => {
if (!this.form.permanent && !this.form.date) { if (valid) {
this.$message.error("请选择有效期"); let user = {};
return false; if (!this.form.permanent && !this.form.date) {
} this.$message.error("请选择有效期");
if (!this.form.permanent) { return false;
user.effectiveDate = this.form.date[0]; }
user.exiredDate = this.form.date[1]; if (!this.form.permanent) {
} user.effectiveDate = this.form.date[0];
user.userName = this.form.userName; user.exiredDate = this.form.date[1];
user.orgId = this.form.orgId; }
user.roleList = this.form.roleList; user.userName = this.form.userName;
user.permanent = this.form.permanent; user.orgId = this.form.orgId;
user.type = this.form.type; user.roleList = this.form.roleList;
this.$https( user.permanent = this.form.permanent;
{ user.type = this.form.type;
method: "post", this.$https(
url: "tUser/add", {
authType: this.backToken, method: "post",
}, url: "tUser/add",
user authType: this.backToken,
) },
.then((res) => { user
if (res.status == 200) { )
if (res.data.resultCode == 200) { .then((res) => {
this.$message({ if (res.status == 200) {
type: "success", if (res.data.resultCode == 200) {
message: res.data.message, this.$message({
}); type: "success",
this.handleReset(); message: res.data.message,
this.$emit("success", true); });
} else { this.handleReset();
this.$message.error(res.data.message); this.$emit("success", true);
} } else {
} else { this.$message.error(res.data.message);
this.$message.error(res.data); }
} } else {
}) this.$message.error(res.data);
.catch((err) => { }
console.log(res); })
}); .catch((err) => {
} else { console.log(res);
console.log("error submit!!"); });
return false; } else {
} console.log("error submit!!");
}); return false;
}, }
}, });
}; },
</script> },
<style lang="less" scoped> };
.form-row { </script>
display: flex; <style lang="less" scoped>
justify-content: space-between; .form-row {
} display: flex;
justify-content: space-between;
}
</style> </style>
\ No newline at end of file
<template> <template>
<!-- 平台用户管理 --> <!-- 平台用户管理 -->
<div class="user-wrapper height100"> <div class="user-wrapper height100">
<div class="search-container"> <div class="search-container">
<el-form :inline="true" :model="form"> <el-form :inline="true" :model="form">
<el-form-item> <el-form-item>
<el-input <el-input
clearable clearable
v-model="form.userName" v-model="form.userName"
placeholder="请输入平台用户名" placeholder="请输入平台用户名"
suffix-icon="el-icon-search" suffix-icon="el-icon-search"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<div class="btn-group"> <div class="btn-group">
<el-button type="primary" @click="handleSubmit">查询</el-button> <el-button type="primary" @click="handleSubmit">查询</el-button>
<el-button @click="handleReset">重置</el-button> <el-button @click="handleReset">重置</el-button>
</div> </div>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="page-tip"> <div class="page-tip">
<span class="page-tip-title">页面说明:</span> <span class="page-tip-title">页面说明:</span>
<span class="page-tips" <span class="page-tips"
>可根据用户名称搜索对用户信息进行筛选。可以新增账号,“*”为必填项。可以对账号信息进行修改及重置密码</span >可根据用户名称搜索对用户信息进行筛选。可以新增账号,“*”为必填项。可以对账号信息进行修改及重置密码</span
> >
</div> </div>
</div> </div>
<div class="table-content"> <div class="table-content">
<div class="btn-group"> <div class="btn-group">
<el-button type="primary" @click="handleAdd()">新建账号</el-button> <el-button type="primary" @click="handleAdd()">新建账号</el-button>
</div> </div>
<account-table <account-table
:feildList="feildList" :feildList="feildList"
:list="list" :list="list"
:rolesList="rolesList" :rolesList="rolesList"
@action="handleAction" @action="handleAction"
:currentPage="page._index" :currentPage="page._index"
/> />
<party-pagination :page="page" @changePage="handleChangeCurrent" /> <party-pagination :page="page" @changePage="handleChangeCurrent" />
</div> </div>
<add-dialog <add-dialog
ref="addDialog" ref="addDialog"
:organList="organList" :organList="organList"
:rolesList="rolesList" :rolesList="rolesList"
@success="getFirstPageList()" @success="getFirstPageList()"
/> />
<edit-dialog <edit-dialog
ref="editDialog" ref="editDialog"
:organList="organList" :organList="organList"
:rolesList="rolesList" :rolesList="rolesList"
@success="getFirstPageList()" @success="getFirstPageList()"
/> />
<msg-dialog ref="msgDilaog" :msgInfo="msgInfo" /> <msg-dialog ref="msgDilaog" :msgInfo="msgInfo" />
</div> </div>
</template> </template>
<script> <script>
import { partyPagination } from "@/components/index"; import { partyPagination } from "@/components/index";
import accountTable from "./components/accountTable"; import accountTable from "./components/accountTable";
import { addDialog, editDialog } from "./userDialog/index"; import { addDialog, editDialog } from "./userDialog/index";
import msgDialog from "./msgDialog.vue"; import msgDialog from "./msgDialog.vue";
import { getOrgListWithOutPage } from "@/config/organ"; import { getOrgListWithOutPage } from "@/config/organ";
import { getRoles } from "@/config/roles"; import { getRoles } from "@/config/roles";
export default { export default {
data() { data() {
return { return {
form: { form: {
userName: "", userName: "",
type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号 type: 1, //1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号
}, },
feildList: [ feildList: [
{ prop: "userName", label: "平台用户名" }, { prop: "userName", label: "平台用户名" },
{ prop: "orgName", label: "所在机构" }, { prop: "orgName", label: "所在机构" },
{ prop: "exiredDate", label: "到期时间" }, { prop: "exiredDate", label: "到期时间" },
{ prop: "roleList", label: "账号类型",width: 280 }, { prop: "roleList", label: "账号类型",width: 280 },
{ prop: "statusName", label: "账号状态" }, { prop: "statusName", label: "账号状态" },
{ prop: "", label: "操作", isEdit: true, width: 280 }, { prop: "", label: "操作", isEdit: true, width: 280 },
], ],
list: [], list: [],
page: { page: {
_index: 1, _index: 1,
_size: 10, _size: 10,
total: 0, total: 0,
}, },
activeRow: {}, activeRow: {},
msgInfo: {}, msgInfo: {},
organList: [], organList: [],
rolesList: [], rolesList: [],
}; };
}, },
components: { components: {
partyPagination, partyPagination,
accountTable, accountTable,
addDialog, addDialog,
editDialog, editDialog,
msgDialog, msgDialog,
}, },
mounted() { mounted() {
this.getOrgList(); this.getOrgList();
this.getRolesList(); this.getRolesList();
this.getFirstPageList(); this.getFirstPageList();
}, },
methods: { methods: {
// 获取机构列表 // 获取机构列表
getOrgList() { getOrgList() {
getOrgListWithOutPage().then((res) => { getOrgListWithOutPage().then((res) => {
this.organList = res; this.organList = res;
}); });
}, },
// 获取角色列表 // 获取角色列表
getRolesList() { getRolesList() {
getRoles().then((res) => { getRoles().then((res) => {
this.rolesList = res; console.log(res)
}); this.rolesList = res;
}, });
getFirstPageList() { },
this.page._index = 1; getFirstPageList() {
this.getPageList(); this.page._index = 1;
}, this.getPageList();
handleSubmit() { },
this.getFirstPageList(); handleSubmit() {
}, this.getFirstPageList();
handleReset() { },
this.form.userName = ""; handleReset() {
this.getFirstPageList(); this.form.userName = "";
}, this.getFirstPageList();
getPageList() { },
let requestParams = {}; getPageList() {
requestParams._index = this.page._index; let requestParams = {};
requestParams._size = this.page._size; requestParams._index = this.page._index;
requestParams.type = this.form.type; requestParams._size = this.page._size;
if (this.form.userName) { requestParams.type = this.form.type;
requestParams.userName = this.form.userName; if (this.form.userName) {
} requestParams.userName = this.form.userName;
this.$https( }
{ this.$https(
method: "get", {
url: "tUser/getPageList", method: "get",
authType: this.backToken, url: "tUser/getPageList",
}, authType: this.backToken,
requestParams },
) requestParams
.then((res) => { )
if (res.status != 200) { .then((res) => {
this.getResWithOutData(); if (res.status != 200) {
} else { this.getResWithOutData();
if (res.data.resultCode == 200) { } else {
this.list = res.data.data.records; if (res.data.resultCode == 200) {
this.page._size = res.data.data.size; this.list = res.data.data.records;
this.page.total = res.data.data.total; this.page._size = res.data.data.size;
} else { this.page.total = res.data.data.total;
this.getResWithOutData(); } else {
} this.getResWithOutData();
} }
}) }
.catch((err) => { })
console.log(err); .catch((err) => {
}); console.log(err);
}, });
// 页面返回值为空 },
getResWithOutData() { // 页面返回值为空
this.list = []; getResWithOutData() {
this.page = { this.list = [];
_index: 1, this.page = {
_size: 10, _index: 1,
total: 0, _size: 10,
}; total: 0,
}, };
// 新增账号 },
handleAdd() { // 新增账号
this.$refs.addDialog.dialogVisible = true; handleAdd() {
}, this.$refs.addDialog.dialogVisible = true;
// 编辑 },
handleEdit() { // 编辑
this.$refs.editDialog.id = this.activeRow.id; handleEdit() {
this.$refs.editDialog.getDetailById(); this.$refs.editDialog.id = this.activeRow.id;
this.$refs.editDialog.dialogVisible = true; this.$refs.editDialog.getDetailById();
}, this.$refs.editDialog.dialogVisible = true;
// 重置密码 },
handleResetPwd() { // 重置密码
let _this = this; handleResetPwd() {
this.$https({ let _this = this;
method: "put", this.$https({
url: `tUser/resetPassword?userId=${this.activeRow.id}`, method: "put",
authType: this.backToken, url: `tUser/resetPassword?userId=${this.activeRow.id}`,
}) authType: this.backToken,
.then((res) => { })
if (res.status != 200) { .then((res) => {
_this.$message.error(res.data.message); if (res.status != 200) {
} else { _this.$message.error(res.data.message);
if (res.data.resultCode == 200) { } else {
_this.msgInfo = { if (res.data.resultCode == 200) {
type: "success", _this.msgInfo = {
des: `用户${this.activeRow.userName}密码已重置!`, type: "success",
}; des: `用户${this.activeRow.userName}密码已重置!`,
_this.$refs.msgDilaog.dialogVisible = true; };
} else { _this.$refs.msgDilaog.dialogVisible = true;
_this.$message.error(res.data.message); } else {
} _this.$message.error(res.data.message);
} }
}) }
.catch((err) => { })
console.log(err); .catch((err) => {
}); console.log(err);
}, });
// 禁用 },
handleDisable() { // 禁用
let _this = this; handleDisable() {
this.$https({ let _this = this;
method: "put", this.$https({
url: `tUser/disable?userId=${this.activeRow.id}`, method: "put",
authType: this.backToken, url: `tUser/disable?userId=${this.activeRow.id}`,
}) authType: this.backToken,
.then((res) => { })
if (res.status != 200) { .then((res) => {
_this.$message.error(res.data.message); if (res.status != 200) {
} else { _this.$message.error(res.data.message);
if (res.data.resultCode == 200) { } else {
_this.msgInfo = { if (res.data.resultCode == 200) {
type: "wait", _this.msgInfo = {
des: `${this.activeRow.userName}账号禁用申请已提交,待审核…`, type: "wait",
}; des: `${this.activeRow.userName}账号禁用申请已提交,待审核…`,
_this.$refs.msgDilaog.dialogVisible = true; };
_this.getPageList(); _this.$refs.msgDilaog.dialogVisible = true;
} else { _this.getPageList();
_this.$message.error(res.data.message); } else {
} _this.$message.error(res.data.message);
} }
}) }
.catch((err) => { })
console.log(err); .catch((err) => {
}); console.log(err);
}, });
// 激活 },
handleActive() { // 激活
let _this = this; handleActive() {
this.$https({ let _this = this;
method: "put", this.$https({
url: `tUser/enable?userId=${this.activeRow.id}`, method: "put",
authType: this.backToken, url: `tUser/enable?userId=${this.activeRow.id}`,
}) authType: this.backToken,
.then((res) => { })
if (res.status != 200) { .then((res) => {
_this.$message.error(res.data.message); if (res.status != 200) {
} else { _this.$message.error(res.data.message);
if (res.data.resultCode == 200) { } else {
_this.msgInfo = { if (res.data.resultCode == 200) {
type: "success", _this.msgInfo = {
des: `用户${this.activeRow.userName}账号激活成功!`, type: "success",
}; des: `用户${this.activeRow.userName}账号激活成功!`,
_this.$refs.msgDilaog.dialogVisible = true; };
_this.getPageList(); _this.$refs.msgDilaog.dialogVisible = true;
} else { _this.getPageList();
this.$message.error(res.data.message); } else {
} this.$message.error(res.data.message);
} }
}) }
.catch((err) => { })
console.log(err); .catch((err) => {
}); console.log(err);
}, });
handleAction(params) { },
this.activeRow = params.row; handleAction(params) {
switch (params.type) { this.activeRow = params.row;
case "enable": switch (params.type) {
this.handleActive(); case "enable":
break; this.handleActive();
case "disable": break;
this.handleDisable(); case "disable":
break; this.handleDisable();
case "reset": break;
this.handleResetPwd(); case "reset":
break; this.handleResetPwd();
case "edit": break;
this.handleEdit(); case "edit":
break; this.handleEdit();
default: break;
break; default:
} break;
}, }
// 翻页 },
handleChangeCurrent(val) { // 翻页
this.page._index = val; handleChangeCurrent(val) {
this.getPageList(); this.page._index = val;
}, this.getPageList();
}, },
}; },
</script> };
<style lang="less" scoped> </script>
<style lang="less" scoped>
</style> </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