@ibiz-template/vue3-components 0.7.10 → 0.7.12

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 (250) hide show
  1. package/dist/{chart-jfPZ04eU.js → chart-Wh3LMgZ1.js} +1 -1
  2. package/dist/index-3xonNDdv.js +4 -0
  3. package/dist/index-WP6TUdg-.js +1 -0
  4. package/dist/index-kgWpXafW.js +1 -0
  5. package/dist/index.min.css +1 -1
  6. package/dist/index.system.min.js +1 -1
  7. package/dist/map-chart-A4-TpWet.js +1 -0
  8. package/dist/wang-editor-PQvDXaA9.js +1 -0
  9. package/dist/{xlsx-util-my1qbty8.js → xlsx-util-Zf9d2PeX.js} +1 -1
  10. package/es/common/data-import2/data-import2.mjs +1 -1
  11. package/es/common/doing-notice/doing-notice.mjs +7 -5
  12. package/es/common/map-chart/map-chart.util.mjs +4 -1
  13. package/es/common/view-message/view-message.css +1 -1
  14. package/es/common/view-message/view-message.d.ts +848 -1
  15. package/es/common/view-message/view-message.mjs +52 -22
  16. package/es/control/app-menu/app-menu.mjs +6 -2
  17. package/es/control/calendar/calendar.mjs +1 -1
  18. package/es/control/chart/chart.mjs +1 -1
  19. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.d.ts +19002 -27
  20. package/es/control/dashboard/custom-dashboard-container/custom-dashboard-container.mjs +1 -1
  21. package/es/control/form/form-detail/form-group-panel/form-group-panel.mjs +1 -1
  22. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +1 -1
  23. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs +4 -2
  24. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +66 -0
  25. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.mjs +14 -11
  26. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.mjs +1 -1
  27. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.mjs +2 -2
  28. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.provider.mjs +3 -1
  29. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +17 -11
  30. package/es/control/gantt/gantt.d.ts +1 -0
  31. package/es/control/gantt/gantt.mjs +15 -4
  32. package/es/control/gantt/index.d.ts +1 -0
  33. package/es/control/grid/grid/grid.mjs +3 -2
  34. package/es/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.mjs +3 -1
  35. package/es/control/grid/row-edit-popover/row-edit-popover.mjs +9 -5
  36. package/es/control/grid/row-edit-popover/use-row-edit-popover.mjs +3 -3
  37. package/es/control/kanban/kanban.mjs +17 -9
  38. package/es/control/list/list.mjs +2 -2
  39. package/es/control/report-panel/report-detail/user2-report-panel/user2-report-panel.mjs +2 -2
  40. package/es/control/report-panel/report-panel.mjs +2 -2
  41. package/es/control/search-bar/filter-tree/filter-tree.mjs +7 -5
  42. package/es/control/search-bar/search-bar.mjs +2 -2
  43. package/es/control/search-bar/search-groups/edit-group-util.mjs +10 -2
  44. package/es/control/search-bar/search-groups/new-group-util.mjs +13 -3
  45. package/es/control/search-bar/search-groups/search-groups.d.ts +1 -1
  46. package/es/control/search-bar/search-groups/search-groups.mjs +47 -38
  47. package/es/control/toolbar/export-excel/export-excel.mjs +23 -21
  48. package/es/control/tree/el-tree-util.mjs +4 -2
  49. package/es/control/tree/tree.mjs +3 -1
  50. package/es/control/tree-grid/tree-grid.mjs +3 -1
  51. package/es/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.mjs +3 -1
  52. package/es/control/tree-grid-ex/tree-grid-ex.mjs +6 -2
  53. package/es/control/tree-grid-ex/use-row-edit-popover.mjs +3 -3
  54. package/es/control/wizard-panel/wizard-panel.mjs +3 -3
  55. package/es/editor/autocomplete/autocomplete-editor.controller.mjs +4 -1
  56. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.mjs +3 -1
  57. package/es/editor/code/monaco-editor/monaco-editor.mjs +3 -3
  58. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +2 -1
  59. package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +1 -1
  60. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.mjs +2 -1
  61. package/es/editor/data-picker/picker-editor.controller.mjs +12 -3
  62. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.mjs +1 -1
  63. package/es/editor/html/wang-editor/ai/ai-modules.mjs +1 -1
  64. package/es/editor/html/wang-editor/wang-editor.mjs +18 -12
  65. package/es/editor/list-box/list-box-picker-editor.controller.mjs +4 -1
  66. package/es/editor/markdown/markdown-editor.controller.mjs +2 -2
  67. package/es/editor/not-supported-editor/not-supported-editor.mjs +4 -2
  68. package/es/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.mjs +4 -2
  69. package/es/editor/span/span-editor.controller.mjs +4 -1
  70. package/es/editor/text-box/ibiz-input-ip/ibiz-input-ip.mjs +3 -1
  71. package/es/editor/text-box/text-box-editor.controller.mjs +4 -4
  72. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.mjs +7 -3
  73. package/es/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.mjs +1 -1
  74. package/es/index.mjs +1 -0
  75. package/es/locale/en/index.d.ts +656 -42
  76. package/es/locale/en/index.mjs +672 -58
  77. package/es/locale/zh-CN/index.d.ts +654 -42
  78. package/es/locale/zh-CN/index.mjs +660 -48
  79. package/es/panel-component/auth-captcha/auth-captcha.controller.d.ts +37 -0
  80. package/es/panel-component/auth-captcha/auth-captcha.controller.mjs +69 -0
  81. package/es/panel-component/auth-captcha/auth-captcha.css +1 -0
  82. package/es/panel-component/auth-captcha/auth-captcha.d.ts +28 -0
  83. package/es/panel-component/auth-captcha/auth-captcha.mjs +63 -0
  84. package/es/panel-component/auth-captcha/auth-captcha.provider.d.ts +14 -0
  85. package/es/panel-component/auth-captcha/auth-captcha.provider.mjs +21 -0
  86. package/es/panel-component/auth-captcha/auth-captcha.state.d.ts +38 -0
  87. package/es/panel-component/auth-captcha/auth-captcha.state.mjs +44 -0
  88. package/es/panel-component/auth-captcha/index.d.ts +25 -0
  89. package/es/panel-component/auth-captcha/index.mjs +15 -0
  90. package/es/panel-component/auth-userinfo/auth-userinfo.mjs +1 -1
  91. package/es/panel-component/index.mjs +4 -0
  92. package/es/panel-component/nav-pos-index/nav-pos-index.mjs +2 -2
  93. package/es/panel-component/nav-tabs/nav-tabs.mjs +4 -4
  94. package/es/panel-component/panel-remember-me/panel-remember-me.mjs +1 -1
  95. package/es/panel-component/panel-tab-panel/index.d.ts +4 -2
  96. package/es/panel-component/panel-tab-panel/panel-tab-panel.controller.d.ts +31 -0
  97. package/es/panel-component/panel-tab-panel/panel-tab-panel.controller.mjs +42 -0
  98. package/es/panel-component/panel-tab-panel/panel-tab-panel.d.ts +5 -3
  99. package/es/panel-component/panel-tab-panel/panel-tab-panel.mjs +14 -5
  100. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.d.ts +2 -1
  101. package/es/panel-component/panel-tab-panel/panel-tab-panel.provider.mjs +2 -2
  102. package/es/panel-component/panel-tab-panel/panel-tab-panel.state.d.ts +20 -0
  103. package/es/panel-component/panel-tab-panel/panel-tab-panel.state.mjs +24 -0
  104. package/es/panel-component/searchform-buttons/searchform-buttons.controller.mjs +3 -1
  105. package/es/panel-component/searchform-buttons/searchform-buttons.mjs +16 -11
  106. package/es/panel-component/short-cut/index.d.ts +43 -0
  107. package/es/panel-component/short-cut/index.mjs +12 -0
  108. package/es/panel-component/short-cut/short-cut.css +1 -0
  109. package/es/panel-component/short-cut/short-cut.d.ts +46 -0
  110. package/es/panel-component/short-cut/short-cut.mjs +190 -0
  111. package/es/panel-component/short-cut/short-cut.provider.d.ts +12 -0
  112. package/es/panel-component/short-cut/short-cut.provider.mjs +21 -0
  113. package/es/panel-component/user-message/async-action/async-action-preview/async-action-preview.mjs +20 -14
  114. package/es/panel-component/user-message/async-action/async-action-tab/async-action-tab.mjs +5 -3
  115. package/es/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.mjs +1 -1
  116. package/es/panel-component/user-message/internal-message/internal-message-json/internal-message-json.mjs +3 -3
  117. package/es/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.mjs +9 -5
  118. package/es/panel-component/user-message/user-message.mjs +4 -4
  119. package/es/panel-component/view-msg-pos/view-msg-pos.mjs +4 -1
  120. package/es/util/index.d.ts +1 -0
  121. package/es/util/index.mjs +1 -0
  122. package/es/util/render-util/render-util.d.ts +48 -0
  123. package/es/util/render-util/render-util.mjs +60 -0
  124. package/es/view/403-view/403-view.mjs +4 -4
  125. package/es/view/404-view/404-view.mjs +4 -4
  126. package/es/view/error-view/error-view.mjs +3 -1
  127. package/es/view/login-view/login-view.mjs +27 -23
  128. package/es/view/sub-app-ref-view/sub-app-ref-view.mjs +1 -1
  129. package/es/view-engine/edit-view.engine.mjs +22 -18
  130. package/es/view-engine/exp-view.engine.mjs +1 -1
  131. package/es/view-engine/login-view.engine.mjs +18 -3
  132. package/es/view-engine/mpickup-view-engine.mjs +1 -1
  133. package/es/view-engine/opt-view.engine.mjs +2 -2
  134. package/es/view-engine/tab-exp-view.engine.mjs +2 -2
  135. package/es/view-engine/wf-dyna-edit-view.engine.mjs +5 -2
  136. package/es/web-app/guard/auth-guard/auth-guard.mjs +8 -6
  137. package/es/web-app/main.mjs +2 -0
  138. package/es/web-app/util/unauthorized-handler/unauthorized-handler.mjs +3 -1
  139. package/lib/common/data-import2/data-import2.cjs +1 -1
  140. package/lib/common/doing-notice/doing-notice.cjs +6 -4
  141. package/lib/common/map-chart/map-chart.util.cjs +4 -1
  142. package/lib/common/view-message/view-message.cjs +52 -22
  143. package/lib/common/view-message/view-message.css +1 -1
  144. package/lib/control/app-menu/app-menu.cjs +6 -2
  145. package/lib/control/calendar/calendar.cjs +1 -1
  146. package/lib/control/chart/chart.cjs +1 -1
  147. package/lib/control/dashboard/custom-dashboard-container/custom-dashboard-container.cjs +1 -1
  148. package/lib/control/form/form-detail/form-group-panel/form-group-panel.cjs +1 -1
  149. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +1 -1
  150. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.cjs +3 -1
  151. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.cjs +13 -10
  152. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-single-form/repeater-single-form.cjs +1 -1
  153. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.cjs +1 -1
  154. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.provider.cjs +3 -1
  155. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +16 -10
  156. package/lib/control/gantt/gantt.cjs +14 -3
  157. package/lib/control/grid/grid/grid.cjs +3 -2
  158. package/lib/control/grid/grid-column/grid-field-edit-column/grid-field-edit-column.cjs +3 -1
  159. package/lib/control/grid/row-edit-popover/row-edit-popover.cjs +8 -4
  160. package/lib/control/grid/row-edit-popover/use-row-edit-popover.cjs +3 -3
  161. package/lib/control/kanban/kanban.cjs +16 -8
  162. package/lib/control/list/list.cjs +1 -1
  163. package/lib/control/report-panel/report-detail/user2-report-panel/user2-report-panel.cjs +1 -1
  164. package/lib/control/report-panel/report-panel.cjs +1 -1
  165. package/lib/control/search-bar/filter-tree/filter-tree.cjs +7 -5
  166. package/lib/control/search-bar/search-bar.cjs +2 -2
  167. package/lib/control/search-bar/search-groups/edit-group-util.cjs +10 -2
  168. package/lib/control/search-bar/search-groups/new-group-util.cjs +13 -3
  169. package/lib/control/search-bar/search-groups/search-groups.cjs +46 -37
  170. package/lib/control/toolbar/export-excel/export-excel.cjs +23 -21
  171. package/lib/control/tree/el-tree-util.cjs +4 -2
  172. package/lib/control/tree/tree.cjs +3 -1
  173. package/lib/control/tree-grid/tree-grid.cjs +3 -1
  174. package/lib/control/tree-grid-ex/tree-grid-ex-column/tree-grid-ex-edit-column/tree-grid-ex-edit-column.cjs +3 -1
  175. package/lib/control/tree-grid-ex/tree-grid-ex.cjs +6 -2
  176. package/lib/control/tree-grid-ex/use-row-edit-popover.cjs +3 -3
  177. package/lib/control/wizard-panel/wizard-panel.cjs +3 -3
  178. package/lib/editor/autocomplete/autocomplete-editor.controller.cjs +4 -1
  179. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.cjs +3 -1
  180. package/lib/editor/code/monaco-editor/monaco-editor.cjs +3 -3
  181. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +2 -1
  182. package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +1 -1
  183. package/lib/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.cjs +2 -1
  184. package/lib/editor/data-picker/picker-editor.controller.cjs +12 -3
  185. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.cjs +1 -1
  186. package/lib/editor/html/wang-editor/ai/ai-modules.cjs +1 -1
  187. package/lib/editor/html/wang-editor/wang-editor.cjs +17 -11
  188. package/lib/editor/list-box/list-box-picker-editor.controller.cjs +4 -1
  189. package/lib/editor/markdown/markdown-editor.controller.cjs +2 -2
  190. package/lib/editor/not-supported-editor/not-supported-editor.cjs +3 -1
  191. package/lib/editor/preset/preset-rawitem/ibiz-preset-rawitem/ibiz-preset-rawitem.cjs +3 -1
  192. package/lib/editor/span/span-editor.controller.cjs +4 -1
  193. package/lib/editor/text-box/ibiz-input-ip/ibiz-input-ip.cjs +3 -1
  194. package/lib/editor/text-box/text-box-editor.controller.cjs +4 -4
  195. package/lib/editor/upload/ibiz-file-upload/ibiz-file-upload.cjs +6 -2
  196. package/lib/editor/user/ibiz-searchcond-edit/ibiz-searchcond-edit.cjs +1 -1
  197. package/lib/index.cjs +2 -0
  198. package/lib/locale/en/index.cjs +672 -58
  199. package/lib/locale/zh-CN/index.cjs +660 -48
  200. package/lib/panel-component/auth-captcha/auth-captcha.cjs +65 -0
  201. package/lib/panel-component/auth-captcha/auth-captcha.controller.cjs +71 -0
  202. package/lib/panel-component/auth-captcha/auth-captcha.css +1 -0
  203. package/lib/panel-component/auth-captcha/auth-captcha.provider.cjs +23 -0
  204. package/lib/panel-component/auth-captcha/auth-captcha.state.cjs +46 -0
  205. package/lib/panel-component/auth-captcha/index.cjs +20 -0
  206. package/lib/panel-component/auth-userinfo/auth-userinfo.cjs +1 -1
  207. package/lib/panel-component/index.cjs +4 -0
  208. package/lib/panel-component/nav-pos-index/nav-pos-index.cjs +1 -1
  209. package/lib/panel-component/nav-tabs/nav-tabs.cjs +3 -3
  210. package/lib/panel-component/panel-remember-me/panel-remember-me.cjs +1 -1
  211. package/lib/panel-component/panel-tab-panel/panel-tab-panel.cjs +14 -5
  212. package/lib/panel-component/panel-tab-panel/panel-tab-panel.controller.cjs +44 -0
  213. package/lib/panel-component/panel-tab-panel/panel-tab-panel.provider.cjs +2 -2
  214. package/lib/panel-component/panel-tab-panel/panel-tab-panel.state.cjs +26 -0
  215. package/lib/panel-component/searchform-buttons/searchform-buttons.cjs +15 -10
  216. package/lib/panel-component/searchform-buttons/searchform-buttons.controller.cjs +3 -1
  217. package/lib/panel-component/short-cut/index.cjs +17 -0
  218. package/lib/panel-component/short-cut/short-cut.cjs +192 -0
  219. package/lib/panel-component/short-cut/short-cut.css +1 -0
  220. package/lib/panel-component/short-cut/short-cut.provider.cjs +23 -0
  221. package/lib/panel-component/user-message/async-action/async-action-preview/async-action-preview.cjs +19 -13
  222. package/lib/panel-component/user-message/async-action/async-action-tab/async-action-tab.cjs +4 -2
  223. package/lib/panel-component/user-message/internal-message/common/internal-message-container/internal-message-container.cjs +1 -1
  224. package/lib/panel-component/user-message/internal-message/internal-message-json/internal-message-json.cjs +2 -2
  225. package/lib/panel-component/user-message/internal-message/internal-message-tab/internal-message-tab.cjs +8 -4
  226. package/lib/panel-component/user-message/user-message.cjs +4 -4
  227. package/lib/panel-component/view-msg-pos/view-msg-pos.cjs +4 -1
  228. package/lib/util/index.cjs +2 -0
  229. package/lib/util/render-util/render-util.cjs +62 -0
  230. package/lib/view/403-view/403-view.cjs +3 -3
  231. package/lib/view/404-view/404-view.cjs +3 -3
  232. package/lib/view/error-view/error-view.cjs +3 -1
  233. package/lib/view/login-view/login-view.cjs +26 -22
  234. package/lib/view/sub-app-ref-view/sub-app-ref-view.cjs +1 -1
  235. package/lib/view-engine/edit-view.engine.cjs +22 -18
  236. package/lib/view-engine/exp-view.engine.cjs +1 -1
  237. package/lib/view-engine/login-view.engine.cjs +18 -3
  238. package/lib/view-engine/mpickup-view-engine.cjs +1 -1
  239. package/lib/view-engine/opt-view.engine.cjs +2 -2
  240. package/lib/view-engine/tab-exp-view.engine.cjs +2 -2
  241. package/lib/view-engine/wf-dyna-edit-view.engine.cjs +5 -2
  242. package/lib/web-app/guard/auth-guard/auth-guard.cjs +8 -6
  243. package/lib/web-app/main.cjs +2 -0
  244. package/lib/web-app/util/unauthorized-handler/unauthorized-handler.cjs +3 -1
  245. package/package.json +7 -6
  246. package/dist/index-GoU343c8.js +0 -4
  247. package/dist/index-dsmTOMa5.js +0 -1
  248. package/dist/index-sGpuIVYT.js +0 -1
  249. package/dist/map-chart-cmVrWpPw.js +0 -1
  250. package/dist/wang-editor-Vch7U079.js +0 -1
