cloud-web-corejs 1.0.258 → 1.0.259

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 (248) hide show
  1. package/package.json +32 -25
  2. package/src/components/VabUpload/fileLibraryDialog.vue +296 -0
  3. package/src/components/VabUpload/index.js +22 -2
  4. package/src/components/VabUpload/index.vue +242 -231
  5. package/src/components/VabUpload/mixins/fileLibraryDialog.js +1112 -0
  6. package/src/components/VabUpload/mixins.js +1971 -1829
  7. package/src/components/VabUpload/privateProfileDialog.vue +2 -2
  8. package/src/components/baseArea/index.vue +1628 -0
  9. package/src/components/baseInputExport/mixins.js +48 -31
  10. package/src/components/baseInputNumber/index.vue +9 -9
  11. package/src/components/baseTabs/index.vue +16 -8
  12. package/src/components/code-editor/async.js +29 -0
  13. package/src/components/code-editor/index.vue +93 -4
  14. package/src/components/errorMsg/index.js +10 -9
  15. package/src/components/errorMsg/mixins.js +25 -23
  16. package/src/components/excelExport/exportFieldDialog.vue +40 -18
  17. package/src/components/excelExport/index.js +62 -3
  18. package/src/components/excelExport/index.vue +2 -1
  19. package/src/components/excelExport/mixins.js +496 -340
  20. package/src/components/excelImport/index.js +69 -7
  21. package/src/components/excelImport/mixins.js +841 -9
  22. package/src/components/fileLibrary/categoryMoveDialog.vue +109 -109
  23. package/src/components/fileLibrary/fileHistoryDialog.vue +1 -1
  24. package/src/components/fileLibrary/fileObjAuthDialog.vue +297 -298
  25. package/src/components/fileLibrary/fileObjAuthEdit.vue +1 -1
  26. package/src/components/fileLibrary/filterDialog.vue +1 -1
  27. package/src/components/fileLibrary/index.vue +1109 -1110
  28. package/src/components/fileLibrary/mixins/indexMixins.js +10 -0
  29. package/src/components/fileLibrary/propertiesDialog.vue +190 -190
  30. package/src/components/fileLibrary/recycleBinDialog.vue +237 -236
  31. package/src/components/formOplog/mixins.js +85 -80
  32. package/src/components/hiprint/view/design/index.vue +7 -2
  33. package/src/components/jsonImport/exportUtil.js +106 -0
  34. package/src/components/jsonImport/index.js +75 -50
  35. package/src/components/jsonImport/mixins.js +350 -348
  36. package/src/components/langImport/mixins.js +502 -500
  37. package/src/components/micro-view-host/contract.js +66 -0
  38. package/src/components/micro-view-host/index.vue +148 -0
  39. package/src/components/mobile/file/index.vue +10 -0
  40. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +51 -47
  41. package/src/components/obsUpload/index.vue +234 -231
  42. package/src/components/obsUpload/mixins.js +1542 -1476
  43. package/src/components/onlineTalk/talkUserDialog.vue +1 -1
  44. package/src/components/table/CellSlot.vue +12 -10
  45. package/src/components/table/config.js +74 -1
  46. package/src/components/table/index.js +1208 -1
  47. package/src/components/table/tableFormMixin.js +285 -1
  48. package/src/components/table/util/index.js +38 -40
  49. package/src/components/table/vxeFilter/index.js +153 -2
  50. package/src/components/table/vxeFilter/mixin.js +305 -3
  51. package/src/components/tempStorage/tempStorageDialog.vue +1 -1
  52. package/src/components/vb-tabs/x-tabs.vue +10 -5
  53. package/src/components/wf/addTaskUserdialog.vue +1 -1
  54. package/src/components/wf/mixins/setCandidateDialog.js +217 -217
  55. package/src/components/wf/mixins/setCandidateDialog2.js +252 -252
  56. package/src/components/wf/wf.js +2224 -2203
  57. package/src/components/wf/wfUtil.js +2 -1
  58. package/src/components/xform/docs/2026-08 /345/210/227/350/241/250/345/257/274/345/207/272/350/204/261/346/225/217/345/210/227/345/211/224/351/231/244/350/220/275/345/234/260/346/226/207/346/241/243.md" +173 -0
  59. package/src/components/xform/form-designer/designer.js +1 -0
  60. package/src/components/xform/form-designer/form-widget/container-widget/containerMixin.js +110 -1
  61. package/src/components/xform/form-designer/form-widget/container-widget/data-table-mixin.js +282 -1
  62. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -0
  63. package/src/components/xform/form-designer/form-widget/field-widget/autocomplete-widget.vue +119 -0
  64. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +14 -0
  65. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +18 -73
  66. package/src/components/xform/form-designer/form-widget/field-widget/mixins/autocomplete-mixin.js +451 -0
  67. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +157 -0
  68. package/src/components/xform/form-designer/form-widget/field-widget/mixins/utc-transform-mixin.js +75 -0
  69. package/src/components/xform/form-designer/form-widget/field-widget/save_submit_wf_button-widget.vue +112 -0
  70. package/src/components/xform/form-designer/form-widget/field-widget/script-input-widget.vue +149 -0
  71. package/src/components/xform/form-designer/form-widget/indexMixin.js +179 -1
  72. package/src/components/xform/form-designer/indexMixin.js +823 -1
  73. package/src/components/xform/form-designer/refMixinDesign.js +27 -1
  74. package/src/components/xform/form-designer/setting-panel/action-button-config-dialog.vue +241 -0
  75. package/src/components/xform/form-designer/setting-panel/form-dynamicField-setting.vue +601 -0
  76. package/src/components/xform/form-designer/setting-panel/form-setting.vue +6 -0
  77. package/src/components/xform/form-designer/setting-panel/index.vue +314 -309
  78. package/src/components/xform/form-designer/setting-panel/indexMixin.js +324 -1
  79. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +8 -7
  80. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +8 -7
  81. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +344 -0
  82. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +2 -2
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaDataType-editor.vue +25 -0
  84. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaMinLevel-editor.vue +50 -0
  85. package/src/components/xform/form-designer/setting-panel/property-editor/field-area-select/areaName-editor.vue +20 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/field-autocomplete/autocomplete-vabSearchName-editor.vue +199 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/field-baseAttachment/baseAttachment-fileTypes-editor.vue +23 -0
  88. package/src/components/xform/form-designer/setting-panel/property-editor/field-cascader/showAllLevels-editor.vue +21 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-dateLimit-editor.vue +157 -0
  90. package/src/components/xform/form-designer/setting-panel/property-editor/field-script-input/script-input-editor.vue +55 -0
  91. package/src/components/xform/form-designer/setting-panel/property-editor/field-vabUpload/vabUpload-fileTypes-editor.vue +23 -0
  92. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesEditorMixin.js +116 -0
  93. package/src/components/xform/form-designer/setting-panel/property-editor/fileTypesSelect.vue +176 -0
  94. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +3 -3
  95. package/src/components/xform/form-designer/setting-panel/property-editor/utcTransformEnabled-editor.vue +19 -0
  96. package/src/components/xform/form-designer/setting-panel/widgetPropertyDialogMixin.js +186 -0
  97. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +566 -1
  98. package/src/components/xform/form-designer/widget-panel/indexMixin.js +290 -1
  99. package/src/components/xform/form-render/compareDelList.vue +83 -0
  100. package/src/components/xform/form-render/compareView.vue +76 -0
  101. package/src/components/xform/form-render/container-item/containerItemMixin.js +378 -1
  102. package/src/components/xform/form-render/container-item/data-table-mixin.js +35 -0
  103. package/src/components/xform/form-render/container-item/detail-item.vue +41 -0
  104. package/src/components/xform/form-render/container-item/dynamicFieldEngine.js +285 -0
  105. package/src/components/xform/form-render/container-item/dynamicFieldMixin.js +416 -0
  106. package/src/components/xform/form-render/container-item/list-h5-item.vue +12 -0
  107. package/src/components/xform/form-render/dynamicDialogRender.js +195 -1
  108. package/src/components/xform/form-render/dynamicDrawerRender.js +229 -0
  109. package/src/components/xform/form-render/formDynamicFieldMixin.js +131 -0
  110. package/src/components/xform/form-render/refMixin.js +29 -1
  111. package/src/components/xform/mixins/scriptHttp.js +172 -1
  112. package/src/components/xform/utils/dynamicSchemaUtil.js +361 -0
  113. package/src/components/xform/utils/tableCellValidateUtil.js +148 -0
  114. package/src/components/xform/utils/textMaskUtil.js +179 -0
  115. package/src/components/xform/utils/treeTableUtil.js +1265 -0
  116. package/src/components/xform/utils/util.js +1 -0
  117. package/src/components/xform/utils/validators.js +133 -1
  118. package/src/directive/LimitNumber/index.js +143 -124
  119. package/src/microRouter/index.js +447 -0
  120. package/src/mixins/tableTree/index.js +77 -14
  121. package/src/permission.js +132 -107
  122. package/src/public-path.js +38 -0
  123. package/src/router/index.js +3 -3
  124. package/src/store/modules/micro.js +57 -0
  125. package/src/store/modules/permission.js +535 -371
  126. package/src/store/modules/tagsView.js +38 -21
  127. package/src/store/modules/user.js +409 -370
  128. package/src/utils/aes.js +9 -3
  129. package/src/utils/auth.js +1 -1
  130. package/src/utils/componentDialog.js +162 -40
  131. package/src/utils/global.js +35 -34
  132. package/src/utils/index.js +579 -579
  133. package/src/utils/keepAlive.js +8 -4
  134. package/src/utils/lazyPlugin.js +66 -0
  135. package/src/utils/menuAdapter.js +277 -0
  136. package/src/utils/repeatOpen.js +48 -0
  137. package/src/utils/request.js +417 -395
  138. package/src/utils/resolveViewComponent.js +203 -0
  139. package/src/utils/vab.js +14 -3
  140. package/src/utils/validate.js +104 -106
  141. package/src/views/bd/setting/bd_attach_setting/dialog.vue +1 -1
  142. package/src/views/bd/setting/bd_attach_setting/list.vue +1 -1
  143. package/src/views/bd/setting/bd_company_env/dialog.vue +1 -1
  144. package/src/views/bd/setting/bd_company_env/list.vue +1 -1
  145. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +488 -489
  146. package/src/views/bd/setting/form_import_log/list.vue +1 -1
  147. package/src/views/bd/setting/form_script/dialog.vue +1 -1
  148. package/src/views/bd/setting/form_script/form_list.vue +174 -166
  149. package/src/views/bd/setting/form_script/list.vue +1 -1
  150. package/src/views/bd/setting/form_script/list1.vue +1 -1
  151. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -322
  152. package/src/views/bd/setting/form_template/dialog.vue +1 -1
  153. package/src/views/bd/setting/form_template/formDesignerDialog.vue +172 -171
  154. package/src/views/bd/setting/form_template/ftHistoryDialog.vue +1 -1
  155. package/src/views/bd/setting/form_template/itemList.vue +1 -1
  156. package/src/views/bd/setting/form_template/list.vue +3 -3
  157. package/src/views/bd/setting/form_template/mixins/edit.js +3 -3
  158. package/src/views/bd/setting/form_template/mixins/list.js +3 -3
  159. package/src/views/bd/setting/form_template/mixins/list2.js +3 -3
  160. package/src/views/bd/setting/form_template/mixins/wf_list.js +3 -3
  161. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -254
  162. package/src/views/bd/setting/form_template/wf_list.vue +3 -3
  163. package/src/views/bd/setting/logic_param/edit.vue +20 -20
  164. package/src/views/bd/setting/logic_param/list.vue +1 -1
  165. package/src/views/bd/setting/menu_kind/dialog.vue +1 -1
  166. package/src/views/bd/setting/menu_kind/list.vue +1 -1
  167. package/src/views/bd/setting/push_data/list.vue +1 -1
  168. package/src/views/bd/setting/push_data_h/list.vue +1 -1
  169. package/src/views/bd/setting/request_async_setting/list.vue +1 -1
  170. package/src/views/bd/setting/request_setting/list.vue +1 -1
  171. package/src/views/bd/setting/table_model/dialog.vue +1 -1
  172. package/src/views/bd/setting/table_model/list.vue +1 -1
  173. package/src/views/bd/setting/table_model/zdDialog.vue +1 -1
  174. package/src/views/user/access_log/list.vue +1 -1
  175. package/src/views/user/access_log/list2.vue +1 -1
  176. package/src/views/user/api_request/list.vue +1 -1
  177. package/src/views/user/area/dialog.vue +1 -1
  178. package/src/views/user/area/list.vue +1 -1
  179. package/src/views/user/bill_setting/list.vue +1 -1
  180. package/src/views/user/bill_setting/userDialog.vue +1 -1
  181. package/src/views/user/code_rules/list.vue +1 -1
  182. package/src/views/user/commMenu/index.vue +2 -2
  183. package/src/views/user/common_attribute/list.vue +2 -2
  184. package/src/views/user/common_script/list.vue +1 -1
  185. package/src/views/user/company_info/dialog.vue +1 -1
  186. package/src/views/user/country/dialog.vue +1 -1
  187. package/src/views/user/country/list.vue +1 -1
  188. package/src/views/user/data_type_setting/dialog.vue +1 -1
  189. package/src/views/user/extend_datasource/dialog.vue +4 -1
  190. package/src/views/user/extend_datasource/edit.vue +2 -1
  191. package/src/views/user/extend_datasource/list.vue +4 -1
  192. package/src/views/user/fieldTranslation/list.vue +1 -1
  193. package/src/views/user/field_values_invisible/list.vue +1 -1
  194. package/src/views/user/file_type/list.vue +1 -1
  195. package/src/views/user/file_view_area/list.vue +1 -1
  196. package/src/views/user/file_view_ins/list.vue +22 -1
  197. package/src/views/user/form/view/list.vue +64 -1
  198. package/src/views/user/groups/dialog.vue +1 -1
  199. package/src/views/user/groups/list.vue +1 -1
  200. package/src/views/user/home/default.vue +2 -2
  201. package/src/views/user/home/default2.vue +1158 -1148
  202. package/src/views/user/home/index.vue +3 -10
  203. package/src/views/user/lang_tag/dialog.vue +1 -1
  204. package/src/views/user/lang_tag/list.vue +1 -1
  205. package/src/views/user/language_setting/list.vue +1 -1
  206. package/src/views/user/login/default.vue +0 -8
  207. package/src/views/user/login/indexMixin.js +547 -556
  208. package/src/views/user/menu/list.vue +25 -2
  209. package/src/views/user/menuFallback/index.vue +123 -0
  210. package/src/views/user/mobile_menu/list.vue +1 -1
  211. package/src/views/user/notify_message/dialog.vue +22 -1
  212. package/src/views/user/notify_message/list.vue +1 -1
  213. package/src/views/user/notify_template/list.vue +1 -1
  214. package/src/views/user/notify_template/list2.vue +1 -1
  215. package/src/views/user/oplog/list.vue +1 -1
  216. package/src/views/user/outLink/form_view.vue +5 -14
  217. package/src/views/user/outLink/index.vue +6 -1
  218. package/src/views/user/outLink/view.vue +5 -13
  219. package/src/views/user/position/dialog.vue +1 -1
  220. package/src/views/user/position/list.vue +1 -1
  221. package/src/views/user/project_tag/dialog.vue +1 -1
  222. package/src/views/user/project_tag/list.vue +1 -1
  223. package/src/views/user/push_setting/list.vue +1 -1
  224. package/src/views/user/request_setting/list.vue +1 -1
  225. package/src/views/user/role/dialog.vue +1 -1
  226. package/src/views/user/role/list.vue +1 -1
  227. package/src/views/user/sale_org/dialog.vue +1 -1
  228. package/src/views/user/sale_org/list.vue +1 -1
  229. package/src/views/user/system_notice/list.vue +1 -1
  230. package/src/views/user/system_parameter/list.vue +1 -1
  231. package/src/views/user/user/dialog.vue +1 -1
  232. package/src/views/user/user/edit.vue +306 -159
  233. package/src/views/user/user/form_dialog.vue +1 -1
  234. package/src/views/user/user/form_list.vue +1 -1
  235. package/src/views/user/user/list.vue +2 -2
  236. package/src/views/user/user_log_classify/list.vue +1 -1
  237. package/src/views/user/wf/iframe/index.vue +6 -1
  238. package/src/views/user/wf/iframe/index2.vue +6 -1
  239. package/src/views/user/wf/wfReport/index.vue +12 -6
  240. package/src/views/user/wf/wf_auto_submit_data/list.vue +2 -2
  241. package/src/views/user/wf/wf_manage/list.vue +97 -24
  242. package/src/views/user/wf/wf_manage/list2.vue +875 -0
  243. package/src/views/user/wf/wf_manage/wfContentDialog.vue +23 -1
  244. package/src/views/user/wf/wf_obj_config/dialog.vue +1 -1
  245. package/src/views/user/wf/wf_obj_config/list.vue +1 -1
  246. package/src/views/user/wf/wf_obj_config/list_form.vue +1 -1
  247. package/src/views/user/wf/wf_transfer_setting/list.vue +1 -1
  248. package/src/views/user/workbench_menu/list.vue +1 -1
