|
|
@@ -0,0 +1,223 @@
|
|
|
+<template>
|
|
|
+ <div class="tab8">
|
|
|
+ <div class="search">
|
|
|
+ <div class="left">
|
|
|
+ <el-input
|
|
|
+ style="width: 380px"
|
|
|
+ v-model="pageData.searchKey"
|
|
|
+ placeholder="请输入用户名"
|
|
|
+ ></el-input>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="userList(pageData)"
|
|
|
+ >搜索</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div class="right">
|
|
|
+ <!-- <el-button type="danger" :disabled="selecArr.length === 0"
|
|
|
+ >删除用户</el-button
|
|
|
+ > -->
|
|
|
+ <el-button type="success" @click="dialogVisible = true"
|
|
|
+ >新增用户</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="table">
|
|
|
+ <el-table :data="tableData" style="width: 100%">
|
|
|
+ <!-- @selection-change="selecChange" -->
|
|
|
+ <!-- <el-table-column type="selection" width="55"> </el-table-column> -->
|
|
|
+ <el-table-column label="序号" width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ scope.$index + (pageData.pageNum - 1) * pageData.pageSize + 1 }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="userName" label="账号"> </el-table-column>
|
|
|
+ <el-table-column prop="realName" label="姓名"> </el-table-column>
|
|
|
+ <el-table-column prop="phone" label="电话"> </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="状态">
|
|
|
+ <template #default="{ row }">
|
|
|
+ {{ row.isEnabled ? "启用" : "禁用" }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <el-button
|
|
|
+ v-if="row.isAdmin !== 1"
|
|
|
+ type="text"
|
|
|
+ @click="$router.push(`/Layout/Accredit/${row.id}/${row.realName}`)"
|
|
|
+ >授权</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="row.isAdmin !== 1"
|
|
|
+ type="text"
|
|
|
+ @click="editUser(row)"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="row.isAdmin !== 1"
|
|
|
+ type="text"
|
|
|
+ style="color: #f56c6c"
|
|
|
+ @click="userRemoves(row.id)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ v-if="row.isAdmin !== 1"
|
|
|
+ type="text"
|
|
|
+ @click="resetPass(row.id)"
|
|
|
+ >重置密码</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <!-- 分页器 -->
|
|
|
+ <div class="paging">
|
|
|
+ <el-pagination
|
|
|
+ :current-page="pageData.pageNum"
|
|
|
+ @current-change="currentChange"
|
|
|
+ @size-change="sizeChange"
|
|
|
+ layout="prev, pager, next,sizes,jumper"
|
|
|
+ :total="total"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ <!-- 点击新增和编辑出现的弹窗 -->
|
|
|
+ <Dialog
|
|
|
+ ref="projectRef"
|
|
|
+ :dialogVisible.sync="dialogVisible"
|
|
|
+ @clickSon="userList(pageData)"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import Dialog from "./Dialog";
|
|
|
+import { userList, userRemoves, userResetPass } from "@/utils/api";
|
|
|
+export default {
|
|
|
+ name: "tab8",
|
|
|
+ components: { Dialog },
|
|
|
+ data() {
|
|
|
+ //这里存放数据
|
|
|
+ return {
|
|
|
+ total: 0,
|
|
|
+ dialogVisible: false,
|
|
|
+ tableData: [],
|
|
|
+ pageData: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ searchKey: "",
|
|
|
+ },
|
|
|
+ // selecArr: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ //监听属性 类似于data概念
|
|
|
+ computed: {},
|
|
|
+ //监控data中的数据变化
|
|
|
+ watch: {},
|
|
|
+ //方法集合
|
|
|
+ methods: {
|
|
|
+ // 点击编辑,调用子组件弹窗的方法
|
|
|
+ editUser(item) {
|
|
|
+ this.$refs.projectRef.setRuleForm(item);
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+ // 点击重置密码
|
|
|
+ async resetPass(id) {
|
|
|
+ this.$confirm("确定重置吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(async () => {
|
|
|
+ let res = await userResetPass(id);
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message.success("重置成功!");
|
|
|
+ } else this.$message.warning(res.msg);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$message.info("已取消重置");
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 点击删除项目
|
|
|
+ async userRemoves(id) {
|
|
|
+ this.$confirm("确定删除吗?", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(async () => {
|
|
|
+ let res = await userRemoves(id);
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message.success("删除成功!");
|
|
|
+ this.userList(this.pageData);
|
|
|
+ } else this.$message.warning(res.msg);
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ this.$message.info("已取消删除");
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 分页器
|
|
|
+ currentChange(val) {
|
|
|
+ this.pageData.pageNum = val;
|
|
|
+ this.userList(this.pageData);
|
|
|
+ },
|
|
|
+ sizeChange(val) {
|
|
|
+ this.pageData.pageNum = 1;
|
|
|
+ this.pageData.pageSize = val;
|
|
|
+ this.userList(this.pageData);
|
|
|
+ },
|
|
|
+ // selecChange(val) {
|
|
|
+ // this.selecArr = val;
|
|
|
+ // },
|
|
|
+ // 封装一个获取表列表的方法
|
|
|
+ async userList(data) {
|
|
|
+ let res = await userList(data);
|
|
|
+ this.total = res.data.total;
|
|
|
+ this.tableData = res.data.records;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ //生命周期 - 创建完成(可以访问当前this实例)
|
|
|
+ created() {
|
|
|
+ this.userList(this.pageData);
|
|
|
+ },
|
|
|
+ //生命周期 - 挂载完成(可以访问DOM元素)
|
|
|
+ mounted() {},
|
|
|
+ beforeCreate() {}, //生命周期 - 创建之前
|
|
|
+ beforeMount() {}, //生命周期 - 挂载之前
|
|
|
+ beforeUpdate() {}, //生命周期 - 更新之前
|
|
|
+ updated() {}, //生命周期 - 更新之后
|
|
|
+ beforeDestroy() {}, //生命周期 - 销毁之前
|
|
|
+ destroyed() {}, //生命周期 - 销毁完成
|
|
|
+ activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang='less' scoped>
|
|
|
+.tab8 {
|
|
|
+ position: relative;
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ .search {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ .left {
|
|
|
+ justify-content: space-between;
|
|
|
+ display: flex;
|
|
|
+ width: 500px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .table {
|
|
|
+ /deep/.el-table__body-wrapper {
|
|
|
+ width: 1570px;
|
|
|
+ max-height: 585px;
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .paging {
|
|
|
+ position: absolute;
|
|
|
+ right: 20px;
|
|
|
+ bottom: 40px;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|