|
|
@@ -29,6 +29,7 @@
|
|
|
}}</span>
|
|
|
</div>
|
|
|
<el-dropdown
|
|
|
+ v-if="data.isManage == 1"
|
|
|
@command="handleCommand"
|
|
|
:hide-on-click="false"
|
|
|
trigger="click"
|
|
|
@@ -93,6 +94,7 @@
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="addMemberClick"
|
|
|
+ :disabled="isManage!=1"
|
|
|
plain
|
|
|
>添加成员</el-button
|
|
|
>
|
|
|
@@ -100,15 +102,16 @@
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="moveMemberClick"
|
|
|
+ :disabled="isManage!=1"
|
|
|
plain
|
|
|
>移动成员</el-button
|
|
|
>
|
|
|
|
|
|
- <el-dropdown>
|
|
|
+ <el-dropdown >
|
|
|
<el-button color="rgba(0, 97, 255, 1)" plain>批量操作</el-button>
|
|
|
<template #dropdown>
|
|
|
<el-dropdown-menu>
|
|
|
- <el-dropdown-item @click="addBatchClick"
|
|
|
+ <el-dropdown-item :disabled="isManage!=1" @click="addBatchClick"
|
|
|
>批量导入</el-dropdown-item
|
|
|
>
|
|
|
<!-- <el-dropdown-item @click="delBatchClick"
|
|
|
@@ -128,6 +131,7 @@
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="delDelClick"
|
|
|
+ :disabled="isManage!=1"
|
|
|
plain
|
|
|
>勾选删除</el-button
|
|
|
>
|
|
|
@@ -141,6 +145,7 @@
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="importExcel"
|
|
|
+ :disabled="isManage!=1"
|
|
|
plain
|
|
|
>导出用户</el-button
|
|
|
>
|
|
|
@@ -149,6 +154,7 @@
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="DelRecordClick"
|
|
|
+ :disabled="isManage!=1"
|
|
|
plain
|
|
|
>删除记录</el-button
|
|
|
>
|
|
|
@@ -172,14 +178,14 @@
|
|
|
<el-table-column align="center" prop="department" label="部门" />
|
|
|
<el-table-column align="center" prop="cardNo" label="学号" />
|
|
|
<el-table-column align="center" prop="img" label="人脸照片">
|
|
|
- <template #default="{ row }">
|
|
|
+ <template #default="{ row }" >
|
|
|
<div class="img">
|
|
|
<img @click="imgClick(row)" :src="row.headImage" alt="" />
|
|
|
</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" label="操作" width="200">
|
|
|
- <template #default="scope">
|
|
|
+ <template #default="scope" v-if="isManage==1">
|
|
|
<div class="edit">
|
|
|
<div class="look" @click="editClick(scope.row)">编辑</div>
|
|
|
</div>
|
|
|
@@ -195,8 +201,10 @@
|
|
|
background
|
|
|
:current-page="currentPage"
|
|
|
:page-size="pageSize"
|
|
|
- layout="total, prev, pager, next, jumper, slot"
|
|
|
+ :page-sizes="[10, 20, 50, 100]"
|
|
|
+ layout="total,sizes, prev, pager, next, jumper, slot"
|
|
|
:total="total"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
@update:current-page="handleCurrentChange"
|
|
|
/>
|
|
|
</div>
|
|
|
@@ -247,6 +255,7 @@
|
|
|
placeholder="请选择身份"
|
|
|
style="width: 500px"
|
|
|
@change="identityChange"
|
|
|
+ clearable
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="i in identityData"
|
|
|
@@ -260,16 +269,11 @@
|
|
|
label="职务 :"
|
|
|
:prop="addMemberRuleForm.identity == 3 ? 'duty' : ''"
|
|
|
>
|
|
|
- <el-tooltip
|
|
|
- class="box-item"
|
|
|
- effect="dark"
|
|
|
- content="请先选择身份"
|
|
|
- placement="top-start"
|
|
|
- >
|
|
|
- <el-select
|
|
|
+ <el-select
|
|
|
v-model="addMemberRuleForm.duty"
|
|
|
- placeholder="请选择职务"
|
|
|
+ placeholder="先选择身份再选择职务"
|
|
|
style="width: 500px"
|
|
|
+ clearable
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="i in postData"
|
|
|
@@ -277,8 +281,14 @@
|
|
|
:value="`${i.id}`"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- </el-tooltip>
|
|
|
-
|
|
|
+ <!-- <el-tooltip
|
|
|
+ class="box-item"
|
|
|
+ effect="dark"
|
|
|
+ content="请先选择身份"
|
|
|
+ placement="top-start"
|
|
|
+ >
|
|
|
+
|
|
|
+ </el-tooltip> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="身份证号 :" prop="icCard">
|
|
|
<el-input
|
|
|
@@ -312,6 +322,7 @@
|
|
|
:render-after-expand="false"
|
|
|
style="width: 500px"
|
|
|
:props="{ label: 'name', value: 'id' }"
|
|
|
+ clearable
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="人脸照片 :" prop="facePhoto">
|
|
|
@@ -351,13 +362,18 @@
|
|
|
<el-form-item
|
|
|
v-if="addMemberRuleForm.identity != 1"
|
|
|
label="年级 :"
|
|
|
- :prop="(addMemberRuleForm.identity == 3 && addMemberRuleForm.duty!=1) ? '' : 'grade'"
|
|
|
+ :prop="
|
|
|
+ addMemberRuleForm.identity == 3 && addMemberRuleForm.duty != 1
|
|
|
+ ? ''
|
|
|
+ : 'grade'
|
|
|
+ "
|
|
|
>
|
|
|
<el-select
|
|
|
v-model="addMemberRuleForm.grade"
|
|
|
placeholder="请选择年级"
|
|
|
style="width: 500px"
|
|
|
@change="classsListChange"
|
|
|
+ clearable
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="i in gradeData"
|
|
|
@@ -369,12 +385,17 @@
|
|
|
<el-form-item
|
|
|
v-if="addMemberRuleForm.identity != 1"
|
|
|
label="班级 :"
|
|
|
- :prop="(addMemberRuleForm.identity == 3&& addMemberRuleForm.duty!=1) ? '' : 'class'"
|
|
|
+ :prop="
|
|
|
+ addMemberRuleForm.identity == 3 && addMemberRuleForm.duty != 1
|
|
|
+ ? ''
|
|
|
+ : 'class'
|
|
|
+ "
|
|
|
>
|
|
|
<el-select
|
|
|
v-model="addMemberRuleForm.class"
|
|
|
placeholder="请选择班级"
|
|
|
style="width: 500px"
|
|
|
+ clearable
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="i in classsData"
|
|
|
@@ -383,11 +404,16 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="时间组 :" prop="timeGroupId">
|
|
|
+ <el-form-item
|
|
|
+ v-if="addMemberRuleForm.identity != 3"
|
|
|
+ label="时间组 :"
|
|
|
+ prop="timeGroupId"
|
|
|
+ >
|
|
|
<el-select
|
|
|
v-model="addMemberRuleForm.timeGroupId"
|
|
|
placeholder="请选择时间"
|
|
|
style="width: 500px"
|
|
|
+ clearable
|
|
|
>
|
|
|
<el-option
|
|
|
v-for="i in timeGroupList"
|
|
|
@@ -492,6 +518,18 @@
|
|
|
>{{ item.id }}</span
|
|
|
>
|
|
|
</el-option>
|
|
|
+ <template #footer>
|
|
|
+ <div class="addStudentMore">
|
|
|
+ <el-button
|
|
|
+ v-if="
|
|
|
+ conteactListCurrentPage < conteactListTotalPage &&
|
|
|
+ conteactListTotalPage != 0
|
|
|
+ "
|
|
|
+ @click="addStudentListMore"
|
|
|
+ >加载更多+</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<div class="title">
|
|
|
@@ -562,7 +600,11 @@
|
|
|
</div>
|
|
|
<div class="content">
|
|
|
<div class="form">
|
|
|
- <div class="imgUpload" v-loading="allImgShow" element-loading-text="导入中...">
|
|
|
+ <div
|
|
|
+ class="imgUpload"
|
|
|
+ v-loading="allImgShow"
|
|
|
+ element-loading-text="导入中..."
|
|
|
+ >
|
|
|
<el-upload
|
|
|
style="width: 500px"
|
|
|
class="upload-demo"
|
|
|
@@ -579,9 +621,9 @@
|
|
|
>
|
|
|
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
|
|
<div class="el-upload__text">
|
|
|
- <span style="font-size: 20px">点击上传或拖拽文件</span><br /><em
|
|
|
- >请按照标准模板填写信息</em
|
|
|
- >
|
|
|
+ <span style="font-size: 20px">点击上传或拖拽文件</span><br />
|
|
|
+ <em>请按照标准模板填写信息</em><br />
|
|
|
+ <em> </em>
|
|
|
</div>
|
|
|
<!-- <template #tip>
|
|
|
<div class="el-upload__tip">
|
|
|
@@ -606,7 +648,8 @@
|
|
|
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
|
|
|
<div class="el-upload__text">
|
|
|
<span style="font-size: 20px">点击上传图片文件夹</span><br />
|
|
|
- <em> 图片格式为jpeg/jpg/png格式且每张图片不能超过2MB </em>
|
|
|
+ <em> 图片格式为jpeg/jpg/png格式且每张图片不能超过2MB </em><br />
|
|
|
+ <em> 上传文件夹中照片不要超过1000张 </em>
|
|
|
</div>
|
|
|
<!-- <template #tip>
|
|
|
<div class="el-upload__tip">
|
|
|
@@ -630,7 +673,12 @@
|
|
|
>开始导入</el-button
|
|
|
>
|
|
|
<span
|
|
|
- style="width: 120px;margin-left:20px;cursor: pointer;color:rgba(0, 97, 255, 1)"
|
|
|
+ style="
|
|
|
+ width: 120px;
|
|
|
+ margin-left: 20px;
|
|
|
+ cursor: pointer;
|
|
|
+ color: rgba(0, 97, 255, 1);
|
|
|
+ "
|
|
|
@click="resetImport"
|
|
|
>重置</span
|
|
|
>
|
|
|
@@ -695,8 +743,8 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 删除记录页面 -->
|
|
|
- <div class="delRecord" v-if="delRecordShow">
|
|
|
+ <!-- 删除记录页面 -->
|
|
|
+ <div class="delRecord" v-if="delRecordShow">
|
|
|
<div class="left">
|
|
|
<img src="@/assets/images/close.png" alt="" @click="delRecordClose" />
|
|
|
<span class="add">{{ addMemberTitle }}</span>
|
|
|
@@ -1200,6 +1248,7 @@ const dataSource = ref([
|
|
|
// 被点击的树形节点 id
|
|
|
const treeNodeId = ref();
|
|
|
const treeNodeName = ref();
|
|
|
+const isManage=ref()// 判断当前节点是否是编辑权限
|
|
|
|
|
|
// 主页面数据(----------------------------------------------)
|
|
|
// 表格数据
|
|
|
@@ -1223,7 +1272,7 @@ const searchInput = reactive({
|
|
|
}); // 搜索按钮数据
|
|
|
const homeShow = ref(true);
|
|
|
const currentPage = ref(1); // 当前页
|
|
|
-const pageSize = ref(7);
|
|
|
+const pageSize = ref(10);
|
|
|
const total = ref(8); // 当前总数
|
|
|
|
|
|
// 修改部门 (----------------------------------------------)
|
|
|
@@ -1294,34 +1343,38 @@ const timeGroupList = ref(); // 时间组下拉数据
|
|
|
|
|
|
const conteactListData = ref(); // 联系人下拉数据
|
|
|
const conteactListCurrentPage = ref(1); // 联系人下拉当前页数
|
|
|
-const conteactListPageCount = ref(10); // 联系人下拉一页数据条数
|
|
|
+const conteactListPageCount = ref(30); // 联系人下拉一页数据条数
|
|
|
const conteactListTotalPage = ref(); // 联系人总共多少页,判断滚动到底是否还要加载
|
|
|
const conteactListInput = ref(); // 联系人下拉框中的搜索字段
|
|
|
const conteactLoading = ref(false); // 联系人下拉框搜索时加载
|
|
|
|
|
|
const upload = ref(); // 人脸照片
|
|
|
// 表单验证
|
|
|
-const checkPhone=(rule, value, callback)=>{
|
|
|
- var reg = /^(0|\+?86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
|
|
|
- if (!reg.test(value)) {
|
|
|
- callback(new Error("手机号格式不对"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
-}
|
|
|
-const checkIccard=(rule, value, callback)=>{
|
|
|
+const checkPhone = (rule, value, callback) => {
|
|
|
+ var reg =
|
|
|
+ /^(0|\+?86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/;
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ callback(new Error("手机号格式不对"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+};
|
|
|
+const checkIccard = (rule, value, callback) => {
|
|
|
var reg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
|
|
|
- if (!reg.test(value)) {
|
|
|
- callback(new Error("身份证号格式不对"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
-}
|
|
|
+ if (!reg.test(value)) {
|
|
|
+ callback(new Error("身份证号格式不对"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+};
|
|
|
const addMemberRules = reactive({
|
|
|
serialNumber: [{ required: true, message: "学号不能为空", trigger: "blur" }],
|
|
|
name: [{ required: true, message: "姓名不能为空", trigger: "blur" }],
|
|
|
identity: [{ required: true, message: "身份不能为空", trigger: "change" }],
|
|
|
- icCard: [{ required: true, message: "身份证号不能为空", trigger: "blur" },{ validator: checkIccard, trigger: "blur" }],
|
|
|
+ icCard: [
|
|
|
+ { required: true, message: "身份证号不能为空", trigger: "blur" },
|
|
|
+ { validator: checkIccard, trigger: "blur" },
|
|
|
+ ],
|
|
|
sex: [{ required: true, message: "性别不能为空", trigger: "blur" }],
|
|
|
department: [{ required: true, message: "部门不能为空", trigger: "change" }],
|
|
|
facePhoto: [{ required: true, message: "人脸照片不能为空", trigger: "blur" }],
|
|
|
@@ -1331,8 +1384,10 @@ const addMemberRules = reactive({
|
|
|
class: [{ required: true, message: "班级不能为空", trigger: "change" }],
|
|
|
// school: [{ required: true, message: "校区不能为空", trigger: "blur" }],
|
|
|
// dormitory: [{ required: true, message: "宿舍号不能为空", trigger: "blur" }],
|
|
|
- phone: [{ required: true, message: "手机号不能为空", trigger: "blur" },
|
|
|
- { validator: checkPhone, trigger: "blur" }],
|
|
|
+ phone: [
|
|
|
+ { required: true, message: "手机号不能为空", trigger: "blur" },
|
|
|
+ { validator: checkPhone, trigger: "blur" },
|
|
|
+ ],
|
|
|
contact: [{ required: true, message: "关联人不能为空", trigger: "blur" }],
|
|
|
// jobName: [{ required: true, message: "职称不能为空", trigger: "blur" }],
|
|
|
houseAddress: [
|
|
|
@@ -1453,10 +1508,10 @@ const moveSearchInput = ref(); // 移动部门中关键字搜索
|
|
|
const treeSelData = reactive({ list: [] }); //
|
|
|
|
|
|
// 删除记录页面
|
|
|
-const delRecordDatas=ref() // 删除记录
|
|
|
-const delRecordTotal=ref()// 删除记录数量
|
|
|
-const delRecordCurrentPage=ref(1)
|
|
|
-const delRecordPageSize=ref(8)
|
|
|
+const delRecordDatas = ref(); // 删除记录
|
|
|
+const delRecordTotal = ref(); // 删除记录数量
|
|
|
+const delRecordCurrentPage = ref(1);
|
|
|
+const delRecordPageSize = ref(8);
|
|
|
const delRecordShow = ref(false);
|
|
|
|
|
|
// 勾选删除
|
|
|
@@ -1489,8 +1544,8 @@ const getList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartUser/queryPageSmartUser",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -1524,8 +1579,8 @@ const getDepartment = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartDepartment/queryDepartmentTree",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -1534,8 +1589,9 @@ const getDepartment = async () => {
|
|
|
loading.value = false;
|
|
|
if (treeNodeId.value && treeNodeName.value) {
|
|
|
} else {
|
|
|
- treeNodeId.value = JSON.parse(eds.decryptDes(res.data.data))[0].id;
|
|
|
- treeNodeName.value = JSON.parse(eds.decryptDes(res.data.data))[0].name;
|
|
|
+ treeNodeId.value = JSON.parse(eds.decryptDes(res.data.data))[0].id;
|
|
|
+ treeNodeName.value = JSON.parse(eds.decryptDes(res.data.data))[0].name;
|
|
|
+ isManage.value=JSON.parse(eds.decryptDes(res.data.data))[0].isManage
|
|
|
getList();
|
|
|
}
|
|
|
dataSource.value = JSON.parse(eds.decryptDes(res.data.data));
|
|
|
@@ -1559,6 +1615,7 @@ const getDepartment = async () => {
|
|
|
const nodeClick = (node, data) => {
|
|
|
treeNodeId.value = data.id;
|
|
|
treeNodeName.value = data.name;
|
|
|
+ isManage.value=data.isManage
|
|
|
getList();
|
|
|
console.log(data);
|
|
|
};
|
|
|
@@ -1591,8 +1648,8 @@ const confirmAmendBM = async (formEl) => {
|
|
|
url:
|
|
|
api.value + "/wanzai/api/smartDepartment/updateSmartDepartmentById",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -1651,8 +1708,8 @@ const confirmAddBM = async (formEl) => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartDepartment/insertSmartDepartment",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -1726,19 +1783,23 @@ const classDataList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartIdentity/querySmartIdentitys",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
// params: data,
|
|
|
});
|
|
|
- console.log(identity,JSON.parse(eds.decryptDes(identity.data.data)), "身份下拉数据");
|
|
|
+ console.log(
|
|
|
+ identity,
|
|
|
+ JSON.parse(eds.decryptDes(identity.data.data)),
|
|
|
+ "身份下拉数据"
|
|
|
+ );
|
|
|
identityData.value = JSON.parse(eds.decryptDes(identity.data.data));
|
|
|
let grade = await axios({
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartGrade/querySmartGrades",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
// params: data,
|
|
|
});
|
|
|
@@ -1749,8 +1810,8 @@ const classDataList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartUser/timeGroups",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
// params: data,
|
|
|
});
|
|
|
@@ -1770,8 +1831,8 @@ const studentList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartScore/querySmartSecordPage",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -1790,8 +1851,8 @@ const postList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartDuties/queryDutiesByIdentity",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -1816,13 +1877,13 @@ const classsList = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartClass/querySmartClasss",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
console.log(classs, "班级下拉数据");
|
|
|
- if(classs.data.code==200){
|
|
|
+ if (classs.data.code == 200) {
|
|
|
classsData.value = JSON.parse(eds.decryptDes(classs.data.data));
|
|
|
}
|
|
|
};
|
|
|
@@ -1871,8 +1932,8 @@ const addStudentListScroll = () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartScore/querySmartSecordPage",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -1889,6 +1950,33 @@ const addStudentListScroll = () => {
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
+const addStudentListMore = async () => {
|
|
|
+ if (conteactListCurrentPage.value < conteactListTotalPage.value) {
|
|
|
+ conteactListCurrentPage.value++;
|
|
|
+ console.log(conteactListInput.value, "滚动里面");
|
|
|
+ let data = {
|
|
|
+ currentPage: conteactListCurrentPage.value,
|
|
|
+ pageCount: conteactListPageCount.value,
|
|
|
+ name: conteactListInput.value,
|
|
|
+ };
|
|
|
+ let res = await axios({
|
|
|
+ method: "get",
|
|
|
+ url: api.value + "/wanzai/api/smartScore/querySmartSecordPage",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ params: data,
|
|
|
+ });
|
|
|
+ console.log(res, "联系人数据");
|
|
|
+ conteactListData.value = [
|
|
|
+ ...conteactListData.value,
|
|
|
+ ...JSON.parse(eds.decryptDes(res.data.data)).list,
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ console.log("数据全部加载完成");
|
|
|
+ }
|
|
|
+};
|
|
|
// 联系人下拉框搜索时加载
|
|
|
const conteactMethod = (query) => {
|
|
|
console.log(query);
|
|
|
@@ -1899,12 +1987,12 @@ const conteactMethod = (query) => {
|
|
|
// 添加成员弹窗
|
|
|
const addMemberClick = () => {
|
|
|
addMemberTitle.value = "添加成员";
|
|
|
- conteactListCurrentPage.value=1 // 联系人分页重新赋值为1
|
|
|
+ conteactListCurrentPage.value = 1; // 联系人分页重新赋值为1
|
|
|
homeShow.value = false;
|
|
|
addMemberShow.value = true;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
studentList();
|
|
|
- addStudentListScroll();
|
|
|
+ // addStudentListScroll();
|
|
|
addMemberRuleForm.serialNumber = "";
|
|
|
addMemberRuleForm.name = "";
|
|
|
addMemberRuleForm.identity = "";
|
|
|
@@ -1932,15 +2020,16 @@ const addMemberClick = () => {
|
|
|
addMemberRef.value.resetFields();
|
|
|
});
|
|
|
};
|
|
|
+
|
|
|
// 编辑成员弹窗
|
|
|
const editClick = (row) => {
|
|
|
addMemberTitle.value = "编辑成员";
|
|
|
- conteactListCurrentPage.value=1 // 联系人分页重新赋值为1
|
|
|
+ conteactListCurrentPage.value = 1; // 联系人分页重新赋值为1
|
|
|
homeShow.value = false;
|
|
|
addMemberShow.value = true;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
studentList();
|
|
|
- addStudentListScroll();
|
|
|
+ // addStudentListScroll();
|
|
|
console.log(row, "编辑");
|
|
|
addMemberRuleForm.serialNumber = row.cardNo; // 学号
|
|
|
addMemberRuleForm.name = row.name; // 姓名
|
|
|
@@ -1964,10 +2053,10 @@ const editClick = (row) => {
|
|
|
addMemberRuleForm.dormitory = row.dormitoryNumber; // 宿舍号
|
|
|
addMemberRuleForm.phone = row.phone; // 手机号
|
|
|
if (row.affiliate) {
|
|
|
- let arr=[]
|
|
|
- row.affiliates.forEach(item=>{
|
|
|
-arr.push(`${item.name}·${item.id}`)
|
|
|
- })
|
|
|
+ let arr = [];
|
|
|
+ row.affiliates.forEach((item) => {
|
|
|
+ arr.push(`${item.name}·${item.id}`);
|
|
|
+ });
|
|
|
addMemberRuleForm.contact = arr; // 联系人
|
|
|
} else {
|
|
|
addMemberRuleForm.contact = [];
|
|
|
@@ -1985,12 +2074,12 @@ const confirmAddMember = async (formEl) => {
|
|
|
if (!formEl) return;
|
|
|
await formEl.validate(async (valid, fields) => {
|
|
|
if (valid) {
|
|
|
- console.log( addMemberRuleForm.contact);
|
|
|
- let arr=[]
|
|
|
- addMemberRuleForm.contact.forEach(item=>{
|
|
|
- let index = item.split("·")
|
|
|
- arr.push(index[1])
|
|
|
- })
|
|
|
+ console.log(addMemberRuleForm.contact);
|
|
|
+ let arr = [];
|
|
|
+ addMemberRuleForm.contact.forEach((item) => {
|
|
|
+ let index = item.split("·");
|
|
|
+ arr.push(index[1]);
|
|
|
+ });
|
|
|
console.log(arr);
|
|
|
let data = {
|
|
|
cardNo: addMemberRuleForm.serialNumber, // 学号
|
|
|
@@ -2023,8 +2112,8 @@ const confirmAddMember = async (formEl) => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartUser/updateSmartUserById",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -2034,8 +2123,8 @@ const confirmAddMember = async (formEl) => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartUser/insertSmartUser",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -2051,7 +2140,7 @@ const confirmAddMember = async (formEl) => {
|
|
|
});
|
|
|
homeShow.value = true;
|
|
|
addMemberShow.value = false;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
addMemberRef.value.resetFields();
|
|
|
getList();
|
|
|
} else {
|
|
|
@@ -2070,7 +2159,7 @@ const confirmAddMember = async (formEl) => {
|
|
|
const addMemberConcel = () => {
|
|
|
addMemberShow.value = false;
|
|
|
homeShow.value = true;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
addMemberRef.value.resetFields();
|
|
|
addMemberRuleForm.id = "";
|
|
|
};
|
|
|
@@ -2191,7 +2280,7 @@ const handleExceed = (files) => {
|
|
|
const addBatchClick = () => {
|
|
|
addBatchShow.value = true;
|
|
|
homeShow.value = false;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
nextTick(() => {
|
|
|
const Ele = document.querySelector(".img-upload-demo .el-upload__input");
|
|
|
Ele["webkitdirectory"] = true;
|
|
|
@@ -2200,7 +2289,7 @@ const addBatchClick = () => {
|
|
|
const addBatchConcel = () => {
|
|
|
homeShow.value = true;
|
|
|
addBatchShow.value = false;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
upload2File.value = "";
|
|
|
uploadImgList.value = "";
|
|
|
allImgUpload.value.clearFiles();
|
|
|
@@ -2208,21 +2297,21 @@ const addBatchConcel = () => {
|
|
|
};
|
|
|
|
|
|
// 打开删除记录页面
|
|
|
-const DelRecordClick=async ()=>{
|
|
|
- delRecordShow.value=true
|
|
|
+const DelRecordClick = async () => {
|
|
|
+ delRecordShow.value = true;
|
|
|
delBatchShow.value = false;
|
|
|
homeShow.value = false;
|
|
|
- addMemberTitle.value='删除记录'
|
|
|
+ addMemberTitle.value = "删除记录";
|
|
|
let data = {
|
|
|
- currentPage:delRecordCurrentPage.value,
|
|
|
- pageCount:delRecordPageSize.value,
|
|
|
+ currentPage: delRecordCurrentPage.value,
|
|
|
+ pageCount: delRecordPageSize.value,
|
|
|
};
|
|
|
let res = await axios({
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartUser/queryUserDeletePage",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -2238,13 +2327,13 @@ const DelRecordClick=async ()=>{
|
|
|
center: true,
|
|
|
});
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
// 关闭删除记录页面
|
|
|
-const delRecordClose=()=>{
|
|
|
- delRecordShow.value=false
|
|
|
+const delRecordClose = () => {
|
|
|
+ delRecordShow.value = false;
|
|
|
delBatchShow.value = false;
|
|
|
homeShow.value = true;
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 批量导入模板下载
|
|
|
const downLoadtempAdd = async () => {
|
|
|
@@ -2252,8 +2341,8 @@ const downLoadtempAdd = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartUser/downloadUserExcel",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
// params: data,
|
|
|
});
|
|
|
@@ -2380,7 +2469,7 @@ const handlePreviewImgUpload = (file) => {
|
|
|
const beforeAvatarUploadImgUpload = (rawFile) => {
|
|
|
// console.log(rawFile.type, "文件类型");
|
|
|
// console.log(rawFile.type == "image/jpeg",rawFile.type == "image/png");
|
|
|
-
|
|
|
+
|
|
|
if (rawFile.type == "image/jpeg" || rawFile.type == "image/png") {
|
|
|
if (rawFile.size / 1024 / 1024 > 2) {
|
|
|
ElMessage.error("图片的大小不能超过2MB!");
|
|
|
@@ -2442,18 +2531,18 @@ const handleSuccessImgUpload = (response, uploadFile, uploadFiles) => {
|
|
|
console.log(uploadFiles.length, "上传成功");
|
|
|
};
|
|
|
// 重置按钮 重置上传文件
|
|
|
-const resetImport=()=>{
|
|
|
+const resetImport = () => {
|
|
|
upload2File.value = "";
|
|
|
uploadImgList.value = "";
|
|
|
allImgUpload.value.clearFiles();
|
|
|
upload2.value.clearFiles();
|
|
|
-}
|
|
|
+};
|
|
|
// 批量导入按钮
|
|
|
const bulkImport = async () => {
|
|
|
- allImgShow.value=true;
|
|
|
+ allImgShow.value = true;
|
|
|
if (upload2File.value && uploadImgList.value) {
|
|
|
} else {
|
|
|
- allImgShow.value=false;
|
|
|
+ allImgShow.value = false;
|
|
|
ElMessage({
|
|
|
type: "warning",
|
|
|
showClose: true,
|
|
|
@@ -2474,8 +2563,8 @@ const bulkImport = async () => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartUser/importExcelUsers",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: formData,
|
|
|
});
|
|
|
@@ -2486,7 +2575,7 @@ const bulkImport = async () => {
|
|
|
uploadImgList.value = "";
|
|
|
allImgUpload.value.clearFiles();
|
|
|
upload2.value.clearFiles();
|
|
|
- allImgShow.value=false;
|
|
|
+ allImgShow.value = false;
|
|
|
ElMessage({
|
|
|
type: "success",
|
|
|
showClose: true,
|
|
|
@@ -2494,7 +2583,7 @@ const bulkImport = async () => {
|
|
|
center: true,
|
|
|
});
|
|
|
} else {
|
|
|
- allImgShow.value=false;
|
|
|
+ allImgShow.value = false;
|
|
|
ElMessage({
|
|
|
type: "error",
|
|
|
showClose: true,
|
|
|
@@ -2514,12 +2603,12 @@ const handleAddBatch = (value) => {
|
|
|
const delBatchClick = () => {
|
|
|
delBatchShow.value = true;
|
|
|
homeShow.value = false;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
};
|
|
|
const delBatchConcel = () => {
|
|
|
homeShow.value = true;
|
|
|
delBatchShow.value = false;
|
|
|
- delRecordShow.value=false
|
|
|
+ delRecordShow.value = false;
|
|
|
};
|
|
|
// 移出照片
|
|
|
const handleRemove3 = (uploadFile, uploadFiles) => {
|
|
|
@@ -2604,8 +2693,8 @@ const getMoveData = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartDepartment/queryDepartmentTree",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
@@ -2685,8 +2774,8 @@ const confirmMoveMember = async () => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartUser/changeDepartment",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -2767,8 +2856,8 @@ const confirmSelDel = async () => {
|
|
|
method: "post",
|
|
|
url: api.value + "/wanzai/api/smartUser/deleteSmartUserById",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
data: data,
|
|
|
});
|
|
|
@@ -2811,8 +2900,8 @@ const importExcel = async () => {
|
|
|
method: "get",
|
|
|
url: api.value + "/wanzai/api/smartUser/smartUserExport",
|
|
|
headers: {
|
|
|
- // token: sessionStorage.getItem("token"),
|
|
|
- // user_head: sessionStorage.getItem("userhead"),
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
},
|
|
|
params: data,
|
|
|
responseType: "blob",
|
|
|
@@ -2852,6 +2941,14 @@ const tableRowClassName = ({ row, rowIndex }) => {
|
|
|
}
|
|
|
return "";
|
|
|
};
|
|
|
+
|
|
|
+// 每页显示条数
|
|
|
+const handleSizeChange = (value) => {
|
|
|
+ console.log(value, "每页显示条数");
|
|
|
+ pageSize.value = value;
|
|
|
+ currentPage.value = 1;
|
|
|
+ getList();
|
|
|
+};
|
|
|
// 分页
|
|
|
const handleCurrentChange = (value) => {
|
|
|
// console.log(value);
|
|
|
@@ -3383,8 +3480,8 @@ onUnmounted(() => {
|
|
|
// }
|
|
|
}
|
|
|
}
|
|
|
- // 删除记录页面
|
|
|
- .delRecord {
|
|
|
+ // 删除记录页面
|
|
|
+ .delRecord {
|
|
|
flex: 1;
|
|
|
height: 100%;
|
|
|
border-radius: 8px;
|
|
|
@@ -3405,11 +3502,11 @@ onUnmounted(() => {
|
|
|
color: rgb(0, 0, 0);
|
|
|
font-size: 20px;
|
|
|
font-weight: 600;
|
|
|
- img{
|
|
|
+ img {
|
|
|
width: 18px;
|
|
|
height: 18px;
|
|
|
}
|
|
|
- .add{
|
|
|
+ .add {
|
|
|
margin-left: 20px;
|
|
|
}
|
|
|
}
|
|
|
@@ -3419,7 +3516,7 @@ onUnmounted(() => {
|
|
|
margin: 0 auto;
|
|
|
color: #000;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.footer {
|
|
|
width: 96%;
|
|
|
height: calc(100% - 100px);
|
|
|
@@ -3809,4 +3906,9 @@ onUnmounted(() => {
|
|
|
height: 200px;
|
|
|
}
|
|
|
}
|
|
|
+.el-popper {
|
|
|
+ .addStudentMore {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|