kz-ui-base 1.0.2 → 1.0.4

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 (283) hide show
  1. package/package.json +1 -1
  2. package/common/package-lock.json +0 -18
  3. package/common/package.json +0 -51
  4. package/common/src/api/common/cacher.js +0 -15
  5. package/common/src/api/common/common.js +0 -299
  6. package/common/src/api/common/material.js +0 -71
  7. package/common/src/api/login.js +0 -103
  8. package/common/src/api/menu.js +0 -18
  9. package/common/src/assets/401_images/401.gif +0 -0
  10. package/common/src/assets/404_images/404.png +0 -0
  11. package/common/src/assets/404_images/404_cloud.png +0 -0
  12. package/common/src/assets/icons/file-config.png +0 -0
  13. package/common/src/assets/icons/file-doc.png +0 -0
  14. package/common/src/assets/icons/file-exe.png +0 -0
  15. package/common/src/assets/icons/file-ini.png +0 -0
  16. package/common/src/assets/icons/file-jpg.png +0 -0
  17. package/common/src/assets/icons/file-mpg.png +0 -0
  18. package/common/src/assets/icons/file-none.png +0 -0
  19. package/common/src/assets/icons/file-pdf.png +0 -0
  20. package/common/src/assets/icons/file-png.png +0 -0
  21. package/common/src/assets/icons/file-ppt.png +0 -0
  22. package/common/src/assets/icons/file-rar.png +0 -0
  23. package/common/src/assets/icons/file-txt.png +0 -0
  24. package/common/src/assets/icons/file-wav.png +0 -0
  25. package/common/src/assets/icons/file-xls.png +0 -0
  26. package/common/src/assets/icons/index.js +0 -9
  27. package/common/src/assets/icons/svg/404.svg +0 -1
  28. package/common/src/assets/icons/svg/bug.svg +0 -1
  29. package/common/src/assets/icons/svg/build.svg +0 -1
  30. package/common/src/assets/icons/svg/button.svg +0 -1
  31. package/common/src/assets/icons/svg/cascader.svg +0 -1
  32. package/common/src/assets/icons/svg/chart.svg +0 -1
  33. package/common/src/assets/icons/svg/checkbox.svg +0 -1
  34. package/common/src/assets/icons/svg/client.svg +0 -1
  35. package/common/src/assets/icons/svg/clipboard.svg +0 -1
  36. package/common/src/assets/icons/svg/code.svg +0 -1
  37. package/common/src/assets/icons/svg/color.svg +0 -1
  38. package/common/src/assets/icons/svg/component.svg +0 -1
  39. package/common/src/assets/icons/svg/dashboard.svg +0 -1
  40. package/common/src/assets/icons/svg/date-range.svg +0 -1
  41. package/common/src/assets/icons/svg/date.svg +0 -1
  42. package/common/src/assets/icons/svg/dict.svg +0 -1
  43. package/common/src/assets/icons/svg/documentation.svg +0 -1
  44. package/common/src/assets/icons/svg/download.svg +0 -1
  45. package/common/src/assets/icons/svg/drag.svg +0 -1
  46. package/common/src/assets/icons/svg/druid.svg +0 -1
  47. package/common/src/assets/icons/svg/edit.svg +0 -1
  48. package/common/src/assets/icons/svg/education.svg +0 -1
  49. package/common/src/assets/icons/svg/email.svg +0 -1
  50. package/common/src/assets/icons/svg/example.svg +0 -1
  51. package/common/src/assets/icons/svg/excel.svg +0 -1
  52. package/common/src/assets/icons/svg/exit-fullscreen.svg +0 -1
  53. package/common/src/assets/icons/svg/eye-open.svg +0 -1
  54. package/common/src/assets/icons/svg/eye.svg +0 -1
  55. package/common/src/assets/icons/svg/form.svg +0 -1
  56. package/common/src/assets/icons/svg/fullscreen.svg +0 -1
  57. package/common/src/assets/icons/svg/github.svg +0 -1
  58. package/common/src/assets/icons/svg/guide.svg +0 -1
  59. package/common/src/assets/icons/svg/icon.svg +0 -1
  60. package/common/src/assets/icons/svg/input.svg +0 -1
  61. package/common/src/assets/icons/svg/international.svg +0 -1
  62. package/common/src/assets/icons/svg/job.svg +0 -1
  63. package/common/src/assets/icons/svg/kz_authority.svg +0 -1
  64. package/common/src/assets/icons/svg/kz_build.svg +0 -1
  65. package/common/src/assets/icons/svg/kz_code.svg +0 -1
  66. package/common/src/assets/icons/svg/kz_config.svg +0 -1
  67. package/common/src/assets/icons/svg/kz_creatTime.svg +0 -1
  68. package/common/src/assets/icons/svg/kz_dept.svg +0 -1
  69. package/common/src/assets/icons/svg/kz_dept_profile.svg +0 -1
  70. package/common/src/assets/icons/svg/kz_dict.svg +0 -1
  71. package/common/src/assets/icons/svg/kz_edit.svg +0 -1
  72. package/common/src/assets/icons/svg/kz_enlarge.svg +0 -1
  73. package/common/src/assets/icons/svg/kz_enterprise.svg +0 -1
  74. package/common/src/assets/icons/svg/kz_fold.svg +0 -2
  75. package/common/src/assets/icons/svg/kz_job.svg +0 -1
  76. package/common/src/assets/icons/svg/kz_layout.svg +0 -1
  77. package/common/src/assets/icons/svg/kz_log.svg +0 -1
  78. package/common/src/assets/icons/svg/kz_log_loginInfo.svg +0 -1
  79. package/common/src/assets/icons/svg/kz_log_operation.svg +0 -1
  80. package/common/src/assets/icons/svg/kz_master-slave.svg +0 -2
  81. package/common/src/assets/icons/svg/kz_menu.svg +0 -1
  82. package/common/src/assets/icons/svg/kz_menu_analyse.svg +0 -22
  83. package/common/src/assets/icons/svg/kz_message.svg +0 -1
  84. package/common/src/assets/icons/svg/kz_monitor.svg +0 -1
  85. package/common/src/assets/icons/svg/kz_nacos.svg +0 -1
  86. package/common/src/assets/icons/svg/kz_narrow.svg +0 -1
  87. package/common/src/assets/icons/svg/kz_notice.svg +0 -2
  88. package/common/src/assets/icons/svg/kz_online.svg +0 -1
  89. package/common/src/assets/icons/svg/kz_open.svg +0 -2
  90. package/common/src/assets/icons/svg/kz_organization.svg +0 -1
  91. package/common/src/assets/icons/svg/kz_post.svg +0 -1
  92. package/common/src/assets/icons/svg/kz_post_profile.svg +0 -1
  93. package/common/src/assets/icons/svg/kz_productCenter.svg +0 -1
  94. package/common/src/assets/icons/svg/kz_rabbit.svg +0 -1
  95. package/common/src/assets/icons/svg/kz_refresh.svg +0 -2
  96. package/common/src/assets/icons/svg/kz_renovation.svg +0 -1
  97. package/common/src/assets/icons/svg/kz_role.svg +0 -1
  98. package/common/src/assets/icons/svg/kz_roleGroup.svg +0 -1
  99. package/common/src/assets/icons/svg/kz_search.svg +0 -1
  100. package/common/src/assets/icons/svg/kz_sentinel.svg +0 -1
  101. package/common/src/assets/icons/svg/kz_server.svg +0 -1
  102. package/common/src/assets/icons/svg/kz_setting.svg +0 -1
  103. package/common/src/assets/icons/svg/kz_sex.svg +0 -1
  104. package/common/src/assets/icons/svg/kz_source.svg +0 -2
  105. package/common/src/assets/icons/svg/kz_strategy.svg +0 -2
  106. package/common/src/assets/icons/svg/kz_swagger.svg +0 -1
  107. package/common/src/assets/icons/svg/kz_system.svg +0 -1
  108. package/common/src/assets/icons/svg/kz_tenant.svg +0 -1
  109. package/common/src/assets/icons/svg/kz_tool.svg +0 -1
  110. package/common/src/assets/icons/svg/kz_user.svg +0 -1
  111. package/common/src/assets/icons/svg/language.svg +0 -1
  112. package/common/src/assets/icons/svg/link.svg +0 -1
  113. package/common/src/assets/icons/svg/list.svg +0 -1
  114. package/common/src/assets/icons/svg/lock.svg +0 -1
  115. package/common/src/assets/icons/svg/log.svg +0 -1
  116. package/common/src/assets/icons/svg/logininfor.svg +0 -1
  117. package/common/src/assets/icons/svg/mes-ad.svg +0 -21
  118. package/common/src/assets/icons/svg/mes-ic.svg +0 -16
  119. package/common/src/assets/icons/svg/mes-mfg-order.svg +0 -22
  120. package/common/src/assets/icons/svg/mes-tm.svg +0 -15
  121. package/common/src/assets/icons/svg/message.svg +0 -1
  122. package/common/src/assets/icons/svg/money.svg +0 -1
  123. package/common/src/assets/icons/svg/monitor.svg +0 -2
  124. package/common/src/assets/icons/svg/nacos.svg +0 -1
  125. package/common/src/assets/icons/svg/nested.svg +0 -1
  126. package/common/src/assets/icons/svg/number.svg +0 -1
  127. package/common/src/assets/icons/svg/online.svg +0 -1
  128. package/common/src/assets/icons/svg/password.svg +0 -1
  129. package/common/src/assets/icons/svg/pdf.svg +0 -1
  130. package/common/src/assets/icons/svg/people.svg +0 -1
  131. package/common/src/assets/icons/svg/peoples.svg +0 -1
  132. package/common/src/assets/icons/svg/phone.svg +0 -1
  133. package/common/src/assets/icons/svg/post.svg +0 -1
  134. package/common/src/assets/icons/svg/qq.svg +0 -1
  135. package/common/src/assets/icons/svg/question.svg +0 -1
  136. package/common/src/assets/icons/svg/radio.svg +0 -1
  137. package/common/src/assets/icons/svg/rate.svg +0 -1
  138. package/common/src/assets/icons/svg/row.svg +0 -1
  139. package/common/src/assets/icons/svg/search.svg +0 -1
  140. package/common/src/assets/icons/svg/select.svg +0 -1
  141. package/common/src/assets/icons/svg/sentinel.svg +0 -1
  142. package/common/src/assets/icons/svg/server.svg +0 -1
  143. package/common/src/assets/icons/svg/shop-call.svg +0 -14
  144. package/common/src/assets/icons/svg/shopping.svg +0 -1
  145. package/common/src/assets/icons/svg/size.svg +0 -1
  146. package/common/src/assets/icons/svg/skill.svg +0 -1
  147. package/common/src/assets/icons/svg/slider.svg +0 -1
  148. package/common/src/assets/icons/svg/star.svg +0 -1
  149. package/common/src/assets/icons/svg/stock-query.svg +0 -14
  150. package/common/src/assets/icons/svg/stock-report.svg +0 -14
  151. package/common/src/assets/icons/svg/stock-take.svg +0 -14
  152. package/common/src/assets/icons/svg/swagger.svg +0 -1
  153. package/common/src/assets/icons/svg/switch.svg +0 -1
  154. package/common/src/assets/icons/svg/system.svg +0 -2
  155. package/common/src/assets/icons/svg/tab.svg +0 -1
  156. package/common/src/assets/icons/svg/table.svg +0 -1
  157. package/common/src/assets/icons/svg/textarea.svg +0 -1
  158. package/common/src/assets/icons/svg/theme.svg +0 -1
  159. package/common/src/assets/icons/svg/time-range.svg +0 -1
  160. package/common/src/assets/icons/svg/time.svg +0 -1
  161. package/common/src/assets/icons/svg/tool.svg +0 -1
  162. package/common/src/assets/icons/svg/tree-table.svg +0 -1
  163. package/common/src/assets/icons/svg/tree.svg +0 -1
  164. package/common/src/assets/icons/svg/upload.svg +0 -1
  165. package/common/src/assets/icons/svg/user.svg +0 -1
  166. package/common/src/assets/icons/svg/validCode.svg +0 -1
  167. package/common/src/assets/icons/svg/wechat.svg +0 -1
  168. package/common/src/assets/icons/svg/xy-cancel.svg +0 -1
  169. package/common/src/assets/icons/svg/xy-choice.svg +0 -1
  170. package/common/src/assets/icons/svg/xy-choice2.svg +0 -31
  171. package/common/src/assets/icons/svg/zip.svg +0 -1
  172. package/common/src/assets/icons/svgo.yml +0 -22
  173. package/common/src/assets/images/dark.svg +0 -39
  174. package/common/src/assets/images/light.svg +0 -39
  175. package/common/src/assets/images/login-background.jpg +0 -0
  176. package/common/src/assets/images/logo.jpg +0 -0
  177. package/common/src/assets/images/profile.jpg +0 -0
  178. package/common/src/assets/images/xy-folder.png +0 -0
  179. package/common/src/assets/images/xy_email.png +0 -0
  180. package/common/src/assets/images/xy_message.png +0 -0
  181. package/common/src/assets/images/xy_notice.png +0 -0
  182. package/common/src/assets/logo/logo.png +0 -0
  183. package/common/src/assets/styles/btn.scss +0 -99
  184. package/common/src/assets/styles/element-ui.scss +0 -84
  185. package/common/src/assets/styles/element-variables.scss +0 -31
  186. package/common/src/assets/styles/index.scss +0 -207
  187. package/common/src/assets/styles/kezhi.scss +0 -100
  188. package/common/src/assets/styles/mixin.scss +0 -66
  189. package/common/src/assets/styles/ruoyi.scss +0 -350
  190. package/common/src/assets/styles/sidebar.scss +0 -185
  191. package/common/src/assets/styles/transition.scss +0 -48
  192. package/common/src/assets/styles/variables.scss +0 -52
  193. package/common/src/components/base/dialog/BaseDialog.vue +0 -140
  194. package/common/src/components/base/dialog/Dialog.js +0 -118
  195. package/common/src/components/base/dialog/dialogSetting.js +0 -65
  196. package/common/src/components/base/dialog/dialogType.js +0 -80
  197. package/common/src/components/base/dialog/index.js +0 -42
  198. package/common/src/components/base/dialog/printDialog.vue +0 -324
  199. package/common/src/components/base/dialog/tableDialog.vue +0 -187
  200. package/common/src/components/base/dialog/uploadDialog.vue +0 -149
  201. package/common/src/components/base/menuTab.js +0 -130
  202. package/common/src/components/basics/Breadcrumb/index.vue +0 -77
  203. package/common/src/components/basics/Crontab/day.vue +0 -179
  204. package/common/src/components/basics/Crontab/hour.vue +0 -122
  205. package/common/src/components/basics/Crontab/index.vue +0 -425
  206. package/common/src/components/basics/Crontab/min.vue +0 -120
  207. package/common/src/components/basics/Crontab/mouth.vue +0 -128
  208. package/common/src/components/basics/Crontab/result.vue +0 -566
  209. package/common/src/components/basics/Crontab/second.vue +0 -133
  210. package/common/src/components/basics/Crontab/week.vue +0 -167
  211. package/common/src/components/basics/Crontab/year.vue +0 -144
  212. package/common/src/components/basics/DictData/index.js +0 -24
  213. package/common/src/components/basics/DictTag/index.vue +0 -52
  214. package/common/src/components/basics/Editor/index.vue +0 -286
  215. package/common/src/components/basics/FileUpload/index.vue +0 -197
  216. package/common/src/components/basics/Hamburger/index.vue +0 -35
  217. package/common/src/components/basics/HeaderSearch/index.vue +0 -206
  218. package/common/src/components/basics/IconSelect/index.vue +0 -84
  219. package/common/src/components/basics/IconSelect/requireIcons.js +0 -10
  220. package/common/src/components/basics/Iframe/index.vue +0 -36
  221. package/common/src/components/basics/ImageUpload/index.vue +0 -204
  222. package/common/src/components/basics/Pagination/index.vue +0 -107
  223. package/common/src/components/basics/PanThumb/index.vue +0 -142
  224. package/common/src/components/basics/ParentView/index.vue +0 -3
  225. package/common/src/components/basics/RightPanel/index.vue +0 -149
  226. package/common/src/components/basics/RightToolbar/index.vue +0 -111
  227. package/common/src/components/basics/Screenfull/index.vue +0 -60
  228. package/common/src/components/basics/SizeSelect/index.vue +0 -60
  229. package/common/src/components/basics/SvgIcon/index.vue +0 -61
  230. package/common/src/components/basics/ThemePicker/index.vue +0 -183
  231. package/common/src/components/basics/TopNav/index.vue +0 -476
  232. package/common/src/components/custom/Editor/index.vue +0 -267
  233. package/common/src/components/custom/FileBox/index.vue +0 -293
  234. package/common/src/components/custom/FileBox/indexTs.vue +0 -280
  235. package/common/src/components/custom/ImageBox/index.vue +0 -208
  236. package/common/src/components/custom/Material/fileNameHelper.js +0 -38
  237. package/common/src/components/custom/Material/index.vue +0 -893
  238. package/common/src/components/custom/Material/indexTs.vue +0 -890
  239. package/common/src/components/custom/Notice/index.vue +0 -244
  240. package/common/src/plugins/auth.js +0 -60
  241. package/common/src/plugins/cache.js +0 -77
  242. package/common/src/plugins/download.js +0 -31
  243. package/common/src/plugins/index.js +0 -82
  244. package/common/src/plugins/modal.js +0 -75
  245. package/common/src/plugins/tab.js +0 -66
  246. package/common/src/utils/auth.js +0 -29
  247. package/common/src/utils/cache/bdCache.js +0 -202
  248. package/common/src/utils/cache/fdCache.js +0 -407
  249. package/common/src/utils/common.js +0 -141
  250. package/common/src/utils/dateHelper.js +0 -122
  251. package/common/src/utils/dialog.js +0 -35
  252. package/common/src/utils/dict/Dict.js +0 -82
  253. package/common/src/utils/dict/DictConverter.js +0 -17
  254. package/common/src/utils/dict/DictData.js +0 -13
  255. package/common/src/utils/dict/DictMeta.js +0 -38
  256. package/common/src/utils/dict/DictOptions.js +0 -51
  257. package/common/src/utils/dict/index.js +0 -33
  258. package/common/src/utils/element.js +0 -49
  259. package/common/src/utils/errorCode.js +0 -6
  260. package/common/src/utils/eventHub.js +0 -3
  261. package/common/src/utils/file.js +0 -38
  262. package/common/src/utils/index.js +0 -390
  263. package/common/src/utils/jsencrypt.js +0 -30
  264. package/common/src/utils/kezhi.js +0 -311
  265. package/common/src/utils/kezhiToolLibrary.js +0 -51
  266. package/common/src/utils/permission.js +0 -51
  267. package/common/src/utils/printService.js +0 -749
  268. package/common/src/utils/request.js +0 -209
  269. package/common/src/utils/ruoyi.js +0 -317
  270. package/common/src/utils/scroll-to.js +0 -58
  271. package/common/src/utils/supers.js +0 -25
  272. package/common/src/utils/utils.js +0 -614
  273. package/common/src/utils/validate.js +0 -105
  274. package/common/src/utils/websoketservice.js +0 -161
  275. package/common/src/utils/zipdownload.js +0 -42
  276. package/common/src/views/authorize.vue +0 -270
  277. package/common/src/views/error/401.vue +0 -88
  278. package/common/src/views/error/404.vue +0 -248
  279. package/common/src/views/login.vue +0 -350
  280. package/common/src/views/register.vue +0 -208
  281. package/common/src/views/sample/dialog/sampleEditDialog.vue +0 -279
  282. package/common/src/views/tenantLogin.vue +0 -331
  283. package/common/vue.config.js +0 -130
