| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="场景" prop="defenseSceneId"> |
| | | <el-select class="command-select" popper-class="command-select-popper" |
| | | v-model="formData.defenseSceneId" placeholder="请选择" clearable |
| | | @change="handleSceneChange"> |
| | | v-model="formData.defenseSceneId" placeholder="选择设备后自动带出" clearable |
| | | disabled> |
| | | <el-option v-for="item in sceneList" :key="item.id" :label="item.sceneName" |
| | | :value="item.id" /> |
| | | </el-select> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="区域" prop="areaDivideId"> |
| | | <el-select class="command-select" popper-class="command-select-popper" |
| | | v-model="formData.areaDivideId" placeholder="请先选择场景" clearable |
| | | :disabled="!formData.defenseSceneId" @change="handleAreaChange"> |
| | | v-model="formData.areaDivideId" placeholder="选择设备后自动带出" clearable |
| | | disabled> |
| | | <el-option v-for="item in areaList" :key="item.id" :label="item.areaName" |
| | | :value="item.id" /> |
| | | </el-select> |
| | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度位置" prop="longitude"> |
| | | <!-- <el-button @click="selectLocation" style="width: 100%">--> |
| | | <el-button style="width: 100%"> |
| | | <el-button style="width: 100%" disabled> |
| | | {{ |
| | | formData.longitude && formData.latitude ? `${formData.longitude}, ${formData.latitude}` : |
| | | '选择区域后自动带出' |
| | | '选择设备后自动带出' |
| | | }} |
| | | </el-button> |
| | | </el-form-item> |
| | |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="调度人员" prop="dispatchUser"> |
| | | <el-input class="command-input" v-model="formData.dispatchUser" maxlength="50" placeholder="请输入" |
| | | clearable /> |
| | | <el-input class="command-input" v-model="formData.dispatchUser" maxlength="50" placeholder="选择设备后自动带出" |
| | | disabled clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | |
| | | import { ElMessage } from 'element-plus' |
| | | import { fwTaskScheduleDetailApi, fwTaskScheduleSubmitApi } from './taskScheduleApi' |
| | | import { fwAreaDivideListApi } from '@/views/areaManage/partition/partitionApi' |
| | | import { fwDefenseSceneListApi } from '@/views/areaManage/sceneConfig/sceneConfigApi' |
| | | import { fwDefenseSceneManageListApi } from '@/views/areaManage/sceneManage/sceneManageApi' |
| | | import { fieldRules } from '@ztzf/utils' |
| | | import { PublicCesium } from '@/utils/cesium/publicCesium' |
| | | import * as Cesium from 'cesium' |
| | |
| | | if (device) { |
| | | formData.value.deviceName = device.deviceName |
| | | formData.value.deviceSn = device.deviceSn |
| | | formData.value.deviceStatus = device.deviceStatus |
| | | formData.value.deviceStatus = device.status |
| | | formData.value.dispatchUser = device.charger |
| | | formData.value.areaDivideId = device.areaDivideId |
| | | formData.value.defenseSceneId = device.defenseSceneManageId |
| | | |
| | | formData.value.longitude = device.longitude |
| | | formData.value.latitude = device.latitude |
| | | |
| | | deviceStatus.value = String(device.status) |
| | | } else { |
| | | formData.value.deviceName = '' |
| | | formData.value.deviceSn = '' |
| | | formData.value.deviceStatus = '' |
| | | formData.value.dispatchUser = '' |
| | | formData.value.areaDivideId = '' |
| | | formData.value.defenseSceneId = '' |
| | | |
| | | formData.value.longitude = '' |
| | | formData.value.latitude = '' |
| | | |
| | | deviceStatus.value = '' |
| | | } |
| | | } |
| | | |
| | | async function handleAreaChange (areaId) { |
| | | const find = areaList.value.find(item => item.id === areaId) |
| | | formData.value.longitude = find?.longitude |
| | | formData.value.latitude = find?.latitude |
| | | } |
| | | |
| | | // 场景选择变化处理 |
| | | async function handleSceneChange (sceneId) { |
| | | formData.value.areaDivideId = '' |
| | | |
| | | if (sceneId) { |
| | | await loadAreaList(sceneId) |
| | | } else { |
| | | areaList.value = [] |
| | | } |
| | | } |
| | | |
| | | // 加载区域列表 |
| | | async function loadAreaList (sceneId) { |
| | | const res = await fwAreaDivideListApi({sceneId}) |
| | | async function loadAreaList () { |
| | | const res = await fwAreaDivideListApi() |
| | | areaList.value = res?.data?.data ?? [] |
| | | } |
| | | |
| | | // 加载场景列表 |
| | | async function loadSceneList() { |
| | | const res = await fwDefenseSceneListApi() |
| | | const res = await fwDefenseSceneManageListApi() |
| | | sceneList.value = res?.data?.data ?? [] |
| | | } |
| | | |
| | |
| | | ...data, |
| | | dispatchDateRange: |
| | | data.dispatchStartTime && data.dispatchEndTime ? [data.dispatchStartTime, data.dispatchEndTime] : [], |
| | | } |
| | | // 如果有场景ID,加载区域列表 |
| | | if (data.defenseSceneId) { |
| | | await loadAreaList(data.defenseSceneId) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | onMounted(() => { |
| | | loadSceneList() |
| | | loadAreaList() |
| | | }) |
| | | </script> |
| | | <style scoped lang="scss"> |