cloud-web-corejs 1.0.281 → 1.1.0-dev.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/package.json +6 -2
  2. package/src/components/VabUpload/image-viewer.vue +442 -442
  3. package/src/components/VabUpload/index.vue +45 -3
  4. package/src/components/VabUpload/mixins.js +126 -19
  5. package/src/components/VabUpload/view.vue +248 -209
  6. package/src/components/baseTabs/mixins.js +181 -181
  7. package/src/components/bizTab/BizBillActions.vue +129 -0
  8. package/src/components/bizTab/BizTabListPage.vue +391 -0
  9. package/src/components/bizTab/README.md +378 -0
  10. package/src/components/bizTab/billTableUtil.js +48 -0
  11. package/src/components/bizTab/billValidators.js +136 -0
  12. package/src/components/bizTab/bizBillDetailMixin.js +705 -0
  13. package/src/components/bizTab/index.js +24 -0
  14. package/src/components/excelExport/exportFieldDialog.vue +23 -12
  15. package/src/components/excelExport/exportItemConfigUtil.js +30 -0
  16. package/src/components/excelExport/mixins.js +3 -3
  17. package/src/components/excelImport/index.vue +156 -156
  18. package/src/components/jsonImport/index.vue +1 -1
  19. package/src/components/langImport/index.vue +1 -1
  20. package/src/components/mobile/statusTag/mixins.js +1 -61
  21. package/src/components/mobile/wf/addTaskUserdialog.vue +23 -3
  22. package/src/components/mobile/wf/content.vue +1705 -1556
  23. package/src/components/mobile/wf/deleteTaskUserDialog.vue +22 -3
  24. package/src/components/mobile/wf/mixins/wfModifyDialogMixin.js +8 -6
  25. package/src/components/mobile/wf/selectUserDialog.vue +118 -0
  26. package/src/components/mobile/wf/setCandidateDialog.vue +25 -4
  27. package/src/components/mobile/wf/urgingDialog.vue +26 -3
  28. package/src/components/mobile/wf/wfModifyDialog.vue +4 -0
  29. package/src/components/obsUpload/index.vue +1 -1
  30. package/src/components/table/config.js +78 -78
  31. package/src/components/table/index.js +1276 -1276
  32. package/src/components/table/plugins/cell-area/index.js +1055 -0
  33. package/src/components/table/plugins/cell-area/index.scss +77 -0
  34. package/src/components/table/plugins/cell-area/util.js +224 -0
  35. package/src/components/table/tableForm.vue +330 -330
  36. package/src/components/table/tableFormMixin.js +318 -318
  37. package/src/components/table/vxeFilter/index.js +163 -163
  38. package/src/components/table/vxeFilter/mixin.js +316 -316
  39. package/src/components/wf/content.vue +1188 -1188
  40. package/src/components/wf/wf.js +40 -20
  41. package/src/components/wf/wfActionDropdown.vue +1 -1
  42. package/src/components/wf/wfActionItems.js +1 -1
  43. package/src/components/xform/form-designer/designer.js +51 -52
  44. package/src/components/xform/form-designer/form-widget/container-widget/data-table-widget.vue +269 -269
  45. package/src/components/xform/form-designer/form-widget/container-widget/detail-h5-widget.vue +18 -2
  46. package/src/components/xform/form-designer/form-widget/container-widget/detail-temp-widget.vue +132 -0
  47. package/src/components/xform/form-designer/form-widget/container-widget/detail-widget.vue +250 -250
  48. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-pane-widget.vue +23 -2
  49. package/src/components/xform/form-designer/form-widget/container-widget/h5-card-widget.vue +30 -1
  50. package/src/components/xform/form-designer/form-widget/dialog/fileReferenceDialog.vue +319 -320
  51. package/src/components/xform/form-designer/form-widget/dialog/formDialog.vue +365 -365
  52. package/src/components/xform/form-designer/form-widget/dialog/importDialog.vue +185 -185
  53. package/src/components/xform/form-designer/form-widget/dialog/searchFormDialog.vue +554 -555
  54. package/src/components/xform/form-designer/form-widget/dialog/vabSearchDialog.vue +409 -409
  55. package/src/components/xform/form-designer/form-widget/field-widget/a-link-widget.vue +150 -132
  56. package/src/components/xform/form-designer/form-widget/field-widget/date-range-widget.vue +114 -114
  57. package/src/components/xform/form-designer/form-widget/field-widget/date-widget.vue +154 -154
  58. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +47 -1
  59. package/src/components/xform/form-designer/form-widget/field-widget/mixins/date-limit-mixin.js +178 -178
  60. package/src/components/xform/form-designer/form-widget/field-widget/mixins/time-limit-mixin.js +77 -77
  61. package/src/components/xform/form-designer/form-widget/field-widget/select-export-item-button-widget.vue +6 -0
  62. package/src/components/xform/form-designer/form-widget/field-widget/select-widget.vue +139 -139
  63. package/src/components/xform/form-designer/form-widget/field-widget/singleUpload-widget.vue +1 -1
  64. package/src/components/xform/form-designer/form-widget/field-widget/time-range-widget.vue +106 -106
  65. package/src/components/xform/form-designer/form-widget/field-widget/time-widget.vue +134 -134
  66. package/src/components/xform/form-designer/form-widget/field-widget/vabUpload-widget.vue +3 -2
  67. package/src/components/xform/form-designer/indexMixin.js +35 -1
  68. package/src/components/xform/form-designer/setting-panel/form-setting.vue +39 -39
  69. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +10 -10
  70. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/exportItemColumns-dialog.vue +438 -432
  71. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/table-column-dialog.vue +2103 -2103
  72. package/src/components/xform/form-designer/setting-panel/property-editor/container-detail/detail-temp-edito.vue +90 -0
  73. package/src/components/xform/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue +82 -82
  74. package/src/components/xform/form-designer/setting-panel/property-editor/container-list-h5/list-h5-editor.vue +833 -846
  75. package/src/components/xform/form-designer/setting-panel/property-editor/container-table/table-dynamicField-editor.vue +8 -8
  76. package/src/components/xform/form-designer/setting-panel/property-editor/dropdownFlag-editor.vue +137 -137
  77. package/src/components/xform/form-designer/setting-panel/property-editor/field-button/search-dialog-event-editor.vue +237 -237
  78. package/src/components/xform/form-designer/setting-panel/property-editor/field-date/date-defaultValue-editor.vue +43 -43
  79. package/src/components/xform/form-designer/setting-panel/property-editor/field-date-range/date-range-defaultValue-editor.vue +43 -43
  80. package/src/components/xform/form-designer/setting-panel/property-editor/field-import-button/import2-button-editor.vue +96 -96
  81. package/src/components/xform/form-designer/setting-panel/property-editor/field-table-export-button/select-export-item-button-editor.vue +51 -0
  82. package/src/components/xform/form-designer/setting-panel/property-editor/field-time/time-defaultValue-editor.vue +42 -42
  83. package/src/components/xform/form-designer/setting-panel/property-editor/field-time-range/time-range-defaultValue-editor.vue +43 -43
  84. package/src/components/xform/form-designer/setting-panel/property-editor/formScriptEnabled-editor.vue +158 -158
  85. package/src/components/xform/form-designer/setting-panel/property-editor/h5Span-editor.vue +51 -0
  86. package/src/components/xform/form-designer/setting-panel/property-editor/itemStyle-editor.vue +39 -0
  87. package/src/components/xform/form-designer/setting-panel/property-editor/name-editor.vue +188 -188
  88. package/src/components/xform/form-designer/setting-panel/property-editor/styleTempClass-editor.vue +51 -0
  89. package/src/components/xform/form-designer/setting-panel/property-editor/textFlag-editor.vue +347 -347
  90. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +12 -0
  91. package/src/components/xform/form-designer/toolbar-panel/index.vue +884 -874
  92. package/src/components/xform/form-designer/toolbar-panel/indexMixin.js +14 -0
  93. package/src/components/xform/form-designer/widget-panel/index.vue +11 -7
  94. package/src/components/xform/form-designer/widget-panel/indexMixin.js +30 -6
  95. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +112 -4
  96. package/src/components/xform/form-render/container-item/data-table-mixin.js +151 -93
  97. package/src/components/xform/form-render/container-item/detail-h5-item.vue +204 -34
  98. package/src/components/xform/form-render/container-item/detail-temp-item.vue +110 -0
  99. package/src/components/xform/form-render/container-item/h5-card-pane-item.vue +160 -140
  100. package/src/components/xform/form-render/container-item/list-h5-item.vue +1913 -1699
  101. package/src/components/xform/form-render/index.vue +153 -147
  102. package/src/components/xform/form-render/indexMixin.js +35 -3
  103. package/src/components/xform/lang/en-US.js +14 -0
  104. package/src/components/xform/lang/zh-CN.js +17 -0
  105. package/src/components/xform/mixins/defaultHandle.js +707 -707
  106. package/src/components/xform/styles/h5.scss +2262 -0
  107. package/src/components/xform/utils/textMaskUtil.js +182 -179
  108. package/src/components/xform/utils/treeTableUtil.js +1292 -1265
  109. package/src/components/xform/utils/util.js +56 -11
  110. package/src/directive/append-to-body/index.js +48 -0
  111. package/src/index.js +13 -4
  112. package/src/layout/components/Sidebar/default.vue +1655 -1655
  113. package/src/layout/components/extractedCode/viewDialog.vue +7 -7
  114. package/src/router/index.js +48 -27
  115. package/src/router/modules/customer.js +71 -14
  116. package/src/store/modules/permission.js +17 -18
  117. package/src/utils/assetUrl.js +19 -0
  118. package/src/utils/pdfUtil.js +429 -429
  119. package/src/utils/resolveViewComponent.js +142 -16
  120. package/src/utils/vab.js +1283 -1279
  121. package/src/views/bd/project/branch/bd_branch/edit.vue +145 -0
  122. package/src/views/bd/project/branch/bd_branch/list.vue +72 -0
  123. package/src/views/bd/project/branch/bd_branch/menuKindDialog.vue +106 -0
  124. package/src/views/bd/project/branch/bd_branch/mixins/edit.js +189 -0
  125. package/src/views/bd/project/branch/bd_branch/mixins/list.js +124 -0
  126. package/src/views/bd/project/branch/bd_branch/mixins/menuKindDialog.js +85 -0
  127. package/src/views/bd/project/branch/form_script/list.vue +31 -0
  128. package/src/views/bd/project/branch/form_template/list.vue +30 -0
  129. package/src/views/bd/project/branch/menu_kind/list.vue +31 -0
  130. package/src/views/bd/project/common/form_script/list.vue +16 -0
  131. package/src/views/bd/project/common/form_template/list.vue +15 -0
  132. package/src/views/bd/project/common/menu_kind/list.vue +15 -0
  133. package/src/views/bd/project/core/branchContext.js +100 -0
  134. package/src/views/bd/project/core/branchPage.js +78 -0
  135. package/src/views/bd/project/core/branchPageWrap.vue +225 -0
  136. package/src/views/bd/project/core/branchScope.js +44 -0
  137. package/src/views/bd/project/core/branchSearchPage.js +285 -0
  138. package/src/views/bd/project/core/branchSelect.vue +85 -0
  139. package/src/views/bd/project/core/branchTreeBar.vue +81 -0
  140. package/src/views/bd/project/core/httpBranchPatch.js +58 -0
  141. package/src/views/bd/project/datatable/menu_kind/list.vue +15 -0
  142. package/src/views/bd/project/datatable/table_model/list.vue +15 -0
  143. package/src/views/bd/setting/bd_company_env/dialog.vue +174 -174
  144. package/src/views/bd/setting/form_template/edit.vue +378 -356
  145. package/src/views/bd/setting/form_template/formDesignerDialog.vue +6 -0
  146. package/src/views/bd/setting/form_template/formTemplateType.js +43 -0
  147. package/src/views/bd/setting/form_template/list.vue +304 -303
  148. package/src/views/bd/setting/form_template/mixins/edit.js +344 -280
  149. package/src/views/bd/setting/form_template/mixins/list.js +748 -721
  150. package/src/views/bd/setting/table_model/edit.vue +1066 -1066
  151. package/src/views/bd/setting/table_model/mixins/edit.js +1455 -1455
  152. package/src/views/bd/setting/table_model/mixins/zdDialog.js +148 -148
  153. package/src/views/support/form-dialog-demo/demoPickerDialog.vue +72 -0
  154. package/src/views/support/form-dialog-demo/index.vue +537 -0
  155. package/src/views/user/file_view_ins/list.vue +970 -970
  156. package/src/views/user/form/vform/designer.vue +823 -821
  157. package/src/views/user/home/default.vue +1117 -1117
  158. package/src/views/user/home/default2.vue +1 -1
  159. package/src/views/user/home/index.vue +103 -101
  160. package/src/views/user/notify_message/dialog.vue +139 -137
  161. package/src/views/user/outLink/form_view.vue +202 -202
  162. package/src/views/user/outLink/index.vue +110 -110
  163. package/src/views/user/outLink/view.vue +3 -3
  164. package/src/views/user/role/edit.vue +632 -632
  165. package/src/views/user/role/list.vue +260 -260
  166. package/src/views/user/wf/iframe/index.vue +51 -51
  167. package/src/views/user/wf/iframe/index2.vue +64 -64
  168. package/src/views/user/wf/wf_manage/list.vue +1112 -1116
  169. package/src/views/user/wf/wf_manage/list2.vue +871 -875
  170. package/src/views/user/wf/wf_manage/wfContentDialog.vue +134 -131
  171. package/src/views/user/wf/wf_obj_config/importItemDialog.vue +1 -1
  172. package/src/components/xform/form-designer/form-widget/field-widget/dropdown-menu-widget.vue +0 -106
  173. package/src/components/xform/form-designer/form-widget/field-widget/tableexportbuttonwidget.vue +0 -99
  174. package/src/components/xform/form-render/container-item/list-h5-item2.vue +0 -1340
  175. package/src/utils/wf.js +0 -766
