n20-common-lib 1.3.23 → 1.3.26

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 (411) hide show
  1. package/README.md +2 -2
  2. package/g6.js +2 -2
  3. package/nstc-g6/assets/svg/addFile.svg +31 -31
  4. package/nstc-g6/assets/svg/deleteFile.svg +27 -27
  5. package/nstc-g6/assets/svg/filter.svg +15 -15
  6. package/nstc-g6/assets/svg/filterActive.svg +16 -16
  7. package/nstc-g6/assets/svg/hourglass.svg +18 -18
  8. package/nstc-g6/assets/svg/newsearch.svg +18 -18
  9. package/nstc-g6/assets/svg/searchActive.svg +18 -18
  10. package/nstc-g6/components/Calendar/index.js +8 -8
  11. package/nstc-g6/components/Calendar/src/basic/month-table.vue +129 -129
  12. package/nstc-g6/components/Calendar/src/basic/year-table.vue +126 -126
  13. package/nstc-g6/components/Calendar/src/main.vue +442 -442
  14. package/nstc-g6/components/DialogForm/index.js +8 -8
  15. package/nstc-g6/components/DialogForm/src/demo/index.vue +56 -56
  16. package/nstc-g6/components/DialogForm/src/main.vue +189 -189
  17. package/nstc-g6/components/Form/A_DEMO/component/originalForm.vue +280 -280
  18. package/nstc-g6/components/Form/A_DEMO/config/config_3.js +1222 -1222
  19. package/nstc-g6/components/Form/A_DEMO/index.vue +803 -803
  20. package/nstc-g6/components/Form/AutocompleteCustom/index.vue +72 -72
  21. package/nstc-g6/components/Form/BusinessSpecific/InputMultiple.vue +191 -191
  22. package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +128 -128
  23. package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +233 -233
  24. package/nstc-g6/components/Form/BusinessSpecific/readme.md +7 -7
  25. package/nstc-g6/components/Form/CascaderCustom/index.vue +101 -101
  26. package/nstc-g6/components/Form/CheckboxCustom/index.vue +84 -84
  27. package/nstc-g6/components/Form/Component.vue +661 -661
  28. package/nstc-g6/components/Form/ComponentSecond.vue +650 -650
  29. package/nstc-g6/components/Form/DatepickerCustom/index.vue +130 -130
  30. package/nstc-g6/components/Form/InputAndDialog/index.js +15 -15
  31. package/nstc-g6/components/Form/InputAndDialog/src/main.vue +394 -394
  32. package/nstc-g6/components/Form/InputCustom/demo/index.vue +65 -65
  33. package/nstc-g6/components/Form/InputCustom/index.vue +307 -307
  34. package/nstc-g6/components/Form/IntervalinputCustom/demo/index.vue +31 -31
  35. package/nstc-g6/components/Form/IntervalinputCustom/index.vue +118 -118
  36. package/nstc-g6/components/Form/Item.vue +330 -330
  37. package/nstc-g6/components/Form/ItemSecond.vue +269 -269
  38. package/nstc-g6/components/Form/List.vue +146 -146
  39. package/nstc-g6/components/Form/ListSecond.vue +130 -130
  40. package/nstc-g6/components/Form/RadioCustom/index.vue +73 -73
  41. package/nstc-g6/components/Form/SelectAccount/index.js +15 -15
  42. package/nstc-g6/components/Form/SelectAccount/src/demo/index.vue +57 -57
  43. package/nstc-g6/components/Form/SelectAccount/src/main.vue +282 -282
  44. package/nstc-g6/components/Form/SelectAndDialog/index.js +15 -15
  45. package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +383 -383
  46. package/nstc-g6/components/Form/SelectCashFlow/index.js +15 -15
  47. package/nstc-g6/components/Form/SelectCashFlow/src/demo/index.vue +41 -41
  48. package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +125 -125
  49. package/nstc-g6/components/Form/SelectCustom/demo/index.vue +82 -82
  50. package/nstc-g6/components/Form/SelectCustom/index.vue +488 -488
  51. package/nstc-g6/components/Form/SelectSubject/index.js +15 -15
  52. package/nstc-g6/components/Form/SelectSubject/src/demo/index.vue +84 -84
  53. package/nstc-g6/components/Form/SelectSubject/src/main.vue +181 -181
  54. package/nstc-g6/components/Form/SelectindialogCustom/demo/index.vue +188 -188
  55. package/nstc-g6/components/Form/SelectindialogCustom/index.vue +650 -650
  56. package/nstc-g6/components/Form/SelectindialogCustom/install.js +6 -6
  57. package/nstc-g6/components/Form/TableRadioCustom/demo/index.vue +53 -53
  58. package/nstc-g6/components/Form/TableRadioCustom/index.vue +183 -183
  59. package/nstc-g6/components/Form/TextCustom/index.vue +38 -38
  60. package/nstc-g6/components/Form/UploadCustom/demo/index.vue +31 -31
  61. package/nstc-g6/components/Form/UploadCustom/index.vue +506 -506
  62. package/nstc-g6/components/Form/configs.js +191 -191
  63. package/nstc-g6/components/Form/configsSecond.js +161 -161
  64. package/nstc-g6/components/Form/index.js +8 -8
  65. package/nstc-g6/components/Form/index.scss +29 -29
  66. package/nstc-g6/components/Form/payeePersonSelect/index.js +15 -15
  67. package/nstc-g6/components/Form/payeePersonSelect/src/demo/index.vue +163 -163
  68. package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +184 -184
  69. package/nstc-g6/components/Form/readme.txt +4 -4
  70. package/nstc-g6/components/FormGroup/index.js +8 -8
  71. package/nstc-g6/components/FormGroup/src/demo/config.js +23 -23
  72. package/nstc-g6/components/FormGroup/src/demo/index.vue +85 -85
  73. package/nstc-g6/components/FormGroup/src/main.vue +639 -639
  74. package/nstc-g6/components/FormGroup/src/validate.js +22 -22
  75. package/nstc-g6/components/InputTag/InputTag.vue +269 -269
  76. package/nstc-g6/components/NstcApprovel/NstcApprovel.vue +24 -24
  77. package/nstc-g6/components/NstcBackToTop/NstcBackToTop.vue +150 -150
  78. package/nstc-g6/components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +123 -123
  79. package/nstc-g6/components/NstcCharts/NstcCharts.vue +162 -162
  80. package/nstc-g6/components/NstcCharts/define.js +74 -74
  81. package/nstc-g6/components/NstcCharts/mixins/resize.js +56 -56
  82. package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +152 -152
  83. package/nstc-g6/components/NstcConfirm/index.js +24 -24
  84. package/nstc-g6/components/NstcDialog/NstcDialog.vue +184 -184
  85. package/nstc-g6/components/NstcDialogForm/NstcDialogForm.vue +175 -175
  86. package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +280 -280
  87. package/nstc-g6/components/NstcDropdown/NstcDropdown.vue +52 -52
  88. package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +396 -396
  89. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +591 -591
  90. package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +475 -475
  91. package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +145 -145
  92. package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +1074 -1074
  93. package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +1166 -1166
  94. package/nstc-g6/components/NstcExpandCollapse/NstcExpandCollapse.vue +130 -130
  95. package/nstc-g6/components/NstcExpandCollapse/index.scss +77 -77
  96. package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +989 -989
  97. package/nstc-g6/components/NstcFileUpload/img/addFile.svg +31 -31
  98. package/nstc-g6/components/NstcFileUpload/img/delete.svg +23 -23
  99. package/nstc-g6/components/NstcFileUpload/img/deleteFile.svg +27 -27
  100. package/nstc-g6/components/NstcFileUpload/img/download.svg +23 -23
  101. package/nstc-g6/components/NstcFileUpload/img/inputUpload.svg +29 -29
  102. package/nstc-g6/components/NstcFileUpload/img/look-diabled.svg +23 -23
  103. package/nstc-g6/components/NstcFileUpload/img/look.svg +23 -23
  104. package/nstc-g6/components/NstcForm/A_DEMO/component/originalForm.vue +280 -280
  105. package/nstc-g6/components/NstcForm/A_DEMO/config/config_3.js +1222 -1222
  106. package/nstc-g6/components/NstcForm/A_DEMO/index.vue +796 -796
  107. package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +68 -68
  108. package/nstc-g6/components/NstcForm/BusinessSpecific/InputMultiple.vue +189 -189
  109. package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +128 -128
  110. package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +233 -233
  111. package/nstc-g6/components/NstcForm/BusinessSpecific/readme.md +7 -7
  112. package/nstc-g6/components/NstcForm/CascaderCustom/index.vue +101 -101
  113. package/nstc-g6/components/NstcForm/CheckboxCustom/index.vue +84 -84
  114. package/nstc-g6/components/NstcForm/Component.vue +684 -684
  115. package/nstc-g6/components/NstcForm/ComponentSecond.vue +650 -650
  116. package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +130 -130
  117. package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +389 -389
  118. package/nstc-g6/components/NstcForm/InputCustom/index.vue +313 -313
  119. package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +111 -111
  120. package/nstc-g6/components/NstcForm/Item.vue +327 -327
  121. package/nstc-g6/components/NstcForm/ItemSecond.vue +269 -269
  122. package/nstc-g6/components/NstcForm/List.vue +146 -146
  123. package/nstc-g6/components/NstcForm/ListSecond.vue +130 -130
  124. package/nstc-g6/components/NstcForm/RadioCustom/index.vue +73 -73
  125. package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +334 -334
  126. package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +377 -377
  127. package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +122 -122
  128. package/nstc-g6/components/NstcForm/SelectCustom/index.vue +460 -460
  129. package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +184 -184
  130. package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +648 -648
  131. package/nstc-g6/components/NstcForm/TableRadioCustom/index.vue +183 -183
  132. package/nstc-g6/components/NstcForm/TextCustom/index.vue +38 -38
  133. package/nstc-g6/components/NstcForm/UploadCustom/index.vue +500 -500
  134. package/nstc-g6/components/NstcForm/configs.js +191 -191
  135. package/nstc-g6/components/NstcForm/configsSecond.js +161 -161
  136. package/nstc-g6/components/NstcForm/index.js +8 -8
  137. package/nstc-g6/components/NstcForm/index.scss +29 -29
  138. package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +187 -187
  139. package/nstc-g6/components/NstcForm/readme.txt +4 -4
  140. package/nstc-g6/components/NstcPagination/NstcPagination.vue +428 -428
  141. package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +70 -70
  142. package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +730 -730
  143. package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +677 -677
  144. package/nstc-g6/components/NstcSticky/NstcSticky.vue +97 -97
  145. package/nstc-g6/components/NstcSvgIcon/NstcSvgIcon.vue +72 -72
  146. package/nstc-g6/components/NstcTab/NstcTab.vue +80 -80
  147. package/nstc-g6/components/NstcTabWithBadge/NstcTabWithBadge.vue +45 -45
  148. package/nstc-g6/components/NstcTabWithBadge/index.scss +31 -31
  149. package/nstc-g6/components/NstcTable/ElTableColumnCustom/index.vue +292 -292
  150. package/nstc-g6/components/NstcTable/NstcTable.vue +460 -460
  151. package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +802 -802
  152. package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +186 -186
  153. package/nstc-g6/components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +330 -330
  154. package/nstc-g6/components/NstcUploadExcel/NstcUploadExcel.vue +145 -145
  155. package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +176 -176
  156. package/nstc-g6/components/Search/NstcSearch.vue +583 -583
  157. package/nstc-g6/components/Search/src/demo/index copy.vue +101 -101
  158. package/nstc-g6/components/Search/src/demo/index.vue +103 -103
  159. package/nstc-g6/components/Search/src/main copy.vue +607 -607
  160. package/nstc-g6/components/approvelTwo/main.vue +220 -220
  161. package/nstc-g6/components/approvelTwo/progress.vue +154 -154
  162. package/nstc-g6/directives/VCopy/index.js +59 -59
  163. package/nstc-g6/directives/VNstcNumber/index.js +14 -14
  164. package/nstc-g6/directives/VNstcNumber/temp.js +446 -446
  165. package/nstc-g6/index.js +193 -193
  166. package/nstc-g6/utils/auth.js +2 -2
  167. package/nstc-g6/utils/axios.js +2 -2
  168. package/nstc-g6/utils/dateAndValidator.js +649 -649
  169. package/nstc-g6/utils/debounce.js +40 -40
  170. package/nstc-g6/utils/parseTime.js +48 -48
  171. package/nstc-g6/utils/validate/index.js +6 -6
  172. package/nstc-g6/utils/vendor/Export2Excel.js +229 -229
  173. package/nstc-g6/utils/vendor/Export2Zip.js +24 -24
  174. package/nstc-g6/utils/vue-bus.js +4 -4
  175. package/package.json +116 -116
  176. package/src/_qiankun/index.js +113 -113
  177. package/src/_qiankun/postMessage.js +48 -48
  178. package/src/assets/css/_coreLib.scss +44 -44
  179. package/src/assets/css/alert.scss +31 -31
  180. package/src/assets/css/cl-anchor.scss +32 -32
  181. package/src/assets/css/cl-approve-card.scss +68 -68
  182. package/src/assets/css/cl-dialog.scss +113 -113
  183. package/src/assets/css/cl-drag-list.scss +24 -24
  184. package/src/assets/css/cl-empty.scss +10 -10
  185. package/src/assets/css/cl-expandable-pane.scss +37 -38
  186. package/src/assets/css/cl-expandable.scss +27 -27
  187. package/src/assets/css/cl-file-upload-table.scss +31 -31
  188. package/src/assets/css/cl-filter.scss +4 -4
  189. package/src/assets/css/cl-flow-step.scss +185 -185
  190. package/src/assets/css/cl-footer-box.scss +10 -10
  191. package/src/assets/css/cl-form-item.scss +710 -710
  192. package/src/assets/css/cl-general-card.scss +11 -11
  193. package/src/assets/css/cl-layout-aside.scss +92 -92
  194. package/src/assets/css/cl-layout-content.scss +16 -16
  195. package/src/assets/css/cl-layout-header.scss +89 -89
  196. package/src/assets/css/cl-layout-tabs.scss +87 -87
  197. package/src/assets/css/cl-layout.scss +97 -97
  198. package/src/assets/css/cl-login-temporary.scss +37 -37
  199. package/src/assets/css/cl-message.scss +159 -159
  200. package/src/assets/css/cl-more-tab.scss +98 -98
  201. package/src/assets/css/cl-nav-menu.scss +5 -5
  202. package/src/assets/css/cl-pagination.scss +130 -130
  203. package/src/assets/css/cl-secondary-tab.scss +53 -53
  204. package/src/assets/css/cl-showcolumn.scss +40 -40
  205. package/src/assets/css/cl-sifting.scss +51 -51
  206. package/src/assets/css/cl-statis.scss +54 -54
  207. package/src/assets/css/cl-step.scss +73 -73
  208. package/src/assets/css/cl-suspend.scss +19 -19
  209. package/src/assets/css/cl-tertiary-tab.scss +56 -56
  210. package/src/assets/css/cl-upload.scss +52 -47
  211. package/src/assets/css/cl-worn-pagination.scss +50 -50
  212. package/src/assets/css/el-button.scss +188 -188
  213. package/src/assets/css/el-table.scss +96 -96
  214. package/src/assets/css/element-variables.scss +1061 -1061
  215. package/src/assets/css/element.dev.scss +22 -22
  216. package/src/assets/css/font-icon.scss +26 -26
  217. package/src/assets/css/index.dev.scss +4 -4
  218. package/src/assets/css/index.scss +11 -11
  219. package/src/assets/css/normalize.scss +726 -726
  220. package/src/assets/css/plain-text.scss +36 -138
  221. package/src/assets/css/rootvar.scss +143 -139
  222. package/src/assets/css/select.scss +25 -25
  223. package/src/assets/css/title-pop.scss +23 -23
  224. package/src/assets/getJsonc.js +50 -50
  225. package/src/assets/iconFont/demo.css +539 -539
  226. package/src/assets/iconFont/demo_index.html +1614 -1614
  227. package/src/assets/iconFont/iconfont.css +263 -263
  228. package/src/assets/iconFont/iconfont.json +443 -443
  229. package/src/assets/realUrl.js +12 -12
  230. package/src/components/.DS_Store +0 -0
  231. package/src/components/Anchor/AnchorItem.vue +29 -29
  232. package/src/components/Anchor/index.vue +185 -185
  233. package/src/components/ApprovalButtons/index.vue +240 -240
  234. package/src/components/ApprovalCard/index.vue +132 -132
  235. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  236. package/src/components/ApprovalRecord/flowDialog.vue +47 -47
  237. package/src/components/ApprovalRecord/index.vue +63 -59
  238. package/src/components/Button/button-group.vue +154 -154
  239. package/src/components/Button/icon-group-button.vue +63 -63
  240. package/src/components/Button/index.vue +56 -56
  241. package/src/components/CascaderArea/index.vue +103 -103
  242. package/src/components/ChildRange/index.vue +165 -165
  243. package/src/components/ChildRange/style.scss +34 -34
  244. package/src/components/ContentLoading/index.vue +41 -41
  245. package/src/components/ContentNull/index.vue +19 -19
  246. package/src/components/DatePicker/index.vue +27 -27
  247. package/src/components/DatePicker/por.vue +169 -169
  248. package/src/components/Descriptions/index.vue +42 -0
  249. package/src/components/Dialog/index.vue +26 -26
  250. package/src/components/Dialog/indexO.vue +116 -116
  251. package/src/components/DragList/index.vue +75 -75
  252. package/src/components/ECharts/define.js +74 -74
  253. package/src/components/ECharts/index.vue +168 -169
  254. package/src/components/ECharts/mixins/resize.js +23 -56
  255. package/src/components/Empty/.DS_Store +0 -0
  256. package/src/components/Empty/img/.DS_Store +0 -0
  257. package/src/components/Empty/img/400.svg +101 -101
  258. package/src/components/Empty/img/401.svg +101 -101
  259. package/src/components/Empty/img/403.svg +101 -101
  260. package/src/components/Empty/img/405.svg +101 -101
  261. package/src/components/Empty/img/901.svg +95 -95
  262. package/src/components/Empty/img/902.svg +95 -95
  263. package/src/components/Empty/img/903.svg +95 -95
  264. package/src/components/Empty/img/904.svg +95 -95
  265. package/src/components/Empty/img/905.svg +95 -95
  266. package/src/components/Empty/img/906.svg +95 -95
  267. package/src/components/Empty/img/907.svg +95 -95
  268. package/src/components/Empty/img/abnormal.svg +108 -108
  269. package/src/components/Empty/img/dispose.svg +71 -71
  270. package/src/components/Empty/img/empty.svg +57 -57
  271. package/src/components/Empty/img/general.svg +58 -58
  272. package/src/components/Empty/img/lock.svg +57 -57
  273. package/src/components/Empty/img/network.svg +59 -59
  274. package/src/components/Empty/img/relevant.svg +68 -68
  275. package/src/components/Empty/img/search.svg +72 -72
  276. package/src/components/Empty/index.vue +147 -147
  277. package/src/components/Expandable/index.vue +49 -49
  278. package/src/components/Expandable/main.vue +64 -64
  279. package/src/components/FileExportAsync/index.vue +178 -178
  280. package/src/components/FileImport/_index.vue +201 -201
  281. package/src/components/FileImport/index.vue +9 -9
  282. package/src/components/FileUploadTable/index.vue +690 -661
  283. package/src/components/Filters/index.vue +372 -372
  284. package/src/components/Filters/indexO.vue +104 -104
  285. package/src/components/FlowStep/index.vue +68 -68
  286. package/src/components/FooterBox/index.vue +21 -21
  287. package/src/components/GeneralCard/index.vue +15 -15
  288. package/src/components/InputNumber/index.vue +169 -169
  289. package/src/components/InputNumber/numberRange.vue +47 -47
  290. package/src/components/InputSearch/index.vue +75 -75
  291. package/src/components/Layout/.DS_Store +0 -0
  292. package/src/components/Layout/AsideNav/index.vue +120 -120
  293. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  294. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  295. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  296. package/src/components/Layout/HeaderWrap/index.vue +401 -401
  297. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  298. package/src/components/Layout/SubContent/index.vue +127 -127
  299. package/src/components/Layout/TabsNav/index.vue +170 -170
  300. package/src/components/Layout/index.vue +518 -518
  301. package/src/components/Layout/utils.js +12 -12
  302. package/src/components/LoginTemporary/form.vue +576 -576
  303. package/src/components/LoginTemporary/index.vue +139 -139
  304. package/src/components/LoginTemporary/qrcode.vue +90 -90
  305. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  306. package/src/components/LoginTemporary/utils.js +73 -73
  307. package/src/components/MicroApp/index.js +67 -67
  308. package/src/components/MicroFrame/index.vue +95 -95
  309. package/src/components/MoreTab/index.vue +232 -232
  310. package/src/components/NavMenu/index.vue +60 -60
  311. package/src/components/PageHeader/index.vue +35 -35
  312. package/src/components/PageHeader/style.scss +39 -39
  313. package/src/components/PageLayout/page.vue +15 -15
  314. package/src/components/Pagination/index.vue +165 -165
  315. package/src/components/Search/index.vue +485 -485
  316. package/src/components/Search/style.scss +93 -93
  317. package/src/components/SecondaryTab/index.vue +58 -58
  318. package/src/components/SelectLazy/index.vue +75 -75
  319. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  320. package/src/components/SelectTree/index.vue +206 -206
  321. package/src/components/ShowColumn/index.vue +213 -213
  322. package/src/components/Sifting/index.vue +99 -99
  323. package/src/components/Stamp/index.vue +75 -75
  324. package/src/components/Statis/index.vue +111 -97
  325. package/src/components/Statis/statisItem.vue +60 -54
  326. package/src/components/Statis/statisPopover.vue +63 -56
  327. package/src/components/Step/index.vue +38 -38
  328. package/src/components/Suspend/index.vue +72 -72
  329. package/src/components/Table/ThSelectHeader.vue +127 -127
  330. package/src/components/Table/index.vue +261 -261
  331. package/src/components/Table/indexO.vue +149 -149
  332. package/src/components/Task/index.vue +26 -26
  333. package/src/components/TertiaryTab/index.vue +63 -63
  334. package/src/components/TimePicker/index.vue +28 -28
  335. package/src/components/Upload/index.vue +262 -258
  336. package/src/components/WornPagination/index.vue +73 -73
  337. package/src/directives/VClickOutside/index.js +19 -19
  338. package/src/directives/VHas/index.js +58 -58
  339. package/src/directives/VMove/index.js +42 -42
  340. package/src/directives/VTitle/index.js +88 -86
  341. package/src/index.js +254 -257
  342. package/src/plugins/.DS_Store +0 -0
  343. package/src/plugins/CompatibleOld/index.js +57 -57
  344. package/src/plugins/Print/index.js +4 -4
  345. package/src/plugins/Print/print-js/.babelrc +12 -12
  346. package/src/plugins/Print/print-js/LICENSE +21 -21
  347. package/src/plugins/Print/print-js/README.md +98 -98
  348. package/src/plugins/Print/print-js/dist/print.css +96 -96
  349. package/src/plugins/Print/print-js/dist/print.js +990 -990
  350. package/src/plugins/Print/print-js/package.json +60 -60
  351. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  352. package/src/plugins/Print/print-js/src/index.js +10 -10
  353. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  354. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  355. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  356. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  357. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  358. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  359. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  360. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  361. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  362. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  363. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  364. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  365. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  366. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  367. package/src/plugins/Print/print.js +2 -2
  368. package/src/plugins/Print/print.scss +1 -1
  369. package/src/plugins/SetMenuTree/index.vue +41 -41
  370. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  371. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  372. package/src/plugins/SetMenuTree/utils.js +74 -74
  373. package/src/plugins/Sign/.DS_Store +0 -0
  374. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  375. package/src/plugins/Sign/bjca/XTXSAB.js +2395 -2395
  376. package/src/plugins/Sign/bjca/index.js +119 -73
  377. package/src/plugins/Sign/index.js +28 -64
  378. package/src/plugins/Sign/sign.js +64 -1
  379. package/src/plugins/setTabsForSub.js +2 -2
  380. package/src/utils/auth.js +53 -53
  381. package/src/utils/axios.js +203 -203
  382. package/src/utils/downloadBlob.js +19 -19
  383. package/src/utils/forEachs.js +16 -16
  384. package/src/utils/getScrollContainer.js +43 -43
  385. package/src/utils/i18n/cn2hk.json +1270 -1270
  386. package/src/utils/i18n/index.js +50 -50
  387. package/src/utils/list2tree.js +36 -36
  388. package/src/utils/mapper_aims.js +809 -809
  389. package/src/utils/msgboxPor.js +26 -26
  390. package/src/utils/print.js +161 -161
  391. package/src/utils/relaNo.js +72 -72
  392. package/src/utils/repairElementUI.js +95 -95
  393. package/src/utils/theme.config.js +22 -22
  394. package/src/utils/theme.js +31 -31
  395. package/src/utils/urlToGo.js +82 -82
  396. package/style/index.css +1 -1
  397. package/style/index.css.map +1 -1
  398. package/{treme → theme}/blue.css +1 -1
  399. package/{treme → theme}/fonts/element-icons.535877f5.woff +0 -0
  400. package/{treme → theme}/fonts/element-icons.732389de.ttf +0 -0
  401. package/{treme → theme}/fonts/iconfont.022f36c4.woff2 +0 -0
  402. package/{treme → theme}/fonts/iconfont.4a1b2c93.woff +0 -0
  403. package/{treme → theme}/fonts/iconfont.a9febaa2.ttf +0 -0
  404. package/{treme → theme}/green.css +1 -1
  405. package/{treme → theme}/lightBlue.css +1 -1
  406. package/{treme → theme}/orange.css +1 -1
  407. package/{treme → theme}/purple.css +1 -1
  408. package/{treme → theme}/red.css +1 -1
  409. package/{treme → theme}/yellow.css +1 -1
  410. package/src/components/PlainText/PlainTextItem.vue +0 -17
  411. package/src/components/PlainText/index.vue +0 -12
