eoss-ui 0.3.97

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 (378) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/README.md +30 -0
  3. package/lib/button-group.js +2857 -0
  4. package/lib/button.js +2884 -0
  5. package/lib/card.js +603 -0
  6. package/lib/cascader.js +373 -0
  7. package/lib/checkbox-group.js +3099 -0
  8. package/lib/clients.js +375 -0
  9. package/lib/config/api.js +205 -0
  10. package/lib/data-table-form.js +3848 -0
  11. package/lib/data-table.js +6315 -0
  12. package/lib/date-picker.js +2821 -0
  13. package/lib/dialog.js +3730 -0
  14. package/lib/enterprise.js +372 -0
  15. package/lib/eoss-ui.common.js +65365 -0
  16. package/lib/error-page.js +293 -0
  17. package/lib/flow-group.js +4200 -0
  18. package/lib/flow-list.js +4350 -0
  19. package/lib/flow.js +12893 -0
  20. package/lib/form.js +15635 -0
  21. package/lib/handle-user.js +2900 -0
  22. package/lib/handler.js +3118 -0
  23. package/lib/index.js +1 -0
  24. package/lib/input-number.js +2743 -0
  25. package/lib/input.js +2935 -0
  26. package/lib/label.js +411 -0
  27. package/lib/login.js +5048 -0
  28. package/lib/main.js +5816 -0
  29. package/lib/mainComp.js +6530 -0
  30. package/lib/menu.js +529 -0
  31. package/lib/nav.js +3048 -0
  32. package/lib/notify.js +1079 -0
  33. package/lib/page.js +3036 -0
  34. package/lib/pagination.js +354 -0
  35. package/lib/player.js +2904 -0
  36. package/lib/qr-code.js +2860 -0
  37. package/lib/radio-group.js +3091 -0
  38. package/lib/select-ganged.js +3242 -0
  39. package/lib/select.js +3295 -0
  40. package/lib/selector-panel.js +4425 -0
  41. package/lib/selector.js +3722 -0
  42. package/lib/sizer.js +3067 -0
  43. package/lib/steps.js +2943 -0
  44. package/lib/switch.js +2784 -0
  45. package/lib/table-form.js +6211 -0
  46. package/lib/tabs-panel.js +274 -0
  47. package/lib/tabs.js +4988 -0
  48. package/lib/theme-chalk/base.css +1 -0
  49. package/lib/theme-chalk/button-group.css +1 -0
  50. package/lib/theme-chalk/button.css +0 -0
  51. package/lib/theme-chalk/card.css +1 -0
  52. package/lib/theme-chalk/cascader.css +0 -0
  53. package/lib/theme-chalk/checkbox-group.css +1 -0
  54. package/lib/theme-chalk/clients.css +1 -0
  55. package/lib/theme-chalk/data-table-form.css +1 -0
  56. package/lib/theme-chalk/data-table.css +1 -0
  57. package/lib/theme-chalk/date-picker.css +1 -0
  58. package/lib/theme-chalk/dialog.css +1 -0
  59. package/lib/theme-chalk/enterprise.css +1 -0
  60. package/lib/theme-chalk/error-page.css +1 -0
  61. package/lib/theme-chalk/flow-chart.css +0 -0
  62. package/lib/theme-chalk/flow-group.css +1 -0
  63. package/lib/theme-chalk/flow-list.css +1 -0
  64. package/lib/theme-chalk/flow.css +1 -0
  65. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  66. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  67. package/lib/theme-chalk/form.css +1 -0
  68. package/lib/theme-chalk/handle-user.css +1 -0
  69. package/lib/theme-chalk/handler.css +1 -0
  70. package/lib/theme-chalk/icon.css +1 -0
  71. package/lib/theme-chalk/index.css +1 -0
  72. package/lib/theme-chalk/input-number.css +0 -0
  73. package/lib/theme-chalk/input.css +1 -0
  74. package/lib/theme-chalk/label.css +1 -0
  75. package/lib/theme-chalk/login.css +1 -0
  76. package/lib/theme-chalk/main.css +1 -0
  77. package/lib/theme-chalk/mainComp.css +0 -0
  78. package/lib/theme-chalk/menu.css +1 -0
  79. package/lib/theme-chalk/nav.css +1 -0
  80. package/lib/theme-chalk/notify.css +0 -0
  81. package/lib/theme-chalk/page.css +1 -0
  82. package/lib/theme-chalk/pagination.css +1 -0
  83. package/lib/theme-chalk/player.css +1 -0
  84. package/lib/theme-chalk/qr-code.css +1 -0
  85. package/lib/theme-chalk/radio-group.css +1 -0
  86. package/lib/theme-chalk/radio.css +1 -0
  87. package/lib/theme-chalk/select-ganged.css +1 -0
  88. package/lib/theme-chalk/select.css +0 -0
  89. package/lib/theme-chalk/selector-panel.css +1 -0
  90. package/lib/theme-chalk/selector.css +1 -0
  91. package/lib/theme-chalk/sizer.css +1 -0
  92. package/lib/theme-chalk/steps.css +1 -0
  93. package/lib/theme-chalk/switch.css +1 -0
  94. package/lib/theme-chalk/table-form.css +0 -0
  95. package/lib/theme-chalk/tabs-panel.css +0 -0
  96. package/lib/theme-chalk/tabs.css +1 -0
  97. package/lib/theme-chalk/tips.css +1 -0
  98. package/lib/theme-chalk/toolbar.css +1 -0
  99. package/lib/theme-chalk/tree-group.css +1 -0
  100. package/lib/theme-chalk/tree.css +1 -0
  101. package/lib/theme-chalk/upload.css +1 -0
  102. package/lib/theme-chalk/wujie.css +0 -0
  103. package/lib/theme-chalk/wxlogin.css +1 -0
  104. package/lib/tips.js +2830 -0
  105. package/lib/toolbar.js +531 -0
  106. package/lib/tree-group.js +3373 -0
  107. package/lib/tree.js +3482 -0
  108. package/lib/upload.js +3913 -0
  109. package/lib/utils/bus.js +9 -0
  110. package/lib/utils/date-util.js +318 -0
  111. package/lib/utils/http.js +58 -0
  112. package/lib/utils/rules.js +19 -0
  113. package/lib/utils/store.js +22 -0
  114. package/lib/utils/util.js +2056 -0
  115. package/lib/wujie.js +2845 -0
  116. package/lib/wxlogin.js +2799 -0
  117. package/package.json +151 -0
  118. package/packages/button/index.js +5 -0
  119. package/packages/button/src/main.vue +264 -0
  120. package/packages/button-group/index.js +5 -0
  121. package/packages/button-group/src/main.vue +130 -0
  122. package/packages/card/index.js +5 -0
  123. package/packages/card/src/main.vue +144 -0
  124. package/packages/cascader/index.js +5 -0
  125. package/packages/cascader/src/main.vue +144 -0
  126. package/packages/checkbox-group/index.js +5 -0
  127. package/packages/checkbox-group/src/main.vue +285 -0
  128. package/packages/clients/index.js +5 -0
  129. package/packages/clients/src/main.vue +50 -0
  130. package/packages/data-table/index.js +5 -0
  131. package/packages/data-table/src/children.vue +40 -0
  132. package/packages/data-table/src/column.vue +796 -0
  133. package/packages/data-table/src/main copy.vue +1383 -0
  134. package/packages/data-table/src/main.vue +1229 -0
  135. package/packages/data-table/src/mixins/table.js +12 -0
  136. package/packages/data-table/src/sizer.vue +160 -0
  137. package/packages/data-table-form/index.js +5 -0
  138. package/packages/data-table-form/src/colgroup.vue +17 -0
  139. package/packages/data-table-form/src/main.vue +167 -0
  140. package/packages/data-table-form/src/table.vue +192 -0
  141. package/packages/data-table-form/src/tbody.vue +219 -0
  142. package/packages/data-table-form/src/thead.vue +68 -0
  143. package/packages/date-picker/index.js +5 -0
  144. package/packages/date-picker/src/main.vue +185 -0
  145. package/packages/dialog/index.js +5 -0
  146. package/packages/dialog/src/main.vue +442 -0
  147. package/packages/enterprise/index.js +5 -0
  148. package/packages/enterprise/src/main.vue +66 -0
  149. package/packages/error-page/index.js +5 -0
  150. package/packages/error-page/src/main.vue +44 -0
  151. package/packages/flow/index.js +5 -0
  152. package/packages/flow/src/component/CommonOpinions.vue +290 -0
  153. package/packages/flow/src/component/CustomPreset.vue +311 -0
  154. package/packages/flow/src/component/FileList.vue +97 -0
  155. package/packages/flow/src/component/Preset.vue +253 -0
  156. package/packages/flow/src/component/SendMsg.vue +221 -0
  157. package/packages/flow/src/component/TimeLimit.vue +190 -0
  158. package/packages/flow/src/component/taskUnionExamine.vue +507 -0
  159. package/packages/flow/src/form.vue +120 -0
  160. package/packages/flow/src/main.vue +2107 -0
  161. package/packages/flow/src/processForm.vue +866 -0
  162. package/packages/flow/src/processReject.vue +262 -0
  163. package/packages/flow/src/selectUser.vue +425 -0
  164. package/packages/flow/src/startTaskRead.vue +556 -0
  165. package/packages/flow/src/table.vue +51 -0
  166. package/packages/flow-group/index.js +5 -0
  167. package/packages/flow-group/src/main.vue +540 -0
  168. package/packages/flow-list/index.js +5 -0
  169. package/packages/flow-list/src/flow-table.vue +445 -0
  170. package/packages/flow-list/src/main.vue +456 -0
  171. package/packages/form/index.js +5 -0
  172. package/packages/form/src/main.vue +4429 -0
  173. package/packages/form/src/table.vue +1196 -0
  174. package/packages/handle-user/index.js +5 -0
  175. package/packages/handle-user/src/main.vue +122 -0
  176. package/packages/handler/index.js +5 -0
  177. package/packages/handler/src/main.vue +306 -0
  178. package/packages/input/index.js +5 -0
  179. package/packages/input/src/main.vue +307 -0
  180. package/packages/input-number/index.js +5 -0
  181. package/packages/input-number/src/main.vue +106 -0
  182. package/packages/label/index.js +5 -0
  183. package/packages/label/src/main.vue +208 -0
  184. package/packages/login/index.js +5 -0
  185. package/packages/login/src/main.vue +1193 -0
  186. package/packages/login/src/resetPassword.vue +332 -0
  187. package/packages/main/index.js +5 -0
  188. package/packages/main/src/main.vue +1496 -0
  189. package/packages/main/src/message.vue +239 -0
  190. package/packages/main/src/notice.vue +145 -0
  191. package/packages/main/src/settings.vue +105 -0
  192. package/packages/main/src/userinfo.vue +430 -0
  193. package/packages/mainComp/index.js +5 -0
  194. package/packages/mainComp/src/async-component/index.vue +85 -0
  195. package/packages/mainComp/src/main.vue +1934 -0
  196. package/packages/mainComp/src/message.vue +239 -0
  197. package/packages/mainComp/src/notice.vue +152 -0
  198. package/packages/mainComp/src/settings.vue +105 -0
  199. package/packages/mainComp/src/userinfo.vue +423 -0
  200. package/packages/menu/index.js +5 -0
  201. package/packages/menu/src/main.vue +401 -0
  202. package/packages/nav/index.js +5 -0
  203. package/packages/nav/src/main.vue +250 -0
  204. package/packages/notify/index.js +5 -0
  205. package/packages/notify/src/main.vue +538 -0
  206. package/packages/page/index.js +5 -0
  207. package/packages/page/src/main.vue +167 -0
  208. package/packages/pagination/index.js +5 -0
  209. package/packages/pagination/src/main.vue +77 -0
  210. package/packages/player/index.js +5 -0
  211. package/packages/player/src/main.vue +194 -0
  212. package/packages/qr-code/index.js +5 -0
  213. package/packages/qr-code/src/main.vue +154 -0
  214. package/packages/radio/index.js +5 -0
  215. package/packages/radio/src/main.vue +259 -0
  216. package/packages/radio-group/index.js +6 -0
  217. package/packages/radio-group/src/main.vue +267 -0
  218. package/packages/select/index.js +5 -0
  219. package/packages/select/src/main.vue +683 -0
  220. package/packages/select-ganged/index.js +5 -0
  221. package/packages/select-ganged/src/main.vue +686 -0
  222. package/packages/selector/index.js +5 -0
  223. package/packages/selector/src/main.vue +588 -0
  224. package/packages/selector-panel/index.js +5 -0
  225. package/packages/selector-panel/src/main.vue +968 -0
  226. package/packages/selector-panel/src/selection.vue +142 -0
  227. package/packages/selector-panel/src/tree.vue +129 -0
  228. package/packages/sizer/index.js +5 -0
  229. package/packages/sizer/src/main.vue +254 -0
  230. package/packages/steps/index.js +5 -0
  231. package/packages/steps/src/main.vue +175 -0
  232. package/packages/switch/index.js +5 -0
  233. package/packages/switch/src/main.vue +154 -0
  234. package/packages/table-form/index.js +5 -0
  235. package/packages/tabs/index.js +5 -0
  236. package/packages/tabs/src/main.vue +749 -0
  237. package/packages/tabs-panel/index.js +5 -0
  238. package/packages/tabs-panel/src/main.vue +18 -0
  239. package/packages/theme-chalk/README.md +33 -0
  240. package/packages/theme-chalk/lib/base.css +1 -0
  241. package/packages/theme-chalk/lib/button-group.css +1 -0
  242. package/packages/theme-chalk/lib/button.css +0 -0
  243. package/packages/theme-chalk/lib/card.css +1 -0
  244. package/packages/theme-chalk/lib/cascader.css +0 -0
  245. package/packages/theme-chalk/lib/checkbox-group.css +1 -0
  246. package/packages/theme-chalk/lib/clients.css +1 -0
  247. package/packages/theme-chalk/lib/data-table-form.css +1 -0
  248. package/packages/theme-chalk/lib/data-table.css +1 -0
  249. package/packages/theme-chalk/lib/date-picker.css +1 -0
  250. package/packages/theme-chalk/lib/dialog.css +1 -0
  251. package/packages/theme-chalk/lib/enterprise.css +1 -0
  252. package/packages/theme-chalk/lib/error-page.css +1 -0
  253. package/packages/theme-chalk/lib/flow-chart.css +0 -0
  254. package/packages/theme-chalk/lib/flow-group.css +1 -0
  255. package/packages/theme-chalk/lib/flow-list.css +1 -0
  256. package/packages/theme-chalk/lib/flow.css +1 -0
  257. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  258. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  259. package/packages/theme-chalk/lib/form.css +1 -0
  260. package/packages/theme-chalk/lib/handle-user.css +1 -0
  261. package/packages/theme-chalk/lib/handler.css +1 -0
  262. package/packages/theme-chalk/lib/icon.css +1 -0
  263. package/packages/theme-chalk/lib/index.css +1 -0
  264. package/packages/theme-chalk/lib/input-number.css +0 -0
  265. package/packages/theme-chalk/lib/input.css +1 -0
  266. package/packages/theme-chalk/lib/label.css +1 -0
  267. package/packages/theme-chalk/lib/login.css +1 -0
  268. package/packages/theme-chalk/lib/main.css +1 -0
  269. package/packages/theme-chalk/lib/mainComp.css +0 -0
  270. package/packages/theme-chalk/lib/menu.css +1 -0
  271. package/packages/theme-chalk/lib/nav.css +1 -0
  272. package/packages/theme-chalk/lib/notify.css +0 -0
  273. package/packages/theme-chalk/lib/page.css +1 -0
  274. package/packages/theme-chalk/lib/pagination.css +1 -0
  275. package/packages/theme-chalk/lib/player.css +1 -0
  276. package/packages/theme-chalk/lib/qr-code.css +1 -0
  277. package/packages/theme-chalk/lib/radio-group.css +1 -0
  278. package/packages/theme-chalk/lib/radio.css +1 -0
  279. package/packages/theme-chalk/lib/select-ganged.css +1 -0
  280. package/packages/theme-chalk/lib/select.css +0 -0
  281. package/packages/theme-chalk/lib/selector-panel.css +1 -0
  282. package/packages/theme-chalk/lib/selector.css +1 -0
  283. package/packages/theme-chalk/lib/sizer.css +1 -0
  284. package/packages/theme-chalk/lib/steps.css +1 -0
  285. package/packages/theme-chalk/lib/switch.css +1 -0
  286. package/packages/theme-chalk/lib/table-form.css +0 -0
  287. package/packages/theme-chalk/lib/tabs-panel.css +0 -0
  288. package/packages/theme-chalk/lib/tabs.css +1 -0
  289. package/packages/theme-chalk/lib/tips.css +1 -0
  290. package/packages/theme-chalk/lib/toolbar.css +1 -0
  291. package/packages/theme-chalk/lib/tree-group.css +1 -0
  292. package/packages/theme-chalk/lib/tree.css +1 -0
  293. package/packages/theme-chalk/lib/upload.css +1 -0
  294. package/packages/theme-chalk/lib/wujie.css +0 -0
  295. package/packages/theme-chalk/lib/wxlogin.css +1 -0
  296. package/packages/theme-chalk/package.json +35 -0
  297. package/packages/theme-chalk/src/base.scss +165 -0
  298. package/packages/theme-chalk/src/button-group.scss +9 -0
  299. package/packages/theme-chalk/src/button.scss +0 -0
  300. package/packages/theme-chalk/src/card.scss +55 -0
  301. package/packages/theme-chalk/src/cascader.scss +0 -0
  302. package/packages/theme-chalk/src/checkbox-group.scss +8 -0
  303. package/packages/theme-chalk/src/clients.scss +72 -0
  304. package/packages/theme-chalk/src/common/var.scss +1516 -0
  305. package/packages/theme-chalk/src/data-table-form.scss +55 -0
  306. package/packages/theme-chalk/src/data-table.scss +202 -0
  307. package/packages/theme-chalk/src/date-picker.scss +8 -0
  308. package/packages/theme-chalk/src/dialog.scss +52 -0
  309. package/packages/theme-chalk/src/enterprise.scss +5 -0
  310. package/packages/theme-chalk/src/error-page.scss +18 -0
  311. package/packages/theme-chalk/src/flow-chart.scss +0 -0
  312. package/packages/theme-chalk/src/flow-group.scss +101 -0
  313. package/packages/theme-chalk/src/flow-list.scss +41 -0
  314. package/packages/theme-chalk/src/flow.scss +285 -0
  315. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  316. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  317. package/packages/theme-chalk/src/form.scss +451 -0
  318. package/packages/theme-chalk/src/handle-user.scss +40 -0
  319. package/packages/theme-chalk/src/handler.scss +131 -0
  320. package/packages/theme-chalk/src/icon.scss +1714 -0
  321. package/packages/theme-chalk/src/index.scss +50 -0
  322. package/packages/theme-chalk/src/input-number.scss +0 -0
  323. package/packages/theme-chalk/src/input.scss +3 -0
  324. package/packages/theme-chalk/src/label.scss +24 -0
  325. package/packages/theme-chalk/src/login.scss +490 -0
  326. package/packages/theme-chalk/src/main.scss +483 -0
  327. package/packages/theme-chalk/src/mainComp.scss +0 -0
  328. package/packages/theme-chalk/src/menu.scss +201 -0
  329. package/packages/theme-chalk/src/mixins/color.scss +117 -0
  330. package/packages/theme-chalk/src/mixins/mixins.scss +25 -0
  331. package/packages/theme-chalk/src/nav.scss +73 -0
  332. package/packages/theme-chalk/src/notify.scss +0 -0
  333. package/packages/theme-chalk/src/page.scss +3 -0
  334. package/packages/theme-chalk/src/pagination.scss +14 -0
  335. package/packages/theme-chalk/src/player.scss +9 -0
  336. package/packages/theme-chalk/src/qr-code.scss +17 -0
  337. package/packages/theme-chalk/src/radio-group.scss +9 -0
  338. package/packages/theme-chalk/src/radio.scss +3 -0
  339. package/packages/theme-chalk/src/select-ganged.scss +9 -0
  340. package/packages/theme-chalk/src/select.scss +0 -0
  341. package/packages/theme-chalk/src/selector-panel.scss +203 -0
  342. package/packages/theme-chalk/src/selector.scss +85 -0
  343. package/packages/theme-chalk/src/sizer.scss +36 -0
  344. package/packages/theme-chalk/src/steps.scss +88 -0
  345. package/packages/theme-chalk/src/switch.scss +3 -0
  346. package/packages/theme-chalk/src/table-form.scss +1 -0
  347. package/packages/theme-chalk/src/tabs-panel.scss +0 -0
  348. package/packages/theme-chalk/src/tabs.scss +91 -0
  349. package/packages/theme-chalk/src/tips.scss +7 -0
  350. package/packages/theme-chalk/src/toolbar.scss +121 -0
  351. package/packages/theme-chalk/src/tree-group.scss +64 -0
  352. package/packages/theme-chalk/src/tree.scss +140 -0
  353. package/packages/theme-chalk/src/upload.scss +131 -0
  354. package/packages/theme-chalk/src/wujie.scss +0 -0
  355. package/packages/theme-chalk/src/wxlogin.scss +3 -0
  356. package/packages/tips/index.js +5 -0
  357. package/packages/tips/src/main.vue +126 -0
  358. package/packages/toolbar/index.js +5 -0
  359. package/packages/toolbar/src/main.vue +377 -0
  360. package/packages/tree/index.js +5 -0
  361. package/packages/tree/src/main.vue +636 -0
  362. package/packages/tree-group/index.js +5 -0
  363. package/packages/tree-group/src/main.vue +435 -0
  364. package/packages/upload/index.js +5 -0
  365. package/packages/upload/src/main.vue +1033 -0
  366. package/packages/upload/src/picture.js +15 -0
  367. package/packages/wujie/index.js +5 -0
  368. package/packages/wujie/src/main.vue +137 -0
  369. package/packages/wxlogin/index.js +5 -0
  370. package/packages/wxlogin/src/main.vue +110 -0
  371. package/src/config/api.js +211 -0
  372. package/src/index.js +167 -0
  373. package/src/utils/bus.js +3 -0
  374. package/src/utils/date-util.js +312 -0
  375. package/src/utils/http.js +50 -0
  376. package/src/utils/rules.js +18 -0
  377. package/src/utils/store.js +21 -0
  378. package/src/utils/util.js +2105 -0
