n20-common-lib 1.3.9 → 1.3.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/nstc-g6/assets/svg/404.svg +1 -0
  2. package/nstc-g6/assets/svg/addFile.svg +32 -0
  3. package/nstc-g6/assets/svg/bug.svg +1 -0
  4. package/nstc-g6/assets/svg/chart.svg +1 -0
  5. package/nstc-g6/assets/svg/clipboard.svg +1 -0
  6. package/nstc-g6/assets/svg/component.svg +1 -0
  7. package/nstc-g6/assets/svg/dashboard.svg +1 -0
  8. package/nstc-g6/assets/svg/deleteFile.svg +28 -0
  9. package/nstc-g6/assets/svg/documentation.svg +1 -0
  10. package/nstc-g6/assets/svg/drag.svg +1 -0
  11. package/nstc-g6/assets/svg/edit.svg +1 -0
  12. package/nstc-g6/assets/svg/education.svg +1 -0
  13. package/nstc-g6/assets/svg/email.svg +1 -0
  14. package/nstc-g6/assets/svg/example.svg +1 -0
  15. package/nstc-g6/assets/svg/excel.svg +1 -0
  16. package/nstc-g6/assets/svg/exit-fullscreen.svg +1 -0
  17. package/nstc-g6/assets/svg/eye-open.svg +1 -0
  18. package/nstc-g6/assets/svg/eye.svg +1 -0
  19. package/nstc-g6/assets/svg/favorite.svg +1 -0
  20. package/nstc-g6/assets/svg/favorite_active.svg +1 -0
  21. package/nstc-g6/assets/svg/favorite_x400.svg +1 -0
  22. package/nstc-g6/assets/svg/favorite_x400_active.svg +1 -0
  23. package/nstc-g6/assets/svg/favorite_x400_blank.svg +1 -0
  24. package/nstc-g6/assets/svg/filter.svg +16 -0
  25. package/nstc-g6/assets/svg/filter@2x.png +0 -0
  26. package/nstc-g6/assets/svg/filterActive.svg +16 -0
  27. package/nstc-g6/assets/svg/filterClose@2x.png +0 -0
  28. package/nstc-g6/assets/svg/form.svg +1 -0
  29. package/nstc-g6/assets/svg/fullscreen.svg +1 -0
  30. package/nstc-g6/assets/svg/guide.svg +1 -0
  31. package/nstc-g6/assets/svg/hourglass.svg +19 -0
  32. package/nstc-g6/assets/svg/icon.svg +1 -0
  33. package/nstc-g6/assets/svg/international.svg +1 -0
  34. package/nstc-g6/assets/svg/language.svg +1 -0
  35. package/nstc-g6/assets/svg/left-dis.svg +1 -0
  36. package/nstc-g6/assets/svg/left.svg +1 -0
  37. package/nstc-g6/assets/svg/link.svg +1 -0
  38. package/nstc-g6/assets/svg/list.svg +1 -0
  39. package/nstc-g6/assets/svg/lock.svg +1 -0
  40. package/nstc-g6/assets/svg/message-t.svg +1 -0
  41. package/nstc-g6/assets/svg/money.svg +1 -0
  42. package/nstc-g6/assets/svg/money3.svg +1 -0
  43. package/nstc-g6/assets/svg/money4.svg +1 -0
  44. package/nstc-g6/assets/svg/moneyTwo.svg +1 -0
  45. package/nstc-g6/assets/svg/msg_white.svg +1 -0
  46. package/nstc-g6/assets/svg/nested.svg +1 -0
  47. package/nstc-g6/assets/svg/newsearch.svg +19 -0
  48. package/nstc-g6/assets/svg/password.svg +1 -0
  49. package/nstc-g6/assets/svg/pdf.svg +1 -0
  50. package/nstc-g6/assets/svg/people.svg +1 -0
  51. package/nstc-g6/assets/svg/peoples.svg +1 -0
  52. package/nstc-g6/assets/svg/phone.svg +1 -0
  53. package/nstc-g6/assets/svg/phone_msg.svg +1 -0
  54. package/nstc-g6/assets/svg/qq.svg +1 -0
  55. package/nstc-g6/assets/svg/right-dis.svg +1 -0
  56. package/nstc-g6/assets/svg/right.svg +1 -0
  57. package/nstc-g6/assets/svg/search.svg +1 -0
  58. package/nstc-g6/assets/svg/searchActive.svg +19 -0
  59. package/nstc-g6/assets/svg/shopping.svg +1 -0
  60. package/nstc-g6/assets/svg/size.svg +1 -0
  61. package/nstc-g6/assets/svg/skill.svg +1 -0
  62. package/nstc-g6/assets/svg/star.svg +1 -0
  63. package/nstc-g6/assets/svg/steam.svg +1 -0
  64. package/nstc-g6/assets/svg/tab.svg +1 -0
  65. package/nstc-g6/assets/svg/table.svg +1 -0
  66. package/nstc-g6/assets/svg/theme.svg +1 -0
  67. package/nstc-g6/assets/svg/tree-table.svg +1 -0
  68. package/nstc-g6/assets/svg/tree.svg +1 -0
  69. package/nstc-g6/assets/svg/user.svg +1 -0
  70. package/nstc-g6/assets/svg/wechat.svg +1 -0
  71. package/nstc-g6/assets/svg/z-left-2-dis.svg +1 -0
  72. package/nstc-g6/assets/svg/z-left-2.svg +1 -0
  73. package/nstc-g6/assets/svg/z-right-2-dis.svg +1 -0
  74. package/nstc-g6/assets/svg/z-right-2.svg +1 -0
  75. package/nstc-g6/assets/svg/z-right.svg +1 -0
  76. package/nstc-g6/assets/svg/zip.svg +1 -0
  77. package/nstc-g6/components/Calendar/index.js +8 -0
  78. package/nstc-g6/components/Calendar/src/basic/month-table.vue +129 -0
  79. package/nstc-g6/components/Calendar/src/basic/year-table.vue +126 -0
  80. package/nstc-g6/components/Calendar/src/main.vue +442 -0
  81. package/nstc-g6/components/DialogForm/index.js +8 -0
  82. package/nstc-g6/components/DialogForm/src/demo/index.vue +56 -0
  83. package/nstc-g6/components/DialogForm/src/main.vue +189 -0
  84. package/nstc-g6/components/Form/A_DEMO/component/originalForm.vue +281 -0
  85. package/nstc-g6/components/Form/A_DEMO/config/config_3.js +1222 -0
  86. package/nstc-g6/components/Form/A_DEMO/index.vue +803 -0
  87. package/nstc-g6/components/Form/AutocompleteCustom/index.vue +72 -0
  88. package/nstc-g6/components/Form/BusinessSpecific/InputMultiple.vue +191 -0
  89. package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +128 -0
  90. package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +233 -0
  91. package/nstc-g6/components/Form/BusinessSpecific/readme.md +7 -0
  92. package/nstc-g6/components/Form/CascaderCustom/index.vue +101 -0
  93. package/nstc-g6/components/Form/CheckboxCustom/index.vue +84 -0
  94. package/nstc-g6/components/Form/Component.vue +661 -0
  95. package/nstc-g6/components/Form/ComponentSecond.vue +650 -0
  96. package/nstc-g6/components/Form/DatepickerCustom/index.vue +130 -0
  97. package/nstc-g6/components/Form/InputAndDialog/index.js +15 -0
  98. package/nstc-g6/components/Form/InputAndDialog/src/main.vue +395 -0
  99. package/nstc-g6/components/Form/InputCustom/demo/index.vue +65 -0
  100. package/nstc-g6/components/Form/InputCustom/index.vue +307 -0
  101. package/nstc-g6/components/Form/IntervalinputCustom/demo/index.vue +31 -0
  102. package/nstc-g6/components/Form/IntervalinputCustom/index.vue +118 -0
  103. package/nstc-g6/components/Form/Item.vue +330 -0
  104. package/nstc-g6/components/Form/ItemSecond.vue +269 -0
  105. package/nstc-g6/components/Form/List.vue +146 -0
  106. package/nstc-g6/components/Form/ListSecond.vue +130 -0
  107. package/nstc-g6/components/Form/RadioCustom/index.vue +73 -0
  108. package/nstc-g6/components/Form/SelectAccount/index.js +15 -0
  109. package/nstc-g6/components/Form/SelectAccount/src/demo/index.vue +58 -0
  110. package/nstc-g6/components/Form/SelectAccount/src/main.vue +283 -0
  111. package/nstc-g6/components/Form/SelectAndDialog/index.js +15 -0
  112. package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +384 -0
  113. package/nstc-g6/components/Form/SelectCashFlow/index.js +15 -0
  114. package/nstc-g6/components/Form/SelectCashFlow/src/demo/index.vue +42 -0
  115. package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +126 -0
  116. package/nstc-g6/components/Form/SelectCustom/demo/index.vue +82 -0
  117. package/nstc-g6/components/Form/SelectCustom/index.vue +488 -0
  118. package/nstc-g6/components/Form/SelectSubject/index.js +15 -0
  119. package/nstc-g6/components/Form/SelectSubject/src/demo/index.vue +85 -0
  120. package/nstc-g6/components/Form/SelectSubject/src/main.vue +182 -0
  121. package/nstc-g6/components/Form/SelectindialogCustom/demo/index.vue +188 -0
  122. package/nstc-g6/components/Form/SelectindialogCustom/index.vue +650 -0
  123. package/nstc-g6/components/Form/SelectindialogCustom/install.js +7 -0
  124. package/nstc-g6/components/Form/TableRadioCustom/demo/index.vue +53 -0
  125. package/nstc-g6/components/Form/TableRadioCustom/index.vue +183 -0
  126. package/nstc-g6/components/Form/TextCustom/index.vue +38 -0
  127. package/nstc-g6/components/Form/UploadCustom/demo/index.vue +31 -0
  128. package/nstc-g6/components/Form/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  129. package/nstc-g6/components/Form/UploadCustom/index.vue +506 -0
  130. package/nstc-g6/components/Form/configs.js +191 -0
  131. package/nstc-g6/components/Form/configsSecond.js +161 -0
  132. package/nstc-g6/components/Form/index.js +8 -0
  133. package/nstc-g6/components/Form/index.scss +29 -0
  134. package/nstc-g6/components/Form/payeePersonSelect/index.js +15 -0
  135. package/nstc-g6/components/Form/payeePersonSelect/src/demo/index.vue +164 -0
  136. package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +185 -0
  137. package/nstc-g6/components/Form/readme.txt +4 -0
  138. package/nstc-g6/components/FormGroup/index.js +8 -0
  139. package/nstc-g6/components/FormGroup/src/demo/config.js +23 -0
  140. package/nstc-g6/components/FormGroup/src/demo/index.vue +85 -0
  141. package/nstc-g6/components/FormGroup/src/main.vue +639 -0
  142. package/nstc-g6/components/FormGroup/src/validate.js +23 -0
  143. package/nstc-g6/components/InputTag/InputTag.vue +270 -0
  144. package/nstc-g6/components/NstcApprovel/NstcApprovel.vue +24 -0
  145. package/nstc-g6/components/NstcBackToTop/NstcBackToTop.vue +150 -0
  146. package/nstc-g6/components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +123 -0
  147. package/nstc-g6/components/NstcCharts/NstcCharts.vue +162 -0
  148. package/nstc-g6/components/NstcCharts/define.js +74 -0
  149. package/nstc-g6/components/NstcCharts/mixins/resize.js +56 -0
  150. package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +152 -0
  151. package/nstc-g6/components/NstcConfirm/index.js +25 -0
  152. package/nstc-g6/components/NstcDialog/NstcDialog.vue +185 -0
  153. package/nstc-g6/components/NstcDialogForm/NstcDialogForm.vue +176 -0
  154. package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +280 -0
  155. package/nstc-g6/components/NstcDropdown/NstcDropdown.vue +52 -0
  156. package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +396 -0
  157. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +591 -0
  158. package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +475 -0
  159. package/nstc-g6/components/NstcExcelCustomImport/img/upload@2x.png +0 -0
  160. package/nstc-g6/components/NstcExcelExport/NstcExcelExport.vue +145 -0
  161. package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +1074 -0
  162. package/nstc-g6/components/NstcExcelImport/img/upload@2x.png +0 -0
  163. package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +1166 -0
  164. package/nstc-g6/components/NstcExpandCollapse/NstcExpandCollapse.vue +130 -0
  165. package/nstc-g6/components/NstcExpandCollapse/index.scss +77 -0
  166. package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +989 -0
  167. package/nstc-g6/components/NstcFileUpload/img/addFile.svg +32 -0
  168. package/nstc-g6/components/NstcFileUpload/img/delete.svg +24 -0
  169. package/nstc-g6/components/NstcFileUpload/img/deleteFile.svg +28 -0
  170. package/nstc-g6/components/NstcFileUpload/img/download.svg +24 -0
  171. package/nstc-g6/components/NstcFileUpload/img/inputUpload.svg +30 -0
  172. package/nstc-g6/components/NstcFileUpload/img/look-diabled.svg +24 -0
  173. package/nstc-g6/components/NstcFileUpload/img/look.svg +24 -0
  174. package/nstc-g6/components/NstcForm/A_DEMO/component/originalForm.vue +281 -0
  175. package/nstc-g6/components/NstcForm/A_DEMO/config/config_3.js +1222 -0
  176. package/nstc-g6/components/NstcForm/A_DEMO/index.vue +796 -0
  177. package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +68 -0
  178. package/nstc-g6/components/NstcForm/BusinessSpecific/InputMultiple.vue +189 -0
  179. package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +128 -0
  180. package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +233 -0
  181. package/nstc-g6/components/NstcForm/BusinessSpecific/readme.md +7 -0
  182. package/nstc-g6/components/NstcForm/CascaderCustom/index.vue +101 -0
  183. package/nstc-g6/components/NstcForm/CheckboxCustom/index.vue +84 -0
  184. package/nstc-g6/components/NstcForm/Component.vue +684 -0
  185. package/nstc-g6/components/NstcForm/ComponentSecond.vue +650 -0
  186. package/nstc-g6/components/NstcForm/DatepickerCustom/index.vue +130 -0
  187. package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +389 -0
  188. package/nstc-g6/components/NstcForm/InputCustom/index.vue +314 -0
  189. package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +116 -0
  190. package/nstc-g6/components/NstcForm/Item.vue +327 -0
  191. package/nstc-g6/components/NstcForm/ItemSecond.vue +269 -0
  192. package/nstc-g6/components/NstcForm/List.vue +146 -0
  193. package/nstc-g6/components/NstcForm/ListSecond.vue +130 -0
  194. package/nstc-g6/components/NstcForm/RadioCustom/index.vue +73 -0
  195. package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +334 -0
  196. package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +377 -0
  197. package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +123 -0
  198. package/nstc-g6/components/NstcForm/SelectCustom/index.vue +460 -0
  199. package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +185 -0
  200. package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +648 -0
  201. package/nstc-g6/components/NstcForm/TableRadioCustom/index.vue +183 -0
  202. package/nstc-g6/components/NstcForm/TextCustom/index.vue +38 -0
  203. package/nstc-g6/components/NstcForm/UploadCustom/iconxitongshezhi-yichu.png +0 -0
  204. package/nstc-g6/components/NstcForm/UploadCustom/index.vue +500 -0
  205. package/nstc-g6/components/NstcForm/configs.js +191 -0
  206. package/nstc-g6/components/NstcForm/configsSecond.js +161 -0
  207. package/nstc-g6/components/NstcForm/index.js +8 -0
  208. package/nstc-g6/components/NstcForm/index.scss +29 -0
  209. package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +188 -0
  210. package/nstc-g6/components/NstcForm/readme.txt +4 -0
  211. package/nstc-g6/components/NstcPagination/NstcPagination.vue +428 -0
  212. package/nstc-g6/components/NstcPagination/setPageNum.png +0 -0
  213. package/nstc-g6/components/NstcPagination/setpagedefault.png +0 -0
  214. package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +70 -0
  215. package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +729 -0
  216. package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +676 -0
  217. package/nstc-g6/components/NstcSticky/NstcSticky.vue +97 -0
  218. package/nstc-g6/components/NstcSvgIcon/NstcSvgIcon.vue +72 -0
  219. package/nstc-g6/components/NstcTab/NstcTab.vue +80 -0
  220. package/nstc-g6/components/NstcTabWithBadge/NstcTabWithBadge.vue +45 -0
  221. package/nstc-g6/components/NstcTabWithBadge/index.scss +31 -0
  222. package/nstc-g6/components/NstcTable/ElTableColumnCustom/index.vue +292 -0
  223. package/nstc-g6/components/NstcTable/NstcTable.vue +460 -0
  224. package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +801 -0
  225. package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +186 -0
  226. package/nstc-g6/components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +330 -0
  227. package/nstc-g6/components/NstcUploadExcel/NstcUploadExcel.vue +145 -0
  228. package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +176 -0
  229. package/nstc-g6/components/Search/NstcSearch.vue +583 -0
  230. package/nstc-g6/components/Search/src/demo/index copy.vue +101 -0
  231. package/nstc-g6/components/Search/src/demo/index.vue +103 -0
  232. package/nstc-g6/components/Search/src/main copy.vue +607 -0
  233. package/nstc-g6/components/approvelTwo/main.vue +220 -0
  234. package/nstc-g6/components/approvelTwo/progress.vue +154 -0
  235. package/nstc-g6/directives/VCopy/index.js +60 -0
  236. package/nstc-g6/directives/VNstcNumber/index.js +14 -0
  237. package/nstc-g6/directives/VNstcNumber/temp.js +446 -0
  238. package/nstc-g6/index.js +193 -0
  239. package/nstc-g6/utils/auth.js +2 -0
  240. package/nstc-g6/utils/axios.js +2 -0
  241. package/nstc-g6/utils/dateAndValidator.js +649 -0
  242. package/nstc-g6/utils/debounce.js +40 -0
  243. package/nstc-g6/utils/parseTime.js +48 -0
  244. package/nstc-g6/utils/validate/index.js +7 -0
  245. package/nstc-g6/utils/vendor/Export2Excel.js +229 -0
  246. package/nstc-g6/utils/vendor/Export2Zip.js +24 -0
  247. package/nstc-g6/utils/vue-bus.js +5 -0
  248. package/package.json +9 -2
  249. package/src/assets/css/_coreLib.scss +9 -1
  250. package/src/assets/css/element-variables.scss +1 -1
  251. package/src/components/ChildRange/index.vue +2 -37
  252. package/src/components/ChildRange/style.scss +34 -0
  253. package/src/components/FileImport/index.vue +3 -1
  254. package/src/components/PageHeader/index.vue +2 -44
  255. package/src/components/PageHeader/style.scss +39 -0
  256. package/src/components/Search/index.vue +1 -97
  257. package/src/components/Search/style.scss +93 -0
  258. package/src/components/Table/ThSelectHeader.vue +2 -11
  259. package/src/components/Table/index.vue +4 -2
  260. package/src/directives/VTitle/index.js +14 -17
  261. package/style/css/normalize.scss +6 -6
  262. package/style/index.css +3 -3
  263. package/style/index.css.map +1 -1
  264. package/style/server-config.jsonc +527 -410
  265. package/treme/blue.css +3 -0
  266. package/treme/blue.umd.min.js +1 -0
  267. package/treme/css/normalize.scss +726 -0
  268. package/treme/fonts/element-icons.535877f5.woff +0 -0
  269. package/treme/fonts/element-icons.732389de.ttf +0 -0
  270. package/treme/fonts/iconfont.022f36c4.woff2 +0 -0
  271. package/treme/fonts/iconfont.4a1b2c93.woff +0 -0
  272. package/treme/fonts/iconfont.a9febaa2.ttf +0 -0
  273. package/treme/green.css +3 -0
  274. package/treme/green.umd.min.js +1 -0
  275. package/treme/lightBlue.css +3 -0
  276. package/treme/lightBlue.umd.min.js +1 -0
  277. package/treme/orange.css +3 -0
  278. package/treme/orange.umd.min.js +1 -0
  279. package/treme/pageDemo/demo-1.vue +131 -0
  280. package/treme/pageDemo/demo-2.vue +35 -0
  281. package/treme/pageDemo/demo-3.vue +22 -0
  282. package/treme/pageDemo/seeCode.js +20 -0
  283. package/treme/red.css +3 -0
  284. package/treme/red.umd.min.js +1 -0
  285. package/treme/server-config.jsonc +723 -0
  286. package/treme/yellow.css +3 -0
  287. package/treme/yellow.umd.min.js +1 -0
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Parse the time to string
3
+ * @param {(Object|string|number)} time
4
+ * @param {string} cFormat
5
+ * @returns {string | null}
6
+ */
7
+ export function parseTime(time, cFormat = '{y}-{m}-{d} {h}:{i}:{s}') {
8
+ if (arguments.length === 0 || !time) {
9
+ return null
10
+ }
11
+ const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
12
+ let date
13
+ if (typeof time === 'object') {
14
+ date = time
15
+ } else {
16
+ if ((typeof time === 'string')) {
17
+ if ((/^[0-9]+$/.test(time))) {
18
+ // support "1548221490638"
19
+ time = parseInt(time)
20
+ } else {
21
+ // support safari
22
+ // https://stackoverflow.com/questions/4310953/invalid-date-in-safari
23
+ time = time.replace(new RegExp(/-/gm), '/')
24
+ }
25
+ }
26
+
27
+ if ((typeof time === 'number') && (time.toString().length === 10)) {
28
+ time = time * 1000
29
+ }
30
+ date = new Date(time)
31
+ }
32
+ const formatObj = {
33
+ y: date.getFullYear(),
34
+ m: date.getMonth() + 1,
35
+ d: date.getDate(),
36
+ h: date.getHours(),
37
+ i: date.getMinutes(),
38
+ s: date.getSeconds(),
39
+ a: date.getDay()
40
+ }
41
+ const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
42
+ const value = formatObj[key]
43
+ // Note: getDay() returns 0 on Sunday
44
+ if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
45
+ return value.toString().padStart(2, '0')
46
+ })
47
+ return time_str
48
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @param {string} path
3
+ * @returns {Boolean}
4
+ */
5
+ export function isExternal(path) {
6
+ return /^(https?:|mailto:|tel:)/.test(path)
7
+ }
@@ -0,0 +1,229 @@
1
+ /* eslint-disable */
2
+ import { saveAs } from 'file-saver'
3
+ import XLSX from 'xlsx'
4
+ import XLSXS from 'xlsx-style'
5
+ function generateArray(table) {
6
+ var out = [];
7
+ var rows = table.querySelectorAll('tr');
8
+ var ranges = [];
9
+ for (var R = 0; R < rows.length; ++R) {
10
+ var outRow = [];
11
+ var row = rows[R];
12
+ var columns = row.querySelectorAll('td');
13
+ for (var C = 0; C < columns.length; ++C) {
14
+ var cell = columns[C];
15
+ var colspan = cell.getAttribute('colspan');
16
+ var rowspan = cell.getAttribute('rowspan');
17
+ var cellValue = cell.innerText;
18
+ if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
19
+
20
+ //Skip ranges
21
+ ranges.forEach(function (range) {
22
+ if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
23
+ for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
24
+ }
25
+ });
26
+
27
+ //Handle Row Span
28
+ if (rowspan || colspan) {
29
+ rowspan = rowspan || 1;
30
+ colspan = colspan || 1;
31
+ ranges.push({
32
+ s: {
33
+ r: R,
34
+ c: outRow.length
35
+ },
36
+ e: {
37
+ r: R + rowspan - 1,
38
+ c: outRow.length + colspan - 1
39
+ }
40
+ });
41
+ };
42
+
43
+ //Handle Value
44
+ outRow.push(cellValue !== "" ? cellValue : null);
45
+
46
+ //Handle Colspan
47
+ if (colspan)
48
+ for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
49
+ }
50
+ out.push(outRow);
51
+ }
52
+ return [out, ranges];
53
+ };
54
+
55
+ function datenum(v, date1904) {
56
+ if (date1904) v += 1462;
57
+ var epoch = Date.parse(v);
58
+ return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
59
+ }
60
+
61
+ export function sheet_from_array_of_arrays(data, opts) {
62
+ var ws = {};
63
+ var range = {
64
+ s: {
65
+ c: 10000000,
66
+ r: 10000000
67
+ },
68
+ e: {
69
+ c: 0,
70
+ r: 0
71
+ }
72
+ };
73
+ for (var R = 0; R != data.length; ++R) {
74
+ for (var C = 0; C != data[R].length; ++C) {
75
+ if (range.s.r > R) range.s.r = R;
76
+ if (range.s.c > C) range.s.c = C;
77
+ if (range.e.r < R) range.e.r = R;
78
+ if (range.e.c < C) range.e.c = C;
79
+ var cell = {
80
+ v: data[R][C]
81
+ };
82
+ if (cell.v == null) continue;
83
+ var cell_ref = XLSX.utils.encode_cell({
84
+ c: C,
85
+ r: R
86
+ });
87
+
88
+ if (typeof cell.v === 'number') cell.t = 'n';
89
+ else if (typeof cell.v === 'boolean') cell.t = 'b';
90
+ else if (cell.v instanceof Date) {
91
+ cell.t = 'n';
92
+ cell.z = XLSX.SSF._table[14];
93
+ cell.v = datenum(cell.v);
94
+ } else cell.t = 's';
95
+
96
+ ws[cell_ref] = cell;
97
+ }
98
+ }
99
+ if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
100
+ return ws;
101
+ }
102
+
103
+ function Workbook() {
104
+ if (!(this instanceof Workbook)) return new Workbook();
105
+ this.SheetNames = [];
106
+ this.Sheets = {};
107
+ }
108
+
109
+ function s2ab(s) {
110
+ var buf = new ArrayBuffer(s.length);
111
+ var view = new Uint8Array(buf);
112
+ for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
113
+ return buf;
114
+ }
115
+
116
+ export function export_table_to_excel(id) {
117
+ var theTable = document.getElementById(id);
118
+ var oo = generateArray(theTable);
119
+ var ranges = oo[1];
120
+
121
+ /* original data */
122
+ var data = oo[0];
123
+ var ws_name = "SheetJS";
124
+
125
+ var wb = new Workbook(),
126
+ ws = sheet_from_array_of_arrays(data);
127
+
128
+ /* add ranges to worksheet */
129
+ // ws['!cols'] = ['apple', 'banan'];
130
+ ws['!merges'] = ranges;
131
+
132
+ /* add worksheet to workbook */
133
+ wb.SheetNames.push(ws_name);
134
+ wb.Sheets[ws_name] = ws;
135
+
136
+ var wbout = XLSX.write(wb, {
137
+ bookType: 'xlsx',
138
+ bookSST: false,
139
+ type: 'binary'
140
+ });
141
+
142
+ saveAs(new Blob([s2ab(wbout)], {
143
+ type: "application/octet-stream"
144
+ }), "test.xlsx")
145
+ }
146
+
147
+ export function export_json_to_excel({
148
+ multiHeader = [],
149
+ header,
150
+ data,
151
+ filename,
152
+ merges = [],
153
+ autoWidth = true,
154
+ bookType = 'xlsx'
155
+ } = {}, cellStyle = {}) {
156
+ /* original data */
157
+ filename = filename || 'excel-list'
158
+ data = [...data]
159
+ data.unshift(header);
160
+
161
+ for (let i = multiHeader.length - 1; i > -1; i--) {
162
+ data.unshift(multiHeader[i])
163
+ }
164
+
165
+ var ws_name = "SheetJS";
166
+ var wb = new Workbook(),
167
+ ws = sheet_from_array_of_arrays(data);
168
+
169
+ if (merges.length > 0) {
170
+ if (!ws['!merges']) ws['!merges'] = [];
171
+ merges.forEach(item => {
172
+ ws['!merges'].push(XLSX.utils.decode_range(item))
173
+ })
174
+ }
175
+
176
+ if (autoWidth) {
177
+ /*设置worksheet每列的最大宽度*/
178
+ const colWidth = data.map(row => row.map(val => {
179
+ /*先判断是否为null/undefined*/
180
+ if (val == null) {
181
+ return {
182
+ 'wch': 10
183
+ };
184
+ }
185
+ /*再判断是否为中文*/
186
+ else if (val.toString().charCodeAt(0) > 255) {
187
+ return {
188
+ 'wch': val.toString().length * 2 < 20 ? 20 : val.toString().length * 2
189
+ };
190
+ } else {
191
+ return {
192
+ 'wch': val.toString().length * 2 < 20 ? 20 : val.toString().length * 2
193
+ };
194
+ }
195
+ }))
196
+ /*以第一行为初始值*/
197
+ let result = colWidth[0];
198
+ for (let i = 1; i < colWidth.length; i++) {
199
+ for (let j = 0; j < colWidth[i].length; j++) {
200
+ if (result[j]['wch'] < colWidth[i][j]['wch']) {
201
+ result[j]['wch'] = colWidth[i][j]['wch'];
202
+ }
203
+ }
204
+ }
205
+ ws['!cols'] = result;
206
+ }
207
+
208
+ /* add worksheet to workbook */
209
+ wb.SheetNames.push(ws_name);
210
+ wb.Sheets[ws_name] = ws;
211
+ // 设置某一列的单元格样式
212
+ for(let key in ws) {
213
+ for(let colName in cellStyle) {
214
+ if(key.startsWith(colName)) {
215
+ ws[key].s = cellStyle[colName]
216
+
217
+ }
218
+ }
219
+
220
+ }
221
+ var wbout = XLSXS.write(wb, {
222
+ bookType: bookType,
223
+ bookSST: false,
224
+ type: 'binary'
225
+ });
226
+ saveAs(new Blob([s2ab(wbout)], {
227
+ type: "application/octet-stream"
228
+ }), `${filename}.${bookType}`);
229
+ }
@@ -0,0 +1,24 @@
1
+ /* eslint-disable */
2
+ import { saveAs } from 'file-saver'
3
+ import JSZip from 'jszip'
4
+
5
+ export function export_txt_to_zip(th, jsonData, txtName, zipName) {
6
+ const zip = new JSZip()
7
+ const txt_name = txtName || 'file'
8
+ const zip_name = zipName || 'file'
9
+ const data = jsonData
10
+ let txtData = `${th}\r\n`
11
+ data.forEach((row) => {
12
+ let tempStr = ''
13
+ tempStr = row.toString()
14
+ txtData += `${tempStr}\r\n`
15
+ })
16
+ zip.file(`${txt_name}.txt`, txtData)
17
+ zip.generateAsync({
18
+ type: "blob"
19
+ }).then((blob) => {
20
+ saveAs(blob, `${zip_name}.zip`)
21
+ }, (err) => {
22
+ alert('导出失败')
23
+ })
24
+ }
@@ -0,0 +1,5 @@
1
+ import Vue from 'vue'
2
+
3
+ const VueBus = new Vue()
4
+
5
+ export default VueBus
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n20-common-lib",
3
- "version": "1.3.9",
3
+ "version": "1.3.12",
4
4
  "private": false,
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -25,7 +25,13 @@
25
25
  "src/plugins",
