Browse Source

重写相机数据树结构

master
Fuyuu 9 months ago
parent
commit
09543cd8e6
  1. 10
      src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts
  2. 72
      src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue
  3. 1
      src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue

10
src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts

@ -36,11 +36,11 @@ export const columns: BasicColumn[] = [
align: 'center',
dataIndex: 'drawdata',
},
{
title: '所属场景',
align: 'center',
dataIndex: 'sceneId_dictText',
},
// {
// title: '所属场景',
// align: 'center',
// dataIndex: 'sceneId_dictText',
// },
// ,
// {
// title: '备注',

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

@ -8,7 +8,7 @@
ref="cameraTree"
v-model:value="formData.cameraId"
allow-clear
:treeData="cameraList"
:treeData="nodeTree"
:disabled="disabled"
placeholder="请选择监控相机"
>
@ -60,16 +60,15 @@
<a-textarea v-model:value="formData.drawdata" :rows="4" placeholder="请输入画图数据" :disabled="disabled"></a-textarea>
</a-form-item>
</a-col>
<a-col :span="24">
<!-- <a-col :span="24">
<a-form-item label="所属场景" v-bind="validateInfos.sceneId" name="sceneId">
<!-- <a-input v-model:value="formData.sceneId" placeholder="请输入所属场景" :disabled="disabled"></a-input> -->
<a-select v-model:value="formData.sceneId" placeholder="请选择所属场景" :disabled="disabled">
<template :key="code.sceneId" v-for="code in sceneCodeList">
<a-select-option :value="code.sceneId">{{ code.sceneName }}</a-select-option>
</template>
</a-select>
</a-form-item>
</a-col>
</a-col> -->
<!-- <a-col :span="24">
<a-form-item label="备注" v-bind="validateInfos.remark">
<a-input v-model:value="formData.remark" placeholder="请输入备注" :disabled="disabled"></a-input>
@ -108,6 +107,62 @@
import type { Rule } from 'ant-design-vue/es/form';
//
import SelectCom from '../selectCom/SelectCom.vue';
//
import { useUserStore } from '/@/store/modules/user';
const userStore = useUserStore();
// sys_org_code
const orgCode = 'A01';
//
const areaList: any = [];
//
const stationList: any = [];
//
const newCameraList: any = [];
//
function getCurrentSceneArea() {
return defHttp.get({ url: '/military/msMapLine/list', params: { sysOrgCode: orgCode } }, { isTransformResponse: false });
}
//
function getCurrentAreaStation() {
return defHttp.get({ url: '/military/camera/site/list', params: { pageNo: 1, pageSize: 9999 } }, { isTransformResponse: false });
}
//
function getCurrentStationCamera() {
return defHttp.get({ url: '/military/camera/setting/list', params: { pageNo: 1, pageSize: 9999 } }, { isTransformResponse: false });
}
const nodeTree: any = ref([]);
getCurrentSceneArea().then((res1) => {
getCurrentAreaStation().then((res2) => {
getCurrentStationCamera().then((res3) => {
//
const tree: any = [];
//
res1.result.records.value.forEach((row) => {
const node = { title: row.name, value: row.id, children: [] };
tree.push(node);
});
//
res2.result.records.value.forEach((row) => {
const parentNode = tree.find((node) => node.value === row.lineId);
if (parentNode) {
const node = { title: row.sitename, value: row.id, children: [] };
parentNode.children.push(node);
}
});
//
res3.result.records.value.forEach((row) => {
const parentNodes = tree.map((node) => node.children).flat();
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);
}
});
nodeTree.value = handleCameraTree(tree);
});
});
});
//
const cameraTree = ref(null);
@ -169,7 +224,7 @@
const rules: Record<string, Rule[]> = {
cameraId: [{ required: true, message: '请选择监控相机!' }],
modelCode: [{ required: true, message: '请输入监控模型!' }],
sceneId: [{ required: true, message: '请选择所属场景!' }],
// sceneId: [{ required: true, message: '' }],
};
const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: true });
@ -212,7 +267,6 @@
if (res.success) {
// console.log(res.result);
cameraList.value = handleCameraTree(res.result);
// console.log(cameraList);
}
});
}
@ -223,9 +277,9 @@
for (let i = 0; i < data.length; i++) {
let obj: any = {};
let item = data[i];
obj.title = item.name;
obj.value = obj.key = item.id;
obj.disabled = item.children ? true : false;
obj.title = item.title;
obj.value = obj.key = item.value;
obj.disabled = item.children?.length > 0 ? true : false;
if (item.children && item.children.length > 0) {
obj.children = [];
// obj.key = i + 1;

1
src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue

@ -177,6 +177,7 @@
typeString = '';
}
// -
const newShape: any = {
type: typeString,
coor: item.coor,

Loading…
Cancel
Save