From 81ba0bc869ed0fd9974d5e47e194d5a3fc5d8224 Mon Sep 17 00:00:00 2001
From: heyujie <516346543@qq.com>
Date: 星期四, 16 六月 2022 16:57:42 +0800
Subject: [PATCH] check car no

---
 src/pages/library/components/carList.vue |   78 ++++++++++++++++++++++++++++-----------
 1 files changed, 56 insertions(+), 22 deletions(-)

diff --git a/src/pages/library/components/carList.vue b/src/pages/library/components/carList.vue
index 41208c7..ac5ed39 100644
--- a/src/pages/library/components/carList.vue
+++ b/src/pages/library/components/carList.vue
@@ -394,12 +394,12 @@
         :model="form"
         label-width="80px"
         style="margin-top: 20px; margin-bottom: 30px"
-        :rule="rules"
+        :rule="carRules"
       >
         <el-form-item label="杞︾墝鍙�" prop="carNo">
           <el-input placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-model="form.carNo" class="inputWidth"></el-input>
         </el-form-item>
-        <el-form-item label="杞﹁締绫诲瀷">
+        <el-form-item label="杞﹁締绫诲瀷" prop="carType">
           <el-select v-model="form.carType" placeholder="璇烽�夋嫨杞﹁締绫诲瀷" class="inputWidth">
             <el-option
               v-for="item in VideoPhotoData.dictionary.CARTYPE"
@@ -409,7 +409,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="杞﹁締鍝佺墝">
+        <el-form-item label="杞﹁締鍝佺墝" prop="carBrand">
           <el-select v-model="form.carBrand" placeholder="璇烽�夋嫨杞﹁締鍝佺墝" class="inputWidth">
             <el-option
               v-for="item in VideoPhotoData.dictionary.BRAND"
@@ -419,7 +419,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="杞﹁韩棰滆壊">
+        <el-form-item label="杞﹁韩棰滆壊" prop="carColor">
           <el-select v-model="form.carColor" placeholder="璇烽�夋嫨杞﹁韩棰滆壊" class="inputWidth">
             <el-option
               v-for="item in VideoPhotoData.dictionary.nColor"
@@ -429,33 +429,24 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="杞︿富濮撳悕">
+        <el-form-item label="杞︿富濮撳悕" prop="personName">
           <el-input v-model="form.personName" class="inputWidth"></el-input>
         </el-form-item>
-        <el-form-item label="杞︿富鎬у埆">
+        <el-form-item label="杞︿富鎬у埆" prop="sex">
           <el-radio-group v-model="form.sex">
             <el-radio label="鐢�"></el-radio>
             <el-radio label="濂�"></el-radio>
           </el-radio-group>
         </el-form-item>
-        <el-form-item label="韬唤璇佸彿">
+        <el-form-item label="韬唤璇佸彿" prop="idCard">
           <el-input v-model="form.idCard" class="inputWidth"></el-input>
         </el-form-item>
-        <el-form-item label="鎵嬫満鍙�">
+        <el-form-item label="鎵嬫満鍙�" prop="phoneNum">
           <el-input v-model="form.phoneNum" class="inputWidth"></el-input>
         </el-form-item>
-        <el-form-item label="鍏朵粬">
+        <el-form-item label="鍏朵粬" prop="reserved">
           <el-input v-model="form.reserved" class="inputWidth"></el-input>
         </el-form-item>
-        <!-- <el-form-item style="text-align: tight">
-          <el-button
-            type="primary"
-            @click="submitCar"
-            style="margin-left: 120px"
-            >淇濆瓨</el-button
-          >
-          <el-button @click="resetForm">鍙栨秷</el-button>
-        </el-form-item> -->
       </el-form>
       <div class="dialog-footer">
         <el-button size="small" class="sure-btn" type="primary" @click="submitCar">纭� 瀹�</el-button>
@@ -548,6 +539,27 @@
     }
   },
   data() {
+     var checkCar = (rule, value, callback) => {
+       debugger
+      if (!value) {
+        return callback()
+      } else {
+        var result = false
+        if (value.length === 7) {
+          var express = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/
+          result = express.test(value)
+        } else if (value.length === 8) {
+          var express2 = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/
+          result = express2.test(value)
+        }
+        if (result) {
+          callback()
+        } else {
+          callback(new Error('璇疯緭鍏ユ纭溅鐗屽彿鐮�'))
+        }
+        return result
+      }
+    }
     return {
       dialogFormVisible: false,
       addDrawer: false,
@@ -598,8 +610,11 @@
         enable: 0,
         reserved: ""
       },
-      rules: {
-        carNo: [{ required: true, message: "璇疯緭鍏ヨ溅鐗屽彿", trigger: "change" }]
+      carRules: {
+        carNo: [
+          { required: true, message: '璇疯緭鍏ユ椿鍔ㄥ悕绉�', trigger: 'blur' },
+          // { validator: checkCar, trigger: 'blur' }
+          ]
       },
       tableData: [],
       oldWidth: "",
@@ -649,6 +664,17 @@
     window.onresize = null
   },
   methods: {
+    checkCarNo(value){
+      var result = false
+        if (value.length === 7) {
+          var express = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/
+          result = express.test(value)
+        } else if (value.length === 8) {
+          var express2 = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/
+          result = express2.test(value)
+        }
+        return result
+    },
     async handleDel() {
       this.delBtnLoading = true
       if (this.delType == "single") {
@@ -1078,7 +1104,8 @@
         })
       }
     },
-    async submitCar() {
+    submitCar() {
+      debugger
       this.$refs["formForCar"].validate(async (valid) => {
         if (valid) {
           let { ...json } = this.form
@@ -1089,10 +1116,17 @@
               json.carPicUrls += ";" + json.carUrls[index].url.substring(11)
             }
           }
+          if (!this.checkCarNo(json.carNo)) {
+             this.$notify({
+              type: "warning",
+              message: "璇疯緭鍏ユ纭殑杞︾墝鍙�"
+
+            })
+            return
+          }
           json.carColor = parseInt(json.carColor)
           json.carType = parseInt(json.carType)
           json.carBrand = parseInt(json.carBrand)
-          debugger
           json.personPicUrl = json.faceUrl[0].url.substring(11)
           json.tableId = this.baseObject.id
           delete json["compareScore"]

--
Gitblit v1.8.0