@@ -1,4 +1,4 @@
1
- import { ref, watch, reactive, onUnmounted, onMounted, createVNode, createTextVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { ref, watch, reactive, onUnmounted, onMounted, createVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { getInternalMessageProvider } from '@ibiz-template/runtime';
4
4
  import './internal-message-tab.css';
@@ -119,19 +119,23 @@ const InternalMessageTab = /* @__PURE__ */ defineComponent({
119
119
  }
120
120
  return createVNode("div", {
121
121
  "class": this.ns.e("item")
122
- }, ["\u7AD9\u5185\u6D88\u606F\u7C7B\u578B".concat(msg.content_type, "\u6682\u672A\u652F\u6301")]);
122
+ }, [ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.noSupportType", {
123
+ type: msg.content_type
124
+ })]);
123
125
  }), this.allItems.length === 0 && createVNode("div", {
124
126
  "class": this.ns.e("nodata")
125
- }, [createTextVNode("\u6682\u65E0\u901A\u77E5")]), restLength > 0 && createVNode("div", {
127
+ }, [ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.notificationYet")]), restLength > 0 && createVNode("div", {
126
128
  "class": this.ns.e("load-more"),
127
129
  "onClick": this.showMore
128
- }, [createTextVNode("\u52A0\u8F7D\u66F4\u591A("), restLength, createTextVNode(")")])]), createVNode("div", {
130
+ }, [ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.loadMore", {
131
+ length: restLength
132
+ })])]), createVNode("div", {
129
133
  "class": this.ns.b("footer")
130
134
  }, [createVNode(resolveComponent("el-switch"), {
131
135
  "value": this.state.unreadOnly,
132
136
  "onChange": this.switchChange,
133
137
  "class": this.ns.be("footer", "switch")
134
- }, null), " ", createTextVNode("\u53EA\u663E\u793A\u672A\u8BFB")])]);
138
+ }, null), " ", ibiz.i18n.t("panelComponent.userMessage.internalMessageTab.onlyShowUnread")])]);
135
139
  }
