切换导航条
此项目
正在载入...
登录
朱兆平
/
vue_cli
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
小范
2 years ago
提交
a3efa07491f5de19750433dfae6adb5757c5891e
1 个父辈
be9ed3ae
弹框拖动
显示空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
52 行增加
和
3 行删除
src/drag.js
src/main.js
src/views/nav3/Way.vue
src/drag.js
0 → 100644
查看文件 @
a3efa07
import
Vue
from
'vue'
// v-dialogDrag: 弹窗拖拽
Vue
.
directive
(
'dialogDrag'
,
{
bind
(
el
,
binding
,
vnode
,
oldVnode
)
{
const
dialogHeaderEl
=
el
.
querySelector
(
'.el-dialog__header'
)
const
dragDom
=
el
.
querySelector
(
'.el-dialog'
)
dialogHeaderEl
.
style
.
cursor
=
'move'
// 获取原有属性 ie dom元素.currentStyle 火狐谷歌 window.getComputedStyle(dom元素, null);
const
sty
=
dragDom
.
currentStyle
||
window
.
getComputedStyle
(
dragDom
,
null
)
dialogHeaderEl
.
onmousedown
=
(
e
)
=>
{
// 鼠标按下,计算当前元素距离可视区的距离
const
disX
=
e
.
clientX
-
dialogHeaderEl
.
offsetLeft
const
disY
=
e
.
clientY
-
dialogHeaderEl
.
offsetTop
// 获取到的值带px 正则匹配替换
let
styL
,
styT
// 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
if
(
sty
.
left
.
includes
(
'%'
))
{
styL
=
+
document
.
body
.
clientWidth
*
(
+
sty
.
left
.
replace
(
/
\%
/g
,
''
)
/
100
)
styT
=
+
document
.
body
.
clientHeight
*
(
+
sty
.
top
.
replace
(
/
\%
/g
,
''
)
/
100
)
}
else
{
styL
=
+
sty
.
left
.
replace
(
/
\p
x/g
,
''
)
styT
=
+
sty
.
top
.
replace
(
/
\p
x/g
,
''
)
}
document
.
onmousemove
=
function
(
e
)
{
// 通过事件委托,计算移动的距离
const
l
=
e
.
clientX
-
disX
const
t
=
e
.
clientY
-
disY
// 移动当前元素
dragDom
.
style
.
left
=
`
$
{
l
+
styL
}
px
`
dragDom
.
style
.
top
=
`
$
{
t
+
styT
}
px
`
// 将此时的位置传出去
// binding.value({x:e.pageX,y:e.pageY})
}
document
.
onmouseup
=
function
(
e
)
{
document
.
onmousemove
=
null
document
.
onmouseup
=
null
}
}
}
})
...
...
src/main.js
查看文件 @
a3efa07
...
...
@@ -11,7 +11,7 @@ import rout from './routes'
// import Mock from './mock'
import
i18n
from
'./lang'
import
'font-awesome/css/font-awesome.min.css'
import
drag
from
'./drag'
import
*
as
socketApi
from
'./api/socket'
import
'@/styles/index.scss'
import
sys_init
from
'@/common/init/sys_init'
...
...
src/views/nav3/Way.vue
查看文件 @
a3efa07
...
...
@@ -1844,7 +1844,7 @@ Handling Information
</el-tab-pane>
</el-tabs>
<!-- 主单获取尺寸信息-->
<el-dialog title="尺寸信息" :visible.sync="dialogTableVisible" width="80%">
<el-dialog title="尺寸信息" :visible.sync="dialogTableVisible" width="80%"
v-dialog-drag
>
<el-row :gutter="10">
<el-col :span="18">
<el-table :data="gridData" :cell-style="{textAlign:'center'}" show-summary
...
...
@@ -1899,7 +1899,7 @@ Handling Information
<el-col :span="6">
<el-tooltip class="item" effect="dark" content="可以将整体的尺寸信息复制进来,一行一个尺寸信息,系统会自动识别" placement="top-start">
<el-input
rows="6
"
:autosize="{ minRows: 7, maxRows: 20}
"
resize = "vertical"
type="textarea"
placeholder="快速尺寸信息录入生成"
...
...
请
注册
或
登录
后发表评论