| | |
| | | @click="syncDispatchOrder" |
| | | style="margin-left: 10px;" |
| | | >同步调度单</el-button> |
| | | <!-- 从旧系统同步数据到新系统按钮 --> |
| | | <el-button |
| | | v-if="taskDetail.emergencyInfo.legacyServiceOrdId && taskDetail.emergencyInfo.legacyDispatchOrdId" |
| | | type="success" |
| | | size="mini" |
| | | icon="el-icon-download" |
| | | :loading="syncingFromLegacy" |
| | | @click="syncFromLegacySystem" |
| | | style="margin-left: 10px;" |
| | | >从旧系统同步</el-button> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="调度单号"> |
| | | <span v-if="taskDetail.emergencyInfo.legacyDispatchOrdId"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getTask, updateTask, assignTask, changeTaskStatus, uploadAttachment, deleteAttachment, getTaskVehicles, getAvailableVehicles, assignVehiclesToTask, unassignVehicleFromTask, getPaymentInfo, syncServiceOrder, syncDispatchOrder, syncTaskStatus } from "@/api/task"; |
| | | import { getTask, updateTask, assignTask, changeTaskStatus, uploadAttachment, deleteAttachment, getTaskVehicles, getAvailableVehicles, assignVehiclesToTask, unassignVehicleFromTask, getPaymentInfo, syncServiceOrder, syncDispatchOrder, syncTaskStatus, syncFromLegacySystem, checkTaskInvoice } from "@/api/task"; |
| | | import { listUser } from "@/api/system/user"; |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | |
| | | // 同步加载状态 |
| | | syncingServiceOrder: false, |
| | | syncingDispatchOrder: false, |
| | | syncingFromLegacy: false, |
| | | syncingTaskStatus: false, |
| | | // 发票申请状态 |
| | | hasInvoiceApplied: false, |
| | |
| | | this.syncingDispatchOrder = false; |
| | | }); |
| | | }, |
| | | /** 从旧系统同步数据到新系统 */ |
| | | syncFromLegacySystem() { |
| | | // 检查是否同时有serviceOrdID和dispatchOrdID |
| | | if (!this.taskDetail.emergencyInfo.legacyServiceOrdId || !this.taskDetail.emergencyInfo.legacyDispatchOrdId) { |
| | | this.$modal.msgError("缺少必要的旧系统ID信息"); |
| | | return; |
| | | } |
| | | |
| | | this.$modal.confirm('是否确认从旧系统同步数据到新系统?').then(() => { |
| | | this.syncingFromLegacy = true; |
| | | return syncFromLegacySystem( |
| | | this.taskDetail.emergencyInfo.legacyServiceOrdId, |
| | | this.taskDetail.emergencyInfo.legacyDispatchOrdId |
| | | ); |
| | | }).then(() => { |
| | | this.$modal.msgSuccess("从旧系统同步成功"); |
| | | // 重新加载任务详情 |
| | | this.getTaskDetail(); |
| | | }).catch((error) => { |
| | | if (error !== 'cancel') { |
| | | this.$modal.msgError("同步失败: " + (error.message || "未知错误")); |
| | | } |
| | | }).finally(() => { |
| | | this.syncingFromLegacy = false; |
| | | }); |
| | | }, |
| | | /** 手动同步任务状态 */ |
| | | syncTaskStatus() { |
| | | this.$modal.confirm('是否确认同步任务状态到旧系统?').then(() => { |
| | |
| | | /** 检查发票申请状态 */ |
| | | checkInvoiceStatus() { |
| | | // 调用后端接口检查该任务是否已申请发票 |
| | | this.$axios.get(`/system/invoice/checkTaskInvoice/${this.$route.params.taskId}`) |
| | | checkTaskInvoice(this.$route.params.taskId) |
| | | .then(response => { |
| | | if (response.code === 200 && response.data) { |
| | | this.hasInvoiceApplied = true; |