吉安感知网项目-前端
张含笑
2026-01-20 58da3409db496c6c97b355277c847ce6ca541ddf
applications/task-work-order/src/views/orderView/orderManage/orderManage/FormDiaLog.vue
@@ -8,6 +8,9 @@
      destroy-on-close
   >
      <div class="content" style="display: flex">
         <div class="processBox">
            <div v-for="(item, index) in processList">{{index}}-{{ item.flowName }}{{ item.flowDesc }}</div>
         </div>
         <div class="leftBox">
            <div class="detail-container" v-if="dialogReadonly">
               <el-row>
@@ -113,7 +116,17 @@
                  </el-col>
               </el-row>
            </el-form>
            <div id="mapContainer" class="gd-cesium"></div>
            <CommonCesiumMap
               ref="mapRef"
               class="leftMap gd-cesium"
               :active="visible"
               :flat-mode="false"
               :terrain="true"
               :layer-mode="4"
               :boundary="false"
               :zoomToBoundary="false"
            />
         </div>
         <div class="rightBox" v-if="!dialogReadonly">
            <div class="title">推荐设备</div>
@@ -188,15 +201,20 @@
import { computed, ref, onMounted, nextTick } from 'vue'
import { ElMessage } from 'element-plus'
import { dateRangeFormat, fieldRules, geomAnalysis, getDictLabel } from '@ztzf/utils'
import { gdWorkOrderDetailApi, gdWorkOrderHandleStatusApi, gdWorkOrderSaveApi } from './orderManageApi'
import {
   gdWorkOrderDetailApi,
   gdWorkOrderFlowListApi,
   gdWorkOrderHandleStatusApi,
   gdWorkOrderSaveApi,
} from './orderManageApi'
import { gdManageDeviceListApi } from './gdManageDeviceApi'
import { cartesian3Convert } from '@/utils/cesium/mapUtil'
import * as Cesium from 'cesium'
import { DrawPolygon } from '@/utils/cesium/DrawPolygon'
import { PublicCesium } from '@/utils/cesium/publicCesium'
import { pxToRem } from '@/utils/rem'
import dayjs from 'dayjs'
import RefuseOrderDialog from '@/views/orderView/orderManage/orderManage/RefuseOrderDialog.vue'
import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue'
// 初始化表单数据
const initForm = () => ({
@@ -210,6 +228,7 @@
   recommendDeviceIds: '',
})
const mapRef = ref(null)
const rejectVisible = ref(false)
const dictObj = inject('dictObj')
const dateRange = ref([])
@@ -313,9 +332,17 @@
   }
)
const processList = ref([])
function loadList() {
   gdWorkOrderFlowListApi({ workOrderId: formData.value.id }).then(res => {
      processList.value = res.data.data
   })
}
// 加载详情
async function loadDetail() {
   if (!formData.value.id) return
   loadList()
   const res = await gdWorkOrderDetailApi({ id: formData.value.id })
   formData.value = res?.data?.data ?? {}
   dateRange.value = [formData.value.executeStartTime, formData.value.executeEndTime]
@@ -403,14 +430,9 @@
// 初始化地图实例
function initMap() {
   const publicCesiumInstance = new PublicCesium({
      dom: 'mapContainer',
      flatMode: false,
      terrain: true,
      layerMode: 4,
      boundary: false,
   })
   viewer = publicCesiumInstance.getViewer()
   if (viewer) return
   const map = mapRef.value?.getMap()
   viewer = map?.viewer || null
}
defineExpose({ open })
@@ -423,7 +445,7 @@
   .leftBox {
      width: 0;
      flex: 1;
      #mapContainer {
      .gd-cesium {
         width: 100%;
         height: 423px;
      }