添加围栏关联区域

This commit is contained in:
Vce 2024-05-25 23:59:27 +08:00
parent 04f22c0aca
commit c1738a8b33
6 changed files with 80 additions and 14 deletions

View File

@ -4,8 +4,9 @@ NODE_ENV = 'development'
# 本地环境接口地址(/api/index.ts文件中使用)
# 后端本地
# VITE_API_URL = 'http://192.168.34.221:19111'
# VITE_API_URL = 'http://192.168.34.221:9111'
VITE_API_URL = 'http://192.168.34.221:28889'
# VITE_API_URL = 'http://192.168.34.221:9111' #雄哥本地
VITE_API_URL = 'http://182.90.224.237:51234' #雄哥远程
# VITE_API_URL = 'http://192.168.34.221:28889'
# VITE_API_URL = 'http://121.196.214.246/api'
# VITE_API_URL = 'http://jxj.zhgdyun.com:100'
# VITE_API_URL = 'http://192.168.34.221:12360'

View File

@ -1,6 +1,11 @@
import http from "@/api";
const BASEURL = import.meta.env.VITE_API_URL;
// 查询区域列表
export const getRegionListApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/qualityRegion/notTreeList`, params);
};
// 分页列表查询车辆(人员)定位- 报警记录信息
export const getAlarmRecordInfo = (params: {}) => {
return http.get(BASEURL + `/xmgl/vehiclePositionAlarm/list`, params);

View File

@ -1,6 +1,10 @@
import http from "@/api";
const BASEURL = import.meta.env.VITE_API_URL;
// 查询区域列表
export const getRegionListApi = (params: {}) => {
return http.post(BASEURL + `/xmgl/qualityRegion/notTreeList`, params);
};
// 分页列表查询车辆(人员)定位- 实时数据信息
export const getRealtimeRecordInfo = (params: {}) => {
return http.get(BASEURL + `/xmgl/vehiclePositionData/page`, params);

View File

@ -27,10 +27,10 @@ export const BASE_IMAGE_URL = import.meta.env.VITE_BASE_IMAGE_URL;
// export const COMPANY: string = "zhzrf"; //中海·臻如府
// export const COMPANY: string = "zsbf"; //中水北方
// export const COMPANY: string = "as"; //鞍山项目
// export const COMPANY: string = "agjt"; //鞍钢集团
export const COMPANY: string = "agjt"; //鞍钢集团
// export const COMPANY: string = "agjtCommand"; //鞍钢集团指挥部大屏
// export const COMPANY: string = "slx"; //苏立信项目
export const COMPANY: string = "hfqc"; //合肥启程项目
// export const COMPANY: string = "hfqc"; //合肥启程项目
// export const COMPANY: string = "jsyc"; // 江苏盐城项目
// export const COMPANY: string = "syhy"; //沈阳合盈盘锦项目 (需要去src\routers\modules\staticRouter.ts更换首页)
// export const COMPANY: string = "jxwjj"; //嘉兴王江泾公用码头项目 (需要去src\routers\modules\staticRouter.ts更换首页)

View File

@ -153,7 +153,7 @@
<div style="margin: 5px 0"></div>
<el-checkbox-group v-model="checkedFence" @change="fenceCitiesChange">
<div v-for="item in fenceList" :key="item.id">
<el-checkbox :label="item.id" :key="item.id">{{ item.fenceName }} </el-checkbox>
<el-checkbox :label="item.id" :key="item.id">{{ item.regionName }} </el-checkbox>
</div>
</el-checkbox-group>
</el-scrollbar>
@ -207,8 +207,12 @@
</div> -->
<div style="margin-top: 15%">
<el-form-item class="el-form-item__label" label="围栏名称" prop="fenceName">
<el-input v-model="addForm.fenceName" placeholder="请输入"></el-input>
<!-- <el-form-item class="el-form-item__label" label="围栏名称" prop="qualityRegionId"> -->
<el-form-item label="围栏名称" prop="region">
<!-- <el-input v-model="addForm.fenceName" placeholder="请输入"></el-input> -->
<el-select v-model="addForm.region" filterable clearable value-key="id" placeholder="请选择" style="width: 240px">
<el-option v-for="item in regionList" :key="item.id" :label="item.regionName" :value="item"/>
</el-select>
</el-form-item>
<el-form-item label="范围类型" prop="rangeType">
<el-radio-group
@ -290,7 +294,8 @@ import {
getEpRealtimeDataApi,
getEpDayRecordApi,
addEpPositionFence,
deleteEpFence
deleteEpFence,
getRegionListApi
} from "@/api/modules/equipmentPosition";
// import carIcon from "@/assets/images/carPosition/carIcon.png";
import carOn from "@/assets/images/carPosition/carOn2.png";
@ -356,6 +361,13 @@ let addForm = ref({
enterpriseId: ""
});
let formFenceRules = ref({
region: [
{
required: true,
message: "必填",
trigger: "blur"
}
],
fenceName: [
{
required: true,
@ -424,6 +436,7 @@ onMounted(() => {
window.addEventListener("resize", e => {
resetMapSize()
});
getRegionList();
});
onBeforeMount(() => {
window.removeEventListener("resize", e => {
@ -494,6 +507,20 @@ function areaRadiusChange() {
}
}
let regionList = ref([] as any);
function getRegionList() {
let data = {
projectSn: store.sn
};
getRegionListApi(data).then(res => {
if (res.success) {
checkedFence.value = [];
regionList.value = res.result
console.log(regionList.value,777777777777777777777)
}
});
}
function deleteFence() {
if (checkedFence.value.length === 0) {
ElMessage({
@ -582,7 +609,9 @@ const submitFence = async (formEL: FormInstance | undefined) => {
await formEL.validate((valid, fields) => {
if (valid) {
let params = {
fenceName: addForm.value.fenceName,
qualityRegionId: addForm.value.region.id,
regionName: addForm.value.region.regionName,
// fenceName: addForm.value.fenceName,
areaRadius: addForm.value.areaRadius,
fenceShapeArr: JSON.stringify(addForm.value.locationList),
fenceShape: fenceShape,

View File

@ -218,7 +218,7 @@
<div style="margin: 5px 0"></div>
<el-checkbox-group v-model="checkedFence" @change="fenceCitiesChange">
<div v-for="item in fenceList" :key="item.id">
<el-checkbox :label="item.id" :value="item.id" :key="item.id">{{ item.fenceName }} </el-checkbox>
<el-checkbox :label="item.id" :value="item.id" :key="item.id">{{ item.regionName }} </el-checkbox>
</div>
</el-checkbox-group>
</el-scrollbar>
@ -272,8 +272,11 @@
</div>
</div> -->
<div style="margin-top: 15%">
<el-form-item label="围栏名称" prop="fenceName">
<el-input v-model="addForm.fenceName" placeholder="请输入"></el-input>
<el-form-item label="围栏名称" prop="region">
<!-- <el-input v-model="addForm.fenceName" placeholder="请输入"></el-input> -->
<el-select v-model="addForm.region" filterable clearable value-key="id" placeholder="请选择" style="width: 240px">
<el-option v-for="item in regionList" :key="item.id" :label="item.regionName" :value="item"/>
</el-select>
</el-form-item>
<el-form-item label="范围类型" prop="rangeType">
@ -404,7 +407,8 @@ import {
getSuroundInfoApi,
getSafeHatTypeTotalApi,
getVehiclePositionFence,
addVehiclePositionFence
addVehiclePositionFence,
getRegionListApi
} from "@/api/modules/smartSafeHat";
// import carIcon from "@/assets/images/carPosition/carIcon.png";
import carOn from "@/assets/images/carPosition/carOn2.png";
@ -508,6 +512,13 @@ let addEditForm = ref({
});
// const formFenceRules = reactive<FormRules<RuleForm>({
let formFenceRules = ref({
region: [
{
required: true,
message: "必填",
trigger: "blur"
}
],
fenceName: [
{
required: true,
@ -561,6 +572,7 @@ onMounted(async () => {
window.addEventListener("resize", e => {
resetMapSize();
});
getRegionList();
});
const resetMapSize = () => {
console.log(666);
@ -664,6 +676,20 @@ const resolveAddStr = computed(() => async (longitude: any, latitude: any) => {
return "未知位置2";
});
let regionList = ref([] as any);
function getRegionList() {
let data = {
projectSn: store.sn
};
getRegionListApi(data).then(res => {
if (res.success) {
checkedFence.value = [];
regionList.value = res.result
console.log(regionList.value,777777777777777777777)
}
});
}
function areaRadiusChange() {
if (addForm.value.locationList.length === 1) {
drawCircle();
@ -759,7 +785,8 @@ const submitFence = async (formEL: FormInstance | undefined) => {
await formEL.validate((valid, fields) => {
if (valid) {
let params = {
fenceName: addForm.value.fenceName,
qualityRegionId: addForm.value.region.id,
regionName: addForm.value.region.regionName,
areaRadius: addForm.value.areaRadius,
fenceShapeArr: JSON.stringify(addForm.value.locationList),
fenceShape: fenceShape,