From 5469544f24386c9eb5e24e6713d817827f45ec90 Mon Sep 17 00:00:00 2001
From: wangchengming <15110151257@163.com>
Date: Tue, 3 Dec 2024 17:30:17 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 package.json                        | 19 ------
 src/views/About/ContactUs/Index.vue | 94 +++++++++++++++++++++++++----
 2 files changed, 81 insertions(+), 32 deletions(-)

diff --git a/package.json b/package.json
index 1c1521a..72c2e45 100644
--- a/package.json
+++ b/package.json
@@ -23,33 +23,14 @@
   },
   "devDependencies": {
     "@babel/core": "^7.12.16",
-    "@babel/eslint-parser": "^7.12.16",
     "@vue/cli-plugin-babel": "~5.0.0",
-    "@vue/cli-plugin-eslint": "~5.0.0",
     "@vue/cli-service": "~5.0.0",
-    "@vue/eslint-config-standard": "^8.0.1",
-    "eslint": "^8.0.1",
-    "eslint-plugin-vue": "^9.2.0",
     "less": "^4.2.0",
     "less-loader": "^11.1.4",
     "sass": "^1.74.1",
     "sass-loader": "^13.0.0",
     "vue-template-compiler": "2.7.16"
   },
-  "eslintConfig": {
-    "root": true,
-    "env": {
-      "node": true
-    },
-    "extends": [
-      "plugin:vue/essential",
-      "eslint:recommended"
-    ],
-    "parserOptions": {
-      "parser": "@babel/eslint-parser"
-    },
-    "rules": {}
-  },
   "browserslist": [
     "> 1%",
     "last 2 versions",
diff --git a/src/views/About/ContactUs/Index.vue b/src/views/About/ContactUs/Index.vue
index 0913a7e..14bb5bc 100644
--- a/src/views/About/ContactUs/Index.vue
+++ b/src/views/About/ContactUs/Index.vue
@@ -63,31 +63,45 @@
             </div>
           </div>
           <el-form
+            ref="feekform"
             :model="form"
+            :rules="formRules"
             label-width="110rem"
             style="margin-top: 40rem"
           >
             <div class="formBarContent">
               <el-row>
                 <el-col :span="10">
-                  <el-form-item label="标题">
-                    <el-input v-model="form.title" />
+                  <el-form-item
+                    label="标题"
+                    prop="captionName"
+                  >
+                    <el-input v-model="form.captionName" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="7">
-                  <el-form-item label="反馈人">
-                    <el-input v-model="form.feedbackPerson" />
+                  <el-form-item
+                    label="反馈人"
+                    prop="userName"
+                  >
+                    <el-input v-model="form.userName" />
                   </el-form-item>
                 </el-col>
                 <el-col :span="7">
-                  <el-form-item label="联系方式">
-                    <el-input v-model="form.contactWay" />
+                  <el-form-item
+                    label="联系方式"
+                    prop="phoneNumber"
+                  >
+                    <el-input v-model="form.phoneNumber" />
                   </el-form-item>
                 </el-col>
               </el-row>
-              <el-form-item label="反馈内容">
+              <el-form-item
+                label="反馈内容"
+                prop="abstracts"
+              >
                 <el-input
-                  v-model="form.feedbackContent"
+                  v-model="form.abstracts"
                   :autosize="{ minRows: 6, maxRows: 6 }"
                   type="textarea"
                 />
@@ -99,7 +113,10 @@
               </el-form-item>
             </div>
             <el-form-item style="text-align: center;border-top:1rem solid #B0B0B0;padding: 20rem 0rem">
-              <el-button class="subBtn">
+              <el-button
+                class="subBtn"
+                @click="handleAdd"
+              >
                 提交
               </el-button>
             </el-form-item>
@@ -136,10 +153,36 @@ export default {
         { title: '公司地址', value: '海南省三亚市天涯区育春路七巷九号', src: '/static/img/contactUs/address.png' },
       ],
       form: {
-        title: '',
-        feedbackPerson: '',
-        contactWay: '',
-        feedbackContent: '',
+        captionName: '',
+        userName: '',
+        phoneNumber: '',
+        abstracts: '',
+      },
+      formRules: {
+        captionName: [
+          { required: true, message: '请输入标题', trigger: 'blur' },
+        ],
+        userName: [
+          { required: true, message: '请输入联系人', trigger: 'blur' },
+        ],
+        phoneNumber: [
+          { required: true, message: '请输入联系方式', trigger: 'blur' },
+          {
+            validator: function (rule, value, callback) {
+              const reg = /^1[3456789]\d{9}$/;
+              const reg3 = /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
+              if (!(reg.test(value) || reg3.test(value))) {
+                callback(new Error('请输入手机号、座机号或邮箱'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'blur',
+          },
+        ],
+        abstracts: [
+          { required: true, message: '请输入反馈内容', trigger: 'blur' },
+        ],
       },
     };
   },
@@ -163,6 +206,27 @@ export default {
         this.screen1.bannerUrl = res.rows[0].imageurl;
       } catch (error) {}
     },
+    handleAdd () {
+      try {
+        this.$refs["feekform"].validate(valid => {
+          if (valid) {
+            this.$request.post(
+              '/official/message/add',
+              this.form,
+            ).then(res => {
+              if(res.code == 200) {
+                this.form = {
+                  captionName: '',
+                  userName: '',
+                  phoneNumber: '',
+                  abstracts: '',
+                }
+              }
+            });
+          }
+        });
+      } catch (error) {}
+    },
   },
 };
 </script>
@@ -271,6 +335,10 @@ export default {
 .el-form-item {
   margin-bottom: 22rem !important;
 }
+/deep/.el-form-item__error {
+  font-size: 12rem;
+  padding-top: 4rem;
+}
 /deep/.el-form-item__label {
   font-size: 14rem;
   line-height: 40rem;