소스 검색

bug 修复

duwendi 1 년 전
부모
커밋
51506c81d5

+ 67 - 29
src/pages/index/components/business_record.vue

@@ -60,8 +60,8 @@
60
           width="45%"
60
           width="45%"
61
           custom-class="audit-dialog">
61
           custom-class="audit-dialog">
62
           <div class="form-div">
62
           <div class="form-div">
63
-            <el-form label-position="left" label-width="100px" :model="formLabelAlign">
64
-              <el-form-item label="车场名称">
63
+            <el-form ref="ruleForm"  label-position="left" :rules="rules1" label-width="100px" :model="formLabelAlign">
64
+              <el-form-item label="车场名称" prop="parkLotId">
65
                 <el-select v-model="formLabelAlign.parkLotId" placeholder="请选择">
65
                 <el-select v-model="formLabelAlign.parkLotId" placeholder="请选择">
66
                   <el-option
66
                   <el-option
67
                     v-for="(item,index) in carParkingNameOptions"
67
                     v-for="(item,index) in carParkingNameOptions"
@@ -70,10 +70,10 @@
70
                     :value="item.id" />
70
                     :value="item.id" />
71
                 </el-select>
71
                 </el-select>
72
               </el-form-item>
72
               </el-form-item>
73
-              <el-form-item label="车牌号">
73
+              <el-form-item label="车牌号" prop="plateNo">
74
                 <el-input v-model="formLabelAlign.plateNo"></el-input>
74
                 <el-input v-model="formLabelAlign.plateNo"></el-input>
75
               </el-form-item>
75
               </el-form-item>
76
-              <el-form-item label="入场时间">
76
+              <el-form-item label="入场时间" prop="inTime">
77
                 <el-date-picker
77
                 <el-date-picker
78
                   v-model="formLabelAlign.inTime"
78
                   v-model="formLabelAlign.inTime"
79
                   type="datetime"
79
                   type="datetime"
@@ -81,7 +81,7 @@
81
                   placeholder="选择日期时间">
81
                   placeholder="选择日期时间">
82
                 </el-date-picker>
82
                 </el-date-picker>
83
               </el-form-item>
83
               </el-form-item>
84
-              <el-form-item label="离场时间">
84
+              <el-form-item label="离场时间" prop="outTime">
85
                 <el-date-picker
85
                 <el-date-picker
86
                   v-model="formLabelAlign.outTime"
86
                   v-model="formLabelAlign.outTime"
87
                   type="datetime"
87
                   type="datetime"
@@ -89,7 +89,7 @@
89
                   placeholder="选择日期时间">
89
                   placeholder="选择日期时间">
90
                 </el-date-picker>
90
                 </el-date-picker>
91
               </el-form-item>
91
               </el-form-item>
92
-              <el-form-item label="车位号">
92
+              <el-form-item label="车位号"  prop="parkingNo">
93
                 <el-input v-model="formLabelAlign.parkingNo"></el-input>
93
                 <el-input v-model="formLabelAlign.parkingNo"></el-input>
94
               </el-form-item>
94
               </el-form-item>
95
             </el-form>
95
             </el-form>
@@ -298,10 +298,22 @@
298
   </div>
298
   </div>
299
 </template>
299
 </template>
300
 <script>
300
 <script>
301
-import api from "@/api/audit.js";
302
-import dictionary from "@/util/dictionary";
303
 import api_z from "@/api/article_z.js";
301
 import api_z from "@/api/article_z.js";
