zjk
2026-03-03 0213c468c36c021b4d1bf7ad3c28e839ed7a59a5
feat: 修改围栏启停用
2个文件已修改
79 ■■■■■ 已修改文件
src/views/businessOperations/geofenceManagement/detail.vue 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/transaction/order/orderManagement/index.vue 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/businessOperations/geofenceManagement/detail.vue
@@ -880,7 +880,8 @@
    })
    // 组装请求参数
    const params = {
      status: modalType.value !== 'add' && formModel.value.status !== 0 && formModel.value.status !== 1 ?  (formModel.value.areaStatus === 1 ? 2 : 3  ):  type, // 0: 草稿 1: 发布
      status: modalType.value !== 'add' && formModel.value.status !== 0 && formModel.value.status !== 1 ?  (formModel.value.areaStatus === 1 ? 2 : 3  ) : type,
      // status: type === 0 ? type : formModel.value.areaStatus === 1 ? 1 : 3 , // 0: 草稿 1: 发布 2: 启用 3: 停用
      cityCode: 510100,
      // cityCode: 440100,
      area: calcPolygonArea(fencePoints).toFixed(2),
@@ -896,16 +897,37 @@
      addFence(params).then((res) => {
        if (res.code === 200) {
          message.success('添加成功')
          tabStore.closeTab(route.fullPath)
          router.back()
        }
      })
    } else if (modalType.value === 'edit') {
      editFence({...params, id: routeId.value}).then((res) => {
        if (res.code === 200) {
          message.success('编辑成功')
          router.back()
        }
      })
      if (formModel.value.areaStatus !== fenceDetail.value.electronicFenceAreas.find((item: any) => item.areaType === 1)?.areaStatus) {
        dialog.create({
          title: `确认${formModel.value.areaStatus === 1 ? '启用' : '停用'}该围栏吗?`,
          content: '',
          positiveText: '确定',
          negativeText: '取消',
          draggable: true,
          onPositiveClick: () => {
            editFence({...params, id: routeId.value}).then((res) => {
              if (res.code === 200) {
                message.success('编辑成功')
                tabStore.closeTab(route.fullPath)
                router.back()
              }
            })
          }
        })
      } else {
        editFence({...params, id: routeId.value}).then((res) => {
          if (res.code === 200) {
            message.success('编辑成功')
            tabStore.closeTab(route.fullPath)
            router.back()
          }
        })
      }
    }
  })
}
@@ -1320,7 +1342,7 @@
                  启用
                </template>
                <template #unchecked>
                  禁用
                  停用
                </template>
              </n-switch>
              <img src="../../../assets/geofence/close2.png" class="w-24px h-24px ml-auto cursor-pointer"
@@ -1336,12 +1358,12 @@
                    fenceDetail.status === 2
                      ? '启用中' : '已停用' }}
                </NTag>
                <n-switch v-model:value="formModel.areaStatus" :checked-value="1" :unchecked-value="2" :disabled="fenceDetail.status === 0 || fenceDetail.status === 1" class="text-13px">
                <n-switch v-model:value="formModel.areaStatus" :checked-value="1" :unchecked-value="2" :disabled="fenceDetail.status === 0 || fenceDetail.status === 1" class="text-13px" v-if="modalType !== 'detail'">
                  <template #checked>
                    启用
                  </template>
                  <template #unchecked>
                    禁用
                    停用
                  </template>
                </n-switch>
              </div>
src/views/transaction/order/orderManagement/index.vue
@@ -474,20 +474,37 @@
  return row.id
}
const tableHeight = ref(0)
let resizeObserver: ResizeObserver | null = null
function calcTableHeight() {
  if (!formRef.value) return
  const formHeight = formRef.value.offsetHeight
  tableHeight.value = window.innerHeight - formHeight - 261
}
onMounted(() => {
  getList()
  fetchCascaderData()
  fetchFleetList()
})
const tableHeight = ref(0)
  if (formRef.value) {
    resizeObserver = new ResizeObserver(() => {
      calcTableHeight()
    })
watch(() => formRef.value, (newVal) => {
  if (newVal) {
    const height = newVal.offsetHeight
    tableHeight.value = window.innerHeight - height - 261
    resizeObserver.observe(formRef.value)
  }
  // 初始化计算一次
  calcTableHeight()
})
onBeforeUnmount(() => {
  resizeObserver?.disconnect()
})
function handleCheck(rowKeys: DataTableRowKey[]) {
  checkedRowKeysRef.value = rowKeys
@@ -502,7 +519,6 @@
<template>
  <div class="roboTaxi w-full h-full">
    <!-- <NSpace vertical class="flex-1 w-full"> -->
    <div ref="formRef" class="roboTaxi-form-card mb-12px">
      <n-form :model="model" label-placement="left" inline :show-feedback="false">
        <SearchPanel show-toggle>
@@ -531,15 +547,14 @@
          </NButton>
        </n-flex>
      </template>
      <div class="flex-1 flex flex-col">
      <div class="flex-1 flex flex-col h-full">
        <!-- table 区域 -->
          <n-data-table class="flex-1" :row-key="rowKey" :scroll-x="1950" :columns="columns" :data="listData" :loading="loading"
            :bordered="false" :header-height="18" :row-height="18" @update:checked-row-keys="handleCheck" :max-height="tableHeight"/>
          <n-data-table class="flex-1" :row-key="rowKey" :scroll-x="1950" :columns="columns" :data="listData" :loading="loading" flex-height
            :bordered="false" :header-height="18" :row-height="18" @update:checked-row-keys="handleCheck"/>
        <Pagination :count="count" class="robotaxi-pagination mt-12px" @change="changePage" />
      </div>
    </n-card>
    <TableModal ref="modalRef" modal-name="改派" />
    <Modal ref="modalRef1" modal-name="改价" />
    <!-- </NSpace> -->
  </div>
</template>