n20-common-lib 1.3.8 → 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 (263) 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 +28 -64
  251. package/src/components/ChildRange/style.scss +34 -0
  252. package/src/components/FileImport/index.vue +3 -1
  253. package/src/components/PageHeader/index.vue +3 -47
  254. package/src/components/PageHeader/style.scss +39 -0
  255. package/src/components/Search/index.vue +1 -97
  256. package/src/components/Search/style.scss +93 -0
  257. package/src/components/Table/ThSelectHeader.vue +28 -33
  258. package/src/components/Table/index.vue +4 -2
  259. package/src/directives/VTitle/index.js +14 -17
  260. package/style/css/normalize.scss +6 -6
  261. package/style/index.css +3 -3
  262. package/style/index.css.map +1 -1
  263. package/style/server-config.jsonc +527 -410
@@ -0,0 +1,1074 @@
1
+ <!--
2
+ 功能: excel导入功能
3
+ 作者: nstc
4
+ 创建时间: 2021-02-05
5
+ -->
6
+ <template>
7
+ <div>
8
+ <NstcDialog
9
+ v-model="_value"
10
+ :title="title"
11
+ width="1200px"
12
+ append-to-body
13
+ v-bind="$attrs"
14
+ :footer-handlers="footerHandlers"
15
+ class="nstc-dialog-style"
16
+ v-on="$listeners"
17
+ @cancel="resetAction"
18
+ >
19
+ <div class="nstc-common-excel-import">
20
+ <div class="nstc-common-excel-import-tips-box">
21
+ <el-row :gutter="10">
22
+ <el-col style="width: 75px; text-align: right">
23
+ <span class="tips-box-text">导入说明:</span>
24
+ </el-col>
25
+ <el-col :span="18">
26
+ <div v-for="(item, index) in tips" :key="index" class="tips-item">
27
+ <span v-if="tips.length !== 1">{{ index + 1 }}. </span>
28
+ <span>{{ item.text }}</span>
29
+ </div>
30
+ </el-col>
31
+ </el-row>
32
+ </div>
33
+ <slot></slot>
34
+
35
+ <el-form :label-width="labelWidth">
36
+ <el-form-item label="上传">
37
+ <div class="excel-unload-input" @click="uploadChooseFile">
38
+ <div
39
+ :class="{
40
+ placeholder: true,
41
+ 'placeholder-has-file': placeholderHasFile
42
+ }"
43
+ >
44
+ {{ placeholderText || '请选择' }}
45
+ </div>
46
+ <img class="excel-unload-input-img" :src="uploadImg" alt="" />
47
+ </div>
48
+ <el-button
49
+ type="primary"
50
+ class="nstc-g6-common-btn-1 nstc-g6-common-btn-size-s"
51
+ :disabled="
52
+ excelData.tableData.length === 0 || confirmDisabledFlag
53
+ "
54
+ @click="handleConfirmImportExcel"
55
+ >导入</el-button
56
+ >
57
+ <el-button
58
+ v-if="isNeedTemplate"
59
+ type="text"
60
+ style="margin-left: 20px"
61
+ :disabled="!templateUrl"
62
+ @click="downloadTemplate"
63
+ >导入模板下载</el-button
64
+ >
65
+ </el-form-item>
66
+ </el-form>
67
+
68
+ <div class="excel-upload-result-box">
69
+ <div class="excel-upload-result-box-head">结果统计</div>
70
+ <div class="excel-upload-result-box-content">
71
+ <span>结果统计 {{ validateResult.totalNum }} 条记录, </span>
72
+ <span>其中有效数据记录{{ validateResult.successNum }} 条, </span>
73
+ <span
74
+ >其中无效数据记录
75
+ <span class="nstc-import-error-num">{{
76
+ validateResult.errorList.length
77
+ }}</span>
78
+ 条。</span
79
+ >
80
+ </div>
81
+ </div>
82
+ <NstcUploadExcel
83
+ v-if="value"
84
+ v-show="percentage !== 100"
85
+ ref="nstc-unload-excel-box"
86
+ class="upload-excel-box"
87
+ :before-upload="beforeUpload"
88
+ :on-success="handleSuccess"
89
+ />
90
+
91
+ <div v-show="hasErrorFlag" class="fail-excel-import-box">
92
+ <div class="fail-excel-import-box-title">无效数据情况统计</div>
93
+ <el-table
94
+ :data="errorListTemp"
95
+ :height="tableHeight"
96
+ style="width: 100%; height: 500px"
97
+ >
98
+ <el-table-column
99
+ v-for="column in columnsListTemp"
100
+ :key="column.prop"
101
+ :prop="column.prop"
102
+ :label="column.label"
103
+ :align="column.align"
104
+ :min-width="column.width"
105
+ >
106
+ <template slot-scope="scope">
107
+ <span v-html="scope.row[column.prop]"></span>
108
+ </template>
109
+ </el-table-column>
110
+ </el-table>
111
+ </div>
112
+
113
+ <div class="end-tips">上述数据输入有误,请修改导入文件中相关信息!</div>
114
+ </div>
115
+ <slot name="footer"></slot>
116
+ </NstcDialog>
117
+ </div>
118
+ </template>
119
+
120
+ <script>
121
+ import NstcUploadExcel from '../NstcUploadExcel/NstcUploadExcel'
122
+ import NstcDialog from '../NstcDialog/NstcDialog'
123
+ import uploadImg from './img/upload@2x.png'
124
+ import axios from '../../utils/axios'
125
+ export default {
126
+ name: 'NstcExcelImport',
127
+ components: {
128
+ NstcUploadExcel,
129
+ NstcDialog
130
+ // NstcTable
131
+ },
132
+ props: {
133
+ tableHeight: {
134
+ default: '500px'
135
+ },
136
+ value: {
137
+ type: Boolean,
138
+ default: false
139
+ },
140
+ tips: {
141
+ type: Array,
142
+ default: () => {
143
+ return []
144
+ }
145
+ },
146
+ labelWidth: {
147
+ type: String,
148
+ default: ''
149
+ },
150
+ templateUrl: {
151
+ type: String,
152
+ default: ''
153
+ },
154
+ title: {
155
+ type: String,
156
+ default: function () {
157
+ return '导入'
158
+ }
159
+ },
160
+ reset: {
161
+ type: Boolean,
162
+ default: false
163
+ },
164
+ footerHandlers: {
165
+ type: Object,
166
+ default: function () {
167
+ return {
168
+ // cancel: {
169
+ // text: '取消'
170
+ // },
171
+ // confirm: {
172
+ // text: '导入'
173
+ // }
174
+ }
175
+ }
176
+ },
177
+ callback: {
178
+ type: Function,
179
+ default: () => {}
180
+ },
181
+ // mapper: {
182
+ // type: Object,
183
+ // default: () => {}
184
+ // },
185
+ handleConfirm: {
186
+ type: Function,
187
+ default: () => {}
188
+ },
189
+ downConfig: {
190
+ type: Object,
191
+ default() {
192
+ return {
193
+ isFrontDown: true,
194
+ fileName: '下载.xlsx'
195
+ }
196
+ }
197
+ },
198
+
199
+ // 校验结果
200
+ validateResult: {
201
+ type: Object,
202
+ default: () => {
203
+ return {
204
+ totalNum: 0,
205
+ successNum: 0,
206
+ columnsList: [],
207
+ errorList: []
208
+ }
209
+ }
210
+ },
211
+
212
+ // 下载模板按钮是否显示
213
+ isNeedTemplate: {
214
+ type: Boolean,
215
+ default: true
216
+ }
217
+ },
218
+ data() {
219
+ return {
220
+ uploadImg,
221
+ excelData: {
222
+ // tableHeader: [],
223
+ tableData: []
224
+ },
225
+ placeholderHasFile: false,
226
+ progressStatus: '',
227
+ percentage: 0,
228
+ percentageFlag: false,
229
+ fileName: '',
230
+ drawerFlag: false,
231
+ dialogVisible: false,
232
+ tipsText: '导入说明',
233
+ totalNum: 0,
234
+ successNum: 0,
235
+ failNum: 0,
236
+ placeholderText: '',
237
+ columnsFailResult: [],
238
+ tableDataFailResult: [],
239
+ columnsListTemp: [],
240
+ errorListTemp: [],
241
+ successFlag: false,
242
+ statisticsFlag: false,
243
+ confirmDisabledFlag: true,
244
+ isShow: false
245
+ }
246
+ },
247
+ computed: {
248
+ _value: {
249
+ get() {
250
+ return this.value
251
+ },
252
+ set(val) {
253
+ this.$emit('input', val)
254
+ }
255
+ },
256
+ hasErrorFlag() {
257
+ return (
258
+ this.validateResult.errorList &&
259
+ this.validateResult.errorList.length > 0
260
+ )
261
+ }
262
+ },
263
+ watch: {
264
+ value: {
265
+ handler(newValue) {
266
+ if (!newValue) {
267
+ this.resetAction()
268
+ }
269
+ }
270
+ },
271
+ validateResult: {
272
+ handler(newValue, oldValue) {
273
+ console.log('值更新了', newValue, oldValue)
274
+ newValue.columnsList.length && (this.statisticsFlag = true)
275
+
276
+ // 获取每行字符的最大长度
277
+ const lengthObj = {}
278
+ newValue.errorList.map((item) => {
279
+ const keys = newValue.columnsList.map((i) => {
280
+ return i['prop']
281
+ })
282
+ keys.map((k, i) => {
283
+ if (item[k] && (!lengthObj[i] || lengthObj[i] < item[k].length)) {
284
+ lengthObj[i] = item[k].toString().length
285
+ }
286
+ })
287
+ })
288
+
289
+ // 更新column
290
+ this.columnsListTemp = newValue.columnsList.map((i, index) => {
291
+ console.log('iiiiiii', i, i.errorList)
292
+ return {
293
+ ...i,
294
+ width:
295
+ 16 * lengthObj[index] + 40 >= 100
296
+ ? 16 * lengthObj[index] + 40
297
+ : 100,
298
+ component: {
299
+ template: `<div v-html="scope.row['${i.prop}']"></div>`
300
+ }
301
+ }
302
+ })
303
+
304
+ // 更新errorList的tableData
305
+ this.errorListTemp.length = 0
306
+ newValue.errorList.map((i) => {
307
+ const temp = {}
308
+ Object.keys(i).map((k) => {
309
+ if (i.errorList && i.errorList.includes(k)) {
310
+ temp[k] = `<div class="nstc-g6-common-color-danger">${i[k]}</div>`
311
+ } else {
312
+ temp[k] = i[k]
313
+ }
314
+ })
315
+ this.errorListTemp.push(temp)
316
+ })
317
+
318
+ console.log(this.errorListTemp, this.columnsListTemp)
319
+
320
+ this.successFlag =
321
+ this.validateResult.successNum !== 0 &&
322
+ this.validateResult.successNum === this.validateResult.totalNum
323
+
324
+ if (this.footerHandlers.confirm) {
325
+ this.footerHandlers.confirm.disabled = !this.successFlag
326
+ }
327
+
328
+ this.confirmDisabledFlag = !this.successFlag
329
+
330
+ // nstc-g6-common-color-danger
331
+ this.columnsList &&
332
+ this.columnsList.map((i) => {
333
+ console.log(i)
334
+ })
335
+ },
336
+ deep: true
337
+ },
338
+ columnsList: {
339
+ handler(newValue, oldValue) {
340
+ console.log('值更新了', newValue, oldValue)
341
+
342
+ console.log('123123123', this.columnsListTemp)
343
+ }
344
+ },
345
+ reset(val) {
346
+ val && this.resetAction()
347
+ }
348
+ },
349
+ mounted() {
350
+ this.placeholderText = ''
351
+ // chrome and ie
352
+ window.addEventListener('mousewheel', this.handleScroll(), false)
353
+ // firefox
354
+ window.addEventListener('DOMMouseScroll', this.handleScroll(), false)
355
+ },
356
+ created() {},
357
+ methods: {
358
+ beforeUpload(file) {
359
+ this.percentage = 0
360
+ this.progressStatus = ''
361
+ this.percentageFlag = true
362
+ this.fileName = file.name
363
+ this.placeholderText = this.fileName
364
+ this.placeholderHasFile = true
365
+ return true
366
+ },
367
+ // header
368
+ handleSuccess({ results, header }) {
369
+ this.percentage = 100
370
+ this.progressStatus = 'success'
371
+ this.excelData.tableHeader = header
372
+ this.excelData.tableData = results
373
+ // 自动上传校验
374
+ this.callback(this.excelData)
375
+ },
376
+
377
+ async handleConfirmImportExcel() {
378
+ await this.handleConfirm(this.excelData)
379
+ },
380
+
381
+ // 下载文件
382
+ downloadTemplate() {
383
+ // 前端下载
384
+ if (this.downConfig.isFrontDown) {
385
+ const aEl = document.createElement('a')
386
+ aEl.setAttribute('href', this.templateUrl)
387
+ aEl.target = '_blank'
388
+ // aEl.download = this.templateUrl
389
+ aEl.click()
390
+ } else {
391
+ axios({
392
+ url: this.templateUrl,
393
+ method: 'get',
394
+ responseType: 'blob'
395
+ }).then((res) => {
396
+ const content = res
397
+ const blob = new Blob([content])
398
+ if ('download' in document.createElement('a')) {
399
+ const link = document.createElement('a')
400
+ link.download = this.downConfig.fileName
401
+ link.style.display = 'none'
402
+ link.href = URL.createObjectURL(blob)
403
+ document.body.appendChild(link)
404
+ link.click()
405
+ URL.revokeObjectURL(link.href)
406
+ document.body.removeChild(link)
407
+ } else {
408
+ navigator.msSaveBlob(blob, this.downConfig.fileName)
409
+ }
410
+ this.btnSendTem = false
411
+ })
412
+ }
413
+ },
414
+
415
+ resetAction(flag) {
416
+ // 文件
417
+ this.excelData = {
418
+ // tableHeader: [],
419
+ tableData: []
420
+ }
421
+
422
+ // 不改变原来数据结构
423
+ this.validateResult.totalNum = null
424
+ this.validateResult.successNum = null
425
+ this.validateResult.columnsList = []
426
+ this.validateResult.errorList = []
427
+
428
+ this.successFlag = false
429
+ // this.footerHandlers.confirm.disabled = true
430
+ this.confirmDisabledFlag = true
431
+ this.percentageFlag = false
432
+ this.fileName = ''
433
+ this.percentage = 0
434
+ this.reset = false
435
+ this.statisticsFlag = false
436
+ this.placeholderHasFile = false
437
+ this.placeholderText = '请选择'
438
+ console.log('执行了弹框关闭事件')
439
+ ![`delete`].includes(flag) && (this._value = false)
440
+ this.$nextTick(() => {
441
+ this.$forceUpdate()
442
+ })
443
+ },
444
+
445
+ /**
446
+ * 选择文件
447
+ */
448
+ uploadChooseFile() {
449
+ this.$refs[`nstc-unload-excel-box`].handleUpload()
450
+ },
451
+ handleScroll(e) {
452
+ let direction = e ? (e.deltaY > 0 ? 'down' : 'up') : '' // 该语句可以用来判断滚轮是向上滑动还是向下
453
+ if (document.getElementsByTagName('li').length == 1) {
454
+ //此处决定无论一次滚轮滚动的距离是多少,此事件
455
+ //都得等上次滚动结束,才会执行本次
456
+ this.isShow = false
457
+ setTimeout(() => {
458
+ this.isShow = true
459
+ ++this.nowIndex
460
+ if (this.nowIndex == 3) {
461
+ this.nowIndex = 0
462
+ }
463
+ }, 10)
464
+ }
465
+ console.log(direction)
466
+ }
467
+ }
468
+ }
469
+ </script>
470
+
471
+ <style lang="scss">
472
+ .root-class {
473
+ .nstc-wrap-input-hover .select-in-dialog-result:hover,
474
+ .nstc-wrap-input-hover .nstc-common-form-textarea textarea:hover,
475
+ .nstc-wrap-input-hover .el-input__inner:hover {
476
+ border: 1px solid #007aff;
477
+ box-shadow: 0 0 4px 0 #007aff;
478
+ }
479
+ .nstc-wrap-input-hover .select-in-dialog-result:hover {
480
+ .select-in-dialog-result-remote-icon {
481
+ border-left: 1px solid #007aff;
482
+ }
483
+ }
484
+ .nstc-wrap-input-hover .select-in-dialog-result {
485
+ .el-select {
486
+ .el-input__inner:hover {
487
+ border: none !important;
488
+ }
489
+ }
490
+ }
491
+ .select-in-dialog-result:hover {
492
+ border: 1px solid #007aff;
493
+ box-shadow: 0 0 4px 0 #007aff;
494
+ .select-in-dialog-result-remote-icon {
495
+ border-left: 1px solid #007aff;
496
+ }
497
+ }
498
+ .is-disabled {
499
+ .select-in-dialog-result:hover {
500
+ border: 1px solid #ccc !important;
501
+ box-shadow: none;
502
+ .select-in-dialog-result-remote-icon {
503
+ border-left: none;
504
+ }
505
+ }
506
+ }
507
+
508
+ .el-form-item.is-error .el-input__inner:focus,
509
+ .el-form-item.is-error .el-textarea__inner:focus,
510
+ .el-input__inner:focus,
511
+ .el-select .el-input.is-focus .el-input__inner,
512
+ .el-textarea__inner:focus {
513
+ box-shadow: 0 0 4px 0 #007aff;
514
+ border-color: #007aff;
515
+ }
516
+ .el-input {
517
+ .el-input__suffix {
518
+ line-height: 32px;
519
+ .el-input__suffix-inner {
520
+ height: 100%;
521
+ display: block;
522
+ .el-input__icon {
523
+ line-height: 32px;
524
+ }
525
+ }
526
+ }
527
+ }
528
+ //日期修改
529
+ .el-date-editor {
530
+ // 修改日期选择框的图片居中
531
+ .el-range__icon {
532
+ line-height: 24px;
533
+ }
534
+ //修改日期选择框连接符居中
535
+ .el-range-separator {
536
+ line-height: 24px;
537
+ }
538
+ }
539
+ //日期选择框
540
+ .el-date-editor {
541
+ .el-range__close-icon {
542
+ line-height: 24px;
543
+ }
544
+ }
545
+ .el-date-editor.nstc-input-small {
546
+ .el-range__close-icon {
547
+ line-height: 18px;
548
+ }
549
+ }
550
+ //表单
551
+ .el-form-item__content {
552
+ display: flex;
553
+ height: 40px;
554
+ align-items: center;
555
+ .el-input {
556
+ height: 32px;
557
+ line-height: 32px;
558
+ // width: 224px;
559
+ }
560
+ .el-input.is-disabled .el-input__inner {
561
+ background-color: #f5f7fa;
562
+ border-color: #dddddd;
563
+ color: #ccc;
564
+ }
565
+ .input-custom {
566
+ display: flex;
567
+ align-items: center;
568
+ // 门户的样式.el-input__inner 设置为32px 应该是在.el-input上面设置
569
+ .el-input {
570
+ height: 32px;
571
+ line-height: 32px;
572
+ //修改input 后面单位的高度与input 不一致
573
+ .el-input-group__append {
574
+ line-height: 1;
575
+ }
576
+ .el-input__suffix {
577
+ height: 32px;
578
+ .el-input__suffix-inner {
579
+ height: 100%;
580
+ display: block;
581
+ .el-input__icon {
582
+ line-height: 32px;
583
+ }
584
+ }
585
+ }
586
+ }
587
+ }
588
+
589
+ .form-create-select-tree {
590
+ .el-input {
591
+ height: 32px;
592
+ line-height: 32px;
593
+ //修改input 后面单位的高度与input 不一致
594
+ .el-input-group__append {
595
+ line-height: 1;
596
+ }
597
+ .el-input__suffix {
598
+ height: 32px;
599
+ .el-input__suffix-inner {
600
+ height: 100%;
601
+ display: block;
602
+ .el-input__icon {
603
+ line-height: 32px;
604
+ }
605
+ }
606
+ }
607
+ }
608
+ }
609
+ .el-date-editor {
610
+ .el-input__prefix {
611
+ .el-input__icon {
612
+ line-height: 32px;
613
+ }
614
+ }
615
+ .el-input__suffix {
616
+ .el-input__icon {
617
+ line-height: 32px;
618
+ }
619
+ }
620
+ }
621
+ // 修改联机选择器的高度
622
+ .el-cascader {
623
+ height: 32px;
624
+ line-height: 32px;
625
+ .el-input {
626
+ height: 100%;
627
+ .el-input__suffix {
628
+ height: 32px;
629
+ .el-input__suffix-inner {
630
+ height: 100%;
631
+ display: block;
632
+ .el-input__icon.el-icon-arrow-down {
633
+ line-height: 32px;
634
+ }
635
+ }
636
+ }
637
+ }
638
+ }
639
+
640
+ // 修改复选框没有居中对齐
641
+ .el-checkbox-group {
642
+ display: flex;
643
+ align-items: center;
644
+ }
645
+ // 修改上传附件
646
+ .upload-custom {
647
+ height: 32px;
648
+ button {
649
+ height: 100%;
650
+ }
651
+ }
652
+ //修改下拉select 没有右边border
653
+ .el-select {
654
+ height: 32px;
655
+ line-height: 32px;
656
+ .el-input {
657
+ height: 100%;
658
+ margin-left: 0;
659
+ .el-input__suffix {
660
+ height: 32px;
661
+ .el-input__suffix-inner {
662
+ height: 100%;
663
+ display: block;
664
+ .el-input__icon {
665
+ line-height: 32px;
666
+ }
667
+ }
668
+ }
669
+ }
670
+ }
671
+ }
672
+ //国际化下拉
673
+ .i18n-box {
674
+ .el-select {
675
+ height: 32px;
676
+ line-height: 32px;
677
+ .el-input {
678
+ height: 100%;
679
+ margin-left: 0;
680
+ .el-input__suffix {
681
+ height: 32px;
682
+ .el-input__suffix-inner {
683
+ height: 100%;
684
+ display: block;
685
+ .el-input__icon {
686
+ line-height: 32px;
687
+ }
688
+ }
689
+ }
690
+ }
691
+ }
692
+ }
693
+ .el-button.nstc-g6-common-btn-size-s {
694
+ margin: 0 4px;
695
+ }
696
+ .el-button.nstc-g6-common-btn-size-b {
697
+ margin: 0 8px;
698
+ }
699
+ .el-button--primary:not(.is-disabled) {
700
+ &.nstc-g6-common-btn-1 {
701
+ background-color: #007aff;
702
+ border-color: #007aff;
703
+ color: #fff;
704
+ }
705
+ }
706
+ .el-button--default:not(.is-disabled) {
707
+ &.nstc-g6-common-btn-1 {
708
+ border-color: #dddddd;
709
+ color: #333;
710
+ background-color: #fff;
711
+ }
712
+ }
713
+ .el-button--primary:not(.is-disabled).nstc-g6-common-btn-1:not(.is-disabled):hover {
714
+ background-color: #146be6;
715
+ border: 1px solid #146be6;
716
+ color: #fff;
717
+ opacity: 1;
718
+ }
719
+ .el-button--default:not(.is-disabled).nstc-g6-common-btn-1:not(.is-disabled):hover {
720
+ border-color: #146be6;
721
+ color: #146be6;
722
+ background-color: #fff;
723
+ opacity: 1;
724
+ }
725
+
726
+ .el-button--default:not(.is-disabled).nstc-g6-common-btn-4 {
727
+ padding: 0 8px;
728
+ height: 28px;
729
+ min-width: 72px;
730
+ font-size: 14px;
731
+ background-color: #fff;
732
+ border: 1px solid #ddd;
733
+ color: #ff3b30;
734
+ &:hover {
735
+ border: 1px solid #ff3b30;
736
+ opacity: 1;
737
+ }
738
+ }
739
+ .el-button--primary:not(.is-disabled, .is-plain).nstc-g6-common-btn-4 {
740
+ color: #fff;
741
+ background-color: #ff3b30;
742
+ border: 1px solid #ff3b30;
743
+ &:hover {
744
+ color: #fff;
745
+ }
746
+ }
747
+ .el-button--primary.is-disabled.nstc-g6-common-btn-1,
748
+ .el-button--primary.is-disabled.nstc-g6-common-btn-1:hover,
749
+ .el-button--primary.is-disabled.nstc-g6-common-btn-1:focus,
750
+ .el-button--primary.is-disabled.nstc-g6-common-btn-1:active,
751
+ .el-button--default.is-disabled.nstc-g6-common-btn-1,
752
+ .el-button--default.is-disabled.nstc-g6-common-btn-1:hover,
753
+ .el-button--default.is-disabled.nstc-g6-common-btn-1:focus,
754
+ .el-button--default.is-disabled.nstc-g6-common-btn-1:active,
755
+ .el-button--primary.is-disabled.nstc-g6-common-btn-4,
756
+ .el-button--primary.is-disabled.nstc-g6-common-btn-4:hover,
757
+ .el-button--primary.is-disabled.nstc-g6-common-btn-4:focus,
758
+ .el-button--primary.is-disabled.nstc-g6-common-btn-4:active,
759
+ .el-button--default.is-disabled.nstc-g6-common-btn-4,
760
+ .el-button--default.is-disabled.nstc-g6-common-btn-4:hover,
761
+ .el-button--default.is-disabled.nstc-g6-common-btn-4:focus,
762
+ .el-button--default.is-disabled.nstc-g6-common-btn-4:active {
763
+ color: #ccc;
764
+ background-color: #eee;
765
+ border-color: #ddd;
766
+ }
767
+ // tab 标签颜色
768
+ .nstc-tab .el-tabs__item.is-active,
769
+ .el-tabs__item.is-active {
770
+ color: #1677ff;
771
+ }
772
+ .el-tabs__active-bar,
773
+ .el-date-table td.current:not(.disabled) span,
774
+ .el-slider__bar,
775
+ .el-month-table td.end-date .cell,
776
+ .el-month-table td.start-date .cell,
777
+ .el-pagination.is-background .el-pager li:not(.disabled).active,
778
+ .el-alert--info.is-dark {
779
+ background-color: #1677ff;
780
+ }
781
+ //修改多选框的颜色
782
+ .el-checkbox__input.is-checked .el-checkbox__inner {
783
+ border-color: #007aff;
784
+ background-color: #007aff;
785
+ }
786
+ .el-checkbox__inner:hover {
787
+ border-color: #007aff;
788
+ }
789
+ .el-radio__input.is-checked:not(.is-disabled) .el-radio__inner,
790
+ .el-switch.is-checked .el-switch__core,
791
+ .el-checkbox__input.is-indeterminate .el-checkbox__inner {
792
+ border-color: #007aff;
793
+ background: #007aff;
794
+ }
795
+
796
+ .el-radio__inner:hover,
797
+ .el-input-number__decrease:hover:not(.is-disabled)
798
+ ~ .el-input
799
+ .el-input__inner:not(.is-disabled),
800
+ .el-input-number__increase:hover:not(.is-disabled)
801
+ ~ .el-input
802
+ .el-input__inner:not(.is-disabled),
803
+ .el-cascader .el-input.is-focus .el-input__inner {
804
+ border-color: #007aff;
805
+ }
806
+ //上传 进度条颜色 成功失败颜色
807
+ .el-progress.is-success .el-progress-bar__inner {
808
+ background-color: #48d2a0;
809
+ }
810
+ .el-progress.is-success .el-progress__text {
811
+ color: #48d2a0;
812
+ }
813
+ // 分页
814
+ .cl-pagination .pages {
815
+ color: #000;
816
+ }
817
+ .cl-pagination .page-jumper[data-v-58107eb6] {
818
+ color: #333;
819
+ }
820
+ .cl-pagination-total .el-input--suffix .el-input__inner {
821
+ color: #333;
822
+ }
823
+ .el-pagination__editor.el-input .el-input__inner {
824
+ text-align: center !important;
825
+ box-sizing: border-box;
826
+ }
827
+ .form-group-custom .expand-collapse-header > span,
828
+ .form-group-custom .expand-collapse-header-collapse > span {
829
+ font-weight: normal;
830
+ font-size: 14px;
831
+ }
832
+ .expand-collapse-header-title[data-v-15697210] {
833
+ font-weight: normal;
834
+ color: #333;
835
+ }
836
+ .expand-collapse-header:hover .expand-collapse-icon[data-v-15697210],
837
+ .expand-collapse-footer:hover .expand-collapse-icon[data-v-15697210] {
838
+ color: #bac4cf;
839
+ }
840
+ .expand-collapse-icon[data-v-15697210] {
841
+ color: #bac4cf;
842
+ }
843
+ .expand-collapse-header[data-v-15697210],
844
+ .expand-collapse-footer[data-v-15697210] {
845
+ span {
846
+ color: #333;
847
+ }
848
+ cursor: pointer;
849
+ background: #f5f5f5;
850
+ }
851
+ // 滚动条样式
852
+ ::-webkit-scrollbar-thumb {
853
+ background-color: #eee;
854
+ }
855
+ // 滚动条移动上的样式
856
+ ::-webkit-scrollbar-thumb:hover {
857
+ background-color: #ccc;
858
+ }
859
+ // 修改input 内的选中项样式
860
+ .el-tag.el-tag--info {
861
+ background-color: #eee;
862
+ border-color: #eee;
863
+ color: #3d4a57;
864
+ }
865
+ //修改表格
866
+ .el-table thead.is-group th {
867
+ background: #f5f5f5;
868
+ }
869
+ .el-table th.is-leaf,
870
+ .el-table td {
871
+ border-bottom: 1px solid #eee;
872
+ border-bottom-width: 1px;
873
+ border-bottom-style: solid;
874
+ border-bottom-color: #eee;
875
+ }
876
+ .el-table--border th,
877
+ .el-table--border td {
878
+ border-right: 1px solid #eee;
879
+ border-right-width: 1px;
880
+ border-right-style: solid;
881
+ border-right-color: #eee;
882
+ }
883
+ .el-table--group,
884
+ .el-table--border {
885
+ border: 1px solid #eee;
886
+ }
887
+ .el-table--group::after,
888
+ .el-table--border::after,
889
+ .el-table::before {
890
+ background-color: #eee;
891
+ }
892
+ // 表格高度统一44px
893
+ .el-table th,
894
+ .el-table td {
895
+ padding: 0;
896
+ height: 44px;
897
+ }
898
+ .el-form-item {
899
+ margin-bottom: 15px;
900
+ }
901
+ // 解决表格内操作按钮hover
902
+ .el-link.is-underline:hover:after {
903
+ display: none;
904
+ }
905
+ .nstc-file-upload .cell {
906
+ padding: 0px 8px 0px 0 !important;
907
+ color: #333;
908
+ }
909
+ .el-table th.is-leaf {
910
+ background-color: #f5f5f5;
911
+ font-weight: normal;
912
+ }
913
+ .nstc-approvel {
914
+ .el-form-item__content {
915
+ display: flex;
916
+ height: auto;
917
+ align-items: center;
918
+ }
919
+ }
920
+ }
921
+ // 修改批量导入弹窗内的样式 没有root-class 覆盖 新增一个class为nstc-dialog-style
922
+
923
+ // .nstc-dialog-style {
924
+
925
+ // }
926
+ //修改上传input样式
927
+ .nstc-common-excel-import {
928
+ .placeholder-has-file {
929
+ color: #3d4a57 !important;
930
+ height: 22px;
931
+ line-height: 22px;
932
+ width: auto;
933
+ position: absolute;
934
+ top: 50%;
935
+ margin-top: -11px;
936
+ padding-right: 20px;
937
+ left: 10px;
938
+ background: #eee;
939
+ padding-left: 5px;
940
+ border-radius: 2px;
941
+ }
942
+ }
943
+ // 表格内的input
944
+ .cell {
945
+ .el-input {
946
+ &.el-input--suffix {
947
+ height: 32px;
948
+ line-height: 32px;
949
+ .el-input__inner {
950
+ height: 32px;
951
+ }
952
+ .el-input__suffix {
953
+ .el-input__suffix-inner {
954
+ height: 100%;
955
+ display: block;
956
+ line-height: 32px;
957
+ i {
958
+ line-height: 32px;
959
+ }
960
+ }
961
+ }
962
+ }
963
+ }
964
+ }
965
+
966
+ //修改弹框上面没有root-class 的按钮hover
967
+ .nstc-g6-common-btn-1:not(.is-disabled):hover,
968
+ .nstc-g6-common-btn-1:not(.is-disabled):focus:hover {
969
+ border-color: #146be6 !important;
970
+ color: #fff !important;
971
+ background-color: #146be6 !important;
972
+ }
973
+ .nstc-g6-common-btn-3:not(.is-disabled):hover {
974
+ color: #146be6 !important;
975
+ border: 1px solid #146be6 !important;
976
+ background-color: #fff !important;
977
+ }
978
+ //修改日期picker
979
+ .el-picker-panel {
980
+ .el-date-table td {
981
+ span {
982
+ border-radius: 2px;
983
+ }
984
+ }
985
+ .el-date-table td.today span {
986
+ opacity: 0.8;
987
+ border-radius: 2px;
988
+ }
989
+ .el-date-table td.in-range {
990
+ div {
991
+ background: rgba(0, 122, 255, 0.1);
992
+ }
993
+ }
994
+ }
995
+ // 弹框内的table 表头表格
996
+ .el-table .el-table__header th,
997
+ .el-table .el-table__header td {
998
+ padding: 10px 0;
999
+ }
1000
+
1001
+ //修改下拉选择hover 问题
1002
+ .el-select-dropdown__item {
1003
+ color: #333;
1004
+ }
1005
+ .el-select-dropdown.is-multiple .el-select-dropdown__item:hover {
1006
+ background-color: rgba(0, 122, 255, 0.1);
1007
+ }
1008
+ .el-select-dropdown.is-multiple
1009
+ .el-scrollbar__view
1010
+ .el-select-dropdown__item.selected.hover {
1011
+ background-color: rgba(0, 122, 255, 0.1);
1012
+ }
1013
+
1014
+ .el-select-dropdown.el-popper .el-select-dropdown__item.hover,
1015
+ .el-select-dropdown.el-popper .el-select-dropdown__item:hover {
1016
+ background-color: rgba(0, 122, 255, 0.1);
1017
+ }
1018
+
1019
+ .el-button.nstc-g6-common-btn-size-s {
1020
+ margin: 0 4px;
1021
+ }
1022
+ .el-button.nstc-g6-common-btn-size-b {
1023
+ margin: 0 8px;
1024
+ }
1025
+
1026
+ .nstc-file-upload .cell {
1027
+ padding: 0px 8px 0px 0 !important;
1028
+ color: #333;
1029
+ }
1030
+ .el-table th.is-leaf {
1031
+ background-color: #f5f5f5;
1032
+ font-weight: normal;
1033
+ }
1034
+
1035
+ .el-button--default.nstc-g6-common-btn-1:not(.is-disabled):hover,
1036
+ .el-button--default.nstc-g6-common-btn-1:not(.is-disabled):focus:hover {
1037
+ border-color: #146be6 !important;
1038
+ color: #146be6 !important;
1039
+ background-color: #fff !important;
1040
+ }
1041
+
1042
+ .el-table th,
1043
+ .el-table td {
1044
+ padding: 0;
1045
+ height: 44px;
1046
+ }
1047
+
1048
+ .nstc-import-error-num {
1049
+ color: #fb5555;
1050
+ }
1051
+ .excel-unload-input {
1052
+ position: relative;
1053
+ overflow: hidden;
1054
+ }
1055
+ .placeholder-has-file {
1056
+ color: #242424 !important;
1057
+ height: 35px;
1058
+ width: 999px;
1059
+ position: absolute;
1060
+ top: -1px;
1061
+ left: 10px;
1062
+ }
1063
+ .excel-unload-input-img {
1064
+ position: absolute;
1065
+ right: 10px;
1066
+ top: 8px;
1067
+ }
1068
+ // .dialog-footer {
1069
+ // position: absolute;
1070
+ // top: 170px;
1071
+ // left: 380px;
1072
+ // }
1073
+ </style>
1074
+