diff --git a/src/views/home/components/modal-content/add-or-edit-marker-form.vue b/src/views/home/components/modal-content/add-or-edit-marker-form.vue index 62c59a4..944a58c 100644 --- a/src/views/home/components/modal-content/add-or-edit-marker-form.vue +++ b/src/views/home/components/modal-content/add-or-edit-marker-form.vue @@ -249,6 +249,39 @@ const getRobotCurrentPosition = async (puId) => { } } +// 新增或者修改点位 + +const addOrEditMarker = async (isCurrentPosition) => { + const { Robot_x, Robot_y, PTZ_x, PTZ_y, PTZ_zoom, Robot_theta } = isCurrentPosition + markerParams.value.xCount = Robot_x + markerParams.value.yCount = Robot_y + markerParams.value.PTZ_x = PTZ_x + markerParams.value.PTZ_y = PTZ_y + markerParams.value.markerAngle = Robot_theta + markerParams.value.PTZ_zoom = PTZ_zoom + + const addMarkerParams = { + ptzz: markerParams.value.PTZ_zoom, + theta: markerParams.value.markerAngle, + ptzx: markerParams.value.PTZ_x, + ptzy: markerParams.value.PTZ_y, + positionX: Math.ceil(markerParams.value.xCount), + positionY: Math.ceil(markerParams.value.yCount), + mapId: markerParams.value.mapId, + pointName: markerParams.value.markerName, + } + + if (markerParams.value.type === '修改') { + addMarkerParams.id = markerParams.value.id + } + const { data: result } = await addMarkerApi(addMarkerParams) + + if (result.code == 200) { + message.success(markerParams.value.type === '修改' ? '修改点位成功' : '新增点位成功') + onHandleCloseAddModal() + } +} + // 确认按钮 const onHandleConfirm = () => { // emits('onHandleConfirm', markerParams.value) @@ -259,8 +292,16 @@ const onHandleConfirm = () => { }).then(async (res) => { const { Robot_x, Robot_y, PTZ_x, PTZ_y, PTZ_zoom, Robot_theta } = res?.data.data - // 如果是修改时判断当前位置是否与点位一致 + const isCurrentPosition = { + Robot_x, + Robot_y, + PTZ_x, + PTZ_y, + PTZ_zoom, + Robot_theta, + } + // 判断当前点位和机器人位置是否一致 if ( Math.abs(Robot_x - markerParams.value.xCount) > 2 || Math.abs(Robot_y - markerParams.value.yCount) > 2 @@ -276,31 +317,7 @@ const onHandleConfirm = () => { onHandleGoToPoint() }, onNegativeClick: async () => { - markerParams.value.xCount = Robot_x - markerParams.value.yCount = Robot_y - markerParams.value.PTZ_x = PTZ_x - markerParams.value.PTZ_y = PTZ_y - markerParams.value.markerAngle = Robot_theta - markerParams.value.PTZ_zoom = PTZ_zoom - - const addMarkerParams = { - ptzz: markerParams.value.PTZ_zoom, - theta: markerParams.value.markerAngle, - ptzx: markerParams.value.PTZ_x, - ptzy: markerParams.value.PTZ_y, - positionX: Math.ceil(markerParams.value.xCount), - positionY: Math.ceil(markerParams.value.yCount), - mapId: markerParams.value.mapId, - pointName: markerParams.value.markerName, - } - - addMarkerParams.id = markerParams.value.id - const { data: result } = await addMarkerApi(addMarkerParams) - - if (result.code == 200) { - message.success('修改点位成功') - onHandleCloseAddModal() - } + addOrEditMarker(isCurrentPosition) }, }) } else { @@ -311,58 +328,12 @@ const onHandleConfirm = () => { negativeText: '取消', onPositiveClick: () => {}, onNegativeClick: async () => { - markerParams.value.xCount = Robot_x - markerParams.value.yCount = Robot_y - markerParams.value.PTZ_x = PTZ_x - markerParams.value.PTZ_y = PTZ_y - markerParams.value.markerAngle = Robot_theta - markerParams.value.PTZ_zoom = PTZ_zoom - - const addMarkerParams = { - ptzz: markerParams.value.PTZ_zoom, - theta: markerParams.value.markerAngle, - ptzx: markerParams.value.PTZ_x, - ptzy: markerParams.value.PTZ_y, - positionX: Math.ceil(markerParams.value.xCount), - positionY: Math.ceil(markerParams.value.yCount), - mapId: markerParams.value.mapId, - pointName: markerParams.value.markerName, - } - - const { data: result } = await addMarkerApi(addMarkerParams) - if (result.code == 200) { - message.success('新增点位成功') - onHandleCloseAddModal() - } + addOrEditMarker(isCurrentPosition) }, }) } } else { - markerParams.value.xCount = Robot_x - markerParams.value.yCount = Robot_y - markerParams.value.PTZ_x = PTZ_x - markerParams.value.PTZ_y = PTZ_y - markerParams.value.markerAngle = Robot_theta - markerParams.value.PTZ_zoom = PTZ_zoom - - const addMarkerParams = { - ptzz: markerParams.value.PTZ_zoom, - theta: markerParams.value.markerAngle, - ptzx: markerParams.value.PTZ_x, - ptzy: markerParams.value.PTZ_y, - positionX: Math.ceil(markerParams.value.xCount), - positionY: Math.ceil(markerParams.value.yCount), - mapId: markerParams.value.mapId, - pointName: markerParams.value.markerName, - } - - addMarkerParams.id = markerParams.value.id - const { data: result } = await addMarkerApi(addMarkerParams) - - if (result.code == 200) { - message.success('修改点位成功') - onHandleCloseAddModal() - } + addOrEditMarker(isCurrentPosition) } }) }