@hkyhy/marsun-components-core 0.1.131 → 0.1.133

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.
Files changed (87) hide show
  1. package/README.md +2 -0
  2. package/dist/_virtual/index.js +5 -5
  3. package/dist/_virtual/index2.js +5 -5
  4. package/dist/_virtual/index3.js +2 -2
  5. package/dist/_virtual/index4.js +5 -2
  6. package/dist/_virtual/index4.js.map +1 -1
  7. package/dist/_virtual/index5.js +2 -5
  8. package/dist/_virtual/index5.js.map +1 -1
  9. package/dist/_virtual/index6.js +2 -2
  10. package/dist/_virtual/index7.js +2 -2
  11. package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.d.ts +22 -0
  12. package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.js +14 -0
  13. package/dist/components/Disposition/DispositionBar/formatDispositionStatusBadge.js.map +1 -0
  14. package/dist/components/Disposition/DispositionBar/index.js +6 -6
  15. package/dist/components/Disposition/DispositionBar/index.js.map +1 -1
  16. package/dist/components/Disposition/DispositionBar/style.module.scss.js +6 -6
  17. package/dist/components/Disposition/index.d.ts +2 -0
  18. package/dist/components/Tools/ActionTracking/List/ActionListTable.module.scss.js +4 -4
  19. package/dist/components/Tools/ActionTracking/List/listTypes.d.ts +5 -0
  20. package/dist/components/Tools/ActionTracking/index.d.ts +2 -1
  21. package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.d.ts +18 -0
  22. package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.js +11 -0
  23. package/dist/components/Tools/ActionTracking/utils/actionExecuteGate.js.map +1 -0
  24. package/dist/components/Tools/ActionTracking/utils/index.d.ts +2 -0
  25. package/dist/components/Tools/Inbox/InboxBell/style.module.scss.js +56 -56
  26. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.d.ts +5 -0
  27. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js +25 -12
  28. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.js.map +1 -1
  29. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js +82 -78
  30. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/Modal/TemplateFormModal.js.map +1 -1
  31. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.d.ts +5 -0
  32. package/dist/components/Tools/MessageCenter/MessageTemplateAdmin/types.js.map +1 -1
  33. package/dist/components/Tools/index.d.ts +2 -2
  34. package/dist/components/index.d.ts +2 -2
  35. package/dist/index.d.ts +2 -2
  36. package/dist/index.js +210 -206
  37. package/dist/index.js.map +1 -1
  38. package/dist/marsun-components-core.css +1 -1
  39. package/dist/node_modules/@ant-design/charts-util/es/react/render.js +27 -27
  40. package/dist/node_modules/@ant-design/charts-util/es/react/render.js.map +1 -1
  41. package/dist/node_modules/@antv/component/node_modules/@antv/scale/esm/utils/color.js +1 -1
  42. package/dist/node_modules/@antv/coord/node_modules/@antv/scale/esm/utils/color.js +1 -1
  43. package/dist/node_modules/@antv/g-lite/dist/index.esm.js +1 -1
  44. package/dist/node_modules/@antv/g2/esm/data/kde.js +1 -1
  45. package/dist/node_modules/@antv/g6-extension-react/esm/react-node/render18.js +19 -19
  46. package/dist/node_modules/@antv/g6-extension-react/esm/react-node/render18.js.map +1 -1
  47. package/dist/node_modules/@antv/scale/esm/utils/color.js +1 -1
  48. package/dist/node_modules/color-string/index.js +1 -1
  49. package/dist/node_modules/eventemitter3/index.js +1 -1
  50. package/dist/node_modules/eventemitter3/index2.js +1 -1
  51. package/dist/node_modules/pdfast/src/index.js +1 -1
  52. package/dist/node_modules/simple-swizzle/index.js +1 -1
  53. package/dist/styles/global.css +1 -1
  54. package/dist/utils/ensureDayjsZhCn.js +1 -1
  55. package/package.json +1 -1
  56. package/dist/_virtual/client.js +0 -28
  57. package/dist/_virtual/client.js.map +0 -1
  58. package/dist/_virtual/client2.js +0 -5
  59. package/dist/_virtual/client2.js.map +0 -1
  60. package/dist/_virtual/index8.js +0 -5
  61. package/dist/_virtual/index8.js.map +0 -1
  62. package/dist/_virtual/react-dom-client.development.js +0 -5
  63. package/dist/_virtual/react-dom-client.development.js.map +0 -1
  64. package/dist/_virtual/react-dom-client.production.js +0 -5
  65. package/dist/_virtual/react-dom-client.production.js.map +0 -1
  66. package/dist/_virtual/scheduler.development.js +0 -5
  67. package/dist/_virtual/scheduler.development.js.map +0 -1
  68. package/dist/_virtual/scheduler.production.js +0 -5
  69. package/dist/_virtual/scheduler.production.js.map +0 -1
  70. package/dist/_virtual/zh-cn.js +0 -3
  71. package/dist/_virtual/zh-cn.js.map +0 -1
  72. package/dist/_virtual/zh-cn2.js +0 -5
  73. package/dist/_virtual/zh-cn2.js.map +0 -1
  74. package/dist/node_modules/dayjs/locale/zh-cn.js +0 -25
  75. package/dist/node_modules/dayjs/locale/zh-cn.js.map +0 -1
  76. package/dist/node_modules/react-dom/cjs/react-dom-client.development.js +0 -17062
  77. package/dist/node_modules/react-dom/cjs/react-dom-client.development.js.map +0 -1
  78. package/dist/node_modules/react-dom/cjs/react-dom-client.production.js +0 -9790
  79. package/dist/node_modules/react-dom/cjs/react-dom-client.production.js.map +0 -1
  80. package/dist/node_modules/react-dom/client.js +0 -24
  81. package/dist/node_modules/react-dom/client.js.map +0 -1
  82. package/dist/node_modules/scheduler/cjs/scheduler.development.js +0 -237
  83. package/dist/node_modules/scheduler/cjs/scheduler.development.js.map +0 -1
  84. package/dist/node_modules/scheduler/cjs/scheduler.production.js +0 -234
  85. package/dist/node_modules/scheduler/cjs/scheduler.production.js.map +0 -1
  86. package/dist/node_modules/scheduler/index.js +0 -11
  87. package/dist/node_modules/scheduler/index.js.map +0 -1
package/README.md CHANGED
@@ -136,6 +136,8 @@ node scripts/version-check.mjs --apply # → 0.1.99
136
136
 
