From 24c134de88a85401e63a18b3828eaa5320436ac1 Mon Sep 17 00:00:00 2001 From: Fuyuu <1805498209@qq.com> Date: Wed, 20 Dec 2023 15:41:17 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E5=B0=862d=E7=BB=98=E5=9B=BE?= =?UTF-8?q?=E7=BB=84=E4=BB=B6canvas-select=E9=9B=86=E6=88=90=E5=88=B0?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E4=B8=AD=EF=BC=8C=E5=B9=B6=E6=AD=A3=E5=B8=B8?= =?UTF-8?q?=E7=BC=96=E8=BE=91=E3=80=81=E4=BF=9D=E5=AD=98=E6=A0=87=E6=B3=A8?= =?UTF-8?q?=E3=80=81=E7=94=BB=E5=9B=BE=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2、弃用组件内置删除回退方法,添加页面键盘事件监听,实现删除和回退 --- src/views/earthMap/edit/EarthComp.vue | 15 +- .../modules/ai/aiModel/DtAiModel.data.ts | 75 ++-- .../ai/aiModel/components/DtAiModelForm.vue | 39 +- .../ai/aiMonitorArea/DtAiMonitorArea.data.ts | 109 +++--- .../ai/aiMonitorArea/DtAiMonitorAreaList.vue | 20 +- .../ai/aiMonitorArea/checkCom/CheckCom.vue | 72 ++++ .../components/DtAiMonitorAreaForm.vue | 181 +++++++-- .../ai/aiMonitorArea/selectCom/SelectCom.vue | 360 ++++++++++++++++++ .../selectCom/assets/circle_icon.png | Bin 0 -> 2435 bytes .../aiMonitorArea/selectCom/assets/hide.png | Bin 0 -> 2558 bytes .../selectCom/assets/line_icon.png | Bin 0 -> 2210 bytes .../selectCom/assets/point_icon.png | Bin 0 -> 1330 bytes .../selectCom/assets/polo_icon.png | Bin 0 -> 3065 bytes .../selectCom/assets/rect_icon.png | Bin 0 -> 1929 bytes .../components/DtMonitorAreaForm.vue | 5 +- .../system/loginmini/CanvasVideoPage.vue | 13 +- 16 files changed, 718 insertions(+), 171 deletions(-) create mode 100644 src/views/military/modules/ai/aiMonitorArea/checkCom/CheckCom.vue create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/circle_icon.png create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/hide.png create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/line_icon.png create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/point_icon.png create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/polo_icon.png create mode 100644 src/views/military/modules/ai/aiMonitorArea/selectCom/assets/rect_icon.png diff --git a/src/views/earthMap/edit/EarthComp.vue b/src/views/earthMap/edit/EarthComp.vue index 9e5ce14..667935e 100644 --- a/src/views/earthMap/edit/EarthComp.vue +++ b/src/views/earthMap/edit/EarthComp.vue @@ -627,9 +627,6 @@ this.clearAlarmModel(eventSerialNum) } }) - $mitt.on('fly', function (callback) { - that.fly(callback) - }) } @@ -844,7 +841,7 @@ }); } - async fly(callback:any = null) { + async fly() { let position, rotation, viewDistance, duration; // let parentData = @@ -869,11 +866,6 @@ rotation = [data.rotationX, data.rotationY, data.rotationZ]; viewDistance = data.viewDistance; duration = data.duration ? data.duration : 0; - // 处理mitt事件 - if(callback){ - callback(position,rotation,viewDistance,duration); - return - } this._earth.camera.flyTo(position, viewDistance, rotation, duration); // 地图复原事件 window.$flyTo = this.flyTo = () => { @@ -885,11 +877,6 @@ rotation = [parentData[0].rotationX, parentData[0].rotationY, parentData[0].rotationZ]; viewDistance = parentData[0].viewDistance; duration = parentData[0].duration; - // 处理mitt事件 - if(callback){ - callback(position,rotation,viewDistance,duration); - return - } // 先飞入到能看见红旗 this._earth.camera.flyTo(position, viewDistance, rotation, duration); // 地图复原事件 diff --git a/src/views/military/modules/ai/aiModel/DtAiModel.data.ts b/src/views/military/modules/ai/aiModel/DtAiModel.data.ts index 47fe12f..779fe6a 100644 --- a/src/views/military/modules/ai/aiModel/DtAiModel.data.ts +++ b/src/views/military/modules/ai/aiModel/DtAiModel.data.ts @@ -1,54 +1,53 @@ -import {BasicColumn} from '/@/components/Table'; -import {FormSchema} from '/@/components/Table'; -import { rules} from '/@/utils/helper/validator'; +import { BasicColumn } from '/@/components/Table'; +import { FormSchema } from '/@/components/Table'; +import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; //列表数据 export const columns: BasicColumn[] = [ { title: '模型编号', - align: "center", - dataIndex: 'modelCode' + align: 'center', + dataIndex: 'modelCode', }, { title: '模型名称', - align: "center", - dataIndex: 'modelName' + align: 'center', + dataIndex: 'modelName', }, { title: '备注', - align: "center", - dataIndex: 'remark' - }, - { - title: '备用1', - align: "center", - dataIndex: 'field1' - }, - { - title: '备用2', - align: "center", - dataIndex: 'field2' - }, - { - title: '备用3', - align: "center", - dataIndex: 'field3' - }, - { - title: '所属区域', - align: "center", - dataIndex: 'sysAreaCode' - }, - { - title: '所属单位', - align: "center", - dataIndex: 'sysUnitCode' - }, + align: 'center', + dataIndex: 'remark', + }, + // { + // title: '备用1', + // align: "center", + // dataIndex: 'field1' + // }, + // { + // title: '备用2', + // align: "center", + // dataIndex: 'field2' + // }, + // { + // title: '备用3', + // align: "center", + // dataIndex: 'field3' + // }, + // { + // title: '所属区域', + // align: "center", + // dataIndex: 'sysAreaCode' + // }, + // { + // title: '所属单位', + // align: "center", + // dataIndex: 'sysUnitCode' + // }, ]; //查询数据 -export const searchFormSchema: FormSchema[] = [ -]; +export const searchFormSchema: FormSchema[] = []; //表单数据 export const formSchema: FormSchema[] = [ @@ -92,7 +91,7 @@ export const formSchema: FormSchema[] = [ field: 'sysUnitCode', component: 'Input', }, - // TODO 主键隐藏字段,目前写死为ID + // TODO 主键隐藏字段,目前写死为ID { label: '', field: 'id', diff --git a/src/views/military/modules/ai/aiModel/components/DtAiModelForm.vue b/src/views/military/modules/ai/aiModel/components/DtAiModelForm.vue index ffc706a..34c44d7 100644 --- a/src/views/military/modules/ai/aiModel/components/DtAiModelForm.vue +++ b/src/views/military/modules/ai/aiModel/components/DtAiModelForm.vue @@ -17,7 +17,7 @@ - + @@ -54,48 +54,46 @@ import { getValueType } from '/@/utils'; import { saveOrUpdate } from '../DtAiModel.api'; import { Form } from 'ant-design-vue'; - + const props = defineProps({ formDisabled: { type: Boolean, default: false }, - formData: { type: Object, default: ()=>{} }, - formBpm: { type: Boolean, default: true } + formData: { type: Object, default: () => {} }, + formBpm: { type: Boolean, default: true }, }); const formRef = ref(); const useForm = Form.useForm; const emit = defineEmits(['register', 'ok']); const formData = reactive>({ id: '', - modelCode: '', - modelName: '', - remark: '', - field1: '', - field2: '', - field3: '', - sysAreaCode: '', - sysUnitCode: '', + modelCode: '', + modelName: '', + remark: '', + field1: '', + field2: '', + field3: '', + sysAreaCode: '', + sysUnitCode: '', }); const { createMessage } = useMessage(); const labelCol = ref({ xs: { span: 24 }, sm: { span: 5 } }); const wrapperCol = ref({ xs: { span: 24 }, sm: { span: 16 } }); const confirmLoading = ref(false); //表单验证 - const validatorRules = { - }; + const validatorRules = {}; const { resetFields, validate, validateInfos } = useForm(formData, validatorRules, { immediate: true }); // 表单禁用 - const disabled = computed(()=>{ - if(props.formBpm === true){ - if(props.formData.disabled === false){ + const disabled = computed(() => { + if (props.formBpm === true) { + if (props.formData.disabled === false) { return false; - }else{ + } else { return true; } } return props.formDisabled; }); - /** * 新增 */ @@ -152,7 +150,6 @@ }); } - defineExpose({ add, edit, diff --git a/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts b/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts index 873d87c..04b8373 100644 --- a/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts +++ b/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorArea.data.ts @@ -1,69 +1,70 @@ -import {BasicColumn} from '/@/components/Table'; -import {FormSchema} from '/@/components/Table'; -import { rules} from '/@/utils/helper/validator'; +import { BasicColumn } from '/@/components/Table'; +import { FormSchema } from '/@/components/Table'; +import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; //列表数据 export const columns: BasicColumn[] = [ { title: '模型编号', - align: "center", - dataIndex: 'modelCode' + align: 'center', + dataIndex: 'modelCode', + width: 100, }, { title: '模型名称', - align: "center", - dataIndex: 'modelName' + align: 'center', + dataIndex: 'modelName', }, { - title: '模型范围数据', - align: "center", - dataIndex: 'areaData' - }, - { - title: '画图数据', - align: "center", - dataIndex: 'drawdata' - }, - { - title: '相机id', - align: "center", - dataIndex: 'cameraId' - }, - { - title: '备注', - align: "center", - dataIndex: 'remark' - }, - { - title: '备用1', - align: "center", - dataIndex: 'field1' + title: 'rtsp地址', + align: 'center', + dataIndex: 'rtspUrl', }, { - title: '备用2', - align: "center", - dataIndex: 'field2' + title: 'webrtc地址', + align: 'center', + dataIndex: 'webrtcUrl', }, { - title: '备用3', - align: "center", - dataIndex: 'field3' - }, - { - title: '所属区域', - align: "center", - dataIndex: 'sysAreaCode' + title: '模型范围数据', + align: 'center', + dataIndex: 'areaData', }, { - title: '所属单位', - align: "center", - dataIndex: 'sysUnitCode' - }, + title: '画图数据', + align: 'center', + dataIndex: 'drawdata', + }, + // , + // { + // title: '备注', + // align: 'center', + // dataIndex: 'remark', + // }, + // { + // title: '备用2', + // align: "center", + // dataIndex: 'field2' + // }, + // { + // title: '备用3', + // align: "center", + // dataIndex: 'field3' + // }, + // { + // title: '所属区域', + // align: "center", + // dataIndex: 'sysAreaCode' + // }, + // { + // title: '所属单位', + // align: "center", + // dataIndex: 'sysUnitCode' + // }, ]; //查询数据 -export const searchFormSchema: FormSchema[] = [ -]; +export const searchFormSchema: FormSchema[] = []; //表单数据 export const formSchema: FormSchema[] = [ @@ -88,18 +89,18 @@ export const formSchema: FormSchema[] = [ component: 'Input', }, { - label: '相机id', - field: 'cameraId', + label: 'rtsp地址', + field: 'rtspUrl', component: 'Input', }, { - label: '备注', - field: 'remark', + label: 'webrtc地址', + field: 'webrtcUrl', component: 'Input', }, { - label: '备用1', - field: 'field1', + label: '备注', + field: 'remark', component: 'Input', }, { @@ -122,7 +123,7 @@ export const formSchema: FormSchema[] = [ field: 'sysUnitCode', component: 'Input', }, - // TODO 主键隐藏字段,目前写死为ID + // TODO 主键隐藏字段,目前写死为ID { label: '', field: 'id', diff --git a/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorAreaList.vue b/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorAreaList.vue index 9a5b0dd..3401094 100644 --- a/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorAreaList.vue +++ b/src/views/military/modules/ai/aiMonitorArea/DtAiMonitorAreaList.vue @@ -53,6 +53,8 @@ + + @@ -64,7 +66,13 @@ import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './DtAiMonitorArea.api'; import { downloadFile } from '/@/utils/common/renderUtils'; import DtAiMonitorAreaModal from './components/DtAiMonitorAreaModal.vue'; - + import CheckCom from './checkCom/CheckCom.vue'; + // 查看监控弹窗 + const videoVisible = ref(false); + // 显示组件 + function videoCheck(record) { + videoVisible.value = true; + } const formRef = ref(); const queryParam = reactive({}); const toggleSearchStatus = ref(false); @@ -78,7 +86,7 @@ canResize: false, useSearchForm: false, actionColumn: { - width: 120, + width: 180, fixed: 'right', }, beforeFetch: (params) => { @@ -156,6 +164,10 @@ */ function getTableAction(record) { return [ + { + label: '查看监控', + onClick: videoCheck.bind(null, record), + }, { label: '编辑', onClick: handleEdit.bind(null, record), @@ -198,6 +210,10 @@ //刷新数据 reload(); } + + defineExpose({ + videoVisible, + }); diff --git a/src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue b/src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue index 12362ea..efb245d 100644 --- a/src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue +++ b/src/views/military/modules/ai/aiMonitorArea/components/DtAiMonitorAreaForm.vue @@ -12,31 +12,53 @@ - - - + + + 绘制标注数据 - - + + + - - + + + - - + + - - + + + + + @@ -184,4 +291,10 @@ overflow-y: auto; padding: 24px 24px 24px 24px; } + .dwImg { + width: 10%; + height: 10%; + margin-left: 3%; + cursor: pointer !important; + } diff --git a/src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue b/src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue new file mode 100644 index 0000000..3b95ebb --- /dev/null +++ b/src/views/military/modules/ai/aiMonitorArea/selectCom/SelectCom.vue @@ -0,0 +1,360 @@ + + + + diff --git a/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/circle_icon.png b/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/circle_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..494173953b02452de9471c1436626b4c72a2b085 GIT binary patch literal 2435 zcmV-}34Hd6P)Px;JxN4CRCr$PosDtaI1GiUN^-6wNhP^d61$R1Dv4dmIhE+<>Bt?fEQt>wDUvH_ z#hx!}rrPy*^-9xoPx9 zMaKT@ocrScYBdW`gul0Gnts;0&{^jl4uF#l&e#D!z&i{H#4rGO!+&$mJu_Bmw9jxb zbPd2DM&DyC!0@YQ{m>-<^E@M#{}TzeMgzLoWdXxWkD8$?0OooA;hg*XfegPU2q65N zrs<^^TA3&60)Pt`zFQEQ0^nmjTs>U=6*qWf8bAPCgoRVQ!6^XvwC;DIA=6}}9Nl{a0}53o^vr46pgI5rU4FATDFL^j zzBvW-ssPOMj8UI6B2MW9iGkUDOM);>(-V7L>3&rJC=l<5HT>EDg+M@me667iiUZ&q zjFBHwD=Czylzo>T)cgJgK&S#iQ2;W<-f6<8B`lc(q&Nh{0LV1{b5Hg0+JIzwgQ5ea z2ml$zFWQ*ehAVyk3~x}Z-?9Pljrdp5Ij_?+eN`OyP={oAgCgM|3xEuQFXi$XVwLrh zYzT4z(B%0@XNuM7na&+$pLw1!$AH;U$%Yln>N!uG=4Zt z0f9&l&;TeDsu@4i_z?us>;MZ&sK?eM0L+5+s04}N{FmERD7@)VKmjn%GjdaQ9h}Go zUCxpj4HkxAYF0G~fKc^k6(utI<`Rc0GJ|9oW&n^>`;r&DgrzDrQYZ?O1M(06q42Y~ zU(xXKsfBvrP!Og7U~~Q?X(#o~B`zaea(8H(T>ylm-(3I6=n1vit`|50fF1pm+B~^` zE^#?QcDCyUHUSWh{-+wNRWD(|%ti_Y;ii|~1AtZjCj2sun0vTjux@&R4**DF%QQ{N zG%~k=cKmS<B@3=e`qzYXI1j*y!&M0M-lKP1daeV5WR+wy!heM_z!*-tNM{4FG}rrxzP^+D{LA zTLK&2!axjwx&Oh@5Tt~+`b`V~qyA0&bq)!+Xyg_KVgQ)SW7B>-3zuoI(|ybX472tt4XP_pMcIhOZIB_rnFwTibg=zM z0G2F(DFm4Z7!Lquj)w-o>Hv=k09^{U$G{DMe%^UMm@S&zE#zq%_kVlPCkBAk0Tu>2G(2ue;Qnv3yD-ep zhYEi$82!3e#|mr9*xlv`3LAOvbOPabIQsGB;d}q2FDdq}=Jlk0xa4Jou0OeqFZtp} z!Kz^x#Il0QSdz=VXl<4Rz=s01&b*s%R_>QeoL&(3>FkUJfSn@t6 zfkD9Z)W$wS0lo}6yaYmWIgtnOUO=h`EHjW;#P6#xK8_SuWW@k@2-r0Pq3H&J00O1) zRl-{ffTT-+Yu${-N9_q|=E zdA>hSmho{8wFd|dQ9`h|EuSG=`Y9vfd`rwvkqj#v0A*%iy5RpOdDxX#TaH7l__t0{ z1b_k%Tuv7#U4F1(5#tvL0Wnn>;UEaahtCrHsK?|QTTCnN_KS(YEtirB0Z#eTIrs8t zPayk#`9}N_%brdw67$z5FBSp{dV+^a7Yi7E=?`g%mrYEn01#;cR1C4WRJ$#+iq5%T zqj`ivhF`KJyyaWlfvMxF0T4lu={JtB*hekII0S6iZ>C_{E0K=oajr6svtxEt_8lglXsYRy`QN`>UfE5S`3!gJf z%V&Uq6!A}wqrGblz*;8K3V;Ekv9(?ZBfa}F^+N!#Zp6tzgyn09<-?5fqro*q2w=U# zDrCSr;18YxTbyF93qSF?#PIJ>K*F&@j&7#k{sa0)^UIG-P5%G@002ovPDHLkV1mx_ BN+|#U literal 0 HcmV?d00001 diff --git a/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/hide.png b/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/hide.png new file mode 100644 index 0000000000000000000000000000000000000000..d7579c33c88770d35bb5fa944e555b1471f4b6b6 GIT binary patch literal 2558 zcmeAS@N?(olHy`uVBq!ia0y~yV6k9eU~=JL1B!fBn8FXF7>k44ofy`glX(f`u%tWs zIx;Y9?C1WI$O`0h7I;J!GcfS&0b$0edx|`PVv{{x978JN-X3J+1u8kT;Jbe=KRXMM zISNKYU^E0qLtr!nMnhmU1V%$(Gz91q0ta?V+5cl;Px-TuDShRCr$Pojs^sMG(jTQ)y{oA*f)$B4w;JV9<10DVT?*5DeH^#DEg5d{!zN zjHMv>Ac#Vqq!D~p1|s;ZjGcmDz<`QP3JbfDx$J$Oci%mCXU{paXV2NW@OZ`Dvv+sq zcV<6kW|!cfswF^G_ue}X2cU8Y8~_KPatT!4eYXG(K;;ssy!&ne9DvFtPcLUf1@C$%_BDz&}FUoCQu@-=tUjuL+zylHS z-30Ji0O7lGMO|jgiUWX|9|!P0fX5O=wh!Q}TZ1&I6$Jn@zX0I#v@RSfeH*~*MD#_E zI;wiK7yy|0AppM(Abo-0lv@IwBufI|`wnKmt(SiS*dijI6GS*D0sv%U@QyXOD=Uo`t52I#B`u?*h1J)W2;adfTY(SyWpB09OH=F_NY@hukkv>N1d- zEtP+Zh>jV7HJfTjvjE1*7X@7=q6@Rplu<`U0U(3&{q0u*lO2Ez$`^O=B_g`4ltIpz5Mo07z8+V*56Phe>Q;EGTqUfieV$6>u-0 z0&Q~ux+uTdZe|ug!7~7khj4HS9h1LJ9}fmmC|`=00?=3a>-wOy3?3IaHUJjNU-n5^ zx9RIOI{R`k{0ADs|+qsl4ZE-80u8rl27-kJn6mOi`!#Weo<6<-0F4=qnfJEu&EEXx4>I%b3crCnidM8l#&3TX z@~;rvzVGe6lVB zS395_-bQVsh0sad7NCWkb{JZdTRO4-q~bC_AP!#T=4B~_SK<(Iwyji6H7kaZ8B zt#L{#P_3hA3Bb@+;3g40l1hw4dF4h|wT_~Lcz`e$cx8a0V06>paV}7$qi8iCL{95? zz6S(yZvRI)w|_NOL%BsYC{hNsbbT*(ss|uIP;5pKGuz&&)D@jMJ*Qk>kK!m| zX4^ZJ=A_6zeNnz?*&RhnH+I*q@B0uCL>DGoa&vj?XxglsLrO5a0#q40eNU^4)kCD1UTPXLg-jeEkqN)ibyhkbt&OVe`z;s9ve#ho2ReUv}M&X5D3kfL%w zKG{(;w(@-vs8GHXQ96o}tUw9McL0g)w zzifq10u^dA%FS#3a`rdh0Z=GDEd6BtpR#mQ)_hQGH0Apcpiq^u`QIg?Ek!fTiue!^ z5v|e@)Kx(aKv&7-dT!v8IaZsU?Ow$;dAS9MTL4Ywa918jKYYRghy!pHz?rTZjyyN| z8AJ|18~{ypa92LEWf=Jo&{0LkTfn2=RN@vu0fsU>Tv5}ZB1K%R;Q%Pq#>{e&#zjTZ zlp>=YJk@NZ1E5qHGye_XUS;uEvC(J$%LY0CF;#`{6ONjX)hIWr$o6j$H>)@RF?BV* z9{>W09KIAw)<|el@1hPsq6kA+*fjtr5+5BTg)H$mqs1M7sEF1V2+PCsia5W$kehdq zk=yYnO&)UqdWtoi;Ujr?cL6vKK%#)}0QgBFflI$r$pPpIz|`~I{-ZeIQ7RJfT?S+XZsz1o&ucu;|{>oHQ2NL4nR)Zt{L1TI}mjD0&07*qoM6N<$g71>az5oCK literal 0 HcmV?d00001 diff --git a/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/point_icon.png b/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/point_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..376a0594f022397101d3041941c68c6bbf1c6828 GIT binary patch literal 1330 zcmds%{WIHl0LMQ`$Wlk*A-(jFQH{q{;_9l#=9$DpG-|fHRY~oZRn5qRFbN5!9(G-H zw^h3!>#?{YtU8Y+DMLGKbrIq-ar`cbzyZ!Kfzg|DQe}0$KV#yX}wq^hT zi%3e?rDO8`4GMYOg8^4Zj{(cNL=FLxaeEyAChL)5!5`%&Z3v&PB_v>nRCoQdYi-`) zWBKKSj~%bgHoDlljhWY%$Qr$DP0`Ku5e4ondMN%B%A?8}TjEw9Ov^gr7tJ!4xQm9C z{tV5|_`&ZxN$kIk>Xqg{0@w332TT;c0Z&ggSYu!`dpOJyRQS^p`~7&pZ8M0uy9(f< zF2vBwCIpK20*$@hivCXqj#31p10%}}J*zo_y!2^dBq4})ZN zAQteqFi7ENQ&aB1tGyTyf$s;m^2L-|hg3lsfLsJUGnEFv84^sB6;i%U$H7t4+fN9|<*48;G@bDj z4i%I#3Mu#ZaMr73C>i@q(#DRbHku&a^uP8OL<808d@vrHI$P2G`UlQ8!)tr0$pO&T zRd zP)s82Py&=}1y&yipwwb=Pdqd?mRGiniKlMXu#Lc^2YRO4-6P!KoYS@FB}^;ei(II5 zxjsVux^lUSDP9k}YytvcnfIj+bYy|BPuiX=y7PQqkJfDeXlSJeK1tqRTp~vR*>Gor z`a6SvXMPj87vjKR4+;1fRC1?e#49Y#9$Yc; z0YQa`3+I`)^;QxX>rA6Bh|4h5xODGZt@1uk49qS;E4XUAMXIPKK`|&YbnmZFyp>A} zA2T)|d+(tYE$j#fe(tCU7xFMR@5Odh^+Svbw&C1WP~Zf0e4b+cUwKsDpJikKI#wJmMe? zv&6%RlwQbxj#v<2P(~qHj?>`_ynqI(Cz$+c#x({&oG3fz|EU{rMM}6pZ-xyzK0y!} L9vdbJp%?uF7m!$E literal 0 HcmV?d00001 diff --git a/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/polo_icon.png b/src/views/military/modules/ai/aiMonitorArea/selectCom/assets/polo_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..bfd3211463b35d513bf65960b0bc364f8c28c7d7 GIT binary patch literal 3065 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 literal 0 HcmV?d00001 diff --git a/src/views/military/modules/ai/monitorArea/components/DtMonitorAreaForm.vue b/src/views/military/modules/ai/monitorArea/components/DtMonitorAreaForm.vue index e7229ae..4f58e1f 100644 --- a/src/views/military/modules/ai/monitorArea/components/DtMonitorAreaForm.vue +++ b/src/views/military/modules/ai/monitorArea/components/DtMonitorAreaForm.vue @@ -75,6 +75,9 @@ + @@ -91,7 +94,7 @@ import VCEarthViewer from './VCEarthViewer.vue'; import Area from '@/views/military/modules/ai/MonitorArea/components/Area.vue'; import AreaByXbsjEarthUI from '@/views/military/modules/ai/MonitorArea/components/AreaByXbsjEarthUI.vue'; - + import EarthMapModal from '/@/views/military/modules/earthMap/scene/model/mapModel/EarthMapModal.vue'; import locationPng from '@/assets/images/getLocation.png'; import { FormatPainterOutlined } from '@ant-design/icons-vue'; diff --git a/src/views/system/loginmini/CanvasVideoPage.vue b/src/views/system/loginmini/CanvasVideoPage.vue index a1c06d4..7d56279 100644 --- a/src/views/system/loginmini/CanvasVideoPage.vue +++ b/src/views/system/loginmini/CanvasVideoPage.vue @@ -45,8 +45,8 @@ 保存 -
-
+    
   
@@ -95,7 +94,7 @@ const mouseX = ref(0); const mouseY = ref(0); const isRightMouseDown = ref(false); - // + // 开启rtsp播放 const open = () => { const res = ipcRenderer.sendSync('openRtsp', rtspUrl.value); @@ -252,7 +251,7 @@ width: 800px; height: 480px; position: absolute; - z-index: 999; + z-index: 999999; left: 0; top: 0; }