doway-coms 2.11.78 → 2.11.80
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.
package/package.json
CHANGED
|
@@ -13,13 +13,18 @@
|
|
|
13
13
|
}">
|
|
14
14
|
<vxe-column title="菜单权限" tree-node>
|
|
15
15
|
<template #default="{ row }">
|
|
16
|
-
<
|
|
17
|
-
<
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
16
|
+
<div class="folder-header">
|
|
17
|
+
<div class="folder-content">
|
|
18
|
+
<a-icon type="folder-open" v-if="$refs.eisTreeView.isTreeExpandByRow(row)" />
|
|
19
|
+
<a-icon v-else type="folder" />
|
|
20
|
+
<span class="folder-name">{{ row.name }}</span>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="folder-actions" v-if="edit === true">
|
|
23
|
+
<a-button size="small" type="primary" @click="handleAddSubFolder(row)">添加</a-button>
|
|
24
|
+
<a-button size="small" type="default" @click="handleEditSubFolder(row)"
|
|
25
|
+
v-if="row.id !== 'sys_top_folder'">编辑</a-button>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
23
28
|
</template>
|
|
24
29
|
</vxe-column>
|
|
25
30
|
</vxe-table>
|
|
@@ -38,10 +43,14 @@
|
|
|
38
43
|
<div class="card-view-items">
|
|
39
44
|
<div class="card-view-item" :style="{ width: itemWidth + 'px' }" v-for="loopFileData in currentFolderData"
|
|
40
45
|
@dblclick="panelFolderDblClick(loopFileData)" :key="loopFileData.id">
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
46
|
+
<div class="card-content">
|
|
47
|
+
<div class="card-name">{{ loopFileData.name }}</div>
|
|
48
|
+
<div class="card-actions">
|
|
49
|
+
<a-button class="download-btn" size="small" type="primary" @click="downloadAttach(loopFileData)"
|
|
50
|
+
v-if="loopFileData.attachType === 'file' && allowDownload === true">下载</a-button>
|
|
51
|
+
<a-button class="delete-btn" size="small" type="danger" @click="removeAttach(loopFileData)"
|
|
52
|
+
v-if="edit === true">删除</a-button>
|
|
53
|
+
</div>
|
|
45
54
|
</div>
|
|
46
55
|
</div>
|
|
47
56
|
|
|
@@ -82,7 +91,7 @@
|
|
|
82
91
|
</template>
|
|
83
92
|
|
|
84
93
|
<script>
|
|
85
|
-
import { notification, Upload, Tree, Icon, Popconfirm, Input } from "ant-design-vue";
|
|
94
|
+
import { notification, Upload, Tree, Icon, Popconfirm, Input, Button } from "ant-design-vue";
|
|
86
95
|
import { Checkbox, Modal } from "vxe-table";
|
|
87
96
|
import { attachGetAttachUrlApi, attachSearchApi } from "../../utils/api";
|
|
88
97
|
import XEUtils from 'xe-utils'
|
|
@@ -99,7 +108,8 @@ export default {
|
|
|
99
108
|
'a-tree': Tree,
|
|
100
109
|
'a-icon': Icon,
|
|
101
110
|
'a-popconfirm': Popconfirm,
|
|
102
|
-
'a-input': Input
|
|
111
|
+
'a-input': Input,
|
|
112
|
+
'a-button': Button
|
|
103
113
|
},
|
|
104
114
|
data() {
|
|
105
115
|
return {
|
|
@@ -506,7 +516,7 @@ export default {
|
|
|
506
516
|
let tempRemoveRows = XEUtils.filter(this.internalRows, p => p.sysRowState === 'delete' && p.id !== 'sys_top_folder')
|
|
507
517
|
let tempAddRows = XEUtils.filter(this.internalRows, p => p.sysRowState === 'add' && p.id !== 'sys_top_folder')
|
|
508
518
|
let tempUpdateRows = XEUtils.filter(this.internalRows, p => p.sysRowState === 'update' && p.id !== 'sys_top_folder')
|
|
509
|
-
let tempRows = XEUtils.clone(XEUtils.union(tempRemoveRows, tempAddRows, tempUpdateRows),true)
|
|
519
|
+
let tempRows = XEUtils.clone(XEUtils.union(tempRemoveRows, tempAddRows, tempUpdateRows), true)
|
|
510
520
|
XEUtils.arrayEach(tempRows, p => {
|
|
511
521
|
if (p.parentId === 'sys_top_folder') {
|
|
512
522
|
p.parentId = null
|
|
@@ -667,6 +677,28 @@ export default {
|
|
|
667
677
|
align-items: center;
|
|
668
678
|
}
|
|
669
679
|
|
|
680
|
+
.folder-header {
|
|
681
|
+
display: flex;
|
|
682
|
+
justify-content: space-between;
|
|
683
|
+
align-items: center;
|
|
684
|
+
width: 100%;
|
|
685
|
+
|
|
686
|
+
.folder-content {
|
|
687
|
+
display: flex;
|
|
688
|
+
align-items: center;
|
|
689
|
+
gap: 4px;
|
|
690
|
+
|
|
691
|
+
.folder-name {
|
|
692
|
+
margin-left: 4px;
|
|
693
|
+
}
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
.folder-actions {
|
|
697
|
+
display: flex;
|
|
698
|
+
gap: 6px;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
|
|
670
702
|
.card-view-items {
|
|
671
703
|
// margin-top: 100px;
|
|
672
704
|
// margin-left: 100px;
|
|
@@ -688,11 +720,7 @@ export default {
|
|
|
688
720
|
|
|
689
721
|
.card-view-item {
|
|
690
722
|
cursor: pointer;
|
|
691
|
-
|
|
692
|
-
// margin-top: 4px;
|
|
693
|
-
// margin-right: 8px;
|
|
694
|
-
// margin-bottom: 4px;
|
|
695
|
-
// margin-left: 8px;
|
|
723
|
+
position: relative;
|
|
696
724
|
flex-grow: 1;
|
|
697
725
|
flex-shrink: 1;
|
|
698
726
|
flex-basis: auto;
|
|
@@ -702,19 +730,45 @@ export default {
|
|
|
702
730
|
margin-bottom: 4px;
|
|
703
731
|
margin-left: 8px;
|
|
704
732
|
padding: 8px 8px 8px 8px;
|
|
705
|
-
//border-color: #9ad4dc;
|
|
706
733
|
min-width: 150px;
|
|
734
|
+
min-height: 80px;
|
|
707
735
|
border-radius: 6px;
|
|
708
736
|
|
|
737
|
+
.card-content {
|
|
738
|
+
position: relative;
|
|
739
|
+
height: 100%;
|
|
740
|
+
display: flex;
|
|
741
|
+
flex-direction: column;
|
|
742
|
+
|
|
743
|
+
.card-name {
|
|
744
|
+
flex: 1;
|
|
745
|
+
word-wrap: break-word;
|
|
746
|
+
margin-bottom: 8px;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
.card-actions {
|
|
750
|
+
position: absolute;
|
|
751
|
+
bottom: 4px;
|
|
752
|
+
left: 4px;
|
|
753
|
+
right: 4px;
|
|
754
|
+
display: flex;
|
|
755
|
+
justify-content: space-between;
|
|
756
|
+
|
|
757
|
+
.download-btn {
|
|
758
|
+
// 固定在左下角
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
.delete-btn {
|
|
762
|
+
// 固定在右下角
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
|
|
709
767
|
.card-view-icon {
|
|
710
768
|
float: left;
|
|
711
769
|
width: 64px;
|
|
712
770
|
height: 64px;
|
|
713
771
|
}
|
|
714
|
-
|
|
715
|
-
// .card-view-desc {
|
|
716
|
-
// padding-left: 85px;
|
|
717
|
-
// }
|
|
718
772
|
}
|
|
719
773
|
|
|
720
774
|
.card-view-item:hover {
|