136
140
  });
137
141
 
@@ -84,7 +84,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
84
84
  },
85
85
  render() {
86
86
  return createVNode("div", {
87
- "title": "\u901A\u77E5",
87
+ "title": ibiz.i18n.t("panelComponent.userMessage.notice"),
88
88
  "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass]
89
89
  }, [createVNode(resolveComponent("el-popover"), {
90
90
  "ref": "popoverRef",
@@ -116,7 +116,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
116
116
  "onUpdate:modelValue": ($event) => this.currentTab = $event
117
117
  }, {
118
118
  default: () => [createVNode(resolveComponent("el-tab-pane"), {
119
- "label": "\u901A\u77E5",
119
+ "label": ibiz.i18n.t("panelComponent.userMessage.notice"),
120
120
  "name": "notification"
121
121
  }, {
122
122
  default: () => [createVNode(InternalMessageTab, {
@@ -125,7 +125,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
125
125
  "onHiddenPopover": this.hiddenPopover
126
126
  }, null)]
127
127
  }), createVNode(resolveComponent("el-tab-pane"), {
128
- "label": "\u540E\u53F0\u4F5C\u4E1A",
128
+ "label": ibiz.i18n.t("panelComponent.userMessage.backendTasks"),
129
129
  "name": "async-action"
130
130
  }, {
131
131
  default: () => [createVNode(AsyncActionTab, {
@@ -142,7 +142,7 @@ const UserMessage = /* @__PURE__ */ defineComponent({
142
142
  imagePath: "svg/read.svg"
143
143
  },
144
144
  "baseDir": "iconfont",
145
- "title": "\u5168\u90E8\u5DF2\u8BFB",
145
+ "title": ibiz.i18n.t("panelComponent.userMessage.allRead"),
146
146
  "onClick": this.onBatchReadClick
147
147
  }, null)])]);
148
148
  }
@@ -37,7 +37,10 @@ const ViewMsgPos = /* @__PURE__ */ defineComponent({
37
37
  "class": this.ns.b()
38
38
  }, [createVNode(resolveComponent("view-message"), {
39
39
  "messages": viewMessages,
40
- "scroll": scroll
40
+ "scroll": scroll,
41
+ "context": c.panel.context,
42
+ "params": c.panel.params,
43
+ "controller": c.panel.view.viewMsgController
41
44
  }, null)]);
42
45
  }
43
46
  return null;
@@ -7,3 +7,4 @@ export { OpenViewUtil } from './open-view-util/open-view-util';
7
7
  export { OverlayController } from './overlay-controller/overlay-controller';
8
8
  export { usePagination } from './pagination/use-pagination';
9
9
  export { NoticeUtil } from './notice-util/notice-util';
10
+ export { RenderUtil } from './render-util/render-util';
package/es/util/index.mjs CHANGED
@@ -7,5 +7,6 @@ export { OpenViewUtil } from './open-view-util/open-view-util.mjs';
7
7
  export { OverlayController } from './overlay-controller/overlay-controller.mjs';
8
8
  export { usePagination } from './pagination/use-pagination.mjs';
9
9
  export { NoticeUtil } from './notice-util/notice-util.mjs';
10
+ export { RenderUtil } from './render-util/render-util.mjs';
10
11
 
11
12
  "use strict";
@@ -0,0 +1,48 @@
1
+ import { IRenderUtil } from '@ibiz-template/runtime';
2
+ import { IAppView, IControl } from '@ibiz/model-core';
3
+ /**
4
+ * 绘制工具类(包含逻辑中绘制视图、绘制部件等功能)
5
+ *
6
+ * @description 此实现类挂载在 ibiz.render
7
+ * @author tony001
8
+ * @date 2024-05-08 16:05:07
9
+ * @export
10
+ * @class RenderUtil
11
+ * @implements {IRenderUtil}
12
+ */
13
+ export declare class RenderUtil implements IRenderUtil {
14
+ /**
15
+ * 绘制视图
16
+ *
17
+ * @author tony001
18
+ * @date 2024-05-08 16:05:56
19
+ * @param {string} viewId
20
+ * @param {IAppView} model
21
+ * @param {IContext} context
22
+ * @param {IParams} params
23
+ * @param {IData} [options]
24
+ * @return {*} {IObject}
25
+ */
26
+ renderViewShell(viewId: string, model: IAppView, context: IContext, params: IParams, options?: IData): IObject;
27
+ /**
28
+ * 绘制部件
29
+ *
30
+ * @author tony001
31
+ * @date 2024-05-08 16:05:02
32
+ * @param {IControl} model
33
+ * @param {IContext} context
34
+ * @param {IParams} params
35
+ * @param {IData} [options]
36
+ */
37
+ renderCtrlShell(model: IControl, context: IContext, params: IParams, options?: IData): IObject;
38
+ /**
39
+ * 绘制组件
40
+ *
41
+ * @author tony001
42
+ * @date 2024-05-08 16:05:08
43
+ * @param {string} name
44
+ * @param {IData} options
45
+ * @return {*} {IObject}
46
+ */
47
+ renderComponent(name: string, options: IData): IObject;
48
+ }
@@ -0,0 +1,60 @@
1
+ import { resolveComponent, h } from 'vue';
2
+
3
+ "use strict";
4
+ class RenderUtil {
5
+ /**
6
+ * 绘制视图
7
+ *
8
+ * @author tony001
9
+ * @date 2024-05-08 16:05:56
10
+ * @param {string} viewId
11
+ * @param {IAppView} model
12
+ * @param {IContext} context
13
+ * @param {IParams} params
14
+ * @param {IData} [options]
15
+ * @return {*} {IObject}
16
+ */
17
+ renderViewShell(viewId, model, context, params, options = {}) {
18
+ const props = {
19
+ viewId,
20
+ modelData: model,
21
+ context,
22
+ params,
23
+ ...options
24
+ };
25
+ return h(resolveComponent("IBizViewShell"), props);
26
+ }
27
+ /**
28
+ * 绘制部件
29
+ *
30
+ * @author tony001
31
+ * @date 2024-05-08 16:05:02
32
+ * @param {IControl} model
33
+ * @param {IContext} context
34
+ * @param {IParams} params
35
+ * @param {IData} [options]
36
+ */
37
+ renderCtrlShell(model, context, params, options = {}) {
38
+ const props = {
39
+ modelData: model,
40
+ context,
41
+ params,
42
+ ...options
43
+ };
44
+ return h(resolveComponent("IBizControlShell"), props);
45
+ }
46
+ /**
47
+ * 绘制组件
48
+ *
49
+ * @author tony001
50
+ * @date 2024-05-08 16:05:08
51
+ * @param {string} name
52
+ * @param {IData} options
53
+ * @return {*} {IObject}
54
+ */
55
+ renderComponent(name, options) {
56
+ return h(resolveComponent(name), options);
57
+ }
58
+ }
59
+
60
+ export { RenderUtil };
@@ -1,4 +1,4 @@
1
- import { onMounted, computed, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { onMounted, computed, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import './403-view.css';
@@ -34,11 +34,11 @@ const View403 = /* @__PURE__ */ defineComponent({
34
34
  "class": this.ns.b("text")
35
35
  }, [createVNode("div", {
36
36
  "class": this.ns.be("text", "text1")
37
- }, [createTextVNode("\u62B1\u6B49\uFF0C\u60A8\u6CA1\u6709\u8BBF\u95EE\u8BE5\u9875\u9762\u7684\u6743\u9650")]), this.isTop ? createVNode("div", {
37
+ }, [ibiz.i18n.t("view.noPermissionView.noPermissionPrompt")]), this.isTop ? createVNode("div", {
38
38
  "class": this.ns.be("text", "text2")
39
- }, [createTextVNode("\u60A8\u6CA1\u6709\u8BBF\u95EE\u8BE5\u9875\u9762\u7684\u6743\u9650\uFF0C\u8BF7"), createVNode("a", {
39
+ }, [ibiz.i18n.t("view.noPermissionView.noPermission"), createVNode("a", {
40
40
  "onClick": this.gotoIndexView
41
- }, [createTextVNode("\u8FD4\u56DE\u9996\u9875")]), createTextVNode("\u7EE7\u7EED\u6D4F\u89C8")]) : null])]);
41
+ }, [ibiz.i18n.t("view.common.backHomepage")]), ibiz.i18n.t("view.common.continueBrowsing")]) : null])]);
42
42
  }
