@icos-desktop/react-components 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,7 +5,7 @@ import Relation from './components/Relation/index.js';
5
5
  import styles from './SenseDetail.module.less.js';
6
6
 
7
7
  var SenseDetail = function (props) {
8
- var senseGlobalCode = props.senseGlobalCode, topMenuConfig = props.topMenuConfig, enableTag = props.enableTag, extraTopMenu = props.extraTopMenu, hideBook = props.hideBook, onClickSense = props.onClickSense, onGetSenseDetail = props.onGetSenseDetail, tabsBgColor = props.tabsBgColor, contentCardNameColor = props.contentCardNameColor, contentCardContentColor = props.contentCardContentColor, contentCardBorderColor = props.contentCardBorderColor, contentCardBgColor = props.contentCardBgColor, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, customVideoPlayer = props.customVideoPlayer;
8
+ var senseGlobalCode = props.senseGlobalCode, topMenuConfig = props.topMenuConfig, enableTag = props.enableTag, extraTopMenu = props.extraTopMenu, hideBook = props.hideBook, onClickSense = props.onClickSense, onGetSenseDetail = props.onGetSenseDetail, tabsBgColor = props.tabsBgColor, contentCardNameColor = props.contentCardNameColor, contentCardContentColor = props.contentCardContentColor, contentCardBorderColor = props.contentCardBorderColor, contentCardBgColor = props.contentCardBgColor, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, renderValue = props.renderValue, customVideoPlayer = props.customVideoPlayer, extraCollapseItems = props.extraCollapseItems;
9
9
  var tabItems = (function () {
10
10
  var list = [];
11
11
  if (!(topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length)) {
@@ -15,7 +15,7 @@ var SenseDetail = function (props) {
15
15
  list.push({
16
16
  key: 'base',
17
17
  label: '基础信息',
18
- children: (React__default.createElement(Base, { senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, customVideoPlayer: customVideoPlayer })),
18
+ children: (React__default.createElement(Base, { senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue, customVideoPlayer: customVideoPlayer, extraCollapseItems: extraCollapseItems })),
19
19
  });
20
20
  }
21
21
  if (topMenuConfig.includes('relation')) {
@@ -42,7 +42,7 @@ var SenseDetail = function (props) {
42
42
  document.documentElement.style.setProperty('--sense-detail-card-bg-color', contentCardBgColor ? contentCardBgColor : 'rgba(60, 240, 225, 0.08)');
43
43
  }, []);
44
44
  return (React__default.createElement("div", { className: styles.container },
45
- React__default.createElement("div", { className: styles.tabs }, (topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length) ? (React__default.createElement(Tabs, { items: tabItems, defaultActiveKey: "base", className: "senseDetailTab" })) : (React__default.createElement(Base, { senseGlobalCode: senseGlobalCode, enableTag: enableTag, customVideoPlayer: customVideoPlayer })))));
45
+ React__default.createElement("div", { className: styles.tabs }, (topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length) ? (React__default.createElement(Tabs, { items: tabItems, defaultActiveKey: "base", className: "senseDetailTab" })) : (React__default.createElement(Base, { senseGlobalCode: senseGlobalCode, enableTag: enableTag, senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue, customVideoPlayer: customVideoPlayer, extraCollapseItems: extraCollapseItems })))));
46
46
  };
47
47
 
48
48
  export { SenseDetail as default };
@@ -1,4 +1,7 @@
1
+ import type { CollapseProps } from 'antd';
2
+ import type { ReactNode } from 'react';
1
3
  import React from 'react';
4
+ import type { RenderItem } from '../SenseInfo/components/Render';
2
5
  export interface SenseDetailProps {
3
6
  /**
4
7
  * 实体记录唯一标识
@@ -70,6 +73,18 @@ export interface SenseDetailProps {
70
73
  * 表格边框样式
71
74
  */
72
75
  senseInfoBorderStyle?: string;
76
+ /**
77
+ * 按字段 ID 隐藏属性信息中的字段(与后端 `hidden`、{@link isFieldHidden} 合并生效)
78
+ */
79
+ hideFields?: string[];
80
+ /**
81
+ * 自定义是否隐藏某条属性字段(与后端 `hidden`、{@link hideFields} 合并生效)
82
+ */
83
+ isFieldHidden?: (item: RenderItem) => boolean;
84
+ /**
85
+ * 自定义属性信息字段值渲染;返回 `null` 或 `undefined` 时使用内置按控件类型的渲染逻辑
86
+ */
87
+ renderValue?: (item: RenderItem) => ReactNode | null | undefined;
73
88
  /**
74
89
  * 自定义视频播放器
75
90
  */
@@ -77,4 +92,8 @@ export interface SenseDetailProps {
77
92
  senseGlobalCode: string;
78
93
  videoDataConfig: any;
79
94
  }) => React.ReactNode);
