修改:文件拖拽
This commit is contained in:
parent
31026de22e
commit
8739cfa19c
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="dashboard-container" v-resize="containerResize" @click="containerClick">
|
<div class="dashboard-container" v-resize="containerResize">
|
||||||
<v-contextmenu ref="homeContextmenu" :disabled="contextmenuDisabled">
|
<v-contextmenu ref="homeContextmenu" :disabled="contextmenuDisabled">
|
||||||
<div v-for="item of contextMenus" :key="item.operation">
|
<div v-for="item of contextMenus" :key="item.operation">
|
||||||
<!-- 一级菜单 -->
|
<!-- 一级菜单 -->
|
||||||
@ -94,7 +94,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<!--<el-button slot="reference" icon="el-icon-plus add-file-button" circle />-->
|
|
||||||
<button-upload slot="reference" :name="''" @click.native="upload"
|
<button-upload slot="reference" :name="''" @click.native="upload"
|
||||||
style="margin-right: 5px"></button-upload>
|
style="margin-right: 5px"></button-upload>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -170,11 +169,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</e-vue-contextmenu>
|
</e-vue-contextmenu>
|
||||||
|
|
||||||
<!--<div class="dashboard-text">path: {{ path }}</div>-->
|
|
||||||
|
|
||||||
<!--list布局-->
|
<!--list布局-->
|
||||||
<!--<div v-show="!grid && fileList.length > 0" :style="{'width':'100%','height': clientHeight+'px'}">-->
|
|
||||||
<div v-show="fileList.length > 0" id="v-draw-rectangle" :style="{'width':'100%','height': clientHeight + 8 +'px'}">
|
<div v-show="fileList.length > 0" id="v-draw-rectangle" :style="{'width':'100%','height': clientHeight + 8 +'px'}">
|
||||||
<pl-table
|
<pl-table
|
||||||
ref="fileListTable"
|
ref="fileListTable"
|
||||||
@ -208,16 +203,6 @@
|
|||||||
@select="pinSelect"
|
@select="pinSelect"
|
||||||
>
|
>
|
||||||
<template v-for="(item,index) in tableHead">
|
<template v-for="(item,index) in tableHead">
|
||||||
<!--索引-->
|
|
||||||
<!-- <pl-table-column-->
|
|
||||||
<!-- v-if="index === 0 && !selectFile"-->
|
|
||||||
<!-- :key="index"-->
|
|
||||||
<!-- :index="index"-->
|
|
||||||
<!-- type="selection"-->
|
|
||||||
<!-- min-width="50"-->
|
|
||||||
<!-- >-->
|
|
||||||
<!-- </pl-table-column>-->
|
|
||||||
<!--图标-->
|
|
||||||
<pl-table-column
|
<pl-table-column
|
||||||
v-if="index === 1"
|
v-if="index === 1"
|
||||||
:key="index"
|
:key="index"
|
||||||
@ -377,6 +362,7 @@
|
|||||||
</empty-file>
|
</empty-file>
|
||||||
<img id="dragImage" draggable="false" style="position: fixed;top: -100px;z-index: 99999"
|
<img id="dragImage" draggable="false" style="position: fixed;top: -100px;z-index: 99999"
|
||||||
src="~@/assets/img/move-file.png">
|
src="~@/assets/img/move-file.png">
|
||||||
|
<div id="dragDiv" draggable="false" style="position: fixed;top: -100px;z-index: 99999"></div>
|
||||||
</div>
|
</div>
|
||||||
<!--为了不受右键区域的影响, 把弹窗之类的提取出来-->
|
<!--为了不受右键区域的影响, 把弹窗之类的提取出来-->
|
||||||
<sim-text-preview :file.sync="textPreviewRow" :status.sync="textPreviewVisible"></sim-text-preview>
|
<sim-text-preview :file.sync="textPreviewRow" :status.sync="textPreviewVisible"></sim-text-preview>
|
||||||
@ -1192,11 +1178,15 @@ export default {
|
|||||||
let gridItemClassName = 'van-grid-item van-grid-item--square'
|
let gridItemClassName = 'van-grid-item van-grid-item--square'
|
||||||
let gridItemChildenClassName = 'grid-time van-grid-item__content van-grid-item__content--center van-grid-item__content--square'
|
let gridItemChildenClassName = 'grid-time van-grid-item__content van-grid-item__content--center van-grid-item__content--square'
|
||||||
|
|
||||||
|
// 正在拖动的元素
|
||||||
|
let dragingDiv = null
|
||||||
|
|
||||||
// 目标元素
|
// 目标元素
|
||||||
let target = document.querySelector('.el-table__body-wrapper tbody')
|
let target = document.querySelector('.el-table__body-wrapper tbody')
|
||||||
if (this.grid) {
|
if (this.grid) {
|
||||||
target = document.querySelector('.van-checkbox-group .van-grid')
|
target = document.querySelector('.van-checkbox-group .van-grid')
|
||||||
}
|
}
|
||||||
|
let draw = document.getElementById('v-draw-rectangle')
|
||||||
let rows = 0;//行数
|
let rows = 0;//行数
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
rows = target.childElementCount
|
rows = target.childElementCount
|
||||||
@ -1228,18 +1218,27 @@ export default {
|
|||||||
if (childOfImg) {
|
if (childOfImg) {
|
||||||
childOfImg.draggable = false
|
childOfImg.draggable = false
|
||||||
}
|
}
|
||||||
|
|
||||||
child.ondragstart = function (e) {
|
child.ondragstart = function (e) {
|
||||||
if (_this.drawFlag) {
|
if (_this.drawFlag) {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
e.stopPropagation()
|
e.stopPropagation()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
// document.onmousemove = function (e) {
|
||||||
|
// console.log(e.clientX, e.clientY)
|
||||||
|
// }
|
||||||
if (_this.fileListScrollTop === 0) {
|
if (_this.fileListScrollTop === 0) {
|
||||||
let count = _this.selectRowData.length
|
let count = _this.selectRowData.length
|
||||||
if (_this.selectRowData.length >= 99) {
|
if (_this.selectRowData.length >= 99) {
|
||||||
count = 99
|
count = 99
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dragingDiv = child.cloneNode(true)
|
||||||
|
dragingDiv.id = 'sdfsdfsdf'
|
||||||
|
dragingDiv.style.width = child.offsetWidth
|
||||||
|
dragingDiv.style.heigth = child.offsetHeight
|
||||||
|
draw.appendChild(dragingDiv)
|
||||||
|
|
||||||
let dragImage = document.getElementById('dragImage');
|
let dragImage = document.getElementById('dragImage');
|
||||||
dragImage.src = require(`@/assets/img/move-file/move-file${count}.png`)
|
dragImage.src = require(`@/assets/img/move-file/move-file${count}.png`)
|
||||||
|
|
||||||
@ -1353,8 +1352,17 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
target.ondragover = function (e) {
|
draw.ondragover = function (e) {
|
||||||
// console.log('目标元素中拖拽...');
|
|
||||||
|
const drawRectangle = document.getElementById('sdfsdfsdf')
|
||||||
|
if (drawRectangle) {
|
||||||
|
console.log('drawRectangle')
|
||||||
|
// drawRectangle.style.left = retcLeft + 'px'
|
||||||
|
// drawRectangle.style.top = retcTop + 'px'
|
||||||
|
// drawRectangle.style.width = retcWidth + 'px'
|
||||||
|
// drawRectangle.style.height = retcHeight + 'px'
|
||||||
|
// drawRectangle.style.backgroundColor = '#f2f5fa55'
|
||||||
|
}
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
leaveIndex = -1
|
leaveIndex = -1
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user