From 4a00937a8a2b5bfc0def5d378290bba84a3d31ad Mon Sep 17 00:00:00 2001 From: qixinzhi Date: Thu, 28 Nov 2024 07:34:04 +0000 Subject: [PATCH] * [bug#57447,1h] fix bug. --- module/pivot/control.php | 9 +++++++-- module/pivot/model.php | 10 ++-------- module/pivot/ui/versions.html.php | 10 +++++++--- module/pivot/zen.php | 3 ++- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/module/pivot/control.php b/module/pivot/control.php index d15f910162..e4407f0e12 100644 --- a/module/pivot/control.php +++ b/module/pivot/control.php @@ -95,11 +95,16 @@ class pivot extends control $this->pivotZen->show($groupID, $pivotID, '', $version); - $this->loadModel('mark')->setMark(array($pivotID), 'pivot', $version, 'version'); - $marks = $this->loadModel('mark')->getNeededMarks(array($pivotID), 'pivot', 'all', 'version'); + $marks = array(); + if($pivot->builtin == 1) + { + $this->loadModel('mark')->setMark(array($pivotID), 'pivot', $version, 'version'); + $marks = $this->loadModel('mark')->getNeededMarks(array($pivotID), 'pivot', 'all', 'version'); + } $this->view->versionSpecs = $versionSpecs; $this->view->markedVersions = array_column($marks, 'version'); + $this->view->builtin = $pivot->builtin; $this->view->version = $version; $this->view->groupID = $groupID; $this->view->pivotID = $groupID; diff --git a/module/pivot/model.php b/module/pivot/model.php index 4ca27b9b37..102399d8d3 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -2947,14 +2947,8 @@ class pivotModel extends model foreach($pivots as $index => $pivot) { - if(isset($pivotMaxVersion[$pivot->id]) && $pivotMaxVersion[$pivot->id] != $pivot->version) - { - $pivots[$index]->versionChange = true; - } - else - { - $pivots[$index]->versionChange = false; - } + $maxVersion = zget($pivotMaxVersion, $pivot->id, ''); + $pivots[$index]->versionChange = $maxVersion != $pivot->version && $pivot->builtin == 1; } return $isObject ? current($pivots) : $pivots; diff --git a/module/pivot/ui/versions.html.php b/module/pivot/ui/versions.html.php index 2a4c84d32a..2a49c9dcbd 100644 --- a/module/pivot/ui/versions.html.php +++ b/module/pivot/ui/versions.html.php @@ -18,6 +18,10 @@ include_once 'show.html.php'; $versionsTableBody = array(); foreach($versionSpecs as $versionSpec) { + $isMarked = in_array($versionSpec->version, $markedVersions); + $isBuiltIn = $builtin == 1; + $isFirstVersion = $versionSpec->version == 1; + $isMainVersion = filter_var($versionSpec->version, FILTER_VALIDATE_INT) !== false; $versionsTableBody[] = h::tr ( $version == $versionSpec->version ? setClass('bg-secondary-50') : null, @@ -26,12 +30,12 @@ foreach($versionSpecs as $versionSpec) on::click("previewVersion"), setData(array('pivot' => $pivot->id, 'version' => $versionSpec->version, 'group' => $groupID)), '#' . $versionSpec->version, - !in_array($versionSpec->version, $markedVersions) ? span + span ( setData(array('pivot' => $pivot->id, 'version' => $versionSpec->version, 'group' => $groupID)), - setClass("label ghost size-sm bg-secondary-50 text-secondary-500 rounded-full"), + setClass("label ghost size-sm bg-secondary-50 text-secondary-500 rounded-full", array('hidden' => $isMarked || $isFirstVersion || ($isBuiltIn && !$isMainVersion))), $lang->pivot->newVersion - ) : null + ) ), h::td(empty($versionSpec->desc) ? $lang->pivot->noDesc : $versionSpec->desc) ); diff --git a/module/pivot/zen.php b/module/pivot/zen.php index ecf5bda7e2..0767bc9642 100644 --- a/module/pivot/zen.php +++ b/module/pivot/zen.php @@ -125,6 +125,7 @@ class pivotZen extends pivot */ protected function setNewMark(object $pivot, object $firstAction, array $builtins): void { + if($pivot->builtin == 1) return; // 版本没有改变,此时讨论是不是新透视表 if(!$pivot->versionChange) { @@ -202,7 +203,7 @@ class pivotZen extends pivot $driver = $pivot->driver; $this->pivot->isVersionChange($pivot); - if($mark) + if($mark && $pivot->builtin == 1) { $markVersion = $pivot->versionChange ? $this->pivot->getMaxVersion($pivot->id) : $pivot->version;