From bf8412cf72377f969f18db3839e30c7bad922196 Mon Sep 17 00:00:00 2001 From: jmal Date: Wed, 7 Apr 2021 22:53:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E6=8B=96=E6=8B=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/img/arrow1_left.png | Bin 3456 -> 3444 bytes src/components/ShowFile/SelectFile.vue | 4 +- src/components/ShowFile/ShowFile.vue | 63 ++++++++++++++++--------- src/utils/dom.js | 4 +- 4 files changed, 44 insertions(+), 27 deletions(-) diff --git a/src/assets/img/arrow1_left.png b/src/assets/img/arrow1_left.png index b3ebc5c3c0023c303d9949e47e26d00c1fddaf3b..a809a3df613e83e643769d68653f1d628bd21773 100644 GIT binary patch delta 3441 zcmV-%4UY1F8}u5GB!4?eL_t(|UhQ3btQ=Jt|9!K&vwZ}U5~1DQ@(QHg+2XBILq)ij zN05RPqY*_N5Oow^>_0(%AkGRaQ5lbGOxcwZ+y^;nd*rgT71T1FoAQ%?` zI7>2Mhd|g%pnqKq>_&R}UX%8GDA`8n>S9ZPIme2ZYbot|K!DAc0?HOvIb2nUU9msZuZ9)da}b7k}J94PM2>H>*#Dd<(?%G^c2z zncn}reC={Hb|nGwmT?;qRx)FWoG_!+LWDmv<4IGmJRYql|8Kpk2vD%+U%^PN0rNH8 zmMAIy5N#(k)>ktJc1Y1DK}lB-VD^8{KU2$Q*AVy~2{CoO3I;vm)N1RGoc8v+Q9Bzs z0dlp{3V$NLzdcYBbw0whKgvuGj%CZ6!ZiAETagkVUo##8VNH|?h}1~<0C~H(7Jp3Z!U`G8Dii|bYsGaS zS{rLn!gf9+5-2A?0)7DIgg^qN1Sr&vmF!?+fE4t-C}~(#O;?^&l?Y`7DAYU+M%J)g_Ber50yIbXGkULC}@Km=&k@UixC5C>$)dIewD%+*R?7p2=W>_@4C$hk5|jbR`H-RNfpk}m=jYNf4FE!UC-zCf?N*fjFmd>Kp<%h0OX@>jg- z@=SpCLe0N=H6-JDncz1G&|G3pU4OGmCuoj{`14*Dq}5Mu{0W zO8s7=3jDl1|58BP3`W7PZ+|h9vm2SrtRu8fG`yVha7BQEz2Hh_=cP`{f}B?c{v5lw zL}P3L=*%Gg#Z8t-yQ-Sm-*Kwm6#;T~>4(Jp6IDr21%BaJ=_*e17BEg%<$Jg4WuhOA zWy(M8MUPBs*)igc#spl%sM9-U<@_&t;u60KM%XmjY z?_H<@zc6lmi8ToDr*}#~51&6|>XoxQ#n+JlqU(0uuD{<&k=OI8z;91gKMf%5)u&#& zKAlOQ-l@xZM*^rA08#~hu3lVD4his+1AvSnaFDPkseneuS?c=6i zxqT|DZU`VIOpkUtzfOP#|; zu3pCvnDKqj!lxDpJ{gou2TOut5;fvm-_e|_8P3HZx(C@Bb; zAdr-Tkoc8^6_<&sAXdDFLDqk%N^lA_QK4C^=-&?JCu z`~i%PC4a_#*sQ8bC~q5A1K0|dS7PNSzQ|+<&zYIZmpj>aMSy}`TFuN4cT(o}yebm3 z8(D4z`fp(f5#3wOl*RsxQy#7ekhe>hfmtjLRd%Q%LC!7>5_nkV+qJSJ$W%-;XlBZ< zc2en%0K8}h><`7_P`#7FAm>$)pxM~UppVuh7nY8Krq z`vpv(A4;?6CJB0^U3@R?7Z6&z_~v7vM>dS;rTqdB=7tfiM?w6zj0t;e!_{k?kBdUz zGN%19*aMqJ^~`<&;cpt%Btgu#jmz7{u7B8XB^%YYajnNdd^e8ll`Ui=-8ix}Je+JD z>*KL4MZ`;2@W~8%8VWv@lDKUi-78zh0_cv-qnmeuT4@ClchUCov=xqXpq@>?F8oW^ z>IN@ZpVB)TjuNe=4utv(gEm1Oc1{mwjY~?-~X_7{O=6_c~ z&3FNX>t#5W=$Iq}jBRGNvP@Qfq!OSoUYy4oy$IkuSq>(8K9Yfh zXx<4D5_F_QnBa%@2skW)>zZ;g#$?S9m0gk^Lh#Etr)=1no zE$aM!)IQO6LSub3b6`ieIDghv1UUX~U>Ua&VI?z`bW5Uw_#x`{nen8lR~`?dM}=%x z65u!y>I-h52Crh`n^gp_TBlg9#VOioruRRu+LmAaT}^-!kA~tU%(Mc)5P&oM1{;#x zdjN)scvCeq@>)nXeVd5|0VbkrujLzJV2FUreMhZ8kb#{93_BTn_S=WOxGKW9q{K! zkb(I#0H)k9(Fa(EK=e-rc59%&)zhinM`+(sA9}hC-Z=ze8_`MwvZ#^eh2-4k<+eB?M5E z*tn=o2oM*f6#1DDKv81jqBbEwT#!=aXF>o)iH(cegaC0tN|B!l0Td-RE^7Y=N9R<` TMmEIc00000NkvXXu0mjfU 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 diff --git a/src/components/ShowFile/SelectFile.vue b/src/components/ShowFile/SelectFile.vue index 030f743..42b1334 100644 --- a/src/components/ShowFile/SelectFile.vue +++ b/src/components/ShowFile/SelectFile.vue @@ -90,8 +90,8 @@ export default { >>>.el-dialog__footer { position: absolute; width: 100%; - bottom: 0px; - padding: 0px 20px 20px; + bottom: 0; + padding: 0 20px 20px; background: linear-gradient(rgba(255,255,255,0), #fff); } } diff --git a/src/components/ShowFile/ShowFile.vue b/src/components/ShowFile/ShowFile.vue index 9eb6f7f..ae2fa63 100644 --- a/src/components/ShowFile/ShowFile.vue +++ b/src/components/ShowFile/ShowFile.vue @@ -362,13 +362,13 @@
- - -
+ +
1个文件
+ -
- document +
+
@@ -1197,6 +1197,8 @@ export default { let draw = document.getElementById('v-draw-rectangle') let rows = 0//行数 + let drawOffsetLeft = getElementToPageLeft(draw) + let firstOver = 0 // 是否刚开始拖动 let moveTitle = '' setTimeout(function () { @@ -1212,11 +1214,8 @@ export default { } // 为画矩形选取准备数据 let pos = getObjPos(child) - pos.w = child.offsetWidth - pos.h = child.offsetHeight - child.w = child.offsetWidth - child.h = child.offsetWidth + child.h = child.offsetHeight child.x = pos.x child.y = pos.y pos.rowIndex = child.rowIndex @@ -1276,6 +1275,7 @@ export default { dragIndex = -1 } } + console.log(throughRow) return throughRow } else { if (elPath[0].tagName === 'TD') { @@ -1327,13 +1327,12 @@ export default { dragingDiv.classList.add('dragingDiv') dragingDiv.style.transition = 'all 0.3s' dragingDiv.style.zIndex = -1 - dragingDiv.style.positon = 'absolute' - dragingDiv.style.width = element.offsetWidth + 'px' - dragingDiv.style.height = element.offsetHeight + 'px' - dragingDiv.rowIndex = rowIndex + dragingDiv.style.position = 'absolute' const pos = _this.dragElementList[rowIndex] + dragingDiv.style.width = pos.w + 'px' + dragingDiv.style.height = pos.h + 'px' dragingDiv.style.top = pos.y - pos.h/2 + 10 + 'px' - dragingDiv.style.left = pos.x - pos.w/2 + 6 + 'px' + dragingDiv.style.left = pos.x - drawOffsetLeft + 'px' dragingDiv.original = {top: dragingDiv.style.top, left: dragingDiv.style.left} if (index === 0){ let numberFilesCopy = document.getElementById("numberFiles").cloneNode(true) @@ -1341,7 +1340,6 @@ export default { numberFilesCopy.querySelector('.number').innerHTML = _this.selectRowData.length + '个文件' dragingDiv.appendChild(numberFilesCopy) } - draw.appendChild(dragingDiv) }) firstOver = 0 @@ -1358,7 +1356,7 @@ export default { draggedIndex = dragged.rowIndex // 只有选中的才能拖拽 _this.cellMouseIndex = -1 - dragged.style.cursor = 'not-allowed' + // dragged.style.cursor = 'not-allowed' dragBackCorlor = dragged.style.backgroundColor } } @@ -1381,9 +1379,14 @@ export default { dragged.style.cursor = 'copy' let numberFilesCopy = document.getElementById('numberFilesCopy') - console.log('numberFilesCopy', numberFilesCopy, numberFilesCopy.querySelector('.number'), numberFilesCopy.querySelector('.operate')) + numberFilesCopy.style.backgroundColor = '#40a9ffc9' numberFilesCopy.querySelector('.number').style.display = 'none' - // numberFilesCopy.querySelector('.targer').style.display = 'block' + numberFilesCopy.querySelector('.icon').style.display = 'inline' + numberFilesCopy.querySelector('.operate').style.display = 'inline' + let targetFolder = numberFilesCopy.querySelector('.target .folder') + targetFolder.style.display = 'inline' + targetFolder.innerHTML = _this.fileList[throughRow.rowIndex].name + dragEnterBackCorlor = throughRow.style.backgroundColor throughRow.style.backgroundColor = '#9fcdfc99' } @@ -1394,12 +1397,12 @@ export default { } container.ondragover = function (e) { - // console.log('draw.ondragover') _this.selectRowData.forEach((row,index) => { const drawRectangle = document.getElementById('dragingDiv'+row.index) if (drawRectangle) { - drawRectangle.style.left = e.clientX - 50 + index*3 + 'px' + drawRectangle.style.left = e.clientX - drawOffsetLeft + index*3 + 'px' drawRectangle.style.top = e.clientY - 50 + index*3 + 'px' + console.log(drawRectangle.style.top) if (firstOver === 0){ drawRectangle.style.zIndex = 999 setTimeout(()=>{ @@ -1473,6 +1476,15 @@ export default { } } dragged.style.cursor = 'default' + + let numberFilesCopy = document.getElementById('numberFilesCopy') + if (numberFilesCopy) { + numberFilesCopy.style.backgroundColor = '#d2eefa66' + numberFilesCopy.querySelector('.number').style.display = 'inline' + numberFilesCopy.querySelector('.icon').style.display = 'none' + numberFilesCopy.querySelector('.operate').style.display = 'none' + numberFilesCopy.querySelector('.target .folder').style.display = 'none' + } } dragged.style.backgroundColor = dragBackCorlor } @@ -3179,6 +3191,7 @@ export default { display: flex; .icon { padding: 5px; + width: 40px; } span { font-weight: 500; @@ -3187,9 +3200,13 @@ export default { padding: 0 15px 0 15px; } .target { - background-color: #1d8cff; - color: #f0f0f0; - padding: 8px; + .folder { + background-color: #1d8cff; + color: #f0f0f0; + padding: 8px; + border-radius: 2px; + margin-right: 5px; + } } } diff --git a/src/utils/dom.js b/src/utils/dom.js index 8b0adf1..6f094f7 100644 --- a/src/utils/dom.js +++ b/src/utils/dom.js @@ -1,6 +1,6 @@ // 获取DOM元素到页面顶部的距离 export function getElementToPageTop(el) { - if (el.className.indexOf('parent-grid-item') > -1) { + if (el.className && el.className.indexOf('parent-grid-item') > -1 || el.className.indexOf('van-grid-item van-grid-item--square') > -1) { return el.offsetTop } if (el.parentElement) { @@ -10,7 +10,7 @@ export function getElementToPageTop(el) { } // 获取DOM元素到页面左边的距离 export function getElementToPageLeft(el) { - if (el.className.indexOf('parent-grid-item') > -1) { + if (el.className && el.className.indexOf('parent-grid-item') > -1) { return el.offsetLeft } if (el.offsetParent) {