cnhis-design-vue 3.1.31-beta.2 → 3.1.31-beta.4

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 (57) hide show
  1. package/es/components/button-print/index.d.ts +1 -1
  2. package/es/components/button-print/src/ButtonPrint.vue.d.ts +1 -1
  3. package/es/components/button-print/src/components/{edit.js → EditFormat.js} +3 -3
  4. package/es/components/button-print/src/components/{edit.vue.d.ts → EditFormat.vue.d.ts} +0 -0
  5. package/es/components/button-print/src/components/IdentityVerification.js +2 -2
  6. package/es/components/button-print/src/components/IdentityVerification.vue.d.ts +1 -1
  7. package/es/components/button-print/src/components/Preview.js +6 -0
  8. package/es/components/button-print/src/components/Preview.vue.d.ts +41 -0
  9. package/es/components/button-print/src/components/Preview.vue_vue_type_script_setup_true_lang.js +67 -0
  10. package/es/components/button-print/src/utils/browserPrint.d.ts +1 -1
  11. package/es/components/button-print/src/utils/browserPrint.js +1 -2
  12. package/es/components/button-print/src/utils/dialog.d.ts +5 -1
  13. package/es/components/button-print/src/utils/dialog.js +64 -22
  14. package/es/components/button-print/src/utils/print.d.ts +4 -1
  15. package/es/components/button-print/src/utils/print.js +11 -2
  16. package/es/components/button-print/style/index.css +1 -1
  17. package/es/components/iho-table/index.d.ts +124 -66
  18. package/es/components/iho-table/src/IhoTable.js +2 -1
  19. package/es/components/iho-table/src/IhoTable.vue.d.ts +124 -66
  20. package/es/components/iho-table/src/components/IhoTableColumn.js +14 -11
  21. package/es/components/iho-table/src/constants/index.d.ts +5 -3
  22. package/es/components/iho-table/src/constants/index.js +5 -3
  23. package/es/components/iho-table/src/hooks/tapHooks/index.d.ts +64 -5
  24. package/es/components/iho-table/src/hooks/tapHooks/index.js +17 -9
  25. package/es/components/iho-table/src/hooks/tapHooks/useEventHooks.d.ts +60 -1
  26. package/es/components/iho-table/src/hooks/useTableContext.d.ts +1 -1
  27. package/es/components/iho-table/src/plugins/anchorPlugin/useAnchor.js +3 -2
  28. package/es/components/iho-table/src/plugins/filterPlugin/filter.js +1 -0
  29. package/es/components/iho-table/src/plugins/filterPlugin/filter.vue.d.ts +1 -1
  30. package/es/components/iho-table/src/plugins/index.js +14 -12
  31. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.d.ts +1 -0
  32. package/es/components/iho-table/src/plugins/keyboardEventPlugin/index.js +32 -0
  33. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/editDate.vue.d.ts +1 -1
  34. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/dateRendererPlugin/index.js +9 -11
  35. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/inputRendererPlugin.js +11 -15
  36. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/numberRendererPlugin.js +17 -24
  37. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/selectRendererPlugin/index.js +11 -13
  38. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.js +2 -1
  39. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/editSeparate.vue.d.ts +1 -1
  40. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/separateRendererPlugin/index.js +8 -11
  41. package/es/components/iho-table/src/plugins/rendererPlugins/editableWidgets/timeRendererPlugin.js +13 -17
  42. package/es/components/iho-table/src/types/index.d.ts +6 -6
  43. package/es/components/iho-table/src/types/pluginType.d.ts +2 -1
  44. package/es/components/iho-table/src/utils/index.d.ts +12 -2
  45. package/es/components/iho-table/src/utils/index.js +33 -2
  46. package/es/components/iho-table/style/index.css +1 -1
  47. package/es/components/index.css +1 -1
  48. package/es/components/keyboard/index.d.ts +122 -64
  49. package/es/components/keyboard/src/Keyboard.js +109 -251
  50. package/es/components/keyboard/src/Keyboard.vue.d.ts +124 -66
  51. package/es/components/keyboard/src/components/InputNumber.vue.d.ts +6 -4
  52. package/es/components/keyboard/src/components/NumberPanel.js +206 -0
  53. package/es/components/keyboard/src/components/NumberPanel.vue.d.ts +118 -0
  54. package/es/components/search-cascader/src/components/SearchMenu.js +3 -3
  55. package/es/shared/utils/index.d.ts +1 -1
  56. package/es/shared/utils/index.js +3 -3
  57. package/package.json +2 -2
@@ -539,7 +539,7 @@ declare const ButtonPrint: SFCWithInstall<import("vue").DefineComponent<{
539
539
  readonly ignorePathChange: boolean;
540
540
  }>;
541
541
  NInput: any;
542
- EditForm: import("vue").DefineComponent<{}, {
542
+ EditFormat: import("vue").DefineComponent<{}, {
543
543
  PROTOCOL: string;
544
544
  HOST: string;
545
545
  SAVEIREPORT: string;
@@ -543,7 +543,7 @@ declare const _default: import("vue").DefineComponent<{
543
543
  readonly ignorePathChange: boolean;
544
544
  }>;
545
545
  NInput: any;
546
- EditForm: import("vue").DefineComponent<{}, {
546
+ EditFormat: import("vue").DefineComponent<{}, {
547
547
  PROTOCOL: string;
548
548
  HOST: string;
549
549
  SAVEIREPORT: string;
@@ -6,7 +6,7 @@ import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.js';
6
6
 
7
7
  const _hoisted_1 = { style: { "margin-bottom": "12px" } };
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
9
- __name: "edit",
9
+ __name: "EditFormat",
10
10
  setup(__props, { expose }) {
11
11
  const PROTOCOL = window.location.protocol;
12
12
  const HOST = window.location.host;
@@ -148,6 +148,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
148
148
  };
149
149
  }
150
150
  });
151
- var EditForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "edit.vue"]]);
151
+ var EditFormat = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "EditFormat.vue"]]);
152
152
 
153
- export { EditForm as default };
153
+ export { EditFormat as default };
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, ref, reactive, watch, openBlock, createBlock, unref, normalizeStyle, withCtx, createElementVNode, mergeProps, createVNode, createTextVNode } from 'vue';
2
2
  import { useMessage, NModal, NForm, NFormItem, NInput, NButton } from 'naive-ui';
3
- import EditForm from './edit.js';
3
+ import EditFormat from './EditFormat.js';
4
4
  import '../utils/print.js';
5
5
  import { isIReport } from '../utils/browserPrint.js';
6
6
  import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.js';
@@ -113,7 +113,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
113
113
  }, {
114
114
  default: withCtx(() => [
115
115
  createElementVNode("div", _hoisted_1, [
116
- showEditForm.value ? (openBlock(), createBlock(EditForm, mergeProps({
116
+ showEditForm.value ? (openBlock(), createBlock(EditFormat, mergeProps({
117
117
  key: 0,
118
118
  ref_key: "editFormRef",
119
119
  ref: editFormRef
@@ -358,7 +358,7 @@ declare const _default: import("vue").DefineComponent<{
358
358
  readonly ignorePathChange: boolean;
359
359
  }>;
360
360
  NInput: any;
361
- EditForm: import("vue").DefineComponent<{}, {
361
+ EditFormat: import("vue").DefineComponent<{}, {
362
362
  PROTOCOL: string;
363
363
  HOST: string;
364
364
  SAVEIREPORT: string;
@@ -0,0 +1,6 @@
1
+ import _sfc_main from './Preview.vue_vue_type_script_setup_true_lang.js';
2
+ import _export_sfc from '../../../../_virtual/plugin-vue_export-helper.js';
3
+
4
+ var Preview = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "Preview.vue"]]);
5
+
6
+ export { Preview as default };
@@ -0,0 +1,41 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ visible: {
3
+ type: BooleanConstructor;
4
+ default: boolean;
5
+ };
6
+ src: {
7
+ type: StringConstructor;
8
+ };
9
+ }, {
10
+ props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
11
+ visible: {
12
+ type: BooleanConstructor;
13
+ default: boolean;
14
+ };
15
+ src: {
16
+ type: StringConstructor;
17
+ };
18
+ }>> & {
19
+ "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
20
+ }>>;
21
+ emit: (event: "update:visible", ...args: any[]) => void;
22
+ isNormalSize: import("vue").Ref<boolean>;
23
+ style: import("vue").ComputedRef<string>;
24
+ titleRender: () => JSX.Element;
25
+ changeSize: () => void;
26
+ onClose: () => void;
27
+ NModal: any;
28
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], "update:visible", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
29
+ visible: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ src: {
34
+ type: StringConstructor;
35
+ };
36
+ }>> & {
37
+ "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
38
+ }, {
39
+ visible: boolean;
40
+ }>;
41
+ export default _default;
@@ -0,0 +1,67 @@
1
+ import { defineComponent, ref, computed, openBlock, createBlock, unref, normalizeStyle, withCtx, createElementVNode, createVNode, Fragment, createTextVNode } from 'vue';
2
+ import { NModal, NIcon } from 'naive-ui';
3
+ import { SquareOutline, CopyOutline } from '@vicons/ionicons5';
4
+
5
+ const _hoisted_1 = ["src"];
6
+ var _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "Preview",
8
+ props: {
9
+ visible: {
10
+ type: Boolean,
11
+ default: false
12
+ },
13
+ src: {
14
+ type: String
15
+ }
16
+ },
17
+ emits: ["update:visible"],
18
+ setup(__props, {
19
+ emit
20
+ }) {
21
+ const props = __props;
22
+ const isNormalSize = ref(true);
23
+ const style = computed(() => {
24
+ const size = isNormalSize.value ? 80 : 100;
25
+ return `width: ${size}vw; height: ${size}vh`;
26
+ });
27
+ function titleRender() {
28
+ return createVNode(Fragment, null, [createVNode("div", null, [createTextVNode("\u9884\u89C8")]), createVNode(NIcon, {
29
+ "style": {
30
+ margin: "0 0 0 auto",
31
+ transform: isNormalSize.value ? "none" : "rotate(90deg)"
32
+ },
33
+ "onClick": changeSize,
34
+ "component": isNormalSize.value ? SquareOutline : CopyOutline
35
+ }, null)]);
36
+ }
37
+ function changeSize() {
38
+ isNormalSize.value = !isNormalSize.value;
39
+ }
40
+ function onClose() {
41
+ props.src && window.URL.revokeObjectURL(props.src);
42
+ emit("update:visible", false);
43
+ }
44
+ return (_ctx, _cache) => {
45
+ return openBlock(), createBlock(unref(NModal), {
46
+ preset: "dialog",
47
+ show: __props.visible,
48
+ "show-icon": false,
49
+ style: normalizeStyle(unref(style)),
50
+ class: "c-button-preview-modal",
51
+ title: titleRender,
52
+ onClose,
53
+ onMaskClick: onClose
54
+ }, {
55
+ default: withCtx(() => [createElementVNode("iframe", {
56
+ src: __props.src,
57
+ frameborder: "0",
58
+ width: "100%",
59
+ height: "97%"
60
+ }, null, 8, _hoisted_1)]),
61
+ _: 1
62
+ }, 8, ["show", "style"]);
63
+ };
64
+ }
65
+ });
66
+
67
+ export { _sfc_main as default };
@@ -1,2 +1,2 @@
1
- export declare function useBrowserPrint(data: Blob, mode?: string): void;
1
+ export declare function useBrowserPrint(data: Blob, mode?: string): string | void;
2
2
  export declare function isIReport(formatId: string): boolean;
@@ -20,8 +20,7 @@ function useBrowserPrint(data, mode) {
20
20
  }
21
21
  break;
22
22
  case "preview":
23
- window.open(src);
24
- break;
23
+ return src;
25
24
  default:
26
25
  {
27
26
  const a = document.createElement("a");
@@ -4,5 +4,9 @@ export declare class IdentityVerificationDialog {
4
4
  rendered: boolean;
5
5
  static createMsg(message: string): string;
6
6
  show(instance: ComponentInternalInstance, title: string, api: Func, formatId?: string, templateId?: string): Promise<string>;
7
- private createProviderWrapper;
7
+ }
8
+ export declare class PreviewDialog {
9
+ rendered: boolean;
10
+ static createMsg(message: string): string;
11
+ show(instance: ComponentInternalInstance, src: string): Promise<string>;
8
12
  }
@@ -1,5 +1,6 @@
1
1
  import { ref, render, createVNode, withCtx, nextTick, defineComponent, provide } from 'vue';
2
2
  import IdentityVerification from '../components/IdentityVerification.js';
3
+ import Preview from '../components/Preview.js';
3
4
 
4
5
  class IdentityVerificationDialog {
5
6
  constructor() {
@@ -15,7 +16,7 @@ class IdentityVerificationDialog {
15
16
  this.rendered = true;
16
17
  const container = document.createElement("div");
17
18
  const visible = ref(false);
18
- const ProviderWrapper = this.createProviderWrapper(instance);
19
+ const ProviderWrapper = createProviderWrapper(instance);
19
20
  render(createVNode(ProviderWrapper, null, {
20
21
  default: withCtx(() => createVNode(IdentityVerification, {
21
22
  "to": container,
@@ -51,29 +52,70 @@ class IdentityVerificationDialog {
51
52
  }
52
53
  });
53
54
  }
54
- createProviderWrapper(instance) {
55
- return defineComponent({
56
- setup(_, {
57
- slots
58
- }) {
59
- let provides = (instance == null ? void 0 : instance.parent) && Reflect.get(instance.parent, "provides");
60
- const keys = [];
61
- while (provides) {
62
- Object.entries(provides).forEach(([k, v]) => {
63
- if (keys.includes(k))
64
- return;
65
- keys.push(k);
66
- provide(k, v);
67
- });
68
- provides = Object.getPrototypeOf(provides);
69
- }
70
- return () => {
71
- var _a;
72
- return createVNode("div", null, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
73
- };
55
+ }
56
+ class PreviewDialog {
57
+ constructor() {
58
+ this.rendered = false;
59
+ }
60
+ static createMsg(message) {
61
+ return `[PreviewDialog] ${message}`;
62
+ }
63
+ show(instance, src) {
64
+ if (this.rendered)
65
+ return Promise.reject(PreviewDialog.createMsg("\u8BF7\u52FF\u91CD\u590D\u6253\u5F00\u5F39\u7A97"));
66
+ return new Promise((resolve, reject) => {
67
+ this.rendered = true;
68
+ const container = document.createElement("div");
69
+ const visible = ref(false);
70
+ const ProviderWrapper = createProviderWrapper(instance);
71
+ render(createVNode(ProviderWrapper, null, {
72
+ default: withCtx(() => createVNode(Preview, {
73
+ "visible": visible.value,
74
+ "onUpdate:visible": ($event) => visible.value = $event,
75
+ "src": src,
76
+ "onAfterLeave": () => unmount(container)
77
+ }, null), instance)
78
+ }), container);
79
+ mount(container);
80
+ nextTick(() => {
81
+ visible.value = true;
82
+ resolve("success");
83
+ });
84
+ function mount(target) {
85
+ document.body.appendChild(target);
86
+ }
87
+ const that = this;
88
+ function unmount(target) {
89
+ if (!target.parentElement)
90
+ return;
91
+ that.rendered = false;
92
+ target.parentElement.removeChild(target);
74
93
  }
75
94
  });
76
95
  }
77
96
  }
97
+ function createProviderWrapper(instance) {
98
+ return defineComponent({
99
+ setup(_, {
100
+ slots
101
+ }) {
102
+ let provides = (instance == null ? void 0 : instance.parent) && Reflect.get(instance.parent, "provides");
103
+ const keys = [];
104
+ while (provides) {
105
+ Object.entries(provides).forEach(([k, v]) => {
106
+ if (keys.includes(k))
107
+ return;
108
+ keys.push(k);
109
+ provide(k, v);
110
+ });
111
+ provides = Object.getPrototypeOf(provides);
112
+ }
113
+ return () => {
114
+ var _a;
115
+ return createVNode("div", null, [(_a = slots.default) == null ? void 0 : _a.call(slots)]);
116
+ };
117
+ }
118
+ });
119
+ }
78
120
 
79
- export { IdentityVerificationDialog };
121
+ export { IdentityVerificationDialog, PreviewDialog };
@@ -1,9 +1,11 @@
1
1
  import { AnyObject, Func } from '../../../../../es/shared/types';
2
- import { IdentityVerificationDialog } from '../../../../../es/components/button-print/src/utils/dialog';
2
+ import { IdentityVerificationDialog, PreviewDialog } from '../../../../../es/components/button-print/src/utils/dialog';
3
3
  export declare class Print {
4
4
  private readonly webview;
5
5
  private currentMessageHandler?;
6
6
  private dialog;
7
+ private dialogPreview;
8
+ private instance;
7
9
  constructor();
8
10
  private readonly messageHandlerQueue;
9
11
  private messageHandler;
@@ -13,6 +15,7 @@ export declare class Print {
13
15
  * @desc 调用实例方法打开弹窗
14
16
  */
15
17
  show(...args: Parameters<IdentityVerificationDialog['show']>): Promise<string>;
18
+ showPreview(...args: Parameters<PreviewDialog['show']>): Promise<string>;
16
19
  _testConnection(): Promise<unknown>;
17
20
  _queryServicesPrint(params: AnyObject): Promise<any>;
18
21
  _callPrintWithFile(queryParams: AnyObject): Promise<any>;
@@ -1,7 +1,8 @@
1
1
  import axios from 'axios';
2
2
  import { isArray } from 'lodash-es';
3
- import { IdentityVerificationDialog } from './dialog.js';
3
+ import { IdentityVerificationDialog, PreviewDialog } from './dialog.js';
4
4
  import { isIReport, useBrowserPrint } from './browserPrint.js';
5
+ import { getCurrentInstance } from 'vue';
5
6
 
6
7
  const PRINT_ORIGIN = "http://127.0.0.1:11111";
7
8
  const EDIT_LOCAL_URL = `${PRINT_ORIGIN}/services/print`;
@@ -24,6 +25,8 @@ const ERRORMSG = "\u83B7\u53D6\u6587\u4EF6\u5931\u8D25\uFF01";
24
25
  class Print {
25
26
  constructor() {
26
27
  this.dialog = new IdentityVerificationDialog();
28
+ this.dialogPreview = new PreviewDialog();
29
+ this.instance = null;
27
30
  this.messageHandlerQueue = [];
28
31
  var _a;
29
32
  const _window = window;
@@ -62,6 +65,9 @@ class Print {
62
65
  show(...args) {
63
66
  return this.dialog.show(...args);
64
67
  }
68
+ showPreview(...args) {
69
+ return this.dialogPreview.show(...args);
70
+ }
65
71
  _testConnection() {
66
72
  if (this.webview)
67
73
  return Promise.resolve(true);
@@ -244,7 +250,10 @@ class Print {
244
250
  const data = await this._queryPrintFile(formatId, params);
245
251
  if (!data)
246
252
  return errorCallbackFn == null ? void 0 : errorCallbackFn(ERRORMSG);
247
- useBrowserPrint(data, "preview");
253
+ const src = useBrowserPrint(data, "preview");
254
+ if (!this.instance)
255
+ this.instance = getCurrentInstance();
256
+ this.showPreview(this.instance, src);
248
257
  successCallbackFn == null ? void 0 : successCallbackFn({ file: data });
249
258
  return;
250
259
  }
@@ -1 +1 @@
1
- .dropdown-button{border-color:#d5d5d5!important;color:#212121}.c-dropdown .n-dropdown-menu-wrapper span.active{color:#5585f5}.login-form-button{border-radius:24px;color:#fff;font-size:16px;height:50px;width:100%}.login-form-button-print{padding-top:15px}.login-form-button-print .n-input{border-radius:6px;color:#757575;font-size:14px;height:50px;line-height:50px}.c-button-print-modal .n-form-item-feedback-wrapper{display:none}
1
+ .dropdown-button{border-color:#d5d5d5!important;color:#212121}.c-dropdown .n-dropdown-menu-wrapper span.active{color:#5585f5}.login-form-button{border-radius:24px;color:#fff;font-size:16px;height:50px;width:100%}.login-form-button-print{padding-top:15px}.login-form-button-print .n-input{border-radius:6px;color:#757575;font-size:14px;height:50px;line-height:50px}.c-button-print-modal .n-form-item-feedback-wrapper{display:none}.c-button-preview-modal{max-width:none}.c-button-preview-modal .n-dialog__content{height:98%}