| | |
| | | :close-on-click-modal="false" |
| | | > |
| | | <div class="content" style="display: flex"> |
| | | <div class="processBox" v-if="dialogMode !== 'add' && processList.length"> |
| | | <div class="processBox" v-if="dialogMode !== 'add'"> |
| | | <div class="detail-title">工单记录</div> |
| | | <div class="process"> |
| | | <OrderStepBar :processList="processList" /> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="label">设备需求</div> |
| | | <div class="val">{{ getDictLabel(formData.deviceLoadDemand, dictObj.deviceLoadDemand) }}</div> |
| | | <div class="val">{{ formData.deviceLoadDemand }}</div> |
| | | </el-col> |
| | | <el-col :span="24"> |
| | | <div class="label">工单备注</div> |
| | |
| | | <el-form-item label="执行时间" prop="executeStartTime"> |
| | | <el-date-picker |
| | | class="gd-date-picker" |
| | | popper-class="gd-date-picker-popper" |
| | | v-model="dateRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | |
| | | @change="loadDemandChange" |
| | | > |
| | | <el-option |
| | | v-for="item in dictObj.deviceLoadDemand" |
| | | :key="item.dictKey" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey" |
| | | v-for="item in payloadList" |
| | | :key="item.name" |
| | | :label="item.name" |
| | | :value="item.name" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | <el-col :span="24"> |
| | | <el-form-item label="工单备注" prop="remark"> |
| | | <el-input |
| | | class="gd-input" |
| | | class="gd-input-text" |
| | | type="textarea" |
| | | :rows="4" |
| | | :rows="3" |
| | | v-model="formData.remark" |
| | | placeholder="请输入" |
| | | clearable |
| | |
| | | <el-table |
| | | class="separateTable" |
| | | :empty-text=" |
| | | formData.deviceLoadDemand && pointList.length ? '暂无数据' : '请先选择设备需求并在地图上绘制工单范围' |
| | | pointList.length ? '暂无数据' : '请先在地图上绘制工单范围' |
| | | " |
| | | ref="deviceTableRef" |
| | | :data="formData.deviceLoadDemand && pointList.length ? deviceList : []" |
| | | :data="pointList.length ? deviceList : []" |
| | | row-key="id" |
| | | @selection-change="handleDeviceSelectionChange" |
| | | > |
| | |
| | | gdWorkOrderHandleStatusApi, |
| | | gdWorkOrderSaveApi, |
| | | } from './orderManageApi' |
| | | import { gdManageDeviceListApi } from './gdManageDeviceApi' |
| | | import { gdDevicePayloadListApi, gdManageDeviceListApi } from './gdManageDeviceApi' |
| | | import { cartesian3Convert } from '@/utils/cesium/mapUtil' |
| | | import * as Cesium from 'cesium' |
| | | import { DrawPolygon } from '@ztzf/utils' |
| | |
| | | workOrderName: fieldRules(true, 50), |
| | | workOrderType: fieldRules(true), |
| | | executeStartTime: fieldRules(true), |
| | | deviceLoadDemand: fieldRules(true), |
| | | } |
| | | |
| | | // 操作类型:1接单,2拒接接单,3申请取消,4申请修改, 5同意取消 |
| | |
| | | // 渲染 |
| | | function renderingAllDevice(list) { |
| | | list.forEach(item => { |
| | | const position = Cesium.Cartesian3.fromDegrees(item.longitude || 115.0, item.latitude || 27.11) |
| | | if (!item.longitude || !item.latitude) return |
| | | const position = Cesium.Cartesian3.fromDegrees(item.longitude, item.latitude) |
| | | viewer.entities.add({ |
| | | position: position, |
| | | billboard: { |
| | |
| | | width: 30, |
| | | height: 30, |
| | | verticalOrigin: Cesium.VerticalOrigin.CENTER, |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | }, |
| | | label: { |
| | | text: item.nickname, |
| | |
| | | outlineWidth: 2, |
| | | outlineColor: Cesium.Color.WHITE, |
| | | horizontalOrigin: Cesium.HorizontalOrigin.CENTER, |
| | | heightReference: Cesium.HeightReference.CLAMP_TO_GROUND, |
| | | verticalOrigin: Cesium.VerticalOrigin.BOTTOM, |
| | | pixelOffset: new Cesium.Cartesian2(0, -20), |
| | | }, |
| | |
| | | }) |
| | | } |
| | | |
| | | const payloadList = ref([]) |
| | | function getPayloadList() { |
| | | gdDevicePayloadListApi().then(res => { |
| | | payloadList.value = res.data.data |
| | | }) |
| | | } |
| | | |
| | | // 打开弹框 |
| | | async function open({ mode = 'add', row } = {}) { |
| | | dialogMode.value = mode |
| | | getPayloadList() |
| | | initMap() |
| | | const allDeviceRes = await gdManageDeviceListApi() |
| | | formData.value = dialogMode.value === 'add' ? initForm() : row |
| | |
| | | flex-direction: column; |
| | | |
| | | .gd-cesium { |
| | | position: relative; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | min-height: 360px; |
| | | flex: 1; |