|
@@ -46,6 +46,11 @@ export default { |
|
@@ -46,6 +46,11 @@ export default { |
46
|
isSelect:{
|
46
|
isSelect:{
|
47
|
type:Boolean,
|
47
|
type:Boolean,
|
48
|
default:false
|
48
|
default:false
|
|
|
49
|
+ },
|
|
|
50
|
+ //是否编辑文件名称
|
|
|
51
|
+ isEditName:{
|
|
|
52
|
+ type:Boolean,
|
|
|
53
|
+ default:false
|
49
|
}
|
54
|
}
|
50
|
},
|
55
|
},
|
51
|
data() {
|
56
|
data() {
|
|
@@ -67,6 +72,8 @@ export default { |
|
@@ -67,6 +72,8 @@ export default { |
67
|
},
|
72
|
},
|
68
|
setup(props, {attrs, slots, emit}) {
|
73
|
setup(props, {attrs, slots, emit}) {
|
69
|
const {proxy} = Vue.getCurrentInstance();
|
74
|
const {proxy} = Vue.getCurrentInstance();
|
|
|
75
|
+ //是否编辑文档名称
|
|
|
76
|
+ const isInput=Vue.ref();
|
70
|
let height = Vue.ref(window.innerHeight - 20);
|
77
|
let height = Vue.ref(window.innerHeight - 20);
|
71
|
let iconclass = {
|
78
|
let iconclass = {
|
72
|
'folder': 'icon-wenjianjia',
|
79
|
'folder': 'icon-wenjianjia',
|
|
@@ -173,7 +180,8 @@ export default { |
|
@@ -173,7 +180,8 @@ export default { |
173
|
// return `<i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><input value="${inputFileName}"></input>`
|
180
|
// return `<i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><input value="${inputFileName}"></input>`
|
174
|
return `<i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><span>${row.fileName}</span>`
|
181
|
return `<i class="iconfont ${cls}" style="font-size: 22px;margin-right: 10px;"></i><span>${row.fileName}</span>`
|
175
|
}
|
182
|
}
|
176
|
- }, {
|
183
|
+ },
|
|
|
184
|
+ {
|
177
|
prop: 'createUser',
|
185
|
prop: 'createUser',
|
178
|
label: '提交人',
|
186
|
label: '提交人',
|
179
|
sortable: true,
|
187
|
sortable: true,
|
|
@@ -184,8 +192,8 @@ export default { |
|
@@ -184,8 +192,8 @@ export default { |
184
|
sortable: true,
|
192
|
sortable: true,
|
185
|
width: '180px'
|
193
|
width: '180px'
|
186
|
}
|
194
|
}
|
187
|
- /* ,{
|
|
|
188
|
- prop: '',
|
195
|
+ /*,{
|
|
|
196
|
+ prop: 'handle',
|
189
|
label: '操作',
|
197
|
label: '操作',
|
190
|
sortable: false,
|
198
|
sortable: false,
|
191
|
width: '180px',
|
199
|
width: '180px',
|
|
@@ -330,6 +338,31 @@ export default { |
|
@@ -330,6 +338,31 @@ export default { |
330
|
}
|
338
|
}
|
331
|
}
|
339
|
}
|
332
|
|
340
|
|
|
|
341
|
+ /*
|
|
|
342
|
+ * 单个删除文档
|
|
|
343
|
+ * lu
|
|
|
344
|
+ * */
|
|
|
345
|
+ let handleDelete =(row,index)=>{
|
|
|
346
|
+ dataList.value.filter((v)=>{
|
|
|
347
|
+ if(v.id==row.id){
|
|
|
348
|
+ v.checked = true
|
|
|
349
|
+ }
|
|
|
350
|
+ })
|
|
|
351
|
+ deleteDocument(row.id,row.type)
|
|
|
352
|
+ }
|
|
|
353
|
+ /*
|
|
|
354
|
+ * 下载单个文档
|
|
|
355
|
+ * lu
|
|
|
356
|
+ * */
|
|
|
357
|
+ let handleDownloadFile=(row,index)=>{
|
|
|
358
|
+ dataList.value.filter((v)=>{
|
|
|
359
|
+ if(v.id==row.id){
|
|
|
360
|
+ v.checked = true
|
|
|
361
|
+ }
|
|
|
362
|
+ })
|
|
|
363
|
+ downloadFile();
|
|
|
364
|
+ }
|
|
|
365
|
+ const moreShow=Vue.ref();//更多按钮是否显示
|
333
|
|
366
|
|
334
|
/**
|
367
|
/**
|
335
|
* 将文档放入回收站
|
368
|
* 将文档放入回收站
|
|
@@ -702,17 +735,55 @@ export default { |
|
@@ -702,17 +735,55 @@ export default { |
702
|
proxy.$global.showMsg(msg, 'warning');
|
735
|
proxy.$global.showMsg(msg, 'warning');
|
703
|
}
|
736
|
}
|
704
|
}
|
737
|
}
|
|
|
738
|
+ isInput.value='';
|
705
|
})
|
739
|
})
|
706
|
reNameFileFlg.value[item.id] = false;
|
740
|
reNameFileFlg.value[item.id] = false;
|
707
|
}
|
741
|
}
|
708
|
|
742
|
|
709
|
}
|
743
|
}
|
|
|
744
|
+ /*表格列表添加文件大小列
|
|
|
745
|
+ *lu
|
|
|
746
|
+ * */
|
|
|
747
|
+ let addColumns=()=>{
|
|
|
748
|
+ let newColumns= {
|
|
|
749
|
+ prop: 'fileSize',
|
|
|
750
|
+ label:'文件大小',
|
|
|
751
|
+ width:'120px',
|
|
|
752
|
+ render:function (row){
|
|
|
753
|
+ let fileSizeB=0;
|
|
|
754
|
+ if(row.fileSize){
|
|
|
755
|
+ fileSizeB=row.fileSize;
|
|
|
756
|
+
|
|
|
757
|
+ }
|
|
|
758
|
+ let fileSize=filterType(fileSizeB)
|
|
|
759
|
+ return `<span>${fileSize}</span>`
|
|
|
760
|
+ }
|
|
|
761
|
+
|
|
|
762
|
+ }
|
|
|
763
|
+ if(props.isEditName){
|
|
|
764
|
+ columns.value.splice(1,0,newColumns)
|
|
|
765
|
+
|
|
|
766
|
+ }
|
|
|
767
|
+ }
|
|
|
768
|
+ /*文件大小单位转换
|
|
|
769
|
+ * lu
|
|
|
770
|
+ * */
|
|
|
771
|
+ let filterType=(val)=>{
|
|
|
772
|
+ if (val==0) return "0 B";
|
|
|
773
|
+ let k=1024;
|
|
|
774
|
+ let sizes=["B","KB","GB","TB","PB","EB","ZB","YB"];
|
|
|
775
|
+ let i=Math.floor(Math.log(val) / Math.log(k));
|
|
|
776
|
+ return (val/Math.pow(k,i)).toPrecision(3) + " "+sizes[i];
|
|
|
777
|
+ }
|
710
|
|
778
|
|
711
|
|
779
|
|
712
|
/**
|
780
|
/**
|
713
|
* 挂载完
|
781
|
* 挂载完
|
714
|
*/
|
782
|
*/
|
715
|
Vue.onMounted(() => {
|
783
|
Vue.onMounted(() => {
|
|
|
784
|
+ //表格列表添加文件大小列
|
|
|
785
|
+ addColumns();
|
|
|
786
|
+
|
716
|
getUserList();
|
787
|
getUserList();
|
717
|
// 预览模式 不展示左侧树
|
788
|
// 预览模式 不展示左侧树
|
718
|
if (!props.isView) {
|
789
|
if (!props.isView) {
|
|
@@ -782,8 +853,15 @@ export default { |
|
@@ -782,8 +853,15 @@ export default { |
782
|
},function (){},false)
|
853
|
},function (){},false)
|
783
|
}
|
854
|
}
|
784
|
|
855
|
|
|
|
856
|
+ //点击文件名称编辑
|
|
|
857
|
+ const editFileName=(item)=>{
|
|
|
858
|
+ isInput.value=item.id;
|
|
|
859
|
+ }
|
|
|
860
|
+
|
785
|
return {
|
861
|
return {
|
786
|
/* viewEdit,*/
|
862
|
/* viewEdit,*/
|
|
|
863
|
+ editFileName,
|
|
|
864
|
+ isInput,
|
787
|
iconclass,
|
865
|
iconclass,
|
788
|
layout,
|
866
|
layout,
|
789
|
height,
|
867
|
height,
|
|
@@ -832,7 +910,12 @@ export default { |
|
@@ -832,7 +910,12 @@ export default { |
832
|
editType,
|
910
|
editType,
|
833
|
selectAll,
|
911
|
selectAll,
|
834
|
isAllSelect,
|
912
|
isAllSelect,
|
835
|
- selectText
|
913
|
+ selectText,
|
|
|
914
|
+ handleDelete,
|
|
|
915
|
+ handleDownloadFile,
|
|
|
916
|
+ moreShow,
|
|
|
917
|
+ addColumns,
|
|
|
918
|
+ filterType
|
836
|
|
919
|
|
837
|
}
|
920
|
}
|
838
|
}
|
921
|
}
|