137
137
  也可在 Actions 中手动运行 **Publish npm**,填写已有 tag 重新发布。
138
138
 
139
+ - 2026-10-12:`v0.1.133` — DispositionBar 短徽章;模板来源 Tag;ActionList 去壳/铃铛摘要色;执行门禁 SSOT;vite external 子路径防双 React(feat 分支曾误标 0.1.135 未进 main,顺号回正)
140
+ - 2026-10-11:`v0.1.132` — 重试发布消息模板富文本(0.1.131 CI 绿但 npm 未见)
139
141
  - 2026-10-11:`v0.1.131` — 消息模板富文本色/加粗回显(配置页;seed 另仓)
140
142
  - 2026-10-11:`v0.1.130` — InboxBell 级别 Tag `selected` 反白(消息类型 Tag 仍默认浅底)
141
143
  - 2026-10-10:`v0.1.129` — InboxBell toast `createPortal` 自渲染(禁 ant notification 透明残留壳)
@@ -1,8 +1,8 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../node_modules/pdfast/src/index.js";
3
- var t = o();
4
- const s = /* @__PURE__ */ r(t);
1
+ import { getDefaultExportFromCjs as t } from "./_commonjsHelpers.js";
2
+ import { __require as e } from "../node_modules/eventemitter3/index2.js";
3
+ var r = e();
4
+ const i = /* @__PURE__ */ t(r);
5
5
  export {
6
- s as default
6
+ i as default
7
7
  };
8
8
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- import { getDefaultExportFromCjs as t } from "./_commonjsHelpers.js";
2
- import { __require as e } from "../node_modules/eventemitter3/index2.js";
3
- var r = e();
4
- const i = /* @__PURE__ */ t(r);
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as o } from "../node_modules/pdfast/src/index.js";
3
+ var t = o();
4
+ const s = /* @__PURE__ */ r(t);
5
5
  export {
6
- i as default
6
+ s as default
7
7
  };
8
8
  //# sourceMappingURL=index2.js.map
@@ -1,5 +1,5 @@
1
- var e = { exports: {} };
1
+ var r = { exports: {} };
2
2
  export {
3
- e as __module
3
+ r as __module
4
4
  };
5
5
  //# sourceMappingURL=index3.js.map
@@ -1,5 +1,8 @@
1
- var r = { exports: {} };
1
+ import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
+ import { __require as o } from "../node_modules/color-string/index.js";
3
+ var t = o();
4
+ const a = /* @__PURE__ */ r(t);
2
5
  export {
3
- r as __module
6
+ a as default
4
7
  };
5
8
  //# sourceMappingURL=index4.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"index4.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,8 +1,5 @@
1
- import { getDefaultExportFromCjs as r } from "./_commonjsHelpers.js";
2
- import { __require as o } from "../node_modules/color-string/index.js";
3
- var t = o();
4
- const a = /* @__PURE__ */ r(t);
1
+ var e = { exports: {} };
5
2
  export {
6
- a as default
3
+ e as __module
7
4
  };
8
5
  //# sourceMappingURL=index5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"index5.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,5 +1,5 @@
1
- var e = { exports: {} };
1
+ var o = { exports: {} };
2
2
  export {
3
- e as __module
3
+ o as __module
4
4
  };
5
5
  //# sourceMappingURL=index6.js.map
@@ -1,5 +1,5 @@
1
- var o = { exports: {} };
1
+ var e = { exports: {} };
2
2
  export {
3
- o as __module
3
+ e as __module
4
4
  };
5
5
  //# sourceMappingURL=index7.js.map
