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,396 @@
1
+ <!--
2
+ 功能: 下拉树
3
+ 作者: nstc
4
+ 创建时间: 2021-02-05
5
+ -->
6
+
7
+ <template>
8
+ <div class="form-create-dropdown-tree">
9
+ <el-popover
10
+ v-model="showPopoverFlag"
11
+ placement="bottom-start"
12
+ trigger="click"
13
+ >
14
+ <el-input
15
+ :ref="inputRefName"
16
+ v-model="filterText"
17
+ suffix-icon="el-icon-search"
18
+ :placeholder="placeholder || placeholderTemp"
19
+ :style="{ width: inputWidth }"
20
+ clearable
21
+ @input="inputChange"
22
+ @blur="clearFilterText"
23
+ @focus="inputFocus"
24
+ @change="inputChangeAction"
25
+ />
26
+ <el-tree
27
+ :ref="treeRefName"
28
+ class="filter-tree"
29
+ :data="treeData"
30
+ :props="defaultProps"
31
+ :node-key="nodeKey"
32
+ default-expand-all
33
+ :show-checkbox="showCheckbox"
34
+ :check-strictly="showCheckbox"
35
+ v-bind="$attrs"
36
+ v-on="$listeners"
37
+ @node-click="treeNodeClick"
38
+ @check="handleCheckChange"
39
+ />
40
+ <span slot="reference" class="el-dropdown-link">
41
+ {{ unitNameText }}
42
+ <i class="el-icon-arrow-down el-icon--right"></i>
43
+ </span>
44
+ </el-popover>
45
+ </div>
46
+ </template>
47
+
48
+ <script>
49
+ import axios from '../../utils/axios'
50
+ export default {
51
+ name: 'NstcDropdownTree', // 单位按树模块查询
52
+ props: {
53
+ value: {
54
+ type: [String, Number, Array, Object],
55
+ default: () => {
56
+ return ''
57
+ }
58
+ },
59
+
60
+ lazy: {
61
+ type: Boolean,
62
+ default: false
63
+ },
64
+
65
+ inputWidth: {
66
+ type: String,
67
+ default: ''
68
+ },
69
+
70
+ showCheckbox: {
71
+ type: Boolean,
72
+ default: false
73
+ },
74
+
75
+ url: {
76
+ type: String,
77
+ default: ''
78
+ },
79
+
80
+ nodeKey: {
81
+ type: String,
82
+ default: 'id'
83
+ },
84
+
85
+ defaultProps: {
86
+ type: Object,
87
+ default: () => {
88
+ return {
89
+ children: 'children',
90
+ label: 'label'
91
+ }
92
+ }
93
+ },
94
+
95
+ params: {
96
+ type: Object,
97
+ default: () => {
98
+ return {}
99
+ }
100
+ },
101
+
102
+ queryKey: {
103
+ type: String,
104
+ default: 'query'
105
+ },
106
+
107
+ label: {
108
+ type: [String, Number],
109
+ default: ''
110
+ },
111
+
112
+ // 额外的查询参数
113
+ query: {
114
+ type: Object,
115
+ default: () => {
116
+ return {}
117
+ }
118
+ },
119
+
120
+ // 组件的大小
121
+ size: {
122
+ type: String,
123
+ default: () => {
124
+ return 'normal'
125
+ }
126
+ },
127
+ //是否添加 无
128
+ showNull: {
129
+ type: Boolean,
130
+ default: false
131
+ },
132
+ dropUnitName: {
133
+ type: String,
134
+ default: '全部单位'
135
+ },
136
+ placeholderTemp: {
137
+ type: String,
138
+ default: '请输入关键字进行过滤'
139
+ }
140
+ },
141
+ data() {
142
+ return {
143
+ showPopoverFlag: false,
144
+ filterText: null,
145
+ treeData: [],
146
+ treeRefName: '',
147
+ inputRefName: this.getRefName(),
148
+ queryFlag: true,
149
+ placeholder: '',
150
+ windowEventFlag: false,
151
+ timeTemp: null,
152
+ unitNameText: '全部单位'
153
+ }
154
+ },
155
+ computed: {
156
+ _value: {
157
+ get() {
158
+ return this.value
159
+ },
160
+ set(val) {
161
+ this.$emit('input', val)
162
+ }
163
+ }
164
+ },
165
+ watch: {
166
+ label(val) {
167
+ this.filterText = val
168
+ },
169
+ value(val) {
170
+ if (['', null].includes(val)) {
171
+ this.filterText = null
172
+ this.placeholder = null
173
+ }
174
+ },
175
+ dropUnitName: {
176
+ handler(val) {
177
+ this.unitNameText = val
178
+ },
179
+ deep: true
180
+ }
181
+ },
182
+
183
+ created() {
184
+ //
185
+ this.treeRefName = this.getRefName()
186
+ this.unitNameText = this.dropUnitName
187
+ // 默认加载一次
188
+ this.remoteMethod()
189
+
190
+ this.filterText = this.label
191
+
192
+ // 点击其他地方关闭关闭下拉
193
+ const that = this
194
+ document.documentElement.onclick = function () {
195
+ that.windowEventFlag && that.clearFilterText()
196
+ }
197
+ },
198
+ methods: {
199
+ /**
200
+ * input 输入框变化事件
201
+ */
202
+ inputChange() {
203
+ const that = this
204
+ this.timeTemp && clearTimeout(that.timeTemp)
205
+ this.timeTemp = setTimeout(() => {
206
+ console.log('input change', this.filterText)
207
+ this.queryFlag && this.remoteMethod()
208
+ this.queryFlag = true
209
+ }, 300)
210
+ },
211
+
212
+ inputChangeAction(val) {
213
+ console.log('change')
214
+ this.$emit('inputChangeAction', val)
215
+ },
216
+
217
+ /**
218
+ * 本地模糊查询
219
+ */
220
+ filterNode(value, data) {
221
+ if (!value) return true
222
+ return data.label.indexOf(value) !== -1
223
+ },
224
+
225
+ /**
226
+ * 随机生成 formId
227
+ */
228
+ getRefName() {
229
+ return `ref_${new Date().getTime()}_${Math.random()
230
+ .toString()
231
+ .slice(5, 13)}`
232
+ },
233
+
234
+ /**
235
+ * 远程查询
236
+ */
237
+ remoteMethod() {
238
+ const that = this
239
+ //担保的需求化,默认是树,搜索时为列表
240
+ // if(this.filterText){
241
+ // this.params.resultType = 0
242
+ // }else{
243
+ // this.params.resultType = 1
244
+ // }
245
+ console.log(this.params, 'this.params')
246
+ axios({
247
+ url: that.url,
248
+ method: 'get',
249
+ loading: false,
250
+ params: {
251
+ [that.queryKey]: that.filterText,
252
+ ...that.params
253
+ }
254
+ })
255
+ .then((data) => {
256
+ that.treeData = data.list ? data.list : data
257
+ if (that.showNull) {
258
+ let map = {
259
+ treeNo: '',
260
+ unitName: '全部单位',
261
+ unitNo: ''
262
+ }
263
+ // eslint-disable-next-line no-debugger
264
+ // debugger;
265
+ that.treeData.unshift(map)
266
+ }
267
+ that.$nextTick(() => {
268
+ that.$forceUpdate()
269
+ })
270
+ })
271
+ .catch(() => {})
272
+ },
273
+
274
+ /**
275
+ * 树节点点击事件
276
+ * 回调参数: data, node, tree
277
+ */
278
+ treeNodeClick(data) {
279
+ if (!this.showCheckbox) {
280
+ this.queryFlag = false
281
+
282
+ const k = this.defaultProps.label || 'label'
283
+
284
+ this.filterText = data[k]
285
+ this.unitNameText = data[k]
286
+ this.placeholder = this.filterText
287
+
288
+ this._value = data[this.nodeKey]
289
+
290
+ // 主动让input框失去交单
291
+ this.$refs[this.inputRefName].blur()
292
+ this.showPopoverFlag = false
293
+ this.$emit('treeNodeClick', data)
294
+ }
295
+ },
296
+
297
+ /**
298
+ * 多选树 -- 只支持查询不支持回显
299
+ * 回调参数: data, node, tree
300
+ */
301
+ handleCheckChange(checkedNodes, checkedKeys) {
302
+ console.log(checkedNodes, checkedKeys)
303
+
304
+ this.queryFlag = false
305
+
306
+ // const k = this.defaultProps.label || "label";
307
+ // this.filterText = checkedKeys[k];
308
+ let newText = []
309
+ checkedKeys['checkedNodes'].forEach((item) => {
310
+ checkedKeys['checkedKeys'].forEach((el) => {
311
+ if (item.unitNo === el) {
312
+ newText.push(item.unitName)
313
+ }
314
+ })
315
+ })
316
+
317
+ this.filterText = newText.toString()
318
+
319
+ this.placeholder = this.filterText
320
+
321
+ this._value = checkedKeys['checkedKeys']
322
+
323
+ this.$emit('checkedClick', checkedKeys)
324
+ },
325
+
326
+ /**
327
+ * input框失去焦点
328
+ */
329
+ clearFilterText() {
330
+ if (!this.showCheckbox) {
331
+ this.filterText = this.placeholder
332
+ this.placeholder = null
333
+ this.showPopoverFlag = false
334
+ this.$nextTick(() => {
335
+ this.$forceUpdate()
336
+ })
337
+ this.$emit('filterText', this.filterText)
338
+ console.log(
339
+ 'TreeSelect关闭弹框...',
340
+ this.showPopoverFlag,
341
+ this.filterText
342
+ )
343
+ }
344
+ },
345
+
346
+ /**
347
+ * input聚焦时
348
+ */
349
+ inputFocus() {
350
+ if (!this.showCheckbox) {
351
+ this.timeTemp && clearTimeout(this.timeTemp)
352
+ this.windowEventFlag = false
353
+ this.placeholder = this.filterText
354
+ this.filterText = ''
355
+ this.queryFlag = true
356
+ console.log('input focus...')
357
+ this.remoteMethod()
358
+ }
359
+ }
360
+ }
361
+ }
362
+ </script>
363
+
364
+ <style lang="scss">
365
+ .form-create-dropdown-tree {
366
+ display: inline-block;
367
+ .select-tree-el-popover {
368
+ overflow-y: auto;
369
+ }
370
+ .temp-input {
371
+ width: 100%;
372
+ border: 1px solid #ccc;
373
+ padding-right: 10px;
374
+ margin-right: 15px;
375
+ cursor: pointer;
376
+ display: flex;
377
+ align-items: center;
378
+ height: 29px;
379
+ > span {
380
+ padding-left: 10px;
381
+ width: calc(100% - 10px);
382
+ height: 100%;
383
+ overflow: hidden;
384
+ display: flex;
385
+ align-items: center;
386
+ }
387
+ }
388
+ .el-popper {
389
+ min-width: 264px;
390
+ }
391
+
392
+ .el-tree-node__content:hover {
393
+ background-color: rgba(0, 122, 255, 0.1) !important;
394
+ }
395
+ }
396
+ </style>