预警后台-部分修改-d8

This commit is contained in:
FrancisHu 2024-09-23 16:21:08 +08:00
parent 33b63e0f5d
commit 2da7559c62
5 changed files with 138 additions and 27 deletions

View File

@ -17,7 +17,6 @@
clearable clearable
filterable filterable
placeholder="请选择" placeholder="请选择"
@change="proNameChange"
> >
<el-option <el-option
v-for="item in projNameRange" v-for="item in projNameRange"
@ -35,6 +34,7 @@
clearable clearable
filterable filterable
placeholder="请选择" placeholder="请选择"
@change="departChange"
> >
<el-option <el-option
v-for="item in deptRange" v-for="item in deptRange"
@ -156,7 +156,8 @@ import {
queryVolLevelApi queryVolLevelApi
} from '@/api/base/proj' } from '@/api/base/proj'
import { import {
queryProvincesApi queryProvincesApi,
queryProjDeptListApi
} from '@/api/base/projDept' } from '@/api/base/projDept'
export default { export default {
name: 'FormProject', name: 'FormProject',
@ -237,18 +238,62 @@ export default {
}, },
], ],
lon: [ lon: [
{ required: true, message: "经度不能为空", trigger: "blur" },
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入经度', if (value === '' || value === null) {
trigger: 'blur', return callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
}, }
const regex = /^[+-]?(0|[1-9]\d*)(\.\d+)?$/;
if(!regex.test(value)){
return callback(new Error('请勿输入非数字'));
}
const longitude = parseFloat(value);
if(longitude.toString().includes('.') === true){
if (longitude <-180 || longitude > 180 ||longitude.toString().split(".")[1].length>6) {
callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
} else {
callback();
}
}else{
if (longitude <-180 || longitude > 180) {
callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
} else {
callback();
}
}
},
trigger: 'blur'
}
], ],
lat: [ lat: [
{ required: true, message: "纬度不能为空", trigger: "blur" },
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入纬度', if (value === '' || value === null) {
trigger: 'blur', return callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
}, }
const regexTwo = /^[+-]?(\d+(\.\d*)?|\.\d*[1-9]\d*)$/;
if(!regexTwo.test(value)){
return callback(new Error('请勿输入非数字'));
}
const latitude = parseFloat(value);
if(latitude.toString().includes('.') === true){
if (latitude <-90 || latitude > 90 ||latitude.toString().split(".")[1].length>6) {
callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
} else {
callback();
}
}else{
if (latitude <-90 || latitude > 90) {
callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
} else {
callback();
}
}
},
trigger: 'blur'
}
], ],
}, },
// //
@ -266,10 +311,20 @@ export default {
], ],
provinceRange: [], provinceRange: [],
// //
phoneReg: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/ phoneReg: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,
//
lonLatReg: /^[+-]?(\d+([.]\d*)?([eE][+-]?\d+)?|[.]\d+([eE][+-]?\d+)?)$/
} }
}, },
methods: { methods: {
/** 校验经纬 */
validateLonLat(rule, value, callback) {
if(!this.lonLatReg.test(value)) {
callback(new Error('经纬度格式不正确'))
} else {
callback()
}
},
/** 获取各类下拉框 */ /** 获取各类下拉框 */
async getRanges() { async getRanges() {
// //
@ -351,9 +406,12 @@ export default {
} }
}) })
}, },
/** 级联选择器改变 */ /** 项目部改变 */
handleCas(e) { async departChange(e) {
this.projectParams.impUnit = e[e.length - 1] let res = await queryProjDeptListApi({
id: e
})
this.projectParams.areaId = res.data.rows[0].areaId
}, },
/** 确认按钮 */ /** 确认按钮 */
onSubmit() { onSubmit() {

View File

@ -62,6 +62,14 @@ export default {
} }
}, },
methods: { methods: {
/** 校验经纬 */
validateLonLat(rule, value, callback) {
if(!this.lonLatReg.test(value)) {
callback(new Error('经纬度格式不正确'))
} else {
callback()
}
},
/** 查询杆塔 */ /** 查询杆塔 */
async getRanges() { async getRanges() {
let towerRes = await queryExistTowerApi() let towerRes = await queryExistTowerApi()
@ -144,22 +152,68 @@ export default {
}, },
], ],
lon: [ lon: [
{ required: true, message: "杆塔经度不能为空", trigger: "blur" },
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入经度', if (value === '' || value === null) {
trigger: 'blur', return callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
}, }
const regex = /^[+-]?(0|[1-9]\d*)(\.\d+)?$/;
if(!regex.test(value)){
return callback(new Error('请勿输入非数字'));
}
const longitude = parseFloat(value);
if(longitude.toString().includes('.') === true){
if (longitude <-180 || longitude > 180 ||longitude.toString().split(".")[1].length>6) {
callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
} else {
callback();
}
}else{
if (longitude <-180 || longitude > 180) {
callback(new Error('请必须输入-180 ~ 180内的数据且小数点后最多保留六位'));
} else {
callback();
}
}
},
trigger: 'blur'
}
], ],
lat: [ lat: [
{ required: true, message: "杆塔纬度不能为空", trigger: "blur" },
{ {
required: true, validator: (rule, value, callback) => {
message: '请输入纬度', if (value === '' || value === null) {
trigger: 'blur', return callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
}, }
const regexTwo = /^[+-]?(\d+(\.\d*)?|\.\d*[1-9]\d*)$/;
if(!regexTwo.test(value)){
return callback(new Error('请勿输入非数字'));
}
const latitude = parseFloat(value);
if(latitude.toString().includes('.') === true){
if (latitude <-90 || latitude > 90 ||latitude.toString().split(".")[1].length>6) {
callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
} else {
callback();
}
}else{
if (latitude <-90 || latitude > 90) {
callback(new Error('请必须输入-90 ~ 90内的数据且小数点后最多保留六位'));
} else {
callback();
}
}
},
trigger: 'blur'
}
], ],
}, },
// //
towerRange: [] towerRange: [],
//
lonLatReg: /^[+-]?(\d+([.]\d*)?([eE][+-]?\d+)?|[.]\d+([eE][+-]?\d+)?)$/
} }
}, },
} }

