Ver código fonte

全局表单2025-7-4

CaoGQ123 1 semana atrás
pai
commit
b57833ea35
2 arquivos alterados com 64 adições e 22 exclusões
  1. 16 10
      src/views/tabbar/globalForm.vue
  2. 48 12
      src/views/tabbar/globalFormFont.vue

+ 16 - 10
src/views/tabbar/globalForm.vue

@@ -109,11 +109,11 @@
             <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm">
                 <div class="dialogText">
                     <el-form-item label="表单名:" prop="form_name" >
-                        <el-input v-model="ruleForm.form_name" placeholder="请输入表单名">
+                        <el-input v-model="ruleForm.form_name" placeholder="请输入表单名:投诉举报">
                         </el-input>
                     </el-form-item>
                     <el-form-item label="表名:" prop="table_name">
-                        <el-input v-model="ruleForm.table_name" placeholder="请输入表名" :disabled="dialogName === '编辑表单'">
+                        <el-input v-model="ruleForm.table_name" placeholder="请输入表名(小写字母和下划线:complaints_report)" :disabled="dialogName === '编辑表单'">
                         </el-input>
                     </el-form-item>
                     <el-form-item label="网站名称:" prop="tabbarName_2">
@@ -207,8 +207,8 @@ export default {
             ruleForm: {
 
                 use_captcha: 0, // 新增验证码开关 
-                form_name: '投诉举报', //表单名
-                table_name: 'complaints_report', //表名
+                form_name: '', //表单名
+                table_name: '', //表名
                 webName: '', //网站名称
                 tabbarName: '', //单页名称
                 tabbarName_2: '', //单页名称
@@ -361,8 +361,8 @@ export default {
 
             this.ruleForm={
                 use_captcha: 0, // 新增验证码开关 
-                form_name: '投诉举报', //表单名
-                table_name: 'complaints_report', //表名
+                form_name: '', //表单名
+                table_name: '', //表名
                 webName: '', //网站名称
                 tabbarName: '', //单页名称
                 tabbarName_2: '', //单页名称
@@ -376,7 +376,6 @@ export default {
             if(this.dialogName == "添加表单"){
              this.$refs[formName].validate((valid) => {
                 if (valid) {
-                    
                         add_table_api({// 提交表单add_table_api
                             website_id: this.webSiteName_id_2, //网站id
                             name: this.ruleForm.form_name, //表单名
@@ -390,13 +389,16 @@ export default {
                                     })
                                     this.dialogTableVisible = false
                                     this.getData()
+                                    this.cancelForm()      
+                                }else{
+                                    this.$message.error(data.message)
+                                    return 
                                 }
                             }).catch(err =>{
                                 console.log(err);
                                 this.$message.error('添加失败---',err)
                             })
-                            this.cancelForm()        
-                     
+                              
                 }else {
                     this.$message.error('请填写所有必填项')
                     return false
@@ -426,11 +428,15 @@ export default {
                                     })
                                     this.dialogTableVisible = false
                                     this.getData()
+                                    this.cancelForm()
+                                }else{
+                                    this.$message.error(data.message)
+                                    return false
                                 }
                             }).catch(err =>{
                                 console.log(err);
                             })
-                            this.cancelForm()        
+                                    
                             
                         }else {
                             this.$message.error('请填1写所有必填项')

+ 48 - 12
src/views/tabbar/globalFormFont.vue

@@ -49,23 +49,24 @@
                     <el-form-item label="字段名称:" prop="field_name">
                         <el-input 
                             v-model="ruleForm.field_name" 
-                            placeholder="请输入"
+                            placeholder="请输入字段名称(小写字母和下划线:complaints_report)"
                             :disabled="dialogName === '修改字段'"
-                             
+                            
                             clearable>
                         </el-input>
                     </el-form-item>
                     <el-form-item label="显示名称:" prop="field_name_show">
                         <el-input 
                             v-model="ruleForm.field_name_show" 
-                            :disabled="dialogName === '修改字段'"
-                            placeholder="请输入"
+                             
+                            placeholder="请输入显示名称:投诉举报"
                             clearable>
                         </el-input>
                     </el-form-item>
                     <el-form-item label="字段类别:" prop="field_type">
                         <el-select v-model="ruleForm.field_type" 
                                 placeholder="请选择"
+                                @change="select_change"
                                 filterable>
                             <el-option v-for="item in field_type_arr" 
                                     :key="item.value" 
@@ -95,11 +96,17 @@
                     </el-form-item>
 
 
-                    <el-form-item label="长度:" prop="field_length">
+                    <el-form-item label="文本长度:" prop="field_length">
                         <el-input 
-                        placeholder="请输入"
-                        v-model="ruleForm.field_length">
+                        placeholder="请输入长度:"
+                        v-model="ruleForm.field_length"
+                        number
+                        class="hint-input"> 
+ 
                         </el-input>
+
+                        <div class="hint-message">长度必须在1-255之间</div>
+
                     </el-form-item>
 
                     <el-form-item label="是否校验:" prop="field_switch">
@@ -369,12 +376,12 @@ export default {
             //添加时清空回显回来的数据
             this.ruleForm = {
                 field_recive_id: this.$route.query.id,
-                field_name: 'age',
-                field_name_show: '年龄',
+                field_name: '',
+                field_name_show: '',
                 field_type: "",
-                field_textarea: '男|1\n 女|2\n保密|3',
-                field_length: '1-255',
-                field_switch: 0,
+                field_textarea: '男|1\n女|2\n保密|3',
+                field_length: '',
+                field_switch: 1,
                 field_switch_backend: 0,
                 field_switch_web: 0,
                 // field_regular: this.regular,
@@ -531,6 +538,26 @@ export default {
             // console.log(value);
             this.website_id = value
         },
+
+
+        // 选择下拉框
+        select_change(val) {
+                // 当切换类型时自动触发验证
+                this.$nextTick(() => {
+                    this.$refs.ruleForm.validateField('field_textarea')
+                });
+                
+                // 如果切换为非选项类型(3-5之外),清空选项内容
+                if (val < 3 || val > 5) {
+                    this.ruleForm.field_textarea = '';
+                }
+            },
+            
+
+
+
+
+
     },
     mounted() {
         this.getData()
@@ -763,4 +790,13 @@ input[aria-hidden=true] {
 .dialog-footer {
     margin: 0 auto;
 }
+
+
+.hint-message {
+    color: #999;
+    font-size: 12px;
+    margin-top: 4px;
+    line-height: 1.5;
+}
+
 </style>