95
+ /**
96
+ * 扩展折叠面板项,追加在基础信息区域现有面板(属性信息 / 内容信息 / 实时内容)之后
97
+ */
98
+ extraCollapseItems?: CollapseProps['items'];
80
99
  }
@@ -1,4 +1,6 @@
1
+ import { CollapseProps } from 'antd';
1
2
  import React from 'react';
3
+ import type { RenderItem } from '@/components/SenseInfo/components/Render';
2
4
  interface BaseProps {
3
5
  senseGlobalCode: string;
4
6
  onGetSenseDetail?: (data: any) => void;
@@ -7,10 +9,14 @@ interface BaseProps {
7
9
  senseInfoBorderColor?: string;
8
10
  senseInfoBorderWidth?: number;
9
11
  senseInfoBorderStyle?: string;
12
+ renderValue?: (item: RenderItem) => React.ReactNode | null | undefined;
13
+ hideFields?: string[];
14
+ isFieldHidden?: (item: RenderItem) => boolean;
10
15
  customVideoPlayer?: React.ReactNode | ((params: {
11
16
  senseGlobalCode: string;
12
17
  videoDataConfig: any;
13
18
  }) => React.ReactNode);
19
+ extraCollapseItems?: CollapseProps['items'];
14
20
  }
15
21
  declare const Base: React.FC<BaseProps>;
16
22
  export default Base;
@@ -12,7 +12,7 @@ var useToken = theme.useToken;
12
12
  var Base = function (props) {
13
13
  var _a;
14
14
  var token = useToken().token;
15
- var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, customVideoPlayer = props.customVideoPlayer;
15
+ var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, renderValue = props.renderValue, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, customVideoPlayer = props.customVideoPlayer, extraCollapseItems = props.extraCollapseItems;
16
16
  var data = useRequest(function () { return __awaiter(void 0, void 0, void 0, function () {
17
17
  return __generator(this, function (_a) {
18
18
  switch (_a.label) {
@@ -30,7 +30,7 @@ var Base = function (props) {
30
30
  arr.push({
31
31
  key: 'SenseInfo',
32
32
  label: '属性信息',
33
- children: (React__default.createElement(SenseInfo, { textColor: senseInfoTextColor, borderColor: senseInfoBorderColor, borderWidth: senseInfoBorderWidth, borderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail })),
33
+ children: (React__default.createElement(SenseInfo, { textColor: senseInfoTextColor, borderColor: senseInfoBorderColor, borderWidth: senseInfoBorderWidth, borderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue })),
34
34
  });
35
35
  // 内容信息
36
36
  if (data && !isEmpty(data.entityContentTableConfigs)) {
@@ -48,6 +48,9 @@ var Base = function (props) {
48
48
  children: customVideoPlayer ? (typeof customVideoPlayer === 'function' ? (customVideoPlayer({ senseGlobalCode: senseGlobalCode, videoDataConfig: data.videoDataConfig })) : (customVideoPlayer)) : (React__default.createElement(VideoPlayer, __assign({ senseGlobalCode: senseGlobalCode }, data.videoDataConfig))),
49
49
  });
50
50
  }
51
+ if (extraCollapseItems === null || extraCollapseItems === void 0 ? void 0 : extraCollapseItems.length) {
52
+ arr.push.apply(arr, extraCollapseItems);
53
+ }
51
54
  return arr;
52
55
  };
53
56
  useEffect(function () {
@@ -6,7 +6,7 @@ import Render from './components/Render/index.js';
6
6
  import styles from './SenseInfo.module.less.js';
7
7
 
8
8
  var SenseInfo = function (props) {
9
- var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, textColor = props.textColor, borderColor = props.borderColor, borderWidth = props.borderWidth, borderStyle = props.borderStyle;
9
+ var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, textColor = props.textColor, borderColor = props.borderColor, borderWidth = props.borderWidth, borderStyle = props.borderStyle, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, renderValue = props.renderValue;
10
10
  var data = useRequest(function () { return __awaiter(void 0, void 0, void 0, function () {
11
11
  var res, renderData;
12
12
  var _a;
@@ -38,7 +38,7 @@ var SenseInfo = function (props) {
38
38
  return null;
39
39
  }
40
40
  return (React__default.createElement("div", { className: styles.container },
41
- React__default.createElement(Render, { data: data, textColor: textColor, borderColor: borderColor, borderWidth: borderWidth, borderStyle: borderStyle })));
41
+ React__default.createElement(Render, { data: data, textColor: textColor, borderColor: borderColor, borderWidth: borderWidth, borderStyle: borderStyle, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue })));
42
42
  };
43
43
 
44
44
  export { SenseInfo as default };
@@ -1,3 +1,5 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { RenderItem } from './components/Render';
1
3
  export interface SenseInfoProps {
2
4
  /**
3
5
  * 实体编码
@@ -27,4 +29,16 @@ export interface SenseInfoProps {
27
29
  * 表格边框样式
28
30
  */
29
31
  borderStyle?: string;
32
+ /**
33
+ * 按字段 ID 隐藏字段(与后端 `hidden`、{@link isFieldHidden} 合并生效)
34
+ */
35
+ hideFields?: string[];
36
+ /**
37
+ * 自定义是否隐藏某条字段(与后端 `hidden`、{@link hideFields} 合并生效)
38
+ */
39
+ isFieldHidden?: (item: RenderItem) => boolean;
40
+ /**
41
+ * 自定义字段值渲染;返回 `null` 或 `undefined` 时使用内置按控件类型的渲染逻辑
42
+ */
43
+ renderValue?: (item: RenderItem) => ReactNode | null | undefined;
30
44
  }
@@ -6,6 +6,18 @@ export interface RenderProps {
6
6
  borderColor?: string;
7
7
  borderWidth?: number | string;
8
8
  borderStyle?: string;
9
+ /**
10
+ * 按字段 ID 隐藏字段(与后端 `hidden`、{@link isFieldHidden} 合并生效)
11
+ */
12
+ hideFields?: string[];
13
+ /**
14
+ * 自定义是否隐藏某条字段(与后端 `hidden`、{@link hideFields} 合并生效)
15
+ */
16
+ isFieldHidden?: (item: RenderItem) => boolean;
17
+ /**
18
+ * 自定义字段值渲染;返回 `null` 或 `undefined` 时使用内置按控件类型的渲染逻辑
19
+ */
20
+ renderValue?: (item: RenderItem) => React.ReactNode | null | undefined;
9
21
  }
10
22
  declare const Render: React.FC<RenderProps>;
11
23
  export default Render;
@@ -9,11 +9,10 @@ import styles from './index.module.less.js';
9
9
 
10
10
  var useToken = theme.useToken;
11
11
  var Render = function (_a) {
12
- var data = _a.data, textColor = _a.textColor;
12
+ var data = _a.data, textColor = _a.textColor, hideFields = _a.hideFields, isFieldHidden = _a.isFieldHidden, customRenderValue = _a.renderValue;
13
13
  var token = useToken().token;
14
14
  var _b = useMeeting(), openMeeting = _b.openMeeting, contextHolder = _b.contextHolder;
15
- // 渲染值
16
- var renderValue = function (item) {
15
+ var defaultRenderValue = function (item) {
17
16
  var widgetType = item.widgetType, fieldValue = item.fieldValue;
18
17
  // 证件号
19
18
  if (widgetType === 'IdCardWidget') {
@@ -68,6 +67,15 @@ var Render = function (_a) {
68
67
  }
69
68
  return item.fieldValue || '-';
70
69
  };
70
+ var renderValue = function (item) {
71
+ if (customRenderValue) {
72
+ var out = customRenderValue(item);
73
+ if (out !== null && out !== undefined) {
74
+ return out;
75
+ }
76
+ }
77
+ return defaultRenderValue(item);
78
+ };
71
79
  // 跳转
72
80
  var handleJump = function (linkEntityCode) {
73
81
  console.log(linkEntityCode);
@@ -82,6 +90,9 @@ var Render = function (_a) {
82
90
  if (!data) {
83
91
  return null;
84
92
  }
93
+ var shouldHideField = function (item) {
94
+ return Boolean(item.hidden || (hideFields === null || hideFields === void 0 ? void 0 : hideFields.includes(item.fieldId)) || (isFieldHidden && isFieldHidden(item)));
95
+ };
85
96
  // const bottomStyle = {
86
97
  // borderWidth: borderWidth ?? 1,
87
98
  // borderColor: borderColor ?? 'rgba(255, 255, 255, 0.1)',
@@ -89,7 +100,7 @@ var Render = function (_a) {
89
100
  // };
90
101
  return (React__default.createElement("div", { className: styles.container },
91
102
  data.map(function (item) {
92
- return item.hidden ? null : (React__default.createElement("div", { key: item.fieldId, className: styles.item, style: { color: textColor ? textColor : '#fff' } },
103
+ return shouldHideField(item) ? null : (React__default.createElement("div", { key: item.fieldId, className: styles.item, style: { color: textColor ? textColor : '#fff' } },
93
104
  React__default.createElement("div", { className: styles.label, style: {
94
105
  backgroundColor: token.colorPrimaryBg,
95
106
  color: token.colorTextHeading,
package/dist/es/index.js CHANGED
@@ -48,9 +48,9 @@ export { default as CcosVideoPlayer } from './components/VideoPlayer/ccos.js';
48
48
  export { setCconfig as config } from './utils/config.js';
49
49
 
50
50
  try {
51
- window._ICOS_DESKTOP_VERSION_ = JSON.parse('{"version":"3.0.1","branch":"release_v3.0.0","buildDate":"2025-12-04 11:21:58"}');
51
+ window._ICOS_DESKTOP_VERSION_ = JSON.parse('{"version":"3.0.3","branch":"release_v3.0.0","buildDate":"2026-04-01 19:52:52"}');
52
52
  }
53
53
  catch (err) {
54
54
  console.warn(err);
55
- window._ICOS_DESKTOP_VERSION_ = '{"version":"3.0.1","branch":"release_v3.0.0","buildDate":"2025-12-04 11:21:58"}';
55
+ window._ICOS_DESKTOP_VERSION_ = '{"version":"3.0.3","branch":"release_v3.0.0","buildDate":"2026-04-01 19:52:52"}';
56
56
  }
@@ -7314,11 +7314,10 @@ styleInject(css_248z$o);
7314
7314
 
7315
7315
  var useToken$6 = theme.useToken;
7316
7316
  var Render = function (_a) {
7317
- var data = _a.data, textColor = _a.textColor;
7317
+ var data = _a.data, textColor = _a.textColor, hideFields = _a.hideFields, isFieldHidden = _a.isFieldHidden, customRenderValue = _a.renderValue;
7318
7318
  var token = useToken$6().token;
7319
7319
  var _b = useMeeting(), openMeeting = _b.openMeeting, contextHolder = _b.contextHolder;
7320
- // 渲染值
7321
- var renderValue = function (item) {
7320
+ var defaultRenderValue = function (item) {
7322
7321
  var widgetType = item.widgetType, fieldValue = item.fieldValue;
7323
7322
  // 证件号
7324
7323
  if (widgetType === 'IdCardWidget') {
@@ -7373,6 +7372,15 @@ var Render = function (_a) {
7373
7372
  }
7374
7373
  return item.fieldValue || '-';
7375
7374
  };
7375
+ var renderValue = function (item) {
7376
+ if (customRenderValue) {
7377
+ var out = customRenderValue(item);
7378
+ if (out !== null && out !== undefined) {
7379
+ return out;
7380
+ }
7381
+ }
7382
+ return defaultRenderValue(item);
7383
+ };
7376
7384
  // 跳转
7377
7385
  var handleJump = function (linkEntityCode) {
7378
7386
  console.log(linkEntityCode);
@@ -7387,6 +7395,9 @@ var Render = function (_a) {
7387
7395
  if (!data) {
7388
7396
  return null;
7389
7397
  }
7398
+ var shouldHideField = function (item) {
7399
+ return Boolean(item.hidden || (hideFields === null || hideFields === void 0 ? void 0 : hideFields.includes(item.fieldId)) || (isFieldHidden && isFieldHidden(item)));
7400
+ };
7390
7401
  // const bottomStyle = {
7391
7402
  // borderWidth: borderWidth ?? 1,
7392
7403
  // borderColor: borderColor ?? 'rgba(255, 255, 255, 0.1)',
@@ -7394,7 +7405,7 @@ var Render = function (_a) {
7394
7405
  // };
7395
7406
  return (React__default.createElement("div", { className: styles$o.container },
7396
7407
  data.map(function (item) {
7397
- return item.hidden ? null : (React__default.createElement("div", { key: item.fieldId, className: styles$o.item, style: { color: textColor ? textColor : '#fff' } },
7408
+ return shouldHideField(item) ? null : (React__default.createElement("div", { key: item.fieldId, className: styles$o.item, style: { color: textColor ? textColor : '#fff' } },
7398
7409
  React__default.createElement("div", { className: styles$o.label, style: {
7399
7410
  backgroundColor: token.colorPrimaryBg,
7400
7411
  color: token.colorTextHeading,
@@ -7413,7 +7424,7 @@ var styles$n = {"container":"SenseInfo-module_container__BjxkT"};
7413
7424
  styleInject(css_248z$n);
7414
7425
 
7415
7426
  var SenseInfo = function (props) {
7416
- var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, textColor = props.textColor, borderColor = props.borderColor, borderWidth = props.borderWidth, borderStyle = props.borderStyle;
7427
+ var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, textColor = props.textColor, borderColor = props.borderColor, borderWidth = props.borderWidth, borderStyle = props.borderStyle, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, renderValue = props.renderValue;
7417
7428
  var data = useRequest(function () { return __awaiter(void 0, void 0, void 0, function () {
7418
7429
  var res, renderData;
7419
7430
  var _a;
@@ -7445,7 +7456,7 @@ var SenseInfo = function (props) {
7445
7456
  return null;
7446
7457
  }
7447
7458
  return (React__default.createElement("div", { className: styles$n.container },
7448
- React__default.createElement(Render, { data: data, textColor: textColor, borderColor: borderColor, borderWidth: borderWidth, borderStyle: borderStyle })));
7459
+ React__default.createElement(Render, { data: data, textColor: textColor, borderColor: borderColor, borderWidth: borderWidth, borderStyle: borderStyle, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue })));
7449
7460
  };
7450
7461
 
7451
7462
  var _path$o, _defs$3;
@@ -7985,7 +7996,7 @@ var useToken$4 = theme.useToken;
7985
7996
  var Base = function (props) {
7986
7997
  var _a;
7987
7998
  var token = useToken$4().token;
7988
- var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, customVideoPlayer = props.customVideoPlayer;
7999
+ var senseGlobalCode = props.senseGlobalCode, onGetSenseDetail = props.onGetSenseDetail, enableTag = props.enableTag, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, renderValue = props.renderValue, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, customVideoPlayer = props.customVideoPlayer, extraCollapseItems = props.extraCollapseItems;
7989
8000
  var data = useRequest(function () { return __awaiter(void 0, void 0, void 0, function () {
7990
8001
  return __generator(this, function (_a) {
7991
8002
  switch (_a.label) {
@@ -8003,7 +8014,7 @@ var Base = function (props) {
8003
8014
  arr.push({
8004
8015
  key: 'SenseInfo',
8005
8016
  label: '属性信息',
8006
- children: (React__default.createElement(SenseInfo, { textColor: senseInfoTextColor, borderColor: senseInfoBorderColor, borderWidth: senseInfoBorderWidth, borderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail })),
8017
+ children: (React__default.createElement(SenseInfo, { textColor: senseInfoTextColor, borderColor: senseInfoBorderColor, borderWidth: senseInfoBorderWidth, borderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue })),
8007
8018
  });
8008
8019
  // 内容信息
8009
8020
  if (data && !isEmpty(data.entityContentTableConfigs)) {
@@ -8021,6 +8032,9 @@ var Base = function (props) {
8021
8032
  children: customVideoPlayer ? (typeof customVideoPlayer === 'function' ? (customVideoPlayer({ senseGlobalCode: senseGlobalCode, videoDataConfig: data.videoDataConfig })) : (customVideoPlayer)) : (React__default.createElement(VideoPlayer, __assign({ senseGlobalCode: senseGlobalCode }, data.videoDataConfig))),
8022
8033
  });
8023
8034
  }
8035
+ if (extraCollapseItems === null || extraCollapseItems === void 0 ? void 0 : extraCollapseItems.length) {
8036
+ arr.push.apply(arr, extraCollapseItems);
8037
+ }
8024
8038
  return arr;
8025
8039
  };
8026
8040
  useEffect(function () {
@@ -8097,7 +8111,7 @@ var styles$f = {"container":"SenseDetail-module_container__lF2vB","tabs":"SenseD
8097
8111
  styleInject(css_248z$f);
8098
8112
 
8099
8113
  var SenseDetail = function (props) {
8100
- var senseGlobalCode = props.senseGlobalCode, topMenuConfig = props.topMenuConfig, enableTag = props.enableTag, extraTopMenu = props.extraTopMenu, hideBook = props.hideBook, onClickSense = props.onClickSense, onGetSenseDetail = props.onGetSenseDetail, tabsBgColor = props.tabsBgColor, contentCardNameColor = props.contentCardNameColor, contentCardContentColor = props.contentCardContentColor, contentCardBorderColor = props.contentCardBorderColor, contentCardBgColor = props.contentCardBgColor, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, customVideoPlayer = props.customVideoPlayer;
8114
+ var senseGlobalCode = props.senseGlobalCode, topMenuConfig = props.topMenuConfig, enableTag = props.enableTag, extraTopMenu = props.extraTopMenu, hideBook = props.hideBook, onClickSense = props.onClickSense, onGetSenseDetail = props.onGetSenseDetail, tabsBgColor = props.tabsBgColor, contentCardNameColor = props.contentCardNameColor, contentCardContentColor = props.contentCardContentColor, contentCardBorderColor = props.contentCardBorderColor, contentCardBgColor = props.contentCardBgColor, senseInfoTextColor = props.senseInfoTextColor, senseInfoBorderColor = props.senseInfoBorderColor, senseInfoBorderWidth = props.senseInfoBorderWidth, senseInfoBorderStyle = props.senseInfoBorderStyle, hideFields = props.hideFields, isFieldHidden = props.isFieldHidden, renderValue = props.renderValue, customVideoPlayer = props.customVideoPlayer, extraCollapseItems = props.extraCollapseItems;
8101
8115
  var tabItems = (function () {
8102
8116
  var list = [];
8103
8117
  if (!(topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length)) {
@@ -8107,7 +8121,7 @@ var SenseDetail = function (props) {
8107
8121
  list.push({
8108
8122
  key: 'base',
8109
8123
  label: '基础信息',
8110
- children: (React__default.createElement(Base, { senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, customVideoPlayer: customVideoPlayer })),
8124
+ children: (React__default.createElement(Base, { senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, senseGlobalCode: senseGlobalCode, enableTag: enableTag, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue, customVideoPlayer: customVideoPlayer, extraCollapseItems: extraCollapseItems })),
8111
8125
  });
8112
8126
  }
8113
8127
  if (topMenuConfig.includes('relation')) {
@@ -8134,7 +8148,7 @@ var SenseDetail = function (props) {
8134
8148
  document.documentElement.style.setProperty('--sense-detail-card-bg-color', contentCardBgColor ? contentCardBgColor : 'rgba(60, 240, 225, 0.08)');
8135
8149
  }, []);
8136
8150
  return (React__default.createElement("div", { className: styles$f.container },
8137
- React__default.createElement("div", { className: styles$f.tabs }, (topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length) ? (React__default.createElement(Tabs$1, { items: tabItems, defaultActiveKey: "base", className: "senseDetailTab" })) : (React__default.createElement(Base, { senseGlobalCode: senseGlobalCode, enableTag: enableTag, customVideoPlayer: customVideoPlayer })))));
8151
+ React__default.createElement("div", { className: styles$f.tabs }, (topMenuConfig === null || topMenuConfig === void 0 ? void 0 : topMenuConfig.length) ? (React__default.createElement(Tabs$1, { items: tabItems, defaultActiveKey: "base", className: "senseDetailTab" })) : (React__default.createElement(Base, { senseGlobalCode: senseGlobalCode, enableTag: enableTag, senseInfoTextColor: senseInfoTextColor, senseInfoBorderColor: senseInfoBorderColor, senseInfoBorderWidth: senseInfoBorderWidth, senseInfoBorderStyle: senseInfoBorderStyle, onGetSenseDetail: onGetSenseDetail, hideFields: hideFields, isFieldHidden: isFieldHidden, renderValue: renderValue, customVideoPlayer: customVideoPlayer, extraCollapseItems: extraCollapseItems })))));
8138
8152
  };
8139
8153
 
8140
8154
  var settings$i = {
@@ -12949,11 +12963,11 @@ var CcosVideoPlayer = function (props) {
12949
12963
  CcosVideoPlayer.settings = settings$1;
12950
12964
 
12951
12965
  try {
12952
- window._ICOS_DESKTOP_VERSION_ = JSON.parse('{"version":"3.0.1","branch":"release_v3.0.0","buildDate":"2025-12-04 11:21:58"}');
12966
+ window._ICOS_DESKTOP_VERSION_ = JSON.parse('{"version":"3.0.3","branch":"release_v3.0.0","buildDate":"2026-04-01 19:52:52"}');
12953
12967
  }
12954
12968
  catch (err) {
12955
12969
  console.warn(err);
12956
- window._ICOS_DESKTOP_VERSION_ = '{"version":"3.0.1","branch":"release_v3.0.0","buildDate":"2025-12-04 11:21:58"}';
12970
+ window._ICOS_DESKTOP_VERSION_ = '{"version":"3.0.3","branch":"release_v3.0.0","buildDate":"2026-04-01 19:52:52"}';
12957
12971
  }
12958
12972
 
12959
12973
  export { BookDetail, BookGroupImport, BookGroupTable, BookImport, BookInfo, BookSelect, BookTable, CcosBookDetail, CcosImportTable, CcosSenseContentTable, CcosSenseCreate, CcosSenseDetail, CcosSenseEdit, CcosSenseFullTable, CcosSenseManager, CcosSenseSearch, CcosSenseTree, CcosSenseView, CcosTagConfig, CcosVideoControl, CcosVideoPlayer, EntityClassFilter, EntityClassTreeSelect, ImportTable, Modal, OrgTreeSelect, PersonSelector, ProTable$1 as ProTable, RegionCascader, RegionTreeSelect, RelationGraph, SenseContentTable, SenseCreate, SenseDetail, SenseEdit, SenseForm, SenseFullTable, SenseInfo, SenseManager, SenseSearch, SenseTable, SenseTree, SenseView, TagConfig, TagTreeSelect, VideoControl, VideoPlayer, setCconfig as config };