Browse Source

1、表单 监控相机选择树 添加场景层级

2、优化树状结构转化方法,只有存在相机的站点才可选
master
Fuyuu 9 months ago
parent
commit
1af0bd6e67
  1. 96
      src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue

96
src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue

@ -112,20 +112,29 @@
const userStore = useUserStore(); const userStore = useUserStore();
// id // id
const sceneId = userStore.userInfo.sceneId; // const sceneId = userStore.userInfo.sceneId;
// 00001-00001-00001 00001-00002 00001
const sceneId = '00001-00002';
//
const sceneList: any = [];
// //
const areaList: any = []; const areaList: any = [];
// //
const stationList: any = []; const stationList: any = [];
// //
const newCameraList: any = []; const newCameraList: any = [];
// //
function getCurrentSceneArea() { function getCurrentScene() {
return defHttp.get( return defHttp.get(
{ url: '/military/msMapLine/list', params: { sceneId: sceneId + '*', pageNo: 1, pageSize: 9999 } }, { url: '/military/msMapScene/list', params: { sceneId: sceneId + '*', pageNo: 1, pageSize: 9999 } },
{ isTransformResponse: false } { isTransformResponse: false }
); );
} }
//
function getCurrentSceneArea() {
return defHttp.get({ url: '/military/msMapLine/list', params: { pageNo: 1, pageSize: 9999 } }, { isTransformResponse: false });
}
// //
function getCurrentAreaStation() { function getCurrentAreaStation() {
return defHttp.get({ url: '/military/camera/site/list', params: { pageNo: 1, pageSize: 9999 } }, { isTransformResponse: false }); return defHttp.get({ url: '/military/camera/site/list', params: { pageNo: 1, pageSize: 9999 } }, { isTransformResponse: false });
@ -203,41 +212,56 @@
onMounted(() => { onMounted(() => {
// //
getCurrentSceneArea().then((res1) => { getCurrentScene().then((res) => {
areaList.value = res1.result.records; sceneList.value = res.result.records;
getCurrentAreaStation().then((res2) => { getCurrentSceneArea().then((res1) => {
stationList.value = res2.result.records; areaList.value = res1.result.records;
getCurrentStationCamera().then((res3) => { getCurrentAreaStation().then((res2) => {
newCameraList.value = res3.result.records; stationList.value = res2.result.records;
// getCurrentStationCamera().then((res3) => {
const tree: any = []; newCameraList.value = res3.result.records;
//
areaList.value.forEach((row) => { //
const node = { title: row.name, value: row.id, children: [] }; const tree: any = [];
tree.push(node); //
}); sceneList.value.forEach((row) => {
// const node = { title: row.sceneName, value: row.sceneId, children: [] };
stationList.value.forEach((row) => { tree.push(node);
const parentNode = tree.find((node) => node.value === row.lineId); });
if (parentNode) { //
const node = { title: row.sitename, value: row.id, children: [] }; areaList.value.forEach((row) => {
parentNode.children.push(node); const parentNode = tree.find((node) => node.value === row.sceneId);
} if (parentNode) {
}); const node = { title: row.name, value: row.id, children: [] };
// parentNode.children.push(node);
newCameraList.value.forEach((row) => { }
const parentNodes = tree.map((node) => node.children).flat(); });
const parentNode = parentNodes.find((node) => node.value === row.siteId); //
if (parentNode) { stationList.value.forEach((row) => {
const node = { title: row.cameraName, value: row.id, children: null }; const parentNodes = tree.map((node) => node.children).flat();
parentNode.children.push(node); const parentNode = parentNodes.find((node) => node.value === row.lineId);
} if (parentNode) {
const node = { title: row.sitename, value: row.id, children: [] };
parentNode.children.push(node);
}
});
//
newCameraList.value.forEach((row) => {
//
const parentNodes = tree.flatMap((node) => node.children).flatMap((node) => node.children);
const parentNode = parentNodes.find((node) => node.value === row.siteId);
if (parentNode) {
const node = { title: row.cameraName, value: row.id, children: null };
parentNode.children.push(node);
}
});
// ant tree-select
nodeTree.value = handleCameraTree(tree);
}); });
// ant tree-select
nodeTree.value = handleCameraTree(tree);
}); });
}); });
}); });
// //
getCameraList(); getCameraList();
// //
@ -288,7 +312,7 @@
let item = data[i]; let item = data[i];
obj.title = item.title; obj.title = item.title;
obj.value = obj.key = item.value; obj.value = obj.key = item.value;
obj.disabled = item.children?.length > 0 ? true : false; obj.disabled = item.children?.length >= 0 ? true : false;
if (item.children && item.children.length > 0) { if (item.children && item.children.length > 0) {
obj.children = []; obj.children = [];
let indexValue: any = index ? index + '-' + (i + 1) : i + 1; let indexValue: any = index ? index + '-' + (i + 1) : i + 1;

Loading…
Cancel
Save