From f5e5052489b3ebbbd53b2dcb9fff8d107d28a793 Mon Sep 17 00:00:00 2001
From: wjt <1797368093@qq.com>
Date: 星期四, 20 六月 2024 09:04:20 +0800
Subject: [PATCH] 修改部分按钮

---
 src/views/infomanger/banner/index.vue |   45 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 40 insertions(+), 5 deletions(-)

diff --git a/src/views/infomanger/banner/index.vue b/src/views/infomanger/banner/index.vue
index 65f8afc..fe055a4 100644
--- a/src/views/infomanger/banner/index.vue
+++ b/src/views/infomanger/banner/index.vue
@@ -17,7 +17,12 @@
           </div>
           <el-row>
             <el-col :span="12">
-              <el-form-item :label="`璇勪环椤�${index + 1}`" style="width: 100%" :prop="item.questionName">
+              <el-form-item :label="`璇勪环椤�${index + 1}`" :prop="`${index}`" style="width: 100%"  :rules="[
+                {
+                  validator: validateSubField,
+                  trigger: 'blur'
+                }
+              ]">
                 <el-input
                   placeholder="璇疯緭鍏�"
                   v-model="item.questionName"
@@ -54,7 +59,11 @@
           </el-row>
           <el-row v-if="item.questionType === 1">
             <el-col :span="24">
-              <el-form-item label="閫夐」" style="width: 100%;"  :prop="item.answerList">
+              <el-form-item label="閫夐」" style="width: 100%;"  :prop="`${index}`" :rules="[
+                {
+                  validator: answerListField,
+                }
+              ]">
                   <div
                     v-for="(ele, childIndex) in item.answerList"
                     :key="index"
@@ -107,6 +116,8 @@
     }
   ]
 })
+const instance = getCurrentInstance()
+
 function getListEvaluate() {
   listEvaluate().then((val) => {
     form.value.questionList = val.data.questionList
@@ -117,6 +128,7 @@
     questionStatus: 0,
     questionType: 2,
     questionScore: 5,
+    questionName: '',
     answerList: []
   })
 }
@@ -132,13 +144,36 @@
   formRef.value.validate((valid) => {
     console.log(valid)
     if(valid) {
-      // saveEvaluate({questionList: form.value.questionList}).then(val => {
-      //   ElMessage.success(item||'淇濆瓨鎴愬姛')
-      // })
+      saveEvaluate({questionList: form.value.questionList}).then(val => {
+        ElMessage.success(item||'淇濆瓨鎴愬姛')
+      })
     }
   })
 
 }
+function validateSubField(rule: any, value: any, callback: any) {
+  // console.log(rule, value)
+//   console.log(proxy['form'])
+  if(!form.value.questionList[rule.field].questionName) {
+    callback(new Error('璇峰叆璇勪环椤�'))
+  } else {
+    callback()
+  }
+}
+function answerListField(rule: { field: string | number }, value: any, callback: any) {
+  if(form.value.questionList[rule.field].answerList.length < 2) {
+    callback(new Error('璇疯嚦灏戞坊鍔犱袱椤�'))
+  } else if(form.value.questionList[rule.field].answerList) {
+    const value = form.value.questionList[rule.field].answerList.every(item => item.answerName)
+    if(!value) {
+      callback(new Error('璇峰畬鍠勯�夐」鍐呭'))
+    } else {
+      callback()
+    }
+  } else {
+    callback()
+  }
+}
 function changeValue(event, index, childIndex) {
   // form.value.questionList[index].isScore = event.target.
   form.value.questionList[index].answerList.forEach((item: { isScore: number }) => {

--
Gitblit v1.9.1