43
43
  });
44
44
 
@@ -1,4 +1,4 @@
1
- import { onMounted, computed, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { onMounted, computed, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { useRouter, useRoute } from 'vue-router';
4
4
  import './404-view.css';
@@ -34,11 +34,11 @@ const View404 = /* @__PURE__ */ defineComponent({
34
34
  "class": this.ns.b("text")
35
35
  }, [createVNode("div", {
36
36
  "class": this.ns.be("text", "text1")
37
- }, [createTextVNode("\u62B1\u6B49\uFF0C\u60A8\u8BBF\u95EE\u7684\u8D44\u6E90\u4E0D\u5B58\u5728")]), this.isTop ? createVNode("div", {
37
+ }, [ibiz.i18n.t("view.noResourcesView.noResourcePrompt")]), this.isTop ? createVNode("div", {
38
38
  "class": this.ns.be("text", "text2")
39
- }, [createTextVNode("\u60A8\u8981\u627E\u7684\u8D44\u6E90\u4E0D\u5B58\u5728\uFF0C\u8BF7"), createVNode("a", {
39
+ }, [ibiz.i18n.t("view.noResourcesView.resourceNoExist"), createVNode("a", {
40
40
  "onClick": this.gotoIndexView
41
- }, [createTextVNode("\u8FD4\u56DE\u9996\u9875")]), createTextVNode("\u7EE7\u7EED\u6D4F\u89C8")]) : null])]);
41
+ }, [ibiz.i18n.t("view.common.backHomepage")]), ibiz.i18n.t("view.common.continueBrowsing")]) : null])]);
42
42
  }
