| | |
| | | * @LastEditors : yuan |
| | | * @LastEditTime : 2026-01-20 16:38:55 |
| | | * @FilePath : \applications\drone-command\src\views\basicManage\maintainRecord\FormDiaLog.vue |
| | | * @Description : |
| | | * Copyright 2026 OBKoro1, All Rights Reserved. |
| | | * @Description : |
| | | * Copyright 2026 OBKoro1, All Rights Reserved. |
| | | * 2026-01-20 14:04:02 |
| | | --> |
| | | <template> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="维护计划时间" prop="planCycleValue"> |
| | | <el-date-picker class="command-date-picker" popper-class="command-date-picker-popper" |
| | | v-model="formData.planCycleValue" type="date" placeholder="请选择" clearable |
| | | value-format="YYYY-MM-DD" :format="planCycleDateFormat" :disabled="!formData.planCycleType" |
| | | :disabled-date="getPlanCycleDisabledDate" :editable="false" /> |
| | | <el-form-item label="维护计划时间" prop="planCycleValue" > |
| | | <el-date-picker |
| | | v-if="formData.planCycleType === '1'" |
| | | :disabled="!formData.planCycleType" |
| | | class="command-date-picker" |
| | | popper-class="command-date-picker-popper" |
| | | v-model="formData.planCycleValue" |
| | | type="date" |
| | | placeholder="请选择" |
| | | clearable |
| | | value-format="YYYY-MM-DD" |
| | | :format="planCycleDateFormat" |
| | | :disabled-date="getPlanCycleDisabledDate" |
| | | :editable="false" /> |
| | | <el-select |
| | | v-else |
| | | :disabled="!formData.planCycleType" |
| | | class="command-select" |
| | | popper-class="command-select-popper" |
| | | v-model="formData.planCycleValue" |
| | | placeholder="请选择" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in planCycleValueOptions" |
| | | :key="item.value" |
| | | :label="item.value" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <el-button color="#2B2B4C" @click="handleCancel">{{ dialogReadonly ? '关闭' : '取消' }}</el-button> |
| | | <el-button v-if="dialogMode != 'view'" color="#2B2B4C" @click="handleCancel">{{ dialogReadonly ? '关闭' : '取消' }}</el-button> |
| | | <el-button color="#284FE3" v-if="!dialogReadonly" type="primary" :loading="submitting" |
| | | :disabled="submitting" @click="handleSubmit"> |
| | | 保存 |
| | |
| | | import { ElMessage } from 'element-plus' |
| | | import { fieldRules, getDictLabel } from '@ztzf/utils' |
| | | import { fwDeviceMaintainRecordPageApi } from '@/views/basicManage/maintainRecord/fwDeviceMaintainRecord' |
| | | import { saveOperationLog } from '@ztzf/apis' |
| | | import { useRoute } from 'vue-router' |
| | | import { |
| | | fwDeviceMaintainPlanDetailApi, |
| | | fwDeviceMaintainPlanSubmitApi, |
| | |
| | | dayjs.locale('zh-cn') |
| | | |
| | | const planCycleOptions = inject('planCycleOptions') |
| | | const planCycleValueOptions = ref([]) |
| | | |
| | | const emit = defineEmits(['success']) |
| | | const formRef = ref(null) // 表单实例 |
| | |
| | | const deviceList = ref([]) // 设备列表 |
| | | const getPlanCycleLabel = inject('getPlanCycleLabel') |
| | | const dictObj = inject('dictObj') |
| | | const route = useRoute() |
| | | const dialogReadonly = computed(() => dialogMode.value === 'view') |
| | | const titleEnum = ref({ edit: '编辑', view: '查看', add: '维护计划' }) |
| | | |
| | |
| | | visible.value = false |
| | | } |
| | | |
| | | watch( |
| | | () => formData.value?.planCycleType, |
| | | type => { |
| | | planCycleValueOptions.value = [] |
| | | if (!type) return |
| | | if (type === '1') { |
| | | ;[...Array(12)].forEach((item, index) => { |
| | | ;[...Array(31)].forEach((item1, index1) => { |
| | | planCycleValueOptions.value.push({ value: `${index + 1}月${index1 + 1}号` }) |
| | | }) |
| | | }) |
| | | } else if (type === '2') { |
| | | ;[...Array(31)].forEach((item, index) => { |
| | | planCycleValueOptions.value.push({ value: `${index + 1}号` }) |
| | | }) |
| | | } else if (type === '3') { |
| | | ;['一', '二', '三', '四', '五', '六', '日'].forEach((item, index) => { |
| | | planCycleValueOptions.value.push({ value: `星期${item}` }) |
| | | }) |
| | | } |
| | | } |
| | | ) |
| | | |
| | | // 提交新增/编辑 |
| | | async function handleSubmit () { |
| | | const isValid = await formRef.value?.validate().catch(() => false) |
| | |
| | | )], |
| | | } |
| | | await fwDeviceMaintainPlanSubmitApi(payload) |
| | | const actionText = dialogMode.value === 'add' ? '维护计划-新增' : '维护计划-编辑' |
| | | saveOperationLog({ |
| | | requestUri: route.path, |
| | | title: `${route.name || '维护记录管理'}-${actionText}`, |
| | | type: 1 |
| | | }) |
| | | ElMessage.success(dialogMode.value === 'add' ? '新增成功' : '更新成功') |
| | | visible.value = false |
| | | emit('success') |