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