@@ -14,13 +14,21 @@
14
14
  >
15
15
  <div class="upload-box" style="margin-left:-20px;margin-right:-20px;">
16
16
  <div class="upload-b_left" @click="choosePasteArea" :class="{on:pasteAreaStatus}"
17
- v-show="option.hidePasteArea!==true">
17
+ v-show="option.hidePasteArea!==true"
18
+ @dragenter="handlePasteAreaDragEnter"
19
+ @dragover="handlePasteAreaDragOver"
20
+ @dragleave="handlePasteAreaDragLeave"
21
+ @drop="handlePasteAreaDrop">
18
22
  <div class="t"><i
19
- class="el-icon-warning-outline"></i>{{ $t2('选择此处,可粘贴文件', 'components.VabUpload.tip') }}(Ctrl+V)
23
+ class="el-icon-warning-outline"></i>{{ $t2('选择此处,可粘贴文件', 'components.VabUpload.tip') }}(Ctrl+V){{ $t1(',或将文件拖拽到此处') }}
24
+ </div>
25
+ <div class="drag-mask" v-show="pasteAreaDragging">
26
+ <i class="el-icon-upload"></i>
27
+ <p>{{ $t1('松开鼠标,添加文件') }}</p>
20
28
  </div>
21
29
  <ul class="el-upload-list el-upload-list--picture">
