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 | 69 ++++++++++++++++++++++++++++------ 1 files changed, 57 insertions(+), 12 deletions(-) diff --git a/src/views/infomanger/banner/index.vue b/src/views/infomanger/banner/index.vue index f44a038..fe055a4 100644 --- a/src/views/infomanger/banner/index.vue +++ b/src/views/infomanger/banner/index.vue @@ -1,7 +1,7 @@ <template> <div class="app-container"> <div class="form-content"> - <el-form inline :model="form.questionList" label-width="75px" :rules="rules"> + <el-form inline :model="form.questionList" ref="formRef" label-width="75px" :rules="rules"> <div class="border" v-for="(item, index) in form.questionList" @@ -11,11 +11,18 @@ 璇勪环椤箋{ index + 1 }} </div> --> <div class="close-icon" @click="removeList(index)"> - <el-icon><Close /></el-icon> + <el-tooltip content="绉婚櫎璇勪环椤�"> + <el-icon><Close color="red"/></el-icon> + </el-tooltip> </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" @@ -52,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" @@ -81,7 +92,7 @@ </el-form> <div class="center mt20 fixed"> <el-button type="primary" @click="addContent">娣诲姞璇勪环椤�</el-button> - <el-button @click="save" type="primary" >淇濆瓨鍐呭</el-button> + <el-button @click="save()" type="primary" >淇濆瓨鍐呭</el-button> </div> </div> </div> @@ -92,18 +103,21 @@ import { ElMessage, ElMessageBox} from 'element-plus' const tableData = ref([]) const addNewRef = ref() +const formRef = ref() const form: any = ref({ questionList: [] }) const rules = ref({ questionName: [ { - required: true, - message: '璇疯緭鍏ラ棶棰�', - trigger: 'blur' + required: true, + message: '璇疯緭鍏ラ棶棰�', + trigger: 'blur' } ] }) +const instance = getCurrentInstance() + function getListEvaluate() { listEvaluate().then((val) => { form.value.questionList = val.data.questionList @@ -114,10 +128,11 @@ questionStatus: 0, questionType: 2, questionScore: 5, + questionName: '', answerList: [] }) } -function addOptions(index: number, name){ +function addOptions(index: number, name: any){ if(!form.value.questionList[index].answerList) { form.value.questionList[index].answerList = [] } @@ -125,10 +140,39 @@ questionName: name }) } -function save() { - saveEvaluate({questionList: form.value.questionList}).then(val => { - ElMessage.success('淇濆瓨鎴愬姛') +function save(item?: string) { + formRef.value.validate((valid) => { + console.log(valid) + if(valid) { + 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. @@ -144,6 +188,7 @@ type: 'danger', }).then(val => { form.value.questionList.splice(index, 1) + save('鍒犻櫎鎴愬姛') }) } -- Gitblit v1.9.1