@@ -1,48 +1,48 @@
1
- import { addHeader } from './functions'
2
- import Print from './print'
3
- import Browser from './browser'
4
-
5
- export default {
6
- print: (params, printFrame) => {
7
- // Check if we are printing one image or multiple images
8
- if (params.printable.constructor !== Array) {
9
- // Create array with one image
10
- params.printable = [params.printable]
11
- }
12
-
13
- // Create printable element (container)
14
- params.printableElement = document.createElement('div')
15
-
16
- // Create all image elements and append them to the printable container
17
- params.printable.forEach(src => {
18
- // Create the image element
19
- const img = document.createElement('img')
20
- img.setAttribute('style', params.imageStyle)
21
-
22
- // Set image src with the file url
23
- img.src = src
24
-
25
- // The following block is for Firefox, which for some reason requires the image's src to be fully qualified in
26
- // order to print it
27
- if (Browser.isFirefox()) {
28
- const fullyQualifiedSrc = img.src
29
- img.src = fullyQualifiedSrc
30
- }
31
-
32
- // Create the image wrapper
33
- const imageWrapper = document.createElement('div')
34
-
35
- // Append image to the wrapper element
36
- imageWrapper.appendChild(img)
37
-
38
- // Append wrapper to the printable element
39
- params.printableElement.appendChild(imageWrapper)
40
- })
41
-
42
- // Check if we are adding a print header
43
- if (params.header) addHeader(params.printableElement, params)
44
-
45
- // Print image
46
- Print.send(params, printFrame)
47
- }
48
- }
1
+ import { addHeader } from './functions'
2
+ import Print from './print'
3
+ import Browser from './browser'
4
+
5
+ export default {
6
+ print: (params, printFrame) => {
7
+ // Check if we are printing one image or multiple images
8
+ if (params.printable.constructor !== Array) {
9
+ // Create array with one image
10
+ params.printable = [params.printable]
11
+ }
12
+
13
+ // Create printable element (container)
14
+ params.printableElement = document.createElement('div')
15
+
16
+ // Create all image elements and append them to the printable container
17
+ params.printable.forEach(src => {
18
+ // Create the image element
19
+ const img = document.createElement('img')
20
+ img.setAttribute('style', params.imageStyle)
21
+
22
+ // Set image src with the file url
23
+ img.src = src
24
+
25
+ // The following block is for Firefox, which for some reason requires the image's src to be fully qualified in
26
+ // order to print it
27
+ if (Browser.isFirefox()) {
28
+ const fullyQualifiedSrc = img.src
29
+ img.src = fullyQualifiedSrc
30
+ }
31
+
32
+ // Create the image wrapper
33
+ const imageWrapper = document.createElement('div')
34
+
35
+ // Append image to the wrapper element
36
+ imageWrapper.appendChild(img)
37
+
38
+ // Append wrapper to the printable element
39
+ params.printableElement.appendChild(imageWrapper)
40
+ })
41
+
42
+ // Check if we are adding a print header
43
+ if (params.header) addHeader(params.printableElement, params)
44
+
45
+ // Print image
46
+ Print.send(params, printFrame)
47
+ }
48
+ }
@@ -1,168 +1,168 @@
1
- 'use strict'
2
-
3
- import Browser from './browser'
4
- import Modal from './modal'
5
- import Pdf from './pdf'
6
- import Html from './html'
7
- import RawHtml from './raw-html'
8
- import Image from './image'
9
- import Json from './json'
10
-
11
- const printTypes = ['pdf', 'html', 'image', 'json', 'raw-html']
12
-
13
- export default {
14
- init () {
15
- const params = {
16
- printable: null,
17
- fallbackPrintable: null,
18
- type: 'pdf',
19
- header: null,
20
- headerStyle: 'font-weight: 300;',
21
- maxWidth: 800,
22
- properties: null,
23
- gridHeaderStyle: 'font-weight: bold; padding: 5px; border: 1px solid #dddddd;',
24
- gridStyle: 'border: 1px solid lightgray; margin-bottom: -1px;',
25
- showModal: false,
26
- onError: (error) => { throw error },
27
- onLoadingStart: null,
28
- onLoadingEnd: null,
29
- onPrintDialogClose: () => {},
30
- onIncompatibleBrowser: () => {},
31
- modalMessage: '打印中...',
32
- frameId: 'printJS',
33
- printableElement: null,
34
- documentTitle: 'Document',
35
- targetStyle: ['clear', 'display', 'width', 'min-width', 'height', 'min-height', 'max-height'],
36
- targetStyles: ['border', 'box', 'break', 'text-decoration'],
37
- ignoreElements: [],
38
- repeatTableHeader: true,
39
- css: null,
40
- style: null,
41
- scanStyles: true,
42
- base64: false,
43
-
44
- // Deprecated
45
- onPdfOpen: null,
46
- font: 'TimesNewRoman',
47
- font_size: '12pt',
48
- honorMarginPadding: true,
49
- honorColor: false,
50
- imageStyle: 'max-width: 100%;'
51
- }
52
-
53
- // Check if a printable document or object was supplied
54
- const args = arguments[0]
55
- if (args === undefined) {
56
- throw new Error('printJS expects at least 1 attribute.')
57
- }
58
-
59
- // Process parameters
60
- switch (typeof args) {
61
- case 'string':
62
- params.printable = encodeURI(args)
63
- params.fallbackPrintable = params.printable
64
- params.type = arguments[1] || params.type
65
- break
66
- case 'object':
67
- params.printable = args.printable
68
- params.fallbackPrintable = typeof args.fallbackPrintable !== 'undefined' ? args.fallbackPrintable : params.printable
69
- params.fallbackPrintable = params.base64 ? `data:application/pdf;base64,${params.fallbackPrintable}` : params.fallbackPrintable
70
- for (var k in params) {
71
- if (k === 'printable' || k === 'fallbackPrintable') continue
72
-
73
- params[k] = typeof args[k] !== 'undefined' ? args[k] : params[k]
74
- }
75
- break
76
- default:
77
- throw new Error('Unexpected argument type! Expected "string" or "object", got ' + typeof args)
78
- }
79
-
80
- // Validate printable
81
- if (!params.printable) throw new Error('Missing printable information.')
82
-
83
- // Validate type
84
- if (!params.type || typeof params.type !== 'string' || printTypes.indexOf(params.type.toLowerCase()) === -1) {
85
- throw new Error('Invalid print type. Available types are: pdf, html, image and json.')
86
- }
87
-
88
- // Check if we are showing a feedback message to the user (useful for large files)
89
- if (params.showModal) Modal.show(params)
90
-
91
- // Check for a print start hook function
92
- if (params.onLoadingStart) params.onLoadingStart()
93
-
94
- // To prevent duplication and issues, remove any used printFrame from the DOM
95
- const usedFrame = document.getElementById(params.frameId)
96
-
97
- if (usedFrame) usedFrame.parentNode.removeChild(usedFrame)
98
-
99
- // Create a new iframe for the print job
100
- const printFrame = document.createElement('iframe')
101
-
102
- if (Browser.isFirefox()) {
103
- // Set the iframe to be is visible on the page (guaranteed by fixed position) but hidden using opacity 0, because
104
- // this works in Firefox. The height needs to be sufficient for some part of the document other than the PDF
105
- // viewer's toolbar to be visible in the page
106
- printFrame.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0')
107
- } else {
108
- // Hide the iframe in other browsers
109
- printFrame.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0')
110
- }
111
-
112
- // Set iframe element id
113
- printFrame.setAttribute('id', params.frameId)
114
-
115
- // For non pdf printing, pass an html document string to srcdoc (force onload callback)
116
- if (params.type !== 'pdf') {
117
- printFrame.srcdoc = '<html><head><title>' + params.documentTitle + '</title>'
118
-
119
- // Attach css files
120
- if (params.css) {
121
- // Add support for single file
122
- if (!Array.isArray(params.css)) params.css = [params.css]
123
-
124
- // Create link tags for each css file
125
- params.css.forEach(file => {
126
- printFrame.srcdoc += '<link rel="stylesheet" href="' + file + '">'
127
- })
128
- }
129
-
130
- printFrame.srcdoc += '</head><body></body></html>'
131
- }
132
-
133
- // Check printable type
134
- switch (params.type) {
135
- case 'pdf':
136
- // Check browser support for pdf and if not supported we will just open the pdf file instead
137
- if (Browser.isIE()) {
138
- try {
139
- console.info('Print.js doesn\'t support PDF printing in Internet Explorer.')
140
- const win = window.open(params.fallbackPrintable, '_blank')
141
- win.focus()
142
- params.onIncompatibleBrowser()
143
- } catch (error) {
144
- params.onError(error)
145
- } finally {
146
- // Make sure there is no loading modal opened
147
- if (params.showModal) Modal.close()
148
- if (params.onLoadingEnd) params.onLoadingEnd()
149
- }
150
- } else {
151
- Pdf.print(params, printFrame)
152
- }
153
- break
154
- case 'image':
155
- Image.print(params, printFrame)
156
- break
157
- case 'html':
158
- Html.print(params, printFrame)
159
- break
160
- case 'raw-html':
161
- RawHtml.print(params, printFrame)
162
- break
163
- case 'json':
164
- Json.print(params, printFrame)
165
- break
166
- }
167
- }
168
- }
1
+ 'use strict'
2
+
3
+ import Browser from './browser'
4
+ import Modal from './modal'
5
+ import Pdf from './pdf'
6
+ import Html from './html'
7
+ import RawHtml from './raw-html'
8
+ import Image from './image'
9
+ import Json from './json'
10
+
11
+ const printTypes = ['pdf', 'html', 'image', 'json', 'raw-html']
12
+
13
+ export default {
14
+ init () {
15
+ const params = {
16
+ printable: null,
17
+ fallbackPrintable: null,
18
+ type: 'pdf',
19
+ header: null,
20
+ headerStyle: 'font-weight: 300;',
21
+ maxWidth: 800,
22
+ properties: null,
23
+ gridHeaderStyle: 'font-weight: bold; padding: 5px; border: 1px solid #dddddd;',
24
+ gridStyle: 'border: 1px solid lightgray; margin-bottom: -1px;',
25
+ showModal: false,
26
+ onError: (error) => { throw error },
27
+ onLoadingStart: null,
28
+ onLoadingEnd: null,
29
+ onPrintDialogClose: () => {},
30
+ onIncompatibleBrowser: () => {},
31
+ modalMessage: '打印中...',
32
+ frameId: 'printJS',
33
+ printableElement: null,
34
+ documentTitle: 'Document',
35
+ targetStyle: ['clear', 'display', 'width', 'min-width', 'height', 'min-height', 'max-height'],
36
+ targetStyles: ['border', 'box', 'break', 'text-decoration'],
37
+ ignoreElements: [],
38
+ repeatTableHeader: true,
39
+ css: null,
40
+ style: null,
41
+ scanStyles: true,
42
+ base64: false,
43
+
44
+ // Deprecated
45
+ onPdfOpen: null,
46
+ font: 'TimesNewRoman',
47
+ font_size: '12pt',
48
+ honorMarginPadding: true,
49
+ honorColor: false,
50
+ imageStyle: 'max-width: 100%;'
51
+ }
52
+
53
+ // Check if a printable document or object was supplied
54
+ const args = arguments[0]
55
+ if (args === undefined) {
56
+ throw new Error('printJS expects at least 1 attribute.')
57
+ }
58
+
59
+ // Process parameters
60
+ switch (typeof args) {
61
+ case 'string':
62
+ params.printable = encodeURI(args)
63
+ params.fallbackPrintable = params.printable
64
+ params.type = arguments[1] || params.type
65
+ break
66
+ case 'object':
67
+ params.printable = args.printable
68
+ params.fallbackPrintable = typeof args.fallbackPrintable !== 'undefined' ? args.fallbackPrintable : params.printable
69
+ params.fallbackPrintable = params.base64 ? `data:application/pdf;base64,${params.fallbackPrintable}` : params.fallbackPrintable
70
+ for (var k in params) {
71
+ if (k === 'printable' || k === 'fallbackPrintable') continue
72
+
73
+ params[k] = typeof args[k] !== 'undefined' ? args[k] : params[k]
74
+ }
75
+ break
76
+ default:
77
+ throw new Error('Unexpected argument type! Expected "string" or "object", got ' + typeof args)
78
+ }
79
+
80
+ // Validate printable
81
+ if (!params.printable) throw new Error('Missing printable information.')
82
+
83
+ // Validate type
84
+ if (!params.type || typeof params.type !== 'string' || printTypes.indexOf(params.type.toLowerCase()) === -1) {
85
+ throw new Error('Invalid print type. Available types are: pdf, html, image and json.')
86
+ }
87
+
88
+ // Check if we are showing a feedback message to the user (useful for large files)
89
+ if (params.showModal) Modal.show(params)
90
+
91
+ // Check for a print start hook function
92
+ if (params.onLoadingStart) params.onLoadingStart()
93
+
94
+ // To prevent duplication and issues, remove any used printFrame from the DOM
95
+ const usedFrame = document.getElementById(params.frameId)
96
+
97
+ if (usedFrame) usedFrame.parentNode.removeChild(usedFrame)
98
+
99
+ // Create a new iframe for the print job
100
+ const printFrame = document.createElement('iframe')
101
+
102
+ if (Browser.isFirefox()) {
103
+ // Set the iframe to be is visible on the page (guaranteed by fixed position) but hidden using opacity 0, because
104
+ // this works in Firefox. The height needs to be sufficient for some part of the document other than the PDF
105
+ // viewer's toolbar to be visible in the page
106
+ printFrame.setAttribute('style', 'width: 1px; height: 100px; position: fixed; left: 0; top: 0; opacity: 0; border-width: 0; margin: 0; padding: 0')
107
+ } else {
108
+ // Hide the iframe in other browsers
109
+ printFrame.setAttribute('style', 'visibility: hidden; height: 0; width: 0; position: absolute; border: 0')
110
+ }
111
+
112
+ // Set iframe element id
113
+ printFrame.setAttribute('id', params.frameId)
114
+
115
+ // For non pdf printing, pass an html document string to srcdoc (force onload callback)
116
+ if (params.type !== 'pdf') {
117
+ printFrame.srcdoc = '<html><head><title>' + params.documentTitle + '</title>'
118
+
119
+ // Attach css files
120
+ if (params.css) {
121
+ // Add support for single file
122
+ if (!Array.isArray(params.css)) params.css = [params.css]
123
+
124
+ // Create link tags for each css file
125
+ params.css.forEach(file => {
126
+ printFrame.srcdoc += '<link rel="stylesheet" href="' + file + '">'
127
+ })
128
+ }
129
+
130
+ printFrame.srcdoc += '</head><body></body></html>'
131
+ }
132
+
133
+ // Check printable type
134
+ switch (params.type) {
135
+ case 'pdf':
136
+ // Check browser support for pdf and if not supported we will just open the pdf file instead
137
+ if (Browser.isIE()) {
138
+ try {
139
+ console.info('Print.js doesn\'t support PDF printing in Internet Explorer.')
140
+ const win = window.open(params.fallbackPrintable, '_blank')
141
+ win.focus()
142
+ params.onIncompatibleBrowser()
143
+ } catch (error) {
144
+ params.onError(error)
145
+ } finally {
146
+ // Make sure there is no loading modal opened
147
+ if (params.showModal) Modal.close()
148
+ if (params.onLoadingEnd) params.onLoadingEnd()
149
+ }
150
+ } else {
151
+ Pdf.print(params, printFrame)
152
+ }
153
+ break
154
+ case 'image':
155
+ Image.print(params, printFrame)
156
+ break
157
+ case 'html':
158
+ Html.print(params, printFrame)
159
+ break
160
+ case 'raw-html':
161
+ RawHtml.print(params, printFrame)
162
+ break
163
+ case 'json':
164
+ Json.print(params, printFrame)
165
+ break
166
+ }
167
+ }
168
+ }
@@ -1,109 +1,109 @@
1
- import { capitalizePrint, addHeader } from './functions'
2
- import Print from './print'
3
-
4
- export default {
5
- print: (params, printFrame) => {
6
- // Check if we received proper data
7
- if (typeof params.printable !== 'object') {
8
- throw new Error('Invalid javascript data object (JSON).')
9
- }
10
-
11
- // Validate repeatTableHeader
12
- if (typeof params.repeatTableHeader !== 'boolean') {
13
- throw new Error('Invalid value for repeatTableHeader attribute (JSON).')
14
- }
15
-
16
- // Validate properties
17
- if (!params.properties || !Array.isArray(params.properties)) {
18
- throw new Error('Invalid properties array for your JSON data.')
19
- }
20
-
21
- // We will format the property objects to keep the JSON api compatible with older releases
22
- params.properties = params.properties.map(property => {
23
- return {
24
- field: typeof property === 'object' ? property.field : property,
25
- displayName: typeof property === 'object' ? property.displayName : property,
26
- columnSize: typeof property === 'object' && property.columnSize ? property.columnSize + ';' : 100 / params.properties.length + '%;'
27
- }
28
- })
29
-
30
- // Create a print container element
31
- params.printableElement = document.createElement('div')
32
-
33
- // Check if we are adding a print header
34
- if (params.header) {
35
- addHeader(params.printableElement, params)
36
- }
37
-
38
- // Build the printable html data
39
- params.printableElement.innerHTML += jsonToHTML(params)
40
-
41
- // Print the json data
42
- Print.send(params, printFrame)
43
- }
44
- }
45
-
46
- function jsonToHTML (params) {
47
- // Get the row and column data
48
- const data = params.printable
49
- const properties = params.properties
50
-
51
- // Create a html table
52
- let htmlData = '<table style="border-collapse: collapse; width: 100%;">'
53
-
54
- // Check if the header should be repeated
55
- if (params.repeatTableHeader) {
56
- htmlData += '<thead>'
57
- }
58
-
59
- // Add the table header row
60
- htmlData += '<tr>'
61
-
62
- // Add the table header columns
63
- for (let a = 0; a < properties.length; a++) {
64
- htmlData += '<th style="width:' + properties[a].columnSize + ';' + params.gridHeaderStyle + '">' + capitalizePrint(properties[a].displayName) + '</th>'
65
- }
66
-
67
- // Add the closing tag for the table header row
68
- htmlData += '</tr>'
69
-
70
- // If the table header is marked as repeated, add the closing tag
71
- if (params.repeatTableHeader) {
72
- htmlData += '</thead>'
73
- }
74
-
75
- // Create the table body
76
- htmlData += '<tbody>'
77
-
78
- // Add the table data rows
79
- for (let i = 0; i < data.length; i++) {
80
- // Add the row starting tag
81
- htmlData += '<tr>'
82
-
83
- // Print selected properties only
84
- for (let n = 0; n < properties.length; n++) {
85
- let stringData = data[i]
86
-
87
- // Support nested objects
88
- const property = properties[n].field.split('.')
89
- if (property.length > 1) {
90
- for (let p = 0; p < property.length; p++) {
91
- stringData = stringData[property[p]]
92
- }
93
- } else {
94
- stringData = stringData[properties[n].field]
95
- }
96
-
97
- // Add the row contents and styles
98
- htmlData += '<td style="width:' + properties[n].columnSize + params.gridStyle + '">' + stringData + '</td>'
99
- }
100
-
101
- // Add the row closing tag
102
- htmlData += '</tr>'
103
- }
104
-
105
- // Add the table and body closing tags
106
- htmlData += '</tbody></table>'
107
-
108
- return htmlData
109
- }
1
+ import { capitalizePrint, addHeader } from './functions'
2
+ import Print from './print'
3
+
4
+ export default {
5
+ print: (params, printFrame) => {
6
+ // Check if we received proper data
7
+ if (typeof params.printable !== 'object') {
8
+ throw new Error('Invalid javascript data object (JSON).')
9
+ }
10
+
11
+ // Validate repeatTableHeader
12
+ if (typeof params.repeatTableHeader !== 'boolean') {
13
+ throw new Error('Invalid value for repeatTableHeader attribute (JSON).')
14
+ }
15
+
16
+ // Validate properties
17
+ if (!params.properties || !Array.isArray(params.properties)) {
18
+ throw new Error('Invalid properties array for your JSON data.')
19
+ }
20
+
21
+ // We will format the property objects to keep the JSON api compatible with older releases
22
+ params.properties = params.properties.map(property => {
23
+ return {
24
+ field: typeof property === 'object' ? property.field : property,
25
+ displayName: typeof property === 'object' ? property.displayName : property,
26
+ columnSize: typeof property === 'object' && property.columnSize ? property.columnSize + ';' : 100 / params.properties.length + '%;'
27
+ }
28
+ })
29
+
30
+ // Create a print container element
31
+ params.printableElement = document.createElement('div')
32
+
33
+ // Check if we are adding a print header
34
+ if (params.header) {
35
+ addHeader(params.printableElement, params)
36
+ }
37
+
38
+ // Build the printable html data
39
+ params.printableElement.innerHTML += jsonToHTML(params)
40
+
41
+ // Print the json data
42
+ Print.send(params, printFrame)
43
+ }
44
+ }
45
+
46
+ function jsonToHTML (params) {
47
+ // Get the row and column data
48
+ const data = params.printable
49
+ const properties = params.properties
50
+
51
+ // Create a html table
52
+ let htmlData = '<table style="border-collapse: collapse; width: 100%;">'
53
+
54
+ // Check if the header should be repeated
55
+ if (params.repeatTableHeader) {
56
+ htmlData += '<thead>'
57
+ }
58
+
59
+ // Add the table header row
60
+ htmlData += '<tr>'
61
+
62
+ // Add the table header columns
63
+ for (let a = 0; a < properties.length; a++) {
64
+ htmlData += '<th style="width:' + properties[a].columnSize + ';' + params.gridHeaderStyle + '">' + capitalizePrint(properties[a].displayName) + '</th>'
65
+ }
66
+
67
+ // Add the closing tag for the table header row
68
+ htmlData += '</tr>'
69
+
70
+ // If the table header is marked as repeated, add the closing tag
71
+ if (params.repeatTableHeader) {
72
+ htmlData += '</thead>'
73
+ }
74
+
75
+ // Create the table body
76
+ htmlData += '<tbody>'
77
+
78
+ // Add the table data rows
79
+ for (let i = 0; i < data.length; i++) {
80
+ // Add the row starting tag
81
+ htmlData += '<tr>'
82
+
83
+ // Print selected properties only
84
+ for (let n = 0; n < properties.length; n++) {
85
+ let stringData = data[i]
86
+
87
+ // Support nested objects
88
+ const property = properties[n].field.split('.')
89
+ if (property.length > 1) {
90
+ for (let p = 0; p < property.length; p++) {
91
+ stringData = stringData[property[p]]
92
+ }
93
+ } else {
94
+ stringData = stringData[properties[n].field]
95
+ }
96
+
97
+ // Add the row contents and styles
98
+ htmlData += '<td style="width:' + properties[n].columnSize + params.gridStyle + '">' + stringData + '</td>'
99
+ }
100
+
101
+ // Add the row closing tag
102
+ htmlData += '</tr>'
103
+ }
104
+
105
+ // Add the table and body closing tags
106
+ htmlData += '</tbody></table>'
107
+
108
+ return htmlData
109
+ }