|
|
@@ -10,23 +10,24 @@
|
|
|
<span>状态 </span>
|
|
|
<el-select
|
|
|
style="width: 180px"
|
|
|
- v-model="value"
|
|
|
+ v-model="searchInput.status"
|
|
|
class="m-2"
|
|
|
- placeholder="Select"
|
|
|
+ placeholder="选择状态"
|
|
|
>
|
|
|
- <el-option label="全部" value="1" />
|
|
|
- <el-option label="禁用" value="2" />
|
|
|
+ <el-option label="全部" value="" />
|
|
|
+ <el-option label="正常" value="1" />
|
|
|
+ <el-option label="冻结" value="2" />
|
|
|
</el-select>
|
|
|
</div>
|
|
|
<div class="condition">
|
|
|
<span>真实姓名 </span>
|
|
|
<el-input
|
|
|
clearable
|
|
|
- v-model="searchInput.adminName"
|
|
|
- @clear="searchBtn"
|
|
|
+ v-model="searchInput.name"
|
|
|
class="w-50 m-2"
|
|
|
placeholder="请输入姓名"
|
|
|
style="width: 180px"
|
|
|
+ @clear="searchBtn"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="condition">
|
|
|
@@ -59,9 +60,6 @@
|
|
|
<el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
|
|
|
>添加</el-button
|
|
|
>
|
|
|
- <el-button type="primary" color="rgba(0, 97, 255, 1)" @click="addlist"
|
|
|
- >导出</el-button
|
|
|
- >
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="footer" v-loading="loading">
|
|
|
@@ -84,18 +82,25 @@
|
|
|
type="index"
|
|
|
index="1"
|
|
|
/>
|
|
|
- <el-table-column align="center" prop="corpnPhone" label="账号" />
|
|
|
- <el-table-column align="center" prop="adminName" label="角色" />
|
|
|
- <el-table-column align="center" prop="corpnName" label="真实姓名" />
|
|
|
- <el-table-column align="center" prop="corpnPhone" label="手机号码" />
|
|
|
- <el-table-column align="center" label="部门">
|
|
|
+ <el-table-column align="center" prop="userNumber" label="账号" />
|
|
|
+ <el-table-column align="center" prop="adminName" label="角色">
|
|
|
<template #default="{ row }">
|
|
|
- {{ row.level == 1 ? "管理员" : "超级管理员" }}
|
|
|
+ <span>{{ row.adminMenuName }}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column align="center" prop="remark" label="创建时间" />
|
|
|
+ <el-table-column align="center" prop="name" label="真实姓名" />
|
|
|
+ <el-table-column align="center" prop="phoneNumber" label="手机号码" />
|
|
|
+ <el-table-column align="center" prop="department" label="身份">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <span v-if="row.department==0">其他</span>
|
|
|
+ <span v-if="row.department==1">学生</span>
|
|
|
+ <span v-if="row.department==4">教职工</span>
|
|
|
+ <span v-if="row.department==5">校友</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="createTime" label="创建时间" />
|
|
|
|
|
|
- <el-table-column align="center" label="操作" width="220">
|
|
|
+ <el-table-column align="center" label="操作" width="180">
|
|
|
<template #default="scope">
|
|
|
<div class="options">
|
|
|
<div class="look" @click="edit(scope.row)">编辑</div>
|
|
|
@@ -118,7 +123,7 @@
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
|
|
|
- <!-- 添加车辆弹窗 -->
|
|
|
+ <!-- 添加账号弹窗 -->
|
|
|
<el-dialog
|
|
|
class="addStaff"
|
|
|
v-model="addDialogVisible"
|
|
|
@@ -139,12 +144,46 @@
|
|
|
label-position="left"
|
|
|
status-icon
|
|
|
>
|
|
|
- <el-form-item label="用户名 :" prop="adminName">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.adminName"
|
|
|
- placeholder="请输入用户名"
|
|
|
+ <el-form-item label="微校卡号 :" prop="cardNum">
|
|
|
+ <!-- <el-input
|
|
|
+ v-model="ruleForm.cardNum"
|
|
|
+ placeholder="请输入微校卡号"
|
|
|
clearable
|
|
|
- />
|
|
|
+ :disabled="dialongTitle == '编辑信息'"
|
|
|
+ /> -->
|
|
|
+ <el-select
|
|
|
+ v-model="ruleForm.cardNum"
|
|
|
+ popper-class="more-tag-data"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ :remote-method="conteactMethod"
|
|
|
+ placeholder="请选择微校卡号"
|
|
|
+ style="width: 200px"
|
|
|
+ @change="schoolCardChange"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in schoolCardList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.cardNumber"
|
|
|
+ :value="item.cardNumber"
|
|
|
+ >
|
|
|
+ <span style="float: left">{{
|
|
|
+ `${item.userName} 部门:${item.department} 微校卡号:${item.cardNumber}`
|
|
|
+ }}</span>
|
|
|
+ </el-option>
|
|
|
+ <template #footer>
|
|
|
+ <div class="addStudentMore">
|
|
|
+ <el-button
|
|
|
+ v-if="
|
|
|
+ schoolCardPage < schoolCardTotalPage &&
|
|
|
+ schoolCardTotalPage != 0
|
|
|
+ "
|
|
|
+ @click="addschoolCardListMore"
|
|
|
+ >加载更多+</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="姓名 :" prop="corpnName">
|
|
|
<el-input
|
|
|
@@ -160,6 +199,13 @@
|
|
|
clearable
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="用户名 :" prop="adminName">
|
|
|
+ <el-input
|
|
|
+ v-model="ruleForm.adminName"
|
|
|
+ placeholder="请输入用户名"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="密码 :" prop="password">
|
|
|
<el-input
|
|
|
v-model="ruleForm.password"
|
|
|
@@ -167,29 +213,44 @@
|
|
|
clearable
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="确认密码 :" prop="againPass">
|
|
|
+ <!-- <el-form-item label="确认密码 :" prop="againPass">
|
|
|
<el-input
|
|
|
v-model="ruleForm.againPass"
|
|
|
placeholder="请再一次输入密码"
|
|
|
clearable
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="角色 :" prop="level">
|
|
|
- <el-radio-group v-model="ruleForm.level">
|
|
|
- <el-radio :label="1" v-if="ruleForm.level == 1">管理员</el-radio>
|
|
|
- <el-radio :label="2" v-if="ruleForm.level == 2"
|
|
|
- >超级管理员</el-radio
|
|
|
- >
|
|
|
- </el-radio-group>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="简介 :" prop="remark">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.remark"
|
|
|
- :rows="3"
|
|
|
- type="textarea"
|
|
|
- placeholder="请输入民宿简介信息"
|
|
|
+ </el-form-item> -->
|
|
|
+ <el-form-item label="角色 :" prop="adminMenuId">
|
|
|
+ <el-tree
|
|
|
+ style="max-width: 600px"
|
|
|
+ :data="roleData"
|
|
|
+ ref="editMemberTree"
|
|
|
+ show-checkbox
|
|
|
+ default-expand-all
|
|
|
+ check-strictly
|
|
|
+ node-key="id"
|
|
|
+ :props="defaultProps"
|
|
|
+ @check="editMemberCheckChange"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="身份 :" prop="department">
|
|
|
+ <!-- <el-input
|
|
|
+ v-model="ruleForm.department"
|
|
|
+ placeholder="请输入部门"
|
|
|
+ clearable
|
|
|
+ /> -->
|
|
|
+ <el-select
|
|
|
+ style="width: 200px"
|
|
|
+ v-model="ruleForm.department"
|
|
|
+ class="m-2"
|
|
|
+ placeholder="请选择身份"
|
|
|
+ >
|
|
|
+ <el-option label="学生" value="1" />
|
|
|
+ <el-option label="教职工" value="4" />
|
|
|
+ <el-option label="校友" value="5" />
|
|
|
+ <el-option label="其他" value="0" />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
|
|
|
<el-form-item class="options">
|
|
|
<el-button
|
|
|
@@ -222,7 +283,14 @@
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { ref, reactive, nextTick, onBeforeMount, onUnmounted } from "vue";
|
|
|
+import {
|
|
|
+ ref,
|
|
|
+ watch,
|
|
|
+ reactive,
|
|
|
+ nextTick,
|
|
|
+ onBeforeMount,
|
|
|
+ onUnmounted,
|
|
|
+} from "vue";
|
|
|
import { useRouter } from "vue-router";
|
|
|
import { ElMessage, ElMessageBox } from "element-plus";
|
|
|
import { Calendar } from "@element-plus/icons-vue";
|
|
|
@@ -235,65 +303,56 @@ const router = useRouter();
|
|
|
// 表格数据
|
|
|
const loading = ref(false);
|
|
|
const tableData = reactive({
|
|
|
- list: [
|
|
|
- // {
|
|
|
- // phone: 1234,
|
|
|
- // adminName: "admin",
|
|
|
- // userName: "张三",
|
|
|
- // level: 1,
|
|
|
- // remark: "测试",
|
|
|
- // },
|
|
|
- // {
|
|
|
- // phone: 1234,
|
|
|
- // adminName: "test",
|
|
|
- // userName: "李四",
|
|
|
- // level: 1,
|
|
|
- // remark: "测试11",
|
|
|
- // },
|
|
|
- // {
|
|
|
- // phone: 1234,
|
|
|
- // adminName: "admin1",
|
|
|
- // userName: "张三",
|
|
|
- // level: 1,
|
|
|
- // remark: "测试",
|
|
|
- // },
|
|
|
- // {
|
|
|
- // phone: 1234,
|
|
|
- // adminName: "admin2",
|
|
|
- // userName: "张三",
|
|
|
- // level: 1,
|
|
|
- // remark: "测试",
|
|
|
- // },
|
|
|
- ],
|
|
|
+ list: [],
|
|
|
});
|
|
|
const activeIndex = ref(); // 默认跳转路由
|
|
|
const dialongTitle = ref("新增账号"); // 弹窗标题
|
|
|
|
|
|
const searchInput = reactive({
|
|
|
- adminName: "",
|
|
|
+ status: "",
|
|
|
+ name: "",
|
|
|
+ createTime: "",
|
|
|
}); // 搜索按钮数据
|
|
|
-5;
|
|
|
+
|
|
|
+watch(
|
|
|
+ () => searchInput.createTime,
|
|
|
+ (newVal, oldVal) => {
|
|
|
+ console.log("监听时间:", newVal);
|
|
|
+ if (newVal == null) {
|
|
|
+ getList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+);
|
|
|
|
|
|
const currentPage = ref(1); // 当前页
|
|
|
const pageSize = ref(10);
|
|
|
const total = ref(); // 当前总数
|
|
|
-const selectData = reactive({
|
|
|
- list: [],
|
|
|
-}); // 多选框选择的数据
|
|
|
+
|
|
|
const api = ref("");
|
|
|
-const addDialogVisible = ref(false); // 控制添加员工弹窗
|
|
|
+const schoolCardList = ref();
|
|
|
+const schoolCardSearch = ref(); // 微信卡号下拉框搜索词
|
|
|
+const schoolCardPage = ref(1);
|
|
|
+const schoolCardSize = ref(20);
|
|
|
+const schoolCardTotalPage = ref();
|
|
|
+const addDialogVisible = ref(false); // 控制添加账号弹窗
|
|
|
+const editMemberTree = ref(); // 角色ref
|
|
|
+const roleData = ref(); // 角色列表
|
|
|
|
|
|
+const defaultProps = ref({
|
|
|
+ children: "children",
|
|
|
+ label: "name",
|
|
|
+});
|
|
|
// 表单数据
|
|
|
const formSize = ref("default");
|
|
|
const ruleFormRef = ref();
|
|
|
const ruleForm = reactive({
|
|
|
+ adminMenuId: "",
|
|
|
+ cardNum: "",
|
|
|
+ corpnName: "",
|
|
|
corpnPhone: "",
|
|
|
adminName: "",
|
|
|
- corpnName: "",
|
|
|
- level: 1,
|
|
|
- remark: "",
|
|
|
password: "",
|
|
|
- againPass: "",
|
|
|
+ department: "",
|
|
|
id: "",
|
|
|
});
|
|
|
var checkUserName = (rule, value, callback) => {
|
|
|
@@ -343,6 +402,7 @@ const rules = reactive({
|
|
|
{ required: true, message: "用户名不能为空", trigger: "blur" },
|
|
|
{ validator: checkUserName, trigger: "blur" },
|
|
|
],
|
|
|
+ cardNum: [{ required: true, message: "微校卡号不能为空", trigger: "blur" }],
|
|
|
// ^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$
|
|
|
password: [
|
|
|
{
|
|
|
@@ -354,8 +414,9 @@ const rules = reactive({
|
|
|
min: 8,
|
|
|
max: 20,
|
|
|
pattern:
|
|
|
- /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
|
|
|
- message: "请输入8-20位正确密码(大小写字母·字符·数字)",
|
|
|
+ // /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[!@#$%^&*,\._\+(){}])[0-9a-zA-Z!@#$%^&*,\\._\+(){}]{8,20}$/,
|
|
|
+ /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{8,20}$/,
|
|
|
+ message: "请输入8-20位正确密码(大小写字母·数字·(字符可选填))",
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
@@ -374,17 +435,17 @@ const rules = reactive({
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
- level: [
|
|
|
+ adminMenuId: [
|
|
|
{
|
|
|
required: true,
|
|
|
message: "角色不能为空",
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
- remark: [
|
|
|
+ department: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: "备注不能为空",
|
|
|
+ message: "部门不能为空",
|
|
|
trigger: "blur",
|
|
|
},
|
|
|
],
|
|
|
@@ -399,29 +460,40 @@ const rules = reactive({
|
|
|
|
|
|
// desc: [{ required: true, message: "Please input activity form", trigger: "blur" }],
|
|
|
});
|
|
|
+
|
|
|
// 获取账户列表
|
|
|
const getList = async () => {
|
|
|
- // if (searchInput.account) {
|
|
|
- // data.adminName = searchInput.adminName;
|
|
|
- // }
|
|
|
loading.value = true;
|
|
|
let data = {
|
|
|
page: currentPage.value, // 当前页
|
|
|
- rows: pageSize.value, // 一页数据条数
|
|
|
- adminName: searchInput.adminName, //用户名
|
|
|
- managerId: sessionStorage.getItem("token"),
|
|
|
+ size: pageSize.value, // 一页数据条数
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
+ keyWord: searchInput.name,
|
|
|
+ status: searchInput.status,
|
|
|
};
|
|
|
+ if (searchInput.createTime) {
|
|
|
+ data.startTime = searchInput.createTime[0];
|
|
|
+ data.endTime = searchInput.createTime[1];
|
|
|
+ }
|
|
|
let res = await axios({
|
|
|
method: "get",
|
|
|
- url: api.value + "/mhotel/managerAdminqueryPage.action",
|
|
|
+ url: api.value + "/admin/getListPage",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
console.log(res, "账号信息");
|
|
|
if (res.data.code == 200) {
|
|
|
- tableData.list = res.data.data.pageList;
|
|
|
+ res.data.data.records.forEach((item) => {
|
|
|
+ if (item.adminMenu) {
|
|
|
+ item.adminMenuName = item.adminMenu.name;
|
|
|
+ } else {
|
|
|
+ item.adminMenuName = "";
|
|
|
+ }
|
|
|
+ });
|
|
|
+ tableData.list = res.data.data.records;
|
|
|
total.value = res.data.data.total;
|
|
|
loading.value = false;
|
|
|
// ElMessage({
|
|
|
@@ -440,24 +512,138 @@ const getList = async () => {
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
+// 微校卡号数据
|
|
|
+const schoolData = async () => {
|
|
|
+ let data = {
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
+ page: schoolCardPage.value,
|
|
|
+ size: schoolCardSize.value,
|
|
|
+ keyWord: schoolCardSearch.value,
|
|
|
+ };
|
|
|
+ let res = await axios({
|
|
|
+ method: "get",
|
|
|
+ url: api.value + "/admin/getUsersPage",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
+ },
|
|
|
+ params: data,
|
|
|
+ });
|
|
|
+ console.log(res, "微校卡号人");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ schoolCardList.value = res.data.data.records;
|
|
|
+ schoolCardTotalPage.value = res.data.data.pages;
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
+// 微校卡号搜索
|
|
|
+const conteactMethod = (query) => {
|
|
|
+ console.log(query);
|
|
|
+ schoolCardSearch.value = query;
|
|
|
+ schoolData();
|
|
|
+};
|
|
|
+// 加载更多微校卡号
|
|
|
+const addschoolCardListMore = async () => {
|
|
|
+ if (schoolCardPage.value < schoolCardTotalPage.value) {
|
|
|
+ schoolCardPage.value++;
|
|
|
+ // console.log(conteactListInput.value, "滚动里面");
|
|
|
+ let data = {
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
+ page: schoolCardPage.value,
|
|
|
+ size: schoolCardSize.value,
|
|
|
+ keyWord: schoolCardSearch.value,
|
|
|
+ };
|
|
|
+ let res = await axios({
|
|
|
+ method: "get",
|
|
|
+ url: api.value + "/admin/getUsersPage",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
+ },
|
|
|
+ params: data,
|
|
|
+ });
|
|
|
+ console.log(res, "微校卡号人员加载更多");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ // schoolCardList.value = res.data.data.records;
|
|
|
+ // schoolCardTotalPage.value = res.data.data.pages;
|
|
|
+ schoolCardList.value = [
|
|
|
+ ...schoolCardList.value,
|
|
|
+ ...res.data.data.records,
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.log("数据全部加载完成");
|
|
|
+ }
|
|
|
+};
|
|
|
+// 改变微校卡号
|
|
|
+const schoolCardChange = (value) => {
|
|
|
+ console.log(value);
|
|
|
+};
|
|
|
+// 角色列表数据
|
|
|
+const roleList = async () => {
|
|
|
+ let res = await axios({
|
|
|
+ method: "get",
|
|
|
+ url: api.value + "/admin-menu/getRole",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
+ },
|
|
|
+ });
|
|
|
+ console.log(res, "角色列表");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ roleData.value = res.data.data;
|
|
|
+ } else {
|
|
|
+ ElMessage({
|
|
|
+ type: "error",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
|
|
|
// 搜索功能
|
|
|
const searchBtn = lodash.debounce(async () => {
|
|
|
getList();
|
|
|
}, 300);
|
|
|
|
|
|
-// 添加员工
|
|
|
+// 添加账号
|
|
|
const addlist = () => {
|
|
|
dialongTitle.value = "新增账号";
|
|
|
addDialogVisible.value = true;
|
|
|
ruleForm.corpnPhone = "";
|
|
|
- ruleForm.adminName = "";
|
|
|
ruleForm.corpnName = "";
|
|
|
- ruleForm.level = 1;
|
|
|
- ruleForm.remake = "";
|
|
|
+ ruleForm.adminName = "";
|
|
|
+ ruleForm.cardNum = "";
|
|
|
+ ruleForm.adminMenuId = "";
|
|
|
ruleForm.password = "";
|
|
|
- ruleForm.againPass = "";
|
|
|
- ruleForm.reamark = "";
|
|
|
+ ruleForm.department = "";
|
|
|
+ ruleForm.id = "";
|
|
|
+ nextTick(() => {
|
|
|
+ editMemberTree.value.setCheckedKeys([]);
|
|
|
+ });
|
|
|
+};
|
|
|
+// 勾选角色
|
|
|
+const editMemberCheckChange = (data, nodes) => {
|
|
|
+ // console.log(data, nodes, "勾选角色");
|
|
|
+ editMemberTree.value.setCheckedKeys([]);
|
|
|
+ nextTick(() => {
|
|
|
+ editMemberTree.value.setCheckedKeys([data.id]);
|
|
|
+ ruleForm.adminMenuId = data.id;
|
|
|
+ });
|
|
|
};
|
|
|
// 取消添加员工
|
|
|
const cancelAdd = () => {
|
|
|
@@ -468,110 +654,102 @@ const cancelAdd = () => {
|
|
|
const edit = (row) => {
|
|
|
dialongTitle.value = "编辑信息";
|
|
|
addDialogVisible.value = true;
|
|
|
- ruleForm.adminName = row.adminName;
|
|
|
- ruleForm.corpnName = row.corpnName;
|
|
|
- ruleForm.level = Number(row.level);
|
|
|
- ruleForm.remark = row.remark;
|
|
|
- ruleForm.password = row.password;
|
|
|
- ruleForm.againPass = row.password;
|
|
|
- ruleForm.corpnPhone = row.corpnPhone;
|
|
|
+ ruleForm.corpnPhone = row.phoneNumber;
|
|
|
+ ruleForm.corpnName = row.name;
|
|
|
+ ruleForm.adminName = row.userNumber;
|
|
|
+ ruleForm.cardNum = row.cardNumber;
|
|
|
+ ruleForm.adminMenuId = row.usersId;
|
|
|
+ ruleForm.password = row.passWord;
|
|
|
+ ruleForm.department = row.department;
|
|
|
ruleForm.id = row.id;
|
|
|
+ nextTick(() => {
|
|
|
+ editMemberTree.value.setCheckedKeys([row.adminMenu.id]);
|
|
|
+ });
|
|
|
};
|
|
|
// 确认添加员工
|
|
|
const submitAdd = lodash.debounce(async (formEl) => {
|
|
|
if (!formEl) return;
|
|
|
await formEl.validate(async (valid, fields) => {
|
|
|
if (valid) {
|
|
|
- if (dialongTitle.value == "新增账号") {
|
|
|
- if (ruleForm.password == ruleForm.againPass) {
|
|
|
- let data = {
|
|
|
- adminName: ruleForm.adminName,
|
|
|
- corpnName: ruleForm.corpnName,
|
|
|
- level: ruleForm.level,
|
|
|
- remark: ruleForm.remark,
|
|
|
- password: ruleForm.password,
|
|
|
- corpnPhone: ruleForm.corpnPhone,
|
|
|
- managerId: sessionStorage.getItem("token"),
|
|
|
- };
|
|
|
- let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/mhotel/managerAdmininsertAdminManager.action",
|
|
|
- headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- },
|
|
|
- params: data,
|
|
|
+ if (ruleForm.id) {
|
|
|
+ let data = {
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
+ cardNumber: ruleForm.cardNum,
|
|
|
+ admin: {
|
|
|
+ adminMenuId: ruleForm.adminMenuId,
|
|
|
+ // usersId: ruleForm.cardNum,
|
|
|
+ name: ruleForm.corpnName,
|
|
|
+ userNumber: ruleForm.adminName,
|
|
|
+ passWord: ruleForm.password,
|
|
|
+ phoneNumber: ruleForm.corpnPhone,
|
|
|
+ department: ruleForm.department,
|
|
|
+ id: ruleForm.id,
|
|
|
+ },
|
|
|
+ };
|
|
|
+ let res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/admin/update",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
+ },
|
|
|
+ data: data,
|
|
|
+ });
|
|
|
+ console.log(res, "编辑账号");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ getList();
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
});
|
|
|
- console.log(res, "添加账号");
|
|
|
- if (res.data.code == 200) {
|
|
|
- getList();
|
|
|
- ElMessage({
|
|
|
- type: "success",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- addDialogVisible.value = false;
|
|
|
- ruleFormRef.value.resetFields();
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
+ addDialogVisible.value = false;
|
|
|
+ ruleFormRef.value.resetFields();
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
- message: "两次密码输入不一致",
|
|
|
+ message: res.data.message,
|
|
|
center: true,
|
|
|
});
|
|
|
}
|
|
|
} else {
|
|
|
- if (ruleForm.password == ruleForm.againPass) {
|
|
|
- let data = {
|
|
|
- adminName: ruleForm.adminName,
|
|
|
- corpnName: ruleForm.corpnName,
|
|
|
- level: ruleForm.level,
|
|
|
- remark: ruleForm.remark,
|
|
|
- password: ruleForm.password,
|
|
|
- corpnPhone: ruleForm.corpnPhone,
|
|
|
- id: ruleForm.id,
|
|
|
- };
|
|
|
- let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/mhotel/managerAdminupdateAdminManager.action",
|
|
|
- headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- params: data,
|
|
|
+ let data = {
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
+ adminMenuId: ruleForm.adminMenuId,
|
|
|
+ cardNumber: ruleForm.cardNum,
|
|
|
+ name: ruleForm.corpnName,
|
|
|
+ userNumber: ruleForm.adminName,
|
|
|
+ passWord: ruleForm.password,
|
|
|
+ phoneNumber: ruleForm.corpnPhone,
|
|
|
+ department: ruleForm.department,
|
|
|
+ };
|
|
|
+ let res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/admin/save",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
+ },
|
|
|
+ data: data,
|
|
|
+ });
|
|
|
+ console.log(res, "添加账号");
|
|
|
+ if (res.data.code == 200) {
|
|
|
+ getList();
|
|
|
+ ElMessage({
|
|
|
+ type: "success",
|
|
|
+ showClose: true,
|
|
|
+ message: res.data.message,
|
|
|
+ center: true,
|
|
|
});
|
|
|
- // console.log(res, "修改账号");
|
|
|
- if (res.data.code == 200) {
|
|
|
- getList();
|
|
|
- ElMessage({
|
|
|
- type: "success",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- addDialogVisible.value = false;
|
|
|
- ruleFormRef.value.resetFields();
|
|
|
- } else {
|
|
|
- ElMessage({
|
|
|
- type: "error",
|
|
|
- showClose: true,
|
|
|
- message: res.data.message,
|
|
|
- center: true,
|
|
|
- });
|
|
|
- }
|
|
|
+ addDialogVisible.value = false;
|
|
|
+ ruleFormRef.value.resetFields();
|
|
|
} else {
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
- message: "两次密码输入不一致",
|
|
|
+ message: res.data.message,
|
|
|
center: true,
|
|
|
});
|
|
|
}
|
|
|
@@ -587,13 +765,14 @@ const del = async (row) => {
|
|
|
// console.log(row);
|
|
|
let data = {
|
|
|
id: row.id,
|
|
|
+ permissionSettingId: sessionStorage.getItem("permissionSettingId"),
|
|
|
};
|
|
|
let res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/mhotel/managerAdmindelAdmin.action",
|
|
|
+ method: "get",
|
|
|
+ url: api.value + "/admin/delete",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("user_head"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -685,6 +864,8 @@ const handleCurrentChange = (value) => {
|
|
|
onBeforeMount(() => {
|
|
|
api.value = store.state.user.api;
|
|
|
getList();
|
|
|
+ roleList();
|
|
|
+ schoolData();
|
|
|
});
|
|
|
onUnmounted(() => {
|
|
|
// document.removeEventListener("keyup", Enters);
|
|
|
@@ -846,7 +1027,7 @@ onUnmounted(() => {
|
|
|
}
|
|
|
}
|
|
|
.el-dialog__body {
|
|
|
- padding: 30px 20px 10px 20px;
|
|
|
+ padding: 20px 20px 10px 20px;
|
|
|
.el-input {
|
|
|
width: 200px;
|
|
|
.el-input__suffix-inner {
|
|
|
@@ -933,3 +1114,17 @@ onUnmounted(() => {
|
|
|
width: 192px;
|
|
|
}
|
|
|
</style>
|
|
|
+<style lang="scss">
|
|
|
+//添加成员 联系人下拉框样式
|
|
|
+.more-tag-data {
|
|
|
+ // border: 1px solid red;
|
|
|
+ .el-select-dropdown__wrap {
|
|
|
+ height: 200px;
|
|
|
+ }
|
|
|
+}
|
|
|
+.el-popper {
|
|
|
+ .addStudentMore {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|