| | |
| | | <i class="el-icon-error"></i> 同步失败 |
| | | </el-tag> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | <!-- 未同步或同步失败时显示同步按钮 --> |
| | | <el-button |
| | | v-if="taskDetail.emergencyInfo.syncStatus === 0 || taskDetail.emergencyInfo.syncStatus === 3" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-refresh" |
| | | :loading="syncingServiceOrder" |
| | | @click="syncServiceOrder" |
| | | style="margin-left: 10px;" |
| | | >同步服务单</el-button> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="服务单号"> |
| | | <span v-if="taskDetail.emergencyInfo.legacyServiceOrdId"> |
| | |
| | | <i class="el-icon-error"></i> 同步失败 |
| | | </el-tag> |
| | | <span v-else style="color: #C0C4CC;">--</span> |
| | | <!-- 未同步或同步失败时显示同步按钮 --> |
| | | <el-button |
| | | v-if="taskDetail.emergencyInfo.dispatchSyncStatus === 0 || taskDetail.emergencyInfo.dispatchSyncStatus === 3" |
| | | type="primary" |
| | | size="mini" |
| | | icon="el-icon-refresh" |
| | | :loading="syncingDispatchOrder" |
| | | @click="syncDispatchOrder" |
| | | 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 } from "@/api/task"; |
| | | import { getTask, updateTask, assignTask, changeTaskStatus, uploadAttachment, deleteAttachment, getTaskVehicles, getAvailableVehicles, assignVehiclesToTask, unassignVehicleFromTask, getPaymentInfo, syncServiceOrder, syncDispatchOrder } from "@/api/task"; |
| | | import { listUser } from "@/api/system/user"; |
| | | import { getToken } from "@/utils/auth"; |
| | | |
| | |
| | | category: [ |
| | | { required: true, message: "业务分类不能为空", trigger: "change" } |
| | | ] |
| | | } |
| | | }, |
| | | // 同步加载状态 |
| | | syncingServiceOrder: false, |
| | | syncingDispatchOrder: false |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | if (!fileType) return false; |
| | | const imageTypes = ['jpg', 'jpeg', 'png', 'gif', 'bmp', 'webp']; |
| | | return imageTypes.includes(fileType.toLowerCase()); |
| | | }, |
| | | /** 手动同步服务单 */ |
| | | syncServiceOrder() { |
| | | this.$modal.confirm('是否确认同步服务单到旧系统?').then(() => { |
| | | this.syncingServiceOrder = true; |
| | | return syncServiceOrder(this.taskDetail.taskId); |
| | | }).then(() => { |
| | | this.$modal.msgSuccess("服务单同步成功"); |
| | | // 重新加载任务详情 |
| | | this.getDetail(); |
| | | }).catch(() => { |
| | | // 处理取消和错误 |
| | | }).finally(() => { |
| | | this.syncingServiceOrder = false; |
| | | }); |
| | | }, |
| | | /** 手动同步调度单 */ |
| | | syncDispatchOrder() { |
| | | this.$modal.confirm('是否确认同步调度单到旧系统?').then(() => { |
| | | this.syncingDispatchOrder = true; |
| | | return syncDispatchOrder(this.taskDetail.taskId); |
| | | }).then(() => { |
| | | this.$modal.msgSuccess("调度单同步成功"); |
| | | // 重新加载任务详情 |
| | | this.getDetail(); |
| | | }).catch(() => { |
| | | // 处理取消和错误 |
| | | }).finally(() => { |
| | | this.syncingDispatchOrder = false; |
| | | }); |
| | | } |
| | | } |
| | | }; |