无人机管理后台前端(已迁走)
张含笑
2025-09-20 ccc9308481e8165598280767e824cce1fa0dedad
feat:编辑不刷新
1 files modified
61 ■■■■ changed files
src/views/resource/components/spotDetails.vue 61 ●●●● patch | view | raw | blame | history
src/views/resource/components/spotDetails.vue
@@ -460,27 +460,52 @@
  viewer?.entities.removeAll();
};
// 编辑
// const handleSelectionChange = row => {
//   let curRowIsSelect = row;
//   curRowIsSelect && handleLocationPolygon(row);
//   selectionIds.value = row.id;
//   selectionList.value = row;
//   if (isEditing.value) {
//     //当前已编辑 → 取消编辑(关闭绘制、重置状态)
//     isEditing.value = false;
//     handleUpDateDrawState(false); //取消绘制
//   } else {
//     // 当前未编辑 → 开启编辑(仅异常图斑可编辑)
//     if (row.is_exception === 2 && curRowIsSelect) {
//       isEditing.value = true;
//       handleUpDateDrawState(true); //开启绘制
//     } else {
//       ElMessage.warning('仅异常图斑支持编辑绘制');
//       isEditing.value = false;
//     }
//   }
// };
const handleSelectionChange = row => {
  let curRowIsSelect = row;
  curRowIsSelect && handleLocationPolygon(row);
  // 如果是同一个图斑且正在编辑,则取消编辑
  if (selectionIds.value === row.id && isEditing.value) {
    isEditing.value = false;
    handleUpDateDrawState(false);
    selectionIds.value = null;
    selectionList.value = [];
    return;
  }
  // 定位到选中的图斑
  handleLocationPolygon(row);
  // 仅异常图斑可编辑
  if (row.is_exception !== 2) {
    ElMessage.warning('仅异常图斑支持编辑绘制');
    return;
  }
  // 设置编辑状态
  selectionIds.value = row.id;
  selectionList.value = row;
  if (isEditing.value) {
    //当前已编辑 → 取消编辑(关闭绘制、重置状态)
    isEditing.value = false;
    handleUpDateDrawState(false); //取消绘制
  } else {
    // 当前未编辑 → 开启编辑(仅异常图斑可编辑)
    if (row.is_exception === 2 && curRowIsSelect) {
      isEditing.value = true;
      handleUpDateDrawState(true); //开启绘制
    } else {
      ElMessage.warning('仅异常图斑支持编辑绘制');
      isEditing.value = false;
    }
  }
  isEditing.value = true;
  handleUpDateDrawState(true);
};
const handleUpDateDrawState = show => {
  isEditing.value = show; // 同步编辑状态