|
@@ -1,6 +1,9 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
<el-form :model="form" inline>
|
|
<el-form :model="form" inline>
|
|
|
|
+ <!-- <el-form-item v-if="$store.state.user.orgId === null" label="机构">
|
|
|
|
+ <OrgSelect v-model="form.orgId"></OrgSelect>
|
|
|
|
+ </el-form-item> -->
|
|
<el-form-item label="角色">
|
|
<el-form-item label="角色">
|
|
<RoleSelect v-model="form.roleCode"></RoleSelect>
|
|
<RoleSelect v-model="form.roleCode"></RoleSelect>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -14,8 +17,8 @@
|
|
<StateSelect v-model="form.enableState"></StateSelect>
|
|
<StateSelect v-model="form.enableState"></StateSelect>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-button @click="searchForm">查询</el-button>
|
|
<el-button @click="searchForm">查询</el-button>
|
|
- <el-button>新增</el-button>
|
|
|
|
- <el-button>导入</el-button>
|
|
|
|
|
|
+ <el-button @click="add">新增</el-button>
|
|
|
|
+ <!-- <el-button>导入</el-button> -->
|
|
</el-form>
|
|
</el-form>
|
|
|
|
|
|
<el-table :data="tableData" stripe style="width: 100%;">
|
|
<el-table :data="tableData" stripe style="width: 100%;">
|
|
@@ -37,7 +40,7 @@
|
|
<span slot-scope="scope">{{ scope.row.loginName }}</span>
|
|
<span slot-scope="scope">{{ scope.row.loginName }}</span>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column width="100" label="角色">
|
|
<el-table-column width="100" label="角色">
|
|
- <span slot-scope="scope">{{ scope.row.roleName }}</span>
|
|
|
|
|
|
+ <span slot-scope="scope">{{ scope.row.roleNameStr }}</span>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
<el-table-column width="120" label="状态">
|
|
<el-table-column width="120" label="状态">
|
|
<span slot-scope="scope">{{
|
|
<span slot-scope="scope">{{
|
|
@@ -52,7 +55,23 @@
|
|
<el-table-column :context="_self" label="操作" width="210">
|
|
<el-table-column :context="_self" label="操作" width="210">
|
|
<div slot-scope="scope">
|
|
<div slot-scope="scope">
|
|
<el-button size="mini" type="primary" plain @click="edit(scope.row)">
|
|
<el-button size="mini" type="primary" plain @click="edit(scope.row)">
|
|
- <i class="el-icon-edit"></i> 编辑
|
|
|
|
|
|
+ 编辑
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button
|
|
|
|
+ size="mini"
|
|
|
|
+ type="primary"
|
|
|
|
+ plain
|
|
|
|
+ @click="resetUserPassword(scope.row)"
|
|
|
|
+ >
|
|
|
|
+ 重置密码
|
|
|
|
+ </el-button>
|
|
|
|
+ <el-button
|
|
|
|
+ size="mini"
|
|
|
|
+ type="primary"
|
|
|
|
+ plain
|
|
|
|
+ @click="toggleEnableUser(scope.row)"
|
|
|
|
+ >
|
|
|
|
+ {{ scope.row.enable ? "禁用" : "启用" }}
|
|
</el-button>
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -68,48 +87,64 @@
|
|
:total="total"
|
|
:total="total"
|
|
/>
|
|
/>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <UserManagementDialog
|
|
|
|
+ ref="userDialog"
|
|
|
|
+ :user="selectedUser"
|
|
|
|
+ @reload="searchForm"
|
|
|
|
+ />
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
import RoleSelect from "@/components/RoleSelect.vue";
|
|
import RoleSelect from "@/components/RoleSelect.vue";
|
|
import StateSelect from "@/components/StateSelect";
|
|
import StateSelect from "@/components/StateSelect";
|
|
-import { searchUsers } from "../../../api/system-user";
|
|
|
|
|
|
+// import OrgSelect from "@/components/OrgSelect";
|
|
|
|
+import {
|
|
|
|
+ searchUsers,
|
|
|
|
+ toggleEnableUser,
|
|
|
|
+ resetUserPassword,
|
|
|
|
+} from "../../../api/system-user";
|
|
|
|
+import UserManagementDialog from "./UserManagementDialog";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "UserManagement",
|
|
name: "UserManagement",
|
|
components: {
|
|
components: {
|
|
RoleSelect,
|
|
RoleSelect,
|
|
StateSelect,
|
|
StateSelect,
|
|
|
|
+ // OrgSelect,
|
|
|
|
+ UserManagementDialog,
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
form: {
|
|
form: {
|
|
- orgList: [],
|
|
|
|
|
|
+ orgId: "",
|
|
roleCode: "",
|
|
roleCode: "",
|
|
loginName: "",
|
|
loginName: "",
|
|
name: "",
|
|
name: "",
|
|
- enableState: "",
|
|
|
|
|
|
+ enableState: null,
|
|
},
|
|
},
|
|
tableData: [],
|
|
tableData: [],
|
|
currentPage: 1,
|
|
currentPage: 1,
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
total: 10,
|
|
total: 10,
|
|
|
|
+ selectedUser: {},
|
|
};
|
|
};
|
|
},
|
|
},
|
|
async created() {},
|
|
async created() {},
|
|
methods: {
|
|
methods: {
|
|
async searchForm() {
|
|
async searchForm() {
|
|
- this.tableData = (
|
|
|
|
- await searchUsers({
|
|
|
|
- role: this.form.roleCode,
|
|
|
|
- enable: this.form.enableState,
|
|
|
|
- loginName: this.form.loginName,
|
|
|
|
- name: this.form.name,
|
|
|
|
- pageNumber: this.currentPage,
|
|
|
|
- pageSize: this.pageSize,
|
|
|
|
- })
|
|
|
|
- ).data.data.records.records;
|
|
|
|
|
|
+ const res = await searchUsers({
|
|
|
|
+ orgId: this.form.orgId,
|
|
|
|
+ role: this.form.roleCode,
|
|
|
|
+ enable: this.form.enableState,
|
|
|
|
+ loginName: this.form.loginName,
|
|
|
|
+ name: this.form.name,
|
|
|
|
+ pageNumber: this.currentPage,
|
|
|
|
+ pageSize: this.pageSize,
|
|
|
|
+ });
|
|
|
|
+ this.tableData = res.data.data.records.records;
|
|
|
|
+ this.total = res.data.data.records.total;
|
|
},
|
|
},
|
|
handleCurrentChange(val) {
|
|
handleCurrentChange(val) {
|
|
this.currentPage = val;
|
|
this.currentPage = val;
|
|
@@ -120,6 +155,28 @@ export default {
|
|
this.currentPage = 1;
|
|
this.currentPage = 1;
|
|
this.searchForm();
|
|
this.searchForm();
|
|
},
|
|
},
|
|
|
|
+ add() {
|
|
|
|
+ this.selectedUser = {};
|
|
|
|
+ this.$refs.userDialog.openDialog();
|
|
|
|
+ },
|
|
|
|
+ edit(user) {
|
|
|
|
+ this.selectedUser = user;
|
|
|
|
+ this.$refs.userDialog.openDialog();
|
|
|
|
+ },
|
|
|
|
+ async toggleEnableUser(user) {
|
|
|
|
+ await toggleEnableUser({
|
|
|
|
+ id: user.id,
|
|
|
|
+ enable: user.enable === 0 ? 1 : 0,
|
|
|
|
+ });
|
|
|
|
+ this.searchForm();
|
|
|
|
+ },
|
|
|
|
+ async resetUserPassword(user) {
|
|
|
|
+ await resetUserPassword({
|
|
|
|
+ id: user.id,
|
|
|
|
+ password: "123456",
|
|
|
|
+ });
|
|
|
|
+ this.searchForm();
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|