guonan
2025-06-18 1188387a47e55590a87c161cb43b2db0729b0146
src/components/menu/Device.vue
@@ -58,13 +58,46 @@
        >
          <template #default="{ node, data }">
            <span v-if="!data.children" class="device-tree-item">
              <span class="device-item-text">{{ node.label }}</span>
              <span class="device-item-text" :title="node.label">{{
                node.label
              }}</span>
            </span>
            <span v-else class="device-tree-category">
              {{ node.label }} ({{ data.children.length }})
            </span>
          </template>
        </el-tree>
        <!-- <el-tree
          v-show="!isLoading"
          :data="deviceTree"
          default-expand-all
          node-key="deviceId"
          :props="treeProps"
          @node-click="handleTreeNodeClick"
          class="device-tree"
        >
          <template #default="{ node, data }">
            <span v-if="!data.children" class="device-tree-item">
              <el-tooltip :content="node.label" placement="top" effect="dark">
                <span class="device-item-text" :title="node.label">{{
                  node.label
                }}</span>
              </el-tooltip>
            </span>
            <span v-else class="device-tree-category">
              <el-tooltip
                :content="`${node.label} (${data.children.length})`"
                placement="top"
                effect="dark"
              >
                <span :title="`${node.label} (${data.children.length})`"
                  >{{ node.label }} ({{ data.children.length }})</span
                >
              </el-tooltip>
            </span>
          </template>
        </el-tree> -->
      </div>
    </div>
  </div>
@@ -147,7 +180,7 @@
const DevicePoints = async (item) => {
  // 根据需求可增删
  item.type = getDictName(deviceDictList, item.dictDeviceType);
  item.name = item.deviceName
  item.name = item.deviceName;
  // item.name = item.deviceName.split(selectValue.value)[1] || item.deviceName;
  item.id = item.deviceId;
  item.className = "device";
@@ -271,7 +304,10 @@
  }));
});
function handleTreeNodeClick(data) {
function handleTreeNodeClick(data, node) {
  if (data.children) {
    return; // 一级节点,不执行点击逻辑
  }
  if (selectValue.value) {
    // 此处调用是因为GisView页面会在点击下一乡镇之前把上一个选择的区域的隐患点清除掉(如果刚好选择了孙胡沟,那么下一个点击将会清空孙胡沟的隐患点)
    initializeDevicePoints();
@@ -404,6 +440,7 @@
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
}
:deep(.el-select__placeholder) {