fix: 班级学生列表搜索时刷新合并申请状态,可直接应用和退回操作

This commit is contained in:
TsMask
2024-07-22 11:45:15 +08:00
parent f977b6ea53
commit b2510c0eb3
2 changed files with 55 additions and 16 deletions

View File

@@ -105,6 +105,15 @@ export default function usePtOptions({ t, fnActiveConfigNode }: any) {
content: t('common.operateOk'),
duration: 3,
});
// 教师修改学生时改变状态
if (student) {
const item = classState.studentOptionsDef.find(
s => s.value === classState.student
);
if (item) {
item.applyStatus = status;
}
}
} else {
message.error({
content: `${res.msg}`,
@@ -146,6 +155,14 @@ export default function usePtOptions({ t, fnActiveConfigNode }: any) {
});
}
/**学生选择搜索 */
function studentChange(v: any) {
if (!v) {
Object.assign(classState.studentOptions, classState.studentOptionsDef);
}
fnActiveConfigNode('#');
}
let timeout: any;
/**学生选择搜索 */
@@ -168,15 +185,22 @@ export default function usePtOptions({ t, fnActiveConfigNode }: any) {
if (!Array.isArray(res.data) || res.data.length <= 0) {
return;
}
for (const s of res.data) {
for (const v of res.data) {
classState.studentOptions.push({
value: s.userName,
label: s.userName,
applyId: s.applyId,
applyStatus: s.applyStatus,
value: v.userName,
label: v.userName,
applyId: v.applyId,
applyStatus: v.applyStatus,
});
// 设为最新状态
const item = classState.studentOptionsDef.find(
s => s.value === v.userName
);
if (item) {
item.applyStatus = v.applyStatus;
}
}
if (val) {
if (!val) {
Object.assign(classState.studentOptionsDef, classState.studentOptions);
}
});
@@ -184,7 +208,7 @@ export default function usePtOptions({ t, fnActiveConfigNode }: any) {
// 学生状态
const studentStatus = computed(() => {
const item = classState.studentOptions.find(
const item = classState.studentOptionsDef.find(
s => s.value === classState.student
);
if (item) return item.applyStatus;
@@ -199,5 +223,6 @@ export default function usePtOptions({ t, fnActiveConfigNode }: any) {
classState,
studentStatus,
studentSearch,
studentChange,
};
}