304
-
302
+import {isVehicleNumber} from '@/util/common'
303
+let vehicleNumber = (rule, value, callback) => {
304
+  if (isVehicleNumber(value)) {
305
+    callback();
306
+  } else {
307
+    return callback(new Error("车牌号不正确"));
308
+  }
309
+}
310
+let validateInput = (rule, value, callback) => {
311
+  if (!this.checkSpecialKey(value)) {
312
+    callback(new Error("不能含有特殊字符!!"));
313
+  } else {
314
+    callback();
315
+  }
316
+}
305
 export default {
317
 export default {
306
   components: {},
318
   components: {},
307
   data() {
319
   data() {
@@ -342,6 +354,26 @@ export default {
342
       carParkingNameOptions: [],
354
       carParkingNameOptions: [],
343
       title: '',
355
       title: '',
344
       dialogVisible: false,
356
       dialogVisible: false,
357
+      rules1: {
358
+        parkLotId: [
359
+          { required: true, message: "车场不能为空", trigger: "blur" },
360
+        ],
361
+        plateNo: [
362
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
363
+          { validator: vehicleNumber, trigger: "blur" },
364
+        ],
365
+        inTime: [
366
+          { required: true, message: "时间不能为空", trigger: "blur" },
367
+        ],
368
+        outTime: [
369
+          { required: true, message: "时间不能为空", trigger: "blur" },
370
+        ],
371
+        parkingNo: [
372
+          { required: true, message: "车位号不能为空", trigger: "blur" },
373
+          { min: 26, max: 26, message: '长度必须为26位', trigger: 'blur' },
374
+          { validator: validateInput, trigger: "blur" },
375
+        ]
376
+      },
345
       formLabelAlign: {
377
       formLabelAlign: {
346
         id: '',
378
         id: '',
347
         parkLotId: '',
379
         parkLotId: '',
@@ -488,29 +520,35 @@ export default {
488
       })
520
       })
489
     },
521
     },
490
     handleConfirm() {
522
     handleConfirm() {
491
-      if (this.title === '修改') {
492
-        api_z.editBusinessRecordInout({...this.formLabelAlign}).then(res => {
493
-          if (res.code === 200) {
494
-            this.dialogVisible = false
495
-            this.$message({
496
-              message: '修改成功!',
497
-              type: 'success'
523
+      this.$refs['ruleForm'].validate((valid) => {
524
+        if (valid) {
525
+          if (this.title === '修改') {
526
+            api_z.editBusinessRecordInout({...this.formLabelAlign}).then(res => {
527
+              if (res.code === 200) {
528
+                this.dialogVisible = false
529
+                this.$message({
530
+                  message: '修改成功!',
531
+                  type: 'success'
532
+                })
533
+                this.getTableData1()
534
+              }
498
             })
535
             })
499
-            this.getTableData1()
500
-          }
501
-        })
502
-      } else {
503
-        api_z.addBusinessRecordInout({...this.formLabelAlign}).then(res => {
504
-          if (res.code === 200) {
505
-            this.dialogVisible = false
506
-            this.$message({
507
-              message: '添加成功!',
508
-              type: 'success'
536
+          } else {
537
+            api_z.addBusinessRecordInout({...this.formLabelAlign}).then(res => {
538
+              if (res.code === 200) {
539
+                this.dialogVisible = false
540
+                this.$message({
541
+                  message: '添加成功!',
542
+                  type: 'success'
543
+                })
544
+                this.getTableData1()
545
+              }
509
             })
546
             })
510
-            this.getTableData1()
511
           }
547
           }
512
-        })
513
-      }
548
+        } else {
549
+          return false;
550
+        }
551
+      });
514
     },
552
     },
515
     //车场
553
     //车场
516
     getCarParkingName() {
554
     getCarParkingName() {

+ 1 - 1
src/pages/index/components/pakking_lot.vue

@@ -126,7 +126,7 @@
126
           </el-table-column>
126
           </el-table-column>
127
         </el-table>
127
         </el-table>
128
         <div class="table-pagination">
128
         <div class="table-pagination">
129
-          <el-pagination layout="prev, pager, next" :total="total1" @current-change="handlePageChange2"
129
+          <el-pagination layout="prev, pager, next" :total="total2" @current-change="handlePageChange2"
130
                          :current-page.sync="pageNum2" :page-size.sync="pageSize2">
130
                          :current-page.sync="pageNum2" :page-size.sync="pageSize2">
131
           </el-pagination>
131
           </el-pagination>
132
         </div>
132
         </div>

+ 2 - 1
src/pages/index/components/personnel_management.vue

@@ -151,7 +151,8 @@
151
               <el-form-item label="出生日期">
151
               <el-form-item label="出生日期">
152
                   <el-date-picker
152
                   <el-date-picker
153
                     v-model="formLabelAlign2.birthDay"
153
                     v-model="formLabelAlign2.birthDay"
154
-                    type="datetime"
154
+                    type="date"
155
+                    value-format="yyyy-MM-dd HH:mm:ss"
155
                     placeholder="选择日期时间">
156
                     placeholder="选择日期时间">
156
                   </el-date-picker>
157
                   </el-date-picker>
157
               </el-form-item>
158
               </el-form-item>

+ 20 - 3
src/pages/index/components/task_recovery.vue

@@ -47,7 +47,7 @@
47
           width="50%"
47
           width="50%"
48
           custom-class="audit-dialog">
48
           custom-class="audit-dialog">
49
           <div class="form-div">
49
           <div class="form-div">
50
-            <el-form label-position="left" label-width="85px" :model="formLabelAlign">
50
+            <el-form label-position="left" :rules="rules" label-width="85px" ref="formLabelAlign" :model="formLabelAlign">
51
               <el-form-item label="停车场: ">
51
               <el-form-item label="停车场: ">
52
                 <el-select clearable v-model="formLabelAlign.parkLotId" placeholder="请选择">
52
                 <el-select clearable v-model="formLabelAlign.parkLotId" placeholder="请选择">
53
                   <el-option
53
                   <el-option
@@ -57,7 +57,7 @@
57
                     :value="item.id" />
57
                     :value="item.id" />
58
                 </el-select>
58
                 </el-select>
59
               </el-form-item>
59
               </el-form-item>
60
-              <el-form-item label="车牌号">
60
+              <el-form-item label="车牌号" prop="plateNo">
61
                 <el-input v-model="formLabelAlign.plateNo"></el-input>
61
                 <el-input v-model="formLabelAlign.plateNo"></el-input>
62
               </el-form-item>
62
               </el-form-item>
63
               <el-form-item label="电话号码">
63
               <el-form-item label="电话号码">
@@ -97,7 +97,7 @@
97
         <el-form class="form-wrapper" :model="formInline2" :inline="true" style="margin-bottom: 20px;">
97
         <el-form class="form-wrapper" :model="formInline2" :inline="true" style="margin-bottom: 20px;">
98
           <el-row>
98
           <el-row>
99
             <el-col :span="6">
99
             <el-col :span="6">
100
-              <el-form-item label="车牌号: ">
100
+              <el-form-item label="车牌号: " prop="plateNo">
101
                 <el-input v-model="formInline2.plateNo" placeholder="请输入"></el-input>
101
                 <el-input v-model="formInline2.plateNo" placeholder="请输入"></el-input>
102
               </el-form-item>
102
               </el-form-item>
103
             </el-col>
103
             </el-col>
@@ -190,6 +190,14 @@
190
 </template>
190
 </template>
191
 <script>
191
 <script>
192
 import api_z from "@/api/article_z.js";
192
 import api_z from "@/api/article_z.js";
193
+import {isVehicleNumber} from '@/util/common'
194
+const vehicleNumber = (rule, value, callback) => {
195
+  if (isVehicleNumber(value)) {
196
+    callback();
197
+  } else {
198
+    return callback(new Error("车牌号不正确"));
199
+  }
200
+};
193
 
201
 
194
 export default {
202
 export default {
195
   components: {},
203
   components: {},
@@ -233,6 +241,15 @@ export default {
233
       pageNum1: 1,
241
       pageNum1: 1,
234
       title: '',
242
       title: '',
235
       dialogVisible: false,
243
       dialogVisible: false,
244
+      rules: {
245
+        plateNo: [
246
+          { required: true, message: "车牌号不能为空", trigger: "blur" },
247
+          {
248
+            validator: vehicleNumber,
249
+            trigger: "blur",
250
+          },
251
+        ],
252
+      },
236
       formLabelAlign: {
253
       formLabelAlign: {
237
         parkLotId: '',
254
         parkLotId: '',
238
         plateNo: '',
255
         plateNo: '',

+ 25 - 0
src/util/common.js

@@ -0,0 +1,25 @@
1
+function isVehicleNumber(vehicleNumber) {
2
+  var xreg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
3
+  var creg=/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]{1}$/;
4
+  if(vehicleNumber.length == 7){
5
+    return creg.test(vehicleNumber);
6
+  } else if(vehicleNumber.length == 8){
7
+    return xreg.test(vehicleNumber);
8
+  } else{
9
+    return false;
10
+  }
11
+}
12
+function checkSpecialKey(str) {
13
+  let specialKey = "[`~!#$^&*()=|{}':;'\\[\\].<>/?~!#¥……&*()——|{}【】‘;:”“'。,、?]‘'";
14
+  for (let i = 0; i < str.length; i++) {
15
+    if (specialKey.indexOf(str.substr(i, 1)) != -1) {
16
+      return false;
17
+    }
18
+  }
19
+  return true;
20
+}
21
+
22
+export {
23
+  isVehicleNumber,
24
+  checkSpecialKey
25
+}