@ibiz-template/vue3-components 0.7.38-alpha.21 → 0.7.38-alpha.31

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 (180) hide show
  1. package/dist/ibiz-markdown-editor-BZ8j-yda.js +1 -0
  2. package/dist/{index-CiEIUSX9.js → index-CnCC-cC2.js} +1 -1
  3. package/dist/index-Q4QqDXYJ.js +4 -0
  4. package/dist/{index-HW5stxcy.js → index-X3QXftIl.js} +1 -1
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/wang-editor-Btv6GIhJ.js +1 -0
  8. package/dist/{xlsx-util-BlkeQIMu.js → xlsx-util-DbA3TyD9.js} +1 -1
  9. package/es/common/action-toolbar/action-toolbar.css +1 -1
  10. package/es/common/anchor-container/anchor-bar-list/anchor-bar-list.css +1 -1
  11. package/es/common/custom-filter-condition/custom-filter-condition.d.ts +2 -0
  12. package/es/common/data-import2/data-import2.mjs +1 -1
  13. package/es/common/gantt-setting/gantt-setting.css +1 -1
  14. package/es/common/gantt-setting/gantt-setting.d.ts +10 -0
  15. package/es/common/gantt-setting/gantt-setting.mjs +23 -3
  16. package/es/common/grid-setting/grid-setting.d.ts +1 -0
  17. package/es/common/grid-setting/grid-setting.mjs +1 -1
  18. package/es/common/view-message/view-message.d.ts +2 -0
  19. package/es/control/app-menu/app-menu.css +1 -1
  20. package/es/control/app-menu/app-menu.mjs +8 -6
  21. package/es/control/app-menu/custom-menu-design/custom-menu-design.mjs +1 -0
  22. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +51 -0
  23. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +10 -3
  24. package/es/control/dashboard/dashboard-design/dashboard-design.mjs +2 -1
  25. package/es/control/dashboard/dashboard.mjs +13 -1
  26. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.css +1 -1
  27. package/es/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.mjs +7 -3
  28. package/es/control/drbar/drbar.controller.mjs +1 -1
  29. package/es/control/drtab/drtab-control.util.mjs +1 -1
  30. package/es/control/drtab/drtab.controller.d.ts +19 -7
  31. package/es/control/drtab/drtab.controller.mjs +36 -9
  32. package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
  33. package/es/control/form/form-detail/form-item/form-item.d.ts +1 -0
  34. package/es/control/form/form-detail/form-item/form-item.mjs +21 -2
  35. package/es/control/form/form-detail/form-item/index.d.ts +1 -0
  36. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +100 -0
  37. package/es/control/form/search-form/index.d.ts +9 -0
  38. package/es/control/form/search-form/search-form.d.ts +9 -0
  39. package/es/control/form/search-form/search-form.mjs +4 -0
  40. package/es/control/gantt/gantt.css +1 -1
  41. package/es/control/gantt/gantt.d.ts +1 -0
  42. package/es/control/gantt/gantt.mjs +79 -30
  43. package/es/control/gantt/index.d.ts +1 -0
  44. package/es/control/grid/grid/grid-control.util.d.ts +2 -0
  45. package/es/control/grid/grid/grid-control.util.mjs +38 -2
  46. package/es/control/grid/grid/grid.mjs +11 -2
  47. package/es/control/grid/grid-column/grid-field-column/grid-field-column.d.ts +1 -0
  48. package/es/control/grid/grid-column/grid-field-column/grid-field-column.mjs +21 -1
  49. package/es/control/grid/grid-column/grid-field-column/index.d.ts +1 -0
  50. package/es/control/tab-exp-panel/tab-exp-panel.css +1 -1
  51. package/es/control/tree/tree.css +1 -1
  52. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.mjs +17 -1
  53. package/es/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  54. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  55. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +8 -2
  56. package/es/editor/html/wang-editor/wang-editor.mjs +1 -1
  57. package/es/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.mjs +1 -1
  58. package/es/editor/span/span/span.mjs +7 -1
  59. package/es/editor/span/span-editor.controller.d.ts +7 -0
  60. package/es/editor/span/span-editor.controller.mjs +10 -0
  61. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  62. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.mjs +24 -6
  63. package/es/editor/text-box/input/input.css +1 -1
  64. package/es/editor/text-box/input/input.mjs +32 -5
  65. package/es/editor/text-box/text-box-editor.controller.d.ts +7 -0
  66. package/es/editor/text-box/text-box-editor.controller.mjs +10 -0
  67. package/es/editor/upload/use/use-iview-upload.mjs +1 -1
  68. package/es/locale/en/index.d.ts +16 -0
  69. package/es/locale/en/index.mjs +10 -2
  70. package/es/locale/zh-CN/index.d.ts +16 -0
  71. package/es/locale/zh-CN/index.mjs +10 -2
  72. package/es/panel-component/auth-sso/auth-sso.css +1 -0
  73. package/es/panel-component/auth-sso/auth-sso.d.ts +26 -0
  74. package/es/panel-component/auth-sso/auth-sso.mjs +100 -0
  75. package/es/panel-component/auth-sso/auth-sso.provider.d.ts +6 -0
  76. package/es/panel-component/auth-sso/auth-sso.provider.mjs +21 -0
  77. package/es/panel-component/auth-sso/index.d.ts +23 -0
  78. package/es/panel-component/auth-sso/index.mjs +12 -0
  79. package/es/panel-component/coop-pos/coop-pos.controller.d.ts +46 -1
  80. package/es/panel-component/coop-pos/coop-pos.controller.mjs +92 -1
  81. package/es/panel-component/coop-pos/coop-pos.css +1 -1
  82. package/es/panel-component/coop-pos/coop-pos.d.ts +4 -1
  83. package/es/panel-component/coop-pos/coop-pos.mjs +23 -3
  84. package/es/panel-component/coop-pos/index.d.ts +3 -0
  85. package/es/panel-component/index.mjs +2 -0
  86. package/es/panel-component/nav-tabs/nav-tabs.controller.d.ts +1 -1
  87. package/es/panel-component/nav-tabs/nav-tabs.controller.mjs +3 -3
  88. package/es/panel-component/panel-button-list/panel-button-list.controller.mjs +2 -1
  89. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +1 -1
  90. package/es/util/app-popover/app-popover-component.mjs +1 -1
  91. package/es/util/fullscreen/fullscreen-util.mjs +2 -2
  92. package/es/util/notification-util/upload-manager/upload-manager.mjs +1 -1
  93. package/es/view/login-view/login-view.mjs +18 -0
  94. package/es/view-engine/edit-view.engine.mjs +14 -0
  95. package/es/view-engine/login-view.engine.mjs +1 -0
  96. package/es/view-engine/opt-view.engine.d.ts +1 -0
  97. package/es/view-engine/opt-view.engine.mjs +41 -1
  98. package/es/view-engine/tab-search-view.engine.d.ts +9 -1
  99. package/es/view-engine/tab-search-view.engine.mjs +52 -2
  100. package/es/web-app/attach-environment-config.mjs +5 -1
  101. package/es/web-app/guard/auth-guard/auth-guard.d.ts +21 -14
  102. package/es/web-app/guard/auth-guard/auth-guard.mjs +26 -19
  103. package/es/web-app/guard/auth-guard/dyna-auth-guard.d.ts +1 -1
  104. package/es/web-app/guard/auth-guard/dyna-auth-guard.mjs +2 -1
  105. package/es/web-app/main.mjs +3 -1
  106. package/es/web-app/router/index.d.ts +3 -2
  107. package/es/web-app/router/index.mjs +15 -4
  108. package/lib/common/action-toolbar/action-toolbar.css +1 -1
  109. package/lib/common/anchor-container/anchor-bar-list/anchor-bar-list.css +1 -1
  110. package/lib/common/data-import2/data-import2.cjs +1 -1
  111. package/lib/common/gantt-setting/gantt-setting.cjs +23 -3
  112. package/lib/common/gantt-setting/gantt-setting.css +1 -1
  113. package/lib/common/grid-setting/grid-setting.cjs +1 -1
  114. package/lib/control/app-menu/app-menu.cjs +8 -6
  115. package/lib/control/app-menu/app-menu.css +1 -1
  116. package/lib/control/app-menu/custom-menu-design/custom-menu-design.cjs +1 -0
  117. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +10 -3
  118. package/lib/control/dashboard/dashboard-design/dashboard-design.cjs +2 -1
  119. package/lib/control/dashboard/dashboard.cjs +13 -1
  120. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.cjs +7 -3
  121. package/lib/control/dashboard/portlet/filter-portlet/filter-portlet-design/filter-portlet-design.css +1 -1
  122. package/lib/control/drbar/drbar.controller.cjs +1 -1
  123. package/lib/control/drtab/drtab-control.util.cjs +1 -1
  124. package/lib/control/drtab/drtab.controller.cjs +36 -9
  125. package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
  126. package/lib/control/form/form-detail/form-item/form-item.cjs +20 -1
  127. package/lib/control/form/search-form/search-form.cjs +4 -0
  128. package/lib/control/gantt/gantt.cjs +78 -29
  129. package/lib/control/gantt/gantt.css +1 -1
  130. package/lib/control/grid/grid/grid-control.util.cjs +37 -1
  131. package/lib/control/grid/grid/grid.cjs +11 -2
  132. package/lib/control/grid/grid-column/grid-field-column/grid-field-column.cjs +21 -1
  133. package/lib/control/tab-exp-panel/tab-exp-panel.css +1 -1
  134. package/lib/control/tree/tree.css +1 -1
  135. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-field-column/tree-grid-ex-field-column.cjs +17 -1
  136. package/lib/editor/data-picker/ibiz-picker-embed-view/ibiz-picker-embed-view.css +1 -1
  137. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +8 -2
  138. package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
  139. package/lib/editor/html/wang-editor/wang-editor.cjs +1 -1
  140. package/lib/editor/markdown/ibiz-markdown-editor/ibiz-markdown-editor.cjs +1 -1
  141. package/lib/editor/span/span/span.cjs +7 -1
  142. package/lib/editor/span/span-editor.controller.cjs +10 -0
  143. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.cjs +24 -6
  144. package/lib/editor/text-box/ibiz-input-number/ibiz-input-number.css +1 -1
  145. package/lib/editor/text-box/input/input.cjs +32 -5
  146. package/lib/editor/text-box/input/input.css +1 -1
  147. package/lib/editor/text-box/text-box-editor.controller.cjs +10 -0
  148. package/lib/editor/upload/use/use-iview-upload.cjs +1 -1
  149. package/lib/locale/en/index.cjs +10 -2
  150. package/lib/locale/zh-CN/index.cjs +10 -2
  151. package/lib/panel-component/auth-sso/auth-sso.cjs +102 -0
  152. package/lib/panel-component/auth-sso/auth-sso.css +1 -0
  153. package/lib/panel-component/auth-sso/auth-sso.provider.cjs +23 -0
  154. package/lib/panel-component/auth-sso/index.cjs +17 -0
  155. package/lib/panel-component/coop-pos/coop-pos.cjs +22 -2
  156. package/lib/panel-component/coop-pos/coop-pos.controller.cjs +91 -0
  157. package/lib/panel-component/coop-pos/coop-pos.css +1 -1
  158. package/lib/panel-component/index.cjs +38 -36
  159. package/lib/panel-component/nav-tabs/nav-tabs.controller.cjs +3 -3
  160. package/lib/panel-component/panel-button-list/panel-button-list.controller.cjs +2 -1
  161. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +1 -1
  162. package/lib/util/app-popover/app-popover-component.cjs +1 -1
  163. package/lib/util/fullscreen/fullscreen-util.cjs +2 -2
  164. package/lib/util/notification-util/upload-manager/upload-manager.cjs +1 -1
  165. package/lib/view/login-view/login-view.cjs +18 -0
  166. package/lib/view-engine/edit-view.engine.cjs +14 -0
  167. package/lib/view-engine/login-view.engine.cjs +1 -0
  168. package/lib/view-engine/opt-view.engine.cjs +40 -0
  169. package/lib/view-engine/tab-search-view.engine.cjs +52 -2
  170. package/lib/web-app/attach-environment-config.cjs +5 -1
  171. package/lib/web-app/guard/auth-guard/auth-guard.cjs +26 -19
  172. package/lib/web-app/guard/auth-guard/dyna-auth-guard.cjs +2 -1
  173. package/lib/web-app/main.cjs +3 -1
  174. package/lib/web-app/router/index.cjs +15 -4
  175. package/package.json +10 -10
  176. package/dist/ibiz-markdown-editor-B4c6yGAW.js +0 -1
  177. package/dist/index-3cxXHoLs.js +0 -4
  178. package/dist/wang-editor-BUIAd4uJ.js +0 -1
  179. /package/es/node_modules/.pnpm/{@ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs +0 -0
  180. /package/lib/node_modules/.pnpm/{@ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1 → @ibiz-template_core@0.7.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1}/node_modules/@ibiz-template/core/out/utils/namespace/namespace.cjs +0 -0
@@ -1,5 +1,5 @@
1
1
  import { PanelItemController } from '@ibiz-template/runtime';
2
- import { createUUID } from 'qx-util';
2
+ import { notNilEmpty, createUUID } from 'qx-util';
3
3
  import { CoopPosState } from './coop-pos.state.mjs';
4
4
 
5
5
  "use strict";
@@ -12,6 +12,24 @@ var __publicField = (obj, key, value) => {
12
12
  class CoopPosController extends PanelItemController {
13
13
  constructor() {
14
14
  super(...arguments);
15
+ /**
16
+ *云系统操作者
17
+ *
18
+ * @memberof CoopPosController
19
+ */
20
+ __publicField(this, "operator", []);
21
+ /**
22
+ * @description 自定义补充参数
23
+ * @type {IData}
24
+ * @memberof CoopPosController
25
+ */
26
+ __publicField(this, "rawItemParams", {});
27
+ /**
28
+ * @description 显示模式
29
+ * @type {('avatar' | 'default')}
30
+ * @memberof CoopPosController
31
+ */
32
+ __publicField(this, "showMode", "default");
15
33
  /**
16
34
  * 消息模式映射
17
35
  * - 视图打开数据模式映射消息类型
@@ -29,6 +47,29 @@ class CoopPosController extends PanelItemController {
29
47
  var _a;
30
48
  return new CoopPosState((_a = this.parent) == null ? void 0 : _a.state);
31
49
  }
50
+ async onInit() {
51
+ await super.onInit();
52
+ this.handleRawItemParams();
53
+ this.showMode = this.rawItemParams.showmode;
54
+ await this.getOperator();
55
+ }
56
+ /**
57
+ * @description 处理自定义补充参数
58
+ * @protected
59
+ * @memberof CoopPosController
60
+ */
61
+ handleRawItemParams() {
62
+ var _a;
63
+ let params = {};
64
+ const rawItemParams = (_a = this.model.rawItem) == null ? void 0 : _a.rawItemParams;
65
+ if (notNilEmpty(rawItemParams)) {
66
+ params = rawItemParams.reduce((param, item) => {
67
+ param[item.key.toLowerCase()] = item.value;
68
+ return param;
69
+ }, {});
70
+ }
71
+ Object.assign(this.rawItemParams, params);
72
+ }
32
73
  /**
33
74
  * 初始化消息模式
34
75
  *
@@ -63,6 +104,56 @@ class CoopPosController extends PanelItemController {
63
104
  }
64
105
  this.state.alertParams = params;
65
106
  }
107
+ /**
108
+ * @description 获取云系统操作者代码表
109
+ * @return {*} {Promise<void>}
110
+ * @memberof CoopPosController
111
+ */
112
+ async getOperator() {
113
+ if (this.showMode === "avatar") {
114
+ const app = await ibiz.hub.getApp(this.panel.context.srfappid);
115
+ this.operator = await app.codeList.get(
116
+ "SysOperator",
117
+ this.panel.context,
118
+ this.panel.params
119
+ );
120
+ }
121
+ }
122
+ /**
123
+ * @description 根据名称获取图标
124
+ * @param {string} name
125
+ * @return {*} {string}
126
+ * @memberof CoopPosController
127
+ */
128
+ getIconUrlByName(name) {
129
+ var _a;
130
+ let result = "";
131
+ const item = this.operator.find((x) => x.text === name);
132
+ if (item) {
133
+ result = ((_a = item.data) == null ? void 0 : _a.iconurl) || "";
134
+ }
135
+ return result;
136
+ }
137
+ /**
138
+ * @description 获取头像下载地址
139
+ * @param {string} url
140
+ * @return {*} {string}
141
+ * @memberof CoopPosController
142
+ */
143
+ getDownloadUrl(url) {
144
+ if (!url) {
145
+ return "";
146
+ }
147
+ const urlConfig = JSON.parse(url);
148
+ if (urlConfig.length === 0) {
149
+ return "";
150
+ }
151
+ const { downloadUrl } = ibiz.util.file.calcFileUpDownUrl(
152
+ this.panel.context,
153
+ this.panel.params
154
+ );
155
+ return downloadUrl.replace("%fileId%", urlConfig[0].id);
156
+ }
66
157
  }
67
158
 
68
159
  export { CoopPosController };
@@ -1 +1 @@
1
- .ibiz-coop-pos{width:100%}.ibiz-coop-pos__on-line-editing{display:flex;flex-wrap:wrap;align-items:center}.ibiz-coop-pos__on-line-editing--person{width:24px;height:24px;display:flex;cursor:pointer;align-items:center;color:var(--ibiz-color-white);font-size:var(--ibiz-font-size-small);margin:var(--ibiz-spacing-super-tight);border-radius:var(--ibiz-border-radius-circle)}
1
+ .ibiz-coop-pos{width:100%}.ibiz-coop-pos__on-line-editing{display:flex;flex-wrap:wrap;align-items:center}.ibiz-coop-pos__on-line-editing--person{display:flex;align-items:center;width:24px;height:24px;margin:var(--ibiz-spacing-super-tight);font-size:var(--ibiz-font-size-small);color:var(--ibiz-color-white);cursor:pointer;border-radius:var(--ibiz-border-radius-circle)}.ibiz-coop-pos__img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:50%}
@@ -1,4 +1,4 @@
1
- import { PropType } from 'vue';
1
+ import { PropType, VNode } from 'vue';
2
2
  import { IPanelRawItem } from '@ibiz/model-core';
3
3
  import { CoopPosController } from './coop-pos.controller';
4
4
  import './coop-pos.scss';
@@ -25,6 +25,9 @@ export declare const CoopPos: import("vue").DefineComponent<{
25
25
  ns: import("@ibiz-template/core").Namespace;
26
26
  c: CoopPosController;
27
27
  messages: import("vue").ComputedRef<IData[]>;
28
+ renderItem: (message: IData) => string | VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
+ [key: string]: any;
30
+ }> | null;
28
31
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
29
32
  modelData: {
30
33
  type: PropType<IPanelRawItem>;
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, createVNode, resolveComponent, mergeProps } from 'vue';
1
+ import { defineComponent, ref, computed, createVNode, resolveComponent, mergeProps } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { CoopPosController } from './coop-pos.controller.mjs';
4
4
  import './coop-pos.css';
@@ -19,14 +19,34 @@ const CoopPos = /* @__PURE__ */ defineComponent({
19
19
  setup(props) {
20
20
  const c = props.controller;
21
21
  const ns = useNamespace("coop-pos");
22
+ const errorIcons = ref([]);
22
23
  const messages = computed(() => {
23
24
  const values = [...c.state.messageMap.values()];
24
25
  return values.filter((value) => !value.action || (c.state.messageModes || []).includes(value.action));
25
26
  });
27
+ const handleError = (url) => {
28
+ errorIcons.value.push(url);
29
+ };
30
+ const renderItem = (message) => {
31
+ let content = ibiz.util.text.abbreviation(message.username) || message.username;
32
+ if (c.showMode === "avatar") {
33
+ const iconurl = c.getIconUrlByName(message.username);
34
+ const url = c.getDownloadUrl(iconurl);
35
+ if (url && !errorIcons.value.includes(url)) {
36
+ content = createVNode("img", {
37
+ "class": ns.e("img"),
38
+ "src": url,
39
+ "onError": () => handleError(url)
40
+ }, null);
41
+ }
42
+ }
43
+ return content;
44
+ };
26
45
  return {
27
46
  ns,
28
47
  c,
29
- messages
48
+ messages,
49
+ renderItem
30
50
  };
31
51
  },
32
52
  render() {
@@ -41,7 +61,7 @@ const CoopPos = /* @__PURE__ */ defineComponent({
41
61
  username: message.username
42
62
  }) : "",
43
63
  "style": "background-color: ".concat(ibiz.util.text.stringToHexColor(message.username))
44
- }, [ibiz.util.text.abbreviation(message.username)]);
64
+ }, [this.renderItem(message)]);
45
65
  })]) : createVNode(resolveComponent("iBizCoopAlert"), mergeProps({
46
66
  "key": this.c.state.key
47
67
  }, this.c.state.alertParams), null)]);