22
30
  <div class="nodata" v-if="pasteList.length == 0">
23
- <img src="~@/resources/images/nodata2.png"/>
31
+ <img :src="$assetUrl(require('@/resources/images/nodata2.png'))" />
24
32
  </div>
25
33
  <li v-for="(pasteFile,index) in pasteList" :key="index" class="el-upload-list__item is-success">
26
34
  <div>
@@ -239,4 +247,38 @@ export default {
239
247
  .showPasteArea {
240
248
  margin-left:291px
241
249
  }
250
+
251
+ /* 左侧粘贴区支持拖拽文件,拖拽时铺一层提示遮罩(pointer-events:none 保证拖拽事件仍落到容器上) */
252
+ .upload-b_left {
253
+ position: relative;
254
+
255
+ .drag-mask {
256
+ position: absolute;
257
+ top: 0;
258
+ left: 0;
259
+ right: 0;
260
+ bottom: 0;
261
+ z-index: 2;
262
+ display: flex;
263
+ flex-direction: column;
264
+ align-items: center;
265
+ justify-content: center;
266
+ margin: 4px;
267
+ border: dashed 2px $--color-primary;
268
+ border-radius: 9px;
269
+ background: rgba(255, 255, 255, 0.88);
270
+ color: $--color-primary;
271
+ pointer-events: none;
272
+
273
+ i {
274
+ font-size: 46px;
275
+ margin-bottom: 8px;
276
+ }
277
+
278
+ p {
279
+ margin: 0;
280
+ font-size: 12px;
281
+ }
282
+ }
283
+ }
242
284
  </style>
@@ -114,6 +114,8 @@ tmixins = {
114
114
  showPrivateProfileDialog: false,
115
115
  pasteList: [],
116
116
  pasteAreaStatus: false,
117
+ pasteAreaDragging: false,
118
+ pasteAreaDragDepth: 0,
117
119
  option: {},
118
120
  editFileIndex: -1,
119
121
  showFileNameDialog: false,
@@ -380,6 +382,8 @@ tmixins = {
380
382
  this.clearFileInfo();
381
383
  this.initPickUploadMode();
382
384
  this.pasteAreaStatus = false;
385
+ this.pasteAreaDragging = false;
386
+ this.pasteAreaDragDepth = 0;
383
387
  this.dialogFormVisible = true;
384
388
  /*document.removeEventListener('paste', this.pasteEvent);
385
389
  document.addEventListener('paste', this.pasteEvent);*/
@@ -1212,27 +1216,93 @@ tmixins = {
1212
1216
  if (!(e.clipboardData && e.clipboardData.items)) {
1213
1217
  return;
1214
1218
  }
1215
- let files = Array.from(e.clipboardData.files);
1219
+ this.appendPasteFiles(Array.from(e.clipboardData.files));
1220
+ },
1221
+ /* 追加原始文件到左侧待确认列表(粘贴、拖拽共用) */
1222
+ appendPasteFiles(files) {
1223
+ if (!files || !files.length) {
1224
+ return;
1225
+ }
1216
1226
  let getFileSuffix = this.$commonFileUtil.getFileSuffix;
1217
- if (files.length) {
1218
- let fileList = files.map((rawFile) => {
1219
- let name = rawFile.name;
1220
- let index = name.lastIndexOf(".");
1221
- let fileSuffix = getFileSuffix(name);
1222
- let fileName =
1223
- index >= 0 ? name.substring(0, index).toString() : name.toString();
1224
- let file = {
1225
- name: rawFile.name,
1226
- size: rawFile.size,
1227
- raw: rawFile,
1228
- showUrl: URL.createObjectURL(rawFile),
1229
- fileName: fileName,
1230
- fileSuffix: fileSuffix,
1231
- };
1232
- return file;
1227
+ let fileList = files.map((rawFile) => {
1228
+ let name = rawFile.name;
1229
+ let index = name.lastIndexOf(".");
1230
+ let fileSuffix = getFileSuffix(name);
1231
+ let fileName =
1232
+ index >= 0 ? name.substring(0, index).toString() : name.toString();
1233
+ let file = {
1234
+ name: rawFile.name,
1235
+ size: rawFile.size,
1236
+ raw: rawFile,
1237
+ showUrl: URL.createObjectURL(rawFile),
1238
+ fileName: fileName,
1239
+ fileSuffix: fileSuffix,
1240
+ };
1241
+ return file;
1242
+ });
1243
+ this.pasteList.push(...fileList);
1244
+ },
1245
+ isFileDragEvent(e) {
1246
+ let dataTransfer = e.dataTransfer;
1247
+ if (!dataTransfer || !dataTransfer.types) return false;
1248
+ return Array.prototype.indexOf.call(dataTransfer.types, "Files") >= 0;
1249
+ },
1250
+ handlePasteAreaDragEnter(e) {
1251
+ if (!this.isFileDragEvent(e)) return;
1252
+ e.preventDefault();
1253
+ e.stopPropagation();
1254
+ this.pasteAreaDragDepth++;
1255
+ this.pasteAreaDragging = true;
1256
+ },
1257
+ handlePasteAreaDragOver(e) {
1258
+ if (!this.isFileDragEvent(e)) return;
1259
+ e.preventDefault();
1260
+ e.stopPropagation();
1261
+ e.dataTransfer.dropEffect = "copy";
1262
+ this.pasteAreaDragging = true;
1263
+ },
1264
+ handlePasteAreaDragLeave(e) {
1265
+ if (!this.isFileDragEvent(e)) return;
1266
+ e.preventDefault();
1267
+ e.stopPropagation();
1268
+ this.pasteAreaDragDepth--;
1269
+ if (this.pasteAreaDragDepth <= 0) {
1270
+ this.pasteAreaDragDepth = 0;
1271
+ this.pasteAreaDragging = false;
1272
+ }
1273
+ },
1274
+ handlePasteAreaDrop(e) {
1275
+ this.pasteAreaDragDepth = 0;
1276
+ this.pasteAreaDragging = false;
1277
+ if (!this.isFileDragEvent(e)) return;
1278
+ e.preventDefault();
1279
+ e.stopPropagation();
1280
+ /* 拖入即视为选中该区域,与粘贴保持一致 */
1281
+ this.pasteAreaStatus = true;
1282
+ let dataTransfer = e.dataTransfer;
1283
+ let items = dataTransfer.items ? Array.from(dataTransfer.items) : [];
1284
+ let hasDirectory = false;
1285
+ let files = Array.from(dataTransfer.files || []).filter(
1286
+ (rawFile, index) => {
1287
+ let item = items[index];
1288
+ let getAsEntry = item && item.webkitGetAsEntry;
1289
+ let entry = getAsEntry ? item.webkitGetAsEntry() : null;
1290
+ if (entry && entry.isDirectory) {
1291
+ hasDirectory = true;
1292
+ return false;
1293
+ }
1294
+ return true;
1295
+ }
1296
+ );
1297
+ if (hasDirectory) {
1298
+ this.$message({
1299
+ message: this.$t1("不支持上传文件夹,已自动忽略"),
1300
+ type: "warning",
1301
+ showClose: true,
1302
+ duration: 3000,
1233
1303
  });
1234
- this.pasteList.push(...fileList);
1235
1304
  }
1305
+ this.appendPasteFiles(files);
1236
1306
  },
1237
1307
  deletePasteFile(index) {
1238
1308
  this.pasteList.splice(index, 1);
@@ -1385,6 +1455,10 @@ tViewMixins = {
1385
1455
  chooseIndex: 0,
1386
1456
  fileServerInfo: {},
1387
1457
  model: null,
1458
+ // H5 非图片文件预览弹框,见 openFilePreviewDialog
1459
+ showFilePreviewDialog: false,
1460
+ previewFileUrl: null,
1461
+ previewFileName: null,
1388
1462
  };
1389
1463
  },
1390
1464
  computed: {
@@ -1745,8 +1819,41 @@ tViewMixins = {
1745
1819
  fileServerPreviewEnabled &&
1746
1820
  this.$commonFileUtil.isPreviewFile(url)
1747
1821
  ) {
1748
- this.$openFilePreview(url);
1822
+ /* 非图片文件:PC 走 $openFilePreview —— 它拿到预览地址后是 openInNewTab
1823
+ (见 utils/vab.js),在 H5 上等于跳出应用、返回全靠浏览器后退,体验断裂。
1824
+ H5 改成本组件内的全屏弹框套 iframe。开关由宿主传 h5Preview(xform 的
1825
+ vabUpload-widget 按 formConfig.layoutType === 'H5' 给),不传则维持原样。 */
1826
+ if (this.$attrs.h5Preview === true || this.$attrs.h5Preview === "true") {
1827
+ this.openFilePreviewDialog(url, this.getAttachmentName(attachment));
1828
+ } else {
1829
+ this.$openFilePreview(url);
1830
+ }
1831
+ }
1832
+ },
1833
+ /**
1834
+ * H5 的非图片文件预览:取预览地址后用弹框里的 iframe 承载。
1835
+ * 取址接口与 $openFilePreview 完全一致,只是不跳新标签页。
1836
+ */
1837
+ openFilePreviewDialog(url, name) {
1838
+ let fileSuffix = this.$commonFileUtil.getFileSuffix(url);
1839
+ if (!this.$commonFileUtil.isPreviewFile(url)) {
1840
+ return;
1749
1841
  }
1842
+ this.$http({
1843
+ url: USER_PREFIX + "/sf_common/getFilePreviewUrl",
1844
+ method: "post",
1845
+ data: {
1846
+ url: url,
1847
+ },
1848
+ isLoading: true,
1849
+ success: (res) => {
1850
+ if (!res.objx) return;
1851
+ this.previewFileUrl = res.objx;
1852
+ // 名字取不到就退回后缀,别让标题栏空着
1853
+ this.previewFileName = name || fileSuffix || "";
1854
+ this.showFilePreviewDialog = true;
1855
+ },
1856
+ });
1750
1857
  },
1751
1858
  getAttachmentName(attachment) {
1752
1859
  let name = null;