@@ -0,0 +1,77 @@
1
+ <template>
2
+ <el-pagination
3
+ class="es-pagination"
4
+ v-bind="$attrs"
5
+ :current-page="pageNum"
6
+ :page-size="pageSize"
7
+ :page-sizes="limits"
8
+ :layout="layout"
9
+ :total="totalCount"
10
+ :pager-count="groups"
11
+ :hide-on-single-page="hideOnSinglePage"
12
+ :unit="false"
13
+ @size-change="handleSize"
14
+ @current-change="handleCurrent"
15
+ @prev-click="handlePrev"
16
+ @next-click="handleNext"
17
+ >
18
+ </el-pagination>
19
+ </template>
20
+ <script>
21
+ export default {
22
+ name: 'EsPagination',
23
+ inheritAttrs: false,
24
+ props: {
25
+ // 当前页码
26
+ pageNum: {
27
+ type: Number,
28
+ default: 1
29
+ },
30
+ // 每页显示的条数
31
+ pageSize: {
32
+ type: Number,
33
+ default: 20
34
+ },
35
+ // 每页条数的选择项
36
+ limits: {
37
+ type: Array,
38
+ default() {
39
+ return [10, 20, 30, 40, 50, 100];
40
+ }
41
+ },
42
+ // 总页数
43
+ pageCount: Number,
44
+ // 总条目数
45
+ totalCount: Number,
46
+ // 自定义排版
47
+ layout: {
48
+ type: String,
49
+ default: 'prev, pager, next, sizes, total'
50
+ },
51
+ // 只有一页时是否隐藏
52
+ hideOnSinglePage: {
53
+ type: Boolean,
54
+ default: false
55
+ },
56
+ // 页码按钮的数量
57
+ groups: {
58
+ type: Number,
59
+ default: 7
60
+ }
61
+ },
62
+ methods: {
63
+ handleSize(res) {
64
+ this.$emit('change', res);
65
+ },
66
+ handleCurrent(res) {
67
+ this.$emit('current', res);
68
+ },
69
+ handlePrev(res) {
70
+ this.$emit('prev', res);
71
+ },
72
+ handleNext(res) {
73
+ this.$emit('next', res);
74
+ }
75
+ }
76
+ };
77
+ </script>
@@ -0,0 +1,5 @@
1
+ import EsPlayer from './src/main';
2
+
3
+ EsPlayer.install = Vue => Vue.component(EsPlayer.name, EsPlayer);
4
+
5
+ export default EsPlayer;
@@ -0,0 +1,194 @@
1
+ <template>
2
+ <div lang="zh-cn">
3
+ <video
4
+ ref="videoPlayer"
5
+ class="es-video-player video-js"
6
+ playsinline="true"
7
+ :muted="muted"
8
+ ></video>
9
+ </div>
10
+ </template>
11
+
12
+ <script>
13
+ import videojs from 'video.js';
14
+ import zhcn from 'video.js/dist/lang/zh-CN.json';
15
+ import 'video.js/dist/video-js.css';
16
+ import util from 'eoss-ui/src/utils/util';
17
+ videojs.addLanguage('zh-CN', zhcn);
18
+ export default {
19
+ name: 'EsPlayer',
20
+ props: {
21
+ source: [String, Object],
22
+ type: {
23
+ type: String,
24
+ default: 'application/x-mpegURL'
25
+ },
26
+ autoplay: Boolean,
27
+ muted: Boolean,
28
+ controls: {
29
+ type: Boolean,
30
+ default: true
31
+ },
32
+ fluid: {
33
+ type: Boolean,
34
+ default: true
35
+ },
36
+ aspectRatio: {
37
+ type: String,
38
+ default: '16:9'
39
+ },
40
+ height: {
41
+ type: String,
42
+ default: '100%'
43
+ },
44
+ width: {
45
+ type: String,
46
+ default: '100%'
47
+ },
48
+ notSupportedMessage: {
49
+ type: String,
50
+ default: '视频源数据加载错误'
51
+ },
52
+ isPause: Boolean,
53
+ isDispose: Boolean
54
+ },
55
+ computed: {
56
+ isObject() {
57
+ return util.isObject(this.source);
58
+ }
59
+ },
60
+ data() {
61
+ return {
62
+ player: null
63
+ };
64
+ },
65
+ watch: {
66
+ source(val, old) {
67
+ if (JSON.stringify(val) !== JSON.stringify(old)) {
68
+ if (this.isObject) {
69
+ this.player.src({ src: val.src, type: this.type });
70
+ if (val.poster) {
71
+ this.player.poster(val.poster);
72
+ }
73
+ } else {
74
+ this.player.src({ src: val });
75
+ }
76
+ }
77
+ this.player.play();
78
+ },
79
+ isPause(val) {
80
+ if (val) {
81
+ this.player.pause();
82
+ }
83
+ },
84
+ isDispose(val) {
85
+ if (val) {
86
+ this.player.dispose();
87
+ }
88
+ }
89
+ },
90
+ mounted() {
91
+ this.ready();
92
+ },
93
+ methods: {
94
+ ready() {
95
+ if (this.source) {
96
+ const options = {
97
+ ...this.$attrs,
98
+ language: 'zh-CN',
99
+ autoplay: this.autoplay,
100
+ controls: this.controls,
101
+ fluid: this.fluid, // 按比例缩放适应容器
102
+ aspectRatio: this.aspectRatio,
103
+ height: this.height,
104
+ width: this.width,
105
+ notSupportedMessage: this.notSupportedMessage,
106
+ sources: [
107
+ {
108
+ withCredentials: false,
109
+ type: this.type,
110
+ src: this.isObject ? this.source.src : source
111
+ }
112
+ ],
113
+ poster: this.isObject ? this.source.poster : ''
114
+ };
115
+ this.player = videojs(this.$refs.videoPlayer, options, () => {
116
+ this.$emit('ready', this.player);
117
+ });
118
+ //开始请求数据
119
+ this.player.on('loadstart', () => {
120
+ this.$emit('loadstart', this.player);
121
+ });
122
+ //正在请求数据
123
+ this.player.on('progress', () => {
124
+ this.$emit('progress', this.player);
125
+ });
126
+ //获取资源长度完成
127
+ this.player.on('loadedmetadata', () => {
128
+ this.$emit('loadedmetadata', this.player);
129
+ });
130
+ //视频源数据加载完成
131
+ this.player.on('canplaythrough', () => {
132
+ this.$emit('canplaythrough', this.player);
133
+ });
134
+ //等待数据
135
+ this.player.on('waiting', () => {
136
+ this.$emit('waiting', this.player);
137
+ });
138
+ //视频开始播放
139
+ this.player.on('play', () => {
140
+ this.$emit('play', this.player);
141
+ });
142
+ //视频播放中
143
+ this.player.on('playing', () => {
144
+ this.$emit('playing', this.player);
145
+ });
146
+ //视频暂停播放
147
+ this.player.on('pause', () => {
148
+ if (!this.isPause) {
149
+ this.$emit('pause', this.player);
150
+ }
151
+ });
152
+ //视频播放结束
153
+ this.player.on('ended', () => {
154
+ this.$emit('ended', this.player);
155
+ });
156
+ //加载错误
157
+ this.player.on('error', () => {
158
+ this.$emit('error', this.player);
159
+ });
160
+ //视频跳转中
161
+ this.player.on('seeking', () => {
162
+ this.$emit('seeking', this.player);
163
+ });
164
+ //视频跳转结束
165
+ this.player.on('seeked', () => {
166
+ this.$emit('seeked', this.player);
167
+ });
168
+ //播放速率改变
169
+ this.player.on('ratechange', () => {
170
+ this.$emit('ratechange', this.player);
171
+ });
172
+ //播放时长改变
173
+ this.player.on('timeupdate', () => {
174
+ this.$emit('timeupdate', this.player);
175
+ });
176
+ //音量改变
177
+ this.player.on('volumechange', () => {
178
+ this.$emit('volumechange', this.player);
179
+ });
180
+ //网速异常
181
+ this.player.on('stalled', () => {
182
+ this.$emit('stalled', this.player);
183
+ });
184
+ }
185
+ }
186
+ },
187
+ beforeDestroy() {
188
+ if (this.player) {
189
+ this.player.dispose();
190
+ }
191
+ }
192
+ };
193
+ </script>
194
+ <style></style>
@@ -0,0 +1,5 @@
1
+ import EsQrCode from './src/main';
2
+
3
+ EsQrCode.install = Vue => Vue.component(EsQrCode.name, EsQrCode);
4
+
5
+ export default EsQrCode;
@@ -0,0 +1,154 @@
1
+ <template>
2
+ <div class="es-qrcode-box" id="qrcode" ref="qrcode">
3
+ <img
4
+ class="es-qrcode-img"
5
+ :width="_width"
6
+ :height="_height"
7
+ ref="qrcodeImg"
8
+ alt="二维码图片"
9
+ />
10
+ <img
11
+ v-if="logo"
12
+ class="es-qrcode-logo"
13
+ ref="qrcodeLogo"
14
+ :src="logo"
15
+ alt="二维码logo"
16
+ />
17
+ <canvas
18
+ :width="_width"
19
+ :height="_height"
20
+ class="canvas"
21
+ ref="canvas"
22
+ ></canvas>
23
+ </div>
24
+ </template>
25
+
26
+ <script>
27
+ import util from 'eoss-ui/src/utils/util';
28
+ const QRCode = require('qrcode');
29
+ export default {
30
+ name: 'EsQrCode',
31
+ props: {
32
+ content: {
33
+ type: String,
34
+ required: true
35
+ },
36
+ logo: String,
37
+ text: String,
38
+ width: Number,
39
+ height: Number,
40
+ auto: Boolean,
41
+ option: {
42
+ type: Object,
43
+ default: () => {
44
+ return {
45
+ errorCorrectionLevel: 'H', //纠错等级
46
+ color: {
47
+ dark: '#000000',
48
+ light: '#ffffff'
49
+ }
50
+ };
51
+ }
52
+ }
53
+ },
54
+ computed: {
55
+ _width() {
56
+ if (this.auto) {
57
+ return this.$refs.qrcode.offsetWidth;
58
+ }
59
+ return this.width ? this.width : 300;
60
+ },
61
+ _height() {
62
+ if (this.auto) {
63
+ return this.$refs.qrcode.offsetHeight;
64
+ }
65
+ return this.height ? this.height : 300;
66
+ }
67
+ },
68
+ data() {
69
+ return {};
70
+ },
71
+ watch: {
72
+ logo: function(val) {
73
+ this.$nextTick(() => {
74
+ this.createQRCode();
75
+ });
76
+ },
77
+ content: {
78
+ immediate: true,
79
+ handler(val) {
80
+ if (val) {
81
+ this.createQRCode();
82
+ }
83
+ }
84
+ }
85
+ },
86
+ created() {},
87
+ mounted() {
88
+ this.$nextTick(() => {
89
+ this.createQRCode();
90
+ });
91
+ },
92
+ methods: {
93
+ createQRCode() {
94
+ let qrcodeImg = this.$refs.qrcodeImg;
95
+ let qrcodeLogo = this.$refs.qrcodeLogo;
96
+ let canvas = this.$refs.canvas;
97
+ let option = util.extend({}, this.option, {
98
+ width: this._width,
99
+ height: this._height
100
+ });
101
+ if (!qrcodeImg) {
102
+ return false;
103
+ }
104
+ QRCode.toDataURL(this.content, option, (err, url) => {
105
+ if (this.content && url) {
106
+ qrcodeImg.src = url;
107
+ // 画二维码里的logo// 在canvas里进行拼接
108
+ let ctx = canvas.getContext('2d');
109
+ setTimeout(() => {
110
+ //获取图片
111
+ ctx.drawImage(qrcodeImg, 0, 0, this._width, this._height);
112
+ if (this.logo && this.logo.indexOf('.') > -1) {
113
+ //设置logo大小
114
+ let logoPosition = (this._width - 46) / 2; //logo相对于canvas居中定位
115
+ //设置获取的logo将其变为圆角以及添加白色背景
116
+ /* ctx.fillStyle = "#fff";
117
+ ctx.beginPath();
118
+ let h = 46; //圆角高 10为基数(logo四周白色背景为10/2)
119
+ let w = 46; //圆角宽
120
+ let x = logoPosition - 5;
121
+ let y = logoPosition - 5;
122
+ let r = 5; //圆角半径
123
+ ctx.moveTo(x + r, y);
124
+ ctx.arcTo(x + w, y, x + w, y + h, r);
125
+ ctx.arcTo(x + w, y + h, x, y + h, r);
126
+ ctx.arcTo(x, y + h, x, y, r);
127
+ ctx.arcTo(x, y, x + w, y, r);
128
+ ctx.closePath();
129
+ ctx.fill(); */
130
+ ctx.drawImage(qrcodeLogo, logoPosition, logoPosition, 46, 46);
131
+ } else if (this.text) {
132
+ //设置字体
133
+ let fpadd = 10; //规定内间距
134
+ ctx.font = 'bold 16px Arial';
135
+ let tw = ctx.measureText(this.text).width; //文字真实宽度
136
+ let ftop = (this._height - 16) / 2; //根据字体大小计算文字top
137
+ let fleft = (this._width - tw) / 2; //根据字体大小计算文字left
138
+ let tp = 16 / 2; //字体边距为字体大小的一半可以自己设置
139
+ ctx.fillStyle = '#fff';
140
+ ctx.fillRect(fleft - tp / 2, ftop - tp / 2, tw + tp, 16 + tp);
141
+ ctx.textBaseline = 'top'; //设置绘制文本时的文本基线。
142
+ ctx.fillStyle = '#f40';
143
+ ctx.fillText(this.text, fleft, ftop);
144
+ }
145
+ canvas.style.display = 'none';
146
+ qrcodeImg.src = canvas.toDataURL();
147
+ qrcodeImg.style.display = 'inline-block';
148
+ }, 500);
149
+ }
150
+ });
151
+ }
152
+ }
153
+ };
154
+ </script>
@@ -0,0 +1,5 @@
1
+ import EsRadio from './src/main';
2
+
3
+ EsRadio.install = Vue => Vue.component(EsRadio.name, EsRadio);
4
+
5
+ export default EsRadio;
@@ -0,0 +1,259 @@
1
+ <template>
2
+ <div v-show="display" v-if="!hide" class="es-radio">
3
+ <el-radio
4
+ v-if="!optionList.length && label"
5
+ v-model="selectValue"
6
+ :label="label"
7
+ v-bind="$attrs"
8
+ v-on="$listeners"
9
+ >
10
+ <slot></slot>
11
+ </el-radio>
12
+ <el-radio-group
13
+ v-else
14
+ v-model="selectValue"
15
+ v-bind="$attrs"
16
+ :rules="rules"
17
+ v-on="$listeners"
18
+ >
19
+ <template v-if="genre === 'button'">
20
+ <el-radio-button
21
+ v-for="(item, index) in optionList"
22
+ :key="item.value || index"
23
+ :label="item"
24
+ :disabled="item.disabled"
25
+ >
26
+ {{ item.label }}
27
+ </el-radio-button>
28
+ </template>
29
+ <template v-else>
30
+ <el-radio
31
+ v-for="(item, index) in optionList"
32
+ :key="item.value || index"
33
+ :label="item"
34
+ :disabled="item.disabled"
35
+ :border="genre === 'border'"
36
+ >
37
+ {{ item.label }}
38
+ </el-radio>
39
+ </template>
40
+ </el-radio-group>
41
+ </div>
42
+ </template>
43
+
44
+ <script>
45
+ import util from 'eoss-ui/src/utils/util';
46
+ export default {
47
+ name: 'EsRadio',
48
+ props: {
49
+ label: {
50
+ type: String,
51
+ default: ''
52
+ },
53
+ name: {
54
+ type: String,
55
+ default: ''
56
+ },
57
+ value: {
58
+ type: [String, Number, Object],
59
+ default: ''
60
+ },
61
+ valueKey: {
62
+ type: String,
63
+ default: ''
64
+ },
65
+ valueType: {
66
+ type: String,
67
+ default: 'string'
68
+ },
69
+ // 指定选择项显示值的键名,data元素是对象类型时必填
70
+ optionKey: {
71
+ type: String,
72
+ default: ''
73
+ },
74
+ // 样式风格 button(按钮样式), border(带有边框)
75
+ genre: {
76
+ type: String,
77
+ default: ''
78
+ },
79
+ display: {
80
+ type: Boolean,
81
+ default: true
82
+ },
83
+ hide: {
84
+ type: Boolean,
85
+ default: false
86
+ },
87
+ // 选择项远程地址
88
+ url: {
89
+ type: String,
90
+ default: ''
91
+ },
92
+ // 选择项获取代码表数据(优先级大于url)
93
+ sysCode: {
94
+ type: String,
95
+ default: ''
96
+ },
97
+ // 选择项获取代码表数据(优先级大于url)
98
+ rules: {
99
+ type: Object,
100
+ default() {
101
+ return {};
102
+ }
103
+ },
104
+ // 选择项本地数据
105
+ data: {
106
+ type: Array,
107
+ default() {
108
+ return [];
109
+ }
110
+ },
111
+ // 选择项本地数据
112
+ optionData: {
113
+ type: Array,
114
+ default() {
115
+ return [];
116
+ }
117
+ },
118
+ method: {
119
+ type: String,
120
+ default: 'get'
121
+ },
122
+ params: {
123
+ type: Object,
124
+ default() {
125
+ return {};
126
+ }
127
+ }
128
+ },
129
+ data() {
130
+ return {
131
+ list: '',
132
+ radioValue: ''
133
+ };
134
+ },
135
+ computed: {
136
+ selectValue: {
137
+ get() {
138
+ return this.value;
139
+ },
140
+ set(val) {
141
+ return val;
142
+ }
143
+ },
144
+ optionList: {
145
+ get() {
146
+ let arr = [];
147
+ if (this.list.length) {
148
+ arr = this.list;
149
+ } else if (this.optionData.length) {
150
+ arr = this.optionData;
151
+ } else if (this.data.length) {
152
+ arr = this.data;
153
+ }
154
+ arr.forEach(item => {
155
+ if (this.optionLabelKey) {
156
+ item.label = item[this.optionLabelKey];
157
+ } else if (this.optionKey) {
158
+ item.label = item[this.optionKey];
159
+ } else {
160
+ item.label = item.label || item.name || item.shortName || item.text;
161
+ }
162
+ if (this.optionValueKey) {
163
+ item.value = item[this.optionValueKey];
164
+ } else {
165
+ item.value = item.value || item.id || item.label;
166
+ }
167
+ });
168
+ return arr;
169
+ },
170
+ set(val) {
171
+ return val;
172
+ }
173
+ },
174
+ border() {
175
+ if (this.genre === 'border') {
176
+ return true;
177
+ }
178
+ return false;
179
+ },
180
+ reqUrl: {
181
+ get() {
182
+ return this.sysCode || this.url;
183
+ },
184
+ set(val) {
185
+ return val;
186
+ }
187
+ }
188
+ },
189
+ watch: {
190
+ // value(newVal) {
191
+ // this.getRadioValue(newVal);
192
+ // },
193
+ reqUrl(val) {
194
+ if (val) {
195
+ this.getOptinData();
196
+ }
197
+ }
198
+ },
199
+ mounted() {
200
+ // this.getRadioValue(this.value);
201
+ this.getOptinData();
202
+ },
203
+ methods: {
204
+ getRadioValue(newVal) {
205
+ if (
206
+ this.valueType === 'object' &&
207
+ this.value &&
208
+ util.getObjectType(this.value) === 'object'
209
+ ) {
210
+ this.radioValue = this.value[this.valueKey];
211
+ return;
212
+ }
213
+ this.radioValue = newVal;
214
+ },
215
+ getOptinData() {
216
+ if (!this.reqUrl) {
217
+ return [];
218
+ }
219
+ this.tableLoading = true;
220
+ const reqData = { ...this.params, ...this.where };
221
+ util
222
+ .ajax({
223
+ url: this.reqUrl,
224
+ method: this.method,
225
+ params: reqData,
226
+ data: reqData
227
+ })
228
+ .then(res => {
229
+ this.tableLoading = false;
230
+ if (res.rCode === 0) {
231
+ if (res.results && util.getObjectType(res.results) === 'array') {
232
+ this.list = res.results;
233
+ } else if (
234
+ res.results &&
235
+ util.getObjectType(res.results) === 'object'
236
+ ) {
237
+ this.list = res.list || res.records || res.data;
238
+ }
239
+ }
240
+ })
241
+ .catch(err => {
242
+ this.tableLoading = false;
243
+ if (err.message && err.message !== 'canceled') {
244
+ this.$message.error(err.message);
245
+ }
246
+ });
247
+ },
248
+ handleRadioChange(value) {
249
+ let radioValue = value;
250
+ if (this.valueType === 'object') {
251
+ radioValue = this.optionList.filter(item => {
252
+ return item.label === value;
253
+ })[0];
254
+ }
255
+ this.$emit('change', radioValue);
256
+ }
257
+ }
258
+ };
259
+ </script>
@@ -0,0 +1,6 @@
1
+ import EsRadio from './src/main';
2
+
3
+ /* istanbul ignore next */
4
+ EsRadio.install = function(Vue) {Vue.component(EsRadio.name, EsRadio);};
5
+
6
+ export default EsRadio;