@@ -14,6 +14,9 @@ export declare const IBizCoopPos: import("@ibiz-template/vue3-util").TypeWithIns
14
14
  ns: import("@ibiz-template/core").Namespace;
15
15
  c: CoopPosController;
16
16
  messages: import("vue").ComputedRef<IData[]>;
17
+ renderItem: (message: IData) => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
18
+ [key: string]: any;
19
+ }> | null;
17
20
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
18
21
  modelData: {
19
22
  type: import("vue").PropType<import("@ibiz/model-core").IPanelRawItem>;
@@ -26,6 +26,7 @@ import { IBizDataImport } from './data-import/index.mjs';
26
26
  import { IBizShortCut } from './short-cut/index.mjs';
27
27
  import { IBizAuthCaptcha } from './auth-captcha/index.mjs';
28
28
  import { IBizPanelButtonList } from './panel-button-list/index.mjs';
29
+ import { IBizAuthSso } from './auth-sso/index.mjs';
29
30
  export { NavPosIndexState } from './nav-pos-index/nav-pos-index.state.mjs';
30
31
  export { NavPosIndexController } from './nav-pos-index/nav-pos-index.controller.mjs';
31
32
  export { PanelButtonController } from './panel-button/panel-button.controller.mjs';
@@ -35,6 +36,7 @@ export { SplitContainerController } from './split-container/split-container.cont
35
36
  "use strict";
36
37
  const IBizPanelComponents = {
37
38
  install: (v) => {
39
+ v.use(IBizAuthSso);
38
40
  v.use(IBizPanelCtrlViewPageCaption);
39
41
  v.use(IBizPanelContainer);
40
42
  v.use(IBizPanelCtrlPos);
@@ -86,5 +86,5 @@ export declare class NavTabsController extends PanelItemController<IPanelRawItem
86
86
  * @author tony001
87
87
  * @date 2024-06-28 08:06:11
88
88
  */
89
- refreshItemUI(): void;
89
+ refreshItemUI(key: string): void;
90
90
  }
@@ -59,7 +59,7 @@ class NavTabsController extends PanelItemController {
59
59
  const findItem = this.findTabItem(key);
60
60
  if (findItem) {
61
61
  Object.assign(findItem, reject(isNil, info));
62
- this.refreshItemUI();
62
+ this.refreshItemUI(key);
63
63
  } else {
64
64
  this.state.tabItems.push({ key, ...info });
65
65
  this.state.activeTab = this.state.currentKey;
@@ -124,7 +124,7 @@ class NavTabsController extends PanelItemController {
124
124
  * @author tony001
125
125
  * @date 2024-06-28 08:06:11
126
126
  */
127
- refreshItemUI() {
127
+ refreshItemUI(key) {
128
128
  const tempItem = {
129
129
  key: "exampleItem",
130
130
  caption: ""
@@ -133,7 +133,7 @@ class NavTabsController extends PanelItemController {
133
133
  this.state.activeTab = tempItem.key;
134
134
  nextTick(() => {
135
135
  this.state.tabItems.pop();
136
- this.state.activeTab = this.state.tabItems[this.state.tabItems.length - 1].key;
136
+ this.state.activeTab = key;
137
137
  });
138
138
  }
139
139
  }
@@ -54,7 +54,8 @@ class PanelButtonListController extends PanelItemController {
54
54
  const buttonState = new UIActionButtonState(
55
55
  detail.id,
56
56
  this.model.appId,
57
- detail.uiactionId
57
+ detail.uiactionId,
58
+ detail
58
59
  );
59
60
  this.state.buttonsState.addState(detail.id, buttonState);
60
61
  }
@@ -70,7 +70,7 @@ const SearchFormButtons = /* @__PURE__ */ defineComponent({
70
70
  "onClick": this.onResetButtonClick
71
71
  }, _isSlot(_slot2 = ibiz.i18n.t("app.reset")) ? _slot2 : {
72
72
  default: () => [_slot2]
73
- }), createVNode(resolveComponent("el-dropdown-item"), {
73
+ }), this.controller.searchFrom.state.enableStoredFilters && createVNode(resolveComponent("el-dropdown-item"), {
74
74
  "onClick": this.saveFilterConfirm
75
75
  }, _isSlot(_slot3 = ibiz.i18n.t("panelComponent.searchformButtons.saveCondition")) ? _slot3 : {
76
76
  default: () => [_slot3]
@@ -135,7 +135,7 @@ const AppPopoverComponent = /* @__PURE__ */ defineComponent({
135
135
  render() {
136
136
  var _a, _b;
137
137
  const content = createVNode("div", {
138
- "class": [this.ns.b(), this.ns.is("show", this.isShow)],
138
+ "class": [this.ns.b(), this.ns.is("show", this.isShow), this.opts.modalClass || ""],
139
139
  "ref": "el",
140
140
  "style": this.customStyle,
141
141
  "onClick": (e) => {
@@ -1,6 +1,6 @@
1
1
  import { createApp } from 'vue';
2
2
  import ElementPlus from 'element-plus';
3
- import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.38-alpha.16_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
3
+ import { defaultNamespace } from '../../node_modules/.pnpm/@ibiz-template_core@0.7.38-alpha.32_axios@1.7.7_lodash-es@4.17.21_qs@6.13.0_qx-util@0.4.8_ramda@0.29.1/node_modules/@ibiz-template/core/out/utils/namespace/namespace.mjs';
4
4
  import { IBizFullscreenToolbar } from '../../common/fullscreen-toolbar/fullscreen-toolbar.mjs';
5
5
 
6
6
  "use strict";
@@ -48,7 +48,7 @@ class FullscreenUtil {
48
48
  if (this.FullscreenClass) {
49
49
  div.classList.toggle(this.FullscreenClass);
50
50
  }
51
- div.style.background = "var(--".concat(defaultNamespace, "-bg-1)");
51
+ div.style.background = "var(--".concat(defaultNamespace, "-color-bg-1)");
52
52
  const content = document.createElement("div");
53
53
  content.id = "fullscreen";
54
54
  content.style.position = "absolute";
@@ -57,7 +57,7 @@ const IBizUploadManager = /* @__PURE__ */ defineComponent({
57
57
  const data = new FormData();
58
58
  data.append("file", item.file);
59
59
  const headers = {
60
- Authorization: "Bearer ".concat(getCookie(CoreConst.TOKEN)),
60
+ ["".concat(ibiz.env.tokenHeader, "Authorization")]: "".concat(ibiz.env.tokenPrefix, "Bearer ").concat(getCookie(CoreConst.TOKEN)),
61
61
  ...props.params.headers
62
62
  };
63
63
  const res = await ibiz.net.axios({
@@ -54,6 +54,21 @@ const LoginView = /* @__PURE__ */ defineComponent({
54
54
  }
55
55
  };
56
56
  getTitle();
57
+ const platform = window.navigator.userAgent.toUpperCase();
58
+ const thirdAuth = async () => {
59
+ let result;
60
+ if (platform.indexOf("DINGTALK") !== -1) {
61
+ result = await ibiz.thirdAuth.auth("DINGTALK", "EMBED");
62
+ } else if (platform.indexOf("WXWORK") !== -1) {
63
+ result = await ibiz.thirdAuth.auth("WXWORK", "EMBED");
64
+ }
65
+ if (result && result.ok) {
66
+ window.location.hash = ru;
67
+ window.history.pushState({}, "");
68
+ window.location.reload();
69
+ }
70
+ };
71
+ thirdAuth();
57
72
  ibiz.appData = void 0;
58
73
  ibiz.orgData = void 0;
59
74
  const onClick = async () => {
@@ -76,6 +91,9 @@ const LoginView = /* @__PURE__ */ defineComponent({
76
91
  }
77
92
  };
78
93
  onMounted(async () => {
94
+ if (platform.indexOf("DINGTALK") !== -1 || platform.indexOf("WXWORK") !== -1) {
95
+ return;
96
+ }
79
97
  const search = qs.parse(window.location.search.replace("?", ""));
80
98
  if (search.isAnonymous === "true") {
81
99
  const bol = await ibiz.auth.anonymousLogin();
@@ -149,6 +149,20 @@ class EditViewEngine extends ViewEngineBase {
149
149
  this.formDataStateChange(event);
150
150
  evt.emit("onDataChange", { ...event, actionType: "REMOVE" });
151
151
  });
152
+ const appDe = await ibiz.hub.getAppDataEntity(
153
+ this.view.model.appDataEntityId,
154
+ this.view.model.appId
155
+ );
156
+ this.form.evt.on("onFormDataChange", (event) => {
157
+ const { name, value } = event;
158
+ if (name === appDe.formTypeAppDEFieldId && this.view.model.multiFormMode === 1) {
159
+ this.view.redrawView({
160
+ context: this.view.context,
161
+ params: { srfdatatype: value, [name]: value },
162
+ isReloadModel: true
163
+ });
164
+ }
165
+ });
152
166
  if (!this.view.state.noLoadDefault && model.loadDefault) {
153
167
  this.load();
154
168
  }
@@ -96,6 +96,7 @@ class LoginViewEngine extends ViewEngineBase {
96
96
  this.view.evt.emit("onAfterLogin", { ok: bol, panelDataParent });
97
97
  if (bol === true) {
98
98
  window.location.hash = this.route.query.ru || "/";
99
+ window.history.pushState({}, "");
99
100
  window.location.reload();
100
101
  }
101
102
  }
@@ -16,6 +16,7 @@ export declare class OptViewEngine extends ViewEngineBase {
16
16
  * @memberof OptViewEngine
17
17
  */
18
18
  get form(): IEditFormController;
19
+ protected init(): void;
19
20
  /**
20
21
  * 视图created生命周期执行逻辑
21
22
  *
@@ -1,4 +1,4 @@
1
- import { ViewEngineBase, SysUIActionTag, ViewCallTag } from '@ibiz-template/runtime';
1
+ import { ViewEngineBase, getControl, getControlsByView, SysUIActionTag, ViewCallTag } from '@ibiz-template/runtime';
2
2
 
3
3
  "use strict";
4
4
  class OptViewEngine extends ViewEngineBase {
@@ -11,6 +11,27 @@ class OptViewEngine extends ViewEngineBase {
11
11
  get form() {
12
12
  return this.view.getController("form");
13
13
  }
14
+ init() {
15
+ super.init();
16
+ if (this.view.model.multiFormMode === 1 && this.view.params.srfdatatype) {
17
+ const model = getControl(
18
+ this.view.model,
19
+ "_form_".concat(this.view.params.srfdatatype)
20
+ );
21
+ if (model) {
22
+ const controls = getControlsByView(this.view.model).filter((item) => {
23
+ return item.controlType !== "FORM";
24
+ });
25
+ model.name = "form";
26
+ controls.push(model);
27
+ if (this.view.model.viewLayoutPanel) {
28
+ this.view.model.viewLayoutPanel.controls = controls;
29
+ } else {
30
+ this.view.model.controls = controls;
31
+ }
32
+ }
33
+ }
34
+ }
14
35
  /**
15
36
  * 视图created生命周期执行逻辑
16
37
  *
@@ -64,6 +85,25 @@ class OptViewEngine extends ViewEngineBase {
64
85
  this.form.evt.on("onSaveSuccess", (event) => {
65
86
  formDataStateChange(event);
66
87
  });
88
+ const appDe = await ibiz.hub.getAppDataEntity(
89
+ this.view.model.appDataEntityId,
90
+ this.view.model.appId
91
+ );
92
+ this.form.evt.on("onFormDataChange", (event) => {
93
+ const { name, value } = event;
94
+ if (name === appDe.formTypeAppDEFieldId && this.view.model.multiFormMode === 1) {
95
+ this.view.redrawView({
96
+ context: this.view.context,
97
+ params: {
98
+ ...this.view.params,
99
+ srfdatatype: value,
100
+ srfdefdata: event.data[0],
101
+ [name]: value
102
+ },
103
+ isReloadModel: true
104
+ });
105
+ }
106
+ });
67
107
  if (!this.view.state.noLoadDefault && model.loadDefault) {
68
108
  this.load();
69
109
  }
@@ -1,5 +1,5 @@
1
1
  import { ISearchBarController, ISearchFormController, ITabExpPanelController, ITabSearchViewEvent, ITabSearchViewState, ViewController } from '@ibiz-template/runtime';
2
- import { IAppDETabSearchView } from '@ibiz/model-core';
2
+ import { IAppDETabSearchView, IDETabViewPanel } from '@ibiz/model-core';
3
3
  import { TabExpViewEngine } from './tab-exp-view.engine';
4
4
  /**
5
5
  * 编辑视图3(分页关系)
@@ -45,6 +45,14 @@ export declare class TabSearchViewEngine extends TabExpViewEngine {
45
45
  protected preprocessTabExpModelLayout(): void;
46
46
  onCreated(): Promise<void>;
47
47
  onMounted(): Promise<void>;
48
+ /**
49
+ * 给快捷搜索赋默认提示值
50
+ * @author ljx
51
+ * @date 2024-11-12 10:56:25
52
+ * @return {*} {Promise<void>}
53
+ * @memberof TabSearchViewEngine
54
+ */
55
+ onQuickSearchPlaceHolder(tab: IDETabViewPanel): Promise<void>;
48
56
  call(key: string, args: any): Promise<IData | null | undefined>;
49
57
  /**
50
58
  * 获取搜索相关的查询参数
@@ -61,10 +61,60 @@ class TabSearchViewEngine extends TabExpViewEngine {
61
61
  });
62
62
  }
63
63
  if (this.tabExpPanel) {
64
- this.tabExpPanel.evt.on("onTabChange", () => {
65
- this.calcViewParams();
64
+ this.tabExpPanel.evt.on(
65
+ "onTabChange",
66
+ ({ tab }) => {
67
+ this.calcViewParams();
68
+ this.onQuickSearchPlaceHolder(tab);
69
+ }
70
+ );
71
+ const { activeTabViewPanelModel } = this.tabExpPanel;
72
+ if (activeTabViewPanelModel) {
73
+ this.onQuickSearchPlaceHolder(activeTabViewPanelModel);
74
+ }
75
+ }
76
+ }
77
+ /**
78
+ * 给快捷搜索赋默认提示值
79
+ * @author ljx
80
+ * @date 2024-11-12 10:56:25
81
+ * @return {*} {Promise<void>}
82
+ * @memberof TabSearchViewEngine
83
+ */
84
+ async onQuickSearchPlaceHolder(tab) {
85
+ let { caption } = tab;
86
+ const viewConfig = await ibiz.hub.config.view.get(
87
+ tab.embeddedAppDEViewId || ""
88
+ );
89
+ const appDataEntity = await ibiz.hub.getAppDataEntity(
90
+ viewConfig.appDataEntityId,
91
+ viewConfig.appId
92
+ );
93
+ if (appDataEntity) {
94
+ const searchFields = appDataEntity.appDEFields.filter((field) => {
95
+ return field.enableQuickSearch;
66
96
  });
97
+ if (searchFields.length) {
98
+ const placeHolders = [];
99
+ searchFields.forEach((searchField) => {
100
+ if (searchField.lnlanguageRes && searchField.lnlanguageRes.lanResTag) {
101
+ placeHolders.push(
102
+ ibiz.i18n.t(
103
+ searchField.lnlanguageRes.lanResTag,
104
+ searchField.logicName
105
+ )
106
+ );
107
+ } else if (searchField.logicName) {
108
+ placeHolders.push(searchField.logicName);
109
+ }
110
+ });
111
+ if (placeHolders.length > 0) {
112
+ caption = placeHolders.join("\u3001");
113
+ }
114
+ }
67
115
  }
116
+ this.searchBar.placeHolder = caption || "";
117
+ this.searchBar.state.quickSearchPlaceHolder = caption || "";
68
118
  }
69
119
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types
70
120
  async call(key, args) {
@@ -15,7 +15,11 @@ async function attachEnvironmentConfig() {
15
15
  Object.keys(ibiz.env).forEach((key) => {
16
16
  const key2 = envMap.has(key) ? envMap.get(key) : key;
17
17
  if (env[key2] != null) {
18
- ibiz.env[key] = env[key2];
18
+ if (key2 === "customParams") {
19
+ ibiz.env[key] = JSON.parse(env[key2]);
20
+ } else {
21
+ ibiz.env[key] = env[key2];
22
+ }
19
23
  }
20
24
  });
21
25
  if (query) {
@@ -21,35 +21,42 @@ export declare class AuthGuard {
21
21
  });
22
22
  /**
23
23
  * 总的入口校验
24
- * @author lxm
25
- * @date 2024-02-21 10:43:55
26
- * @param {boolean} notLogin
24
+ *
25
+ * @author tony001
26
+ * @date 2024-11-12 14:11:32
27
+ * @param {IParams} context
28
+ * @param {boolean} [notLogin=true]
27
29
  * @return {*} {Promise<boolean>}
28
30
  */
29
- verify(notLogin?: boolean): Promise<boolean>;
31
+ verify(context: IParams, notLogin?: boolean): Promise<boolean>;
30
32
  /**
31
33
  * 匿名登录相关校验逻辑,不通过会抛异常
32
- * @author lxm
33
- * @date 2024-01-03 07:29:30
34
+ *
35
+ * @author tony001
36
+ * @date 2024-11-12 14:11:27
37
+ * @param {IParams} context
34
38
  * @return {*} {Promise<void>}
35
39
  */
36
- anonymousValidate(): Promise<void>;
40
+ anonymousValidate(context: IParams): Promise<void>;
37
41
  /**
38
42
  * 应用参数初始化
39
43
  *
40
- * @author chitanda
41
- * @date 2022-07-20 19:07:54
44
+ * @author tony001
45
+ * @date 2024-11-12 14:11:06
46
+ * @param {IParams} context
42
47
  * @return {*} {Promise<void>}
43
48
  */
44
- appInit(): Promise<void>;
49
+ appInit(context: IParams): Promise<void>;
45
50
  /**
46
51
  * 初始化模型
47
- * @author lxm
48
- * @date 2024-02-21 10:48:36
49
- * @param {boolean} [permission=true]
52
+ *
53
+ * @author tony001
54
+ * @date 2024-11-12 14:11:43
55
+ * @param {IParams} context
56
+ * @param {boolean} [_permission=true]
50
57
  * @return {*} {Promise<void>}
51
58
  */
52
- initModel(_permission?: boolean): Promise<void>;
59
+ initModel(context: IParams, _permission?: boolean): Promise<void>;
53
60
  /**
54
61
  * 加载应用数据
55
62
  *