cloud-web-corejs 1.0.54-dev.745 → 1.0.54-dev.747

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 (52) hide show
  1. package/package.json +194 -192
  2. package/src/App.vue +73 -71
  3. package/src/components/baseArea/index.vue +1628 -1628
  4. package/src/components/fileLibrary/categoryMoveDialog.vue +109 -109
  5. package/src/components/fileLibrary/fileObjAuthDialog.vue +297 -297
  6. package/src/components/fileLibrary/index.vue +1109 -1109
  7. package/src/components/fileLibrary/propertiesDialog.vue +190 -190
  8. package/src/components/fileLibrary/recycleBinDialog.vue +237 -237
  9. package/src/components/wf/mixins/setCandidateDialog.js +217 -217
  10. package/src/components/wf/mixins/setCandidateDialog2.js +252 -252
  11. package/src/components/xform/docs//345/257/271/346/257/224/345/212/237/350/203/275/350/220/275/345/234/260/346/226/271/346/241/210.md +986 -986
  12. package/src/components/xform/form-designer/form-widget/field-widget/area-select-widget.vue +272 -272
  13. package/src/components/xform/form-designer/form-widget/field-widget/baseAttachment-widget.vue +216 -216
  14. package/src/components/xform/form-designer/form-widget/field-widget/form-item-wrapper.vue +928 -928
  15. package/src/components/xform/form-designer/index.vue +195 -195
  16. package/src/components/xform/form-designer/indexMixin.js +848 -848
  17. package/src/components/xform/form-designer/setting-panel/index.vue +313 -313
  18. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/columnRenderDialog.vue +124 -124
  19. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +369 -369
  20. package/src/components/xform/form-designer/widget-panel/index.vue +389 -389
  21. package/src/components/xform/form-designer/widget-panel/indexMixin.js +343 -343
  22. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +4531 -4531
  23. package/src/components/xform/form-render/container-item/data-table-mixin.js +4748 -4576
  24. package/src/components/xform/form-render/container-item/tab-item.vue +125 -125
  25. package/src/components/xform/form-render/indexMixin.js +5061 -5078
  26. package/src/components/xform/lang/en-US.js +457 -457
  27. package/src/components/xform/lang/zh-CN.js +628 -628
  28. package/src/components/xform/utils/util.js +1585 -1554
  29. package/src/index.js +347 -230
  30. package/src/layout/components/AppMain.vue +122 -125
  31. package/src/layout/components/extractedCode/viewDialog.vue +207 -207
  32. package/src/layout/components/langTool.vue +128 -123
  33. package/src/layout/defaultLayout.vue +164 -158
  34. package/src/microRouter/index.js +389 -0
  35. package/src/permission.js +185 -135
  36. package/src/public-path.js +8 -0
  37. package/src/store/config/index.js +667 -669
  38. package/src/store/modules/micro.js +46 -0
  39. package/src/store/modules/permission.js +468 -373
  40. package/src/store/modules/user.js +419 -415
  41. package/src/utils/auth.js +27 -1
  42. package/src/utils/index.js +579 -6
  43. package/src/utils/keepAlive.js +4 -0
  44. package/src/utils/menuAdapter.js +183 -0
  45. package/src/utils/request.js +417 -28
  46. package/src/views/bd/setting/formVersion/ftHistoryDialog.vue +483 -483
  47. package/src/views/bd/setting/form_script/form_list.vue +174 -174
  48. package/src/views/bd/setting/form_script/mixins/form_list.js +330 -330
  49. package/src/views/bd/setting/form_template/formDesignerDialog.vue +171 -171
  50. package/src/views/bd/setting/form_template/wfObjConfigDialog.vue +253 -253
  51. package/src/views/user/menuFallback/index.vue +123 -0
  52. package/src/views/user/wf/wfReport/index.vue +625 -625
