diff --git a/app/Models/ProjectTask.php b/app/Models/ProjectTask.php index c10162f2b..300806b24 100644 --- a/app/Models/ProjectTask.php +++ b/app/Models/ProjectTask.php @@ -702,7 +702,7 @@ class ProjectTask extends AbstractModel $this->start_at = null; $this->end_at = null; $times = $data['times']; - list($start, $end) = is_string($times) ? explode(",", $times) : (is_array($times) ? $times : []); + list($start, $end, $desc) = is_string($times) ? explode(",", $times) : (is_array($times) ? $times : []); if (Base::isDate($start) && Base::isDate($end) && $start != $end) { $start_at = Carbon::parse($start); $end_at = Carbon::parse($end); @@ -763,7 +763,7 @@ class ProjectTask extends AbstractModel }); } $newStringAt = $this->start_at ? ($this->start_at->toDateTimeString() . '~' . $this->end_at->toDateTimeString()) : ''; - $this->addLog("修改{任务}时间", [ + $this->addLog("修改{任务}时间" . ($desc ? "(备注:{$desc})" : ""), [ 'change' => [$oldStringAt, $newStringAt] ]); diff --git a/resources/assets/js/pages/manage/components/TaskDetail.vue b/resources/assets/js/pages/manage/components/TaskDetail.vue index 9ed045505..c1c666c7d 100644 --- a/resources/assets/js/pages/manage/components/TaskDetail.vue +++ b/resources/assets/js/pages/manage/components/TaskDetail.vue @@ -922,7 +922,24 @@ export default { break; case 'times': - this.$set(this.taskDetail, 'times', [params.start_at, params.end_at]) + if (this.taskDetail.start_at + && (Math.abs($A.Time(this.taskDetail.start_at) - $A.Time(params.start_at)) > 60 || Math.abs($A.Time(this.taskDetail.end_at) - $A.Time(params.end_at)) > 60) + && typeof params.desc === "undefined") { + $A.modalInput({ + title: `修改任务时间`, + placeholder: `请输入修改备注`, + okText: "确定", + onOk: (desc) => { + if (!desc) { + return `请输入修改备注` + } + this.updateData("times", Object.assign(params, {desc})) + return false + }, + }); + return; + } + this.$set(this.taskDetail, 'times', [params.start_at, params.end_at, params.desc]) break; case 'loop':