From fba2ae6032238c12d036dff679d3fbe86e55f992 Mon Sep 17 00:00:00 2001 From: zhangsir Date: Wed, 31 Jul 2024 15:24:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=84=E4=BC=B0=E7=AE=A1=E7=90=86=E5=9F=BA?= =?UTF-8?q?=E7=A1=80=E4=BF=A1=E6=81=AF=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/research/ResearchAdd.vue | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/src/views/research/ResearchAdd.vue b/src/views/research/ResearchAdd.vue index 402835f1..4837e2a3 100644 --- a/src/views/research/ResearchAdd.vue +++ b/src/views/research/ResearchAdd.vue @@ -78,8 +78,30 @@ const data = ref({ essayQuestionVoList: [], scoringQuestionVoList: [] }); -const canSubmit = computed(()=>data.value.singleStemVoList.length || data.value.multipleStemVoList.length || data.value.essayQuestionVoList.length || data.value.scoringQuestionVoList.length) -const orderList = computed(()=>[...data.value.singleStemVoList.filter(t=>!t.deleted),...data.value.multipleStemVoList.filter(t=>!t.deleted),...data.value.essayQuestionVoList.filter(t=>!t.deleted),...data.value.scoringQuestionVoList.filter(t=>!t.deleted)].sort((a,b)=>a.orderNumber-b.orderNumber)) +// const canSubmit = computed(()=>data.value.singleStemVoList.length || data.value.multipleStemVoList.length || data.value.essayQuestionVoList.length || data.value.scoringQuestionVoList.length) +const canSubmit = computed(() => { + const lists = [ + data.value.singleStemVoList, + data.value.multipleStemVoList, + data.value.essayQuestionVoList, + data.value.scoringQuestionVoList + ]; + + return lists.some(list => Array.isArray(list) && list.length > 0); +}); +// const orderList = computed(()=>[...data.value.singleStemVoList.filter(t=>!t.deleted),...data.value.multipleStemVoList.filter(t=>!t.deleted),...data.value.essayQuestionVoList.filter(t=>!t.deleted),...data.value.scoringQuestionVoList.filter(t=>!t.deleted)].sort((a,b)=>a.orderNumber-b.orderNumber)) +const orderList = computed(() => { + const allLists = [ + ...(Array.isArray(data.value.singleStemVoList) ? data.value.singleStemVoList : []), + ...(Array.isArray(data.value.multipleStemVoList) ? data.value.multipleStemVoList : []), + ...(Array.isArray(data.value.essayQuestionVoList) ? data.value.essayQuestionVoList : []), + ...(Array.isArray(data.value.scoringQuestionVoList) ? data.value.scoringQuestionVoList : []) + ]; + + return allLists + .filter(({ deleted }) => !deleted) + .sort((a, b) => a.orderNumber - b.orderNumber); +}); watch(()=>orderList.value.length,()=> orderList.value.forEach((t,i)=>t.orderNumber = i + 1)) watchEffect(() => id && request(ASSESSMENT_DETAIL(id), {}).then((res) => data.value = res.data)); const handleSave = () => {