diff --git a/src/views/configManage/configParamTreeTable/hooks/usePtOptions.ts b/src/views/configManage/configParamTreeTable/hooks/usePtOptions.ts index a7fe8e25..bf78ea6f 100644 --- a/src/views/configManage/configParamTreeTable/hooks/usePtOptions.ts +++ b/src/views/configManage/configParamTreeTable/hooks/usePtOptions.ts @@ -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, }; } diff --git a/src/views/configManage/configParamTreeTable/index.vue b/src/views/configManage/configParamTreeTable/index.vue index 406c585f..19349ffa 100644 --- a/src/views/configManage/configParamTreeTable/index.vue +++ b/src/views/configManage/configParamTreeTable/index.vue @@ -21,7 +21,7 @@ import useConfigArray from './hooks/useConfigArray'; import useConfigArrayChild from './hooks/useConfigArrayChild'; import { getAllNeConfig } from '@/api/ne/neConfig'; import { getPtNeConfigData } from '@/api/pt/neConfig'; -import { hasRoles } from '@/plugins/auth-user'; +import { isSystemAdmin, hasRoles } from '@/plugins/auth-user'; const neInfoStore = useNeInfoStore(); const { t } = useI18n(); const { ruleVerification, getConfigSMFByUPFIds, SMFByUPFIdOptions } = @@ -343,6 +343,7 @@ const { classState, studentStatus, studentSearch, + studentChange, } = usePtOptions({ t, fnActiveConfigNode }); const { tablePagination, listState, listEdit, listEditClose, listEditOk } = @@ -438,6 +439,7 @@ onMounted(() => {