26
26
  "src/index.js",
27
27
  "style",
28
- "g6.js"
28
+ "treme",
29
+ "g6.js",
30
+ "nstc-g6/index.js",
31
+ "nstc-g6/assets",
32
+ "nstc-g6/components",
33
+ "nstc-g6/directives",
34
+ "nstc-g6/utils"
29
35
  ],
30
36
  "dependencies": {
31
37
  "axios": "*",
@@ -55,6 +61,7 @@
55
61
  "element-ui": "^2.15.6",
56
62
  "eslint": "^6.7.2",
57
63
  "eslint-plugin-vue": "^6.2.2",
64
+ "exceljs": "^4.3.0",
58
65
  "file-saver": "^2.0.5",
59
66
  "fuse.js": "^6.6.2",
60
67
  "jszip": "^3.10.0",
@@ -33,4 +33,12 @@
33
33
 
34
34
  @import '../../plugins/Print/print.scss';
35
35
  @import './select.scss';
36
- @import "./plain-text.scss";
36
+ @import './plain-text.scss';
37
+
38
+ /* 临时引入 */
39
+ @import '../../components/ChildRange/style.scss';
40
+ @import '../../components/PageHeader/style.scss';
41
+ @import '../../components/Search/style.scss';
42
+ .table-header-popover.el-popover {
43
+ padding: 16px;
44
+ }
@@ -16,7 +16,7 @@ $--color-transition-base: color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !defau
16
16
  /* Color
17
17
  -------------------------- */
18
18
  /// color|1|Brand Color|0
19
- $--color-primary: #007aff;
19
+ $--color-primary: #007aff !default;
20
20
  /// color|1|Background Color|4
21
21
  $--color-white: #ffffff !default;
22
22
  /// color|1|Background Color|4
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div>
2
+ <div class="n20-subticket-interval">
3
3
  <div class="input-child-range" :class="{ 'is-disabled': disabled }">
4
4
  <div class="flex">
5
5
  <div class="from">
@@ -163,39 +163,4 @@ export default {
163
163
  }
164
164
  }
