From 80cd4baff418a113d69ba233d13208e445d379ab Mon Sep 17 00:00:00 2001 From: liumengyi Date: Fri, 9 May 2025 10:01:31 +0800 Subject: [PATCH] * [bug#62331,done,1h] get original field for pivot. --- module/pivot/control.php | 1 - module/pivot/model.php | 3 ++- module/pivot/zen.php | 11 ++++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/module/pivot/control.php b/module/pivot/control.php index 364c5be06e..e4407f0e12 100644 --- a/module/pivot/control.php +++ b/module/pivot/control.php @@ -168,7 +168,6 @@ class pivot extends control $saveAs = zget($_POST, 'saveAs', ''); $sql = zget($_POST, 'sql', ''); - if(strpos($field, '_') !== false) $field = substr($field, strpos($field, '_') + 1); $options = $this->pivot->getSysOptions($type, $object, $field, $sql, $saveAs); /* 根据关键字过滤选项。*/ diff --git a/module/pivot/model.php b/module/pivot/model.php index 31c4c3377b..3c2e36c4f0 100644 --- a/module/pivot/model.php +++ b/module/pivot/model.php @@ -2305,7 +2305,8 @@ class pivotModel extends model static $workflowFields = array(); if(!isset($workflowFields[$object])) $workflowFields[$object] = $this->loadModel('workflowfield')->getList($object); - $fieldObject = zget($workflowFields[$object], $field, null); + $originalField = zget($_POST, 'originalField', $field); + $fieldObject = zget($workflowFields[$object], $originalField, null); if($fieldObject) { if($fieldObject->control == 'multi-select') $this->config->dataview->multipleMappingFields[] = $object . '-' . $field; diff --git a/module/pivot/zen.php b/module/pivot/zen.php index cfa6315594..a57be88353 100644 --- a/module/pivot/zen.php +++ b/module/pivot/zen.php @@ -514,11 +514,12 @@ class pivotZen extends pivot $fieldSetting = (array)$fieldSetting; $fieldType = $fieldSetting['type']; - $data['type'] = $fieldType; - $data['object'] = $fieldSetting['object']; - $data['field'] = $fieldType != 'options' && $fieldType != 'object' ? $field : $fieldSetting['field']; - $data['saveAs'] = zget($filter, 'saveAs', $field); - $data['sql'] = $sql; + $data['type'] = $fieldType; + $data['object'] = $fieldSetting['object']; + $data['field'] = $fieldType != 'options' && $fieldType != 'object' ? $field : $fieldSetting['field']; + $data['saveAs'] = zget($filter, 'saveAs', $field); + $data['sql'] = $sql; + $data['originalField'] = zget($fieldSetting, 'field', $data['field']); } return (object)array('url' => $url, 'method' => 'post', 'data' => $data);