From 9185072c775eaf1cd3df53d06bc81dc5bfc8264b Mon Sep 17 00:00:00 2001
From: chenyibo <p-honggang.li@pcitc.com>
Date: 星期二, 30 三月 2021 16:31:58 +0800
Subject: [PATCH] Merge branch 'develop' of http://xearth.cn:6600/r/wuyushui/SewerAndRainNetwork into develop

---
 src/components/BaseNav/SolidWaste/directive.js |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

diff --git a/src/components/BaseNav/SolidWaste/directive.js b/src/components/BaseNav/SolidWaste/directive.js
new file mode 100644
index 0000000..d51b377
--- /dev/null
+++ b/src/components/BaseNav/SolidWaste/directive.js
@@ -0,0 +1,59 @@
+import Vue from 'vue'
+
+// 鑷畾涔夊厓绱犲疄鐜板脊妗嗘嫋鎷絒閲嶇偣]
+Vue.directive('draw', {
+  // inserted: function (el, binding, vNode) {
+  //   el.setAttribute('style', 'position: fixed; z-index: 9999')
+  // },
+  bind: function (el, bindding, vNode) {
+    el.setAttribute('draggable', true)
+    let left, top, width, height
+    el._dragstart = function (event) {
+      event.stopPropagation()
+      left = event.clientX - el.offsetLeft
+      top = event.clientY - el.offsetTop
+      width = el.offsetWidth
+      height = el.offsetHeight
+    }
+    el._checkPosition = function () { // 闃叉琚嫋鍑鸿竟鐣�
+      const width = el.offsetWidth
+      const height = el.offsetHeight
+      let left = Math.min(el.offsetLeft, document.body.clientWidth - width)
+      left = Math.max(0, left)
+      let top = Math.min(el.offsetTop, document.body.clientHeight - height)
+      top = Math.max(0, top)
+      el.style.left = left + 'px'
+      el.style.top = top + 'px'
+      el.style.width = width + 'px'
+      el.style.height = height + 'px'
+    }
+    el._dragEnd = function (event) {
+      event.stopPropagation()
+      left = event.clientX - left
+      top = event.clientY - top
+      el.style.left = left + 'px'
+      el.style.top = top + 'px'
+      el.style.width = width + 'px'
+      el.style.height = height + 'px'
+      el._checkPosition()
+    }
+    el._documentAllowDraop = function (event) {
+      event.preventDefault()
+    }
+    document.body.addEventListener('dragover', el._documentAllowDraop)
+    el.addEventListener('dragstart', el._dragstart)
+    el.addEventListener('dragend', el._dragEnd)
+    window.addEventListener('resize', el._checkPosition)
+  },
+
+  unbind: function (el, bindding, vNode) {
+    document.body.removeEventListener('dragover', el._documentAllowDraop)
+    el.removeEventListener('dragstart', el._dragstart)
+    el.removeEventListener('dragend', el._dragEnd)
+    window.removeEventListener('resize', el._checkPosition)
+    delete el._documentAllowDraop
+    delete el._dragstart
+    delete el._dragEnd
+    delete el._checkPosition
+  }
+})

--
Gitblit v1.8.0