165
165
  }
166
- </script>
167
-
168
- <style lang="less" scoped>
169
- .input-child-range {
170
- background-color: #fff;
171
- border: 1px solid #dcdfe6;
172
- border-radius: 4px;
173
- // 取消element原有的input框样式
174
- ::v-deep .el-input--small .el-input__inner {
175
- border: 0px;
176
- margin: 0;
177
- padding: 0 5px;
178
- background-color: transparent;
179
- }
180
- ::v-deep .el-input__inner:focus {
181
- box-shadow: none;
182
- }
183
- }
184
- .flex {
185
- display: flex;
186
- flex-direction: row;
187
- width: 100%;
188
- justify-content: center;
189
- align-items: center;
190
- .center {
191
- color: #cccccc;
192
- margin: 0 1px;
193
- }
194
- }
195
- .is-disabled {
196
- background-color: #eef0f6;
197
- border-color: #e4e7ed;
198
- color: #c0c4cc;
199
- cursor: not-allowed;
200
- }
201
- </style>
166
+ </script>
@@ -0,0 +1,34 @@
1
+ .n20-subticket-interval {
2
+ .input-child-range {
3
+ background-color: #fff;
4
+ border: 1px solid #dcdfe6;
5
+ border-radius: 4px;
6
+ // 取消element原有的input框样式
7
+ ::v-deep .el-input--small .el-input__inner {
8
+ border: 0px;
9
+ margin: 0;
10
+ padding: 0 5px;
11
+ background-color: transparent;
12
+ }
13
+ ::v-deep .el-input__inner:focus {
14
+ box-shadow: none;
15
+ }
16
+ }
17
+ .flex {
18
+ display: flex;
19
+ flex-direction: row;
20
+ width: 100%;
21
+ justify-content: center;
22
+ align-items: center;
23
+ .center {
24
+ color: #cccccc;
25
+ margin: 0 1px;
26
+ }
27
+ }
28
+ .is-disabled {
29
+ background-color: #eef0f6;
30
+ border-color: #e4e7ed;
31
+ color: #c0c4cc;
32
+ cursor: not-allowed;
33
+ }
34
+ }
@@ -3,5 +3,7 @@
3
3
  </template>
