From d3059a6205121ce357acef995dfdd16211a43202 Mon Sep 17 00:00:00 2001
From: wangyuhang <139@qq.com>
Date: 星期二, 18 十一月 2025 10:14:02 +0800
Subject: [PATCH] 增加字段 修改字段
---
src/views/infomanger/banner/index.vue | 70 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 13 deletions(-)
diff --git a/src/views/infomanger/banner/index.vue b/src/views/infomanger/banner/index.vue
index f938628..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,7 +188,7 @@
type: 'danger',
}).then(val => {
form.value.questionList.splice(index, 1)
- save()
+ save('鍒犻櫎鎴愬姛')
})
}
--
Gitblit v1.9.1