소스 검색

车辆配置详情校验

zhangliang2 3 년 전
부모
커밋
ce9d6d4398

+ 6 - 6
src/views/modelLibrary/components/formCamera.vue

@@ -106,9 +106,9 @@ export default {
     name: "formCamera", // form-摄像头
     components: {},
     data() {
-        // 校验非负且最多3位小数
+        // 校验非负且最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(0|[1-9][0-9]*)(\.\d{1,3})?$/.test(value) &&
+            !/^(0|[1-9][0-9]*)(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -156,7 +156,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -164,7 +164,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -177,7 +177,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -190,7 +190,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {

+ 4 - 4
src/views/modelLibrary/components/formGps.vue

@@ -74,9 +74,9 @@ export default {
     name: "formGps", // form-GPS
     components: {},
     data() {
-        // 校验非负且最多3位小数
+        // 校验非负且最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(0|[1-9][0-9]*)(\.\d{1,3})?$/.test(value) &&
+            !/^(0|[1-9][0-9]*)(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -120,7 +120,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -133,7 +133,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {

+ 6 - 6
src/views/modelLibrary/components/formLaserRadar.vue

@@ -124,9 +124,9 @@ export default {
     name: "formLaserRadar", // form-激光雷达
     components: {},
     data() {
-        // 校验非负且最多3位小数
+        // 校验非负且最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(0|[1-9][0-9]*)(\.\d{1,3})?$/.test(value) &&
+            !/^(0|[1-9][0-9]*)(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -190,7 +190,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -198,7 +198,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -211,7 +211,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -224,7 +224,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {

+ 8 - 8
src/views/modelLibrary/components/formPerfectSensor.vue

@@ -145,9 +145,9 @@ export default {
     name: "formPerfectSensor", // form-完美传感器
     components: {},
     data() {
-        // 校验非负且最多3位小数
+        // 校验非负且最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(0|[1-9][0-9]*)(\.\d{1,3})?$/.test(value) &&
+            !/^(0|[1-9][0-9]*)(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -211,7 +211,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -219,7 +219,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -232,7 +232,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -245,7 +245,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -258,7 +258,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {
@@ -271,7 +271,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                     {

+ 91 - 20
src/views/modelLibrary/vehicleConfigurationDetail.vue

@@ -50,6 +50,7 @@
         <div class="contentBox">
             <div>
                 <handle-config-list
+                    ref="handleConfigList"
                     @curItem="curItem"
                     @addOne="addOne"
                     @delOne="delOne"
@@ -185,17 +186,9 @@ export default {
     name: "vehicleConfigurationDetail", // 车辆配置详情
     components: { handleConfigList, canvasSensor },
     data() {
-        // let validateNum1 = (rule, value, callback) => {
-        //     // !/^(-?\d+)(\.\d{1,2})?$/.test(value) &&
-        //     // !(/^(-?(0|[1-9][0-9]+))(\.\d{1,2})?$/.test(value)) &&
-        //     !/^(-?(0|[1-9][0-9]*))(\.\d{1,2})?$/.test(value) &&
-        //         // /[.]/.test(value) && !/^(-?(0|[1-9]+))$/.test(value) &&
-        //         callback(new Error(rule.message));
-        //     callback();
-        // };
-        // 校验最多3位小数
+        // 校验最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(-?(0|[1-9][0-9]*))(\.\d{1,3})?$/.test(value) &&
+            !/^(-?(0|[1-9][0-9]*))(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -256,7 +249,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                 ],
@@ -268,7 +261,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                 ],
@@ -280,7 +273,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                 ],
@@ -288,7 +281,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                     {
@@ -301,7 +294,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                     {
@@ -314,7 +307,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的数字",
+                        message: "请输入最多带有4位小数的数字",
                         trigger: ["blur"],
                     },
                     {
@@ -349,9 +342,46 @@ export default {
     watch: {
         curOne(val) {
             if (val.name === "ogt") {
+                // 校验端口号
+                let validatePort = (rule, value, callback) => {
+                    !/^(\d{5})$/.test(value) &&
+                        callback(new Error(rule.message));
+
+                    if (value > 65535 || value < 62000) {
+                        callback(new Error(rule.message));
+                        return;
+                    }
+                    callback();
+                };
+
+                let validatePortNoRepeat = (rule, value, callback) => {
+                    let ports = this.configList.ogt.map(
+                        (i) => i.sensorPort + ""
+                    );
+                    ports.splice(this.curOne.index, 1);
+                    
+                    if (ports.includes(value)) {
+                        callback(new Error(rule.message));
+                        return;
+                    } else {
+                        callback();
+                    }
+                };
+
                 this.rulesA.sensorPort[0].required = true;
+                this.rulesA.sensorPort[1] = {
+                    validator: validatePort,
+                    message: "请输入62000至65535之间的5位数字",
+                    trigger: ["blur"],
+                };
+                this.rulesA.sensorPort[2] = {
+                    validator: validatePortNoRepeat,
+                    message: "端口号重复",
+                    trigger: ["blur"],
+                };
             } else {
                 this.rulesA.sensorPort[0].required = false;
+                this.rulesA.sensorPort.length = 1;
             }
         },
     },
@@ -399,7 +429,48 @@ export default {
             // console.log(Object.values(this.configList));
             // console.log(Object.entries(this.configList));
 
-            let lists = Object.values(this.configList);
+            let lists = Object.entries(this.configList);
+
+            for (let index = 0; index < lists.length; index++) {
+                const element = lists[index];
+                let oneIndex = element[1].findIndex(
+                    (i) => i.sensorX == null && i.sensorY == null
+                );
+                // console.log(oneIndex);
+                if (oneIndex > -1) {
+                    this.$refs.handleConfigList.configHandle(
+                        element[0],
+                        oneIndex
+                    );
+
+                    // 如果对应项未展开 让其展开
+                    if (
+                        element[0] === "camera" &&
+                        !this.$refs.handleConfigList.isActiveA
+                    ) {
+                        this.$refs.handleConfigList.isActiveA = true;
+                    } else if (
+                        element[0] === "ogt" &&
+                        !this.$refs.handleConfigList.isActiveB
+                    ) {
+                        this.$refs.handleConfigList.isActiveB = true;
+                    } else if (
+                        element[0] === "lidar" &&
+                        !this.$refs.handleConfigList.isActiveC
+                    ) {
+                        this.$refs.handleConfigList.isActiveC = true;
+                    } else if (
+                        element[0] === "gps" &&
+                        !this.$refs.handleConfigList.isActiveE
+                    ) {
+                        this.$refs.handleConfigList.isActiveE = true;
+                    }
+
+                    this.$message.error("请先设置数据并保存");
+                    return false;
+                }
+            }
+            return true;
         },
         save(isAdd) {
             this.$refs.form.validate((valid) => {
@@ -408,7 +479,7 @@ export default {
                         this.form.id = "";
                     }
 
-                    // if(!validateSensorsList) return;
+                    if (!this.validateSensorsList()) return;
                     // console.log(this.configList);
                     // console.log(Object.keys(this.configList));
                     // console.log(Object.values(this.configList));
@@ -461,7 +532,7 @@ export default {
                 this.formA.sensorX = "0";
                 this.formA.sensorY = "0";
                 this.formA.sensorZ = "0";
-                this.formA.sensorH = "60";
+                this.formA.sensorH = "0";
                 this.formA.sensorP = "0";
                 this.formA.sensorR = "0";
                 if (this.curOne.name === "ogt") {
@@ -544,7 +615,7 @@ export default {
                         this.modelImgSrc = this.getImgUrl(
                             res.info.vehicleTopView
                         );
-                        this.validateSensorsList();
+                        // this.validateSensorsList();
                     } else {
                         this.$message.error(res.message || "获取信息失败");
                     }

+ 19 - 25
src/views/modelLibrary/vehicleModel.vue

@@ -335,9 +335,9 @@ export default {
     name: "vehicleModel", // 车辆模型
     components: { modelList },
     data() {
-        // 校验非负且最多3位小数
+        // 校验非负且最多4位小数
         let validateNum = (rule, value, callback) => {
-            !/^(0|[1-9][0-9]*)(\.\d{1,3})?$/.test(value) &&
+            !/^(0|[1-9][0-9]*)(\.\d{1,4})?$/.test(value) &&
                 callback(new Error(rule.message));
             callback();
         };
@@ -407,7 +407,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -415,7 +415,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -423,7 +423,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -431,7 +431,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -444,7 +444,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -452,7 +452,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -465,7 +465,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -478,7 +478,7 @@ export default {
                     },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -486,7 +486,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -494,7 +494,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -502,7 +502,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -510,7 +510,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -518,7 +518,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -526,7 +526,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -534,7 +534,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -542,7 +542,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有3位小数的非负数",
+                        message: "请输入最多带有4位小数的非负数",
                         trigger: ["blur"],
                     },
                 ],
@@ -687,18 +687,12 @@ export default {
             return src;
         },
         modelLabelChange() {
-            console.log(this.$refs.cascader.getCheckedNodes(true)[0].data.vo);
+            // console.log(this.$refs.cascader.getCheckedNodes(true)[0].data.vo);
             Object.assign(
                 this.form,
                 this.$refs.cascader.getCheckedNodes(true)[0].data.vo
             );
 
-            // console.log(info);
-            // console.log(this.$refs.cascader.getCheckedNodes(true)[0].data.vo);
-            // let remark =
-                // this.$refs.cascader.getCheckedNodes(true)[0].data.remark;
-            // this.form.vehicleImage = remark;
-
             this.modelImgSrc = this.getImgUrl(this.form.vehicleFrontView);
         },
         async getModelLabelList() {

+ 2 - 2
vue.config.js

@@ -101,9 +101,9 @@ module.exports = {
                 }
             },
             '/simulation/resource/server': {
-                // target: 'http://10.15.12.73:7003', // 王志强
+                target: 'http://10.15.12.73:7003', // 王志强
                 // target: 'http://10.15.12.88:7003', // 王耀栋
-                target: 'http://10.15.12.72:7003',  // 王晓峰
+                // target: 'http://10.15.12.72:7003',  // 王晓峰
                 // target: 'http://10.15.12.87:7003',  // 赵艳
                 // target: 'http://10.15.12.70',  // windowstest
                 // target: 'http://192.168.30.75',  // gq