@@ -0,0 +1,22 @@
1
+ /**
2
+ * 处置条状态徽章:条上只留短文案;时间/备注进 detail(Tooltip)。
3
+ * 对齐 S4「已关闭」短徽章,避免数百字备注撑破条。
4
+ */
5
+ export type DispositionStatusBadgeParts = {
6
+ statusLabel?: string;
7
+ /** 误报 / 暂缓 / 系统外原因等 */
8
+ typeLabel?: string;
9
+ updatedAt?: string;
10
+ note?: string;
11
+ /**
12
+ * 是否把 typeLabel 拼进短徽章(默认 true;与 statusLabel 相同时自动省略)。
13
+ */
14
+ includeType?: boolean;
15
+ };
16
+ export type DispositionStatusBadgeFormatted = {
17
+ /** 条上展示 */
18
+ short: string;
19
+ /** 完整细节(时间 · 备注);无则 undefined */
20
+ detail?: string;
21
+ };
22
+ export declare function formatDispositionStatusBadge(parts: DispositionStatusBadgeParts): DispositionStatusBadgeFormatted;
@@ -0,0 +1,14 @@
1
+ function r(t) {
2
+ const e = String(t.statusLabel || "").trim() || "已处置", i = String(t.typeLabel || "").trim(), o = t.includeType !== !1 && i && i !== e ? `${e} · ${i}` : e, n = [
3
+ String(t.updatedAt || "").trim(),
4
+ String(t.note || "").trim()
5
+ ].filter(Boolean);
6
+ return {
7
+ short: o,
8
+ detail: n.length ? n.join(" · ") : void 0
9
+ };
10
+ }
11
+ export {
12
+ r as formatDispositionStatusBadge
13
+ };
14
+ //# sourceMappingURL=formatDispositionStatusBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatDispositionStatusBadge.js","sources":["../../../../src/components/Disposition/DispositionBar/formatDispositionStatusBadge.ts"],"sourcesContent":["/**\n * 处置条状态徽章:条上只留短文案;时间/备注进 detail(Tooltip)。\n * 对齐 S4「已关闭」短徽章,避免数百字备注撑破条。\n */\nexport type DispositionStatusBadgeParts = {\n statusLabel?: string;\n /** 误报 / 暂缓 / 系统外原因等 */\n typeLabel?: string;\n updatedAt?: string;\n note?: string;\n /**\n * 是否把 typeLabel 拼进短徽章(默认 true;与 statusLabel 相同时自动省略)。\n */\n includeType?: boolean;\n};\n\nexport type DispositionStatusBadgeFormatted = {\n /** 条上展示 */\n short: string;\n /** 完整细节(时间 · 备注);无则 undefined */\n detail?: string;\n};\n\nexport function formatDispositionStatusBadge(\n parts: DispositionStatusBadgeParts,\n): DispositionStatusBadgeFormatted {\n const base = String(parts.statusLabel || '').trim() || '已处置';\n const type = String(parts.typeLabel || '').trim();\n const includeType = parts.includeType !== false;\n const short = includeType && type && type !== base ? `${base} · ${type}` : base;\n const detailParts = [\n String(parts.updatedAt || '').trim(),\n String(parts.note || '').trim(),\n ].filter(Boolean);\n return {\n short,\n detail: detailParts.length ? detailParts.join(' · ') : undefined,\n };\n}\n"],"names":["formatDispositionStatusBadge","parts","base","type","short","detailParts"],"mappings":"AAuBO,SAASA,EACdC,GACiC;AACjC,QAAMC,IAAO,OAAOD,EAAM,eAAe,EAAE,EAAE,UAAU,OACjDE,IAAO,OAAOF,EAAM,aAAa,EAAE,EAAE,KAAA,GAErCG,IADcH,EAAM,gBAAgB,MACbE,KAAQA,MAASD,IAAO,GAAGA,CAAI,MAAMC,CAAI,KAAKD,GACrEG,IAAc;AAAA,IAClB,OAAOJ,EAAM,aAAa,EAAE,EAAE,KAAA;AAAA,IAC9B,OAAOA,EAAM,QAAQ,EAAE,EAAE,KAAA;AAAA,EAAK,EAC9B,OAAO,OAAO;AAChB,SAAO;AAAA,IACL,OAAAG;AAAA,IACA,QAAQC,EAAY,SAASA,EAAY,KAAK,KAAK,IAAI;AAAA,EAAA;AAE3D;"}
@@ -6,22 +6,22 @@ const b = ({
6
6
  lead: n,
7
7
  statusBadge: s,
8
8
  actions: l,
9
- statusLoading: d,
10
- className: p
9
+ statusLoading: p,
10
+ className: t
11
11
  }) => {
12
- const e = n != null && n !== !1 && n !== "", c = s != null && s !== !1 && s !== "" ? typeof s == "string" || typeof s == "number" ? /* @__PURE__ */ o("span", { className: i["marsun-disposition-badge"], children: s }) : s : null, t = e ? "预警摘要" : r;
12
+ const e = n != null && n !== !1 && n !== "", c = s != null && s !== !1 && s !== "" ? typeof s == "string" || typeof s == "number" ? /* @__PURE__ */ o("span", { className: i["marsun-disposition-badge"], title: String(s), children: s }) : s : null, d = e ? "预警摘要" : r;
13
13
  return /* @__PURE__ */ m(
14
14
  "div",
15
15
  {
16
- className: a("marsun-disposition-bar", i["marsun-disposition-bar"], p),
16
+ className: a("marsun-disposition-bar", i["marsun-disposition-bar"], t),
17
17
  role: "group",
18
- "aria-label": t,
18
+ "aria-label": d,
19
19
  children: [
20
20
  /* @__PURE__ */ m("div", { className: a("marsun-disposition-status", i["marsun-disposition-status"]), children: [
21
21
  e ? /* @__PURE__ */ o("div", { className: a("marsun-disposition-lead", i["marsun-disposition-lead"]), children: n }) : /* @__PURE__ */ o("span", { className: i["marsun-disposition-label"], children: r }),
22
22
  c
23
23
  ] }),
24
- !d && l ? /* @__PURE__ */ o(
24
+ !p && l ? /* @__PURE__ */ o(
25
25
  "div",
26
26
  {
27
27
  className: a("marsun-disposition-actions", i["marsun-disposition-actions"]),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/components/Disposition/DispositionBar/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nimport styles from './style.module.scss';\n\nexport type DispositionBarProps = {\n /** 左侧文案,默认「处置状态」;有 lead 时不渲染 */\n label?: string;\n /**\n * 左侧预警摘要(S3 点操作条 lead)。\n * 有 lead 时不渲染「处置状态」label,左侧只展示摘要(+ 可选 statusBadge)。\n */\n lead?: React.ReactNode;\n /** 状态徽章内容(string 或自定义节点);可与 lead 并存 */\n statusBadge?: React.ReactNode;\n /** 右侧操作区;由调用方注入业务钮 */\n actions?: React.ReactNode;\n /** true → 仅显示状态区,不渲染 actions */\n statusLoading?: boolean;\n className?: string;\n};\n\n/**\n * 处置条布局壳:左状态/摘要 + 右操作。不绑业务 API / EP。\n */\nconst DispositionBar: React.FC<DispositionBarProps> = ({\n label = '处置状态',\n lead,\n statusBadge,\n actions,\n statusLoading,\n className,\n}) => {\n const hasLead = lead != null && lead !== false && lead !== '';\n const hasBadge = statusBadge != null && statusBadge !== false && statusBadge !== '';\n const badgeNode = hasBadge ? (\n typeof statusBadge === 'string' || typeof statusBadge === 'number' ? (\n <span className={styles['marsun-disposition-badge']}>{statusBadge}</span>\n ) : (\n statusBadge\n )\n ) : null;\n\n const ariaLabel = hasLead ? '预警摘要' : label;\n\n return (\n <div\n className={classNames('marsun-disposition-bar', styles['marsun-disposition-bar'], className)}\n role=\"group\"\n aria-label={ariaLabel}\n >\n <div className={classNames('marsun-disposition-status', styles['marsun-disposition-status'])}>\n {hasLead ? (\n <div className={classNames('marsun-disposition-lead', styles['marsun-disposition-lead'])}>\n {lead}\n </div>\n ) : (\n <span className={styles['marsun-disposition-label']}>{label}</span>\n )}\n {badgeNode}\n </div>\n {!statusLoading && actions ? (\n <div\n className={classNames('marsun-disposition-actions', styles['marsun-disposition-actions'])}\n >\n {actions}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default DispositionBar;\n"],"names":["DispositionBar","label","lead","statusBadge","actions","statusLoading","className","hasLead","badgeNode","jsx","styles","ariaLabel","jsxs","classNames"],"mappings":";;;AAwBA,MAAMA,IAAgD,CAAC;AAAA,EACrD,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAUL,KAAQ,QAAQA,MAAS,MAASA,MAAS,IAErDM,IADWL,KAAe,QAAQA,MAAgB,MAASA,MAAgB,KAE/E,OAAOA,KAAgB,YAAY,OAAOA,KAAgB,WACxD,gBAAAM,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAI,UAAAP,EAAA,CAAY,IAElEA,IAEA,MAEEQ,IAAYJ,IAAU,SAASN;AAErC,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BH,EAAO,wBAAwB,GAAGJ,CAAS;AAAA,MAC3F,MAAK;AAAA,MACL,cAAYK;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAW,6BAA6BH,EAAO,2BAA2B,CAAC,GACxF,UAAA;AAAA,UAAAH,sBACE,OAAA,EAAI,WAAWM,EAAW,2BAA2BH,EAAO,yBAAyB,CAAC,GACpF,UAAAR,GACH,IAEA,gBAAAO,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAI,UAAAT,GAAM;AAAA,UAE7DO;AAAA,QAAA,GACH;AAAA,QACC,CAACH,KAAiBD,IACjB,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,EAAW,8BAA8BH,EAAO,4BAA4B,CAAC;AAAA,YAEvF,UAAAN;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/components/Disposition/DispositionBar/index.tsx"],"sourcesContent":["import classNames from 'classnames';\nimport React from 'react';\nimport styles from './style.module.scss';\n\nexport type DispositionBarProps = {\n /** 左侧文案,默认「处置状态」;有 lead 时不渲染 */\n label?: string;\n /**\n * 左侧预警摘要(S3 点操作条 lead)。\n * 有 lead 时不渲染「处置状态」label,左侧只展示摘要(+ 可选 statusBadge)。\n */\n lead?: React.ReactNode;\n /** 状态徽章内容(string 或自定义节点);可与 lead 并存 */\n statusBadge?: React.ReactNode;\n /** 右侧操作区;由调用方注入业务钮 */\n actions?: React.ReactNode;\n /** true → 仅显示状态区,不渲染 actions */\n statusLoading?: boolean;\n className?: string;\n};\n\n/**\n * 处置条布局壳:左状态/摘要 + 右操作。不绑业务 API / EP。\n */\nconst DispositionBar: React.FC<DispositionBarProps> = ({\n label = '处置状态',\n lead,\n statusBadge,\n actions,\n statusLoading,\n className,\n}) => {\n const hasLead = lead != null && lead !== false && lead !== '';\n const hasBadge = statusBadge != null && statusBadge !== false && statusBadge !== '';\n const badgeNode = hasBadge ? (\n typeof statusBadge === 'string' || typeof statusBadge === 'number' ? (\n <span className={styles['marsun-disposition-badge']} title={String(statusBadge)}>\n {statusBadge}\n </span>\n ) : (\n statusBadge\n )\n ) : null;\n\n const ariaLabel = hasLead ? '预警摘要' : label;\n\n return (\n <div\n className={classNames('marsun-disposition-bar', styles['marsun-disposition-bar'], className)}\n role=\"group\"\n aria-label={ariaLabel}\n >\n <div className={classNames('marsun-disposition-status', styles['marsun-disposition-status'])}>\n {hasLead ? (\n <div className={classNames('marsun-disposition-lead', styles['marsun-disposition-lead'])}>\n {lead}\n </div>\n ) : (\n <span className={styles['marsun-disposition-label']}>{label}</span>\n )}\n {badgeNode}\n </div>\n {!statusLoading && actions ? (\n <div\n className={classNames('marsun-disposition-actions', styles['marsun-disposition-actions'])}\n >\n {actions}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default DispositionBar;\n"],"names":["DispositionBar","label","lead","statusBadge","actions","statusLoading","className","hasLead","badgeNode","jsx","styles","ariaLabel","jsxs","classNames"],"mappings":";;;AAwBA,MAAMA,IAAgD,CAAC;AAAA,EACrD,OAAAC,IAAQ;AAAA,EACR,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAUL,KAAQ,QAAQA,MAAS,MAASA,MAAS,IAErDM,IADWL,KAAe,QAAQA,MAAgB,MAASA,MAAgB,KAE/E,OAAOA,KAAgB,YAAY,OAAOA,KAAgB,WACxD,gBAAAM,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAG,OAAO,OAAOP,CAAW,GAC3E,UAAAA,EAAA,CACH,IAEAA,IAEA,MAEEQ,IAAYJ,IAAU,SAASN;AAErC,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BH,EAAO,wBAAwB,GAAGJ,CAAS;AAAA,MAC3F,MAAK;AAAA,MACL,cAAYK;AAAA,MAEZ,UAAA;AAAA,QAAA,gBAAAC,EAAC,SAAI,WAAWC,EAAW,6BAA6BH,EAAO,2BAA2B,CAAC,GACxF,UAAA;AAAA,UAAAH,sBACE,OAAA,EAAI,WAAWM,EAAW,2BAA2BH,EAAO,yBAAyB,CAAC,GACpF,UAAAR,GACH,IAEA,gBAAAO,EAAC,QAAA,EAAK,WAAWC,EAAO,0BAA0B,GAAI,UAAAT,GAAM;AAAA,UAE7DO;AAAA,QAAA,GACH;AAAA,QACC,CAACH,KAAiBD,IACjB,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWI,EAAW,8BAA8BH,EAAO,4BAA4B,CAAC;AAAA,YAEvF,UAAAN;AAAA,UAAA;AAAA,QAAA,IAED;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGV;"}
@@ -1,10 +1,10 @@
1
1
  const s = {
2
- "marsun-disposition-bar": "_marsun-disposition-bar_1lz2k_2",
3
- "marsun-disposition-status": "_marsun-disposition-status_1lz2k_17",
4
- "marsun-disposition-label": "_marsun-disposition-label_1lz2k_27",
5
- "marsun-disposition-lead": "_marsun-disposition-lead_1lz2k_34",
6
- "marsun-disposition-badge": "_marsun-disposition-badge_1lz2k_46",
7
- "marsun-disposition-actions": "_marsun-disposition-actions_1lz2k_60"
2
+ "marsun-disposition-bar": "_marsun-disposition-bar_2phgc_2",
3
+ "marsun-disposition-status": "_marsun-disposition-status_2phgc_17",
4
+ "marsun-disposition-label": "_marsun-disposition-label_2phgc_27",
5
+ "marsun-disposition-lead": "_marsun-disposition-lead_2phgc_34",
6
+ "marsun-disposition-badge": "_marsun-disposition-badge_2phgc_46",
7
+ "marsun-disposition-actions": "_marsun-disposition-actions_2phgc_65"
8
8
  };
9
9
  export {
10
10
  s as default
@@ -1,4 +1,6 @@
1
1
  export { default as DispositionBar } from './DispositionBar';
2
2
  export type { DispositionBarProps } from './DispositionBar';
3
+ export { formatDispositionStatusBadge } from './DispositionBar/formatDispositionStatusBadge';
4
+ export type { DispositionStatusBadgeParts, DispositionStatusBadgeFormatted, } from './DispositionBar/formatDispositionStatusBadge';
3
5
  export { default as AlertDispositionPanel, DispositionAlertLevelLegend, formatDispositionTriggerText, getDispositionAlertLevel, buildDispositionAlertContext, } from './AlertDispositionPanel';
4
6
  export type { AlertDispositionPanelProps, DispositionAlertContext, DispositionAlertKind, DispositionAlertLevelSpec, DispositionAlertLevelCatalog, DispositionAlertLevelLegendProps, } from './AlertDispositionPanel';
@@ -1,8 +1,8 @@
1
- const l = {
2
- "action-list-table-card": "_action-list-table-card_7ilo9_1",
3
- "action-list-table-scroll": "_action-list-table-scroll_7ilo9_10"
1
+ const t = {
2
+ "action-list-table-card": "_action-list-table-card_5c201_1",
3
+ "action-list-table-scroll": "_action-list-table-scroll_5c201_6"
4
4
  };
5
5
  export {
6
- l as default
6
+ t as default
7
7
  };
8
8
  //# sourceMappingURL=ActionListTable.module.scss.js.map
@@ -4,7 +4,10 @@ import { ColumnsType } from 'antd/es/table';
4
4
  export type ActionListFilters = {
5
5
  dimension?: string;
6
6
  status?: string;
7
+ /** 执行人展示名(兼容旧筛);主路径用 assigneeUserId */
7
8
  assignee?: string;
9
+ /** 执行人 SSO userId(SuperSelect 取值) */
10
+ assigneeUserId?: string;
8
11
  factory?: string;
9
12
  q?: string;
10
13
  from?: string;
@@ -22,6 +25,8 @@ export type ActionListRowBase = {
22
25
  dimension?: string;
23
26
  assignee?: string;
24
27
  owner?: string;
28
+ /** 业务时间(源事件账期/日);≠ createdAt 任务创建 */
29
+ bizDate?: string;
25
30
  createdAt?: string;
26
31
  startedAt?: string;
27
32
  completedAt?: string;
@@ -8,4 +8,5 @@ export { default as ActionFollowModal } from './Follow';
8
8
  export type { ActionFollowModalProps, ActionFollowView } from './Follow';
9
9
  export { default as CancelExecutionModal, CancelExecutionForm } from './Cancel';
10
10
  export type { CancelExecutionModalProps } from './Cancel';
11
- export { sanitizeActionHtml } from './utils';
11
+ export { sanitizeActionHtml, isActionExecuteHidden } from './utils';
12
+ export type { ActionExecuteGateRow, ActionExecuteGateOptions } from './utils';
@@ -0,0 +1,18 @@
1
+ /** 行上判定「执行」所需的最小字段 */
2
+ export type ActionExecuteGateRow = {
3
+ status?: string | null;
4
+ assigneeUserId?: string | null;
5
+ };
6
+ export type ActionExecuteGateOptions = {
7
+ /** 是否持有行动执行权限 */
8
+ canExecute: boolean;
9
+ /** 当前登录用户 SSO userId;可空(未登录则凡有执行人的行均 hidden) */
10
+ currentUserId?: string | null;
11
+ };
12
+ /**
13
+ * 行动跟踪操作列「执行」是否 hidden(EAM/S3 通用)。
14
+ * - 仅 approved + 有执行权
15
+ * - assigneeUserId 空:可显示(开始时认领)
16
+ * - 已有执行人:仅本人可见
17
+ */
18
+ export declare function isActionExecuteHidden(row: ActionExecuteGateRow, options: ActionExecuteGateOptions): boolean;
@@ -0,0 +1,11 @@
1
+ function i(r, e) {
2
+ if (!e.canExecute || String(r.status || "").trim() !== "approved") return !0;
3
+ const t = String(r.assigneeUserId || "").trim();
4
+ if (!t) return !1;
5
+ const n = String(e.currentUserId || "").trim();
6
+ return n ? t !== n : !0;
7
+ }
8
+ export {
9
+ i as isActionExecuteHidden
10
+ };
11
+ //# sourceMappingURL=actionExecuteGate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionExecuteGate.js","sources":["../../../../../src/components/Tools/ActionTracking/utils/actionExecuteGate.ts"],"sourcesContent":["/** 行上判定「执行」所需的最小字段 */\nexport type ActionExecuteGateRow = {\n status?: string | null;\n assigneeUserId?: string | null;\n};\n\nexport type ActionExecuteGateOptions = {\n /** 是否持有行动执行权限 */\n canExecute: boolean;\n /** 当前登录用户 SSO userId;可空(未登录则凡有执行人的行均 hidden) */\n currentUserId?: string | null;\n};\n\n/**\n * 行动跟踪操作列「执行」是否 hidden(EAM/S3 通用)。\n * - 仅 approved + 有执行权\n * - assigneeUserId 空:可显示(开始时认领)\n * - 已有执行人:仅本人可见\n */\nexport function isActionExecuteHidden(\n row: ActionExecuteGateRow,\n options: ActionExecuteGateOptions,\n): boolean {\n if (!options.canExecute) return true;\n if (String(row.status || '').trim() !== 'approved') return true;\n const assigneeUserId = String(row.assigneeUserId || '').trim();\n if (!assigneeUserId) return false;\n const uid = String(options.currentUserId || '').trim();\n if (!uid) return true;\n return assigneeUserId !== uid;\n}\n"],"names":["isActionExecuteHidden","row","options","assigneeUserId","uid"],"mappings":"AAmBO,SAASA,EACdC,GACAC,GACS;AAET,MADI,CAACA,EAAQ,cACT,OAAOD,EAAI,UAAU,EAAE,EAAE,KAAA,MAAW,WAAY,QAAO;AAC3D,QAAME,IAAiB,OAAOF,EAAI,kBAAkB,EAAE,EAAE,KAAA;AACxD,MAAI,CAACE,EAAgB,QAAO;AAC5B,QAAMC,IAAM,OAAOF,EAAQ,iBAAiB,EAAE,EAAE,KAAA;AAChD,SAAKE,IACED,MAAmBC,IADT;AAEnB;"}
@@ -1 +1,3 @@
1
1
  export { sanitizeActionHtml } from './sanitizeActionHtml';
2
+ export { isActionExecuteHidden } from './actionExecuteGate';
3
+ export type { ActionExecuteGateRow, ActionExecuteGateOptions } from './actionExecuteGate';
@@ -1,78 +1,78 @@
1
- const t = "_bellWrap_17k0u_2", e = "_drawer_17k0u_10", o = "_listPane_17k0u_23", s = "_listScroll_17k0u_30", _ = "_listViewport_17k0u_36", i = "_listFooter_17k0u_40", a = "_bellBtn_17k0u_49", c = "_typeTabs_17k0u_68", n = "_filterRow_17k0u_75", r = "_toastPrefs_17k0u_83", l = "_toastPrefsTitle_17k0u_91", m = "_toastPrefsHint_17k0u_98", u = "_error_17k0u_106", k = "_list_17k0u_23", d = "_item_17k0u_121", T = "_itemStatic_17k0u_136", y = "_itemUnread_17k0u_142", H = "_itemHeader_17k0u_151", f = "_itemHeaderLeft_17k0u_160", p = "_itemTitle_17k0u_168", B = "_itemTime_17k0u_179", P = "_itemBody_17k0u_188", b = "_itemSummary_17k0u_192", w = "_itemBodyHtml_17k0u_204", S = "_typeTag_17k0u_224", g = "_itemMeta_17k0u_229", A = "_itemFooterTags_17k0u_237", F = "_itemActions_17k0u_245", C = "_toastHost_17k0u_252", D = "_toastNotice_17k0u_260", L = "_toastClose_17k0u_274", M = "_toastHead_17k0u_294", N = "_toastTitle_17k0u_302", R = "_toastBody_17k0u_309", U = "_toastDesc_17k0u_313", V = "_toastActions_17k0u_324", W = {
1
+ const t = "_bellWrap_1a47g_2", e = "_drawer_1a47g_10", o = "_listPane_1a47g_23", s = "_listScroll_1a47g_30", a = "_listViewport_1a47g_36", _ = "_listFooter_1a47g_40", i = "_bellBtn_1a47g_49", c = "_typeTabs_1a47g_68", n = "_filterRow_1a47g_75", r = "_toastPrefs_1a47g_83", l = "_toastPrefsTitle_1a47g_91", m = "_toastPrefsHint_1a47g_98", g = "_error_1a47g_106", d = "_list_1a47g_23", T = "_item_1a47g_121", y = "_itemStatic_1a47g_136", H = "_itemUnread_1a47g_142", f = "_itemHeader_1a47g_151", p = "_itemHeaderLeft_1a47g_160", B = "_itemTitle_1a47g_168", P = "_itemTime_1a47g_179", b = "_itemBody_1a47g_188", w = "_itemSummary_1a47g_192", S = "_itemBodyHtml_1a47g_204", A = "_typeTag_1a47g_224", F = "_itemMeta_1a47g_229", u = "_itemFooterTags_1a47g_237", C = "_itemActions_1a47g_245", D = "_toastHost_1a47g_252", L = "_toastNotice_1a47g_260", M = "_toastClose_1a47g_274", N = "_toastHead_1a47g_294", R = "_toastTitle_1a47g_302", U = "_toastBody_1a47g_309", V = "_toastDesc_1a47g_313", W = "_toastActions_1a47g_324", x = {
2
2
  bellWrap: t,
3
3
  drawer: e,
4
4
  listPane: o,
5
5
  listScroll: s,
6
- listViewport: _,
7
- listFooter: i,
8
- bellBtn: a,
6
+ listViewport: a,
7
+ listFooter: _,
8
+ bellBtn: i,
9
9
  typeTabs: c,
10
10
  filterRow: n,
11
11
  toastPrefs: r,
12
12
  toastPrefsTitle: l,
13
13
  toastPrefsHint: m,
14
- error: u,
15
- list: k,
16
- item: d,
17
- itemStatic: T,
18
- itemUnread: y,
19
- itemHeader: H,
20
- itemHeaderLeft: f,
21
- itemTitle: p,
22
- itemTime: B,
23
- itemBody: P,
24
- itemSummary: b,
25
- itemBodyHtml: w,
26
- typeTag: S,
27
- itemMeta: g,
28
- itemFooterTags: A,
29
- itemActions: F,
30
- toastHost: C,
31
- toastNotice: D,
32
- toastClose: L,
33
- toastHead: M,
34
- toastTitle: N,
35
- toastBody: R,
36
- toastDesc: U,
37
- toastActions: V
14
+ error: g,
15
+ list: d,
16
+ item: T,
17
+ itemStatic: y,
18
+ itemUnread: H,
19
+ itemHeader: f,
20
+ itemHeaderLeft: p,
21
+ itemTitle: B,
22
+ itemTime: P,
23
+ itemBody: b,
24
+ itemSummary: w,
25
+ itemBodyHtml: S,
26
+ typeTag: A,
27
+ itemMeta: F,
28
+ itemFooterTags: u,
29
+ itemActions: C,
30
+ toastHost: D,
31
+ toastNotice: L,
32
+ toastClose: M,
33
+ toastHead: N,
34
+ toastTitle: R,
35
+ toastBody: U,
36
+ toastDesc: V,
37
+ toastActions: W
38
38
  };
39
39
  export {
40
- a as bellBtn,
40
+ i as bellBtn,
41
41
  t as bellWrap,
42
- W as default,
42
+ x as default,
43
43
  e as drawer,
44
- u as error,
44
+ g as error,
45
45
  n as filterRow,
46
- d as item,
47
- F as itemActions,
48
- P as itemBody,
49
- w as itemBodyHtml,
50
- A as itemFooterTags,
51
- H as itemHeader,
52
- f as itemHeaderLeft,
53
- g as itemMeta,
54
- T as itemStatic,
55
- b as itemSummary,
56
- B as itemTime,
57
- p as itemTitle,
58
- y as itemUnread,
59
- k as list,
60
- i as listFooter,
46
+ T as item,
47
+ C as itemActions,
48
+ b as itemBody,
49
+ S as itemBodyHtml,
50
+ u as itemFooterTags,
51
+ f as itemHeader,
52
+ p as itemHeaderLeft,
53
+ F as itemMeta,
54
+ y as itemStatic,
55
+ w as itemSummary,
56
+ P as itemTime,
57
+ B as itemTitle,
58
+ H as itemUnread,
59
+ d as list,
60
+ _ as listFooter,
61
61
  o as listPane,
62
62
  s as listScroll,
63
- _ as listViewport,
64
- V as toastActions,
65
- R as toastBody,
66
- L as toastClose,
67
- U as toastDesc,
68
- M as toastHead,
69
- C as toastHost,
70
- D as toastNotice,
63
+ a as listViewport,
64
+ W as toastActions,
65
+ U as toastBody,
66
+ M as toastClose,
67
+ V as toastDesc,
68
+ N as toastHead,
69
+ D as toastHost,
70
+ L as toastNotice,
71
71
  r as toastPrefs,
72
72
  m as toastPrefsHint,
73
73
  l as toastPrefsTitle,
74
- N as toastTitle,
74
+ R as toastTitle,
75
75
  c as typeTabs,
76
- S as typeTag
76
+ A as typeTag
77
77
  };
78
78
  //# sourceMappingURL=style.module.scss.js.map
@@ -1,5 +1,10 @@
1
1
  import { ColumnsType } from 'antd/es/table';
2
2
  import { MessageTemplateAdminItem } from '../types';
3
+ /** catalog=Agent 内置;tenant / 缺省且非 builtin-id=自定义 */
4
+ export declare function templateSourceTag(row: MessageTemplateAdminItem): {
5
+ label: string;
6
+ color: string;
7
+ };
3
8
  export declare function buildTemplateColumns(opts: {
4
9
  canUpdate: boolean;
5
10
  eventLabel: (eventKey?: string) => string;
@@ -1,56 +1,69 @@
1
- import { jsx as n } from "react/jsx-runtime";
2
- import { Switch as s, Button as c } from "antd";
3
- const m = {
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Tag as c, Switch as s, Button as u } from "antd";
3
+ const h = {
4
4
  alert: "预警消息",
5
5
  action: "行动跟踪",
6
6
  remind: "任务提醒"
7
7
  };
8
- function b(d) {
9
- const { canUpdate: i, eventLabel: l, onEdit: r, onToggleEnabled: a } = d;
8
+ function b(l) {
9
+ return l.source === "catalog" || String(l.id || "").startsWith("builtin-") ? { label: "内置", color: "blue" } : { label: "自定义", color: "default" };
10
+ }
11
+ function p(l) {
12
+ const { canUpdate: i, eventLabel: o, onEdit: d, onToggleEnabled: a } = l;
10
13
  return [
11
14
  {
12
15
  title: "编号",
13
16
  dataIndex: "code",
14
17
  width: 150,
15
- render: (t) => /* @__PURE__ */ n("code", { children: t || "—" })
18
+ render: (t) => /* @__PURE__ */ r("code", { children: t || "—" })
16
19
  },
17
20
  {
18
21
  title: "场景",
19
22
  key: "scenario",
20
23
  render: (t, e) => e.scenario || e.label || "—"
21
24
  },
25
+ {
26
+ title: "来源",
27
+ key: "source",
28
+ width: 88,
29
+ render: (t, e) => {
30
+ const n = b(e);
31
+ return /* @__PURE__ */ r(c, { color: n.color, children: n.label });
32
+ }
33
+ },
22
34
  {
23
35
  title: "事件",
24
36
  key: "event",
25
37
  width: 160,
26
- render: (t, e) => l(e.eventKey)
38
+ render: (t, e) => o(e.eventKey)
27
39
  },
28
40
  {
29
41
  title: "类型",
30
42
  width: 100,
31
- render: (t, e) => m[e.messageType || ""] || e.messageType || "—"
43
+ render: (t, e) => h[e.messageType || ""] || e.messageType || "—"
32
44
  },
33
45
  {
34
46
  title: "启用",
35
47
  width: 90,
36
- render: (t, e) => /* @__PURE__ */ n(
48
+ render: (t, e) => /* @__PURE__ */ r(
37
49
  s,
38
50
  {
39
51
  size: "small",
40
52
  checked: e.enabled !== !1,
41
53
  disabled: !i,
42
- onChange: (o) => a(e, o)
54
+ onChange: (n) => a(e, n)
43
55
  }
44
56
  )
45
57
  },
46
58
  {
47
59
  title: "操作",
48
60
  width: 100,
49
- render: (t, e) => /* @__PURE__ */ n(c, { type: "link", size: "small", disabled: !i, onClick: () => r(e), children: "编辑" })
61
+ render: (t, e) => /* @__PURE__ */ r(u, { type: "link", size: "small", disabled: !i, onClick: () => d(e), children: "编辑" })
50
62
  }
51
63
  ];
52
64
  }
53
65
  export {
54
- b as buildTemplateColumns
66
+ p as buildTemplateColumns,
67
+ b as templateSourceTag
55
68
  };
56
69
  //# sourceMappingURL=columns.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"columns.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.tsx"],"sourcesContent":["import type { ColumnsType } from 'antd/es/table';\nimport { Button, Switch } from 'antd';\nimport type { MessageTemplateAdminItem } from '../types';\n\nconst TYPE_LABELS: Record<string, string> = {\n alert: '预警消息',\n action: '行动跟踪',\n remind: '任务提醒',\n};\n\nexport function buildTemplateColumns(opts: {\n canUpdate: boolean;\n eventLabel: (eventKey?: string) => string;\n onEdit: (row: MessageTemplateAdminItem) => void;\n onToggleEnabled: (row: MessageTemplateAdminItem, enabled: boolean) => void;\n}): ColumnsType<MessageTemplateAdminItem> {\n const { canUpdate, eventLabel, onEdit, onToggleEnabled } = opts;\n return [\n {\n title: '编号',\n dataIndex: 'code',\n width: 150,\n render: (v: string) => <code>{v || '—'}</code>,\n },\n {\n title: '场景',\n key: 'scenario',\n render: (_, r) => r.scenario || r.label || '—',\n },\n {\n title: '事件',\n key: 'event',\n width: 160,\n render: (_, r) => eventLabel(r.eventKey),\n },\n {\n title: '类型',\n width: 100,\n render: (_, r) => TYPE_LABELS[r.messageType || ''] || r.messageType || '—',\n },\n {\n title: '启用',\n width: 90,\n render: (_, r) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate}\n onChange={(checked) => onToggleEnabled(r, checked)}\n />\n ),\n },\n {\n title: '操作',\n width: 100,\n render: (_, r) => (\n <Button type=\"link\" size=\"small\" disabled={!canUpdate} onClick={() => onEdit(r)}>\n 编辑\n </Button>\n ),\n },\n ];\n}\n"],"names":["TYPE_LABELS","buildTemplateColumns","opts","canUpdate","eventLabel","onEdit","onToggleEnabled","v","jsx","_","r","Switch","checked","Button"],"mappings":";;AAIA,MAAMA,IAAsC;AAAA,EAC1C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAEO,SAASC,EAAqBC,GAKK;AACxC,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,iBAAAC,MAAoBJ;AAC3D,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ,CAACK,MAAc,gBAAAC,EAAC,QAAA,EAAM,eAAK,IAAA,CAAI;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,QAAQ,CAACC,GAAGC,MAAMA,EAAE,YAAYA,EAAE,SAAS;AAAA,IAAA;AAAA,IAE7C;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAMN,EAAWM,EAAE,QAAQ;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAMV,EAAYU,EAAE,eAAe,EAAE,KAAKA,EAAE,eAAe;AAAA,IAAA;AAAA,IAEzE;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MACV,gBAAAF;AAAA,QAACG;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAASD,EAAE,YAAY;AAAA,UACvB,UAAU,CAACP;AAAA,UACX,UAAU,CAACS,MAAYN,EAAgBI,GAAGE,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACnD;AAAA,IAGJ;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACH,GAAGC,MACV,gBAAAF,EAACK,GAAA,EAAO,MAAK,QAAO,MAAK,SAAQ,UAAU,CAACV,GAAW,SAAS,MAAME,EAAOK,CAAC,GAAG,UAAA,KAAA,CAEjF;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
1
+ {"version":3,"file":"columns.js","sources":["../../../../../../src/components/Tools/MessageCenter/MessageTemplateAdmin/List/columns.tsx"],"sourcesContent":["import type { ColumnsType } from 'antd/es/table';\nimport { Button, Switch, Tag } from 'antd';\nimport type { MessageTemplateAdminItem } from '../types';\n\nconst TYPE_LABELS: Record<string, string> = {\n alert: '预警消息',\n action: '行动跟踪',\n remind: '任务提醒',\n};\n\n/** catalog=Agent 内置;tenant / 缺省且非 builtin-id=自定义 */\nexport function templateSourceTag(row: MessageTemplateAdminItem): {\n label: string;\n color: string;\n} {\n const src = row.source;\n if (src === 'catalog' || String(row.id || '').startsWith('builtin-')) {\n return { label: '内置', color: 'blue' };\n }\n return { label: '自定义', color: 'default' };\n}\n\nexport function buildTemplateColumns(opts: {\n canUpdate: boolean;\n eventLabel: (eventKey?: string) => string;\n onEdit: (row: MessageTemplateAdminItem) => void;\n onToggleEnabled: (row: MessageTemplateAdminItem, enabled: boolean) => void;\n}): ColumnsType<MessageTemplateAdminItem> {\n const { canUpdate, eventLabel, onEdit, onToggleEnabled } = opts;\n return [\n {\n title: '编号',\n dataIndex: 'code',\n width: 150,\n render: (v: string) => <code>{v || '—'}</code>,\n },\n {\n title: '场景',\n key: 'scenario',\n render: (_, r) => r.scenario || r.label || '—',\n },\n {\n title: '来源',\n key: 'source',\n width: 88,\n render: (_, r) => {\n const tag = templateSourceTag(r);\n return <Tag color={tag.color}>{tag.label}</Tag>;\n },\n },\n {\n title: '事件',\n key: 'event',\n width: 160,\n render: (_, r) => eventLabel(r.eventKey),\n },\n {\n title: '类型',\n width: 100,\n render: (_, r) => TYPE_LABELS[r.messageType || ''] || r.messageType || '—',\n },\n {\n title: '启用',\n width: 90,\n render: (_, r) => (\n <Switch\n size=\"small\"\n checked={r.enabled !== false}\n disabled={!canUpdate}\n onChange={(checked) => onToggleEnabled(r, checked)}\n />\n ),\n },\n {\n title: '操作',\n width: 100,\n render: (_, r) => (\n <Button type=\"link\" size=\"small\" disabled={!canUpdate} onClick={() => onEdit(r)}>\n 编辑\n </Button>\n ),\n },\n ];\n}\n"],"names":["TYPE_LABELS","templateSourceTag","row","buildTemplateColumns","opts","canUpdate","eventLabel","onEdit","onToggleEnabled","v","jsx","_","r","tag","Tag","Switch","checked","Button"],"mappings":";;AAIA,MAAMA,IAAsC;AAAA,EAC1C,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AAGO,SAASC,EAAkBC,GAGhC;AAEA,SADYA,EAAI,WACJ,aAAa,OAAOA,EAAI,MAAM,EAAE,EAAE,WAAW,UAAU,IAC1D,EAAE,OAAO,MAAM,OAAO,OAAA,IAExB,EAAE,OAAO,OAAO,OAAO,UAAA;AAChC;AAEO,SAASC,EAAqBC,GAKK;AACxC,QAAM,EAAE,WAAAC,GAAW,YAAAC,GAAY,QAAAC,GAAQ,iBAAAC,MAAoBJ;AAC3D,SAAO;AAAA,IACL;AAAA,MACE,OAAO;AAAA,MACP,WAAW;AAAA,MACX,OAAO;AAAA,MACP,QAAQ,CAACK,MAAc,gBAAAC,EAAC,QAAA,EAAM,eAAK,IAAA,CAAI;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,QAAQ,CAACC,GAAGC,MAAMA,EAAE,YAAYA,EAAE,SAAS;AAAA,IAAA;AAAA,IAE7C;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAM;AAChB,cAAMC,IAAMZ,EAAkBW,CAAC;AAC/B,iCAAQE,GAAA,EAAI,OAAOD,EAAI,OAAQ,YAAI,OAAM;AAAA,MAC3C;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,OAAO;AAAA,MACP,KAAK;AAAA,MACL,OAAO;AAAA,MACP,QAAQ,CAACF,GAAGC,MAAMN,EAAWM,EAAE,QAAQ;AAAA,IAAA;AAAA,IAEzC;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MAAMZ,EAAYY,EAAE,eAAe,EAAE,KAAKA,EAAE,eAAe;AAAA,IAAA;AAAA,IAEzE;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACD,GAAGC,MACV,gBAAAF;AAAA,QAACK;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAASH,EAAE,YAAY;AAAA,UACvB,UAAU,CAACP;AAAA,UACX,UAAU,CAACW,MAAYR,EAAgBI,GAAGI,CAAO;AAAA,QAAA;AAAA,MAAA;AAAA,IACnD;AAAA,IAGJ;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,MACP,QAAQ,CAACL,GAAGC,MACV,gBAAAF,EAACO,GAAA,EAAO,MAAK,QAAO,MAAK,SAAQ,UAAU,CAACZ,GAAW,SAAS,MAAME,EAAOK,CAAC,GAAG,UAAA,KAAA,CAEjF;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}