@@ -1,231 +1,242 @@
1
- <template>
2
- <div>
3
- <el-dialog
4
- :title="title"
5
- :visible.sync="dialogFormVisible"
6
- v-if="dialogFormVisible"
7
- :close-on-click-modal="false"
8
- width="1150px"
9
- :custom-class="'dialog-style '+(option.otherParams && option.otherParams.uploadDialogCustomClass?option.otherParams.uploadDialogCustomClass:'')"
10
- :append-to-body="true"
11
- :destroy-on-close="true"
12
- @close="handleClose"
13
- v-el-drag-dialog
14
- >
15
- <div class="upload-box" style="margin-left:-20px;margin-right:-20px;">
16
- <div class="upload-b_left" @click="choosePasteArea" :class="{on:pasteAreaStatus}"
17
- v-show="option.hidePasteArea!==true">
18
- <div class="t"><i
19
- class="el-icon-warning-outline"></i>{{ $t2('选择此处,可粘贴文件', 'components.VabUpload.tip') }}(Ctrl+V)
20
- </div>
21
- <ul class="el-upload-list el-upload-list--picture">
22
- <div class="nodata" v-if="pasteList.length == 0">
23
- <img src="~@/resources/images/nodata2.png"/>
24
- </div>
25
- <li v-for="(pasteFile,index) in pasteList" :key="index" class="el-upload-list__item is-success">
26
- <div>
27
- <img
28
- :src="getShowImage(pasteFile)"
29
- class="el-upload-list__item-thumbnail"
30
- />
31
- <div class="el-upload-list__item-name">
32
- <!-- <p class="flex">
33
- <el-input size="mini" v-model="pasteFile.fileName" @change="changeFileName(pasteFile)"></el-input>
34
- </p> -->
35
- <div class="txt-box">
36
- <div class="tb-left"></div>
37
- <div class="tb-mid name">
38
- <div class="txt">
39
- <span>{{ pasteFile.fileName }}</span>
40
- <span><i class="el-icon-edit" @click="openFileNameDialog(pasteFile,index)"></i></span>
41
- </div>
42
- </div>
43
- <div class="format"><i class="el-icon-edit" @click="openFileNameDialog(pasteFile,index)"></i></div>
44
- </div>
45
-
46
- <!-- <p>admin</p>-->
47
- <p>{{ $t2('格式', 'components.VabUpload.fileType') }}:{{ pasteFile.fileSuffix }}</p>
48
- <p>{{ $t2('大小', 'components.VabUpload.fileSize') }}:{{ formatFileSize(pasteFile.size) }}</p>
49
- </div>
50
- <div class="el-icon-close" @click="deletePasteFile(index)">
51
- <i class="el-tooltip iconfont iconshanchu"></i>
52
- </div>
53
- </div>
54
- </li>
55
- </ul>
56
- <el-button type="primary" @click="confirmPasteFile" class="button-sty" v-if="pasteList.length>0">
57
- <i class="el-icon-check el-icon"></i>
58
- {{ $t2('确定文件', 'components.VabUpload.confirmFile') }}
59
- </el-button>
60
- </div>
61
- <div class="upload-b_right">
62
- <div class="tips">
63
- {{
64
- $t2('注意:当前所有文件上传完,才允许确定操作,单个文件上传大小,请尽量小于100MB。', 'components.VabUpload.tip2')
65
- }}
66
- <div class="upload-count fr">
67
- <div>{{ $t2('总数', 'components.VabUpload.total') }}:<span>{{ totalQuantity }}</span></div>
68
- <div>{{ $t2('成功', 'components.VabUpload.success') }}:<span>{{ successQuantity }}</span></div>
69
- <div>{{ $t2('失败', 'components.VabUpload.fail') }}:<span
70
- :class="{error : errorQuantity > 0}">{{ errorQuantity }}</span></div>
71
- </div>
72
- </div>
73
- <el-upload
74
- ref="upload"
75
- :action="action"
76
- :http-request="changeFile"
77
- :auto-upload="auto"
78
- :close-on-click-modal="false"
79
- :data="data"
80
- :file-list="fileList"
81
- :headers="headers"
82
- :limit="limit"
83
- :multiple="isMulti"
84
- :name="name"
85
- :on-change="handleChange"
86
- :on-error="handleError"
87
- :on-exceed="handleExceed"
88
- :on-preview="handlePreview"
89
- :on-progress="handleProgress"
90
- :on-remove="handleRemove"
91
- :on-success="handleSuccess"
92
- :before-upload="handleBeforeUpload"
93
- :accept="accept"
94
- class="upload-demo"
95
- list-type="picture"
96
- >
97
- <div class="avatar-uploader hidden" slot="trigger" v-if="showLocalUploadBtn" ref="uploadBtn" v-show="false">
98
- <i
99
- class="el-icon-plus avatar-uploader-icon"></i></div>
100
- <div slot="file" slot-scope="{ file }">
101
- <img :src="getShowImage(file)" class="el-upload-list__item-thumbnail"/>
102
- <div class="el-upload-list__item-name">
103
- <p>{{ file.name }}</p>
104
- <p>{{ formatFileSize(file.size) }}</p>
105
- <p class="f-red" v-if="file.status=='fail'">{{ file.failMsg }}</p>
106
- </div>
107
- <el-progress :percentage="file.percentage"
108
- v-if="file.status == 'uploading' || file.status == 'preUpload'"></el-progress>
109
- <div class="el-upload-list__item-status-label error" v-else-if="file.status == 'fail'"><i
110
- class="el-icon-upload-success iconfont icon-gantanhao"></i></div>
111
- <div class="el-upload-list__item-status-label" v-else-if="file.percentage==100"><i
112
- class="el-icon-upload-success el-icon-check"></i></div>
113
- <div class="el-upload-list__item-status-label load" v-else-if="file.status == 'ready'"><i
114
- class="el-icon-loading"></i></div>
115
-
116
- <div class="el-icon-close" @click="removeFile(file)">
117
- <el-tooltip :enterable="false" effect="dark" :content="$t2('删除', 'components.VabUpload.delete')"
118
- placement="top" popper-class="tooltip-skin">
119
- <i
120
- class="iconfont iconshanchu"></i></el-tooltip>
121
- </div>
122
- </div>
123
- <el-dialog :visible.sync="dialogVisible" append-to-body
124
- :title="$t2('查看大图', 'components.VabUpload.checkBigImgage')">
125
- <div><img :src="dialogImageUrl" alt="" width="100%"/></div>
126
- </el-dialog>
127
- </el-upload>
128
- </div>
129
- </div>
130
- <span slot="footer" class="dialog-footer">
131
- <div class="fl" style="margin-left:291px;">
132
- <el-button type="warning" class="button-sty" slot="trigger" v-if="showLocalUploadBtn"
133
- @click="$refs.uploadBtn.click()">
134
- <i class="el-icon-plus"></i>
135
- {{ $t2('从本地选择', 'components.VabUpload.localPick') }}
136
- </el-button>
137
- <el-button type="success" class="button-sty" @click="showPrivateProfileDialog= true"
138
- v-if="showPrivateUploadBtn">
139
- <i class="iconfont icon-wendangshangchuan"></i>
140
- {{ $t2('从个人文档工作区选择', 'components.VabUpload.privateDocumentPick') }}
141
- </el-button>
142
- </div>
143
-
144
- <el-button type="primary" plain class="button-sty" @click="handleClose">
145
- <i class="el-icon-close el-icon"></i>
146
- {{ $t2('取 消', 'system.button.cancel2') }}
147
- </el-button>
148
- <el-button type="primary" plain class="button-sty" @click="submitUpload" v-if="!auto && hasReadyFile">
149
- <i class="el-icon el-icon-video-play"></i>
150
- {{ $t2('确认上传', 'components.VabUpload.comfirmUpload') }}
151
- </el-button>
152
- <el-button type="primary" @click="submitImage" class="button-sty" v-if="!uploading">
153
- <i class="el-icon-check el-icon"></i>
154
- {{ $t2(' ', 'system.button.confirm2') }}
155
- </el-button>
156
- <!-- <el-button type="primary" plain class="button-sty" @click="handleBtn" v-if="uploading">
157
- <i class="el-icon el-icon-video-play" v-if="btn==true"></i>
158
- <i class="el-icon el-icon-video-pause" v-if="btn==false"></i>
159
- {{btn|btnText}}
160
- </el-button> -->
161
- </span>
162
- </el-dialog>
163
- <privateProfileDialog v-if="showPrivateProfileDialog" :visiable.sync="showPrivateProfileDialog"
164
- @confirm="confirmPrivateProfileDialog"></privateProfileDialog>
165
- <el-dialog
166
- :title="$t2('文件名修改', 'components.VabUpload.modifyFileName')"
167
- :append-to-body="true"
168
- :modal-append-to-body="true"
169
- :close-on-click-modal="false"
170
- v-if="showFileNameDialog"
171
- :visible.sync="showFileNameDialog"
172
- :modal="false"
173
- custom-class="dialog-style list-dialog dialog-checkbox pd_8"
174
- width="400px"
175
- v-el-drag-dialog
176
- v-el-dialog-center
177
- >
178
- <div class="cont">
179
- <el-form ref="editForm" label-width="110px" class="adSearchForm" style="width: 362px;height: auto;">
180
- <el-form-item :label="$t2('文件名称', 'components.VabUpload.fileName')">
181
- <el-input v-model="editFileName" clearable class="all-width"/>
182
- </el-form-item>
183
- <el-form-item :label="$t2('文件格式', 'components.VabUpload.fileCategory')">
184
- {{ editFileSuffix }}
185
- </el-form-item>
186
- </el-form>
187
- </div>
188
- <span slot="footer" class="dialog-footer">
189
- <el-button type="primary" plain class="button-sty" @click="showFileNameDialog=false">
190
- <i class="el-icon-close el-icon"></i>
191
- {{ $t2('取 消', 'system.button.cancel2') }}
192
- </el-button>
193
- <el-button type="primary" @click="confirmFileNameDialog" class="button-sty">
194
- <i class="el-icon-check el-icon"></i>
195
- {{ $t2('确 定', 'system.button.confirm2') }}
196
- </el-button>
197
- </span>
198
- </el-dialog>
199
- </div>
200
- </template>
201
-
202
- <script>
203
- import {mixins} from './mixins';
204
-
205
- export default {
206
- mixins: [mixins],
207
- components: {
208
- privateProfileDialog: () => import('./privateProfileDialog')
209
- }
210
- };
211
- </script>
212
-
213
- <style lang="scss" scoped>
214
- .pup-annex-box {
215
- height: 355px;
216
- background: #fff;
217
- }
218
-
219
- ::v-deep .dialog-style {
220
- margin-top: 7vh !important;
221
-
222
- .dialog-footer {
223
- padding-left: 6px;
224
- display: block;
225
- }
226
-
227
- .upload-box .upload-demo .el-upload {
228
- margin-top: 0 !important;
229
- }
230
- }
231
- </style>
1
+ <template>
2
+ <div>
3
+ <el-dialog
4
+ :title="title"
5
+ :visible.sync="dialogFormVisible"
6
+ v-if="dialogFormVisible"
7
+ :close-on-click-modal="false"
8
+ width="1150px"
9
+ :custom-class="'dialog-style '+(option.otherParams && option.otherParams.uploadDialogCustomClass?option.otherParams.uploadDialogCustomClass:'')"
10
+ :append-to-body="true"
11
+ :destroy-on-close="true"
12
+ @close="handleClose"
13
+ v-el-drag-dialog
14
+ >
15
+ <div class="upload-box" style="margin-left:-20px;margin-right:-20px;">
16
+ <div class="upload-b_left" @click="choosePasteArea" :class="{on:pasteAreaStatus}"
17
+ v-show="option.hidePasteArea!==true">
18
+ <div class="t"><i
19
+ class="el-icon-warning-outline"></i>{{ $t2('选择此处,可粘贴文件', 'components.VabUpload.tip') }}(Ctrl+V)
20
+ </div>
21
+ <ul class="el-upload-list el-upload-list--picture">
22
+ <div class="nodata" v-if="pasteList.length == 0">
23
+ <img src="~@/resources/images/nodata2.png"/>
24
+ </div>
25
+ <li v-for="(pasteFile,index) in pasteList" :key="index" class="el-upload-list__item is-success">
26
+ <div>
27
+ <img
28
+ :src="getShowImage(pasteFile)"
29
+ class="el-upload-list__item-thumbnail"
30
+ />
31
+ <div class="el-upload-list__item-name">
32
+ <!-- <p class="flex">
33
+ <el-input size="mini" v-model="pasteFile.fileName" @change="changeFileName(pasteFile)"></el-input>
34
+ </p> -->
35
+ <div class="txt-box">
36
+ <div class="tb-left"></div>
37
+ <div class="tb-mid name">
38
+ <div class="txt">
39
+ <span>{{ pasteFile.fileName }}</span>
40
+ <span><i class="el-icon-edit" @click="openFileNameDialog(pasteFile,index)"></i></span>
41
+ </div>
42
+ </div>
43
+ <div class="format"><i class="el-icon-edit" @click="openFileNameDialog(pasteFile,index)"></i></div>
44
+ </div>
45
+
46
+ <!-- <p>admin</p>-->
47
+ <p>{{ $t2('格式', 'components.VabUpload.fileType') }}:{{ pasteFile.fileSuffix }}</p>
48
+ <p>{{ $t2('大小', 'components.VabUpload.fileSize') }}:{{ formatFileSize(pasteFile.size) }}</p>
49
+ </div>
50
+ <div class="el-icon-close" @click="deletePasteFile(index)">
51
+ <i class="el-tooltip iconfont iconshanchu"></i>
52
+ </div>
53
+ </div>
54
+ </li>
55
+ </ul>
56
+ <el-button type="primary" @click="confirmPasteFile" class="button-sty" v-if="pasteList.length>0">
57
+ <i class="el-icon-check el-icon"></i>
58
+ {{ $t2('确定文件', 'components.VabUpload.confirmFile') }}
59
+ </el-button>
60
+ </div>
61
+ <div class="upload-b_right">
62
+ <div class="tips">
63
+ {{
64
+ $t2('注意:当前所有文件上传完,才允许确定操作,单个文件上传大小,请尽量小于100MB。', 'components.VabUpload.tip2')
65
+ }}
66
+ <template v-if="allowedFileTypesText">{{
67
+ $t2('仅支持上传以下格式:', 'components.VabUpload.fileTypesTip')
68
+ }}{{ allowedFileTypesText }}</template>
69
+ <div class="upload-count fr">
70
+ <div>{{ $t2('总数', 'components.VabUpload.total') }}:<span>{{ totalQuantity }}</span></div>
71
+ <div>{{ $t2('成功', 'components.VabUpload.success') }}:<span>{{ successQuantity }}</span></div>
72
+ <div>{{ $t2('失败', 'components.VabUpload.fail') }}:<span
73
+ :class="{error : errorQuantity > 0}">{{ errorQuantity }}</span></div>
74
+ </div>
75
+ </div>
76
+ <el-upload
77
+ ref="upload"
78
+ :action="action"
79
+ :http-request="changeFile"
80
+ :auto-upload="auto"
81
+ :close-on-click-modal="false"
82
+ :data="data"
83
+ :file-list="fileList"
84
+ :headers="headers"
85
+ :limit="limit"
86
+ :multiple="isMulti"
87
+ :name="name"
88
+ :on-change="handleChange"
89
+ :on-error="handleError"
90
+ :on-exceed="handleExceed"
91
+ :on-preview="handlePreview"
92
+ :on-progress="handleProgress"
93
+ :on-remove="handleRemove"
94
+ :on-success="handleSuccess"
95
+ :before-upload="handleBeforeUpload"
96
+ :accept="uploadAccept"
97
+ class="upload-demo"
98
+ list-type="picture"
99
+ >
100
+ <div class="avatar-uploader hidden" slot="trigger" v-if="showLocalUploadBtn" ref="uploadBtn" v-show="false">
101
+ <i
102
+ class="el-icon-plus avatar-uploader-icon"></i></div>
103
+ <div slot="file" slot-scope="{ file }">
104
+ <img :src="getShowImage(file)" class="el-upload-list__item-thumbnail"/>
105
+ <div class="el-upload-list__item-name">
106
+ <p>{{ file.name }}</p>
107
+ <p>{{ formatFileSize(file.size) }}</p>
108
+ <p class="f-red" v-if="file.status=='fail'">{{ file.failMsg }}</p>
109
+ </div>
110
+ <el-progress :percentage="file.percentage"
111
+ v-if="file.status == 'uploading' || file.status == 'preUpload'"></el-progress>
112
+ <div class="el-upload-list__item-status-label error" v-else-if="file.status == 'fail'"><i
113
+ class="el-icon-upload-success iconfont icon-gantanhao"></i></div>
114
+ <div class="el-upload-list__item-status-label" v-else-if="file.percentage==100"><i
115
+ class="el-icon-upload-success el-icon-check"></i></div>
116
+ <div class="el-upload-list__item-status-label load" v-else-if="file.status == 'ready'"><i
117
+ class="el-icon-loading"></i></div>
118
+
119
+ <div class="el-icon-close" @click="removeFile(file)">
120
+ <el-tooltip :enterable="false" effect="dark" :content="$t2('删除', 'components.VabUpload.delete')"
121
+ placement="top" popper-class="tooltip-skin">
122
+ <i
123
+ class="iconfont iconshanchu"></i></el-tooltip>
124
+ </div>
125
+ </div>
126
+ <el-dialog :visible.sync="dialogVisible" append-to-body
127
+ :title="$t2('查看大图', 'components.VabUpload.checkBigImgage')">
128
+ <div><img :src="dialogImageUrl" alt="" width="100%"/></div>
129
+ </el-dialog>
130
+ </el-upload>
131
+ </div>
132
+ </div>
133
+ <span slot="footer" class="dialog-footer">
134
+ <div class="fl" :class="{showPasteArea:option.hidePasteArea!==true}">
135
+ <el-button type="warning" class="button-sty" slot="trigger" v-if="showLocalUploadBtn"
136
+ @click="$refs.uploadBtn.click()">
137
+ <i class="el-icon-plus"></i>
138
+ {{ $t2('从本地选择', 'components.VabUpload.localPick') }}
139
+ </el-button>
140
+ <el-button type="success" class="button-sty" @click="showPrivateProfileDialog= true"
141
+ v-if="showPrivateUploadBtn">
142
+ <i class="iconfont icon-wendangshangchuan"></i>
143
+ {{ $t2('从个人文档工作区选择', 'components.VabUpload.privateDocumentPick') }}
144
+ </el-button>
145
+ <el-button type="success" class="button-sty" @click="openFileLibraryDialog"
146
+ v-if="showFileLibraryButton && !!fileLibraryName">
147
+ <i class="iconfont icon-wendangshangchuan"></i>
148
+ {{ fileLibraryName }}
149
+ </el-button>
150
+ </div>
151
+
152
+ <el-button type="primary" plain class="button-sty" @click="handleClose">
153
+ <i class="el-icon-close el-icon"></i>
154
+ {{ $t2(' ', 'system.button.cancel2') }}
155
+ </el-button>
156
+ <el-button type="primary" plain class="button-sty" @click="submitUpload" v-if="!auto && hasReadyFile">
157
+ <i class="el-icon el-icon-video-play"></i>
158
+ {{ $t2('确认上传', 'components.VabUpload.comfirmUpload') }}
159
+ </el-button>
160
+ <el-button type="primary" @click="submitImage" class="button-sty" v-if="!uploading">
161
+ <i class="el-icon-check el-icon"></i>
162
+ {{ $t2('确 定', 'system.button.confirm2') }}
163
+ </el-button>
164
+ <!-- <el-button type="primary" plain class="button-sty" @click="handleBtn" v-if="uploading">
165
+ <i class="el-icon el-icon-video-play" v-if="btn==true"></i>
166
+ <i class="el-icon el-icon-video-pause" v-if="btn==false"></i>
167
+ {{btn|btnText}}
168
+ </el-button> -->
169
+ </span>
170
+ </el-dialog>
171
+ <privateProfileDialog v-if="showPrivateProfileDialog" :visiable.sync="showPrivateProfileDialog"
172
+ @confirm="confirmPrivateProfileDialog"></privateProfileDialog>
173
+ <el-dialog
174
+ :title="$t2('文件名修改', 'components.VabUpload.modifyFileName')"
175
+ :append-to-body="true"
176
+ :modal-append-to-body="true"
177
+ :close-on-click-modal="false"
178
+ v-if="showFileNameDialog"
179
+ :visible.sync="showFileNameDialog"
180
+ :modal="false"
181
+ custom-class="dialog-style list-dialog dialog-checkbox pd_8"
182
+ width="400px"
183
+ v-el-drag-dialog
184
+ v-el-dialog-center
185
+ >
186
+ <div class="cont">
187
+ <el-form ref="editForm" label-width="110px" class="adSearchForm" style="width: 362px;height: auto;">
188
+ <el-form-item :label="$t2('文件名称', 'components.VabUpload.fileName')">
189
+ <el-input v-model="editFileName" clearable class="all-width"/>
190
+ </el-form-item>
191
+ <el-form-item :label="$t2('文件格式', 'components.VabUpload.fileCategory')">
192
+ {{ editFileSuffix }}
193
+ </el-form-item>
194
+ </el-form>
195
+ </div>
196
+ <span slot="footer" class="dialog-footer">
197
+ <el-button type="primary" plain class="button-sty" @click="showFileNameDialog=false">
198
+ <i class="el-icon-close el-icon"></i>
199
+ {{ $t2('取 消', 'system.button.cancel2') }}
200
+ </el-button>
201
+ <el-button type="primary" @click="confirmFileNameDialog" class="button-sty">
202
+ <i class="el-icon-check el-icon"></i>
203
+ {{ $t2('确 ', 'system.button.confirm2') }}
204
+ </el-button>
205
+ </span>
206
+ </el-dialog>
207
+ </div>
208
+ </template>
209
+
210
+ <script>
211
+ import {mixins} from './mixins';
212
+
213
+ export default {
214
+ mixins: [mixins],
215
+ components: {
216
+ privateProfileDialog: () => import('./privateProfileDialog')
217
+ }
218
+ };
219
+ </script>
220
+
221
+ <style lang="scss" scoped>
222
+ .pup-annex-box {
223
+ height: 355px;
224
+ background: #fff;
225
+ }
226
+
227
+ ::v-deep .dialog-style {
228
+ margin-top: 7vh !important;
229
+
230
+ .dialog-footer {
231
+ padding-left: 6px;
232
+ display: block;
233
+ }
234
+
235
+ .upload-box .upload-demo .el-upload {
236
+ margin-top: 0 !important;
237
+ }
238
+ }
239
+ .showPasteArea {
240
+ margin-left:291px
241
+ }
242
+ </style>