<el-dialog :title="title" v-model="visibility" width="60%" :close-on-click-modal="false" draggable append-to-body>
<el-form ref="formRef" :model="formData" :rules="formRules" :label-width="config.form.label.width" status-icon>
<el-row>
<template v-for="(item, index) in fieldsList" :key="index">
<el-col :span="8">
<el-form-item :label="item.fieldLabel" :prop="item.fieldName" :required="item.required">
<template #error>
<span class="el-form-item__error">{{ `${item.fieldLabel}不能为空` }}</span>
</template>
<el-input v-model="formData[item.fieldName]" v-if="item.fieldType === SceneSurveyCustomEnum.STRING"
:placeholder="`${item.fieldLabel}`"></el-input>
<el-input-number v-if="item.fieldType === SceneSurveyCustomEnum.NUMBER" v-model="formData[item.fieldName]"
:precision="2" controls-position="right" :min="0"></el-input-number>
<el-checkbox v-if="item.fieldType === SceneSurveyCustomEnum.BOOLEAN" v-model="formData[item.fieldName]" />
<DatePicker v-if="item.fieldType === SceneSurveyCustomEnum.DATE" v-model="formData[item.fieldName]" />
</el-form-item>
</el-col>
</template>
</el-row>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="visibility = false">{{ config.button.text.close }}</el-button>
<el-button type="primary" @click="addAndUpdateData">{{ config.button.text.save }}</el-button>
</span>
</template>
</el-dialog>