|
|
@@ -139,8 +139,8 @@
|
|
|
plain
|
|
|
>勾选删除</el-button
|
|
|
>
|
|
|
-
|
|
|
- <!-- <el-button-group class="ml-4">
|
|
|
+
|
|
|
+ <!-- <el-button-group class="ml-4">
|
|
|
<el-tooltip
|
|
|
class="box-item"
|
|
|
effect="dark"
|
|
|
@@ -158,26 +158,27 @@
|
|
|
</el-tooltip>
|
|
|
<el-button type="primary" @click="exportSettingsClick" style="border-left: 0px ;" plain color="rgba(0, 97, 255, 1)" :icon="Tools" />
|
|
|
</el-button-group> -->
|
|
|
-
|
|
|
- <el-tooltip
|
|
|
+
|
|
|
+ <el-tooltip
|
|
|
class="box-item"
|
|
|
effect="dark"
|
|
|
content="根据当前选中的部门、查询中的用户姓名进行导出"
|
|
|
placement="top-start"
|
|
|
- > <el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@click="exportSettingsClick"
|
|
|
:disabled="isManage != 1"
|
|
|
plain
|
|
|
- style="margin-right: 0;"
|
|
|
+ style="margin-right: 0"
|
|
|
>导出用户</el-button
|
|
|
>
|
|
|
- </el-tooltip>
|
|
|
- <!-- <el-button-group class="ml-4">
|
|
|
+ </el-tooltip>
|
|
|
+ <!-- <el-button-group class="ml-4">
|
|
|
<el-button type="primary" @click="exportSettingsClick" style="border-left: 0px ;" plain color="rgba(0, 97, 255, 1)" :icon="Tools" />
|
|
|
</el-button-group> -->
|
|
|
-
|
|
|
+
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
color="rgba(0, 97, 255, 1)"
|
|
|
@@ -200,14 +201,13 @@
|
|
|
border: 0,
|
|
|
}"
|
|
|
>
|
|
|
+ <el-table-column align="center" type="selection" width="80" />
|
|
|
+ <el-table-column align="center" prop="name" label="姓名" />
|
|
|
<el-table-column
|
|
|
align="center"
|
|
|
- type="selection"
|
|
|
-
|
|
|
- width="80"
|
|
|
+ prop="timeGroupName"
|
|
|
+ label="时间组"
|
|
|
/>
|
|
|
- <el-table-column align="center" prop="name" label="姓名" />
|
|
|
- <el-table-column align="center" prop="timeGroupName" label="时间组" />
|
|
|
<el-table-column align="center" prop="identity" label="身份" />
|
|
|
<el-table-column align="center" prop="department" label="部门" />
|
|
|
<el-table-column
|
|
|
@@ -320,7 +320,12 @@
|
|
|
<el-form-item
|
|
|
:key="addMemberRuleForm.identity"
|
|
|
label="学号 :"
|
|
|
- :prop="(addMemberRuleForm.identity == 1 || addMemberRuleForm.identity == 14) ? '' : 'serialNumber'"
|
|
|
+ :prop="
|
|
|
+ addMemberRuleForm.identity == 1 ||
|
|
|
+ addMemberRuleForm.identity == 14
|
|
|
+ ? ''
|
|
|
+ : 'serialNumber'
|
|
|
+ "
|
|
|
>
|
|
|
<el-input
|
|
|
:disabled="addMemberTitle == '编辑成员' ? true : false"
|
|
|
@@ -338,7 +343,7 @@
|
|
|
style="width: 500px"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
-
|
|
|
+
|
|
|
<el-form-item
|
|
|
label="身份证号 :"
|
|
|
:prop="addMemberRuleForm.identity == 1 ? '' : ''"
|
|
|
@@ -472,7 +477,7 @@
|
|
|
:props="teachingClassProps"
|
|
|
@change="teachingClassChange"
|
|
|
clearable
|
|
|
- ref='teachingClassRef'
|
|
|
+ ref="teachingClassRef"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item
|
|
|
@@ -1259,8 +1264,8 @@
|
|
|
<el-button @click="cancelMoveMember">取消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
- <!-- 用户导出设置 -->
|
|
|
- <el-dialog
|
|
|
+ <!-- 用户导出设置 -->
|
|
|
+ <el-dialog
|
|
|
class="exportSettings"
|
|
|
v-model="exportSettingsVisible"
|
|
|
:close-on-click-modal="false"
|
|
|
@@ -1272,17 +1277,17 @@
|
|
|
>
|
|
|
<div class="move">
|
|
|
<el-transfer
|
|
|
- v-model="exportSettingsSel"
|
|
|
- :titles="['未选择', '已选择导出字段']"
|
|
|
- :left-default-checked="leftChecked"
|
|
|
- :right-default-checked="rightChecked"
|
|
|
- :props="{
|
|
|
- key: 'id',
|
|
|
- label: 'name',
|
|
|
- }"
|
|
|
- @change="exportSettingsChange"
|
|
|
- :data="exportSettingsData"
|
|
|
- />
|
|
|
+ v-model="exportSettingsSel"
|
|
|
+ :titles="['未选择', '已选择导出字段']"
|
|
|
+ :left-default-checked="leftChecked"
|
|
|
+ :right-default-checked="rightChecked"
|
|
|
+ :props="{
|
|
|
+ key: 'id',
|
|
|
+ label: 'name',
|
|
|
+ }"
|
|
|
+ @change="exportSettingsChange"
|
|
|
+ :data="exportSettingsData"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="options">
|
|
|
<el-button
|
|
|
@@ -1382,7 +1387,7 @@ import {
|
|
|
import COS from "cos-js-sdk-v5";
|
|
|
import { useRouter } from "vue-router";
|
|
|
import { ElMessage, ElMessageBox, genFileId } from "element-plus";
|
|
|
-import { Camera,Tools } from "@element-plus/icons-vue";
|
|
|
+import { Camera, Tools } from "@element-plus/icons-vue";
|
|
|
import { dayjs } from "element-plus";
|
|
|
import lodash from "lodash";
|
|
|
import axios from "axios";
|
|
|
@@ -1573,8 +1578,13 @@ const conteactListPageCount = ref(50); // 联系人下拉一页数据条数
|
|
|
const conteactListTotalPage = ref(); // 联系人总共多少页,判断滚动到底是否还要加载
|
|
|
const conteactListInput = ref(); // 联系人下拉框中的搜索字段
|
|
|
const conteactLoading = ref(false); // 联系人下拉框搜索时加载
|
|
|
-const teachingClassRef=ref()
|
|
|
-const teachingClassProps = { multiple: true,label:'name',value:'id',children:'children' }; // 任课班级
|
|
|
+const teachingClassRef = ref();
|
|
|
+const teachingClassProps = {
|
|
|
+ multiple: true,
|
|
|
+ label: "name",
|
|
|
+ value: "id",
|
|
|
+ children: "children",
|
|
|
+}; // 任课班级
|
|
|
const teachingClassData = ref([
|
|
|
{
|
|
|
value: 1,
|
|
|
@@ -1662,8 +1672,7 @@ const teachingClassData = ref([
|
|
|
const upload = ref(); // 人脸照片
|
|
|
// 表单验证
|
|
|
const checkPhone = (rule, value, callback) => {
|
|
|
- var reg =
|
|
|
- /^[1][0-9]{10}$/;
|
|
|
+ var reg = /^[1][0-9]{10}$/;
|
|
|
if (!reg.test(value)) {
|
|
|
callback(new Error("手机号格式不对"));
|
|
|
} else {
|
|
|
@@ -1693,7 +1702,9 @@ const addMemberRules = reactive({
|
|
|
// institute: [{ required: true, message: "学院不能为空", trigger: "blur" }],
|
|
|
// specialty: [{ required: true, message: "专业不能为空", trigger: "blur" }],
|
|
|
class: [{ required: true, message: "班级不能为空", trigger: "change" }],
|
|
|
- teachingClass:[{ required: true, message: "任课班级不能为空", trigger: "change" }],
|
|
|
+ teachingClass: [
|
|
|
+ { required: true, message: "任课班级不能为空", trigger: "change" },
|
|
|
+ ],
|
|
|
// school: [{ required: true, message: "校区不能为空", trigger: "blur" }],
|
|
|
// dormitory: [{ required: true, message: "宿舍号不能为空", trigger: "blur" }],
|
|
|
phone: [
|
|
|
@@ -1829,12 +1840,15 @@ const treeSelData = reactive({ list: [] }); //
|
|
|
|
|
|
// 用户导出设置 (-----------------------------------------------)
|
|
|
const exportSettingsVisible = ref(false);
|
|
|
-const exportSettingsSel=ref([]) // 用户导出设置的选择数据
|
|
|
-const leftChecked=ref([]) // 左边默认选择中的数据
|
|
|
-const rightChecked=ref([]) // 右边默认选择中的数据
|
|
|
-const exportSettingsData=ref([
|
|
|
- {name:'姓名',id:1},{name:'身份',id:2},{name:'部门',id:3},{name:'学号/电话号码',id:4},
|
|
|
-]) //
|
|
|
+const exportSettingsSel = ref([]); // 用户导出设置的选择数据
|
|
|
+const leftChecked = ref([]); // 左边默认选择中的数据
|
|
|
+const rightChecked = ref([]); // 右边默认选择中的数据
|
|
|
+const exportSettingsData = ref([
|
|
|
+ { name: "姓名", id: 1 },
|
|
|
+ { name: "身份", id: 2 },
|
|
|
+ { name: "部门", id: 3 },
|
|
|
+ { name: "学号/电话号码", id: 4 },
|
|
|
+]); //
|
|
|
|
|
|
// 删除记录页面
|
|
|
const delRecordDatas = ref(); // 删除记录
|
|
|
@@ -1880,11 +1894,11 @@ const getList = async () => {
|
|
|
params: data,
|
|
|
});
|
|
|
// console.log(res);
|
|
|
- console.log(res,JSON.parse(eds.decryptDes(res.data.data)), "用户列表");
|
|
|
-
|
|
|
+ console.log(res, JSON.parse(eds.decryptDes(res.data.data)), "用户列表");
|
|
|
+
|
|
|
if (res.data.code == 200) {
|
|
|
loading.value = false;
|
|
|
- let datas=JSON.parse(eds.decryptDes(res.data.data))
|
|
|
+ let datas = JSON.parse(eds.decryptDes(res.data.data));
|
|
|
tableData.list = datas.list;
|
|
|
total.value = datas.totalCount;
|
|
|
} else {
|
|
|
@@ -2209,7 +2223,7 @@ const teachingClassList = async () => {
|
|
|
},
|
|
|
// params: data,
|
|
|
});
|
|
|
- console.log(post,"任课班级数据");
|
|
|
+ console.log(post, "任课班级数据");
|
|
|
if (post.data.code == 200) {
|
|
|
teachingClassData.value = post.data.data;
|
|
|
} else {
|
|
|
@@ -2370,11 +2384,10 @@ const addMemberClick = () => {
|
|
|
addMemberRef.value.resetFields();
|
|
|
});
|
|
|
};
|
|
|
-const teachingClassChange=(val)=>{
|
|
|
+const teachingClassChange = (val) => {
|
|
|
console.log(val);
|
|
|
console.log(teachingClassRef.value.getCheckedNodes());
|
|
|
-
|
|
|
-}
|
|
|
+};
|
|
|
// 编辑成员弹窗
|
|
|
const editClick = (row) => {
|
|
|
addMemberTitle.value = "编辑成员";
|
|
|
@@ -2403,7 +2416,7 @@ const editClick = (row) => {
|
|
|
nextTick(() => {
|
|
|
classsList();
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
addMemberRuleForm.institute = row.college; // 学院
|
|
|
addMemberRuleForm.specialty = row.speciality; // 专业
|
|
|
addMemberRuleForm.class = row.schoolClass; // 班级
|
|
|
@@ -2420,8 +2433,8 @@ const editClick = (row) => {
|
|
|
} else {
|
|
|
addMemberRuleForm.contact = [];
|
|
|
}
|
|
|
- if(row.subjectVos){
|
|
|
- let idArr=[]
|
|
|
+ if (row.subjectVos) {
|
|
|
+ let idArr = [];
|
|
|
// row.subjectVos.forEach(item=>{
|
|
|
// item.children.forEach(is=>{
|
|
|
// is.children.forEach(i=>{
|
|
|
@@ -2430,16 +2443,16 @@ const editClick = (row) => {
|
|
|
// })
|
|
|
// })
|
|
|
// console.log(idArr,"任课班级数据重组");
|
|
|
- row.subjectVos.forEach(item=>{
|
|
|
- idArr.push(item.ids)
|
|
|
- })
|
|
|
- console.log(idArr,'任课班级数据重组');
|
|
|
-
|
|
|
- addMemberRuleForm.teachingClass=idArr
|
|
|
- }else{
|
|
|
- addMemberRuleForm.teachingClass=[]
|
|
|
+ row.subjectVos.forEach((item) => {
|
|
|
+ idArr.push(item.ids);
|
|
|
+ });
|
|
|
+ console.log(idArr, "任课班级数据重组");
|
|
|
+
|
|
|
+ addMemberRuleForm.teachingClass = idArr;
|
|
|
+ } else {
|
|
|
+ addMemberRuleForm.teachingClass = [];
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
addMemberRuleForm.jobName = row.title; // 职称
|
|
|
addMemberRuleForm.houseAddress = row.address; // 家庭住址
|
|
|
addMemberRuleForm.nation = row.nation; // 民族
|
|
|
@@ -2460,14 +2473,14 @@ const confirmAddMember = async (formEl) => {
|
|
|
arr.push(index[1]);
|
|
|
});
|
|
|
console.log(arr);
|
|
|
-// 任课班级
|
|
|
- let teachingClassArr=[]
|
|
|
- if(addMemberRuleForm.teachingClass){
|
|
|
- addMemberRuleForm.teachingClass.forEach(item=>{
|
|
|
- teachingClassArr.push({ids:item})
|
|
|
- })
|
|
|
+ // 任课班级
|
|
|
+ let teachingClassArr = [];
|
|
|
+ if (addMemberRuleForm.teachingClass) {
|
|
|
+ addMemberRuleForm.teachingClass.forEach((item) => {
|
|
|
+ teachingClassArr.push({ ids: item });
|
|
|
+ });
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
let data = {
|
|
|
cardNo: addMemberRuleForm.serialNumber, // 学号
|
|
|
name: addMemberRuleForm.name, // 姓名
|
|
|
@@ -2495,28 +2508,28 @@ const confirmAddMember = async (formEl) => {
|
|
|
let res = "";
|
|
|
if (addMemberRuleForm.id) {
|
|
|
data.id = addMemberRuleForm.id;
|
|
|
- data.usr = teachingClassArr,// 任课班级
|
|
|
- res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/wanzai/api/smartUser/updateSmartUserById",
|
|
|
- headers: {
|
|
|
- token: sessionStorage.getItem("token"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: data,
|
|
|
- });
|
|
|
+ (data.usr = teachingClassArr), // 任课班级
|
|
|
+ (res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/wanzai/api/smartUser/updateSmartUserById",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ data: data,
|
|
|
+ }));
|
|
|
console.log(res, "编辑用户");
|
|
|
} else {
|
|
|
- data.isr = teachingClassArr,// 任课班级
|
|
|
- res = await axios({
|
|
|
- method: "post",
|
|
|
- url: api.value + "/wanzai/api/smartUser/insertSmartUser",
|
|
|
- headers: {
|
|
|
- token: sessionStorage.getItem("token"),
|
|
|
- user_head: sessionStorage.getItem("userhead"),
|
|
|
- },
|
|
|
- data: data,
|
|
|
- });
|
|
|
+ (data.isr = teachingClassArr), // 任课班级
|
|
|
+ (res = await axios({
|
|
|
+ method: "post",
|
|
|
+ url: api.value + "/wanzai/api/smartUser/insertSmartUser",
|
|
|
+ headers: {
|
|
|
+ token: sessionStorage.getItem("token"),
|
|
|
+ user_head: sessionStorage.getItem("userhead"),
|
|
|
+ },
|
|
|
+ data: data,
|
|
|
+ }));
|
|
|
console.log(res, "新增用户");
|
|
|
}
|
|
|
|
|
|
@@ -2858,7 +2871,7 @@ const delRecordClose = () => {
|
|
|
|
|
|
// 批量导入模板下载 (-------------------------------------------------)
|
|
|
// 用户导出设置 数据
|
|
|
-const importSystemList=async ()=>{
|
|
|
+const importSystemList = async () => {
|
|
|
let data = {
|
|
|
identityId: addMemberRuleForm.identity,
|
|
|
};
|
|
|
@@ -2871,19 +2884,19 @@ const importSystemList=async ()=>{
|
|
|
},
|
|
|
params: data,
|
|
|
});
|
|
|
- console.log(post,'用户导出设置 数据');
|
|
|
+ console.log(post, "用户导出设置 数据");
|
|
|
if (post.data.code == 200) {
|
|
|
exportSettingsData.value = post.data.data;
|
|
|
- let arr=[]
|
|
|
- post.data.data.forEach(item=>{
|
|
|
- arr.push(item.id)
|
|
|
- })
|
|
|
- exportSettingsSel.value=arr
|
|
|
+ let arr = [];
|
|
|
+ post.data.data.forEach((item) => {
|
|
|
+ arr.push(item.id);
|
|
|
+ });
|
|
|
+ exportSettingsSel.value = arr;
|
|
|
console.log(exportSettingsSel.value);
|
|
|
} else {
|
|
|
exportSettingsData.value = [];
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
const downLoadtempAdd = async (flag) => {
|
|
|
if (flag == 1) {
|
|
|
let res = await axios({
|
|
|
@@ -3415,29 +3428,25 @@ const cancelTreeSel = (i) => {
|
|
|
|
|
|
// 用户导出设置 (----------------------------------------------------------------)
|
|
|
const exportSettingsClick = () => {
|
|
|
- exportSettingsVisible.value=true
|
|
|
+ exportSettingsVisible.value = true;
|
|
|
};
|
|
|
-const exportSettingsChange=(
|
|
|
- value,
|
|
|
- direction,
|
|
|
- movedKeys
|
|
|
-) => {
|
|
|
+const exportSettingsChange = (value, direction, movedKeys) => {
|
|
|
// console.log(exportSettingsSel.value);
|
|
|
- console.log(value, direction, movedKeys)
|
|
|
-}
|
|
|
-const confirmExportSettings=async ()=>{
|
|
|
- let arr=[]
|
|
|
- exportSettingsData.value.forEach(item=>{
|
|
|
- exportSettingsSel.value.forEach(i=>{
|
|
|
- if(item.id==i){
|
|
|
- arr.push(item)
|
|
|
+ console.log(value, direction, movedKeys);
|
|
|
+};
|
|
|
+const confirmExportSettings = async () => {
|
|
|
+ let arr = [];
|
|
|
+ exportSettingsData.value.forEach((item) => {
|
|
|
+ exportSettingsSel.value.forEach((i) => {
|
|
|
+ if (item.id == i) {
|
|
|
+ arr.push(item);
|
|
|
}
|
|
|
- })
|
|
|
- })
|
|
|
+ });
|
|
|
+ });
|
|
|
let data = {
|
|
|
departmentId: treeNodeId.value,
|
|
|
name: searchInput.keyWord,
|
|
|
- gauageOutfitVos:arr
|
|
|
+ gauageOutfitVos: arr,
|
|
|
};
|
|
|
let res = await axios({
|
|
|
method: "post",
|
|
|
@@ -3474,10 +3483,10 @@ const confirmExportSettings=async ()=>{
|
|
|
center: true,
|
|
|
});
|
|
|
}
|
|
|
-}
|
|
|
-const cancelExportSettings=()=>{
|
|
|
- exportSettingsVisible.value=false
|
|
|
-}
|
|
|
+};
|
|
|
+const cancelExportSettings = () => {
|
|
|
+ exportSettingsVisible.value = false;
|
|
|
+};
|
|
|
|
|
|
// 注销账号 (--------------------------------------------------------------------)
|
|
|
// const closeAccountClick = () => {
|
|
|
@@ -3633,8 +3642,8 @@ onBeforeMount(async () => {
|
|
|
getDepartment(); // 左边部门树形结构
|
|
|
classDataList(); // 添加成员中 获取身份数据下拉、年级数据下拉、班级数据下拉
|
|
|
postList(); // 职务数据
|
|
|
- teachingClassList() // 任课班级数据
|
|
|
- importSystemList()// 导出设置列表
|
|
|
+ teachingClassList(); // 任课班级数据
|
|
|
+ importSystemList(); // 导出设置列表
|
|
|
});
|
|
|
onUnmounted(() => {
|
|
|
document.removeEventListener("keyup", Enters);
|
|
|
@@ -4289,7 +4298,9 @@ onUnmounted(() => {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
background-color: rgba(255, 255, 255, 0.8);
|
|
|
-
|
|
|
+ :deep(.el-carousel__arrow) {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
// border-radius: 50px;
|
|
|
:deep(.el-carousel__container) {
|
|
|
width: 100%;
|
|
|
@@ -4458,8 +4469,8 @@ onUnmounted(() => {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- // 用户导出设置
|
|
|
- :deep(.exportSettings) {
|
|
|
+ // 用户导出设置
|
|
|
+ :deep(.exportSettings) {
|
|
|
// height: 600px;
|
|
|
overflow: hidden;
|
|
|
border-radius: 11px;
|
|
|
@@ -4487,12 +4498,12 @@ onUnmounted(() => {
|
|
|
.move {
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
- .el-transfer{
|
|
|
+ .el-transfer {
|
|
|
margin-top: 10px;
|
|
|
height: 100%;
|
|
|
- .el-transfer-panel__body{
|
|
|
+ .el-transfer-panel__body {
|
|
|
height: 458px;
|
|
|
- .el-checkbox-group{
|
|
|
+ .el-checkbox-group {
|
|
|
height: 100%;
|
|
|
}
|
|
|
}
|