4
4
 
5
5
  <script>
6
- export default {}
6
+ export default {
7
+ name: 'FileImport'
8
+ }
7
9
  </script>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="page-header">
2
+ <div class="n20-page-header">
3
3
  <div v-if="!disable" class="page-header__left" @click="$emit('back')">
4
4
  <i :class="icon"></i>
5
5
  <div class="page-header__title">
@@ -33,46 +33,4 @@ export default {
33
33
  }
34
34
  }
35
35
  }
36
- </script>
37
-
38
- <style lang="less" scoped>
39
- .page-header {
40
- display: flex;
41
- line-height: 20px;
42
- padding-bottom: 2px;
43
- border-bottom: 1px solid rgba(0, 0, 0, 0.1);
44
- .page-header__left {
45
- display: flex;
46
- align-items: center;
47
- cursor: pointer;
48
- margin-right: 16px;
49
- position: relative;
50
- }
51
- .page-header__left:hover {
52
- color: var(--color-primary);
53
- .page-header__title {
54
- color: var(--color-primary);
55
- }
56
- }
57
- .page-header__left:after {
58
- content: '';
59
- position: absolute;
60
- width: 1px;
61
- height: 16px;
62
- right: -8px;
63
- top: 50%;
64
- transform: translateY(-50%);
65
- background-color: #dcdfe6;
66
- }
67
- .page-header__title {
68
- font-size: 14px;
69
- line-height: 20px;
70
- color: #3d4a57;
71
- }
72
- .page-header__content {
73
- font-size: 14px;
74
- line-height: 20px;
75
- color: #3d4a57;
76
- }
77
- }
78
- </style>
36
+ </script>
@@ -0,0 +1,39 @@
1
+ .page-header {
2
+ display: flex;
3
+ line-height: 20px;
4
+ padding-bottom: 2px;
5
+ border-bottom: 1px solid rgba(0, 0, 0, 0.1);
6
+ .page-header__left {
7
+ display: flex;
8
+ align-items: center;
9
+ cursor: pointer;
10
+ margin-right: 16px;
11
+ position: relative;
12
+ }
13
+ .page-header__left:hover {
14
+ color: var(--color-primary);
15
+ .page-header__title {
16
+ color: var(--color-primary);
17
+ }
18
+ }
19
+ .page-header__left:after {
20
+ content: '';
21
+ position: absolute;
22
+ width: 1px;
23
+ height: 16px;
24
+ right: -8px;
25
+ top: 50%;
26
+ transform: translateY(-50%);
27
+ background-color: #dcdfe6;
28
+ }
29
+ .page-header__title {
30
+ font-size: 14px;
31
+ line-height: 20px;
32
+ color: #3d4a57;
33
+ }
34
+ .page-header__content {
35
+ font-size: 14px;
36
+ line-height: 20px;
37
+ color: #3d4a57;
38
+ }
39
+ }
@@ -5,7 +5,7 @@
5
5
  -->
