Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
qq_32624153
VueJS_382639
提交
69c49a2c
V
VueJS_382639
项目概览
qq_32624153
/
VueJS_382639
与 Fork 源项目一致
Fork自
inscode / VueJS
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
VueJS_382639
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
69c49a2c
编写于
9月 13, 2023
作者:
Q
qq_32624153
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Wed Sep 13 09:24:00 CST 2023 inscode
上级
903e3d40
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
82 addition
and
5 deletion
+82
-5
src/Treeclassify.vue
src/Treeclassify.vue
+80
-0
src/main.js
src/main.js
+2
-5
未找到文件。
src/Treeclassify.vue
0 → 100644
浏览文件 @
69c49a2c
<
template
>
<div
class=
"canvas-container"
ref=
"canvasContainer"
>
<canvas
ref=
"canvas"
></canvas>
<div
class=
"element"
v-for=
"(element, index) in elements"
:key=
"index"
:style=
"
{ left: element.left + 'px', top: element.top + 'px', width: element.width + 'px', height: element.height + 'px' }"
v-draggable="{ onDrag: handleDrag, onDragEnd: handleDragEnd }">
</div>
</div>
</
template
>
<
script
>
import
VueDraggable
from
'
vuedraggable
'
import
{
fabric
}
from
'
fabric
'
export
default
{
components
:
{
VueDraggable
},
data
()
{
return
{
elements
:
[
{
type
:
'
rect
'
,
left
:
50
,
top
:
50
,
width
:
100
,
height
:
100
},
{
type
:
'
rect
'
,
left
:
200
,
top
:
200
,
width
:
150
,
height
:
75
},
],
canvas
:
null
}
},
mounted
()
{
this
.
canvas
=
new
fabric
.
Canvas
(
this
.
$refs
.
canvas
)
this
.
canvas
.
setWidth
(
this
.
$refs
.
canvasContainer
.
offsetWidth
)
this
.
canvas
.
setHeight
(
this
.
$refs
.
canvasContainer
.
offsetHeight
)
this
.
canvas
.
backgroundColor
=
'
grey
'
;
this
.
elements
.
forEach
(
element
=>
{
if
(
element
.
type
===
'
image
'
)
{
fabric
.
Image
.
fromURL
(
element
.
src
,
img
=>
{
img
.
set
({
left
:
element
.
left
,
top
:
element
.
top
,
width
:
element
.
width
,
height
:
element
.
height
,
angle
:
0
})
this
.
canvas
.
add
(
img
)
element
.
object
=
img
})
}
else
{
const
rect
=
new
fabric
.
Rect
({
left
:
element
.
left
,
top
:
element
.
top
,
width
:
element
.
width
,
height
:
element
.
height
,
fill
:
'
transparent
'
,
stroke
:
'
red
'
})
this
.
canvas
.
add
(
rect
)
element
.
object
=
rect
}
})
},
methods
:
{
handleDrag
(
event
)
{
const
element
=
this
.
elements
[
event
.
elementIndex
]
element
.
left
=
event
.
position
.
left
element
.
top
=
event
.
position
.
top
if
(
element
.
type
===
'
image
'
)
{
element
.
object
.
set
({
left
:
element
.
left
,
top
:
element
.
top
,
angle
:
0
})
}
else
{
element
.
object
.
set
({
left
:
element
.
left
,
top
:
element
.
top
})
}
this
.
canvas
.
renderAll
()
},
handleDragEnd
()
{
this
.
canvas
.
renderAll
()
}
}
}
</
script
>
\ No newline at end of file
src/main.js
浏览文件 @
69c49a2c
import
{
createApp
}
from
'
vue
'
import
App
from
'
./
konva
.vue
'
import
App
from
'
./
canvas
.vue
'
import
'
./assets/main.css
'
// 全量引入 bkui-vue
import
bkui
from
'
bkui-vue
'
// 全量引入 bkui-vue 样式
import
'
bkui-vue/dist/style.css
'
createApp
(
App
)
.
use
(
store
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录