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,68 @@
1
+ <template>
2
+ <el-autocomplete
3
+ v-model="_value"
4
+ v-bind="$attrs"
5
+ :style="{width:parseFloat(width) + 'px'}"
6
+ :placeholder="placeholder"
7
+ v-on="$listeners"
8
+ @select="handleSelect"
9
+ >
10
+ <template v-for="(_, slotName) in $slots" v-slot:[slotName]>
11
+ <slot :name="slotName" />
12
+ </template>
13
+ </el-autocomplete>
14
+ </template>
15
+
16
+ <script>
17
+ export default {
18
+ name: 'AutocompleteCustom',
19
+
20
+ inheritAttrs: false,
21
+
22
+ props: {
23
+ value: {
24
+ type: String,
25
+ default: ''
26
+ },
27
+
28
+ width: {
29
+ type: [String, Number],
30
+ default: ''
31
+ },
32
+
33
+ unit: {
34
+ type: String,
35
+ default: ''
36
+ },
37
+
38
+ placeholder: {
39
+ type: String,
40
+ default: function (){
41
+ return '请输入'
42
+ }
43
+ },
44
+
45
+ selectHandler: {
46
+ type: Function,
47
+ default: undefined
48
+ }
49
+ },
50
+
51
+ computed: {
52
+ _value: {
53
+ get() {
54
+ return this.value
55
+ },
56
+ set(val) {
57
+ this.$emit('input', val)
58
+ }
59
+ }
60
+ },
61
+
62
+ methods: {
63
+ handleSelect(val) {
64
+ this.selectHandler && this.selectHandler(val)
65
+ }
66
+ }
67
+ }
68
+ </script>
@@ -0,0 +1,189 @@
1
+ <!-- 行政区域三级联动下拉组件 -->
2
+ <template>
3
+ <div class="nstc-g6-common-input-multiple">
4
+ <SelectCustom
5
+ v-model="_value[0]"
6
+ filterable
7
+ :options="options[0]"
8
+ :width="widthConfig[0]"
9
+ class="nstc-g6-common-input-multiple-select"
10
+ @change="inputChange(0)"
11
+ />
12
+ <SelectCustom
13
+ v-model="_value[1]"
14
+ filterable
15
+ :options="options[1]"
16
+ :width="widthConfig[1]"
17
+ class="nstc-g6-common-input-multiple-select"
18
+ @change="inputChange(1)"
19
+ />
20
+ <SelectCustom
21
+ v-model="_value[2]"
22
+ filterable
23
+ :options="options[2]"
24
+ :width="widthConfig[2]"
25
+ class="nstc-g6-common-input-multiple-select"
26
+ @change="inputChange(2)"
27
+ />
28
+ </div>
29
+ </template>
30
+
31
+ <script>
32
+ import SelectCustom from '../SelectCustom'
33
+ import axios from '../../../../src/utils/axios'
34
+ export default {
35
+ name: 'NstcInputMultiple',
36
+ components: {
37
+ SelectCustom
38
+ },
39
+ props: {
40
+ value: {
41
+ type: Array,
42
+ default: () => {
43
+ return [null, null, null]
44
+ }
45
+ },
46
+ // options: {
47
+ // type: Array,
48
+ // default: () => {
49
+ // return [[],[],[]]
50
+ // }
51
+ // },
52
+ widthConfig: {
53
+ type: Array,
54
+ default: () => {
55
+ return [100, 100, 100]
56
+ }
57
+ },
58
+ default: {
59
+ type: [String, Number, Array],
60
+ default: () => {
61
+ return []
62
+ }
63
+ },
64
+ url: {
65
+ type: String,
66
+ default: ''
67
+ },
68
+ labelKey: {
69
+ type: String,
70
+ default: ''
71
+ },
72
+ valueKey: {
73
+ type: String,
74
+ default: ''
75
+ },
76
+ data: {
77
+ type: Object,
78
+ default: () => {
79
+ return null
80
+ }
81
+ },
82
+ // 额外参数
83
+ params: {
84
+ type: Object,
85
+ default: () => {
86
+ return {}
87
+ }
88
+ },
89
+ // 特殊处理
90
+ father: {
91
+ type: Boolean,
92
+ default: false
93
+ }
94
+ },
95
+ data() {
96
+ return {
97
+ arr: [null, null, null],
98
+ options: [null, null, null]
99
+ }
100
+ },
101
+ computed: {
102
+ _value: {
103
+ get() {
104
+ return this.value
105
+ },
106
+ set(val) {
107
+ this.$emit('input', val)
108
+ }
109
+ }
110
+ },
111
+ created() {
112
+ this._value = this.default
113
+ this.request(this.url, 0)
114
+ },
115
+
116
+ methods: {
117
+ request(url, optionsIndex) {
118
+ const that = this
119
+
120
+ axios({
121
+ url: url,
122
+ method: 'get',
123
+ params: optionsIndex === 0 ? null : this.params
124
+ })
125
+ .then((res) => {
126
+ console.log(res)
127
+ let resList = res.list || res
128
+ resList = Array.isArray(resList) ? resList : [resList]
129
+
130
+ // 特殊业务处理
131
+ if (this.father && optionsIndex === 0) {
132
+ let newOptions = []
133
+ that.options[optionsIndex] = resList
134
+ that.options[optionsIndex].map((item) => {
135
+ if (!item.fatherNo) {
136
+ item.label = item[this.labelKey]
137
+ item.value = item[this.valueKey]
138
+ newOptions.push(item)
139
+ }
140
+ })
141
+ that.options[optionsIndex] = newOptions
142
+ } else {
143
+ // alert(1)
144
+ console.log(resList[0].children)
145
+ let newOptions = resList[0].children
146
+ newOptions.map((item) => {
147
+ item.label = item[this.labelKey]
148
+ item.value = item[this.valueKey]
149
+ })
150
+
151
+ that.options[optionsIndex] = newOptions
152
+ }
153
+
154
+ that.$nextTick(() => {
155
+ that.$forceUpdate()
156
+ })
157
+ })
158
+ .catch(() => {})
159
+ },
160
+ inputChange(i) {
161
+ switch (i) {
162
+ case 0:
163
+ this._value[1] = ''
164
+ this._value[2] = ''
165
+ this.request(`${this.url}?${this.valueKey}=${this._value[i]}`, 1)
166
+ break
167
+ case 1:
168
+ this._value[2] = ''
169
+ this.request(`${this.url}?${this.valueKey}=${this._value[i]}`, 2)
170
+ break
171
+ }
172
+ }
173
+ }
174
+ }
175
+ </script>
176
+
177
+ <style scoped lang="scss">
178
+ //@import '~@/theme/theme1/styles/variables.scss';
179
+ //.nstc-g6-common-input-multiple{
180
+ // display: flex;
181
+ // width: $formItemDefaultWidth;
182
+ // .nstc-g6-common-input-multiple-select {
183
+ // margin-right: 10px;
184
+ // }
185
+ // .input-custom{
186
+ // margin-right: 10px;
187
+ // }
188
+ //}
189
+ </style>
@@ -0,0 +1,128 @@
1
+ <template>
2
+ <div>
3
+ <div v-if="isSingle" class="nstc-g6-common-input-with-unit">
4
+ <InputCustom
5
+ v-model="_value[0]"
6
+ :width="_widthConfig[0]"
7
+ :maxlength="3"
8
+ />
9
+ <SelectCustom
10
+ v-model="_value[1]"
11
+ filterable
12
+ :options="options"
13
+ :width="_widthConfig[1]"
14
+ />
15
+ </div>
16
+ <div v-else class="nstc-g6-common-input-with-unit">
17
+ <InputCustom
18
+ v-model="_value[0]"
19
+ :width="_widthConfig[0]"
20
+ :maxlength="3"
21
+ />
22
+ <span style="margin: 0 10px">到</span>
23
+ <InputCustom
24
+ v-model="_value[1]"
25
+ :width="_widthConfig[1]"
26
+ :maxlength="3"
27
+ />
28
+ <SelectCustom
29
+ v-model="_value[2]"
30
+ filterable
31
+ :options="options"
32
+ :width="_widthConfig[2]"
33
+ />
34
+ </div>
35
+
36
+ </div>
37
+ </template>
38
+
39
+ <script>
40
+ import InputCustom from '../InputCustom'
41
+ import SelectCustom from '../SelectCustom'
42
+ export default {
43
+ name: "NstcInputWithUnit",
44
+ props: {
45
+ isSingle: {
46
+ type: Boolean,
47
+ default: false,
48
+ },
49
+ value: {
50
+ type: Array,
51
+ default: () => {
52
+ return [null, null]
53
+ }
54
+ },
55
+ options: {
56
+ type: Array,
57
+ default: () => {
58
+ return [
59
+ {label: '年', value: 3},
60
+ {label: '月', value: 2},
61
+ {label: '日', value: 1},
62
+ ]
63
+ }
64
+ },
65
+ widthConfig: {
66
+ type: Array,
67
+ default: () => {
68
+ return [150, 106]
69
+ }
70
+ },
71
+ default: {
72
+ type: [String, Number, Array],
73
+ default: () => {
74
+ return []
75
+ }
76
+ }
77
+ },
78
+ components: {
79
+ InputCustom,
80
+ SelectCustom
81
+ },
82
+ watch: {
83
+ isSingle:{
84
+ immediate: true,
85
+ handler(val) {
86
+ if (!val) {
87
+ this._value = ['', '', 3]
88
+ this._widthConfig = [150, 150, 106]
89
+ } else {
90
+ this._value = ['', 3]
91
+ this._widthConfig = [150, 106]
92
+ }
93
+ }
94
+ }
95
+ },
96
+ computed: {
97
+ _value: {
98
+ get() {
99
+ return this.value
100
+ },
101
+ set(val) {
102
+ this.$emit('input', val)
103
+ }
104
+ }
105
+ },
106
+ created() {
107
+ this._value = this.default
108
+ this._widthConfig = this.widthConfig
109
+ },
110
+ data() {
111
+ return {
112
+ arr: [null, null]
113
+ }
114
+ }
115
+ }
116
+ </script>
117
+
118
+ <style scoped lang="scss">
119
+ //@import '~@/theme/theme1/styles/variables.scss';
120
+ //.nstc-g6-common-input-with-unit{
121
+ // display: flex;
122
+ // width: $formItemDefaultWidth;
123
+ // align-items: center;
124
+ // // .input-custom{
125
+ // // margin-right: 10px;
126
+ // // }
127
+ //}
128
+ </style>
@@ -0,0 +1,233 @@
1
+ <template>
2
+ <SelectInDialogCustom
3
+ ref="SelectInDialogCustom"
4
+ v-model="model[0]"
5
+ :title="title"
6
+ :url="url"
7
+ clearable
8
+ remote
9
+ :value-key="valueKey"
10
+ :label-key="labelKey"
11
+ width="294"
12
+ :original-form="false"
13
+ :original-table="false"
14
+ :dialogVisibleTree="dialogVisibleTree"
15
+ >
16
+ <template v-slot:table>
17
+ <div style="display:flex;">
18
+ <el-input
19
+ class="select-dialog-custom-tree-inp"
20
+ placeholder="输入关键字进行过滤"
21
+ v-model="filterText">
22
+ </el-input>
23
+ <el-button
24
+ type="primary"
25
+ style="margin-left: 20px;"
26
+ class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b"
27
+ @click.stop="handleQuery"
28
+ >
29
+ 查询
30
+ </el-button>
31
+ </div>
32
+
33
+ <div style="height:300px;overflow:scroll;">
34
+ <el-tree
35
+ class="filter-tree"
36
+ style="margin:20px;"
37
+ :data="data"
38
+ :props="defaultProps"
39
+ :node-key="nodeKey"
40
+ default-expand-all
41
+ :show-checkbox="showCheckbox"
42
+ v-bind="$attrs"
43
+ v-on="$listeners"
44
+ @node-click="treeNodeClick"
45
+ :filter-node-method="filterNode"
46
+ ref="tree"
47
+ >
48
+ </el-tree>
49
+ </div>
50
+ <div style='text-align:center;'>
51
+ <el-button
52
+ type="primary"
53
+ class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b"
54
+ @click.stop="handleclick"
55
+ >
56
+ 确认
57
+ </el-button>
58
+ <el-button
59
+ class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-b"
60
+ @click.stop="handleClear"
61
+ >
62
+ 取消
63
+ </el-button>
64
+ </div>
65
+ </template>
66
+ </SelectInDialogCustom>
67
+
68
+ </template>
69
+
70
+ <script>
71
+ import SelectInDialogCustom from '../SelectindialogCustom'
72
+ export default {
73
+ name: 'SelectTreeDialog',
74
+
75
+ components: {
76
+ SelectInDialogCustom,
77
+ },
78
+
79
+ computed: {
80
+ _value: {
81
+ get() {
82
+ return this.value
83
+ },
84
+ set(val) {
85
+ this.$emit('input', val)
86
+ }
87
+ }
88
+ },
89
+
90
+ props: {
91
+ title: {
92
+ type: String,
93
+ default: '表格里边弹窗'
94
+ },
95
+ value: {
96
+ type: String,
97
+ default: ''
98
+ },
99
+ data: {
100
+ type: Array,
101
+ default: () => [{
102
+ id: 1,
103
+ label: '一级 1',
104
+ children: [{
105
+ id: 4,
106
+ label: '二级 1-1',
107
+ children: [{
108
+ id: 9,
109
+ label: '三级 1-1-1'
110
+ }, {
111
+ id: 10,
112
+ label: '三级 1-1-2'
113
+ }]
114
+ }]
115
+ }, {
116
+ id: 2,
117
+ label: '一级 2',
118
+ children: [{
119
+ id: 5,
120
+ label: '二级 2-1'
121
+ }, {
122
+ id: 6,
123
+ label: '二级 2-2'
124
+ }]
125
+ }, {
126
+ id: 3,
127
+ label: '一级 3',
128
+ children: [{
129
+ id: 7,
130
+ label: '二级 3-1'
131
+ }, {
132
+ id: 8,
133
+ label: '二级 3-2'
134
+ }]
135
+ }]
136
+ },
137
+ defaultProps: {
138
+ type: Object,
139
+ default: () => {
140
+ return {
141
+ children: 'children',
142
+ label: 'label'
143
+ }
144
+ }
145
+ },
146
+ valueKey :{
147
+ type: String,
148
+ default: 'prop1'
149
+ },
150
+ labelKey: {
151
+ type: String,
152
+ default: 'prop2'
153
+ },
154
+ url: {
155
+ type: String,
156
+ default: ''
157
+ },
158
+ showCheckbox: {
159
+ type: Boolean,
160
+ default: false
161
+ },
162
+ nodeKey: {
163
+ type: String,
164
+ default: 'id'
165
+ },
166
+
167
+ },
168
+
169
+ data() {
170
+ return {
171
+ filterText: '',
172
+ model: [{ prop1: '1', prop2: '' }],
173
+ dialogVisibleTree: false,
174
+ }
175
+ },
176
+
177
+ methods: {
178
+ filterNode(value, data) {
179
+ if (!value) return true;
180
+ return data.label.indexOf(value) !== -1;
181
+ },
182
+ handleQuery() {
183
+ this.$refs.tree.filter(this.filterText);
184
+ },
185
+ /**
186
+ * 树节点点击事件
187
+ * 回调参数: data, node, tree
188
+ */
189
+ treeNodeClick(data) {
190
+ this.queryFlag = false
191
+
192
+ const k = this.defaultProps.label || 'label'
193
+
194
+ this.filterText = data[k]
195
+ this.placeholder = this.filterText
196
+
197
+ this._value = data[this.nodeKey]
198
+ console.log(this._value,this.nodeKey)
199
+
200
+ // 主动让input框失去交单
201
+ // this.$refs[this.inputRefName].blur()
202
+ this.showPopoverFlag = false
203
+ },
204
+ handleclick() {
205
+ this.$emit('handleclick', this.filterText)
206
+ this.model[0].prop2 = this.filterText
207
+ this.model[0].prop1 = this.nodeKey
208
+ this.$refs.SelectInDialogCustom.dialogVisible = false
209
+ console.log(this.filterText)
210
+ }
211
+ }
212
+ }
213
+ </script>
214
+
215
+ <style lang="scss">
216
+ .select-dialog-custom-tree-inp {
217
+ .el-input__inner {
218
+ height: 34px !important;
219
+ margin-right: 20px;
220
+ }
221
+ .el-tree-node:focus {
222
+ background-color: #007AFF;
223
+ }
224
+ }
225
+
226
+ </style>
227
+
228
+ <style scoped>
229
+ .select-dialog-custom-tree-inp {
230
+ width: 299px;
231
+ height: 34px !important;
232
+ }
233
+ </style>
@@ -0,0 +1,7 @@
1
+ #各个业务模块特殊的组件
2
+
3
+ ##融租
4
+
5
+ ```
6
+ 1. 期限
7
+ ```
@@ -0,0 +1,101 @@
1
+ <template>
2
+ <el-cascader
3
+ v-model="_value"
4
+ v-bind="$attrs"
5
+ :collapse-tags="collapseTags"
6
+ :props="calcProps"
7
+ :style="{ width: parseFloat(width) + 'px' }"
8
+ v-on="$listeners"
9
+ >
10
+ <template v-slot="scope">
11
+ <slot v-bind="scope"></slot>
12
+ </template>
13
+ <template v-slot:empty>
14
+ <slot name="empty"></slot>
15
+ </template>
16
+ </el-cascader>
17
+ </template>
18
+
19
+ <script>
20
+ import axios from '../../../../src/utils/axios'
21
+
22
+ export default {
23
+ name: 'CascaderCustom',
24
+
25
+ inheritAttrs: false,
26
+
27
+ props: {
28
+ value: {
29
+ type: Array,
30
+ default: () => []
31
+ },
32
+
33
+ width: {
34
+ type: [String, Number],
35
+ default: ''
36
+ },
37
+
38
+ collapseTags: {
39
+ type: Boolean,
40
+ default: true
41
+ },
42
+
43
+ url: {
44
+ type: String,
45
+ default: ''
46
+ },
47
+
48
+ props: {
49
+ type: Object,
50
+ default: () => ({})
51
+ }
52
+ },
53
+
54
+ data() {
55
+ return {
56
+ options: []
57
+ }
58
+ },
59
+
60
+ computed: {
61
+ _value: {
62
+ get() {
63
+ return this.value
64
+ },
65
+ set(val) {
66
+ this.$emit('input', val)
67
+ }
68
+ },
69
+
70
+ calcProps() {
71
+ return {
72
+ ...this.props,
73
+ lazyLoad: this.props.lazy
74
+ ? (node) => {
75
+ // Todo 需要后端统一传参格式与返回数据的格式
76
+ console.log('子选项node', node)
77
+ }
78
+ : undefined
79
+ }
80
+ }
81
+ },
82
+
83
+ async created() {
84
+ !this.props.lazy && (this.options = await this.getOptions())
85
+ },
86
+
87
+ methods: {
88
+ getOptions() {
89
+ return axios(this.url)
90
+ }
91
+ }
92
+ }
93
+ </script>
94
+
95
+ <style lang="scss">
96
+ .el-cascader {
97
+ .el-input {
98
+ width: 100%;
99
+ }
100
+ }
101
+ </style>