6
6
 
7
7
  <template>
8
- <div class="filter-custom-box">
8
+ <div class="n20-filter-custom-box">
9
9
  <el-popover
10
10
  ref="popover"
11
11
  v-model="popoverShowFlag"
@@ -495,99 +495,3 @@ export default {
495
495
  }
496
496
  }
497
497
  </script>
498
-
499
- <style lang="less">
500
- .n20-search__popper.el-popper[x-placement^='bottom'] {
501
- padding: 16px;
502
- }
503
- .filter-custom-box {
504
- display: inline-block;
505
- .interval-input-custom {
506
- }
507
- .filter-btn {
508
- height: 34px !important;
509
- width: 90px !important;
510
- }
511
- .filter-opt {
512
- display: inline-block;
513
- cursor: pointer;
514
- &-temp {
515
- border: 1px solid #dddddd;
516
- // width: 26px;
517
- // height: 26px;
518
- padding: 5px;
519
- border-radius: 4px;
520
- display: flex;
521
- align-items: center;
522
- overflow: hidden;
523
- .is-svg-default {
524
- display: block;
525
- }
526
- .is-svg-hover {
527
- display: none;
528
- }
529
- }
530
-
531
- &-temp:hover {
532
- border: 1px solid #007aff;
533
- .is-svg-default {
534
- display: none;
535
- }
536
- .is-svg-hover {
537
- display: block;
538
- }
539
- }
540
- }
541
-
542
- &-main {
543
- display: flex;
544
- flex-direction: column;
545
- min-width: 360px;
546
- &-header {
547
- display: flex;
548
- justify-content: space-between;
549
- align-items: center;
550
- padding-right: 16px;
551
- .filter-text {
552
- color: #262d34;
553
- font-size: 16px;
554
- }
555
- .filter-close-img {
556
- cursor: pointer;
557
- }
558
- img {
559
- width: 16px;
560
- height: 16px;
561
- }
562
- }
563
- &-condition {
564
- flex: 1;
565
- //border: 1px solid #000;
566
- overflow-y: auto;
567
- margin-top: 11px;
568
- max-height: 300px !important;
569
- padding-top: 3px;
570
- // 13 剧中
571
- width: calc(100%);
572
- .el-form-item {
573
- margin-bottom: 16px;
574
- }
575
- }
576
- &-more {
577
- margin: 10px 0 6px 0;
578
- font-size: 14px;
579
- span {
580
- color: #007aff;
581
- cursor: pointer;
582
- }
583
- }
584
- &-footer {
585
- text-align: center;
586
- }
587
- }
588
- .el-input__inner {
589
- width: 224px;
590
- }
591
- }
592
- </style>
593
-