@@ -1,1109 +1,1109 @@
1
- <template>
2
- <div v-show="title != '' && title != null" style="overflow: hidden;height:100%;display:flex">
3
- <div class="tree-box tree-annex">
4
- <div class="tit">
5
- <b>{{ title }}</b>
6
- </div>
7
- <div class="tree-form" v-if="option.showCategoryFilterArea !== false">
8
- <el-input
9
- :placeholder="
10
- $t2(
11
- '请输入文件夹名称',
12
- 'components.fileLibrary.categoryPlaceholder'
13
- )
14
- "
15
- v-model="filterText"
16
- class="txt"
17
- >
18
- <el-button slot="append" icon="el-icon-search"></el-button>
19
- </el-input>
20
- </div>
21
- <div class="tree-btns" v-if="isCategoryEdit">
22
- <el-button
23
- type="primary"
24
- plain
25
- icon="el-icon-circle-plus-outline"
26
- class="btn"
27
- @click="addFileCategory()"
28
- v-if="fileObjAuth.addAuth"
29
- >{{ $t2("新增", "components.fileLibrary.addCategory") }}
30
- </el-button>
31
- <el-button
32
- type="primary"
33
- plain
34
- icon="el-icon-edit-outline"
35
- class="btn"
36
- @click="editFileCategory()"
37
- :disabled="currentFileCategory === null || !currentFileCategory.id"
38
- v-if="fileObjAuth.editAuth"
39
- >
40
- {{ $t2("编辑", "components.fileLibrary.editCategory") }}
41
- </el-button>
42
- <el-button
43
- type="primary"
44
- plain
45
- class="btn"
46
- icon="el-icon-edit"
47
- @click="showFileObjAuthDialog = true"
48
- v-if="isEdit && fileObjAuth.authAuth"
49
- >{{ $t2("权限", "components.fileLibrary.authAuth") }}
50
- </el-button>
51
- </div>
52
- <el-tree
53
- v-if="treeFlag"
54
- :props="defaultProps"
55
- :load="loadNode"
56
- node-key="id"
57
- ref="tree"
58
- lazy
59
- :filter-node-method="filterNode"
60
- :expand-on-click-node="false"
61
- @node-click="handleNodeClick"
62
- class="tree-list"
63
- icon-class="el-icon-arrow-down"
64
- :style="
65
- option.showCategoryFilterArea === false
66
- ? 'height: calc(100vh - 113px)'
67
- : ''
68
- "
69
- >
70
- <span
71
- class="el-tree-node__label"
72
- slot-scope="{ node }"
73
- v-if="!node.data.moreBtn"
74
- >
75
- <i class="ico-wenjian"></i>
76
- <span>{{ node.label }}</span>
77
- </span>
78
- <span v-else class="el-tree-node__label">
79
- <el-button type="primary" plain class="button-sty">{{
80
- node.label
81
- }}</el-button>
82
- </span>
83
- </el-tree>
84
- </div>
85
- <label id="labBtn">
86
- <div class="icon">
87
- <i class="el-icon-more"></i>
88
- <i class="el-icon-more"></i>
89
- </div>
90
- </label>
91
- <div class="main-right file-library" style="overflow: hidden">
92
- <div class="pop-annex-filter" v-if="popAnnexFilter">
93
- <div
94
- class="item"
95
- v-for="(checkBillData, index) in checkBillDatas"
96
- :key="index"
97
- >
98
- <span>{{ getBillLabel(checkBillData) }}</span
99
- ><i class="el-icon-close" @click="deleteBillData(index)"></i>
100
- </div>
101
- </div>
102
- <div class="annex-filter" v-if="isBillEnabled">
103
- <el-button
104
- slot="append"
105
- icon="el-icon-search"
106
- @click="openBillDialog"
107
- size="mini"
108
- class="an-btn-search"
109
- type="success"
110
- >
111
- {{
112
- $t2("选择" + billConfig.name, "components.fileLibrary.selectBill", {
113
- billName: billConfig.name,
114
- })
115
- }}
116
- </el-button>
117
- <div class="abox">
118
- <div
119
- class="item"
120
- v-for="(checkBillData, index) in checkBillDatas"
121
- :key="index"
122
- >
123
- <span>{{ getBillLabel(checkBillData) }}</span
124
- ><i class="el-icon-close" @click="deleteBillData(index)"></i>
125
- </div>
126
- </div>
127
-
128
- <el-button
129
- slot="append"
130
- icon="iconfont icon-gengduo1"
131
- size="mini"
132
- class="an-btn-more"
133
- type="primary"
134
- @click="popAnnexFilter = false"
135
- v-if="popAnnexFilter"
136
- >
137
- </el-button>
138
- <el-button
139
- slot="append"
140
- icon="iconfont icon-gengduo1"
141
- size="mini"
142
- class="an-btn-more"
143
- @click="popAnnexFilter = true"
144
- v-else
145
- >
146
- </el-button>
147
- <el-button
148
- slot="append"
149
- icon="el-icon-delete"
150
- size="mini"
151
- class="an-btn-del"
152
- @click="clearBill"
153
- >
154
- {{ $t2("取消选择", "components.fileLibrary.cancelSelect") }}
155
- </el-button>
156
- </div>
157
-
158
- <div class="annex-screen">
159
- <el-button
160
- type="warning"
161
- class="button-sty"
162
- icon="el-icon-plus"
163
- @click="addFile"
164
- v-if="isEdit && fileObjAuth.uploadAuth"
165
- >{{ $t2("上传", "components.fileLibrary.upload") }}
166
- </el-button>
167
- <el-button
168
- type="primary"
169
- class="button-sty"
170
- icon="el-icon-download"
171
- @click.native="mulDownload2"
172
- v-if="fileObjAuth.downloadAuth"
173
- >{{ $t2("下载", "components.fileLibrary.download") }}
174
- </el-button>
175
- <el-button
176
- type="danger"
177
- class="button-sty"
178
- icon="el-icon-takeaway-box"
179
- @click="showRecycleBinDialog = true"
180
- v-if="isEdit && (fileObjAuth.deleteAuth || fileObjAuth.deleteDirAuth)"
181
- >
182
- {{ $t2("回收站", "components.fileLibrary.recycleBin") }}
183
- </el-button>
184
- <el-button
185
- type="primary"
186
- plain
187
- class="button-sty"
188
- icon="el-icon-rank"
189
- @click.native="openCategoryMoveDialog(1)"
190
- v-if="isEdit && fileObjAuth.moveAuth"
191
- >
192
- {{ $t2("移动到", "components.fileLibrary.moveTo") }}
193
- </el-button>
194
- <el-button
195
- type="primary"
196
- plain
197
- class="button-sty"
198
- icon="el-icon-copy-document"
199
- @click.native="openCategoryMoveDialog(2)"
200
- v-if="isEdit && fileObjAuth.copyAuth"
201
- >
202
- {{ $t2("复制到", "components.fileLibrary.copyTo") }}
203
- </el-button>
204
- <el-button
205
- type="primary"
206
- plain
207
- class="button-sty"
208
- icon="el-icon-refresh"
209
- @click.native="batchReplace"
210
- v-if="isEdit && fileObjAuth.replaceAuth"
211
- >
212
- {{ $t2("替换", "components.fileLibrary.replace") }}
213
- </el-button>
214
- <el-button
215
- type="primary"
216
- plain
217
- class="button-sty"
218
- icon="el-icon-delete"
219
- @click.native="deleteAttach()"
220
- v-if="isEdit && (fileObjAuth.deleteAuth || fileObjAuth.deleteDirAuth)"
221
- >
222
- {{ $t2("删除", "components.fileLibrary.delete") }}
223
- </el-button>
224
- <el-button
225
- icon="iconfont icon-shaixuan"
226
- class="button-sty"
227
- @click="showFilterDialog = true"
228
- >
229
- {{ $t1("搜索") }}
230
- </el-button>
231
-
232
- <template
233
- v-for="(fileButton, customToobarButtonIndex) in customToobarButtons"
234
- >
235
- <template
236
- v-if="
237
- fileButton.dirs === null ||
238
- fileButton.dirs === undefined ||
239
- attachment.dirs === fileButton.dirs
240
- "
241
- >
242
- <template v-if="customFileButtonVisable(fileButton, attachment)">
243
- <el-button
244
- type="primary"
245
- plain
246
- class="button-sty"
247
- :icon="fileButton.icon"
248
- :key="customToobarButtonIndex"
249
- @click="customToobarButtonEvent(fileButton)"
250
- >{{ fileButton.label }}
251
- </el-button>
252
- </template>
253
- </template>
254
- </template>
255
- </div>
256
- <div
257
- class="line"
258
- v-if="
259
- fileObjAuth.uploadAuth ||
260
- fileObjAuth.downloadAuth ||
261
- fileObjAuth.deleteAuth ||
262
- fileObjAuth.moveAuth ||
263
- fileObjAuth.copyAuth ||
264
- fileObjAuth.replaceAuth ||
265
- fileObjAuth.deleteDirAuth
266
- "
267
- ></div>
268
- <div class="annex-crumbs">
269
- <span class="tit"><i class="iconfont icon-wenjianjia"></i>文件区</span>
270
- <span class="tit" style="padding-right: 0"
271
- >{{ $t2("指定路径", "components.fileLibrary.assignPath") }}:</span
272
- >
273
- <el-breadcrumb separator-class="el-icon-arrow-right">
274
- <el-breadcrumb-item
275
- v-for="treeNode in treeNodeArr"
276
- :key="treeNode.id"
277
- @click.native="doNav(treeNode)"
278
- >{{ treeNode.label }}
279
- </el-breadcrumb-item>
280
- </el-breadcrumb>
281
- </div>
282
- <div class="grid-height viewBox">
283
- <div class="annex-searchBox">
284
- <div class="fl">
285
- <div class="oper">
286
- <el-checkbox
287
- v-model="checkAll"
288
- @change="changeCheckAll"
289
- :disabled="checkAllDisabled"
290
- :indeterminate="checkAllIndeterminate"
291
- >已选中 {{ checkList.length }} 项{{
292
- $t2("", "components.fileLibrary.aa")
293
- }}
294
- </el-checkbox>
295
- </div>
296
- <div class="search-box">
297
- <template v-if="currentFileCategory && currentFileCategory.id">
298
- <el-input
299
- :placeholder="
300
- $t2(
301
- '请输入文件名',
302
- 'components.fileLibrary.filePlaceholder'
303
- )
304
- "
305
- v-model="formData.fileName"
306
- clearable
307
- >
308
- <el-button
309
- slot="append"
310
- icon="el-icon-search"
311
- @click="searchEvent"
312
- ></el-button>
313
- </el-input>
314
- <el-button
315
- icon="iconfont icon-shaixuan"
316
- class="button-sty"
317
- @click="showAdvancedSearch = true"
318
- >
319
- {{ $t2("筛选", "components.fileLibrary.screen") }}
320
- </el-button>
321
- </template>
322
- </div>
323
- </div>
324
- <div class="fr">
325
- <el-button
326
- type="primary"
327
- icon="iconfont icon-icmenu2"
328
- @click="changeShowType()"
329
- class="button-sty icon-btn"
330
- v-show="showType === 1"
331
- >{{ $t2("列表", "components.fileLibrary.tableList") }}
332
- </el-button>
333
- <el-button
334
- type="primary"
335
- style="margin-left: 0"
336
- icon="el-icon-menu"
337
- @click="changeShowType()"
338
- class="button-sty icon-btn"
339
- v-show="showType === 2"
340
- >{{ $t2("图示", "components.fileLibrary.imageList") }}
341
- </el-button>
342
- </div>
343
- </div>
344
- <div class="mask" v-show="is_show_mask"></div>
345
- <div
346
- class="containter1"
347
- ref="containter1"
348
- v-show="showType === 1"
349
- style="overflow: auto"
350
- >
351
- <div class="annex-piclist">
352
- <div class="clearfix">
353
- <el-checkbox-group
354
- v-model="checkList"
355
- @change="checkChange"
356
- class="f-group"
357
- >
358
- <template v-for="(attachment, index) in page.records">
359
- <li
360
- :key="index"
361
- class="item"
362
- :class="checkList.includes(attachment.id) ? 'on' : ''"
363
- >
364
- <el-checkbox :label="attachment.id"
365
- ><span></span
366
- ></el-checkbox>
367
- <div class="oper">
368
- <el-tooltip
369
- effect="dark"
370
- content="详情"
371
- placement="top"
372
- v-if="
373
- !attachment.dirs && isEdit && fileObjAuth.editAuth
374
- "
375
- ><i
376
- class="el-tooltip iconfont icon-shuxing ico"
377
- @click="openPropertiesDialog(attachment)"
378
- ></i>
379
- </el-tooltip>
380
- <el-tooltip
381
- effect="dark"
382
- content="详情"
383
- placement="top"
384
- v-if="attachment.dirs && isEdit && fileObjAuth.editAuth"
385
- ><i
386
- class="el-tooltip iconfont icon-shuxing ico"
387
- @click="editFileCategory(attachment)"
388
- ></i>
389
- </el-tooltip>
390
- <a
391
- href="javascript:void(0);"
392
- class="a-link ico"
393
- v-if="!attachment.dirs && fileObjAuth.downloadAuth"
394
- @click="downloadSingerFile(attachment)"
395
- >
396
- <el-tooltip
397
- effect="dark"
398
- content="下载"
399
- placement="top"
400
- popper-class="tooltip-skin"
401
- >
402
- <i class="el-icon-download" />
403
- </el-tooltip>
404
- </a>
405
- <el-dropdown trigger="click" v-if="isEdit">
406
- <span class="ico"><i class="el-icon-more"></i> </span>
407
- <el-dropdown-menu slot="dropdown">
408
- <el-dropdown-item
409
- @click.native="openShareDialog(attachment)"
410
- v-if="!attachment.dirs && fileObjAuth.shareAuth"
411
- ><i class="el-icon-share"></i>分享
412
- </el-dropdown-item>
413
- <el-dropdown-item
414
- @click.native="
415
- replaceFile(attachment, index, page.records)
416
- "
417
- v-if="
418
- !attachment.dirs &&
419
- isEdit &&
420
- attachment.status != 1 &&
421
- fileObjAuth.replaceAuth
422
- "
423
- >
424
- <i class="el-icon-refresh"></i>替换
425
- </el-dropdown-item>
426
- <el-dropdown-item
427
- @click.native="openFileHistoryDialog(attachment)"
428
- v-if="
429
- !attachment.dirs &&
430
- isEdit &&
431
- fileObjAuth.historyAuth
432
- "
433
- >
434
- <i class="el-icon-s-order"></i>历史
435
- </el-dropdown-item>
436
- <el-dropdown-item
437
- @click.native="deleteAttach(attachment)"
438
- v-if="
439
- !attachment.dirs &&
440
- isEdit &&
441
- attachment.status != 1 &&
442
- fileObjAuth.deleteAuth
443
- "
444
- >
445
- <i class="el-icon-delete"></i>删除
446
- </el-dropdown-item>
447
- <el-dropdown-item
448
- @click.native="deleteCategory(attachment)"
449
- v-if="
450
- attachment.dirs &&
451
- isEdit &&
452
- fileObjAuth.deleteDirAuth
453
- "
454
- >
455
- <i class="el-icon-delete"></i>删除
456
- </el-dropdown-item>
457
- <template
458
- v-for="(
459
- fileButton, fileButtonIndex
460
- ) in customFileButtons"
461
- >
462
- <template
463
- v-if="
464
- fileButton.dirs === null ||
465
- fileButton.dirs === undefined ||
466
- attachment.dirs === fileButton.dirs
467
- "
468
- >
469
- <template
470
- v-if="
471
- customFileButtonVisable(
472
- fileButton,
473
- attachment
474
- )
475
- "
476
- >
477
- <el-dropdown-item
478
- @click.native="
479
- customFileButtonEvent(
480
- fileButton,
481
- attachment
482
- )
483
- "
484
- :key="fileButtonIndex"
485
- >
486
- <i :class="fileButton.icon"></i
487
- >{{ fileButton.label }}
488
- </el-dropdown-item>
489
- </template>
490
- </template>
491
- </template>
492
- </el-dropdown-menu>
493
- </el-dropdown>
494
- </div>
495
- <div class="custom-slot">
496
- <slot name="custom" v-bind="{ row: attachment }"></slot>
497
- </div>
498
- <!-- <div class="status s-1" v-if="!attachment.dirs && attachment.status==1">
499
- <el-tooltip effect="dark" content="已归档" placement="top" popper-class="tooltip-skin"><i
500
- class="iconfont icon-file"></i>
501
- </el-tooltip>
502
- </div> -->
503
- <div
504
- class="status s-1"
505
- v-if="!attachment.dirs && attachment.status === 1"
506
- ></div>
507
- <div
508
- class="img"
509
- @click="openPreview(attachment)"
510
- v-if="!attachment.dirs"
511
- >
512
- <div class="show-video" v-if="hasPreview(attachment)">
513
- <i class="icon-chakan"></i>
514
- </div>
515
- <div class="show-video" v-if="false">
516
- <i class="el-icon-video-play"></i>
517
- </div>
518
- <p><img :src="getShowUrl(attachment)" /></p>
519
- </div>
520
- <div
521
- class="img"
522
- @click="changeCategory(attachment)"
523
- v-if="attachment.dirs"
524
- >
525
- <svg-icon icon-class="ico-wenjianjia" />
526
- </div>
527
- <el-tooltip
528
- :enterable="false"
529
- effect="dark"
530
- :content="attachment.fileName"
531
- placement="top"
532
- >
533
- <div class="txt-box">
534
- <div class="tb-left"></div>
535
- <div class="tb-mid">
536
- <div class="txt">
537
- <span class="name">{{
538
- getFileName(attachment)
539
- }}</span
540
- ><span v-if="attachment.extension"
541
- >.{{ attachment.extension }}</span
542
- >
543
- </div>
544
- </div>
545
- <div class="format">
546
- ... .{{ attachment.extension }}
547
- </div>
548
- </div>
549
- </el-tooltip>
550
- </li>
551
- </template>
552
- </el-checkbox-group>
553
- <!-- <div class="item more" v-if="page.total>page.records.length"
554
- @click="changePage(page.current+1, pageSize)">
555
- <div class="img">
556
- <svg-icon icon-class="ico-more"/>
557
- </div>
558
- <div class="name">更多</div>
559
- </div>-->
560
- </div>
561
- <div class="vxe-grid">
562
- <div class="vxe-grid&#45;&#45;pager-wrapper">
563
- <vxe-pager
564
- class="pages-box"
565
- :current-page.sync="page.current"
566
- :page-size.sync="page.size"
567
- :total="page.total"
568
- :layouts="['PrevPage', 'Number', 'NextPage']"
569
- @page-change="changePageNew"
570
- >
571
- <template #right>
572
- <span>
573
- <span>当前记录</span>
574
- <span class="f-red"> {{ page.records.length }} </span>
575
- <span>/</span>
576
- <span class="f-red"> {{ page.total }}</span>
577
- </span>
578
- </template>
579
- </vxe-pager>
580
- </div>
581
- </div>
582
- </div>
583
- </div>
584
- <div class="annex-grid-height" v-show="showType === 2">
585
- <vxe-grid
586
- ref="table-m1"
587
- v-bind="vxeOption"
588
- :data="page.records"
589
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
590
- @custom="$vxeTableUtil.customHandle"
591
- @checkbox-change="tableCheckChange"
592
- @checkbox-all="tableCheckAll"
593
- >
594
- <!-- <template #bottom v-if="page.total>page.records.length">
595
- <div class="vxe-annex-more" @click="changePage(page.current+1, pageSize)">
596
- <span>更多</span>
597
- <i class="el-icon-d-arrow-right"></i>
598
- </div>
599
- </template>-->
600
- <template #pager>
601
- <vxe-pager
602
- class="pages-box"
603
- :current-page.sync="page.current"
604
- :page-size.sync="page.size"
605
- :total="page.total"
606
- :layouts="['PrevPage', 'Number', 'NextPage']"
607
- @page-change="changePageNew"
608
- >
609
- <template #right>
610
- <span>
611
- <span>{{
612
- $t2("当前记录", "components.table.pageInfo")
613
- }}</span>
614
- <span class="f-red"> {{ page.records.length }} </span>
615
- <span>/</span>
616
- <span class="f-red"> {{ page.total }}</span>
617
- </span>
618
- </template>
619
- </vxe-pager>
620
- </template>
621
- <template #operate="{ row, rowIndex, items }">
622
- <template v-if="!row.dirs">
623
- <a
624
- href="javascript:void(0);"
625
- class="a-link"
626
- v-if="isEdit && fileObjAuth.editAuth === 1"
627
- @click="openPropertiesDialog(row)"
628
- >
629
- <el-tooltip
630
- :enterable="false"
631
- effect="dark"
632
- :content="$t2('详情', 'components.fileLibrary.detail')"
633
- placement="top"
634
- popper-class="tooltip-skin"
635
- >
636
- <i class="iconfont icon-shuxing" />
637
- </el-tooltip>
638
- </a>
639
- <a
640
- href="javascript:void(0);"
641
- class="a-link"
642
- v-if="fileObjAuth.downloadAuth === 1"
643
- @click="downloadSingerFile(row)"
644
- >
645
- <el-tooltip
646
- :enterable="false"
647
- effect="dark"
648
- :content="$t2('下载', 'components.fileLibrary.download')"
649
- placement="top"
650
- popper-class="tooltip-skin"
651
- >
652
- <i class="el-icon-download" />
653
- </el-tooltip>
654
- </a>
655
- <a
656
- href="javascript:void(0);"
657
- class="a-link"
658
- v-if="fileObjAuth.shareAuth === 1"
659
- @click="openShareDialog(row)"
660
- >
661
- <el-tooltip
662
- :enterable="false"
663
- effect="dark"
664
- :content="$t2('分享', 'components.fileLibrary.share')"
665
- placement="top"
666
- popper-class="tooltip-skin"
667
- >
668
- <i class="el-icon-share" />
669
- </el-tooltip>
670
- </a>
671
- <a
672
- href="javascript:void(0);"
673
- class="a-link"
674
- v-if="
675
- isEdit && row.status != 1 && fileObjAuth.replaceAuth === 1
676
- "
677
- @click="replaceFile(row, rowIndex, items)"
678
- >
679
- <el-tooltip
680
- :enterable="false"
681
- effect="dark"
682
- :content="$t2('替换', 'components.fileLibrary.replace')"
683
- placement="top"
684
- popper-class="tooltip-skin"
685
- >
686
- <i class="el-icon-refresh" />
687
- </el-tooltip>
688
- </a>
689
- <a
690
- href="javascript:void(0);"
691
- class="a-link"
692
- v-if="isEdit && fileObjAuth.historyAuth === 1"
693
- @click="openFileHistoryDialog(row)"
694
- >
695
- <el-tooltip
696
- :enterable="false"
697
- effect="dark"
698
- :content="$t2('历史', 'components.fileLibrary.history')"
699
- placement="top"
700
- popper-class="tooltip-skin"
701
- >
702
- <i class="el-icon-s-order" />
703
- </el-tooltip>
704
- </a>
705
- <a
706
- href="javascript:void(0);"
707
- class="a-link"
708
- v-if="
709
- isEdit && row.status != 1 && fileObjAuth.deleteAuth === 1
710
- "
711
- @click="deleteAttach(row)"
712
- >
713
- <el-tooltip
714
- :enterable="false"
715
- effect="dark"
716
- :content="$t2('删除', 'components.fileLibrary.delete')"
717
- placement="top"
718
- popper-class="tooltip-skin"
719
- >
720
- <i class="el-icon-delete" />
721
- </el-tooltip>
722
- </a>
723
- </template>
724
- <template v-else>
725
- <a
726
- href="javascript:void(0);"
727
- class="a-link"
728
- v-if="isEdit && isCategoryEdit && fileObjAuth.editAuth === 1"
729
- @click="editFileCategory(row)"
730
- >
731
- <el-tooltip
732
- :enterable="false"
733
- effect="dark"
734
- :content="$t2('详情', 'components.fileLibrary.detail')"
735
- placement="top"
736
- popper-class="tooltip-skin"
737
- >
738
- <i class="iconfont icon-shuxing" />
739
- </el-tooltip>
740
- </a>
741
- <a
742
- href="javascript:void(0);"
743
- class="a-link"
744
- v-if="
745
- isEdit && isCategoryEdit && fileObjAuth.deleteDirAuth === 1
746
- "
747
- @click="deleteAttach(row)"
748
- >
749
- <el-tooltip
750
- :enterable="false"
751
- effect="dark"
752
- :content="$t2('删除', 'components.fileLibrary.delete')"
753
- placement="top"
754
- popper-class="tooltip-skin"
755
- >
756
- <i class="el-icon-delete" />
757
- </el-tooltip>
758
- </a>
759
- </template>
760
- <template v-for="(fileButton, index) in customFileButtons">
761
- <template
762
- v-if="
763
- fileButton.dirs === null ||
764
- fileButton.dirs === undefined ||
765
- row.dirs === fileButton.dirs
766
- "
767
- >
768
- <a
769
- :key="index"
770
- href="javascript:void(0);"
771
- class="a-link"
772
- v-if="customFileButtonVisable(fileButton, row)"
773
- @click="customFileButtonEvent(fileButton, row)"
774
- >
775
- <el-tooltip
776
- :enterable="false"
777
- effect="dark"
778
- :content="fileButton.label"
779
- placement="top"
780
- popper-class="tooltip-skin"
781
- >
782
- <i :class="fileButton.icon" />
783
- </el-tooltip>
784
- </a>
785
- </template>
786
- </template>
787
- </template>
788
- </vxe-grid>
789
- </div>
790
- </div>
791
- <el-dialog
792
- :title="
793
- editCategory.id
794
- ? $t2('编辑文件夹', 'components.fileLibrary.editCategoryTitle')
795
- : $t2('新增文件夹', 'components.fileLibrary.addCategoryTitle')
796
- "
797
- :append-to-body="true"
798
- :modal-append-to-body="true"
799
- :close-on-click-modal="false"
800
- v-if="showEditCategoryDialog"
801
- :visible.sync="showEditCategoryDialog"
802
- :modal="false"
803
- custom-class="dialog-style list-dialog dialog-checkbox pd_8"
804
- width="562px"
805
- v-el-drag-dialog
806
- v-el-dialog-center
807
- >
808
- <div class="cont">
809
- <el-form
810
- ref="editCategoryForm"
811
- :model="editCategory"
812
- label-width="102px"
813
- class="adSearchForm"
814
- >
815
- <el-form-item
816
- :label="
817
- $t2('文件夹路径', 'components.fileLibrary.fileCategoryPath')
818
- "
819
- >
820
- <el-breadcrumb separator-class="el-icon-arrow-right">
821
- <el-breadcrumb-item
822
- v-for="(treeNode, index) in treeNodeArr"
823
- :key="index"
824
- >{{ treeNode.label }}
825
- </el-breadcrumb-item>
826
- </el-breadcrumb>
827
- </el-form-item>
828
- <el-form-item
829
- :label="
830
- $t2('文件夹编码', 'components.fileLibrary.fileCategorySn')
831
- "
832
- >
833
- <span>{{ editCategory.fileSn }}</span>
834
- </el-form-item>
835
- <el-form-item
836
- :label="
837
- $t2('文件夹名称', 'components.fileLibrary.fileCategoryName')
838
- "
839
- >
840
- <el-input
841
- v-model="editCategory.fileName"
842
- clearable
843
- class="all-width"
844
- />
845
- </el-form-item>
846
- <el-form-item :label="$t1('关联编码')">
847
- <el-input
848
- v-model="editCategory.relationCode"
849
- clearable
850
- class="all-width"
851
- />
852
- </el-form-item>
853
- </el-form>
854
- </div>
855
- <span slot="footer" class="dialog-footer">
856
- <el-button
857
- type="primary"
858
- plain
859
- class="button-sty"
860
- @click="showEditCategoryDialog = false"
861
- >
862
- <i class="el-icon-close el-icon"></i>
863
- {{ $t2("取 消", "system.button.cancel2") }}
864
- </el-button>
865
- <el-button
866
- type="primary"
867
- @click="confirmEditCategoryDialog"
868
- class="button-sty"
869
- >
870
- <i class="el-icon-check el-icon"></i>
871
- {{ $t2("确 定", "system.button.confirm2") }}
872
- </el-button>
873
- </span>
874
- </el-dialog>
875
- </div>
876
- <propertiesDialog
877
- v-if="showPropertiesDialog"
878
- :visiable.sync="showPropertiesDialog"
879
- :editAttachment.sync="editAttachment"
880
- :isEdit="isEdit"
881
- :treeNodeArr.sync="treeNodeArr"
882
- :option="option"
883
- ></propertiesDialog>
884
- <el-image-viewer
885
- v-if="showViewer"
886
- :on-close="
887
- () => {
888
- showViewer = false;
889
- }
890
- "
891
- :initial-index.sync="chooseIndex"
892
- :url-list="imageDTOs"
893
- />
894
- <categoryMoveDialog
895
- :checkRows.sync="checkRows"
896
- v-if="showCategoryMoveDialog"
897
- :visiable.sync="showCategoryMoveDialog"
898
- @confirm="confirmMoveDialog"
899
- :handleType.sync="handleType"
900
- ></categoryMoveDialog>
901
- <fileHistoryDialog
902
- v-if="showFileHistoryDialog"
903
- :visiable.sync="showFileHistoryDialog"
904
- :currentFile.sync="operateFileHistory"
905
- @confirm="confirmFileHistoryDialog"
906
- :multi="false"
907
- />
908
-
909
- <shareDialog
910
- v-if="showShareDialog"
911
- :visiable.sync="showShareDialog"
912
- :attachment.sync="shareAttachment"
913
- ></shareDialog>
914
- <recycleBinDialog
915
- v-if="showRecycleBinDialog"
916
- :visiable.sync="showRecycleBinDialog"
917
- :option.sync="option"
918
- :treeNodeArr="treeNodeArr"
919
- :currentFileCategory="currentFileCategory"
920
- @confirm="confirmRecycleBinDialog"
921
- ></recycleBinDialog>
922
- <advancedSearchDialog
923
- v-if="showAdvancedSearch"
924
- :visiable.sync="showAdvancedSearch"
925
- :formData.sync="advancedFormData"
926
- @confirm="searchEvent"
927
- >
928
- <template #form>
929
- <vxe-form
930
- :model="advancedFormData"
931
- title-width="102px"
932
- :inline="true"
933
- class="adSearchForm"
934
- >
935
- <!-- <vxe-form-item title="属性名称:">
936
- <template v-slot>
937
- <el-input v-model="advancedFormData.attributeName" clearable/>
938
- </template>
939
- </vxe-form-item>
940
- <vxe-form-item title="属性值:">
941
- <template v-slot>
942
- <el-input v-model="advancedFormData.attributeValue" clearable/>
943
- </template>
944
- </vxe-form-item>-->
945
- <!-- <vxe-form-item title="状态:">
946
- <template v-slot>
947
- <el-select v-model="advancedFormData.status" clearable>
948
- <el-option :value="0" label="未归档"></el-option>
949
- <el-option :value="1" label="已归档"></el-option>
950
- </el-select>
951
- </template>
952
- </vxe-form-item>-->
953
- <vxe-form-item title="所属对象描述:" class-name="block">
954
- <template v-slot>
955
- <el-input v-model="advancedFormData.note" clearable />
956
- </template>
957
- </vxe-form-item>
958
- <vxe-form-item title="创建时间:">
959
- <template v-slot>
960
- <el-date-picker
961
- v-model="advancedFormData.startTime"
962
- type="date"
963
- placeholder=""
964
- size="small"
965
- clearable
966
- value-format="yyyy-MM-dd"
967
- :picker-options="
968
- $baseStartPickerOptions(advancedFormData.endTime)
969
- "
970
- ></el-date-picker>
971
- <span>-</span>
972
- <el-date-picker
973
- v-model="advancedFormData.endTime"
974
- type="date"
975
- placeholder=""
976
- size="small"
977
- clearable
978
- value-format="yyyy-MM-dd"
979
- :picker-options="
980
- $baseEndPickerOptions(advancedFormData.startTime)
981
- "
982
- ></el-date-picker>
983
- </template>
984
- </vxe-form-item>
985
- </vxe-form>
986
- </template>
987
- </advancedSearchDialog>
988
- <component
989
- v-if="isBillEnabled && showBillDialog && billDialogContent"
990
- :visiable.sync="showBillDialog"
991
- :is="billDialogContent"
992
- v-bind="billDialogParam"
993
- @confirm="confirmBillDialog"
994
- ></component>
995
- <videoDialog
996
- v-if="showVideoDialog"
997
- :visiable.sync="showVideoDialog"
998
- :option="videoOption"
999
- ></videoDialog>
1000
- <fileObjAuthDialog
1001
- v-if="showFileObjAuthDialog"
1002
- :visiable.sync="showFileObjAuthDialog"
1003
- :fileObjId="currentFileCategory ? currentFileCategory.id : 0"
1004
- :treeNodeArr="treeNodeArr"
1005
- />
1006
-
1007
- <filterDialog
1008
- v-if="showFilterDialog"
1009
- :visiable.sync="showFilterDialog"
1010
- queryType="pcp"
1011
- :treeNodeArr="treeNodeArr"
1012
- :currentFileCategory="currentFileCategory"
1013
- @openFileDirs="openFileDirs"
1014
- ></filterDialog>
1015
- </div>
1016
- </template>
1017
-
1018
- <script>
1019
- import mixins from "./mixins/indexMixins";
1020
- export default {
1021
- name: "ledgerLibrary",
1022
- mixins: [mixins],
1023
- };
1024
- </script>
1025
- <style lang="scss" scoped>
1026
- // #labBtn {
1027
- // height: calc(100vh - 32px);
1028
- // }
1029
-
1030
- #containt {
1031
- overflow: hidden;
1032
-
1033
- .main-right {
1034
- margin-left: -1%;
1035
- padding-left: 18px !important;
1036
- padding-top: 8px;
1037
- padding-right: 8px;
1038
- overflow: hidden;
1039
- }
1040
- }
1041
-
1042
- .upload-list .upload-box {
1043
- display: inline-block;
1044
- }
1045
-
1046
- // .vxe-grid .vxe-gird-block {
1047
- // height: calc(100vh - 161px);
1048
- // }
1049
-
1050
- // .grid-height.viewBox {
1051
- // height: calc(100vh - 84px);
1052
-
1053
- // .containter1 {
1054
- // .annex-piclist > .clearfix {
1055
- // height: calc(100vh - 159px);
1056
- // }
1057
- // }
1058
-
1059
- // .annex-grid-height {
1060
- // height: calc(100vh - 126px);
1061
- // }
1062
- // }
1063
-
1064
- // .annex-screen + .line + .annex-crumbs + .grid-height.viewBox {
1065
- // height: calc(100vh - 133px);
1066
-
1067
- // .containter1 {
1068
- // .annex-piclist > .clearfix {
1069
- // height: calc(100vh - 208px);
1070
- // }
1071
- // }
1072
-
1073
- // .annex-grid-height {
1074
- // height: calc(100vh - 175px);
1075
- // }
1076
- // }
1077
-
1078
- // .annex-filter + .annex-crumbs + .grid-height.viewBox {
1079
- // height: calc(100vh - 125px);
1080
-
1081
- // .containter1 {
1082
- // .annex-piclist > .clearfix {
1083
- // height: calc(100vh - 200px);
1084
- // }
1085
- // }
1086
-
1087
- // .annex-grid-height {
1088
- // height: calc(100vh - 167px);
1089
- // }
1090
- // }
1091
-
1092
- // .annex-filter + .annex-screen + .line + .annex-crumbs + .grid-height.viewBox {
1093
- // height: calc(100vh - 173px);
1094
-
1095
- // .containter1 {
1096
- // .annex-piclist > .clearfix {
1097
- // height: calc(100vh - 248px);
1098
- // }
1099
- // }
1100
-
1101
- // .annex-grid-height {
1102
- // height: calc(100vh - 215px);
1103
- // }
1104
- // }
1105
-
1106
- // #labBtn {
1107
- // height: calc(100vh - 34px);
1108
- // }
1109
- </style>
1
+ <template>
2
+ <div v-show="title != '' && title != null" style="overflow: hidden;height:100%;display:flex">
3
+ <div class="tree-box tree-annex">
4
+ <div class="tit">
5
+ <b>{{ title }}</b>
6
+ </div>
7
+ <div class="tree-form" v-if="option.showCategoryFilterArea !== false">
8
+ <el-input
9
+ :placeholder="
10
+ $t2(
11
+ '请输入文件夹名称',
12
+ 'components.fileLibrary.categoryPlaceholder'
13
+ )
14
+ "
15
+ v-model="filterText"
16
+ class="txt"
17
+ >
18
+ <el-button slot="append" icon="el-icon-search"></el-button>
19
+ </el-input>
20
+ </div>
21
+ <div class="tree-btns" v-if="isCategoryEdit">
22
+ <el-button
23
+ type="primary"
24
+ plain
25
+ icon="el-icon-circle-plus-outline"
26
+ class="btn"
27
+ @click="addFileCategory()"
28
+ v-if="fileObjAuth.addAuth"
29
+ >{{ $t2("新增", "components.fileLibrary.addCategory") }}
30
+ </el-button>
31
+ <el-button
32
+ type="primary"
33
+ plain
34
+ icon="el-icon-edit-outline"
35
+ class="btn"
36
+ @click="editFileCategory()"
37
+ :disabled="currentFileCategory === null || !currentFileCategory.id"
38
+ v-if="fileObjAuth.editAuth"
39
+ >
40
+ {{ $t2("编辑", "components.fileLibrary.editCategory") }}
41
+ </el-button>
42
+ <el-button
43
+ type="primary"
44
+ plain
45
+ class="btn"
46
+ icon="el-icon-edit"
47
+ @click="showFileObjAuthDialog = true"
48
+ v-if="isEdit && fileObjAuth.authAuth"
49
+ >{{ $t2("权限", "components.fileLibrary.authAuth") }}
50
+ </el-button>
51
+ </div>
52
+ <el-tree
53
+ v-if="treeFlag"
54
+ :props="defaultProps"
55
+ :load="loadNode"
56
+ node-key="id"
57
+ ref="tree"
58
+ lazy
59
+ :filter-node-method="filterNode"
60
+ :expand-on-click-node="false"
61
+ @node-click="handleNodeClick"
62
+ class="tree-list"
63
+ icon-class="el-icon-arrow-down"
64
+ :style="
65
+ option.showCategoryFilterArea === false
66
+ ? 'height: calc(100vh - 113px)'
67
+ : ''
68
+ "
69
+ >
70
+ <span
71
+ class="el-tree-node__label"
72
+ slot-scope="{ node }"
73
+ v-if="!node.data.moreBtn"
74
+ >
75
+ <i class="ico-wenjian"></i>
76
+ <span>{{ node.label }}</span>
77
+ </span>
78
+ <span v-else class="el-tree-node__label">
79
+ <el-button type="primary" plain class="button-sty">{{
80
+ node.label
81
+ }}</el-button>
82
+ </span>
83
+ </el-tree>
84
+ </div>
85
+ <label id="labBtn">
86
+ <div class="icon">
87
+ <i class="el-icon-more"></i>
88
+ <i class="el-icon-more"></i>
89
+ </div>
90
+ </label>
91
+ <div class="main-right file-library" style="overflow: hidden">
92
+ <div class="pop-annex-filter" v-if="popAnnexFilter">
93
+ <div
94
+ class="item"
95
+ v-for="(checkBillData, index) in checkBillDatas"
96
+ :key="index"
97
+ >
98
+ <span>{{ getBillLabel(checkBillData) }}</span
99
+ ><i class="el-icon-close" @click="deleteBillData(index)"></i>
100
+ </div>
101
+ </div>
102
+ <div class="annex-filter" v-if="isBillEnabled">
103
+ <el-button
104
+ slot="append"
105
+ icon="el-icon-search"
106
+ @click="openBillDialog"
107
+ size="mini"
108
+ class="an-btn-search"
109
+ type="success"
110
+ >
111
+ {{
112
+ $t2("选择" + billConfig.name, "components.fileLibrary.selectBill", {
113
+ billName: billConfig.name,
114
+ })
115
+ }}
116
+ </el-button>
117
+ <div class="abox">
118
+ <div
119
+ class="item"
120
+ v-for="(checkBillData, index) in checkBillDatas"
121
+ :key="index"
122
+ >
123
+ <span>{{ getBillLabel(checkBillData) }}</span
124
+ ><i class="el-icon-close" @click="deleteBillData(index)"></i>
125
+ </div>
126
+ </div>
127
+
128
+ <el-button
129
+ slot="append"
130
+ icon="iconfont icon-gengduo1"
131
+ size="mini"
132
+ class="an-btn-more"
133
+ type="primary"
134
+ @click="popAnnexFilter = false"
135
+ v-if="popAnnexFilter"
136
+ >
137
+ </el-button>
138
+ <el-button
139
+ slot="append"
140
+ icon="iconfont icon-gengduo1"
141
+ size="mini"
142
+ class="an-btn-more"
143
+ @click="popAnnexFilter = true"
144
+ v-else
145
+ >
146
+ </el-button>
147
+ <el-button
148
+ slot="append"
149
+ icon="el-icon-delete"
150
+ size="mini"
151
+ class="an-btn-del"
152
+ @click="clearBill"
153
+ >
154
+ {{ $t2("取消选择", "components.fileLibrary.cancelSelect") }}
155
+ </el-button>
156
+ </div>
157
+
158
+ <div class="annex-screen">
159
+ <el-button
160
+ type="warning"
161
+ class="button-sty"
162
+ icon="el-icon-plus"
163
+ @click="addFile"
164
+ v-if="isEdit && fileObjAuth.uploadAuth"
165
+ >{{ $t2("上传", "components.fileLibrary.upload") }}
166
+ </el-button>
167
+ <el-button
168
+ type="primary"
169
+ class="button-sty"
170
+ icon="el-icon-download"
171
+ @click.native="mulDownload2"
172
+ v-if="fileObjAuth.downloadAuth"
173
+ >{{ $t2("下载", "components.fileLibrary.download") }}
174
+ </el-button>
175
+ <el-button
176
+ type="danger"
177
+ class="button-sty"
178
+ icon="el-icon-takeaway-box"
179
+ @click="showRecycleBinDialog = true"
180
+ v-if="isEdit && (fileObjAuth.deleteAuth || fileObjAuth.deleteDirAuth)"
181
+ >
182
+ {{ $t2("回收站", "components.fileLibrary.recycleBin") }}
183
+ </el-button>
184
+ <el-button
185
+ type="primary"
186
+ plain
187
+ class="button-sty"
188
+ icon="el-icon-rank"
189
+ @click.native="openCategoryMoveDialog(1)"
190
+ v-if="isEdit && fileObjAuth.moveAuth"
191
+ >
192
+ {{ $t2("移动到", "components.fileLibrary.moveTo") }}
193
+ </el-button>
194
+ <el-button
195
+ type="primary"
196
+ plain
197
+ class="button-sty"
198
+ icon="el-icon-copy-document"
199
+ @click.native="openCategoryMoveDialog(2)"
200
+ v-if="isEdit && fileObjAuth.copyAuth"
201
+ >
202
+ {{ $t2("复制到", "components.fileLibrary.copyTo") }}
203
+ </el-button>
204
+ <el-button
205
+ type="primary"
206
+ plain
207
+ class="button-sty"
208
+ icon="el-icon-refresh"
209
+ @click.native="batchReplace"
210
+ v-if="isEdit && fileObjAuth.replaceAuth"
211
+ >
212
+ {{ $t2("替换", "components.fileLibrary.replace") }}
213
+ </el-button>
214
+ <el-button
215
+ type="primary"
216
+ plain
217
+ class="button-sty"
218
+ icon="el-icon-delete"
219
+ @click.native="deleteAttach()"
220
+ v-if="isEdit && (fileObjAuth.deleteAuth || fileObjAuth.deleteDirAuth)"
221
+ >
222
+ {{ $t2("删除", "components.fileLibrary.delete") }}
223
+ </el-button>
224
+ <el-button
225
+ icon="iconfont icon-shaixuan"
226
+ class="button-sty"
227
+ @click="showFilterDialog = true"
228
+ >
229
+ {{ $t1("搜索") }}
230
+ </el-button>
231
+
232
+ <template
233
+ v-for="(fileButton, customToobarButtonIndex) in customToobarButtons"
234
+ >
235
+ <template
236
+ v-if="
237
+ fileButton.dirs === null ||
238
+ fileButton.dirs === undefined ||
239
+ attachment.dirs === fileButton.dirs
240
+ "
241
+ >
242
+ <template v-if="customFileButtonVisable(fileButton, attachment)">
243
+ <el-button
244
+ type="primary"
245
+ plain
246
+ class="button-sty"
247
+ :icon="fileButton.icon"
248
+ :key="customToobarButtonIndex"
249
+ @click="customToobarButtonEvent(fileButton)"
250
+ >{{ fileButton.label }}
251
+ </el-button>
252
+ </template>
253
+ </template>
254
+ </template>
255
+ </div>
256
+ <div
257
+ class="line"
258
+ v-if="
259
+ fileObjAuth.uploadAuth ||
260
+ fileObjAuth.downloadAuth ||
261
+ fileObjAuth.deleteAuth ||
262
+ fileObjAuth.moveAuth ||
263
+ fileObjAuth.copyAuth ||
264
+ fileObjAuth.replaceAuth ||
265
+ fileObjAuth.deleteDirAuth
266
+ "
267
+ ></div>
268
+ <div class="annex-crumbs">
269
+ <span class="tit"><i class="iconfont icon-wenjianjia"></i>文件区</span>
270
+ <span class="tit" style="padding-right: 0"
271
+ >{{ $t2("指定路径", "components.fileLibrary.assignPath") }}:</span
272
+ >
273
+ <el-breadcrumb separator-class="el-icon-arrow-right">
274
+ <el-breadcrumb-item
275
+ v-for="treeNode in treeNodeArr"
276
+ :key="treeNode.id"
277
+ @click.native="doNav(treeNode)"
278
+ >{{ treeNode.label }}
279
+ </el-breadcrumb-item>
280
+ </el-breadcrumb>
281
+ </div>
282
+ <div class="grid-height viewBox">
283
+ <div class="annex-searchBox">
284
+ <div class="fl">
285
+ <div class="oper">
286
+ <el-checkbox
287
+ v-model="checkAll"
288
+ @change="changeCheckAll"
289
+ :disabled="checkAllDisabled"
290
+ :indeterminate="checkAllIndeterminate"
291
+ >已选中 {{ checkList.length }} 项{{
292
+ $t2("", "components.fileLibrary.aa")
293
+ }}
294
+ </el-checkbox>
295
+ </div>
296
+ <div class="search-box">
297
+ <template v-if="currentFileCategory && currentFileCategory.id">
298
+ <el-input
299
+ :placeholder="
300
+ $t2(
301
+ '请输入文件名',
302
+ 'components.fileLibrary.filePlaceholder'
303
+ )
304
+ "
305
+ v-model="formData.fileName"
306
+ clearable
307
+ >
308
+ <el-button
309
+ slot="append"
310
+ icon="el-icon-search"
311
+ @click="searchEvent"
312
+ ></el-button>
313
+ </el-input>
314
+ <el-button
315
+ icon="iconfont icon-shaixuan"
316
+ class="button-sty"
317
+ @click="showAdvancedSearch = true"
318
+ >
319
+ {{ $t2("筛选", "components.fileLibrary.screen") }}
320
+ </el-button>
321
+ </template>
322
+ </div>
323
+ </div>
324
+ <div class="fr">
325
+ <el-button
326
+ type="primary"
327
+ icon="iconfont icon-icmenu2"
328
+ @click="changeShowType()"
329
+ class="button-sty icon-btn"
330
+ v-show="showType === 1"
331
+ >{{ $t2("列表", "components.fileLibrary.tableList") }}
332
+ </el-button>
333
+ <el-button
334
+ type="primary"
335
+ style="margin-left: 0"
336
+ icon="el-icon-menu"
337
+ @click="changeShowType()"
338
+ class="button-sty icon-btn"
339
+ v-show="showType === 2"
340
+ >{{ $t2("图示", "components.fileLibrary.imageList") }}
341
+ </el-button>
342
+ </div>
343
+ </div>
344
+ <div class="mask" v-show="is_show_mask"></div>
345
+ <div
346
+ class="containter1"
347
+ ref="containter1"
348
+ v-show="showType === 1"
349
+ style="overflow: auto"
350
+ >
351
+ <div class="annex-piclist">
352
+ <div class="clearfix">
353
+ <el-checkbox-group
354
+ v-model="checkList"
355
+ @change="checkChange"
356
+ class="f-group"
357
+ >
358
+ <template v-for="(attachment, index) in page.records">
359
+ <li
360
+ :key="index"
361
+ class="item"
362
+ :class="checkList.includes(attachment.id) ? 'on' : ''"
363
+ >
364
+ <el-checkbox :label="attachment.id"
365
+ ><span></span
366
+ ></el-checkbox>
367
+ <div class="oper">
368
+ <el-tooltip
369
+ effect="dark"
370
+ content="详情"
371
+ placement="top"
372
+ v-if="
373
+ !attachment.dirs && isEdit && fileObjAuth.editAuth
374
+ "
375
+ ><i
376
+ class="el-tooltip iconfont icon-shuxing ico"
377
+ @click="openPropertiesDialog(attachment)"
378
+ ></i>
379
+ </el-tooltip>
380
+ <el-tooltip
381
+ effect="dark"
382
+ content="详情"
383
+ placement="top"
384
+ v-if="attachment.dirs && isEdit && fileObjAuth.editAuth"
385
+ ><i
386
+ class="el-tooltip iconfont icon-shuxing ico"
387
+ @click="editFileCategory(attachment)"
388
+ ></i>
389
+ </el-tooltip>
390
+ <a
391
+ href="javascript:void(0);"
392
+ class="a-link ico"
393
+ v-if="!attachment.dirs && fileObjAuth.downloadAuth"
394
+ @click="downloadSingerFile(attachment)"
395
+ >
396
+ <el-tooltip
397
+ effect="dark"
398
+ content="下载"
399
+ placement="top"
400
+ popper-class="tooltip-skin"
401
+ >
402
+ <i class="el-icon-download" />
403
+ </el-tooltip>
404
+ </a>
405
+ <el-dropdown trigger="click" v-if="isEdit">
406
+ <span class="ico"><i class="el-icon-more"></i> </span>
407
+ <el-dropdown-menu slot="dropdown">
408
+ <el-dropdown-item
409
+ @click.native="openShareDialog(attachment)"
410
+ v-if="!attachment.dirs && fileObjAuth.shareAuth"
411
+ ><i class="el-icon-share"></i>分享
412
+ </el-dropdown-item>
413
+ <el-dropdown-item
414
+ @click.native="
415
+ replaceFile(attachment, index, page.records)
416
+ "
417
+ v-if="
418
+ !attachment.dirs &&
419
+ isEdit &&
420
+ attachment.status != 1 &&
421
+ fileObjAuth.replaceAuth
422
+ "
423
+ >
424
+ <i class="el-icon-refresh"></i>替换
425
+ </el-dropdown-item>
426
+ <el-dropdown-item
427
+ @click.native="openFileHistoryDialog(attachment)"
428
+ v-if="
429
+ !attachment.dirs &&
430
+ isEdit &&
431
+ fileObjAuth.historyAuth
432
+ "
433
+ >
434
+ <i class="el-icon-s-order"></i>历史
435
+ </el-dropdown-item>
436
+ <el-dropdown-item
437
+ @click.native="deleteAttach(attachment)"
438
+ v-if="
439
+ !attachment.dirs &&
440
+ isEdit &&
441
+ attachment.status != 1 &&
442
+ fileObjAuth.deleteAuth
443
+ "
444
+ >
445
+ <i class="el-icon-delete"></i>删除
446
+ </el-dropdown-item>
447
+ <el-dropdown-item
448
+ @click.native="deleteCategory(attachment)"
449
+ v-if="
450
+ attachment.dirs &&
451
+ isEdit &&
452
+ fileObjAuth.deleteDirAuth
453
+ "
454
+ >
455
+ <i class="el-icon-delete"></i>删除
456
+ </el-dropdown-item>
457
+ <template
458
+ v-for="(
459
+ fileButton, fileButtonIndex
460
+ ) in customFileButtons"
461
+ >
462
+ <template
463
+ v-if="
464
+ fileButton.dirs === null ||
465
+ fileButton.dirs === undefined ||
466
+ attachment.dirs === fileButton.dirs
467
+ "
468
+ >
469
+ <template
470
+ v-if="
471
+ customFileButtonVisable(
472
+ fileButton,
473
+ attachment
474
+ )
475
+ "
476
+ >
477
+ <el-dropdown-item
478
+ @click.native="
479
+ customFileButtonEvent(
480
+ fileButton,
481
+ attachment
482
+ )
483
+ "
484
+ :key="fileButtonIndex"
485
+ >
486
+ <i :class="fileButton.icon"></i
487
+ >{{ fileButton.label }}
488
+ </el-dropdown-item>
489
+ </template>
490
+ </template>
491
+ </template>
492
+ </el-dropdown-menu>
493
+ </el-dropdown>
494
+ </div>
495
+ <div class="custom-slot">
496
+ <slot name="custom" v-bind="{ row: attachment }"></slot>
497
+ </div>
498
+ <!-- <div class="status s-1" v-if="!attachment.dirs && attachment.status==1">
499
+ <el-tooltip effect="dark" content="已归档" placement="top" popper-class="tooltip-skin"><i
500
+ class="iconfont icon-file"></i>
501
+ </el-tooltip>
502
+ </div> -->
503
+ <div
504
+ class="status s-1"
505
+ v-if="!attachment.dirs && attachment.status === 1"
506
+ ></div>
507
+ <div
508
+ class="img"
509
+ @click="openPreview(attachment)"
510
+ v-if="!attachment.dirs"
511
+ >
512
+ <div class="show-video" v-if="hasPreview(attachment)">
513
+ <i class="icon-chakan"></i>
514
+ </div>
515
+ <div class="show-video" v-if="false">
516
+ <i class="el-icon-video-play"></i>
517
+ </div>
518
+ <p><img :src="getShowUrl(attachment)" /></p>
519
+ </div>
520
+ <div
521
+ class="img"
522
+ @click="changeCategory(attachment)"
523
+ v-if="attachment.dirs"
524
+ >
525
+ <svg-icon icon-class="ico-wenjianjia" />
526
+ </div>
527
+ <el-tooltip
528
+ :enterable="false"
529
+ effect="dark"
530
+ :content="attachment.fileName"
531
+ placement="top"
532
+ >
533
+ <div class="txt-box">
534
+ <div class="tb-left"></div>
535
+ <div class="tb-mid">
536
+ <div class="txt">
537
+ <span class="name">{{
538
+ getFileName(attachment)
539
+ }}</span
540
+ ><span v-if="attachment.extension"
541
+ >.{{ attachment.extension }}</span
542
+ >
543
+ </div>
544
+ </div>
545
+ <div class="format">
546
+ ... .{{ attachment.extension }}
547
+ </div>
548
+ </div>
549
+ </el-tooltip>
550
+ </li>
551
+ </template>
552
+ </el-checkbox-group>
553
+ <!-- <div class="item more" v-if="page.total>page.records.length"
554
+ @click="changePage(page.current+1, pageSize)">
555
+ <div class="img">
556
+ <svg-icon icon-class="ico-more"/>
557
+ </div>
558
+ <div class="name">更多</div>
559
+ </div>-->
560
+ </div>
561
+ <div class="vxe-grid">
562
+ <div class="vxe-grid&#45;&#45;pager-wrapper">
563
+ <vxe-pager
564
+ class="pages-box"
565
+ :current-page.sync="page.current"
566
+ :page-size.sync="page.size"
567
+ :total="page.total"
568
+ :layouts="['PrevPage', 'Number', 'NextPage']"
569
+ @page-change="changePageNew"
570
+ >
571
+ <template #right>
572
+ <span>
573
+ <span>当前记录</span>
574
+ <span class="f-red"> {{ page.records.length }} </span>
575
+ <span>/</span>
576
+ <span class="f-red"> {{ page.total }}</span>
577
+ </span>
578
+ </template>
579
+ </vxe-pager>
580
+ </div>
581
+ </div>
582
+ </div>
583
+ </div>
584
+ <div class="annex-grid-height" v-show="showType === 2">
585
+ <vxe-grid
586
+ ref="table-m1"
587
+ v-bind="vxeOption"
588
+ :data="page.records"
589
+ @resizable-change="$vxeTableUtil.onColumnWitchChange"
590
+ @custom="$vxeTableUtil.customHandle"
591
+ @checkbox-change="tableCheckChange"
592
+ @checkbox-all="tableCheckAll"
593
+ >
594
+ <!-- <template #bottom v-if="page.total>page.records.length">
595
+ <div class="vxe-annex-more" @click="changePage(page.current+1, pageSize)">
596
+ <span>更多</span>
597
+ <i class="el-icon-d-arrow-right"></i>
598
+ </div>
599
+ </template>-->
600
+ <template #pager>
601
+ <vxe-pager
602
+ class="pages-box"
603
+ :current-page.sync="page.current"
604
+ :page-size.sync="page.size"
605
+ :total="page.total"
606
+ :layouts="['PrevPage', 'Number', 'NextPage']"
607
+ @page-change="changePageNew"
608
+ >
609
+ <template #right>
610
+ <span>
611
+ <span>{{
612
+ $t2("当前记录", "components.table.pageInfo")
613
+ }}</span>
614
+ <span class="f-red"> {{ page.records.length }} </span>
615
+ <span>/</span>
616
+ <span class="f-red"> {{ page.total }}</span>
617
+ </span>
618
+ </template>
619
+ </vxe-pager>
620
+ </template>
621
+ <template #operate="{ row, rowIndex, items }">
622
+ <template v-if="!row.dirs">
623
+ <a
624
+ href="javascript:void(0);"
625
+ class="a-link"
626
+ v-if="isEdit && fileObjAuth.editAuth === 1"
627
+ @click="openPropertiesDialog(row)"
628
+ >
629
+ <el-tooltip
630
+ :enterable="false"
631
+ effect="dark"
632
+ :content="$t2('详情', 'components.fileLibrary.detail')"
633
+ placement="top"
634
+ popper-class="tooltip-skin"
635
+ >
636
+ <i class="iconfont icon-shuxing" />
637
+ </el-tooltip>
638
+ </a>
639
+ <a
640
+ href="javascript:void(0);"
641
+ class="a-link"
642
+ v-if="fileObjAuth.downloadAuth === 1"
643
+ @click="downloadSingerFile(row)"
644
+ >
645
+ <el-tooltip
646
+ :enterable="false"
647
+ effect="dark"
648
+ :content="$t2('下载', 'components.fileLibrary.download')"
649
+ placement="top"
650
+ popper-class="tooltip-skin"
651
+ >
652
+ <i class="el-icon-download" />
653
+ </el-tooltip>
654
+ </a>
655
+ <a
656
+ href="javascript:void(0);"
657
+ class="a-link"
658
+ v-if="fileObjAuth.shareAuth === 1"
659
+ @click="openShareDialog(row)"
660
+ >
661
+ <el-tooltip
662
+ :enterable="false"
663
+ effect="dark"
664
+ :content="$t2('分享', 'components.fileLibrary.share')"
665
+ placement="top"
666
+ popper-class="tooltip-skin"
667
+ >
668
+ <i class="el-icon-share" />
669
+ </el-tooltip>
670
+ </a>
671
+ <a
672
+ href="javascript:void(0);"
673
+ class="a-link"
674
+ v-if="
675
+ isEdit && row.status != 1 && fileObjAuth.replaceAuth === 1
676
+ "
677
+ @click="replaceFile(row, rowIndex, items)"
678
+ >
679
+ <el-tooltip
680
+ :enterable="false"
681
+ effect="dark"
682
+ :content="$t2('替换', 'components.fileLibrary.replace')"
683
+ placement="top"
684
+ popper-class="tooltip-skin"
685
+ >
686
+ <i class="el-icon-refresh" />
687
+ </el-tooltip>
688
+ </a>
689
+ <a
690
+ href="javascript:void(0);"
691
+ class="a-link"
692
+ v-if="isEdit && fileObjAuth.historyAuth === 1"
693
+ @click="openFileHistoryDialog(row)"
694
+ >
695
+ <el-tooltip
696
+ :enterable="false"
697
+ effect="dark"
698
+ :content="$t2('历史', 'components.fileLibrary.history')"
699
+ placement="top"
700
+ popper-class="tooltip-skin"
701
+ >
702
+ <i class="el-icon-s-order" />
703
+ </el-tooltip>
704
+ </a>
705
+ <a
706
+ href="javascript:void(0);"
707
+ class="a-link"
708
+ v-if="
709
+ isEdit && row.status != 1 && fileObjAuth.deleteAuth === 1
710
+ "
711
+ @click="deleteAttach(row)"
712
+ >
713
+ <el-tooltip
714
+ :enterable="false"
715
+ effect="dark"
716
+ :content="$t2('删除', 'components.fileLibrary.delete')"
717
+ placement="top"
718
+ popper-class="tooltip-skin"
719
+ >
720
+ <i class="el-icon-delete" />
721
+ </el-tooltip>
722
+ </a>
723
+ </template>
724
+ <template v-else>
725
+ <a
726
+ href="javascript:void(0);"
727
+ class="a-link"
728
+ v-if="isEdit && isCategoryEdit && fileObjAuth.editAuth === 1"
729
+ @click="editFileCategory(row)"
730
+ >
731
+ <el-tooltip
732
+ :enterable="false"
733
+ effect="dark"
734
+ :content="$t2('详情', 'components.fileLibrary.detail')"
735
+ placement="top"
736
+ popper-class="tooltip-skin"
737
+ >
738
+ <i class="iconfont icon-shuxing" />
739
+ </el-tooltip>
740
+ </a>
741
+ <a
742
+ href="javascript:void(0);"
743
+ class="a-link"
744
+ v-if="
745
+ isEdit && isCategoryEdit && fileObjAuth.deleteDirAuth === 1
746
+ "
747
+ @click="deleteAttach(row)"
748
+ >
749
+ <el-tooltip
750
+ :enterable="false"
751
+ effect="dark"
752
+ :content="$t2('删除', 'components.fileLibrary.delete')"
753
+ placement="top"
754
+ popper-class="tooltip-skin"
755
+ >
756
+ <i class="el-icon-delete" />
757
+ </el-tooltip>
758
+ </a>
759
+ </template>
760
+ <template v-for="(fileButton, index) in customFileButtons">
761
+ <template
762
+ v-if="
763
+ fileButton.dirs === null ||
764
+ fileButton.dirs === undefined ||
765
+ row.dirs === fileButton.dirs
766
+ "
767
+ >
768
+ <a
769
+ :key="index"
770
+ href="javascript:void(0);"
771
+ class="a-link"
772
+ v-if="customFileButtonVisable(fileButton, row)"
773
+ @click="customFileButtonEvent(fileButton, row)"
774
+ >
775
+ <el-tooltip
776
+ :enterable="false"
777
+ effect="dark"
778
+ :content="fileButton.label"
779
+ placement="top"
780
+ popper-class="tooltip-skin"
781
+ >
782
+ <i :class="fileButton.icon" />
783
+ </el-tooltip>
784
+ </a>
785
+ </template>
786
+ </template>
787
+ </template>
788
+ </vxe-grid>
789
+ </div>
790
+ </div>
791
+ <el-dialog
792
+ :title="
793
+ editCategory.id
794
+ ? $t2('编辑文件夹', 'components.fileLibrary.editCategoryTitle')
795
+ : $t2('新增文件夹', 'components.fileLibrary.addCategoryTitle')
796
+ "
797
+ :append-to-body="true"
798
+ :modal-append-to-body="true"
799
+ :close-on-click-modal="false"
800
+ v-if="showEditCategoryDialog"
801
+ :visible.sync="showEditCategoryDialog"
802
+ :modal="false"
803
+ custom-class="dialog-style list-dialog dialog-checkbox pd_8"
804
+ width="562px"
805
+ v-el-drag-dialog
806
+ v-el-dialog-center
807
+ >
808
+ <div class="cont">
809
+ <el-form
810
+ ref="editCategoryForm"
811
+ :model="editCategory"
812
+ label-width="102px"
813
+ class="adSearchForm"
814
+ >
815
+ <el-form-item
816
+ :label="
817
+ $t2('文件夹路径', 'components.fileLibrary.fileCategoryPath')
818
+ "
819
+ >
820
+ <el-breadcrumb separator-class="el-icon-arrow-right">
821
+ <el-breadcrumb-item
822
+ v-for="(treeNode, index) in treeNodeArr"
823
+ :key="index"
824
+ >{{ treeNode.label }}
825
+ </el-breadcrumb-item>
826
+ </el-breadcrumb>
827
+ </el-form-item>
828
+ <el-form-item
829
+ :label="
830
+ $t2('文件夹编码', 'components.fileLibrary.fileCategorySn')
831
+ "
832
+ >
833
+ <span>{{ editCategory.fileSn }}</span>
834
+ </el-form-item>
835
+ <el-form-item
836
+ :label="
837
+ $t2('文件夹名称', 'components.fileLibrary.fileCategoryName')
838
+ "
839
+ >
840
+ <el-input
841
+ v-model="editCategory.fileName"
842
+ clearable
843
+ class="all-width"
844
+ />
845
+ </el-form-item>
846
+ <el-form-item :label="$t1('关联编码')">
847
+ <el-input
848
+ v-model="editCategory.relationCode"
849
+ clearable
850
+ class="all-width"
851
+ />
852
+ </el-form-item>
853
+ </el-form>
854
+ </div>
855
+ <span slot="footer" class="dialog-footer">
856
+ <el-button
857
+ type="primary"
858
+ plain
859
+ class="button-sty"
860
+ @click="showEditCategoryDialog = false"
861
+ >
862
+ <i class="el-icon-close el-icon"></i>
863
+ {{ $t2("取 消", "system.button.cancel2") }}
864
+ </el-button>
865
+ <el-button
866
+ type="primary"
867
+ @click="confirmEditCategoryDialog"
868
+ class="button-sty"
869
+ >
870
+ <i class="el-icon-check el-icon"></i>
871
+ {{ $t2("确 定", "system.button.confirm2") }}
872
+ </el-button>
873
+ </span>
874
+ </el-dialog>
875
+ </div>
876
+ <propertiesDialog
877
+ v-if="showPropertiesDialog"
878
+ :visiable.sync="showPropertiesDialog"
879
+ :editAttachment.sync="editAttachment"
880
+ :isEdit="isEdit"
881
+ :treeNodeArr.sync="treeNodeArr"
882
+ :option="option"
883
+ ></propertiesDialog>
884
+ <el-image-viewer
885
+ v-if="showViewer"
886
+ :on-close="
887
+ () => {
888
+ showViewer = false;
889
+ }
890
+ "
891
+ :initial-index.sync="chooseIndex"
892
+ :url-list="imageDTOs"
893
+ />
894
+ <categoryMoveDialog
895
+ :checkRows.sync="checkRows"
896
+ v-if="showCategoryMoveDialog"
897
+ :visiable.sync="showCategoryMoveDialog"
898
+ @confirm="confirmMoveDialog"
899
+ :handleType.sync="handleType"
900
+ ></categoryMoveDialog>
901
+ <fileHistoryDialog
902
+ v-if="showFileHistoryDialog"
903
+ :visiable.sync="showFileHistoryDialog"
904
+ :currentFile.sync="operateFileHistory"
905
+ @confirm="confirmFileHistoryDialog"
906
+ :multi="false"
907
+ />
908
+
909
+ <shareDialog
910
+ v-if="showShareDialog"
911
+ :visiable.sync="showShareDialog"
912
+ :attachment.sync="shareAttachment"
913
+ ></shareDialog>
914
+ <recycleBinDialog
915
+ v-if="showRecycleBinDialog"
916
+ :visiable.sync="showRecycleBinDialog"
917
+ :option.sync="option"
918
+ :treeNodeArr="treeNodeArr"
919
+ :currentFileCategory="currentFileCategory"
920
+ @confirm="confirmRecycleBinDialog"
921
+ ></recycleBinDialog>
922
+ <advancedSearchDialog
923
+ v-if="showAdvancedSearch"
924
+ :visiable.sync="showAdvancedSearch"
925
+ :formData.sync="advancedFormData"
926
+ @confirm="searchEvent"
927
+ >
928
+ <template #form>
929
+ <vxe-form
930
+ :model="advancedFormData"
931
+ title-width="102px"
932
+ :inline="true"
933
+ class="adSearchForm"
934
+ >
935
+ <!-- <vxe-form-item title="属性名称:">
936
+ <template v-slot>
937
+ <el-input v-model="advancedFormData.attributeName" clearable/>
938
+ </template>
939
+ </vxe-form-item>
940
+ <vxe-form-item title="属性值:">
941
+ <template v-slot>
942
+ <el-input v-model="advancedFormData.attributeValue" clearable/>
943
+ </template>
944
+ </vxe-form-item>-->
945
+ <!-- <vxe-form-item title="状态:">
946
+ <template v-slot>
947
+ <el-select v-model="advancedFormData.status" clearable>
948
+ <el-option :value="0" label="未归档"></el-option>
949
+ <el-option :value="1" label="已归档"></el-option>
950
+ </el-select>
951
+ </template>
952
+ </vxe-form-item>-->
953
+ <vxe-form-item title="所属对象描述:" class-name="block">
954
+ <template v-slot>
955
+ <el-input v-model="advancedFormData.note" clearable />
956
+ </template>
957
+ </vxe-form-item>
958
+ <vxe-form-item title="创建时间:">
959
+ <template v-slot>
960
+ <el-date-picker
961
+ v-model="advancedFormData.startTime"
962
+ type="date"
963
+ placeholder=""
964
+ size="small"
965
+ clearable
966
+ value-format="yyyy-MM-dd"
967
+ :picker-options="
968
+ $baseStartPickerOptions(advancedFormData.endTime)
969
+ "
970
+ ></el-date-picker>
971
+ <span>-</span>
972
+ <el-date-picker
973
+ v-model="advancedFormData.endTime"
974
+ type="date"
975
+ placeholder=""
976
+ size="small"
977
+ clearable
978
+ value-format="yyyy-MM-dd"
979
+ :picker-options="
980
+ $baseEndPickerOptions(advancedFormData.startTime)
981
+ "
982
+ ></el-date-picker>
983
+ </template>
984
+ </vxe-form-item>
985
+ </vxe-form>
986
+ </template>
987
+ </advancedSearchDialog>
988
+ <component
989
+ v-if="isBillEnabled && showBillDialog && billDialogContent"
990
+ :visiable.sync="showBillDialog"
991
+ :is="billDialogContent"
992
+ v-bind="billDialogParam"
993
+ @confirm="confirmBillDialog"
994
+ ></component>
995
+ <videoDialog
996
+ v-if="showVideoDialog"
997
+ :visiable.sync="showVideoDialog"
998
+ :option="videoOption"
999
+ ></videoDialog>
1000
+ <fileObjAuthDialog
1001
+ v-if="showFileObjAuthDialog"
1002
+ :visiable.sync="showFileObjAuthDialog"
1003
+ :fileObjId="currentFileCategory ? currentFileCategory.id : 0"
1004
+ :treeNodeArr="treeNodeArr"
1005
+ />
1006
+
1007
+ <filterDialog
1008
+ v-if="showFilterDialog"
1009
+ :visiable.sync="showFilterDialog"
1010
+ queryType="pcp"
1011
+ :treeNodeArr="treeNodeArr"
1012
+ :currentFileCategory="currentFileCategory"
1013
+ @openFileDirs="openFileDirs"
1014
+ ></filterDialog>
1015
+ </div>
1016
+ </template>
1017
+
1018
+ <script>
1019
+ import mixins from "./mixins/indexMixins";
1020
+ export default {
1021
+ name: "ledgerLibrary",
1022
+ mixins: [mixins],
1023
+ };
1024
+ </script>
1025
+ <style lang="scss" scoped>
1026
+ // #labBtn {
1027
+ // height: calc(100vh - 32px);
1028
+ // }
1029
+
1030
+ #containt {
1031
+ overflow: hidden;
1032
+
1033
+ .main-right {
1034
+ margin-left: -1%;
1035
+ padding-left: 18px !important;
1036
+ padding-top: 8px;
1037
+ padding-right: 8px;
1038
+ overflow: hidden;
1039
+ }
1040
+ }
1041
+
1042
+ .upload-list .upload-box {
1043
+ display: inline-block;
1044
+ }
1045
+
1046
+ // .vxe-grid .vxe-gird-block {
1047
+ // height: calc(100vh - 161px);
1048
+ // }
1049
+
1050
+ // .grid-height.viewBox {
1051
+ // height: calc(100vh - 84px);
1052
+
1053
+ // .containter1 {
1054
+ // .annex-piclist > .clearfix {
1055
+ // height: calc(100vh - 159px);
1056
+ // }
1057
+ // }
1058
+
1059
+ // .annex-grid-height {
1060
+ // height: calc(100vh - 126px);
1061
+ // }
1062
+ // }
1063
+
1064
+ // .annex-screen + .line + .annex-crumbs + .grid-height.viewBox {
1065
+ // height: calc(100vh - 133px);
1066
+
1067
+ // .containter1 {
1068
+ // .annex-piclist > .clearfix {
1069
+ // height: calc(100vh - 208px);
1070
+ // }
1071
+ // }
1072
+
1073
+ // .annex-grid-height {
1074
+ // height: calc(100vh - 175px);
1075
+ // }
1076
+ // }
1077
+
1078
+ // .annex-filter + .annex-crumbs + .grid-height.viewBox {
1079
+ // height: calc(100vh - 125px);
1080
+
1081
+ // .containter1 {
1082
+ // .annex-piclist > .clearfix {
1083
+ // height: calc(100vh - 200px);
1084
+ // }
1085
+ // }
1086
+
1087
+ // .annex-grid-height {
1088
+ // height: calc(100vh - 167px);
1089
+ // }
1090
+ // }
1091
+
1092
+ // .annex-filter + .annex-screen + .line + .annex-crumbs + .grid-height.viewBox {
1093
+ // height: calc(100vh - 173px);
1094
+
1095
+ // .containter1 {
1096
+ // .annex-piclist > .clearfix {
1097
+ // height: calc(100vh - 248px);
1098
+ // }
1099
+ // }
1100
+
1101
+ // .annex-grid-height {
1102
+ // height: calc(100vh - 215px);
1103
+ // }
1104
+ // }
1105
+
1106
+ // #labBtn {
1107
+ // height: calc(100vh - 34px);
1108
+ // }
1109
+ </style>