From 0ffdf00009b0bede0859fa33deddefb55c075a7b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 01 二月 2026 16:42:36 +0800
Subject: [PATCH] feat:优化增加任务同步接口,允许前端手动控制同步
---
ruoyi-ui/src/views/task/general/detail.vue | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 55 insertions(+), 2 deletions(-)
diff --git a/ruoyi-ui/src/views/task/general/detail.vue b/ruoyi-ui/src/views/task/general/detail.vue
index 036d380..bd5a736 100644
--- a/ruoyi-ui/src/views/task/general/detail.vue
+++ b/ruoyi-ui/src/views/task/general/detail.vue
@@ -74,6 +74,16 @@
<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">
@@ -109,6 +119,16 @@
<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">
@@ -738,7 +758,7 @@
</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";
@@ -827,7 +847,10 @@
category: [
{ required: true, message: "涓氬姟鍒嗙被涓嶈兘涓虹┖", trigger: "change" }
]
- }
+ },
+ // 鍚屾鍔犺浇鐘舵��
+ syncingServiceOrder: false,
+ syncingDispatchOrder: false
};
},
created() {
@@ -1125,6 +1148,36 @@
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;
+ });
}
}
};
--
Gitblit v1.9.1