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,130 @@
1
+ <template>
2
+ <el-date-picker
3
+ v-model="_value"
4
+ class="date-picker-hover"
5
+ v-bind="$attrs"
6
+ :value-format="valueFormat"
7
+ :unlink-panels="unlinkPanels"
8
+ :picker-options="_pickerOptions"
9
+ :style="{ width: parseFloat(width) + 'px' }"
10
+ clearable
11
+ placeholder="请选择"
12
+ start-placeholder="请选择"
13
+ end-placeholder="请选择"
14
+ v-on="$listeners"
15
+ />
16
+ </template>
17
+
18
+ <script>
19
+ import dateAndValidator from '../../../utils/dateAndValidator'
20
+
21
+ export default {
22
+ name: 'DatePickerCustom',
23
+
24
+ inheritAttrs: false,
25
+
26
+ props: {
27
+ value: {
28
+ default: null,
29
+ type: [Date, Array, String]
30
+ },
31
+ dateType: {
32
+ type: [String, Number],
33
+ default: ''
34
+ },
35
+ width: {
36
+ type: [String, Number],
37
+ default: ''
38
+ },
39
+
40
+ limit: {
41
+ type: Array,
42
+ default: () => []
43
+ },
44
+
45
+ pickerOptions: {
46
+ type: Object,
47
+ default: () => ({})
48
+ },
49
+
50
+ unlinkPanels: {
51
+ type: Boolean,
52
+ default: true
53
+ },
54
+
55
+ valueFormat: {
56
+ type: String,
57
+ default: 'yyyy-MM-dd'
58
+ }
59
+ },
60
+
61
+ data() {
62
+ return {
63
+ key: `DatePickerCustomID-${Math.random().toString(36).slice(2)}`
64
+ }
65
+ },
66
+ computed: {
67
+ _value: {
68
+ get() {
69
+ return this.value
70
+ },
71
+ set(val) {
72
+ this.$emit('input', val)
73
+ this.$emit('change', val)
74
+ }
75
+ },
76
+
77
+ _pickerOptions() {
78
+ // 今天以及今天之前
79
+ if (this.dateType == 'includeTodayBefore') {
80
+ return {
81
+ disabledDate(time) {
82
+ return time.getTime() > Date.now() - 8.64e6
83
+ }
84
+ }
85
+ } else if (this.dateType == 'todayBefore') {
86
+ // 今天之前
87
+ return {
88
+ disabledDate(time) {
89
+ return time.getTime() > Date.now()
90
+ }
91
+ }
92
+ } else if (this.dateType == 'includeTodayAfter') {
93
+ // 今天以及今天之后
94
+ return {
95
+ disabledDate(time) {
96
+ return time.getTime() < Date.now() - 8.64e7
97
+ }
98
+ }
99
+ } else if (this.dateType == 'todayAfter') {
100
+ // 今天之后
101
+ return {
102
+ disabledDate(time) {
103
+ return time.getTime() < Date.now()
104
+ }
105
+ }
106
+ } else {
107
+ return {
108
+ ...dateAndValidator.limit.pickerOptions(...this.limit),
109
+ ...this.pickerOptions
110
+ }
111
+ }
112
+ }
113
+ },
114
+ created() {
115
+ this.$bus.$on('nstc_custom_form_config_update', (formData) => {
116
+ console.log('监听到的全局事件', formData)
117
+ })
118
+ console.log(this.dateType, '----------dateType')
119
+ },
120
+ beforeDestroy() {
121
+ this.$bus.$off('nstc_custom_form_config_update')
122
+ }
123
+ }
124
+ </script>
125
+
126
+ <style scoped>
127
+ .date-picker-hover.el-input__inner:hover {
128
+ border: 1px solid #007aff;
129
+ }
130
+ </style>
@@ -0,0 +1,389 @@
1
+ <!--
2
+ * @Author: your name
3
+ * @Date: 2022-01-13 11:06:47
4
+ * @LastEditTime: 2022-02-15 14:01:35
5
+ * @LastEditors: Please set LastEditors
6
+ * @Description: 下拉+弹框
7
+ * @FilePath: SelectAndDialog.vue
8
+ -->
9
+ <template>
10
+ <div class="dialog-select">
11
+ <div
12
+ style="position: relative"
13
+ @mouseenter="hovering = true"
14
+ @mouseleave="hovering = false"
15
+ >
16
+ <el-input
17
+ v-model="InputValue"
18
+ v-bind="$attrs"
19
+ maxlength="64"
20
+ class="input-w"
21
+ :placeholder="chMapper.plcSelect"
22
+ v-on="$listeners"
23
+ @change="changeValue"
24
+ />
25
+ <i
26
+ v-if="!showClose"
27
+ class="search-btn el-input__icon el-icon-search"
28
+ @click="onSearchIconClick"
29
+ >
30
+ </i>
31
+ <i
32
+ v-if="showClose"
33
+ class="search-btn el-select__caret el-input__icon el-icon-circle-close"
34
+ @click="onClearIconClick"
35
+ ></i>
36
+ </div>
37
+
38
+ <DialogTable
39
+ ref="dialog"
40
+ v-model="showDialog"
41
+ v-bind="dialogProps"
42
+ @comfirm="onComfirm"
43
+ >
44
+ <template slot="form">
45
+ <slot></slot>
46
+ </template>
47
+ </DialogTable>
48
+ </div>
49
+ </template>
50
+
51
+ <script>
52
+ import axios from '../../../../src/utils/axios'
53
+ import DialogTable from '../../NstcDialog/NstcDialog.vue'
54
+
55
+ export default {
56
+ name: 'NstcInputAndDialog',
57
+ components: { DialogTable },
58
+ directives: {
59
+ 'nstc-lazy-load': {
60
+ bind(el, binding) {
61
+ const SELECTWRAP_DOM = el.querySelector(
62
+ '.el-select-dropdown .el-select-dropdown__wrap'
63
+ )
64
+ SELECTWRAP_DOM.addEventListener('scroll', function () {
65
+ const condition =
66
+ this.scrollHeight - this.scrollTop - 2 <= this.clientHeight
67
+ console.log('condition', condition)
68
+ if (condition) {
69
+ binding.value()
70
+ }
71
+ })
72
+ }
73
+ }
74
+ },
75
+ props: {
76
+ width: {
77
+ type: String,
78
+ default: '1000px'
79
+ },
80
+ value: String,
81
+ columns: Array,
82
+ url: String,
83
+ httpMethod: {
84
+ type: String,
85
+ default: 'GET'
86
+ },
87
+ clearable: {
88
+ type: Boolean,
89
+ default: true
90
+ },
91
+ query: {
92
+ type: String,
93
+ default: 'label'
94
+ },
95
+ params: {
96
+ type: Object,
97
+ default: () => ({
98
+ isEnable: 1
99
+ })
100
+ },
101
+ rowKey: {
102
+ type: String,
103
+ default: 'id'
104
+ },
105
+ formatData: {
106
+ type: Function,
107
+ default: (d) => d
108
+ },
109
+ formatParams: {
110
+ type: Function,
111
+ default: (d) => d
112
+ },
113
+ tableForm: {
114
+ type: Object,
115
+ default: () => {}
116
+ },
117
+ valueKey: {
118
+ type: String,
119
+ default: 'value'
120
+ },
121
+ labelKey: {
122
+ type: String,
123
+ default: 'label'
124
+ },
125
+ appendToBody: {
126
+ type: Boolean,
127
+ default: true
128
+ },
129
+ disabled: {
130
+ type: Boolean,
131
+ default: false
132
+ },
133
+ chMapper: {
134
+ type: Object,
135
+ default: () => ({
136
+ title: '选择xx',
137
+ noselectmsg: '请选择xx',
138
+ plcInput: '请输入',
139
+ plcSelect: '请选择'
140
+ })
141
+ },
142
+ // 是否添加懒加载
143
+ lazyLoad: {
144
+ type: Boolean,
145
+ default: false
146
+ },
147
+ // 是否显示删除
148
+ canClose: {
149
+ type: Boolean,
150
+ default: true
151
+ }
152
+ },
153
+ data() {
154
+ return {
155
+ showDialog: false,
156
+ options: [],
157
+ allData: [],
158
+ hovering: false,
159
+ loading: false,
160
+ remoteQuery: '',
161
+ dialogProps: {},
162
+ paginationObj: {
163
+ current: 1,
164
+ size: 20
165
+ },
166
+ lazyLoadLocal: false
167
+ }
168
+ },
169
+ computed: {
170
+ showClose() {
171
+ let hasValue =
172
+ this.value !== undefined && this.value !== null && this.value !== ''
173
+ return this.hovering && hasValue && this.canClose
174
+ },
175
+ attrs: {
176
+ set(val) {
177
+ this.$emit('input', val)
178
+ },
179
+ get() {
180
+ console.log(this.value)
181
+ return this.value
182
+ }
183
+ },
184
+ InputValue: {
185
+ set(val) {
186
+ console.log(21212121)
187
+ this.$emit('input', val)
188
+ },
189
+ get() {
190
+ console.log(this.value)
191
+ return this.value
192
+ }
193
+ }
194
+ },
195
+ created() {
196
+ let props = {
197
+ title: this.chMapper.title,
198
+ warning: this.chMapper.noselectmsg,
199
+ single: true,
200
+ columns: this.columns,
201
+ rowKey: this.rowKey,
202
+ queryApi: this.queryApi,
203
+ formatParams: this.beforeFormatParams,
204
+ formatData: this.formatData,
205
+ appendToBody: this.appendToBody,
206
+ width: this.width
207
+ }
208
+ console.log('inputDialog===', props)
209
+ this.dialogProps = props
210
+ this.$bus.$on('nstc_custom_form_config_update', (formData) => {
211
+ console.log('监听到的全局事件', formData)
212
+ })
213
+ },
214
+ beforeDestroy() {
215
+ this.$bus.$off('nstc_custom_form_config_update')
216
+ },
217
+ mounted() {
218
+ this.editSetOptions()
219
+ this.lazyLoadLocal = this.lazyLoad
220
+ },
221
+ methods: {
222
+ changeValue(val) {
223
+ console.log(val)
224
+ },
225
+ /**
226
+ * 懒加载
227
+ */
228
+ lazyLoadAction() {
229
+ if (this.lazyLoadLocal) {
230
+ this.paginationObj.current++
231
+ this.queryAllData()
232
+ }
233
+ },
234
+ async queryAllData() {
235
+ let param = this.lazyLoadLocal
236
+ ? this.beforeFormatParams(this.paginationObj, 'init')
237
+ : this.beforeFormatParams({ size: 100, current: 1 }, 'init')
238
+ this.lazyLoadLocal ? (param.quickSearch = this.remoteQuery) : ''
239
+ let res = await this.queryApi(param)
240
+
241
+ if (!this.lazyLoadLocal && res && res.total && res.total > 100) {
242
+ param = this.beforeFormatParams({ size: res.total, current: 1 }, 'init')
243
+ let resAll = await this.queryApi(param)
244
+ res = resAll
245
+ }
246
+
247
+ let { data } = this.formatData(res || [])
248
+ console.log('data==============', data)
249
+ this.allData = this.lazyLoadLocal ? this.allData.concat(data) : data
250
+ // this.allData = data;
251
+ console.log(this.allData)
252
+ this.lazyLoadLocal ? this.setOptions(this.allData) : this.setOptions(data)
253
+ },
254
+
255
+ beforeFormatParams(pageParam, mode) {
256
+ console.log('beforeFormatParams pageParam,mode', pageParam, mode)
257
+ const { size, current } = pageParam
258
+ let defaultParam = this.params
259
+ let page = this.formatPageParam(size, current)
260
+ let params
261
+ if (mode != 'init') {
262
+ let param = this.queryFormData || {}
263
+ params = { ...defaultParam, ...param, ...page }
264
+ } else {
265
+ params = { ...defaultParam, ...page }
266
+ }
267
+ return this.formatParams(params)
268
+ },
269
+
270
+ formatPageParam(size, current) {
271
+ let page = { 'page.size': size, 'page.current': current }
272
+ let method = this.httpMethod.toUpperCase()
273
+ if (method == 'POST') {
274
+ page = { page: { size, current } }
275
+ }
276
+ console.log('formatPageParam===', page)
277
+ return page
278
+ },
279
+
280
+ queryApi(param) {
281
+ const { url, httpMethod } = this
282
+ let body = httpMethod.toUpperCase() === 'POST' ? 'data' : 'params'
283
+ let reqConf = { url, method: httpMethod }
284
+ reqConf[body] = param
285
+ return axios(reqConf)
286
+ },
287
+
288
+ setOptions(data) {
289
+ // let opts = [];
290
+ // let value = this.value;
291
+ // let valueKey = this.valueKey;
292
+ // if (value) {
293
+ // let row = data.find((item) => item[valueKey] == value);
294
+ // if (row) {
295
+ // let filters = data.filter((item) => item[valueKey] != value);
296
+ // opts = [row].concat(filters.slice(0, 9));
297
+ // } else {
298
+ // opts = data.slice(0, 10);
299
+ // }
300
+ // } else {
301
+ // opts = data.slice(0, 10);
302
+ // }
303
+ this.options = data
304
+ },
305
+
306
+ filterOptions(query) {
307
+ this.remoteQuery = query
308
+ if (this.lazyLoad) {
309
+ this.allData = []
310
+ this.queryAllData()
311
+ return
312
+ }
313
+ if (query) {
314
+ let opts = this.allData.filter((item) => {
315
+ return item[this.labelKey].indexOf(query) > -1
316
+ })
317
+ this.options = opts.slice(0, 10)
318
+ } else {
319
+ this.options = this.allData.slice(0, 10)
320
+ }
321
+ },
322
+ updateOptions(value) {
323
+ let allData = this.allData || []
324
+ let options = this.options || []
325
+ let row = allData.find((item) => item[this.valueKey] == value)
326
+ let hasRow = options.find((item) => item[this.valueKey] == value)
327
+ if (row && !hasRow) {
328
+ let opts = [row].concat(options)
329
+ this.options = opts
330
+ }
331
+ console.log(this.options)
332
+ },
333
+
334
+ // 编辑回显
335
+ editSetOptions() {
336
+ if (this.value) {
337
+ this.queryAllData()
338
+ }
339
+ },
340
+
341
+ // 显示弹窗
342
+ onSearchIconClick(event) {
343
+ this.$emit('show-dialog')
344
+ // 判断是否有付款单位
345
+ let resUltParams = this.formatParams()
346
+ console.log('resUltParams====', resUltParams)
347
+ if (!resUltParams.unitCode) return
348
+ this.queryAllData()
349
+ this.showDialog = true
350
+ this.$nextTick(() => {
351
+ this.queryTableData()
352
+ })
353
+ },
354
+
355
+ onClearIconClick() {
356
+ this.options = this.allData.slice(0, 10)
357
+ this.$emit('input', '')
358
+ },
359
+
360
+ queryTableData() {
361
+ this.queryFormData = Object.assign({}, this.tableForm)
362
+ this.$refs.dialog.queryData('searchbtn')
363
+ },
364
+ selectBlur() {
365
+ if (this.lazyLoadLocal) {
366
+ this.paginationObj = { size: 20, current: 1 }
367
+ }
368
+ return
369
+ },
370
+
371
+ onComfirm(values, row) {
372
+ console.log('this.valueKey=====', this.valueKey)
373
+ let value = row[this.valueKey]
374
+ this.updateOptions(value)
375
+ this.$emit('input', value)
376
+ this.$emit('comfirm', values, row)
377
+ }
378
+ }
379
+ }
380
+ </script>
381
+
382
+ <style scoped>
383
+ .search-btn {
384
+ color: #c0c4cc;
385
+ position: absolute;
386
+ right: 7px;
387
+ top: -1px;
388
+ }
389
+ </style>