Compare commits
No commits in common. "e46a54ddb9f878b798db067462c1d6e91cc38950" and "6d2b14fcc51753494176a373ea181e62729cde9b" have entirely different histories.
e46a54ddb9
...
6d2b14fcc5
|
|
@ -12,12 +12,11 @@ import type {
|
||||||
import { stringify } from "qs";
|
import { stringify } from "qs";
|
||||||
import NProgress from "../progress";
|
import NProgress from "../progress";
|
||||||
import { getToken, formatToken } from "@/utils/auth";
|
import { getToken, formatToken } from "@/utils/auth";
|
||||||
import { useUserStore, useUserStoreHook } from "@/store/modules/user";
|
import { useUserStoreHook } from "@/store/modules/user";
|
||||||
// import { string } from "vue-types";
|
// import { string } from "vue-types";
|
||||||
import router from "@/router";
|
import router from "@/router";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import { message } from "../message";
|
import { message } from "../message";
|
||||||
import { store } from "@/store";
|
|
||||||
|
|
||||||
/**请求后端的地址 未配置则访问BaseURL */
|
/**请求后端的地址 未配置则访问BaseURL */
|
||||||
const apiServiceConfig = {
|
const apiServiceConfig = {
|
||||||
|
|
@ -209,10 +208,6 @@ class PureHttp {
|
||||||
router.push({
|
router.push({
|
||||||
path: "/error/403"
|
path: "/error/403"
|
||||||
});
|
});
|
||||||
}if (error.response?.status == 401) {
|
|
||||||
debugger;
|
|
||||||
ElMessage.warning("登录信息失效,请重新登录!");
|
|
||||||
return useUserStore(store).logOut();
|
|
||||||
}
|
}
|
||||||
// 所有的响应异常 区分来源为取消请求/非取消请求
|
// 所有的响应异常 区分来源为取消请求/非取消请求
|
||||||
return Promise.reject($error);
|
return Promise.reject($error);
|
||||||
|
|
@ -239,14 +234,14 @@ class PureHttp {
|
||||||
PureHttp.axiosInstance
|
PureHttp.axiosInstance
|
||||||
.request(config)
|
.request(config)
|
||||||
.then((response: any) => {
|
.then((response: any) => {
|
||||||
if (response.code != null && response.code !== 200) {
|
if (response.code != null && response.code !== 200) {
|
||||||
message(response.message, { type: "error" });
|
|
||||||
}
|
message(response.message, { type: "error" });
|
||||||
resolve(response);
|
} resolve(response);
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
if (error.status != 200) {
|
if (error.status != 200) {
|
||||||
ElMessage.warning("请求失败: " + error.message);
|
ElMessage.warning("请求失败" + error.message);
|
||||||
}
|
}
|
||||||
reject(error);
|
reject(error);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,17 @@
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<el-form
|
<el-form ref="userEditForm" :model="form" :label-width="formLabelWidth" clearable>
|
||||||
ref="userEditForm"
|
|
||||||
:model="form"
|
|
||||||
:label-width="formLabelWidth"
|
|
||||||
clearable
|
|
||||||
>
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="电话号码" :rules="rulePhone" prop="phone">
|
<el-form-item label="电话号码" :rules="rulePhone" prop="phone">
|
||||||
<el-input v-model="form.phone" type="text" />
|
<el-input type="text" v-model="form.phone" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="姓名:" prop="realName" :rules="ruleRequired">
|
<el-form-item label="姓名:" prop="realName" :rules="ruleRequired">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.realName"
|
|
||||||
type="text"
|
type="text"
|
||||||
|
v-model="form.realName"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
maxlength="20"
|
maxlength="20"
|
||||||
:show-word-limit="true"
|
:show-word-limit="true"
|
||||||
|
|
@ -29,8 +24,8 @@
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="职务:" prop="studentId">
|
<el-form-item label="职务:" prop="studentId">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="form.studentId"
|
|
||||||
type="text"
|
type="text"
|
||||||
|
v-model="form.studentId"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
maxlength="16"
|
maxlength="16"
|
||||||
:show-word-limit="true"
|
:show-word-limit="true"
|
||||||
|
|
@ -40,14 +35,8 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="24">
|
<el-col :span="24">
|
||||||
<el-form-item
|
<el-form-item label="任教信息:" prop="positionList" :rules="ruleRequired">
|
||||||
label="任教信息:"
|
<el-button type="success" @click="AddPosition()">添加职位</el-button>
|
||||||
prop="positionList"
|
|
||||||
:rules="ruleRequired"
|
|
||||||
>
|
|
||||||
<el-button type="success" @click="AddPosition()"
|
|
||||||
>添加职位</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
@ -56,7 +45,7 @@
|
||||||
>提示:任职信息所有项值<span class="text-red-500">必填</span>,
|
>提示:任职信息所有项值<span class="text-red-500">必填</span>,
|
||||||
如若查询不到对应班级,请先添加
|
如若查询不到对应班级,请先添加
|
||||||
</span>
|
</span>
|
||||||
<el-form ref="positionEditForm" :model="positionList" inline>
|
<el-form :model="positionList" inline ref="positionEditForm">
|
||||||
<div
|
<div
|
||||||
v-for="(position, index) in positionList"
|
v-for="(position, index) in positionList"
|
||||||
:key="index"
|
:key="index"
|
||||||
|
|
@ -69,18 +58,15 @@
|
||||||
class="mr-[5px]!"
|
class="mr-[5px]!"
|
||||||
type="danger"
|
type="danger"
|
||||||
:icon="Delete"
|
:icon="Delete"
|
||||||
circle
|
|
||||||
@click="positionClose(position)"
|
@click="positionClose(position)"
|
||||||
|
circle
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item :prop="`${index}.positionLevel`" :rules="ruleRequired">
|
||||||
:prop="`${index}.positionLevel`"
|
|
||||||
:rules="ruleRequired"
|
|
||||||
>
|
|
||||||
<el-select
|
<el-select
|
||||||
v-model="position.positionLevel"
|
|
||||||
:disabled="position.id != undefined"
|
:disabled="position.id != undefined"
|
||||||
class="w-[100px]!"
|
class="w-[100px]!"
|
||||||
|
v-model="position.positionLevel"
|
||||||
placeholder="类型"
|
placeholder="类型"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
|
|
@ -90,15 +76,16 @@
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.text"
|
:label="item.text"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :prop="`${index}.schoolId`" :rules="ruleRequired">
|
<el-form-item :prop="`${index}.schoolId`" :rules="ruleRequired">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="position.schoolId"
|
|
||||||
:disabled="position.id != undefined"
|
:disabled="position.id != undefined"
|
||||||
class="w-[250px]!"
|
class="w-[250px]!"
|
||||||
|
v-model="position.schoolId"
|
||||||
placeholder="学校"
|
placeholder="学校"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
|
|
@ -109,15 +96,16 @@
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.text"
|
:label="item.text"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :prop="`${index}.grade`" :rules="ruleRequired">
|
<el-form-item :prop="`${index}.grade`" :rules="ruleRequired">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="position.grade"
|
|
||||||
:disabled="position.id != undefined"
|
:disabled="position.id != undefined"
|
||||||
class="w-[150px]!"
|
class="w-[150px]!"
|
||||||
|
v-model="position.grade"
|
||||||
placeholder="年级"
|
placeholder="年级"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
|
|
@ -128,7 +116,8 @@
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.text"
|
:label="item.text"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
@ -137,10 +126,10 @@
|
||||||
:rules="position.positionLevel > 3 ? ruleRequired : []"
|
:rules="position.positionLevel > 3 ? ruleRequired : []"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-show="position.positionLevel > 3"
|
|
||||||
v-model="position.classId"
|
|
||||||
:disabled="position.id != undefined"
|
:disabled="position.id != undefined"
|
||||||
|
v-show="position.positionLevel > 3"
|
||||||
class="w-[120px]!"
|
class="w-[120px]!"
|
||||||
|
v-model="position.classId"
|
||||||
placeholder="班级"
|
placeholder="班级"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
|
|
@ -150,7 +139,8 @@
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.text"
|
:label="item.text"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
|
@ -159,10 +149,10 @@
|
||||||
:rules="position.positionLevel == 5 ? ruleRequired : []"
|
:rules="position.positionLevel == 5 ? ruleRequired : []"
|
||||||
>
|
>
|
||||||
<el-select
|
<el-select
|
||||||
v-show="position.positionLevel == 5"
|
|
||||||
v-model="position.subjectId"
|
|
||||||
:disabled="position.id != undefined"
|
:disabled="position.id != undefined"
|
||||||
|
v-show="position.positionLevel == 5"
|
||||||
class="w-[100px]!"
|
class="w-[100px]!"
|
||||||
|
v-model="position.subjectId"
|
||||||
placeholder="学科"
|
placeholder="学科"
|
||||||
clearable
|
clearable
|
||||||
filterable
|
filterable
|
||||||
|
|
@ -172,7 +162,8 @@
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.text"
|
:label="item.text"
|
||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
>
|
||||||
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -196,7 +187,7 @@ import {
|
||||||
editUser,
|
editUser,
|
||||||
Position,
|
Position,
|
||||||
getSchoolData,
|
getSchoolData,
|
||||||
getClassCombo
|
getClassCombo,
|
||||||
} from "@/api/userCenter";
|
} from "@/api/userCenter";
|
||||||
import PositionForm from "./positionForm.vue";
|
import PositionForm from "./positionForm.vue";
|
||||||
import { getenum, getenumDic } from "@/api/enum";
|
import { getenum, getenumDic } from "@/api/enum";
|
||||||
|
|
@ -204,14 +195,7 @@ import { PosititonIds } from "@/api/student";
|
||||||
import { ruleRequired, rulePhone } from "@/utils/rules";
|
import { ruleRequired, rulePhone } from "@/utils/rules";
|
||||||
import { ElMessage, FormInstance } from "element-plus";
|
import { ElMessage, FormInstance } from "element-plus";
|
||||||
import { ComboModel, gradeComboModel } from "@/components/hTable/hTable";
|
import { ComboModel, gradeComboModel } from "@/components/hTable/hTable";
|
||||||
import {
|
import { Check, Delete, Edit, Message, Search, Star } from "@element-plus/icons-vue";
|
||||||
Check,
|
|
||||||
Delete,
|
|
||||||
Edit,
|
|
||||||
Message,
|
|
||||||
Search,
|
|
||||||
Star
|
|
||||||
} from "@element-plus/icons-vue";
|
|
||||||
import { de } from "element-plus/es/locales.mjs";
|
import { de } from "element-plus/es/locales.mjs";
|
||||||
|
|
||||||
interface FormData {
|
interface FormData {
|
||||||
|
|
@ -244,7 +228,7 @@ interface DialogConfig {
|
||||||
width: string;
|
width: string;
|
||||||
}
|
}
|
||||||
defineOptions({
|
defineOptions({
|
||||||
name: "UserEditForm"
|
name: "UserEditForm",
|
||||||
});
|
});
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
@ -257,14 +241,14 @@ const loading = ref(false);
|
||||||
|
|
||||||
const subject1 = ref<ComboModel[]>([
|
const subject1 = ref<ComboModel[]>([
|
||||||
{ value: 4, text: "物理" },
|
{ value: 4, text: "物理" },
|
||||||
{ value: 8, text: "历史" }
|
{ value: 8, text: "历史" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const subject2 = ref<ComboModel[]>([
|
const subject2 = ref<ComboModel[]>([
|
||||||
{ value: 5, text: "化学" },
|
{ value: 5, text: "化学" },
|
||||||
{ value: 6, text: "生物" },
|
{ value: 6, text: "生物" },
|
||||||
{ value: 9, text: "地理" },
|
{ value: 9, text: "地理" },
|
||||||
{ value: 7, text: "政治" }
|
{ value: 7, text: "政治" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const emit = defineEmits(["handlePagedCallback"]);
|
const emit = defineEmits(["handlePagedCallback"]);
|
||||||
|
|
@ -284,7 +268,7 @@ const subjectList = ref<ComboModel[]>([]);
|
||||||
const positionEnumList = ref<ComboModel[]>([
|
const positionEnumList = ref<ComboModel[]>([
|
||||||
{ text: "年级主任", value: 3 },
|
{ text: "年级主任", value: 3 },
|
||||||
{ text: "班主任", value: 4 },
|
{ text: "班主任", value: 4 },
|
||||||
{ text: "科任老师", value: 5 }
|
{ text: "科任老师", value: 5 },
|
||||||
]);
|
]);
|
||||||
function schoolChange(p: Position) {
|
function schoolChange(p: Position) {
|
||||||
p.graduationYear = null;
|
p.graduationYear = null;
|
||||||
|
|
@ -303,9 +287,9 @@ function getClass(p: Position) {
|
||||||
const data = {
|
const data = {
|
||||||
schoolId: p.schoolId || 0,
|
schoolId: p.schoolId || 0,
|
||||||
graduationYear: p.graduationYear || 0,
|
graduationYear: p.graduationYear || 0,
|
||||||
grade: p.grade
|
grade: p.grade,
|
||||||
};
|
};
|
||||||
getClassCombo(data).then(res => {
|
getClassCombo(data).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
p.classList = res.data;
|
p.classList = res.data;
|
||||||
}
|
}
|
||||||
|
|
@ -324,7 +308,7 @@ const defaultSubjectLevel = reactive({
|
||||||
Subject7: 0,
|
Subject7: 0,
|
||||||
Subject8: 0,
|
Subject8: 0,
|
||||||
Subject9: 0,
|
Subject9: 0,
|
||||||
CreatePositionId: 1
|
CreatePositionId: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
const form = ref<FormData>({
|
const form = ref<FormData>({
|
||||||
|
|
@ -342,14 +326,14 @@ const form = ref<FormData>({
|
||||||
subjectLevels: [],
|
subjectLevels: [],
|
||||||
subjectLevel: { ...defaultSubjectLevel },
|
subjectLevel: { ...defaultSubjectLevel },
|
||||||
positionIds: [],
|
positionIds: [],
|
||||||
positionFormIds: []
|
positionFormIds: [],
|
||||||
});
|
});
|
||||||
|
|
||||||
const dialog = reactive<DialogConfig>({
|
const dialog = reactive<DialogConfig>({
|
||||||
close: false,
|
close: false,
|
||||||
title: "",
|
title: "",
|
||||||
visible: false,
|
visible: false,
|
||||||
width: "1200px"
|
width: "1200px",
|
||||||
});
|
});
|
||||||
|
|
||||||
const customeRules = reactive({
|
const customeRules = reactive({
|
||||||
|
|
@ -358,13 +342,13 @@ const customeRules = reactive({
|
||||||
{
|
{
|
||||||
pattern: /^1[3456789]\d{9}$/,
|
pattern: /^1[3456789]\d{9}$/,
|
||||||
message: "手机号码格式不正确",
|
message: "手机号码格式不正确",
|
||||||
trigger: "blur"
|
trigger: "blur",
|
||||||
}
|
},
|
||||||
]
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
function positionClose(p: Position) {
|
function positionClose(p: Position) {
|
||||||
positionList.value = positionList.value.filter(s => s != p);
|
positionList.value = positionList.value.filter((s) => s != p);
|
||||||
}
|
}
|
||||||
|
|
||||||
const AddPositionArr: Position[] = [];
|
const AddPositionArr: Position[] = [];
|
||||||
|
|
@ -379,9 +363,9 @@ function AddPosition() {
|
||||||
subjectId: null,
|
subjectId: null,
|
||||||
positionType: 2,
|
positionType: 2,
|
||||||
positionLevel: null,
|
positionLevel: null,
|
||||||
status: true
|
status: true,
|
||||||
};
|
};
|
||||||
let p1 = p as unknown as Position;
|
let p1 = (p as unknown) as Position;
|
||||||
form.value.positionList.push(p1);
|
form.value.positionList.push(p1);
|
||||||
AddPositionArr.push(p1);
|
AddPositionArr.push(p1);
|
||||||
positionList.value.push(p1);
|
positionList.value.push(p1);
|
||||||
|
|
@ -402,11 +386,11 @@ const handleSubmitForm = async () => {
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const postIdArr = positionList.value.map(s => s.id).filter(s => s != null);
|
const postIdArr = positionList.value.map((s) => s.id).filter((s) => s != null);
|
||||||
|
|
||||||
const addPArr = positionList.value
|
const addPArr = positionList.value
|
||||||
.filter(s => s.id == null)
|
.filter((s) => s.id == null)
|
||||||
.map(s => {
|
.map((s) => {
|
||||||
return {
|
return {
|
||||||
positionLevel: s.positionLevel,
|
positionLevel: s.positionLevel,
|
||||||
subjectId: s.subjectId,
|
subjectId: s.subjectId,
|
||||||
|
|
@ -414,7 +398,7 @@ const handleSubmitForm = async () => {
|
||||||
classId: s.classId,
|
classId: s.classId,
|
||||||
positionType: 2,
|
positionType: 2,
|
||||||
gradeLevel: s.grade[0],
|
gradeLevel: s.grade[0],
|
||||||
graduationYear: parseInt(s.grade.slice(1, 5))
|
graduationYear: parseInt(s.grade.slice(1, 5)),
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
if (addPArr.length > 0) {
|
if (addPArr.length > 0) {
|
||||||
|
|
@ -433,7 +417,7 @@ const handleSubmitForm = async () => {
|
||||||
const formData = {
|
const formData = {
|
||||||
...form.value,
|
...form.value,
|
||||||
account: form.value.phone || "",
|
account: form.value.phone || "",
|
||||||
positionIds: postIdArr
|
positionIds: postIdArr,
|
||||||
};
|
};
|
||||||
|
|
||||||
const res = await editUser(formData);
|
const res = await editUser(formData);
|
||||||
|
|
@ -465,7 +449,7 @@ const handleResetForm = () => {
|
||||||
idCard: "",
|
idCard: "",
|
||||||
phone: "",
|
phone: "",
|
||||||
cloudSchoolId: "",
|
cloudSchoolId: "",
|
||||||
pointPenSN: ""
|
pointPenSN: "",
|
||||||
});
|
});
|
||||||
positionList.value = [];
|
positionList.value = [];
|
||||||
};
|
};
|
||||||
|
|
@ -478,9 +462,7 @@ const fetchInitData = async () => {
|
||||||
userTypeList.value = typeRes.data;
|
userTypeList.value = typeRes.data;
|
||||||
|
|
||||||
schoolList.value = (await getSchoolData()).data;
|
schoolList.value = (await getSchoolData()).data;
|
||||||
subjectList.value = (await getenum("SubjectEnum")).data.filter(
|
subjectList.value = (await getenum("SubjectEnum")).data.filter((s) => s.value < 10);
|
||||||
s => s.value < 10
|
|
||||||
);
|
|
||||||
|
|
||||||
// // 云校
|
// // 云校
|
||||||
// const schoolRes = await cloudSchoolCombo();
|
// const schoolRes = await cloudSchoolCombo();
|
||||||
|
|
@ -495,7 +477,7 @@ const fetchInitData = async () => {
|
||||||
const fetchFormData = () => {
|
const fetchFormData = () => {
|
||||||
handleResetForm();
|
handleResetForm();
|
||||||
if (props.id !== 0) {
|
if (props.id !== 0) {
|
||||||
getUserInfo(props.id).then(res => {
|
getUserInfo(props.id).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
if (res.data.SubjectLevel && res.data.SubjectLevel.CreatePositionId) {
|
if (res.data.SubjectLevel && res.data.SubjectLevel.CreatePositionId) {
|
||||||
delete res.data.SubjectLevel.CreatePositionId;
|
delete res.data.SubjectLevel.CreatePositionId;
|
||||||
|
|
@ -529,7 +511,7 @@ const fetchFormData = () => {
|
||||||
phone: res.data.phone,
|
phone: res.data.phone,
|
||||||
cloudSchoolId: res.data.cloudSchoolId,
|
cloudSchoolId: res.data.cloudSchoolId,
|
||||||
pointPenSN: res.data.pointPenSN,
|
pointPenSN: res.data.pointPenSN,
|
||||||
positionList: positionList.value ?? []
|
positionList: positionList.value ?? [],
|
||||||
});
|
});
|
||||||
positionList.value = res.data.positions
|
positionList.value = res.data.positions
|
||||||
.filter((s: Position) => s.enable)
|
.filter((s: Position) => s.enable)
|
||||||
|
|
@ -560,17 +542,17 @@ const CheckPosition = () => {
|
||||||
dialog.title = "选择职位";
|
dialog.title = "选择职位";
|
||||||
dialog.visible = true;
|
dialog.visible = true;
|
||||||
PositionFormIds.value = positionList.value
|
PositionFormIds.value = positionList.value
|
||||||
.filter(s => s.enable !== false)
|
.filter((s) => s.enable !== false)
|
||||||
.map(s => s.id);
|
.map((s) => s.id);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleCheckCallback = (checkPosition: Position[]) => {
|
const handleCheckCallback = (checkPosition: Position[]) => {
|
||||||
dialog.visible = false;
|
dialog.visible = false;
|
||||||
positionList.value = checkPosition.map(s => {
|
positionList.value = checkPosition.map((s) => {
|
||||||
s.enable = true;
|
s.enable = true;
|
||||||
return s;
|
return s;
|
||||||
});
|
});
|
||||||
form.value.positionIds = positionList.value.map(w => w.id);
|
form.value.positionIds = positionList.value.map((w) => w.id);
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,6 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-input v-model="search.searchStr" placeholder="姓名/账号/学号" />
|
<el-input v-model="search.searchStr" placeholder="姓名/账号/学号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
|
||||||
<el-input v-model="search.phone" placeholder="手机号" />
|
|
||||||
</el-form-item>
|
|
||||||
<!-- <el-form-item style="width: 100px">
|
<!-- <el-form-item style="width: 100px">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="search.userType"
|
v-model="search.userType"
|
||||||
|
|
@ -273,8 +270,7 @@ import {
|
||||||
Message,
|
Message,
|
||||||
ArrowDownBold,
|
ArrowDownBold,
|
||||||
Search,
|
Search,
|
||||||
Star,
|
Star
|
||||||
Phone
|
|
||||||
} from "@element-plus/icons-vue";
|
} from "@element-plus/icons-vue";
|
||||||
import { ComboModel, gradeComboModel } from "@/components/hTable/hTable";
|
import { ComboModel, gradeComboModel } from "@/components/hTable/hTable";
|
||||||
import { ImportTeacher } from "@/api/student";
|
import { ImportTeacher } from "@/api/student";
|
||||||
|
|
@ -284,7 +280,6 @@ const schoolsAPI = new hTableAPI("usercenter/back/schools");
|
||||||
|
|
||||||
interface SearchParams {
|
interface SearchParams {
|
||||||
searchStr: string;
|
searchStr: string;
|
||||||
phone: string;
|
|
||||||
userType: string | number;
|
userType: string | number;
|
||||||
level: string | number;
|
level: string | number;
|
||||||
schoolId: string | number;
|
schoolId: string | number;
|
||||||
|
|
@ -373,7 +368,6 @@ const selectUserTable = ref();
|
||||||
|
|
||||||
const search = reactive<SearchParams>({
|
const search = reactive<SearchParams>({
|
||||||
searchStr: "",
|
searchStr: "",
|
||||||
phone: "",
|
|
||||||
userType: "",
|
userType: "",
|
||||||
level: "",
|
level: "",
|
||||||
schoolId: "",
|
schoolId: "",
|
||||||
|
|
@ -577,7 +571,6 @@ const getClass = () => {
|
||||||
const fetchPagedData = (searchUnUse = false) => {
|
const fetchPagedData = (searchUnUse = false) => {
|
||||||
const data = {
|
const data = {
|
||||||
SearchStr: search.searchStr,
|
SearchStr: search.searchStr,
|
||||||
Phone: search.phone,
|
|
||||||
UserType: 2,
|
UserType: 2,
|
||||||
Level: search.level || 0,
|
Level: search.level || 0,
|
||||||
SchoolId: search.schoolId || 0,
|
SchoolId: search.schoolId || 0,
|
||||||
|
|
@ -722,6 +715,7 @@ const importData = () => {
|
||||||
fileE.onchange = async function () {
|
fileE.onchange = async function () {
|
||||||
formData.append("file", fileE.files[0]);
|
formData.append("file", fileE.files[0]);
|
||||||
let res = await ImportTeacher(fileE.files[0]);
|
let res = await ImportTeacher(fileE.files[0]);
|
||||||
|
debugger;
|
||||||
if (res.code != undefined) {
|
if (res.code != undefined) {
|
||||||
if (res.code !== 200) return ElMessage.error(res.message);
|
if (res.code !== 200) return ElMessage.error(res.message);
|
||||||
else return ElMessage.success("所有数据录入成功");
|
else return ElMessage.success("所有数据录入成功");
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue