cnhis-design-vue 3.1.1 → 3.1.4-beta.1

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 (216) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/env.d.ts +8 -4
  3. package/es/packages/big-table/index.d.ts +2038 -0
  4. package/es/packages/big-table/index.mjs +1 -0
  5. package/es/packages/big-table/index2.mjs +14 -0
  6. package/es/packages/big-table/src/BigTable.mjs +2 -0
  7. package/es/packages/big-table/src/BigTable.vue.d.ts +2052 -0
  8. package/es/packages/big-table/src/BigTable.vue_vue_type_script_setup_true_lang.mjs +2315 -0
  9. package/es/packages/big-table/src/BigTable2.mjs +4 -0
  10. package/es/packages/big-table/src/bigTableEmits.d.ts +2 -0
  11. package/es/packages/big-table/src/bigTableEmits.mjs +1 -0
  12. package/{packages/big-table/src/bigTableEmits.ts → es/packages/big-table/src/bigTableEmits2.mjs} +48 -48
  13. package/es/packages/big-table/src/bigTableProps.d.ts +194 -0
  14. package/es/packages/big-table/src/bigTableProps.mjs +1 -0
  15. package/{packages/big-table/src/bigTableProps.ts → es/packages/big-table/src/bigTableProps2.mjs} +116 -125
  16. package/es/packages/big-table/src/bigTableState.d.ts +55 -0
  17. package/es/packages/big-table/src/bigTableState.mjs +1 -0
  18. package/es/packages/big-table/src/bigTableState2.mjs +51 -0
  19. package/es/packages/big-table/src/components/NoData.mjs +2 -0
  20. package/es/packages/big-table/src/components/NoData.vue.d.ts +51 -0
  21. package/es/packages/big-table/src/components/NoData.vue_vue_type_script_setup_true_lang.mjs +72 -0
  22. package/es/packages/big-table/src/components/NoData2.mjs +4 -0
  23. package/es/packages/big-table/src/components/SvgIcon.mjs +2 -0
  24. package/es/packages/big-table/src/components/SvgIcon.vue.d.ts +43 -0
  25. package/es/packages/big-table/src/components/SvgIcon.vue_vue_type_script_setup_true_lang.mjs +34 -0
  26. package/es/packages/big-table/src/components/SvgIcon2.mjs +4 -0
  27. package/es/packages/big-table/src/components/TextOverTooltip.mjs +2 -0
  28. package/es/packages/big-table/src/components/TextOverTooltip.vue.d.ts +560 -0
  29. package/es/packages/big-table/src/components/TextOverTooltip.vue_vue_type_script_setup_true_lang.mjs +74 -0
  30. package/es/packages/big-table/src/components/TextOverTooltip2.mjs +4 -0
  31. package/es/packages/big-table/src/components/edit-form/edit-date.d.ts +34 -0
  32. package/es/packages/big-table/src/components/edit-form/edit-date.mjs +88 -0
  33. package/es/packages/big-table/src/components/edit-form/edit-input.d.ts +43 -0
  34. package/es/packages/big-table/src/components/edit-form/edit-input.mjs +51 -0
  35. package/es/packages/big-table/src/components/edit-form/edit-select-table.d.ts +35 -0
  36. package/es/packages/big-table/src/components/edit-form/edit-select.d.ts +35 -0
  37. package/es/packages/big-table/src/components/edit-form/edit-select.mjs +89 -0
  38. package/es/packages/big-table/src/hooks/useBatchEditing.d.ts +17 -0
  39. package/es/packages/big-table/src/hooks/useBatchEditing.mjs +1 -0
  40. package/es/packages/big-table/src/hooks/useBatchEditing2.mjs +284 -0
  41. package/es/packages/big-table/src/hooks/useEdit.d.ts +171 -0
  42. package/es/packages/big-table/src/hooks/useEdit.mjs +1 -0
  43. package/es/packages/big-table/src/hooks/useEdit2.mjs +108 -0
  44. package/es/packages/big-table/src/hooks/useFormat.d.ts +29 -0
  45. package/es/packages/big-table/src/hooks/useFormat.mjs +1 -0
  46. package/{packages/big-table/src/hooks/useFormat.ts → es/packages/big-table/src/hooks/useFormat2.mjs} +480 -612
  47. package/es/packages/big-table/src/hooks/useNestTable.d.ts +8 -0
  48. package/es/packages/big-table/src/hooks/useNestTable.mjs +1 -0
  49. package/{packages/big-table/src/hooks/useNestTable.ts → es/packages/big-table/src/hooks/useNestTable2.mjs} +84 -109
  50. package/es/packages/big-table/src/hooks/useTableParse.d.ts +6 -0
  51. package/es/packages/big-table/src/hooks/useTableParse.mjs +1 -0
  52. package/es/packages/big-table/src/hooks/useTableParse2.mjs +135 -0
  53. package/es/packages/big-table/src/utils.d.ts +54 -0
  54. package/es/packages/big-table/src/utils.mjs +1 -0
  55. package/{packages/big-table/src/utils.ts → es/packages/big-table/src/utils2.mjs} +597 -705
  56. package/es/packages/big-table/style/index.css +448 -0
  57. package/{packages/big-table/src/assets/style/table-base.less → es/packages/big-table/style/index.less} +292 -10
  58. package/es/packages/button-print/index.d.ts +7373 -0
  59. package/es/packages/button-print/index.mjs +1 -0
  60. package/es/packages/button-print/index2.mjs +11 -0
  61. package/es/packages/button-print/src/ButtonPrint.mjs +2 -0
  62. package/es/packages/button-print/src/ButtonPrint.vue.d.ts +7372 -0
  63. package/es/packages/button-print/src/ButtonPrint.vue_vue_type_script_setup_true_lang.mjs +452 -0
  64. package/es/packages/button-print/src/ButtonPrint2.mjs +4 -0
  65. package/es/packages/button-print/src/components/IdentityVerification.mjs +2 -0
  66. package/es/packages/button-print/src/components/IdentityVerification.vue.d.ts +4785 -0
  67. package/es/packages/button-print/src/components/IdentityVerification.vue_vue_type_script_setup_true_lang.mjs +126 -0
  68. package/es/packages/button-print/src/components/IdentityVerification2.mjs +4 -0
  69. package/es/packages/button-print/src/utils/print.es.min.d.ts +2 -0
  70. package/es/packages/button-print/src/utils/print.es.min.mjs +1 -0
  71. package/es/packages/button-print/src/utils/print.es.min2.mjs +2080 -0
  72. package/es/packages/button-print/style/index.css +26 -0
  73. package/es/packages/button-print/style/index.less +32 -0
  74. package/es/packages/drag-layout/index.d.ts +20061 -0
  75. package/es/packages/drag-layout/index.mjs +1 -0
  76. package/es/packages/drag-layout/index2.mjs +11 -0
  77. package/es/packages/drag-layout/src/DragFormLeftItem.mjs +2 -0
  78. package/es/packages/drag-layout/src/DragFormLeftItem.vue.d.ts +7959 -0
  79. package/es/packages/drag-layout/src/DragFormLeftItem.vue_vue_type_script_setup_true_lang.mjs +122 -0
  80. package/es/packages/drag-layout/src/DragFormLeftItem2.mjs +4 -0
  81. package/es/packages/drag-layout/src/DragFormRightItem.mjs +2 -0
  82. package/es/packages/drag-layout/src/DragFormRightItem.vue.d.ts +3213 -0
  83. package/es/packages/drag-layout/src/DragFormRightItem.vue_vue_type_script_setup_true_lang.mjs +267 -0
  84. package/es/packages/drag-layout/src/DragFormRightItem2.mjs +4 -0
  85. package/es/packages/drag-layout/src/DragLayout.mjs +2 -0
  86. package/es/packages/drag-layout/src/DragLayout.vue.d.ts +20069 -0
  87. package/es/packages/drag-layout/src/DragLayout.vue_vue_type_script_setup_true_lang.mjs +657 -0
  88. package/es/packages/drag-layout/src/DragLayout2.mjs +4 -0
  89. package/es/packages/drag-layout/style/index.css +175 -0
  90. package/es/packages/drag-layout/style/index.less +208 -0
  91. package/es/packages/field-set/index.d.ts +2647 -0
  92. package/es/packages/field-set/index.mjs +1 -0
  93. package/es/packages/field-set/index2.mjs +11 -0
  94. package/es/packages/field-set/src/FieldSet.mjs +2 -0
  95. package/es/packages/field-set/src/FieldSet.vue.d.ts +2599 -0
  96. package/es/packages/field-set/src/FieldSet.vue_vue_type_script_setup_true_lang.mjs +330 -0
  97. package/es/packages/field-set/src/FieldSet2.mjs +4 -0
  98. package/es/packages/field-set/style/index.css +162 -0
  99. package/es/packages/field-set/style/index.less +172 -0
  100. package/es/packages/grid/index.d.ts +3 -0
  101. package/es/packages/grid/index.mjs +1 -0
  102. package/es/packages/grid/index2.mjs +11 -0
  103. package/es/packages/grid/src/Grid.d.ts +2 -0
  104. package/es/packages/grid/src/Grid.mjs +28 -0
  105. package/es/packages/grid/src/hooks.d.ts +1 -0
  106. package/es/packages/grid/src/hooks.mjs +1 -0
  107. package/es/packages/grid/src/hooks2.mjs +165 -0
  108. package/es/packages/grid/style/index.css +0 -0
  109. package/es/packages/grid/style/index.less +1 -0
  110. package/es/packages/index.css +1004 -0
  111. package/es/packages/index.d.ts +35622 -0
  112. package/es/packages/index.less +1205 -0
  113. package/es/packages/index.mjs +7 -0
  114. package/es/packages/index2.mjs +37 -0
  115. package/es/packages/select-person/index.d.ts +3500 -0
  116. package/es/packages/select-person/index.mjs +1 -0
  117. package/es/packages/select-person/index2.mjs +11 -0
  118. package/es/packages/select-person/src/SearchTree.mjs +2 -0
  119. package/es/packages/select-person/src/SearchTree.vue.d.ts +344 -0
  120. package/es/packages/select-person/src/SearchTree.vue_vue_type_script_setup_true_lang.mjs +231 -0
  121. package/es/packages/select-person/src/SearchTree2.mjs +4 -0
  122. package/es/packages/select-person/src/SelectPerson.mjs +2 -0
  123. package/es/packages/select-person/src/SelectPerson.vue.d.ts +3501 -0
  124. package/es/packages/select-person/src/SelectPerson.vue_vue_type_script_setup_true_lang.mjs +892 -0
  125. package/es/packages/select-person/src/SelectPerson2.mjs +4 -0
  126. package/es/packages/select-person/src/utils/index.d.ts +12 -0
  127. package/es/packages/select-person/src/utils/index.mjs +1 -0
  128. package/{packages/select-person/src/utils/index.js → es/packages/select-person/src/utils/index2.mjs} +57 -66
  129. package/es/packages/select-person/style/index.css +193 -0
  130. package/es/packages/select-person/style/index.less +229 -0
  131. package/{packages/big-table → es}/src/assets/iconfont/iconfont.ttf +0 -0
  132. package/{packages/big-table → es}/src/assets/img/failure.png +0 -0
  133. package/{packages/big-table → es}/src/assets/img/icon-asc.png +0 -0
  134. package/{packages/big-table → es}/src/assets/img/icon-desc.png +0 -0
  135. package/{packages/big-table → es}/src/assets/img/no-permission.png +0 -0
  136. package/{packages/big-table → es}/src/assets/img/nodata.png +0 -0
  137. package/{packages/big-table → es}/src/assets/img/notfound.png +0 -0
  138. package/{packages/big-table → es}/src/assets/img/qr.png +0 -0
  139. package/{packages/big-table → es}/src/assets/img/video_default_cover.png +0 -0
  140. package/{packages/big-table → es}/src/assets/img/xb_big.png +0 -0
  141. package/{packages/big-table → es}/src/assets/img/xb_small.png +0 -0
  142. package/es/src/core/create.d.ts +1 -0
  143. package/es/src/core/create.mjs +1 -0
  144. package/es/src/core/create2.mjs +8 -0
  145. package/es/src/global/variable.d.ts +2 -0
  146. package/es/src/global/variable.mjs +1 -0
  147. package/es/src/global/variable2.mjs +4 -0
  148. package/es/src/types/index.d.ts +4 -0
  149. package/es/src/types/index.mjs +1 -0
  150. package/es/src/utils/clickoutside.d.ts +18 -0
  151. package/es/src/utils/clickoutside.mjs +1 -0
  152. package/es/src/utils/clickoutside2.mjs +48 -0
  153. package/es/src/utils/crypto.d.ts +7 -0
  154. package/es/src/utils/crypto.mjs +1 -0
  155. package/{src/utils/crypto.js → es/src/utils/crypto2.mjs} +25 -25
  156. package/es/src/utils/index.d.ts +4 -0
  157. package/es/src/utils/index.mjs +1 -0
  158. package/es/src/utils/index2.mjs +27 -0
  159. package/es/src/utils/vexutils.d.ts +5 -0
  160. package/es/src/utils/vexutils.mjs +3 -0
  161. package/es/src/utils/vexutils2.mjs +729 -0
  162. package/global.d.ts +8 -0
  163. package/package.json +54 -21
  164. package/yarn-error.log +122 -0
  165. package/es/big-table/index.css +0 -587
  166. package/es/big-table/index.js +0 -41710
  167. package/es/button-print/index.css +0 -617
  168. package/es/button-print/index.js +0 -8363
  169. package/es/drag-layout/index.css +0 -850
  170. package/es/drag-layout/index.js +0 -13104
  171. package/es/field-set/index.css +0 -1048
  172. package/es/field-set/index.js +0 -351
  173. package/es/grid/index.css +0 -1049
  174. package/es/grid/index.js +0 -30819
  175. package/es/index.css +0 -1323
  176. package/es/index.js +0 -46945
  177. package/es/select-person/index.css +0 -1323
  178. package/es/select-person/index.js +0 -13191
  179. package/packages/big-table/index.ts +0 -17
  180. package/packages/big-table/src/BigTable.vue +0 -2598
  181. package/packages/big-table/src/assets/iconfont/iconfont.less +0 -22
  182. package/packages/big-table/src/assets/style/table-global.less +0 -171
  183. package/packages/big-table/src/bigTableState.ts +0 -63
  184. package/packages/big-table/src/components/NoData.vue +0 -90
  185. package/packages/big-table/src/components/TextOverTooltip.vue +0 -110
  186. package/packages/big-table/src/components/edit-form/edit-date.vue +0 -75
  187. package/packages/big-table/src/components/edit-form/edit-input.vue +0 -39
  188. package/packages/big-table/src/components/edit-form/edit-select-table.vue +0 -133
  189. package/packages/big-table/src/components/edit-form/edit-select.vue +0 -96
  190. package/packages/big-table/src/hooks/useBatchEditing.ts +0 -574
  191. package/packages/big-table/src/hooks/useEdit.ts +0 -131
  192. package/packages/big-table/src/hooks/useTableParse.ts +0 -169
  193. package/packages/button-print/index.ts +0 -15
  194. package/packages/button-print/src/ButtonPrint.vue +0 -488
  195. package/packages/button-print/src/components/IdentityVerification.vue +0 -120
  196. package/packages/button-print/src/interfaces.ts +0 -19
  197. package/packages/button-print/src/utils/print.es.min.js +0 -1
  198. package/packages/drag-layout/index.ts +0 -15
  199. package/packages/drag-layout/src/DragFormLeftItem.vue +0 -131
  200. package/packages/drag-layout/src/DragFormRightItem.vue +0 -277
  201. package/packages/drag-layout/src/DragLayout.vue +0 -712
  202. package/packages/field-set/index.ts +0 -15
  203. package/packages/field-set/src/FieldSet.vue +0 -471
  204. package/packages/grid/index.ts +0 -20
  205. package/packages/grid/src/Grid.tsx +0 -18
  206. package/packages/grid/src/hooks.ts +0 -167
  207. package/packages/index.ts +0 -41
  208. package/packages/select-person/index.ts +0 -11
  209. package/packages/select-person/src/SelectPerson.vue +0 -1104
  210. package/packages/select-person/src/search-tree.vue +0 -326
  211. package/src/component/svg/index.vue +0 -49
  212. package/src/core/create.js +0 -5
  213. package/src/global/variable.ts +0 -2
  214. package/src/utils/clickoutside.ts +0 -80
  215. package/src/utils/vexutils.js +0 -811
  216. package/tsconfig.node.json +0 -8
@@ -0,0 +1,452 @@
1
+ import { defineComponent, reactive, computed, onMounted, watch, openBlock, createElementBlock, Fragment, createVNode, unref, withCtx, renderSlot, withModifiers, createCommentVNode, createTextVNode, toDisplayString, mergeProps } from 'vue';
2
+ import { useMessage, NDropdown, NButton, NIcon } from 'naive-ui';
3
+ import { ChevronDown } from '@vicons/ionicons5';
4
+ import Yi from './utils/print.es.min2.mjs';
5
+ import './components/IdentityVerification2.mjs';
6
+ import moment from 'moment';
7
+ import script$1 from './components/IdentityVerification.vue_vue_type_script_setup_true_lang.mjs';
8
+
9
+ var script = /* @__PURE__ */ defineComponent({
10
+ name: "ButtonPrint",
11
+ props: {
12
+ btnText: {
13
+ type: String,
14
+ required: false,
15
+ default: "\u6253\u5370"
16
+ },
17
+ printText: {
18
+ type: String,
19
+ required: false,
20
+ default: "\u76F4\u63A5\u6253\u5370"
21
+ },
22
+ previewText: {
23
+ type: String,
24
+ required: false,
25
+ default: "\u6253\u5370\u9884\u89C8"
26
+ },
27
+ formatEditText: {
28
+ type: String,
29
+ required: false,
30
+ default: "\u683C\u5F0F\u7F16\u8F91"
31
+ },
32
+ params: {
33
+ type: Array,
34
+ required: false,
35
+ default: () => []
36
+ },
37
+ prevFn: {
38
+ type: Function,
39
+ required: false,
40
+ default: () => Promise.resolve()
41
+ },
42
+ queryPrintFormatByNumber: {
43
+ type: Function,
44
+ required: true,
45
+ default: () => Promise.resolve({})
46
+ },
47
+ queryTemplateParams: {
48
+ type: Function,
49
+ required: false,
50
+ default: () => Promise.resolve({})
51
+ },
52
+ strategy: {
53
+ type: String,
54
+ required: false,
55
+ default: "MULTI"
56
+ },
57
+ printParams: {
58
+ type: Array,
59
+ required: false
60
+ },
61
+ clickPrevFn: {
62
+ type: Function,
63
+ required: false,
64
+ default: () => Promise.resolve(true)
65
+ },
66
+ noDataMsg: {
67
+ type: String,
68
+ required: false,
69
+ default: "\u8BF7\u9009\u4E2D\u9700\u8981\u6253\u5370\u7684\u6570\u636E"
70
+ }
71
+ },
72
+ emits: ["success", "error", "clickoutside"],
73
+ setup(__props, {
74
+ emit
75
+ }) {
76
+ const props = __props;
77
+ const $message = useMessage();
78
+ let printInstance = null;
79
+ const state = reactive({
80
+ spinning: false,
81
+ visible: false,
82
+ formatList: [],
83
+ templateParams: {},
84
+ printParams: [],
85
+ currentFormatId: "",
86
+ identityVerification: {
87
+ visible: false
88
+ },
89
+ isInited: false,
90
+ watchPrintParamsReformatFn: null,
91
+ spinTimer: null
92
+ });
93
+ const options = reactive([{
94
+ label: props.printText,
95
+ key: "printText"
96
+ }, {
97
+ label: props.previewText,
98
+ key: "previewText"
99
+ }, {
100
+ label: props.formatEditText,
101
+ key: "formatEditText"
102
+ }]);
103
+ const currentFormatItem = computed(() => {
104
+ if (!state.currentFormatId)
105
+ return {};
106
+ let id = state.currentFormatId;
107
+ return state.formatList.find((item) => item.id === id);
108
+ });
109
+ const formatTitle = computed(() => currentFormatItem.value.name || "\u683C\u5F0F\u9009\u62E9");
110
+ const renderLabel = (option) => {
111
+ return createVNode("span", {
112
+ "class": {
113
+ "active": option.key === state.currentFormatId
114
+ }
115
+ }, [option.label]);
116
+ };
117
+ const getTemplateIdByFormatId = (id) => {
118
+ let find = state.formatList.find((item) => item.id === id);
119
+ return find.templateId;
120
+ };
121
+ const callLocalServicesSuccessCb = (res, type) => {
122
+ let info = {
123
+ type,
124
+ formatId: state.currentFormatId,
125
+ templateId: getTemplateIdByFormatId(state.currentFormatId)
126
+ };
127
+ emit("success", res, info);
128
+ };
129
+ const callLocalServicesErrorCb = (res) => {
130
+ emit("error", res);
131
+ };
132
+ const prevFnError = () => {
133
+ let error = {
134
+ message: "\u524D\u7F6E\u6761\u4EF6\u6267\u884C\u9519\u8BEF"
135
+ };
136
+ emit("error", error);
137
+ };
138
+ const getPrintParams = (index = 0) => {
139
+ const params = props.printParams?.length ? props.printParams[index] : state.printParams[index];
140
+ return JSON.stringify(params);
141
+ };
142
+ const getOnceParams = () => {
143
+ let params = {};
144
+ let obj = {};
145
+ if (state.templateParams.customizeDataset?.length) {
146
+ const key = Object.keys(state.printParams[0].datasetData || {})?.[0] || "";
147
+ const datasetDataKeyVal = JSON.stringify(state.printParams.map((v) => JSON.parse(v.datasetData[key])));
148
+ obj = {
149
+ datasetData: {}
150
+ };
151
+ obj.datasetData[key] = datasetDataKeyVal;
152
+ } else {
153
+ Object.keys(state.printParams[0]).forEach((v) => {
154
+ obj[v] = [];
155
+ state.printParams.forEach((k) => {
156
+ obj[v].push(k[v]);
157
+ });
158
+ obj[v] = obj[v].join(",");
159
+ });
160
+ }
161
+ params = Object.assign({}, JSON.parse(getPrintParams(0)), obj);
162
+ return JSON.stringify(params);
163
+ };
164
+ const handleClickPrint = () => {
165
+ let len = state.printParams.length;
166
+ const callLocalServicesSuccessCbTmp = async (data) => {
167
+ try {
168
+ if (--len <= 0) {
169
+ callLocalServicesSuccessCb(data, "print");
170
+ }
171
+ } catch (error) {
172
+ console.log("error", error);
173
+ }
174
+ };
175
+ props.prevFn().catch(() => {
176
+ prevFnError();
177
+ return Promise.reject();
178
+ }).then(() => {
179
+ if (props.strategy === "MULTI") {
180
+ for (let i = 0; i < state.printParams.length; i++) {
181
+ const queryParams = {
182
+ formatId: state.currentFormatId,
183
+ templateId: getTemplateIdByFormatId(state.currentFormatId),
184
+ params: getPrintParams(i)
185
+ };
186
+ printInstance.printDirect(queryParams, callLocalServicesSuccessCbTmp, callLocalServicesErrorCb);
187
+ }
188
+ } else {
189
+ const queryParams = {
190
+ formatId: state.currentFormatId,
191
+ templateId: getTemplateIdByFormatId(state.currentFormatId),
192
+ params: getOnceParams()
193
+ };
194
+ printInstance.printDirect(queryParams, (res) => {
195
+ callLocalServicesSuccessCb(res, "print");
196
+ }, callLocalServicesErrorCb);
197
+ }
198
+ }).finally(() => {
199
+ state.visible = false;
200
+ });
201
+ };
202
+ const handleClickPreview = async () => {
203
+ props.prevFn().catch(() => {
204
+ prevFnError();
205
+ return Promise.reject();
206
+ }).then(() => {
207
+ const params = props.strategy === "MULTI" ? getPrintParams() : getOnceParams();
208
+ const queryParams = {
209
+ formatId: state.currentFormatId,
210
+ templateId: getTemplateIdByFormatId(state.currentFormatId),
211
+ params
212
+ };
213
+ printInstance.preview(queryParams, (res) => {
214
+ callLocalServicesSuccessCb(res, "preview");
215
+ }, callLocalServicesErrorCb);
216
+ }).finally(() => {
217
+ state.visible = false;
218
+ });
219
+ };
220
+ const handleClickEdit = () => {
221
+ props.prevFn().catch(() => {
222
+ prevFnError();
223
+ return Promise.reject();
224
+ }).then(() => {
225
+ state.identityVerification.visible = true;
226
+ }).finally(() => {
227
+ state.visible = false;
228
+ });
229
+ };
230
+ const handleSelect = (key) => {
231
+ switch (key) {
232
+ case "printText":
233
+ handleClickPrint();
234
+ break;
235
+ case "previewText":
236
+ handleClickPreview();
237
+ break;
238
+ case "formatEditText":
239
+ handleClickEdit();
240
+ break;
241
+ default:
242
+ state.currentFormatId = key;
243
+ state.visible = false;
244
+ break;
245
+ }
246
+ };
247
+ const handleClickOutside = () => {
248
+ state.visible = false;
249
+ emit("clickoutside");
250
+ };
251
+ const instantiatePrintSDK = () => {
252
+ if (printInstance)
253
+ return false;
254
+ printInstance = new Yi();
255
+ };
256
+ const getDefaultFormatId = (list, key) => {
257
+ if (!list?.length)
258
+ return "";
259
+ let findDefault = list.find((item) => item[key] == 1);
260
+ return findDefault?.id || list[0].id;
261
+ };
262
+ const setOptions = () => {
263
+ const children = state.formatList.map((v) => {
264
+ return {
265
+ label: v.name,
266
+ key: v.id
267
+ };
268
+ });
269
+ options.unshift({
270
+ label: formatTitle.value,
271
+ key: "format",
272
+ children
273
+ });
274
+ };
275
+ const formatFormatList = (list) => {
276
+ let formatList = [];
277
+ list.forEach((item) => {
278
+ if (!item.format)
279
+ return false;
280
+ formatList.push(...item.format);
281
+ });
282
+ return formatList;
283
+ };
284
+ const requestError = () => {
285
+ state.isInited = false;
286
+ state.spinning = false;
287
+ setTimeout(() => {
288
+ state.visible = false;
289
+ }, 0);
290
+ return false;
291
+ };
292
+ const formatDefaultVal = (i, tableVal) => {
293
+ let val = i.defaultValue || "";
294
+ let tVal = tableVal;
295
+ if (i.type === "NUMBER") {
296
+ tVal = Number(tableVal) || 0;
297
+ }
298
+ if (i.type === "DATE") {
299
+ tVal = tableVal ? moment(tableVal).format("YYYY-MM-DD") : "";
300
+ }
301
+ if (i.type === "DATETIME") {
302
+ tVal = tableVal ? moment(tableVal).format("YYYY-MM-DD HH:mm:ss") : "";
303
+ }
304
+ return val ? val : tVal;
305
+ };
306
+ const formatPrintParams = (paramObj, fieldList, keyName) => {
307
+ const obj = {};
308
+ fieldList.forEach((i) => {
309
+ let defaultVal = formatDefaultVal(i, paramObj[i[keyName]]);
310
+ if (paramObj[i[keyName]] && defaultVal) {
311
+ obj[i[keyName]] = defaultVal;
312
+ }
313
+ });
314
+ return obj;
315
+ };
316
+ const formatParams = ({
317
+ customizeDataset = [],
318
+ param = []
319
+ }, params = []) => {
320
+ return params.map((paramObj) => {
321
+ let res = {};
322
+ customizeDataset.forEach((dataSetItem) => {
323
+ const selectFieldList = dataSetItem.dataSetting[0].selectFieldList;
324
+ res["datasetData"] = {
325
+ [dataSetItem.name]: JSON.stringify(formatPrintParams(paramObj, selectFieldList, "fieldName"))
326
+ };
327
+ });
328
+ res = Object.assign({}, res, formatPrintParams(paramObj, param, "key"));
329
+ return res;
330
+ });
331
+ };
332
+ const initCRM = async (formatListResult) => {
333
+ state.formatList = formatListResult ? formatFormatList(formatListResult.obj) : [];
334
+ console.log("formatListResult", formatListResult);
335
+ state.currentFormatId = getDefaultFormatId(state.formatList, "defaultFlag");
336
+ setOptions();
337
+ if (!state.currentFormatId) {
338
+ $message.error("\u83B7\u53D6\u6253\u5370\u683C\u5F0F\u5931\u8D25\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\uFF01");
339
+ return requestError();
340
+ }
341
+ if (!state.currentFormatId) {
342
+ requestError();
343
+ return;
344
+ }
345
+ let templateParamsResult = (await props.queryTemplateParams())?.obj || {};
346
+ if (templateParamsResult) {
347
+ state.templateParams = templateParamsResult;
348
+ } else {
349
+ return requestError();
350
+ }
351
+ state.printParams = formatParams(state.templateParams, props.params);
352
+ };
353
+ const init = async () => {
354
+ if (state.isInited)
355
+ return true;
356
+ state.isInited = true;
357
+ state.spinning = true;
358
+ instantiatePrintSDK();
359
+ const formatListResult = await props.queryPrintFormatByNumber();
360
+ await initCRM(formatListResult);
361
+ state.spinning = false;
362
+ return true;
363
+ };
364
+ const handleClickBtn = async () => {
365
+ const status = await props.clickPrevFn();
366
+ if (!status)
367
+ return;
368
+ if (!props.params?.length) {
369
+ $message.warning(props.noDataMsg);
370
+ return;
371
+ }
372
+ if (!state.visible) {
373
+ let result = await init();
374
+ if (!result)
375
+ return false;
376
+ }
377
+ state.visible = !state.visible;
378
+ };
379
+ const reformatPrintParams = () => {
380
+ state.watchPrintParamsReformatFn && state.watchPrintParamsReformatFn();
381
+ if (!state.isInited) {
382
+ state.watchPrintParamsReformatFn = () => watch(() => state.isInited, (val) => {
383
+ if (!val)
384
+ return false;
385
+ reformatPrintParams();
386
+ });
387
+ return;
388
+ }
389
+ state.printParams = formatParams(state.templateParams, props.params);
390
+ };
391
+ const verifiySuccess = (token) => {
392
+ state.identityVerification.visible = false;
393
+ const queryParams = {
394
+ formatId: state.currentFormatId,
395
+ templateId: getTemplateIdByFormatId(state.currentFormatId),
396
+ params: getPrintParams(),
397
+ token
398
+ };
399
+ printInstance.editPrintFormat(queryParams, (res) => {
400
+ callLocalServicesSuccessCb(res, "edit");
401
+ }, callLocalServicesErrorCb);
402
+ };
403
+ onMounted(() => {
404
+ state.isInited = false;
405
+ });
406
+ watch(() => props.params, (val) => {
407
+ if (!val?.length)
408
+ return false;
409
+ reformatPrintParams();
410
+ }, {
411
+ deep: true
412
+ });
413
+ return (_ctx, _cache) => {
414
+ return openBlock(), createElementBlock(Fragment, null, [createVNode(unref(NDropdown), {
415
+ class: "rowFoldHideBtnList-dropdown",
416
+ placement: "bottom-start",
417
+ trigger: "click",
418
+ show: state.visible,
419
+ onClickoutside: handleClickOutside,
420
+ options,
421
+ onSelect: handleSelect,
422
+ "render-label": renderLabel
423
+ }, {
424
+ default: withCtx(() => [renderSlot(_ctx.$slots, "button", {
425
+ handleClickPrintBtn: handleClickBtn,
426
+ printSpinning: state.spinning,
427
+ printbtnText: __props.btnText,
428
+ printVisible: state.visible
429
+ }, () => [createVNode(unref(NButton), {
430
+ class: "dropdown-button",
431
+ style: {
432
+ "margin": "0 8px 8px 0"
433
+ },
434
+ onClick: withModifiers(handleClickBtn, ["stop"])
435
+ }, {
436
+ default: withCtx(() => [createCommentVNode(' <n-spin v-show="state.spinning" size="small"></n-spin> '), createTextVNode(toDisplayString(__props.btnText) + " ", 1), createVNode(unref(NIcon), {
437
+ component: unref(ChevronDown)
438
+ }, null, 8, ["component"])]),
439
+ _: 1
440
+ }, 8, ["onClick"])])]),
441
+ _: 3
442
+ }, 8, ["show", "options"]), createVNode(script$1, mergeProps({
443
+ modelValue: state.identityVerification.visible,
444
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.identityVerification.visible = $event)
445
+ }, _ctx.$attrs, {
446
+ onSuccess: verifiySuccess
447
+ }), null, 16, ["modelValue"])], 64);
448
+ };
449
+ }
450
+ });
451
+
452
+ export { script as default };
@@ -0,0 +1,4 @@
1
+ import script from './ButtonPrint.vue_vue_type_script_setup_true_lang.mjs';
2
+ export { default } from './ButtonPrint.vue_vue_type_script_setup_true_lang.mjs';
3
+
4
+ script.__file = "packages/button-print/src/ButtonPrint.vue";
@@ -0,0 +1,2 @@
1
+ import './IdentityVerification2.mjs';
2
+ export { default } from './IdentityVerification.vue_vue_type_script_setup_true_lang.mjs';