fix bug
This commit is contained in:
@@ -133,6 +133,26 @@
|
||||
</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template #longitude-form>
|
||||
<el-input
|
||||
v-model="form.longitude"
|
||||
clearable
|
||||
placeholder="请输入经度"
|
||||
:disabled="dialogReadonly || form.addressType !== '常规地址'"
|
||||
@input="handleCoordinateInput('longitude', $event)"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<template #latitude-form>
|
||||
<el-input
|
||||
v-model="form.latitude"
|
||||
clearable
|
||||
placeholder="请输入纬度"
|
||||
:disabled="dialogReadonly || form.addressType !== '常规地址'"
|
||||
@input="handleCoordinateInput('latitude', $event)"
|
||||
/>
|
||||
</template>
|
||||
</avue-crud>
|
||||
|
||||
<el-dialog
|
||||
@@ -179,6 +199,7 @@ import { createOption } from '@/option/base/common-address';
|
||||
import { mapGetters } from 'vuex';
|
||||
import { downloadXls } from '@/utils/util';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { isCoordinateInput, normalizeCoordinateInput } from '@/utils/coordinate';
|
||||
import NProgress from 'nprogress';
|
||||
import 'nprogress/nprogress.css';
|
||||
|
||||
@@ -190,6 +211,8 @@ export default {
|
||||
const validateLongitude = (rule, value, callback) => {
|
||||
if (value === undefined || value === null || value === '') {
|
||||
callback(new Error('经度不能为空'));
|
||||
} else if (!isCoordinateInput(value)) {
|
||||
callback(new Error('经度最多保留6位小数'));
|
||||
} else if (Number(value) < -180 || Number(value) > 180) {
|
||||
callback(new Error('经度范围为 -180 到 180'));
|
||||
} else {
|
||||
@@ -199,6 +222,8 @@ export default {
|
||||
const validateLatitude = (rule, value, callback) => {
|
||||
if (value === undefined || value === null || value === '') {
|
||||
callback(new Error('纬度不能为空'));
|
||||
} else if (!isCoordinateInput(value)) {
|
||||
callback(new Error('纬度最多保留6位小数'));
|
||||
} else if (Number(value) < -90 || Number(value) > 90) {
|
||||
callback(new Error('纬度范围为 -90 到 90'));
|
||||
} else {
|
||||
@@ -319,6 +344,9 @@ export default {
|
||||
this.form.longitude = source.longitude;
|
||||
this.form.latitude = source.latitude;
|
||||
},
|
||||
handleCoordinateInput(prop, value) {
|
||||
this.form[prop] = normalizeCoordinateInput(value);
|
||||
},
|
||||
clearTypeRelatedFields(siteCode = '') {
|
||||
this.form.sourceId = undefined;
|
||||
this.form.siteCode = siteCode;
|
||||
@@ -356,6 +384,8 @@ export default {
|
||||
detailAddress: String(row.detailAddress || '').trim(),
|
||||
regionCode: String(row.regionCode || '').trim(),
|
||||
regionName: String(row.regionName || '').trim(),
|
||||
longitude: normalizeCoordinateInput(row.longitude),
|
||||
latitude: normalizeCoordinateInput(row.latitude),
|
||||
contactName: String(row.contactName || '').trim(),
|
||||
contactPhone: String(row.contactPhone || '').trim(),
|
||||
remark: String(row.remark || '').trim(),
|
||||
@@ -400,6 +430,10 @@ export default {
|
||||
return false;
|
||||
}
|
||||
if (row.longitude !== undefined && row.longitude !== null && row.longitude !== '') {
|
||||
if (!isCoordinateInput(row.longitude)) {
|
||||
this.$message.warning('经度最多保留6位小数');
|
||||
return false;
|
||||
}
|
||||
if (Number(row.longitude) < -180 || Number(row.longitude) > 180) {
|
||||
this.$message.warning('经度范围为 -180 到 180');
|
||||
return false;
|
||||
@@ -407,6 +441,10 @@ export default {
|
||||
row.longitude = Number(row.longitude).toFixed(6);
|
||||
}
|
||||
if (row.latitude !== undefined && row.latitude !== null && row.latitude !== '') {
|
||||
if (!isCoordinateInput(row.latitude)) {
|
||||
this.$message.warning('纬度最多保留6位小数');
|
||||
return false;
|
||||
}
|
||||
if (Number(row.latitude) < -90 || Number(row.latitude) > 90) {
|
||||
this.$message.warning('纬度范围为 -90 到 90');
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user