Browse Source

异常处理校验

duwendi 1 year ago
parent
commit
9a8f5f6dfd

+ 2 - 2
src/pages/index/components/business_record.vue

@@ -299,7 +299,7 @@
299 299
 </template>
300 300
 <script>
301 301
 import api_z from "@/api/article_z.js";
302
-import {isVehicleNumber} from '@/util/common'
302
+import {isVehicleNumber, checkSpecialKey} from '@/util/common'
303 303
 let vehicleNumber = (rule, value, callback) => {
304 304
   if (isVehicleNumber(value)) {
305 305
     callback();
@@ -308,7 +308,7 @@ let vehicleNumber = (rule, value, callback) => {
308 308
   }
309 309
 }
310 310
 let validateInput = (rule, value, callback) => {
311
-  if (!this.checkSpecialKey(value)) {
311
+  if (!checkSpecialKey(value)) {
312 312
     callback(new Error("不能含有特殊字符!!"));
313 313
   } else {
314 314
     callback();

+ 239 - 109
src/pages/index/components/exception_handing.vue

@@ -55,8 +55,8 @@
55 55
           width="45%"
56 56
           custom-class="audit-dialog">
57 57
           <div class="form-div">
58
-            <el-form label-position="left" label-width="100px" :model="formLabelAlign">
59
-              <el-form-item label="车场名称">
58
+            <el-form ref="formLabelAlign" label-position="left"  :rules="rules1" label-width="100px" :model="formLabelAlign">
59
+              <el-form-item label="车场名称" prop="parkId">
60 60
                 <el-select v-model="formLabelAlign.parkId" placeholder="请选择">
61 61
                   <el-option
62 62
                     v-for="(item,index) in carParkingNameOptions"
@@ -65,16 +65,16 @@
65 65
                     :value="item.id" />
66 66
                 </el-select>
67 67
               </el-form-item>
68
-              <el-form-item label="车牌号">
68
+              <el-form-item label="车牌号" prop="plateNo">
69 69
                 <el-input v-model="formLabelAlign.plateNo"></el-input>
70 70
               </el-form-item>
71
-              <el-form-item label="抬杆类型">
71
+              <el-form-item label="抬杆类型" prop="liftType">
72 72
                 <el-input v-model="formLabelAlign.liftType"></el-input>
73 73
               </el-form-item>
74
-              <el-form-item label="抬杆状态">
74
+              <el-form-item label="抬杆状态" prop="liftStatus">
75 75
                 <el-input v-model="formLabelAlign.liftStatus"></el-input>
76 76
               </el-form-item>
77
-              <el-form-item label="操作人员">
77
+              <el-form-item label="操作人员" prop="tollmanId">
78 78
                 <el-select v-model="formLabelAlign.tollmanId" placeholder="请选择">
79 79
                   <el-option
80 80
                     v-for="(item,index) in tollmanOptions"
@@ -140,8 +140,8 @@
140 140
           width="45%"
141 141
           custom-class="audit-dialog">
142 142
           <div class="form-div">
143
-            <el-form label-position="left" label-width="110px" :model="formLabelAlign2">
144
-              <el-form-item label="车场名称">
143
+            <el-form label-position="left" ref="formLabelAlign2" :rules="rules2" label-width="110px" :model="formLabelAlign2">
144
+              <el-form-item label="车场名称" prop="parkId">
145 145
                 <el-select v-model="formLabelAlign2.parkId" placeholder="请选择">
146 146
                   <el-option
147 147
                     v-for="(item,index) in carParkingNameOptions"
@@ -150,16 +150,22 @@
150 150
                     :value="item.id" />
151 151
                 </el-select>
152 152
               </el-form-item>
153
-              <el-form-item label="车牌号">
153
+              <el-form-item label="车牌号" prop="plateNo">
154 154
                 <el-input v-model="formLabelAlign2.plateNo"></el-input>
155 155
               </el-form-item>
156
-              <el-form-item label="车辆类型">
157
-                <el-input v-model="formLabelAlign2.vehicleType"></el-input>
156
+              <el-form-item label="车辆类型" prop="vehicleType">
157
+                <el-select v-model="formLabelAlign2.vehicleType" placeholder="请选择">
158
+                  <el-option
159
+                    v-for="(item,index) in vehicleTypeOptions"
160
+                    :key="index"
161
+                    :label="item.label"
162
+                    :value="item.value" />
163
+                </el-select>
158 164
               </el-form-item>
159
-              <el-form-item label="放行原因">
165
+              <el-form-item label="放行原因" prop="relaseReason">
160 166
                 <el-input v-model="formLabelAlign2.relaseReason"></el-input>
161 167
               </el-form-item>
162
-              <el-form-item label="授权人员姓名">
168
+              <el-form-item label="授权人员" prop="tollmanId">
163 169
                 <el-select v-model="formLabelAlign2.tollmanId" placeholder="请选择">
164 170
                   <el-option
165 171
                     v-for="(item,index) in tollmanOptions"
@@ -168,7 +174,7 @@
168 174
                     :value="item.id" />
169 175
                 </el-select>
170 176
               </el-form-item>
171
-              <el-form-item label="授权人员电话">
177
+              <el-form-item label="授权人员电话" prop="tollmanPhone">
172 178
                 <el-input v-model="formLabelAlign2.tollmanPhone"></el-input>
173 179
               </el-form-item>
174 180
             </el-form>
@@ -228,17 +234,17 @@
228 234
           width="45%"
229 235
           custom-class="audit-dialog">
230 236
           <div class="form-div">
231
-            <el-form label-position="left" label-width="100px" :model="formLabelAlign3">
232
-              <el-form-item label="车牌原始号码">
237
+            <el-form label-position="left" :rules="rules3" label-width="120px" ref="formLabelAlign3" :model="formLabelAlign3">
238
+              <el-form-item label="车牌原始号码" prop="plateNoBefore">
233 239
                 <el-input v-model="formLabelAlign3.plateNoBefore"></el-input>
234 240
               </el-form-item>
235
-              <el-form-item label="车牌修后号码">
241
+              <el-form-item label="车牌修后号码" prop="plateNoAfter">
236 242
                 <el-input v-model="formLabelAlign3.plateNoAfter"></el-input>
237 243
               </el-form-item>
238
-              <el-form-item label="修正原因">
244
+              <el-form-item label="修正原因" prop="correctionReason">
239 245
                 <el-input v-model="formLabelAlign3.correctionReason"></el-input>
240 246
               </el-form-item>
241
-              <el-form-item label="修正时间">
247
+              <el-form-item label="修正时间" prop="createTime">
242 248
                 <el-date-picker
243 249
                   v-model="formLabelAlign3.createTime"
244 250
                   type="datetime"
@@ -308,8 +314,8 @@
308 314
           width="45%"
309 315
           custom-class="audit-dialog">
310 316
           <div class="form-div">
311
-            <el-form label-position="left" label-width="100px" :model="formLabelAlign4">
312
-              <el-form-item label="车场名称">
317
+            <el-form label-position="left" ref="formLabelAlign4" label-width="100px" :rules="rules4" :model="formLabelAlign4">
318
+              <el-form-item label="车场名称" prop="parkId">
313 319
                 <el-select v-model="formLabelAlign4.parkId" placeholder="请选择">
314 320
                   <el-option
315 321
                     v-for="(item,index) in carParkingNameOptions"
@@ -318,19 +324,25 @@
318 324
                     :value="item.id" />
319 325
                 </el-select>
320 326
               </el-form-item>
321
-              <el-form-item label="车牌号">
327
+              <el-form-item label="车牌号" prop="plateNo">
322 328
                 <el-input v-model="formLabelAlign4.plateNo"></el-input>
323 329
               </el-form-item>
324
-              <el-form-item label="车辆类型">
325
-                <el-input v-model="formLabelAlign4.vehicleType"></el-input>
330
+              <el-form-item label="车辆类型" prop="vehicleType">
331
+                <el-select v-model="formLabelAlign2.vehicleType" placeholder="请选择">
332
+                  <el-option
333
+                    v-for="(item,index) in vehicleTypeOptions"
334
+                    :key="index"
335
+                    :label="item.label"
336
+                    :value="item.value" />
337
+                </el-select>
326 338
               </el-form-item>
327
-              <el-form-item label="清理通知">
339
+              <el-form-item label="清理通知" prop="cleanNotice">
328 340
                 <el-input v-model="formLabelAlign4.cleanNotice"></el-input>
329 341
               </el-form-item>
330
-              <el-form-item label="清理结果">
342
+              <el-form-item label="清理结果" prop="cleanResult">
331 343
                 <el-input v-model="formLabelAlign4.cleanResult"></el-input>
332 344
               </el-form-item>
333
-              <el-form-item label="法律程序">
345
+              <el-form-item label="法律程序" prop="legalProcedure">
334 346
                 <el-input v-model="formLabelAlign4.legalProcedure"></el-input>
335 347
               </el-form-item>
336 348
             </el-form>
@@ -345,9 +357,34 @@
345 357
   </div>
346 358
 </template>
347 359
 <script>
348
-import api from "@/api/audit.js";
349
-import dictionary from "@/util/dictionary";
350 360
 import api_z from "@/api/article_z.js";
361
+import {isVehicleNumber, checkSpecialKey} from '@/util/common'
362
+let vehicleNumber = (rule, value, callback) => {
363
+  if (isVehicleNumber(value)) {
364
+    callback();
365
+  } else {
366
+    return callback(new Error("车牌号不正确"));
367
+  }
368
+}
369
+let validateInput = (rule, value, callback) => {
370
+  if (!checkSpecialKey(value)) {
371
+    callback(new Error("不能含有特殊字符!!"));
372
+  } else {
373
+    callback();
374
+  }
375
+}
376
+let checkPhone = (rule, value, callback) => { // 手机号验证
377
+  if (!value) {
378
+    return callback(new Error('手机号不能为空'));
379
+  } else {
380
+    const reg = /^1[3456789]\d{9}$/
381
+    if (reg.test(value)) {
382
+      callback();
383
+    } else {
384
+      return callback(new Error('请输入正确的手机号'));
385
+    }
386
+  }
387
+}
351 388
 
352 389
 export default {
353 390
   components: {},
@@ -394,6 +431,26 @@ export default {
394 431
       },
395 432
       title: '',
396 433
       dialogVisible: false,
434
+      rules1: {
435
+        parkId: [
436
+          { required: true, message: "车场不能为空", trigger: "change" },
437
+        ],
438
+        plateNo: [
439
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
440
+          { validator: vehicleNumber, trigger: "blur" },
441
+        ],
442
+        liftType: [
443
+          { required: true, message: "抬杆类型不能为空", trigger: "blur" },
444
+          { validator: validateInput, trigger: "blur" },
445
+        ],
446
+        liftStatus: [
447
+          { required: true, message: "抬杆状态不能为空", trigger: "blur" },
448
+          { validator: validateInput, trigger: "blur" },
449
+        ],
450
+        tollmanId: [
451
+          { required: true, message: "操作人员不能为空", trigger: "change" },
452
+        ]
453
+      },
397 454
       formLabelAlign: {
398 455
         parkId: '',
399 456
         plateNo: '',
@@ -440,6 +497,30 @@ export default {
440 497
       },
441 498
       title2: '',
442 499
       dialogVisible2: false,
500
+      vehicleTypeOptions: [
501
+        {label: '小型',value: '小型'},
502
+        {label: '大型',value: '大型'},
503
+        {label: '未识别',value: '未识别'},
504
+      ],
505
+      rules2: {
506
+        parkId: [
507
+          { required: true, message: "车场不能为空", trigger: "change" },
508
+        ],
509
+        plateNo: [
510
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
511
+          { validator: vehicleNumber, trigger: "blur" },
512
+        ],
513
+        relaseReason: [
514
+          { required: true, message: "放行原因不能为空", trigger: "blur" },
515
+        ],
516
+        tollmanId: [
517
+          { required: true, message: "授权人员不能为空", trigger: "change" },
518
+        ],
519
+        tollmanPhone: [
520
+          { required: true, message: "电话号码不能为空", trigger: "blur" },
521
+          { validator: checkPhone, trigger: "blur" },
522
+        ]
523
+      },
443 524
       formLabelAlign2: {
444 525
         id: '',
445 526
         parkId: '',
@@ -476,6 +557,22 @@ export default {
476 557
         plateNoAfter: ''
477 558
       },
478 559
       title3: '',
560
+      rules3: {
561
+        plateNoBefore: [
562
+          { required: true, message: "车场不能为空", trigger: "blur" },
563
+        ],
564
+        plateNoAfter: [
565
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
566
+          { validator: vehicleNumber, trigger: "blur" },
567
+        ],
568
+        correctionReason: [
569
+          { required: true, message: "修正原因不能为空", trigger: "blur" },
570
+          { validator: validateInput, trigger: "blur" },
571
+        ],
572
+        createTime: [
573
+          { required: true, message: "修正时间不能为空", trigger: "change" },
574
+        ],
575
+      },
479 576
       dialogVisible3: false,
480 577
       formLabelAlign3: {
481 578
         id: '',
@@ -520,6 +617,15 @@ export default {
520 617
       },
521 618
       title4: '',
522 619
       dialogVisible4: false,
620
+      rules4: {
621
+        parkId: [
622
+          { required: true, message: "车场不能为空", trigger: "blur" },
623
+        ],
624
+        plateNo: [
625
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
626
+          { validator: vehicleNumber, trigger: "blur" },
627
+        ]
628
+      },
523 629
       formLabelAlign4: {
524 630
         id: '',
525 631
         parkId: '',
@@ -564,29 +670,35 @@ export default {
564 670
       })
565 671
     },
566 672
     handleConfirm() {
567
-      if (this.title === '修改') {
568
-        api_z.editExceptionHandingLift({...this.formLabelAlign}).then(res => {
569
-          if (res.code === 200) {
570
-            this.dialogVisible = false
571
-            this.$message({
572
-              message: '修改成功!',
573
-              type: 'success'
673
+      this.$refs['formLabelAlign'].validate((valid) => {
674
+        if (valid) {
675
+          if (this.title === '修改') {
676
+            api_z.editExceptionHandingLift({...this.formLabelAlign}).then(res => {
677
+              if (res.code === 200) {
678
+                this.dialogVisible = false
679
+                this.$message({
680
+                  message: '修改成功!',
681
+                  type: 'success'
682
+                })
683
+                this.getTableData1()
684
+              }
574 685
             })
575
-            this.getTableData1()
576
-          }
577
-        })
578
-      } else {
579
-        api_z.addExceptionHandingLift({...this.formLabelAlign}).then(res => {
580
-          if (res.code === 200) {
581
-            this.dialogVisible = false
582
-            this.$message({
583
-              message: '添加成功!',
584
-              type: 'success'
686
+          } else {
687
+            api_z.addExceptionHandingLift({...this.formLabelAlign}).then(res => {
688
+              if (res.code === 200) {
689
+                this.dialogVisible = false
690
+                this.$message({
691
+                  message: '添加成功!',
692
+                  type: 'success'
693
+                })
694
+                this.getTableData1()
695
+              }
585 696
             })
586
-            this.getTableData1()
587 697
           }
588
-        })
589
-      }
698
+        } else {
699
+          return false;
700
+        }
701
+      })
590 702
     },
591 703
     onSubmit2() {
592 704
       this.pageNum2 = 1
@@ -612,29 +724,35 @@ export default {
612 724
       })
613 725
     },
614 726
     handleConfirm2() {
615
-      if (this.title2 === '修改') {
616
-        api_z.editExceptionHandingSpecial({...this.formLabelAlign2}).then(res => {
617
-          if (res.code === 200) {
618
-            this.dialogVisible2 = false
619
-            this.$message({
620
-              message: '修改成功!',
621
-              type: 'success'
727
+      this.$refs['formLabelAlign2'].validate((valid) => {
728
+        if (valid) {
729
+          if (this.title2 === '修改') {
730
+            api_z.editExceptionHandingSpecial({...this.formLabelAlign2}).then(res => {
731
+              if (res.code === 200) {
732
+                this.dialogVisible2 = false
733
+                this.$message({
734
+                  message: '修改成功!',
735
+                  type: 'success'
736
+                })
737
+                this.getTableData2()
738
+              }
622 739
             })
623
-            this.getTableData2()
624
-          }
625
-        })
626
-      } else {
627
-        api_z.addExceptionHandingSpecial({...this.formLabelAlign2}).then(res => {
628
-          if (res.code === 200) {
629
-            this.dialogVisible2 = false
630
-            this.$message({
631
-              message: '添加成功!',
632
-              type: 'success'
740
+          } else {
741
+            api_z.addExceptionHandingSpecial({...this.formLabelAlign2}).then(res => {
742
+              if (res.code === 200) {
743
+                this.dialogVisible2 = false
744
+                this.$message({
745
+                  message: '添加成功!',
746
+                  type: 'success'
747
+                })
748
+                this.getTableData2()
749
+              }
633 750
             })
634
-            this.getTableData2()
635 751
           }
636
-        })
637
-      }
752
+        } else {
753
+          return false
754
+        }
755
+      })
638 756
     },
639 757
     onSubmit3() {
640 758
       this.pageNum3 = 1
@@ -660,29 +778,35 @@ export default {
660 778
       })
661 779
     },
662 780
     handleConfirm3() {
663
-      if (this.title3 === '修改') {
664
-        api_z.editExceptionHandingCorrection({...this.formLabelAlign3}).then(res => {
665
-          if (res.code === 200) {
666
-            this.dialogVisible3 = false
667
-            this.$message({
668
-              message: '修改成功!',
669
-              type: 'success'
781
+      this.$refs['formLabelAlign3'].validate((valid) => {
782
+        if (valid) {
783
+          if (this.title3 === '修改') {
784
+            api_z.editExceptionHandingCorrection({...this.formLabelAlign3}).then(res => {
785
+              if (res.code === 200) {
786
+                this.dialogVisible3 = false
787
+                this.$message({
788
+                  message: '修改成功!',
789
+                  type: 'success'
790
+                })
791
+                this.getTableData3()
792
+              }
670 793
             })
671
-            this.getTableData3()
672
-          }
673
-        })
674
-      } else {
675
-        api_z.addExceptionHandingCorrection({...this.formLabelAlign3}).then(res => {
676
-          if (res.code === 200) {
677
-            this.dialogVisible3 = false
678
-            this.$message({
679
-              message: '添加成功!',
680
-              type: 'success'
794
+          } else {
795
+            api_z.addExceptionHandingCorrection({...this.formLabelAlign3}).then(res => {
796
+              if (res.code === 200) {
797
+                this.dialogVisible3 = false
798
+                this.$message({
799
+                  message: '添加成功!',
800
+                  type: 'success'
801
+                })
802
+                this.getTableData3()
803
+              }
681 804
             })
682
-            this.getTableData3()
683 805
           }
684
-        })
685
-      }
806
+        } else{
807
+          return false
808
+        }
809
+      })
686 810
     },
687 811
     onSubmit4() {
688 812
       this.pageNum4 = 1
@@ -708,29 +832,35 @@ export default {
708 832
       })
709 833
     },
710 834
     handleConfirm4() {
711
-      if (this.title4 === '修改') {
712
-        api_z.editExceptionHandingClean({...this.formLabelAlign4}).then(res => {
713
-          if (res.code === 200) {
714
-            this.dialogVisible4 = false
715
-            this.$message({
716
-              message: '修改成功!',
717
-              type: 'success'
835
+      this.$refs['formLabelAlign3'].validate((valid) => {
836
+        if (valid) {
837
+          if (this.title4 === '修改') {
838
+            api_z.editExceptionHandingClean({...this.formLabelAlign4}).then(res => {
839
+              if (res.code === 200) {
840
+                this.dialogVisible4 = false
841
+                this.$message({
842
+                  message: '修改成功!',
843
+                  type: 'success'
844
+                })
845
+                this.getTableData4()
846
+              }
718 847
             })
719
-            this.getTableData4()
720
-          }
721
-        })
722
-      } else {
723
-        api_z.addExceptionHandingClean({...this.formLabelAlign4}).then(res => {
724
-          if (res.code === 200) {
725
-            this.dialogVisible4 = false
726
-            this.$message({
727
-              message: '添加成功!',
728
-              type: 'success'
848
+          } else {
849
+            api_z.addExceptionHandingClean({...this.formLabelAlign4}).then(res => {
850
+              if (res.code === 200) {
851
+                this.dialogVisible4 = false
852
+                this.$message({
853
+                  message: '添加成功!',
854
+                  type: 'success'
855
+                })
856
+                this.getTableData4()
857
+              }
729 858
             })
730
-            this.getTableData4()
731 859
           }
732
-        })
733
-      }
860
+        } else {
861
+          return false
862
+        }
863
+      })
734 864
     },
735 865
     handlePageChange1() {
736 866
       this.getTableData1()