Pārlūkot izejas kodu

参数设置 添加科目组合修改弹窗 和 数字输入框校验

lm 1 mēnesi atpakaļ
vecāks
revīzija
ae683b6653

+ 41 - 14
src/views/reviewManagement/stepComponent/step5Component/Step5Component.vue

@@ -30,14 +30,10 @@
                         </el-radio>
                     </el-radio-group>
 
-                    <!-- <el-input v-if="defaultParamsConfigFormData.lowScoreDeleteRatio == 'custom'"  
-                               :disabled="!isEdit"
-                                v-model.number="defaultParamsConfigFormData.customLowScoreDeleteRatio"   
-                            placeholder="请输入"/> -->
-
                     <el-input v-if="defaultParamsConfigFormData.lowScoreDeleteRatio == 'custom'"  
-                                type="number" :disabled="!isEdit"
+                                type="number" :disabled="!isEdit" :step="0.01" :min="0" :max="100"
                                 v-model="defaultParamsConfigFormData.customLowScoreDeleteRatio"   
+                                @change="HandleInputNumberChange"
                             placeholder="请输入"/>
                 </div>
                 
@@ -66,8 +62,8 @@
             </template>
             <template #operation="{row}">
                 <div class="table_row_option">
-                    <span :class="[isEdit ?  'el_button_editor' : 'editor_disable']">编辑</span>
-                    <span :class="[isEdit ?  'el_button_delete' : 'editor_disable']" @click="OpenDeleteDialog(row)">删除</span>
+                    <span :class="[isEdit ?  'el_button_editor' : 'editor_disable']" @click="isEdit ?  OpenSubjectCompositionForm(row) : ''">编辑</span>
+                    <span :class="[isEdit ?  'el_button_delete' : 'editor_disable']" @click="isEdit ?   OpenDeleteDialog(row) : ''">删除</span>
                 </div>
             </template>
         </Table>
@@ -78,8 +74,8 @@
     <FormDialog 
         width="640px"
         :visible="compositionSubjectFormVisible" 
-        :defaultFormData="{}" 
-        title="科目组合" 
+        :defaultFormData="defaultCompositionSubjectFormData" 
+        :title="compositionSubjectFormTitle" 
         :submitLoading="compositionSubjectFormLoading" 
         :formItemList="formItemList" 
         @close="CloseSubjectCompositionForm" 
@@ -181,18 +177,45 @@ const StartOrSaveEdit = async ()=>{
         let res  = await saveParamaterSettingApi(params)
         if(res?.code == 200){
             ElMessage.success(res?.msg)
+            await GetParamaterSetting()
         }
     }
     isEdit.value = !isEdit.value
 }
+// 自定义删除比例的数字矫正
+const HandleInputNumberChange = (val)=>{
+    console.log('输入的值---',val)
+    if(Number(val) > 100){
+        defaultParamsConfigFormData.value.customLowScoreDeleteRatio = 100
+    }else if(Number(val) < 0){
+        defaultParamsConfigFormData.value.customLowScoreDeleteRatio = 0
+    }else if(String(val).split('.')[1].length > 2){
+        let splitArray =  String(val).split('.')
+        defaultParamsConfigFormData.value.customLowScoreDeleteRatio = Number(splitArray[0] +'.' + splitArray[1].slice(0,2))
+    }
+}
 
 
 // 3. 新增科目组合弹窗 及 操作
 const compositionSubjectFormVisible = ref(false)
 const compositionSubjectFormLoading = ref(false)
-
-// 打开弹窗
-const OpenSubjectCompositionForm = async ()=>{
+const compositionSubjectFormTitle = ref('')
+const defaultCompositionSubjectFormData = ref({})
+// 打开 新增/修改 弹窗
+const OpenSubjectCompositionForm = async (row)=>{
+    if(row?.id){
+        compositionSubjectFormTitle.value = '修改科目组合'
+        // 默认表单赋值
+        defaultCompositionSubjectFormData.value = {
+            groupSubjectName:row.groupSubjectName,
+            subjectList:row.subjectData.map(item=>{
+                return item.code
+            }),
+            id:row.id
+        }
+    }else{
+        compositionSubjectFormTitle.value = '新增科目组合'
+    }
     compositionSubjectFormVisible.value = true
     await GetSubjectDataList()
 }
@@ -201,6 +224,7 @@ const OpenSubjectCompositionForm = async ()=>{
 const CloseSubjectCompositionForm = ()=>{
     compositionSubjectFormVisible.value = false
     compositionSubjectFormLoading.value = false
+    defaultCompositionSubjectFormData.value = {}
 }
 
 // 新增科目弹窗确认
@@ -214,7 +238,7 @@ const HandleAddCompositionSubject = async (params)=>{
         }
     })
     let transferParams = {
-        // "id": 0,
+        id: formData.id,
         evaluationId: route.query.id,
         // "evaluationGroupSubjectId": 0,
         groupSubjectName: formData.groupSubjectName,
@@ -301,7 +325,9 @@ const FinishParamaterSetting = async ()=>{
     }
     let res = await finishParamaterSettingApi(params)
     if(res?.code == 200){
+        isEdit.value = false
         ElMessage.success(res?.msg)
+        await GetParamaterSetting()
     }
 }
 
@@ -332,6 +358,7 @@ onMounted(async ()=>{
     padding:4px 0;
     color:#2e64fa;
     font-size: 14px;
+    cursor: pointer;
 }
 
 .low_score_delete_ratio{