n20-common-lib 1.3.10 → 1.3.11

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 (262) 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 +8 -2
  249. package/src/assets/css/_coreLib.scss +9 -1
  250. package/src/components/ChildRange/index.vue +2 -37
  251. package/src/components/ChildRange/style.scss +34 -0
  252. package/src/components/PageHeader/index.vue +2 -44
  253. package/src/components/PageHeader/style.scss +39 -0
  254. package/src/components/Search/index.vue +1 -97
  255. package/src/components/Search/style.scss +93 -0
  256. package/src/components/Table/ThSelectHeader.vue +2 -11
  257. package/src/components/Table/index.vue +4 -2
  258. package/src/directives/VTitle/index.js +14 -17
  259. package/style/css/normalize.scss +6 -6
  260. package/style/index.css +3 -3
  261. package/style/index.css.map +1 -1
  262. package/style/server-config.jsonc +527 -410
@@ -0,0 +1,270 @@
1
+ <template>
2
+ <div
3
+ class="nstc-input-tag"
4
+ @mouseenter="!disabled && (isHover = true)"
5
+ @mouseleave="!disabled && (isHover = false)"
6
+ >
7
+ <div
8
+ class="el-select__tags"
9
+ :ref="`nstc-input-tag-${random}`"
10
+ :id="`nstc-input-tag-${random}`"
11
+ >
12
+ <template v-if="tags.length">
13
+ <el-tag
14
+ v-if="tags.length === 1"
15
+ type="info"
16
+ :closable="closable"
17
+ @close="handleClose(0)"
18
+ >
19
+ <span>{{ tags[0][props.label] }}</span>
20
+ </el-tag>
21
+ <template v-else-if="collapseTags && tags.length > 1">
22
+ <el-tag type="info" :closable="closable" @close="handleClose(0)">
23
+ <span :title="tags[0][props.label]">{{
24
+ tags[0][props.label].length > 5
25
+ ? tags[0][props.label].substring(0, 5) + "..."
26
+ : tags[0][props.label]
27
+ }}</span>
28
+ </el-tag>
29
+ <el-tag type="info" disable-transitions>
30
+ <span class="el-select__tags-text">+ {{ tags.length - 1 }}</span>
31
+ </el-tag>
32
+ </template>
33
+ <el-tags
34
+ v-else
35
+ v-for="(tag, index) in tags"
36
+ :key="index"
37
+ type="info"
38
+ :closable="closable"
39
+ disable-transitions
40
+ @close="handleClose(index)"
41
+ >
42
+ <span :title="tag[props.value]">{{
43
+ tag[props.value].length > 6
44
+ ? tag[props.value].substring(0, 6) + "..."
45
+ : tag[props.value]
46
+ }}</span>
47
+ </el-tags>
48
+ </template>
49
+ <input
50
+ v-model="inputValue"
51
+ type="text"
52
+ class="el-select__input"
53
+ :disabled="disabled"
54
+ @input="handleInput"
55
+ @blur="handBlur"
56
+ @focus="isFocus = true"
57
+ ref="input"
58
+ />
59
+ </div>
60
+ <div
61
+ :class="[
62
+ 'nstc-input-tag-wrapper',
63
+ 'el-input',
64
+ 'el-input--suffix',
65
+ { 'is-focus': isFocus },
66
+ ]"
67
+ >
68
+ <input
69
+ type="text"
70
+ readonly="readonly"
71
+ autocomplete="off"
72
+ :placeholder="tags.length || inputValue ? '' : '请选择'"
73
+ class="el-input__inner"
74
+ :style="{ height: baseInputHeight + 'px' }"
75
+ />
76
+ <!-- :style="{
77
+ height:
78
+ tags.length === 0
79
+ ? baseInputHeight + 'px'
80
+ : (Math.ceil(contentWidth / wrapperWidth) || 1) *
81
+ baseInputHeight +
82
+ 'px',
83
+ }" -->
84
+ <span class="el-input__suffix">
85
+ <span
86
+ v-if="isHover && tags.length"
87
+ slot="suffix"
88
+ class="icon-close el-icon-circle-close"
89
+ @click="handleClear"
90
+ ></span>
91
+ <span class="el-input__suffix-inner" v-else>
92
+ <i
93
+ :class="[
94
+ 'el-select__caret',
95
+ 'el-input__icon',
96
+ 'el-icon-arrow-up',
97
+ { 'is-reverse': isFocus },
98
+ ]"
99
+ ></i>
100
+ </span>
101
+ </span>
102
+ </div>
103
+ </div>
104
+ </template>
105
+ <script>
106
+ export default {
107
+ name: "InputTag",
108
+ props: {
109
+ value: {
110
+ type: Array,
111
+ default: () => [],
112
+ },
113
+ closable: {
114
+ type: Boolean,
115
+ default: true,
116
+ },
117
+ clearable: {
118
+ type: Boolean,
119
+ default: true,
120
+ },
121
+ disabled: {
122
+ type: Boolean,
123
+ default: false,
124
+ },
125
+ collapseTags: {
126
+ type: Boolean,
127
+ default: true,
128
+ },
129
+ props: {
130
+ type: Object,
131
+ default: () => {
132
+ return {
133
+ label: "label",
134
+ value: "value",
135
+ };
136
+ },
137
+ },
138
+ },
139
+ data() {
140
+ return {
141
+ random: Date.now(),
142
+ inputValue: "",
143
+ isFocus: false,
144
+ isHover: false,
145
+ baseInputHeight: 32,
146
+ wrapperWidth: 0,
147
+ contentWidth: 0,
148
+ };
149
+ },
150
+ computed: {
151
+ tags: {
152
+ get() {
153
+ return this.value;
154
+ },
155
+ set(val) {
156
+ this.$emit("input", val);
157
+ },
158
+ },
159
+ },
160
+ watch: {
161
+ value: {
162
+ handler(val) {
163
+ this.tags = val;
164
+ },
165
+ deep: true,
166
+ Immediate: true,
167
+ },
168
+ tags: {
169
+ handler(val) {
170
+ this.inputValue = "";
171
+ this.handleInput();
172
+ this.$emit("input", val);
173
+ this.contentWidth = this.getContentWidth();
174
+ },
175
+ deep: true,
176
+ },
177
+ },
178
+ mounted() {
179
+ this.contentWidth = this.getContentWidth();
180
+ this.wrapperWidth = this.$refs[`nstc-input-tag-${this.random}`].clientWidth;
181
+ },
182
+ methods: {
183
+ handBlur() {
184
+ this.isFocus = false;
185
+ this.$emit("clearFilterText");
186
+ this.inputValue = "";
187
+ },
188
+ handleInput() {
189
+ this.$emit("input-value", this.inputValue);
190
+ },
191
+ handleClose(index) {
192
+ this.tags.splice(index, 1);
193
+ },
194
+ handleClear(e) {
195
+ e.stopPropagation();
196
+ // this.tags = []; // bug: 直接修改引用地址不会生效
197
+ // 这里暂时倒序挨个删除
198
+ for (let i = this.tags.length - 1; i >= 0; i--) {
199
+ this.tags.splice(i, 1);
200
+ }
201
+ },
202
+ getContentWidth() {
203
+ let contentWidth = 0;
204
+ const tags = document.querySelectorAll(
205
+ `#nstc-input-tag-${this.random} .el-tag`
206
+ );
207
+ tags.forEach((tag) => {
208
+ contentWidth += tag.offsetWidth;
209
+ });
210
+ return contentWidth;
211
+ },
212
+ },
213
+ };
214
+ </script>
215
+ <style scoped>
216
+ .nstc-input-tag {
217
+ position: relative;
218
+ width: 224px;
219
+ }
220
+
221
+ .nstc-input-tag .el-select__tags {
222
+ width: calc(100% - 30px);
223
+ }
224
+
225
+ .nstc-input-tag .el-select__tags input {
226
+ flex: 1;
227
+ width: 0;
228
+ }
229
+
230
+ .nstc-input-tag-wrapper.is-focus input {
231
+ border-color: #409eff;
232
+ }
233
+
234
+ .nstc-input-tag .el-tag {
235
+ display: flex;
236
+ max-width: calc(100% - 30px);
237
+ height: 24px;
238
+ line-height: 24px;
239
+ margin-left: 10px;
240
+ }
241
+
242
+ .nstc-input-tag .el-tag > span {
243
+ overflow: hidden;
244
+ text-overflow: ellipsis;
245
+ }
246
+
247
+ .nstc-input-tag::v-deep .el-tag > i {
248
+ margin-top: 5px !important;
249
+ }
250
+
251
+ .nstc-input-tag-wrapper i {
252
+ transform: rotate(180deg);
253
+ transition: 0.3s;
254
+ }
255
+
256
+ .nstc-input-tag-wrapper i.is-reverse {
257
+ transform: rotate(0deg);
258
+ }
259
+
260
+ .nstc-input-tag-wrapper .el-input__suffix {
261
+ pointer-events: unset;
262
+ }
263
+
264
+ .nstc-input-tag-wrapper .icon-close {
265
+ width: 25px;
266
+ right: 5px;
267
+ text-align: center;
268
+ cursor: pointer;
269
+ }
270
+ </style>
@@ -0,0 +1,24 @@
1
+ <!--
2
+ 功能: 审批页面按钮
3
+ 作者: nstc
4
+ 创建时间: 2021-08-11
5
+ -->
6
+ <template>
7
+ <div class="nstc-approvel">
8
+ <ApprovalRecord />
9
+ <ApprovalButtons />
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ import ApprovalRecord from '../../../src/components/ApprovalRecord/index.vue'
15
+ import ApprovalButtons from '../../../src/components/ApprovalButtons/index.vue'
16
+
17
+ export default {
18
+ name: 'NstcApprovel',
19
+ components: {
20
+ ApprovalRecord,
21
+ ApprovalButtons
22
+ }
23
+ }
24
+ </script>
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <transition :name="transitionName">
3
+ <div
4
+ v-show="visible"
5
+ :style="customStyle"
6
+ class="back-to-ceiling"
7
+ @click="backToTop"
8
+ >
9
+ <svg
10
+ width="16"
11
+ height="16"
12
+ viewBox="0 0 17 17"
13
+ xmlns="http://www.w3.org/2000/svg"
14
+ class="Icon Icon--backToTopArrow"
15
+ aria-hidden="true"
16
+ style="height:16px;width:16px"
17
+ ><path d="M12.036 15.59a1 1 0 0 1-.997.995H5.032a.996.996 0 0 1-.997-.996V8.584H1.03c-1.1 0-1.36-.633-.578-1.416L7.33.29a1.003 1.003 0 0 1 1.412 0l6.878 6.88c.782.78.523 1.415-.58 1.415h-3.004v7.004z" /></svg>
18
+ </div>
19
+ </transition>
20
+ </template>
21
+
22
+ <script>
23
+ export default {
24
+ name: 'NstcBackToTop',
25
+ props: {
26
+ visibilityHeight: {
27
+ type: Number,
28
+ default: 400
29
+ },
30
+ backPosition: {
31
+ type: Number,
32
+ default: 0
33
+ },
34
+ customStyle: {
35
+ type: Object,
36
+ default: function() {
37
+ return {
38
+ right: '50px',
39
+ bottom: '70px',
40
+ width: '40px',
41
+ height: '40px',
42
+ 'border-radius': '4px',
43
+ 'line-height': '45px',
44
+ background: '#e7eaf1'
45
+ }
46
+ }
47
+ },
48
+ transitionName: {
49
+ type: String,
50
+ default: 'fade'
51
+ },
52
+ scrollBoxClassName: {
53
+ type: String,
54
+ default: ''
55
+ }
56
+ },
57
+ data() {
58
+ return {
59
+ visible: false,
60
+ interval: null,
61
+ isMoving: false,
62
+ pageYOffset: 0,
63
+ scrollBox: ''
64
+ }
65
+ },
66
+ mounted() {
67
+ window.addEventListener('scroll', this.handleScroll,true)
68
+ },
69
+ beforeDestroy() {
70
+ if (this.scrollBox) {
71
+ this.scrollBox && this.scrollBox.removeEventListener('scroll', this.handleScroll)
72
+ } else {
73
+ window.removeEventListener('scroll', this.handleScroll)
74
+ }
75
+ if (this.interval) {
76
+ clearInterval(this.interval)
77
+ }
78
+ },
79
+ methods: {
80
+ handleScroll() {
81
+ this.scrollTop = document.getElementsByClassName(this.scrollBoxClassName)[0].scrollTop ||
82
+ window.pageYOffset ||
83
+ document.documentElement.scrollTop ||
84
+ document.body.scrollTop
85
+ this.visible = this.scrollTop > this.visibilityHeight
86
+ },
87
+ backToTop() {
88
+ document.getElementsByClassName(this.scrollBoxClassName)[0].scrollTo(0,0)
89
+ // console.log(55,this.isMoving)
90
+ // if (this.isMoving) return
91
+ // const start = this.pageYOffset
92
+ // let i = 0
93
+ // this.isMoving = true
94
+ // this.interval = setInterval(() => {
95
+ // console.log(66,start)
96
+ // const next = Math.floor(this.easeInOutQuad(20 * i, start, -start, 500))
97
+ // if (next <= this.backPosition) {
98
+ // if (this.scrollBox) {
99
+ // this.scrollBox.scrollTo(0, this.backPosition)
100
+ // } else {
101
+ // window.scrollTo(0, this.backPosition)
102
+ // }
103
+ // clearInterval(this.interval)
104
+ // this.isMoving = false
105
+ // } else {
106
+ // if (this.scrollBox) {
107
+ // this.scrollBox.scrollTo(0, next)
108
+ // } else {
109
+ // window.scrollTo(0, next)
110
+ // }
111
+ // }
112
+ // i++
113
+ // }, 16.7)
114
+ },
115
+ // easeInOutQuad(t, b, c, d) {
116
+ // if ((t /= d / 2) < 1) return c / 2 * t * t + b
117
+ // return -c / 2 * (--t * (t - 2) - 1) + b
118
+ // }
119
+ }
120
+ }
121
+ </script>
122
+
123
+ <style>
124
+ .back-to-ceiling {
125
+ position: fixed;
126
+ display: inline-block;
127
+ text-align: center;
128
+ cursor: pointer;
129
+ z-index: 3000;
130
+ }
131
+
132
+ .back-to-ceiling:hover {
133
+ background: #d5dbe7;
134
+ }
135
+
136
+ .fade-enter-active,
137
+ .fade-leave-active {
138
+ transition: opacity .5s;
139
+ }
140
+
141
+ .fade-enter,
142
+ .fade-leave-to {
143
+ opacity: 0
144
+ }
145
+
146
+ .back-to-ceiling .Icon {
147
+ fill: #9aaabf;
148
+ background: none;
149
+ }
150
+ </style>
@@ -0,0 +1,123 @@
1
+ <template>
2
+ <div class="BranchLazyLoad">
3
+ <el-select
4
+ v-model="registerForm.branchBankNo"
5
+ v-el-select-loadmore="loadMore"
6
+ :default-first-option="true"
7
+ :filterable="true"
8
+ clearable
9
+ remote
10
+ :remote-method="remoteMethod"
11
+ @change="changeBranchBank"
12
+ @blur="blurBranchBank"
13
+ >
14
+ <el-option
15
+ v-for="(item, index) in accountAssociateBankDb"
16
+ :key="index"
17
+ :label="item.label"
18
+ :value="item.value"
19
+ />
20
+ </el-select>
21
+ </div>
22
+ </template>
23
+
24
+ <script>
25
+ import axios from '../../utils/axios'
26
+ export default {
27
+ name: 'NstcBranchLazyLoad',
28
+ directives: {
29
+ 'el-select-loadmore': {
30
+ bind(el, binding) {
31
+ const SELECTWRAP_DOM = el.querySelector(
32
+ '.el-select-dropdown .el-select-dropdown__wrap'
33
+ )
34
+ SELECTWRAP_DOM.addEventListener('scroll', function () {
35
+ const condition =
36
+ this.scrollHeight - this.scrollTop <= this.clientHeight
37
+ if (condition) {
38
+ binding.value()
39
+ }
40
+ })
41
+ }
42
+ }
43
+ },
44
+ props: {
45
+ url: {
46
+ type: String,
47
+ message: ''
48
+ }
49
+ },
50
+ data() {
51
+ return {
52
+ associatePagination: {
53
+ 'page.current': 0,
54
+ 'page.size': 20,
55
+ // key: 'branchBank',
56
+ branchBankName: null,
57
+ branchBankNo: null
58
+ },
59
+ registerForm: {
60
+ branchBankNo: ''
61
+ },
62
+ accountAssociateBankDb: []
63
+ }
64
+ },
65
+ async created() {
66
+ await this.loadMore()
67
+ },
68
+ methods: {
69
+ /**
70
+ * remoteMethod
71
+ */
72
+ remoteMethod(query) {
73
+ if (query !== '') {
74
+ this.associatePagination['page.current'] = 1
75
+ this.associatePagination['page.size'] = 20
76
+ this.associatePagination.branchBankName = query
77
+ this.getAssociateBank('query')
78
+ }
79
+ },
80
+ /**
81
+ * 获取支行下拉值
82
+ */
83
+ async getAssociateBank(flag) {
84
+ flag === 'loadMore' && this.associatePagination['page.current']++
85
+ // this.associatePagination.bankNo = this.applyForm.bankNo
86
+ await axios
87
+ .get(this.url, this.associatePagination)
88
+ .then((res) => {
89
+ res = res.data.map((i) => {
90
+ return {
91
+ label: i[`branchBankName`],
92
+ value: i[`cnapsNo`],
93
+ bankNo: i[`bankNo`]
94
+ }
95
+ })
96
+ if (flag === 'query') {
97
+ this.accountAssociateBankDb = res
98
+ } else {
99
+ this.accountAssociateBankDb =
100
+ this.accountAssociateBankDb.concat(res)
101
+ }
102
+ })
103
+ .catch(() => {})
104
+ },
105
+ /**
106
+ * 支行失去焦点
107
+ */
108
+ blurBranchBank() {
109
+ if (!this.registerForm.branchBankNo) {
110
+ setTimeout(() => {
111
+ this.remoteMethod()
112
+ }, 30)
113
+ }
114
+ },
115
+ changeBranchBank() {
116
+ this.$emit('branchbankNo', this.registerForm.branchBankNo)
117
+ },
118
+ async loadMore() {
119
+ await this.getAssociateBank('loadMore')
120
+ }
121
+ }
122
+ }
123
+ </script>