From 0ffdf00009b0bede0859fa33deddefb55c075a7b Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期日, 01 二月 2026 16:42:36 +0800
Subject: [PATCH] feat:优化增加任务同步接口,允许前端手动控制同步
---
app/pagesTask/create-emergency.vue | 96 ++++++++++++++++++++++++++++++++---------------
1 files changed, 65 insertions(+), 31 deletions(-)
diff --git a/app/pagesTask/create-emergency.vue b/app/pagesTask/create-emergency.vue
index e68decb..d1adac9 100644
--- a/app/pagesTask/create-emergency.vue
+++ b/app/pagesTask/create-emergency.vue
@@ -2006,6 +2006,14 @@
// - YYYYMMDD
// - yyyy-MM-dd HH:mm:ss
console.log('灏濊瘯鏍煎紡鍖栨棩鏈熷瓧绗︿覆:', dateStr)
+
+ // 濡傛灉杈撳叆涓虹┖鎴栨棤鏁堬紝杩斿洖绌哄瓧绗︿覆
+ if (!dateStr || typeof dateStr !== 'string') {
+ console.warn('鏃ユ湡瀛楃涓叉棤鏁�:', dateStr)
+ return ''
+ }
+
+ // 娓呮礂鏃ユ湡瀛楃涓�
let cleaned = dateStr
.replace(/[骞存湀]/g, '-')
.replace(/[鏃ュ彿]/g, ' ') // 鏃�/鍙� 鈫� 绌烘牸锛屼繚鐣欐棩鏈熷拰鏃堕棿鐨勫垎闅�
@@ -2014,50 +2022,76 @@
.replace(/绉�/g, '')
.replace(/\s+/g, ' ') // 澶氫釜绌烘牸鍚堝苟涓轰竴涓�
.trim()
+
console.log('娓呯悊鍚庣殑鏃ユ湡瀛楃涓�:', cleaned)
+
+ // 鍒嗙鏃ユ湡鍜屾椂闂撮儴鍒�
+ const parts = cleaned.split(' ')
+ let datePart = parts[0] || ''
+ let timePart = parts[1] || ''
+
let dateResult = ''
+ // 澶勭悊鏃ユ湡閮ㄥ垎
// 濡傛灉鏄痀YMMDD鏍煎紡
- if (/^\d{6}$/.test(cleaned)) {
- const year = '20' + cleaned.substring(0, 2)
- const month = cleaned.substring(2, 4)
- const day = cleaned.substring(4, 6)
- dateResult = `${year}-${month}-${day}`;
- }
- // 濡傛灉鏄痀YYYMMDD鏍煎紡
- else if (/^\d{8}$/.test(cleaned)) {
- const year = cleaned.substring(0, 4)
- const month = cleaned.substring(4, 6)
- const day = cleaned.substring(6, 8)
+ if (/^\d{6}$/.test(datePart)) {
+ const year = '20' + datePart.substring(0, 2)
+ const month = datePart.substring(2, 4)
+ const day = datePart.substring(4, 6)
dateResult = `${year}-${month}-${day}`
}
- // 濡傛灉宸茬粡鏄悎鐞嗘牸寮忥紝鐩存帴浣跨敤
- else if (cleaned.match(/^\d{4}[-/]\d{1,2}[-/]\d{1,2}$/)) {
- dateResult = cleaned.replace(/[//]/g, '-')
+ // 濡傛灉鏄痀YYYMMDD鏍煎紡
+ else if (/^\d{8}$/.test(datePart)) {
+ const year = datePart.substring(0, 4)
+ const month = datePart.substring(4, 6)
+ const day = datePart.substring(6, 8)
+ dateResult = `${year}-${month}-${day}`
}
- // 濡傛灉宸茬粡鍖呭惈鏃跺垎绉掞紝鐩存帴杩斿洖
- else if (cleaned.match(/^\d{4}[-/]\d{1,2}[-/]\d{1,2}\s+\d{1,2}:\d{1,2}:\d{1,2}$/)) {
- return cleaned.replace(/[//]/g, '-')
- }
- // 濡傛灉鍖呭惈鏃跺垎浣嗙己灏戠锛坹yyy-MM-dd HH:mm:锛�
- else if (cleaned.match(/^\d{4}[-/]\d{1,2}[-/]\d{1,2}\s+\d{1,2}:\d{1,2}:$/)) {
- // 鍘绘帀鏈熬鐨勫啋鍙凤紝琛ヤ笂绉掓暟00
- return cleaned.replace(/[//]/g, '-').replace(/:$/, '') + ':00'
- }
- // 濡傛灉鍙寘鍚椂鍒嗭紙yyyy-MM-dd HH:mm锛�
- else if (cleaned.match(/^\d{4}[-/]\d{1,2}[-/]\d{1,2}\s+\d{1,2}:\d{1,2}$/)) {
- return cleaned.replace(/[//]/g, '-') + ':00'
+ // 濡傛灉鏄痽yyy-MM-dd鎴杫yyy/MM/dd鏍煎紡
+ else if (datePart.match(/^\d{4}[-\/]\d{1,2}[-\/]\d{1,2}$/)) {
+ dateResult = datePart.replace(/\//g, '-')
}
else {
- dateResult = dateStr
+ dateResult = datePart
}
- // 濡傛灉鏃ユ湡鏍煎紡姝g‘锛屾坊鍔犻粯璁ゆ椂鍒嗙 00:00:00
- if (dateResult && dateResult.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
- return dateResult + ' 00:00:00'
+ // 楠岃瘉鏃ユ湡閮ㄥ垎鏄惁鏈夋晥
+ if (!dateResult.match(/^\d{4}-\d{1,2}-\d{1,2}$/)) {
+ console.warn('鏃ユ湡鏍煎紡涓嶆纭�:', dateResult)
+ return ''
}
- return dateResult
+ // 澶勭悊鏃堕棿閮ㄥ垎
+ let timeResult = '00:00:00' // 榛樿鏃堕棿
+
+ if (timePart) {
+ // 绉婚櫎鏈熬澶氫綑鐨勫啋鍙�
+ timePart = timePart.replace(/:+$/, '')
+
+ // 鍒嗗壊鏃躲�佸垎銆佺
+ const timeParts = timePart.split(':')
+ const hour = timeParts[0] || '00'
+ const minute = timeParts[1] || '00'
+ const second = timeParts[2] || '00'
+
+ // 楠岃瘉鏃堕棿鏁板瓧鏄惁鏈夋晥
+ const hourNum = parseInt(hour, 10)
+ const minuteNum = parseInt(minute, 10)
+ const secondNum = parseInt(second, 10)
+
+ if (!isNaN(hourNum) && !isNaN(minuteNum) && !isNaN(secondNum) &&
+ hourNum >= 0 && hourNum < 24 && minuteNum >= 0 && minuteNum < 60 && secondNum >= 0 && secondNum < 60) {
+ // 琛ラ綈涓や綅鏁�
+ timeResult = `${String(hourNum).padStart(2, '0')}:${String(minuteNum).padStart(2, '0')}:${String(secondNum).padStart(2, '0')}`
+ } else {
+ console.warn('鏃堕棿鏁板�艰秴鍑鸿寖鍥达紝浣跨敤榛樿鍊�00:00:00')
+ }
+ }
+
+ const finalResult = `${dateResult} ${timeResult}`
+ console.log('鏈�缁堟牸寮忓寲缁撴灉:', finalResult)
+
+ return finalResult
}
}
}
--
Gitblit v1.9.1