From 7be885d9c82b88d5bf39e06cd9486055ebe11c6b Mon Sep 17 00:00:00 2001 From: tristanliu <37809633+sevenliu1896@users.noreply.github.com> Date: Mon, 4 Nov 2024 11:21:26 +0800 Subject: [PATCH] [improvement][headless-fe] Fixed a logic error in the editing process of dimension value aliases in the question-answering dialogue of the assistant module (#1880) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [improvement][semantic-fe] Updating the logic for the fieldName. * [improvement][semantic-fe] Adjusting the position of the metrics tab. * [improvement][semantic-fe] Changing the 字段名称 to 英文名称. * [improvement][semantic-fe] Fix metric measurement deletion. * [improvement][semantic-fe] UI optimization for metric details page. * [improvement][semantic-fe] UI optimization for metric details page. * [improvement][semantic-fe] UI adjustment for metric details page. * [improvement][semantic-fe] The granularity field in the time type of model editing now supports setting it as empty. * [improvement][semantic-fe] Added field type and metric type to the metric creation options. * [improvement][semantic-fe] The organization structure selection feature has been added to the permission management. * [improvement][semantic-fe] Improved user experience for the metric list. * [improvement][semantic-fe] fix update the metric list. * [improvement][headless-fe] Added view management functionality. * [improvement][headless-fe] The view management functionality has been added. This feature allows users to create, edit, and manage different views within the system. * [improvement][headless-fe] Added model editing side effect detection. * [improvement][headless-fe] Fixed the logic error in view editing. * [improvement][headless-fe] Fixed the issue with initializing dimension associations in metric settings. * [improvement][headless-fe] Added the ability to hide the Q&A settings entry point. * [improvement][headless-fe] Fixed the issue with selecting search results in metric field creation. * [improvement][headless-fe] Added search functionality to the field list in model editing. * [improvement][headless-fe] fix the field list in model editing * [improvement][headless-fe] Restructured the data for the dimension value settings interface. * [improvement][headless-fe] Added dynamic variable functionality to model creation based on SQL scripts. * [improvement][headless-fe] Added support for passing dynamic variables as parameters in the executeSql function. * [improvement][headless-fe] Resolved the issue where users were unable to select all options for dimensions, metrics, and fields in the metric generation process. * [improvement][headless-fe] Replaced the term "view" with "dataset" * [improvement][headless-fe] Added the ability to export metrics and dimensions to a specific target. * [improvement][headless-fe] Enhanced dataset creation to support the tag mode. * [improvement][headless-fe] Added tag value setting. * [improvement][headless-fe] Optimized the tag setting system. * [improvement][headless-fe] Optimized the tag setting system. * [improvement][headless-fe] Updated the data initialization for model editing to use API requests instead. * [improvement][headless-fe] Added search functionality to model management. * [improvement][headless-fe] Removed field null validation during model editing. * [improvement][headless-fe] Updated the batch operation button component. * [improvement][headless-fe] Optimized the logic for initializing indicators in dimension value settings. * [improvement][headless-fe] Adjusted the length of the input field for model editing names. * [improvement][headless-fe] Lock the version of the @ant-design/pro-table component and replace it with @ant-design/pro-components. * [improvement][headless-fe] Optimized the style of the metrics market and tags market. * [improvement][headless-fe] The quick creation of model fields now defaults to using the "comment" field for filling. * [improvement][headless-fe] The quick creation of model fields now defaults to using the "comment" field for filling * [improvement][headless-fe] The quick creation of model fields now defaults to using the "comment" field for filling. * [improvement][headless-fe] Fixed the issue where the conditions for metric measurement creation were not being saved correctly. * [improvement][headless-fe] Default value setting for hiding dimensions. * [improvement][headless-fe] Updated the file imports in the project. * [improvement][headless-fe] Adjusted the logic for displaying the tab in the theme domain. * [improvement][headless-fe] Added term management functionality. * [improvement][headless-fe] When creating a model, the current metric operator now allows for clearance. * [improvement][headless-fe] Term management interface transformation * [improvement][headless-fe] Migrating scaffold version to @umi/max * [improvement][headless-fe] remove modle column * [improvement][headless-fe] 1.Added configuration for the large language model in the agent; 2.upgraded React version from 17 to 18; 3.modified some UI effects. * [improvement][headless-fe] Added a simplified mode to the question-answering system. * [improvement][headless-fe] remove pnpm-lock * [improvement][headless-fe] add pnpm-lock * [improvement][headless-fe] Fixed the issue with passing the modelId during initialization. * [improvement][headless-fe] Fixed the issue with abnormal comments during model creation. * [improvement][headless-fe] fix build bugs * [improvement][headless-fe] change build config * [improvement][headless-fe] route config change * [improvement][headless-fe] Optimized data updating when switching domains. * [improvement][headless-fe] css change * [improvement][semantic-fe] logo css change * [improvement][semantic-fe] system config add defaultValue support * [improvement][semantic-fe] tag mode wording change * [improvement][semantic-fe] fix metric edit page init error * [improvement][supersonic-fe] Updated the way chat projects are imported in supersonic-fe. * [improvement][chat-engine] Added a background silent mode for watching chat projects. * [improvement][supersonic-fe] fix proxy url * [improvement][headless-fe] agent setting update * [improvement][headless-fe] Agent configuration: Added connectivity testing for large models. * [improvement][headless-fe] Chat: Enabled integration with agent configuration. * [improvement][headless-fe] SQL formatter: Updated the import method. * [improvement][headless-fe] login fixed * [improvement][headless-fe] Agent: Optimized the logic for saving. * [improvement][headless-fe] Model management: Integrated into the main theme domain. * [improvement][headless-fe] Sensitivity: Added bulk modification functionality. * [improvement][headless-fe] wording change * [improvement][headless-fe] Prompt configuration: Added the ability to configure prompts. * [improvement][headless-fe] Added the ability to configure embedding models. * [improvement][headless-fe] hidden configure embedding models. * [improvement][headless-fe] Connection test prompt update for large language model settings. * [improvement][headless-fe] add memory review config * [improvement][headless-fe] Rollback of data structure for large language model configuration. * [improvement][headless-fe] Added dependency relationships between various items in system configuration. * [improvement][headless-fe] Added password parsing to the generation rules of system settings. * [improvement][headless-fe] Added slider parsing to the generation rules of system settings. * [improvement][headless-fe] Optimized the logic for initializing values in system settings. * [improvement][headless-fe] Optimized the time format * [improvement][headless-fe] Unified the SQL generation method for data sets to ensure consistency and improve efficiency. * [improvement][headless-fe] Added support for data sets with non-partitioned time fields * [improvement][headless-fe] Added support for editing time formats in dimension settings * [improvement][headless-fe] Rolled back the time parameter in the metric details page to its previous state * [improvement][headless-fe] Fixed the issue with hidden field validation when editing dimensions * [improvement][headless-fe] Added a connectivity test for large models in the system settings * [improvement][headless-fe] Changed the METRIC type in ChatContextType queryType to AGGREGATE * [improvement][headless-fe] Added query and batch delete operations to the terminology management feature * [improvement][headless-fe] Enhanced the memory management feature by adding sorting functionality and other optimization features. * [improvement][headless-fe] Resolved the compatibility issue with the backend service where the updatedAt and other time fields were not being properly converted to the updated_at format for sorting purposes. * [improvement][headless-fe] Added a configuration interface for large language models * [improvement][headless-fe] Introduced a new configuration option in the assistant module specifically for large model applications. * [improvement][headless-fe] Replaced the agentConfig with toolConfig * [improvement][headless-fe] Resolved the issue with the test connection parameters for the large model configuration. * [improvement][headless-fe] Implemented a new feature where the tool configuration types can be fetched from the backend API * [improvement][headless-fe] Updated the dimension value settings to retrieve and display values from a dictionary. * [improvement][headless-fe] Adjusted the pageSize of the dimension value settings list to 20. * [improvement][headless-fe] Introduced a revamped configuration for the large model in the assistant module. * [improvement][headless-fe] Added new functionality to the assistant's memory management system * [improvement][headless-fe] Optimized the management of CSS styles in the assistant module. * [improvement][headless] fixed build config * [improvement][headless-fe] Revamped the dimension value settings in the assistant module. * [improvement][headless-fe] Optimized the initialization process of dimension value settings in the assistant module. * [improvement][headless-fe] Added support for user confirmation mode in the question-answering dialogue of the assistant module. * [improvement][headless-be] As part of the ongoing improvements to the question-answering dialogue, the datasetId will now be included as a parameter in the API endpoint /api/chat/query/search for querying the question-answering dataset. * [improvement][headless-be] Optimized the logic for intent confirmation and streamlined mode in the question-answering dialogue of the assistant module. * [improvement][headless-be] rollback proxy config * [improvement][headless-fe] Enhanced the display of errMsg and textSummary in the question-answering dialogue of the assistant module * [improvement][headless-fe] Fixed a logic error in the editing process of dimension value aliases in the question-answering dialogue of the assistant module --------- Co-authored-by: tristanliu --- .../src/components/ChatItem/ExecuteItem.tsx | 6 +-- .../RightContent/AccessTokensModal.tsx | 1 - .../RightContent/ChangePasswordModal.tsx | 1 - .../components/CommonEditTable.tsx | 7 ++- .../components/DimensionValueSettingModal.tsx | 50 ++++++++----------- .../Entity/DimensionValueFilterTable.tsx | 5 +- .../src/pages/SemanticModel/service.ts | 6 +++ 7 files changed, 37 insertions(+), 39 deletions(-) diff --git a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx index 5968da3de..36ba2e776 100644 --- a/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx +++ b/webapp/packages/chat-sdk/src/components/ChatItem/ExecuteItem.tsx @@ -130,10 +130,8 @@ const ExecuteItem: React.FC = ({
提示:{data.queryAuthorization.message}
)} {data.textSummary && ( -

- - 总结: - +

+ 总结: {data.textSummary}

)} diff --git a/webapp/packages/supersonic-fe/src/components/RightContent/AccessTokensModal.tsx b/webapp/packages/supersonic-fe/src/components/RightContent/AccessTokensModal.tsx index d8c139286..54ddae9d5 100644 --- a/webapp/packages/supersonic-fe/src/components/RightContent/AccessTokensModal.tsx +++ b/webapp/packages/supersonic-fe/src/components/RightContent/AccessTokensModal.tsx @@ -175,7 +175,6 @@ const ChangePasswordModal = forwardRef((_, ref) => { editable={{ type: 'single', onSave: async (rowKey, data, row) => { - console.log(rowKey, data, row); await generateAccessToken({ name: data.name!, expireTime: new Date(data.expireDate!).getTime() - new Date().getTime(), diff --git a/webapp/packages/supersonic-fe/src/components/RightContent/ChangePasswordModal.tsx b/webapp/packages/supersonic-fe/src/components/RightContent/ChangePasswordModal.tsx index d0c9774ce..6125d640b 100644 --- a/webapp/packages/supersonic-fe/src/components/RightContent/ChangePasswordModal.tsx +++ b/webapp/packages/supersonic-fe/src/components/RightContent/ChangePasswordModal.tsx @@ -29,7 +29,6 @@ const ChangePasswordModal = forwardRef((_, ref) => { const handleOk = async () => { try { const values = await form.validateFields(); - console.log(values); setConfirmLoading(true); // Call API to change password const res = await changePassword({ diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonEditTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonEditTable.tsx index c82f52897..31d84925e 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonEditTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/CommonEditTable.tsx @@ -15,6 +15,7 @@ type Props = { onDataSourceChange?: (dataSource: any) => void; extenderCtrlColumn?: (text, record, _, action) => ReactNode[]; editableActionRender?: (row, config, defaultDom, actionRef) => ReactNode[]; + onRecordSave?: (record: any) => void; ref?: any; }; @@ -31,6 +32,7 @@ const CommonEditTable: React.FC = forwardRef( tableDataSource, editableProTableProps = {}, hideCtrlBtn, + onRecordSave, onDataSourceChange, extenderCtrlColumn, editableActionRender, @@ -38,7 +40,7 @@ const CommonEditTable: React.FC = forwardRef( ref: Ref, ) => { const defaultRowKey = rowKey || 'editRowId'; - const [dataSource, setDataSource] = useState(tableDataSource); + const [dataSource, setDataSource] = useState[]>(tableDataSource); const actionRef = useRef(); useImperativeHandle(ref, () => ({ @@ -127,7 +129,7 @@ const CommonEditTable: React.FC = forwardRef( tableAlertRender={() => { return false; }} - onChange={(data) => { + onChange={(data: any) => { let tableData = data; if (rowKey) { // 如果rowKey存在,将rowId复写为rowKey值 @@ -151,6 +153,7 @@ const CommonEditTable: React.FC = forwardRef( message.error('存在重复值'); return Promise.reject(); } + onRecordSave?.(row); return true; }, actionRender: actionRender, diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionValueSettingModal.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionValueSettingModal.tsx index b344629e4..da423b283 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionValueSettingModal.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/DimensionValueSettingModal.tsx @@ -7,6 +7,7 @@ import { KnowledgeConfigTypeEnum, KnowledgeConfigStatusEnum } from '../enum'; import BatchCtrlDropDownButton from '@/components/BatchCtrlDropDownButton'; import { updateDimension, + updateDimensionAliasValue, getDictData, searchKnowledgeConfigQuery, editDictConfig, @@ -160,16 +161,17 @@ const DimensionValueSettingModal: React.FC = ({ const renderFooter = () => { return ( <> - + {/* */} {menuKey === 'default' && ( <> )} @@ -307,25 +309,9 @@ const DimensionValueSettingModal: React.FC = ({ }); }; - // const tabItem = [ - // { - // label: '维度值管理', - // key: 'default', - // children: ( - - // ), - // }, - // { - // label: '维度值设置', - // key: 'setting', - // children: , - // }, - // ]; - - // const handleMenuChange = (key: string) => { - // setMenuKey(key); - // }; - + const modifyDimensionValue = async (params) => { + const { code, data } = await updateDimensionAliasValue(params); + }; return ( = ({ rowKey="value" tableDataSource={tableDataSource} columnList={columns} - onDataSourceChange={(tableData) => { - const dimValueMaps = tableData.map((item: TableDataSource) => { - return { - ...item, - }; + // onDataSourceChange={(tableData) => { + // const dimValueMaps = tableData.map((item: TableDataSource) => { + // return { + // ...item, + // }; + // }); + // setDimValueMaps(dimValueMaps); + // }} + onRecordSave={(record) => { + modifyDimensionValue({ + id: dimensionItem.id, + dimValueMaps: { + ...record, + }, }); - setDimValueMaps(dimValueMaps); }} hideCtrlBtn={['deleteBtn']} editableProTableProps={{ diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionValueFilterTable.tsx b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionValueFilterTable.tsx index b4df950e4..1f81a9c9d 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionValueFilterTable.tsx +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/components/Entity/DimensionValueFilterTable.tsx @@ -17,9 +17,8 @@ type Props = { onMenuClick?: (key: string, selectedKes: React.Key[]) => void; }; -const DimensionValueFilterModal: React.FC = ({ +const DimensionValueFilterTable: React.FC = ({ listType, - dataSource, onCancel, onMenuClick, @@ -196,4 +195,4 @@ const DimensionValueFilterModal: React.FC = ({ ); }; -export default DimensionValueFilterModal; +export default DimensionValueFilterTable; diff --git a/webapp/packages/supersonic-fe/src/pages/SemanticModel/service.ts b/webapp/packages/supersonic-fe/src/pages/SemanticModel/service.ts index f91e3dc58..852b3c5bd 100644 --- a/webapp/packages/supersonic-fe/src/pages/SemanticModel/service.ts +++ b/webapp/packages/supersonic-fe/src/pages/SemanticModel/service.ts @@ -90,6 +90,12 @@ export function updateDimension(data: any): Promise { }); } +export function updateDimensionAliasValue(data: any): Promise { + return request.post(`${process.env.API_BASE_URL}dimension/updateDimension/alias/value`, { + data, + }); +} + export function mockDimensionAlias(data: any): Promise { return request.post(`${process.env.API_BASE_URL}dimension/mockDimensionAlias`, { data,