43
43
  });
44
44
 
@@ -35,7 +35,9 @@ const ErrorView = /* @__PURE__ */ defineComponent({
35
35
  }
36
36
  return createVNode("div", {
37
37
  "class": [this.ns.b()]
38
- }, ["\u9519\u8BEF\u89C6\u56FE\u4E0D\u5B58\u5728".concat(this.code)]);
38
+ }, [ibiz.i18n.t("view.errorView.noExistPrompt", {
39
+ code: this.code
40
+ })]);
39
41
  }
40
42
  });
41
43
 
@@ -1,4 +1,4 @@
1
- import { reactive, ref, resolveComponent, onMounted, h, createVNode, createTextVNode, defineComponent } from 'vue';
1
+ import { isVNode, reactive, ref, resolveComponent, onMounted, h, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { useRoute } from 'vue-router';
4
4
  import { IBizContext } from '@ibiz-template/core';
@@ -6,26 +6,29 @@ import qs from 'qs';
6
6
  import './login-view.css';
7
7
 
8
8
  "use strict";
9
- const rules = {
10
- username: [{
11
- required: true,
12
- message: "\u8BF7\u8F93\u5165\u8D26\u53F7",
13
- trigger: "blur"
14
- }],
15
- password: [{
16
- required: true,
17
- message: "\u8BF7\u8F93\u5165\u5BC6\u7801",
18
- trigger: "blur"
19
- }, {
20
- type: "string",
21
- min: 6,
22
- message: "\u5BC6\u7801\u957F\u5EA6\u4E0D\u80FD\u5C11\u4E8E6\u4F4D",
23
- trigger: "blur"
24
- }]
25
- };
9
+ function _isSlot(s) {
10
+ return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
11
+ }
26
12
  const LoginView = /* @__PURE__ */ defineComponent({
27
13
  setup() {
28
14
  const ns = useNamespace("login-view");
15
+ const rules = {
16
+ username: [{
17
+ required: true,
18
+ message: ibiz.i18n.t("app.pleaseEnterAccount"),
19
+ trigger: "blur"
20
+ }],
21
+ password: [{
22
+ required: true,
23
+ message: ibiz.i18n.t("app.pleaseEnterPassword"),
24
+ trigger: "blur"
25
+ }, {
26
+ type: "string",
27
+ min: 6,
28
+ message: ibiz.i18n.t("view.loginView.passwordLength"),
29
+ trigger: "blur"
30
+ }]
31
+ };
29
32
  const loginData = reactive({
30
33
  username: "",
31
34
  password: ""
@@ -97,6 +100,7 @@ const LoginView = /* @__PURE__ */ defineComponent({
97
100
  });
98
101
  return () => {
99
102
  if (isMounted.value && isAnonymous.value === false) {
103
+ let _slot;
100
104
  return hasLoginView.value ? h(viewShell, {
101
105
  context,
102
106
  params,
@@ -131,7 +135,7 @@ const LoginView = /* @__PURE__ */ defineComponent({
131
135
  "modelValue": loginData.username,
132
136
  "onUpdate:modelValue": ($event) => loginData.username = $event,
133
137
  "clearable": true,
134
- "placeholder": "\u8BF7\u8F93\u5165\u8D26\u53F7",
138
+ "placeholder": ibiz.i18n.t("app.pleaseEnterAccount"),
135
139
  "onKeyup": (e) => onKeyUp(e)
136
140
  }, {
137
141
  prefix: () => createVNode("ion-icon", {
@@ -147,7 +151,7 @@ const LoginView = /* @__PURE__ */ defineComponent({
147
151
  "modelValue": loginData.password,
148
152
  "onUpdate:modelValue": ($event) => loginData.password = $event,
149
153
  "show-password": true,
150
- "placeholder": "\u8BF7\u8F93\u5165\u5BC6\u7801",
154
+ "placeholder": ibiz.i18n.t("app.pleaseEnterPassword"),
151
155
  "onKeyup": (e) => onKeyUp(e)
152
156
  }, {
153
157
  prefix: () => createVNode("ion-icon", {
@@ -157,7 +161,7 @@ const LoginView = /* @__PURE__ */ defineComponent({
157
161
  }), createVNode(resolveComponent("el-checkbox"), {
158
162
  "modelValue": isRemember.value,
159
163
  "onUpdate:modelValue": ($event) => isRemember.value = $event,
160
- "label": "\u8BB0\u4F4F\u6211"
164
+ "label": ibiz.i18n.t("app.rememberMe")
161
165
  }, null), createVNode(resolveComponent("el-form-item"), {
162
166
  "size": "large"
163
167
  }, {
@@ -167,8 +171,8 @@ const LoginView = /* @__PURE__ */ defineComponent({
167
171
  "size": "large",
168
172
  "round": true,
169
173
  "loading": loading.value
170
- }, {
171
- default: () => [createTextVNode("\u767B\u5F55")]
174
+ }, _isSlot(_slot = ibiz.i18n.t("view.loginView.login")) ? _slot : {
175
+ default: () => [_slot]
172
176
  })]
173
177
  })]
174
178
  })])])])]);
@@ -65,7 +65,7 @@ const SubAppRefView = /* @__PURE__ */ defineComponent({
65
65
  "onClick": this.handleClick,
66
66
  "size": "large"
67
67
  }, {
68
- default: () => [this.c.model.title || "\u8DF3\u8F6C"]
68
+ default: () => [this.c.model.title || ibiz.i18n.t("view.subAppRefView.jump")]
69
69
  })]);
70
70
  }
71
71
  });
@@ -65,8 +65,8 @@ class EditViewEngine extends ViewEngineBase {
65
65
  const isChange = (this.form.state.modified || uiDomain.dataModification) && this.view.model.enableDirtyChecking === true;
66
66
  if (isChange && context.allowClose == null) {
67
67
  const isAllow = await ibiz.confirm.error({
68
- title: "\u5173\u95ED\u63D0\u9192",
69
- desc: "\u8868\u5355\u6570\u636E\u5DF2\u7ECF\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5173\u95ED\uFF1F"
68
+ title: ibiz.i18n.t("viewEngine.closeRemind"),
69
+ desc: ibiz.i18n.t("viewEngine.confirmClosePrompt")
70
70
  });
71
71
  if (!isAllow) {
72
72
  context.allowClose = false;
@@ -89,7 +89,9 @@ class EditViewEngine extends ViewEngineBase {
89
89
  if (data.srfkey) {
90
90
  evt.emit("onViewInfoChange", { dataInfo: data.srfmajortext || "" });
91
91
  } else {
92
- evt.emit("onViewInfoChange", { dataInfo: "\u65B0\u5EFA" });
92
+ evt.emit("onViewInfoChange", {
93
+ dataInfo: ibiz.i18n.t("app.newlyBuild")
94
+ });
93
95
  }
94
96
  }
95
97
  };
@@ -212,7 +214,7 @@ class EditViewEngine extends ViewEngineBase {
212
214
  (_b = (_a = data.srfwftag) != null ? _a : this.view.params.srfwftag) != null ? _b : this.view.context.srfwftag
213
215
  );
214
216
  if (res.data.length === 0) {
215
- throw new RuntimeError("\u5F53\u524D\u5DE5\u4F5C\u6D41\u7248\u672C\u4E0D\u5B58\u5728");
217
+ throw new RuntimeError(ibiz.i18n.t("viewEngine.noExistVersionErr"));
216
218
  }
217
219
  const wfInfo = res.data[0];
218
220
  const refKey = "WFSTART@".concat(wfInfo.wfversion);
@@ -298,18 +300,18 @@ class EditViewEngine extends ViewEngineBase {
298
300
  let actionMsg = "";
299
301
  switch (data.action) {
300
302
  case "VIEW":
301
- actionMsg = "\u6D4F\u89C8\u4E86";
303
+ actionMsg = ibiz.i18n.t("viewEngine.browseMsg");
302
304
  break;
303
305
  case "EDIT":
304
- actionMsg = "\u7F16\u8F91\u4E86";
306
+ actionMsg = ibiz.i18n.t("viewEngine.editMsg");
305
307
  break;
306
308
  case "UPDATE":
307
- actionMsg = "\u66F4\u65B0\u4E86";
309
+ actionMsg = ibiz.i18n.t("viewEngine.updateMsg");
308
310
  break;
309
311
  default:
310
312
  break;
311
313
  }
312
- const message = "".concat(modes.includes("DISPLAYOPPERSON") ? data.username : "\u6709\u4EBA", " ").concat(actionMsg, " ").concat(this.view.state.caption, "-").concat(dataInfo);
314
+ const message = "".concat(modes.includes("DISPLAYOPPERSON") ? data.username : ibiz.i18n.t("viewEngine.someone"), " ").concat(actionMsg, " ").concat(this.view.state.caption, "-").concat(dataInfo);
313
315
  if (this.coopPos) {
314
316
  this.coopPos.updateMessage({
315
317
  title: message
@@ -396,13 +398,13 @@ class EditViewEngine extends ViewEngineBase {
396
398
  */
397
399
  async reloadConfirm() {
398
400
  const result = await ibiz.confirm.info({
399
- title: "\u662F\u5426\u5237\u65B0",
400
- desc: "\u6570\u636E\u5DF2\u88AB\u4FEE\u6539\u662F\u5426\u5237\u65B0\u9875\u9762\uFF1F"
401
+ title: ibiz.i18n.t("viewEngine.refreshPrompt"),
402
+ desc: ibiz.i18n.t("viewEngine.refreshPagePrompt")
401
403
  });
402
404
  if (result && this.form.state.modified) {
403
405
  return ibiz.confirm.warning({
404
- title: "\u5237\u65B0\u63D0\u9192",
405
- desc: "\u8868\u5355\u6570\u636E\u5DF2\u7ECF\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5237\u65B0\uFF1F"
406
+ title: ibiz.i18n.t("viewEngine.refreshRemind"),
407
+ desc: ibiz.i18n.t("viewEngine.confirmRefreshPrompt")
406
408
  });
407
409
  }
408
410
  return result;
@@ -416,11 +418,13 @@ class EditViewEngine extends ViewEngineBase {
416
418
  async changeRecord(type) {
417
419
  const viewId = this.view.context.srfpaginationviewid;
418
420
  if (!viewId) {
419
- throw new RuntimeError("context\u7F3A\u5C11srfpaginationviewid");
421
+ throw new RuntimeError(ibiz.i18n.t("viewEngine.missingErr"));
420
422
  }
421
423
  const view = ibiz.util.viewStack.getView(viewId);
422
424
  if (!view) {
423
- throw new RuntimeError("\u627E\u4E0D\u5230id\u662F".concat(viewId, "\u7684\u89C6\u56FE"));
425
+ throw new RuntimeError(
426
+ ibiz.i18n.t("viewEngine.noFoundViewId", { id: viewId })
427
+ );
424
428
  }
425
429
  const items = await view.call(ViewCallTag.GET_ALL_DATA);
426
430
  const index = items.findIndex(
@@ -430,28 +434,28 @@ class EditViewEngine extends ViewEngineBase {
430
434
  switch (type) {
431
435
  case SysUIActionTag.FIRST_RECORD:
432
436
  if (index === 0) {
433
- ibiz.message.info("\u5DF2\u7ECF\u662F\u7B2C\u4E00\u6761\u6570\u636E\u4E86");
437
+ ibiz.message.info(ibiz.i18n.t("viewEngine.firstPieceOfData"));
434
438
  return;
435
439
  }
436
440
  targetItem = items[0];
437
441
  break;
438
442
  case SysUIActionTag.LAST_RECORD:
439
443
  if (index === items.length - 1) {
440
- ibiz.message.info("\u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u6761\u6570\u636E\u4E86");
444
+ ibiz.message.info(ibiz.i18n.t("viewEngine.lastPieceOfData"));
441
445
  return;
442
446
  }
443
447
  targetItem = items[items.length - 1];
444
448
  break;
445
449
  case SysUIActionTag.PREV_RECORD:
446
450
  if (index === 0) {
447
- ibiz.message.info("\u5DF2\u7ECF\u662F\u7B2C\u4E00\u6761\u6570\u636E\u4E86");
451
+ ibiz.message.info(ibiz.i18n.t("viewEngine.firstPieceOfData"));
448
452
  return;
449
453
  }
450
454
  targetItem = items[index - 1];
451
455
  break;
452
456
  case SysUIActionTag.NEXT_RECORD:
453
457
  if (index === items.length - 1) {
454
- ibiz.message.info("\u5DF2\u7ECF\u662F\u6700\u540E\u4E00\u6761\u6570\u636E\u4E86");
458
+ ibiz.message.info(ibiz.i18n.t("viewEngine.lastPieceOfData"));
455
459
  return;
456
460
  }
457
461
  targetItem = items[index + 1];
@@ -13,7 +13,7 @@ class ExpViewEngine extends MDViewEngine {
13
13
  * @memberof ExpViewEngine
14
14
  */
15
15
  get expBarName() {
16
- throw Error("\u5B50\u7C7B\u5B9E\u73B0");
16
+ throw Error(ibiz.i18n.t("viewEngine.subclassAchieve"));
17
17
  }
18
18
  /**
19
19
  * 表格导航栏部件控制器
@@ -49,15 +49,30 @@ class LoginViewEngine extends ViewEngineBase {
49
49
  }
50
50
  async login(args) {
51
51
  let rememberme;
52
- if (this.AppLoginView.layoutPanel && typeof this.AppLoginView.layoutPanel.data.isRemember === "boolean") {
53
- rememberme = this.AppLoginView.layoutPanel.data.isRemember;
52
+ const headers = {};
53
+ if (this.AppLoginView.layoutPanel) {
54
+ const panelData = this.AppLoginView.layoutPanel.data;
55
+ if (typeof panelData.isRemember === "boolean") {
56
+ rememberme = panelData.isRemember;
57
+ }
58
+ if (panelData.captcha) {
59
+ Object.assign(headers, panelData.captcha);
60
+ }
61
+ if (panelData.srfheaders) {
62
+ Object.assign(headers, panelData.srfheaders);
63
+ }
54
64
  }
55
65
  const data = args.data[0] || {};
56
66
  let username = data.username;
57
67
  if (notNilEmpty(data.orgid)) {
58
68
  username = "".concat(data.username, "@").concat(data.orgid);
59
69
  }
60
- const bol = await ibiz.auth.login(username, data.password, rememberme);
70
+ const bol = await ibiz.auth.login(
71
+ username,
72
+ data.password,
73
+ rememberme,
74
+ headers
75
+ );
61
76
  if (bol === true) {
62
77
  window.location.hash = this.route.query.ru || "/";
63
78
  window.location.reload();
@@ -28,7 +28,7 @@ class MPickupViewEngine extends PickupViewEngine {
28
28
  if (!this.view.providers.simplelist) {
29
29
  throw new RuntimeModelError(
30
30
  this.view.model,
31
- "\u7F3A\u5C11\u914D\u7F6E\u53EBsimplelist\u7684\u5217\u8868\u90E8\u4EF6"
31
+ ibiz.i18n.t("viewEngine.missingConfigErr")
32
32
  );
33
33
  }
34
34
  const { childNames } = this.view;
@@ -34,8 +34,8 @@ class OptViewEngine extends ViewEngineBase {
34
34
  const isChange = (this.form.state.modified || uiDomain.dataModification) && this.view.model.enableDirtyChecking === true;
35
35
  if (isChange && context.allowClose == null) {
36
36
  const isAllow = await ibiz.confirm.error({
37
- title: "\u5173\u95ED\u63D0\u9192",
38
- desc: "\u8868\u5355\u6570\u636E\u5DF2\u7ECF\u4FEE\u6539\uFF0C\u786E\u5B9A\u8981\u5173\u95ED\uFF1F"
37
+ title: ibiz.i18n.t("viewEngine.closeRemind"),
38
+ desc: ibiz.i18n.t("viewEngine.confirmClosePrompt")
39
39
  });
40
40
  if (!isAllow) {
41
41
  context.allowClose = false;
@@ -88,14 +88,14 @@ class TabExpViewEngine extends ViewEngineBase {
88
88
  if (!tabexppanel) {
89
89
  throw new ModelError(
90
90
  this.view.model.viewLayoutPanel,
91
- "\u672A\u627E\u5230tabexppanel\u5E03\u5C40\u5360\u4F4D"
91
+ ibiz.i18n.t("viewEngine.noFoundLayoutOccupied")
92
92
  );
93
93
  }
94
94
  const layoutContainer = findPanelItem(name);
95
95
  if (!layoutContainer) {
96
96
  throw new ModelError(
97
97
  this.view.model.viewLayoutPanel,
98
- "\u672A\u627E\u5230".concat(name, "\u5E03\u5C40\u5BB9\u5668")
98
+ ibiz.i18n.t("viewEngine.noFoundLayoutContainer", { name })
99
99
  );
100
100
  }
101
101
  layoutContainer.panelItems = [tabexppanel];
@@ -128,7 +128,7 @@ class WFDynaEditViewEngine extends EditViewEngine {
128
128
  if (!formModel) {
129
129
  throw new RuntimeModelError(
130
130
  this.view.model,
131
- "\u627E\u4E0D\u5230\u8868\u5355".concat(processForm, "\u7684\u6A21\u578B")
131
+ ibiz.i18n.t("viewEngine.noFoundFormModel", { name: processForm })
132
132
  );
133
133
  }
134
134
  this.processForm = formModel;
@@ -146,7 +146,10 @@ class WFDynaEditViewEngine extends EditViewEngine {
146
146
  */
147
147
  async calcWfToolbar() {
148
148
  if (!this.toolbar) {
149
- throw new RuntimeModelError(this.view.model, "\u7F3A\u5C11\u5DE5\u5177\u680F\u90E8\u4EF6\u6A21\u578B");
149
+ throw new RuntimeModelError(
150
+ this.view.model,
151
+ ibiz.i18n.t("viewEngine.missingToolbarModel")
152
+ );
150
153
  }
151
154
  this.toolbar.clearExtraButtons();
152
155
  const app = ibiz.hub.getApp(this.view.context.srfappid);
@@ -71,12 +71,14 @@ class AuthGuard {
71
71
  const urlPaths = window.location.hash.split("/");
72
72
  const viewName = urlPaths[urlPaths.length - 2];
73
73
  let viewModel;
74
- if (viewName !== "#") {
75
- try {
74
+ try {
75
+ if (viewName === "#" && ibiz.hub.defaultPage) {
76
+ viewModel = await ibiz.hub.getAppView(ibiz.hub.defaultPage.id);
77
+ } else {
76
78
  viewModel = await ibiz.hub.getAppView(viewName);
77
- } catch (error) {
78
- ibiz.log.error(error);
79
79
  }
80
+ } catch (error) {
81
+ ibiz.log.error(error);
80
82
  }
81
83
  if (!viewModel) {
82
84
  ibiz.log.error(
@@ -91,7 +93,7 @@ class AuthGuard {
91
93
  if (!authInfo) {
92
94
  const loginResult = await ibiz.auth.anonymousLogin();
93
95
  if (!loginResult) {
94
- throw new RuntimeError("\u533F\u540D\u7528\u6237\u767B\u5F55\u5931\u8D25");
96
+ throw new RuntimeError(ibiz.i18n.t("webApp.authGuard.loginFailed"));
95
97
  }
96
98
  }
97
99
  }
@@ -228,7 +230,7 @@ class AuthGuard {
228
230
  throw new HttpError({
229
231
  response: {
230
232
  status: 401,
231
- statusText: "\u65E0\u6743\u9650\u8BBF\u95EE\uFF01"
233
+ statusText: ibiz.i18n.t("webApp.authGuard.noPermission")
232
234
  }
233
235
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
234
236
  });
@@ -11,6 +11,7 @@ import './guard/index.mjs';
11
11
  import { UnauthorizedHandler } from './util/unauthorized-handler/unauthorized-handler.mjs';
12
12
  import { DynaAuthGuard } from './guard/auth-guard/dyna-auth-guard.mjs';
13
13
  import { OpenViewUtil } from '../util/open-view-util/open-view-util.mjs';
14
+ import { RenderUtil } from '../util/render-util/render-util.mjs';
14
15
  import { MessageUtil } from '../util/message-util/message-util.mjs';
15
16
  import { ModalUtil } from '../util/modal-util/modal-util.mjs';
16
17
  import { ConfirmUtil } from '../util/confirm-util/confirm-util.mjs';
@@ -62,6 +63,7 @@ async function runApp(plugins, opts) {
62
63
  AppRouter.setAuthGuard((notLogin) => authGuard.verify(notLogin));
63
64
  app.use(AppRouter.getRouter());
64
65
  ibiz.openView = new OpenViewUtil(AppRouter.getRouter());
66
+ ibiz.render = new RenderUtil();
65
67
  ibiz.message = new MessageUtil();
66
68
  ibiz.modal = new ModalUtil();
67
69
  ibiz.confirm = new ConfirmUtil();