@@ -1,893 +0,0 @@
1
- <template>
2
- <div class="">
3
- <el-dialog
4
- class="dialogTop"
5
- :visible.sync="visible"
6
- width="80%"
7
- :close-on-click-modal="false"
8
- :modal="true"
9
- append-to-body
10
- :before-close="handleClose"
11
- >
12
- <template slot="title">
13
- <div class="title-text">
14
- <span class="title-main">添加文件</span
15
- ><span class="title-supplement"
16
- >(只能添加"jpg", "jpeg", "bmp", "png", "gif", "pdf", "doc", "docx",
17
- "md", "xmind", "mp4", "xlsx"
18
- ,"bmp","tif","avi","wmv","xls"大小不超过5M。)</span
19
- >
20
- </div>
21
- </template>
22
- <div class="tabs-card">
23
- <el-tabs
24
- v-model="activeName"
25
- type="card"
26
- tabPosition="left"
27
- class="material"
28
- style="height: 500px"
29
- >
30
- <el-tab-pane label="我的文件" name="first">
31
- <el-container>
32
- <el-header class="container-header">
33
- <el-row :gutter="20" type="flex" justify="space-between">
34
- <el-col :xs="9" :sm="9" :md="9" :lg="9" :xl="9">
35
- <el-row type="flex" justify="space-between">
36
- <el-col>
37
- <el-upload
38
- ref="upload"
39
- :limit="5"
40
- accept=".*"
41
- :action="upload.url"
42
- :headers="upload.headers"
43
- :file-list="upload.fileList"
44
- :data="{ folderId: form.folderId }"
45
- :before-upload="beforeUpload"
46
- :on-progress="handleFileUploadProgress"
47
- :on-success="handleFileSuccess"
48
- :on-error="handleFileError"
49
- :show-file-list="false"
50
- >
51
- <el-button
52
- slot="trigger"
53
- size="medium"
54
- icon="el-icon-upload2"
55
- :loading="upload.isUploading"
56
- >
57
- 直接上传
58
- </el-button>
59
- </el-upload>
60
- </el-col>
61
- <el-col>
62
- <el-button
63
- class="hidden-xs-only"
64
- size="medium"
65
- icon="el-icon-folder-add"
66
- @click="handleAddFolder"
67
- :loading="upload.isUploading"
68
- >新增文件夹
69
- </el-button>
70
- </el-col>
71
- </el-row>
72
- </el-col>
73
- <el-col :xs="4" :sm="4" :md="4" :lg="4" :xl="4" :pull="2">
74
- <el-input
75
- placeholder="搜索所有文件"
76
- v-model="form.folderName"
77
- class="header-search"
78
- @change="searchChange"
79
- >
80
- <i
81
- :class="
82
- search.searchVisible
83
- ? 'el-icon-search el-input__icon'
84
- : 'el-icon-error el-input__icon'
85
- "
86
- slot="suffix"
87
- @click="searchIconClick"
88
- />
89
- </el-input>
90
- </el-col>
91
- </el-row>
92
- </el-header>
93
- <el-main class="container-main">
94
- <el-breadcrumb
95
- separator-class="el-icon-arrow-right"
96
- class="div-breadcrumb"
97
- >
98
- <el-breadcrumb-item
99
- v-for="(item, index) in breadcrumbList"
100
- v-if="breadcrumbList.length > 1"
101
- >
102
- <span
103
- :style="
104
- index < breadcrumbList.length - 1 ? item.cssStyle : null
105
- "
106
- :class="
107
- index < breadcrumbList.length - 1
108
- ? 'breadcrumb-item'
109
- : null
110
- "
111
- @mouseenter="item.cssStyle = 'cursor: pointer;'"
112
- @mouseleave="item.cssStyle = ''"
113
- @click="breadcrumbJump(item, index)"
114
- >{{ item.folderName }}</span
115
- ></el-breadcrumb-item
116
- >
117
- </el-breadcrumb>
118
- <el-scrollbar
119
- style="height: 425px"
120
- :native="false"
121
- wrapStyle=""
122
- wrapClass=""
123
- viewClass=""
124
- viewStyle=""
125
- :noresize="false"
126
- tag="section"
127
- >
128
- <el-row>
129
- <el-col
130
- v-for="(item, index) in materialFolder.children"
131
- style="width: 100px"
132
- >
133
- <div class="material-div">
134
- <div
135
- class="image-div"
136
- @mouseenter="item.hiddenVisible = true"
137
- @mouseleave="item.hiddenVisible = false"
138
- >
139
- <el-image
140
- :class="
141
- item.hiddenVisible === true
142
- ? 'folder-style image-hand'
143
- : 'folder-style'
144
- "
145
- :src="upload.folderImg"
146
- fit="contain"
147
- @click="breadcrumbJump(item, index)"
148
- >
149
- </el-image>
150
- <svg-icon
151
- slot="prefix"
152
- icon-class="xy-cancel"
153
- :class="
154
- item.hiddenVisible
155
- ? 'folder-cancel image-hand'
156
- : 'folder-cancel'
157
- "
158
- v-if="item.hiddenVisible"
159
- @click="imageDelete(0, item, index)"
160
- v-hasPermi="['system:material:remove']"
161
- />
162
- </div>
163
- <div class="image-box">
164
- <el-input
165
- class="image-input"
166
- v-model="item.folderName"
167
- @change="updateMaterialNick(0, item, index)"
168
- ref="ImageNickInput"
169
- size="mini"
170
- >
171
- </el-input>
172
- </div>
173
- </div>
174
- </el-col>
175
- <el-col
176
- v-for="(item, index) in materialFolder.materialList"
177
- style="width: 100px"
178
- >
179
- <div class="material-div">
180
- <div
181
- class="image-div"
182
- @mouseenter="item.hiddenVisible = true"
183
- @mouseleave="item.hiddenVisible = false"
184
- >
185
- <div @click="imageChoiceClick(item, index)">
186
- <el-image
187
- :class="
188
- item.imageChoice === true
189
- ? 'image-style image-border image-hand'
190
- : item.hiddenVisible === true
191
- ? 'image-style image-border image-hand'
192
- : 'image-style'
193
- "
194
- :src="getImageIcon(item.materialUrl)"
195
- fit="contain"
196
- >
197
- </el-image>
198
- <svg-icon
199
- slot="prefix"
200
- icon-class="xy-choice2"
201
- class="image-choice"
202
- v-if="item.imageChoice"
203
- />
204
- </div>
205
- <svg-icon
206
- slot="prefix"
207
- icon-class="xy-cancel"
208
- :class="
209
- item.hiddenVisible
210
- ? 'image-cancel image-hand'
211
- : 'image-cancel'
212
- "
213
- v-if="item.hiddenVisible"
214
- @click="imageDelete(1, item, index)"
215
- v-hasPermi="['system:material:remove']"
216
- />
217
- </div>
218
- <div class="image-box">
219
- <el-input
220
- class="image-input"
221
- :title="item.materialNick"
222
- v-model="item.materialNick"
223
- @change="updateMaterialNick(1, item, index)"
224
- ref="ImageNickInput"
225
- size="mini"
226
- >
227
- </el-input>
228
- </div>
229
- </div>
230
- </el-col>
231
- </el-row>
232
- </el-scrollbar>
233
- </el-main>
234
- </el-container>
235
- </el-tab-pane>
236
- <el-tab-pane label="图库中心" name="second"></el-tab-pane>
237
- </el-tabs>
238
- </div>
239
- <div slot="footer" class="dialog-footer dialogTop-footer">
240
- <el-button class="dialogTop-footer-button" @click="handleClose"
241
- >取 消</el-button
242
- >
243
- <el-button
244
- class="dialogTop-footer-button"
245
- type="primary"
246
- @click="onSubmit"
247
- >确 定</el-button
248
- >
249
- </div>
250
- </el-dialog>
251
-
252
- <!-- <el-dialog
253
- class="minor-dialogTop"
254
- :visible.sync="visible"
255
- width="149px"
256
- :close-on-click-modal="false"
257
- :show-close="false"
258
- :modal="false"
259
- v-if="max > 1"
260
- append-to-body
261
- >
262
- <template slot="title">
263
- <div class="minor-title-text">
264
- <span class="minor-increase"
265
- >待添加({{ choiceList.length }}/{{ max }})</span
266
- >
267
- </div>
268
- </template>
269
- <div class="tabs-card minor-panel">
270
- <el-scrollbar
271
- style="height: 500px"
272
- :native="false"
273
- wrapStyle=""
274
- wrapClass=""
275
- viewClass=""
276
- viewStyle=""
277
- :noresize="false"
278
- tag="section"
279
- >
280
- <div style="margin-bottom: 10px" />
281
- <draggable :list="choiceList" v-bind="$attrs" animation="300">
282
- <div class="choice-div" v-for="(item, index) in choiceList">
283
- <div
284
- class="choice-image-div"
285
- @mouseenter="item.hiddenVisible = true"
286
- @mouseleave="item.hiddenVisible = false"
287
- >
288
- <el-image
289
- :class="
290
- item.hiddenVisible === true
291
- ? 'choice-image-style choice-image-border choice-image-hand'
292
- : 'choice-image-style'
293
- "
294
- :src="item.materialUrl"
295
- fit="contain"
296
- />
297
- <svg-icon
298
- slot="prefix"
299
- icon-class="xy-cancel"
300
- :class="
301
- item.hiddenVisible
302
- ? 'choice-image-cancel choice-image-hand'
303
- : 'choice-image-cancel'
304
- "
305
- v-if="item.hiddenVisible"
306
- @click="imageDeselectClick(item, index)"
307
- />
308
- </div>
309
- </div>
310
- </draggable>
311
- <div style="margin-top: 10px" />
312
- </el-scrollbar>
313
- </div>
314
- <div slot="footer" class="dialog-footer minor-dialog-footer"></div>
315
- </el-dialog> -->
316
- </div>
317
- </template>
318
-
319
- <script>
320
- import {
321
- listMaterial,
322
- addFolder,
323
- delFolder,
324
- delMaterial,
325
- parentFolder,
326
- updateFolder,
327
- updateMaterial,
328
- } from "../../../api/common/material";
329
- import { getToken } from "../../../utils/auth";
330
- import { getImageIcon } from "./fileNameHelper";
331
- import folderImg from "../../../assets/images/xy-folder.png";
332
- import "~../../element-ui/lib/theme-chalk/display.css";
333
- import draggable from "~../../vuedraggable";
334
-
335
- export default {
336
- name: "Material",
337
- components: { draggable },
338
- model: {
339
- prop: "list",
340
- event: "change",
341
- },
342
- props: {
343
- /** dialog显隐参数 */
344
- visible: {
345
- type: Boolean,
346
- default: false,
347
- },
348
- /** 传入list参数 */
349
- list: {
350
- type: Array,
351
- default: [],
352
- },
353
- /** 图片上传最大数量参数 默认为 1 */
354
- max: {
355
- type: Number,
356
- default: 1,
357
- },
358
- /** 传入list是否转空参数 默认为 false */
359
- clear: {
360
- type: Boolean,
361
- default: false,
362
- },
363
- },
364
- data() {
365
- return {
366
- //活跃单元
367
- activeName: "first",
368
- //list接收转换参数
369
- imageList: [],
370
- // 上传参数
371
- upload: {
372
- // 是否禁用上传
373
- isUploading: false,
374
- // 设置上传的请求头部
375
- headers: { Authorization: "Bearer " + getToken() },
376
- // 上传的地址
377
- url: process.env.VUE_APP_BASE_API + "/system/material/upload",
378
- // 上传的文件列表
379
- fileList: [],
380
- //白名单
381
- whiteList: [
382
- "jpg",
383
- "jpeg",
384
- "bmp",
385
- "png",
386
- "gif",
387
- "pdf",
388
- "doc",
389
- "docx",
390
- "md",
391
- "xmind",
392
- "mp4",
393
- "xlsx",
394
- "bmp",
395
- "tif",
396
- "avi",
397
- "wmv",
398
- "xls",
399
- ],
400
- //文件夹位置
401
- folderImg: folderImg,
402
- },
403
- search: {
404
- searchVisible: true,
405
- hiddenVisible: false,
406
- },
407
- materialFolder: { children: [], materialFolder: [] },
408
- choiceList: [],
409
- breadcrumbList: [],
410
- form: {
411
- folderId: 0,
412
- folderName: "",
413
- },
414
- currentItem: {},
415
- };
416
- },
417
- mounted() {
418
- this.init();
419
- },
420
- watch: {
421
- list(val, oldVal) {
422
- //监听imageBox控件是否执行顺序调整
423
- this.init();
424
- },
425
- },
426
- methods: {
427
- getImageIcon: getImageIcon,
428
- /** 初始化方法 */
429
- init() {
430
- this.creatChoiceList();
431
- this.getList();
432
- },
433
- creatChoiceList() {
434
- this.choiceList = [];
435
- this.imageList = JSON.parse(JSON.stringify(this.list));
436
- if (this.list !== null && this.clear !== true) {
437
- for (let i = 0; i < this.imageList.length; i++) {
438
- this.choiceList.push({
439
- materialId: this.imageList[i].materialId,
440
- materialUrl: this.imageList[i].materialUrl,
441
- materialOriginalUrl: this.imageList[i].materialOriginalUrl,
442
- hiddenVisible: false,
443
- });
444
- }
445
- }
446
- },
447
- /** 查询素材信息列表 */
448
- getList() {
449
- listMaterial(this.form).then((response) => {
450
- this.materialFolder = response.data;
451
- for (let i = 0; i < this.choiceList.length; i++) {
452
- for (let j = 0; j < this.materialFolder.materialList.length; j++) {
453
- if (
454
- this.choiceList[i].materialId ===
455
- this.materialFolder.materialList[j].materialId
456
- ) {
457
- this.materialFolder.materialList[j].imageChoice = true;
458
- }
459
- }
460
- }
461
- });
462
- parentFolder(this.form).then((response) => {
463
- this.breadcrumbList = response.data;
464
- });
465
- },
466
- /** 新建文件夹 */
467
- handleAddFolder() {
468
- this.upload.isUploading = true;
469
- addFolder(this.form).then((response) => {
470
- this.msgSuccess("新增成功");
471
- this.getList();
472
- this.upload.isUploading = false;
473
- });
474
- },
475
- /** 搜索内容变动进行查询 */
476
- searchChange() {
477
- this.search.searchVisible = this.form.folderName === "";
478
- this.getList();
479
- },
480
- /** true 搜索/false 重置 */
481
- searchIconClick() {
482
- if (this.search.searchVisible) {
483
- this.getList();
484
- } else {
485
- this.form.folderName = null;
486
- this.getList();
487
- this.search.searchVisible = true;
488
- }
489
- },
490
- breadcrumbJump(item, index) {
491
- this.form.folderName = null;
492
- this.form.folderId = item.folderId;
493
- this.getList();
494
- },
495
- imageChoiceClick(item, index) {
496
- //取消选择
497
- if (item.imageChoice) {
498
- for (let i = 0; i < this.choiceList.length; i++) {
499
- if (this.choiceList[i].materialId === item.materialId) {
500
- this.choiceList.splice(i, 1);
501
- }
502
- }
503
- item.imageChoice = false;
504
- } //选择
505
- else {
506
- if (this.max === 1) {
507
- this.currentItem.imageChoice = false;
508
- for (let i = 0; i < this.choiceList.length; i++) {
509
- this.choiceList.splice(i, 1);
510
- }
511
- }
512
- if (this.choiceList.length < this.max) {
513
- this.choiceList.push({
514
- materialId: item.materialId,
515
- materialNick: item.materialNick,
516
- materialUrl: item.materialUrl,
517
- materialOriginalUrl: item.materialOriginalUrl,
518
- hiddenVisible: false,
519
- });
520
- item.imageChoice = true;
521
- this.currentItem = item;
522
- }
523
- }
524
- },
525
- imageDeselectClick(item, index) {
526
- for (let i = 0; i < this.choiceList.length; i++) {
527
- if (this.choiceList[i].materialId === item.materialId) {
528
- this.choiceList.splice(i, 1);
529
- }
530
- }
531
- for (let i = 0; i < this.materialFolder.materialList.length; i++) {
532
- if (
533
- this.materialFolder.materialList[i].materialId === item.materialId
534
- ) {
535
- this.materialFolder.materialList[i].imageChoice = false;
536
- }
537
- }
538
- },
539
- /** type 0文件夹 1图片 */
540
- updateMaterialNick(type, item, index) {
541
- if (type === 0) {
542
- updateFolder(item).then((response) => {
543
- this.msgSuccess("修改成功");
544
- this.getList();
545
- });
546
- } else if (type === 1) {
547
- updateMaterial(item).then((response) => {
548
- this.msgSuccess("修改成功");
549
- this.getList();
550
- });
551
- }
552
- },
553
- /** type 0文件夹 1图片 */
554
- imageDelete(type, item, index) {
555
- this.$confirm(
556
- type === 0
557
- ? "您确定将该文件夹以及该文件夹内的所有文件放入回收站吗?"
558
- : "将文件放入回收站会影响使用该文件的地方,确定放入回收站吗?",
559
- "提示",
560
- {
561
- confirmButtonText: "确定",
562
- cancelButtonText: "取消",
563
- type: "warning",
564
- center: true,
565
- }
566
- )
567
- .then(function () {
568
- if (type === 0) {
569
- return delFolder(item.folderId);
570
- } else if (type === 1) {
571
- return delMaterial(item.materialId);
572
- }
573
- })
574
- .then(() => {
575
- this.getList();
576
- this.$message({
577
- type: "success",
578
- message: "删除成功!",
579
- });
580
- })
581
- .catch(() => {
582
- this.$message({
583
- type: "info",
584
- message: "已取消删除",
585
- });
586
- });
587
- },
588
- /** 上传文件之前 */
589
- beforeUpload(file) {
590
- const fileSuffix = file.name.substring(file.name.lastIndexOf(".") + 1);
591
- if (this.upload.whiteList.indexOf(fileSuffix) === -1) {
592
- this.$message({
593
- message: "您上传的文件暂不支持,请联系管理员",
594
- type: "warning",
595
- });
596
- return false;
597
- }
598
- const isLt2M = file.size / 1024 / 1024 < 100;
599
- if (!isLt2M) {
600
- this.$message({
601
- message: "上传文件大小不能超过 100MB",
602
- type: "warning",
603
- });
604
- return false;
605
- }
606
- },
607
- /** 文件上传中处理 */
608
- handleFileUploadProgress(event, file, fileList) {
609
- this.upload.isUploading = true;
610
- },
611
- /** 文件上传成功处理 */
612
- handleFileSuccess(response, file, fileList) {
613
- this.upload.fileList = [];
614
- this.upload.isUploading = false;
615
- if (response.code != 200) {
616
- this.$message.error("上传失败:" + response.msg);
617
- } else {
618
- this.$message({
619
- message: "上传成功!",
620
- type: "success",
621
- });
622
- }
623
- this.getList();
624
- },
625
- /** 文件上传失败处理 */
626
- handleFileError(err, file, fileList) {
627
- this.upload.fileList = [];
628
- this.upload.isUploading = false;
629
- this.$message.error("上传失败:" + err);
630
- },
631
- /** 确定 */
632
- onSubmit() {
633
- this.imageList = [];
634
- for (let i = 0; i < this.choiceList.length; i++) {
635
- this.imageList.push({
636
- materialId: this.choiceList[i].materialId,
637
- materialNick: this.choiceList[i].materialNick,
638
- materialUrl: this.choiceList[i].materialUrl,
639
- materialOriginalUrl: this.choiceList[i].materialOriginalUrl,
640
- hiddenVisible: false,
641
- });
642
- }
643
- this.$emit("change", JSON.parse(JSON.stringify(this.imageList)));
644
- this.$emit("update:visible", false);
645
- },
646
- /** 关闭 */
647
- handleClose(done) {
648
- this.$emit("update:visible", false);
649
- },
650
- },
651
- };
652
- </script>
653
-
654
- <style lang="scss" scoped>
655
- .title-text {
656
- text-align: left;
657
- height: 10px;
658
-
659
- .title-main {
660
- font-size: 16px;
661
- color: #333333;
662
- }
663
-
664
- .title-supplement {
665
- font-size: 12px;
666
- color: #666666;
667
- }
668
- }
669
-
670
- .dialogTop {
671
- // top: 9vh;
672
- left: 22%;
673
- @media screen and (max-width: 1920px) {
674
- left: 22%;
675
- }
676
- @media screen and (min-width: 1921px) and (max-width: 2560px) {
677
- left: 30%;
678
- }
679
- @media screen and (min-width: 2561px) {
680
- left: 38%;
681
- }
682
- position: fixed;
683
- }
684
-
685
- .minor-dialogTop {
686
- top: 9vh;
687
- left: calc(22% + 960px);
688
- @media screen and (max-width: 1920px) {
689
- left: calc(22% + 960px);
690
- }
691
- @media screen and (min-width: 1921px) and (max-width: 2560px) {
692
- left: calc(30% + 960px);
693
- }
694
- @media screen and (min-width: 2561px) {
695
- left: calc(38% + 960px);
696
- }
697
- position: fixed;
698
-
699
- .minor-title-text {
700
- text-align: center;
701
- height: 10px;
702
-
703
- .minor-increase {
704
- font-size: 12px;
705
- color: #000000;
706
- text-align: center;
707
- font-family: "Helvetica Neue", Helvetica, "PingFang SC",
708
- "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
709
- }
710
- }
711
-
712
- .minor-panel {
713
- //width: auto;
714
- border-bottom: 1px solid #e4e7ed;
715
-
716
- .choice-div {
717
- margin: 10px 38px;
718
-
719
- .choice-image-div {
720
- width: 70px;
721
- height: 70px;
722
- position: relative;
723
-
724
- .choice-image-style {
725
- width: 70px;
726
- height: 70px;
727
- border: 1px solid #e4e7ed;
728
- background-color: #ffffff;
729
- }
730
-
731
- .choice-image-border {
732
- border: 1px solid #5874d8;
733
- }
734
-
735
- .choice-image-hand {
736
- cursor: pointer; //鼠标变手
737
- }
738
-
739
- .choice-image-cancel {
740
- position: absolute;
741
- width: 18px;
742
- height: 18px;
743
- top: -8px;
744
- right: -8px;
745
- }
746
- }
747
- }
748
- }
749
-
750
- .minor-dialog-footer {
751
- height: 37px;
752
- }
753
- }
754
-
755
- .container-header {
756
- padding-top: 20px;
757
-
758
- .header-search {
759
- width: 162px;
760
- }
761
- }
762
-
763
- .dialogTop-footer {
764
- text-align: center;
765
-
766
- .dialogTop-footer-button {
767
- position: relative;
768
- margin: 0 25px 0 25px;
769
- top: -10px;
770
- }
771
- }
772
-
773
- .container-main {
774
- .div-breadcrumb {
775
- margin: 6px 0 11px 0;
776
- }
777
-
778
- .breadcrumb-item {
779
- color: #557ce1;
780
- }
781
-
782
- .material-div {
783
- margin: 10px 40px 20px 0;
784
- }
785
-
786
- .image-div {
787
- width: 82px;
788
- height: 82px;
789
- position: relative;
790
-
791
- .image-style {
792
- width: 82px;
793
- height: 82px;
794
- border: 1px solid #e4e7ed;
795
- background-color: #f3f3f3;
796
- }
797
-
798
- .folder-style {
799
- width: 82px;
800
- height: 82px;
801
- }
802
-
803
- .image-border {
804
- border: 1px solid #5874d8;
805
- }
806
-
807
- .image-hand {
808
- cursor: pointer; //鼠标变手
809
- }
810
-
811
- .image-choice {
812
- position: absolute;
813
- width: 28px;
814
- height: 28px;
815
- top: 54px;
816
- right: 0;
817
- }
818
-
819
- .folder-cancel {
820
- position: absolute;
821
- width: 18px;
822
- height: 18px;
823
- top: 0;
824
- right: -6px;
825
- }
826
-
827
- .image-cancel {
828
- position: absolute;
829
- width: 18px;
830
- height: 18px;
831
- top: -8px;
832
- right: -8px;
833
- }
834
- }
835
-
836
- .image-box {
837
- margin-top: 5px;
838
-
839
- .image-input {
840
- width: 82px;
841
- vertical-align: bottom;
842
- }
843
- }
844
- }
845
-
846
- .item {
847
- margin-top: 10px;
848
- margin-right: 40px;
849
- }
850
- </style>
851
-
852
- <style scoped>
853
- .image-box >>> .el-input--mini .el-input__inner {
854
- height: 19px !important;
855
- line-height: 19px !important;
856
- }
857
-
858
- .image-box >>> .el-input__inner {
859
- padding: 0 !important;
860
- border: 1px solid #ffffff !important;
861
- }
862
-
863
- .image-box >>> .el-input__inner:focus {
864
- border-color: #fe714b !important;
865
- }
866
-
867
- .image-box >>> .el-input__inner:hover {
868
- border-color: #5874d8 !important;
869
- }
870
-
871
- .image-box >>> input {
872
- text-align: center !important;
873
- }
874
-
875
- .minor-panel >>> .el-scrollbar__wrap {
876
- overflow-x: hidden;
877
- }
878
-
879
- .dialogTop >>> .el-dialog {
880
- margin-left: 0 !important;
881
- margin-right: 0 !important;
882
- }
883
-
884
- .material >>> .el-tabs__item {
885
- height: 66px;
886
- line-height: 66px;
887
- }
888
-
889
- .minor-dialogTop >>> .el-dialog {
890
- margin-left: 0 !important;
891
- margin-right: 0 !important;
892
- }
893
- </style>