Merge remote-tracking branch 'origin/master'
| | |
| | | <el-input class="command-input" v-model="formData.disposeWay" maxlength="200" type="textarea" placeholder="请输入" clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <div v-if="checkAreaBind" class="warning-text"> 注:该设备已绑定区域,报废设备该区域无法正常使用,是否报废?</div> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | |
| | | import { computed, ref } from 'vue' |
| | | import { ElMessage } from 'element-plus' |
| | | import { fieldRules } from '@ztzf/utils' |
| | | import { fwDeviceScrapSaveApi } from '@/views/basicManage/deviceStock/fwDeviceScrapApi' |
| | | import { fwDeviceScrapSaveApi,fivDevicelcheckAreaBindApi } from '@/views/basicManage/deviceStock/fwDeviceScrapApi' |
| | | import dayjs from 'dayjs' |
| | | import { saveOperationLog } from '@ztzf/apis' |
| | | import { useRoute } from 'vue-router' |
| | |
| | | dialogMode.value = mode || 'add' |
| | | visible.value = true |
| | | formData.value.deviceId = row.id |
| | | getCheckAreaBind() |
| | | } |
| | | const checkAreaBind = ref(false) |
| | | function getCheckAreaBind() { |
| | | fivDevicelcheckAreaBindApi({ |
| | | deviceId: formData.value.deviceId |
| | | }).then(res => { |
| | | checkAreaBind.value = res.data.data |
| | | }) |
| | | } |
| | | |
| | | onMounted(() => {}) |
| | | onMounted(() => { |
| | | getCheckAreaBind() |
| | | }) |
| | | |
| | | defineExpose({ open }) |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .warning-text { |
| | | width: 100%; |
| | | color: red; |
| | | font-size: 14px; |
| | | text-align: center; |
| | | margin: -10px 0 10px 0; |
| | | } |
| | | </style> |
| | |
| | | params, |
| | | }) |
| | | } |
| | | |
| | | // 设置区域绑定校验 |
| | | export const fivDevicelcheckAreaBindApi = params => { |
| | | return request({ |
| | | url: `/drone-fw/device/fwDevice/checkAreaBind`, |
| | | method: 'get', |
| | | params, |
| | | }) |
| | | } |
| | | |
| | | |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="label">擅长任务类型</div> |
| | | <div class="val">{{ getDictLabel(formData.skilledTaskType, dictObj.skilledTaskType) }}</div> |
| | | <div class="val">{{ getDictLabel(formData.skilledTaskType, dictObj.patrolTaskType) }}</div> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <div class="label">项目经验</div> |
| | |
| | | :disabled="dialogType === 'view'" |
| | | > |
| | | <el-option |
| | | v-for="item in dictObj.skilledTaskType" |
| | | v-for="item in dictObj.patrolTaskType" |
| | | :key="item.dictKey" |
| | | :label="item.dictValue" |
| | | :value="item.dictKey" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="skilledTaskType" show-overflow-tooltip label="擅长任务类型"> |
| | | <template v-slot="{ row }"> |
| | | {{ getDictLabel(row.skilledTaskType, dictObj.skilledTaskType) }} |
| | | {{ getDictLabel(row.skilledTaskType, dictObj.patrolTaskType) }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" class-name="operation-btns" width="180"> |
| | |
| | | const flyingHandData = ref({}) |
| | | |
| | | const dictObj = ref({ |
| | | skilledTaskType: [], // 擅长任务类型 |
| | | patrolTaskType: [], // 擅长任务类型 |
| | | skilledUavType: [], // 擅长机型 |
| | | technicalStrength: [] // 技术特长 |
| | | }) |
| | |
| | | |
| | | // 获取字典 |
| | | function getDictList() { |
| | | getDictionaryByCode('skilledTaskType,skilledUavType,technicalStrength').then(res => { |
| | | getDictionaryByCode('patrolTaskType,skilledUavType,technicalStrength').then(res => { |
| | | dictObj.value = res.data.data |
| | | }) |
| | | } |
| | |
| | | async function getFlyerList(index, skilledTaskType) { |
| | | const res = await gdFlyerPageApi({ |
| | | size: 999, |
| | | current: 1, |
| | | skilledTaskType, |
| | | }) |
| | | flyerListMap.value[index] = res?.data?.data?.records ?? [] |
| | |
| | | v-model="formData.patrolRouteUrl" |
| | | placeholder="请选择" |
| | | clearable |
| | | @change="getAirDetails" |
| | | > |
| | | <el-option v-for="item in routeOptions" :key="item.id" :label="item.name" :value="item.id" /> |
| | | </el-select> |
| | |
| | | |
| | | // 获取飞手列表 |
| | | async function getFlyerList() { |
| | | const res = await gdFlyerPageApi({ size: 999 }) |
| | | const res = await gdFlyerPageApi({ size: 999,current: 1 }) |
| | | flyerList.value = res?.data?.data?.records ?? [] |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .imgBox { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | gap: 10px; |
| | | > div { |
| | | width: calc((100% - 40px) / 5); /* 5列布局,减去4个10px间隙 */ |
| | | height: 110px; |
| | | flex-shrink: 0; |
| | | } |
| | | .el-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | } |
| | | :deep(.el-timeline-item__timestamp) { |
| | | font-size: 12px; |
| | | color: #999; |