View File

@ -43,7 +43,6 @@
<el-form-item label="地区" prop="areaId"> <el-form-item label="地区" prop="areaId">
<el-select <el-select
v-model="projectParams.areaId" v-model="projectParams.areaId"
clearable
filterable filterable
placeholder="请选择" placeholder="请选择"
> >

View File

@ -20,7 +20,7 @@ export const formLabel = [
] ]
export const columnsList = [ export const columnsList = [
{ t_props: 'departName', t_label: '项目部名称', }, { t_props: 'departName', t_label: '项目部名称', },
{ t_props: 'departType', t_label: '项目部类型' }, { t_props: 'departTypeName', t_label: '项目部类型' },
{ t_props: 'areaName', t_label: '地区' }, { t_props: 'areaName', t_label: '地区' },
{ t_props: 'headUser', t_label: '负责人', }, { t_props: 'headUser', t_label: '负责人', },
{ t_props: 'headUserPhone', t_label: '电话', t_slot: 'headUserPhone' }, { t_props: 'headUserPhone', t_label: '电话', t_slot: 'headUserPhone' },

View File

@ -1,6 +1,6 @@
<template> <template>
<div class=" home"> <div class=" home">
<el-row :gutter="20"> <!-- <el-row :gutter="20">
<el-col :sm="24" :lg="12" style="padding-left: 20px"> <el-col :sm="24" :lg="12" style="padding-left: 20px">
<h2>博诺思后台管理框架</h2> <h2>博诺思后台管理框架</h2>
<p> <p>
@ -86,7 +86,7 @@
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>-->
</div> </div>