From 75ecc97b9f6304f8fee7a09dabf439789b9ac245 Mon Sep 17 00:00:00 2001 From: wjt <1797368093@qq.com> Date: 星期三, 19 六月 2024 14:46:27 +0800 Subject: [PATCH] 评价项修改 --- src/views/infomanger/banner/index.vue | 99 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 71 insertions(+), 28 deletions(-) diff --git a/src/views/infomanger/banner/index.vue b/src/views/infomanger/banner/index.vue index 100c33a..f938628 100644 --- a/src/views/infomanger/banner/index.vue +++ b/src/views/infomanger/banner/index.vue @@ -1,52 +1,58 @@ <template> <div class="app-container"> <div class="form-content"> - <el-form inline :model="form.questionList" label-width="80px" :rules="rules"> + <el-form inline :model="form.questionList" label-width="75px" :rules="rules"> <div class="border" v-for="(item, index) in form.questionList" :key="index" > - <div class="close-icon"> + <!-- <div class="title-project"> + 璇勪环椤箋{ index + 1 }} + </div> --> + <div class="close-icon" @click="removeList(index)"> <el-icon><Close /></el-icon> </div> <el-row> - <el-col :span="24"> - <el-form-item label="璇曢鍐呭" style="width: 100%" :prop="item.questionName"> + <el-col :span="12"> + <el-form-item :label="`璇勪环椤�${index + 1}`" style="width: 100%" :prop="item.questionName"> <el-input placeholder="璇疯緭鍏�" v-model="item.questionName" - type="textarea" ></el-input> </el-form-item> </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="鏈寰楀垎" :prop="item.questionScore"> - <el-input - type="number" + <el-col :span="6"> + <el-form-item label="寰楀垎" :prop="item.questionScore"> + <el-input-number placeholder="璇疯緭鍏�" v-model="item.questionScore" - style="width: 200px" - ></el-input> + :min="1" + :max="10" + controls-position="right" + ></el-input-number> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="棰樼洰绫诲瀷" :prop="item.questionType"> + <el-col :span="6"> + <el-form-item label="璇勪环绫诲瀷" :prop="item.questionType"> <el-radio-group placeholder="璇疯緭鍏�" v-model="item.questionType" > - <el-radio value="1">閫夋嫨</el-radio> - <el-radio value="2">鎵撳垎</el-radio> + <el-radio :value="2">鎵撳垎</el-radio> + <el-radio :value="1">閫夋嫨</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row> - <el-row v-if="item.questionType === '1'"> + <el-row v-if="item.questionType === 2"> + <el-form-item> + <el-rate disabled :max="item.questionScore" v-model="item.questionScore"></el-rate> + </el-form-item> + </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="item.answerList"> <div v-for="(ele, childIndex) in item.answerList" :key="index" @@ -57,9 +63,10 @@ <el-input v-model="ele.answerName" placeholder="璇疯緭鍏�" - style="width: 85%; margin-right: 10px" + style="width: 65%; margin-right: 10px" ></el-input> <el-checkbox v-model="ele.isScore" @change="changeValue($event, index, childIndex)" :true-value="1" :false-value="0" :label="'鏄惁璁″垎'"/> + <el-button type="danger" size="small" @click="removeArrlist(index, childIndex)" style="margin-left: 10px;">绉婚櫎</el-button> </div> <!-- </el-radio-group> --> @@ -71,10 +78,10 @@ </el-col> </el-row> </div> - <div class="add-button" @click="addContent">娣诲姞鎵ф硶椤�</div> </el-form> - <div class="center mt20"> - <el-button @click="save" type="primary" style="width: 100%;padding: 20px 0">淇濆瓨鍐呭</el-button> + <div class="center mt20 fixed"> + <el-button type="primary" @click="addContent">娣诲姞璇勪环椤�</el-button> + <el-button @click="save" type="primary" >淇濆瓨鍐呭</el-button> </div> </div> </div> @@ -82,7 +89,7 @@ <script lang="ts" setup> import { listEvaluate, saveEvaluate } from '@/api/system/company/company' -import { ElMessage} from 'element-plus' +import { ElMessage, ElMessageBox} from 'element-plus' const tableData = ref([]) const addNewRef = ref() const form: any = ref({ @@ -99,17 +106,21 @@ }) function getListEvaluate() { listEvaluate().then((val) => { - tableData.value = val.data.questionList + form.value.questionList = val.data.questionList }) } function addContent() { form.value.questionList.push({ questionStatus: 0, - questionType: '2', + questionType: 2, + questionScore: 5, answerList: [] }) } function addOptions(index: number, name){ + if(!form.value.questionList[index].answerList) { + form.value.questionList[index].answerList = [] + } form.value.questionList[index].answerList.push({ questionName: name }) @@ -126,19 +137,41 @@ }) form.value.questionList[index].answerList[childIndex].isScore = 1 } +function removeList(index) { + ElMessageBox.confirm('纭绉婚櫎璇ヨ瘎浠烽」锛�', '鎻愮ず', { + confirmButtonText: '纭', + cancelButtonText: '鍙栨秷', + type: 'danger', + }).then(val => { + form.value.questionList.splice(index, 1) + save() + }) + +} +function removeArrlist(index: string | number, childIndex: any) { + form.value.questionList[index].answerList.splice(childIndex, 1) +} getListEvaluate() </script> <style scoped lang="scss"> .form-content { width: 80%; + padding-bottom: 150px; + margin: 0 auto; + // border: 1px solid #e2e2e2; } .border { - border: 1px solid #e2e2e2; + // border: 1px solid #e2e2e2; margin-bottom: 10px; - padding: 30px; + padding: 20px 30px 0; position: relative; + :deep() { + .el-form-item__label{ + font-weight: 500 + } + } } .close-icon { position: absolute; @@ -162,4 +195,14 @@ .center{ text-align: center; } +.fixed{ + background-color: white; + position: sticky; + bottom: 0; +} +.title-project{ + font-weight: 700; + color: #606266; + margin-bottom: 10px +} </style> -- Gitblit v1.9.1