Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
小 白蛋
Go View
Commits
d4382379
Commit
d4382379
authored
2 years ago
by
奔跑的面条
Browse files
Options
Download
Plain Diff
fix: 修复导入组件数据会错乱的问题
parents
5e09105a
0d5e6d6e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
package.json
+1
-1
package.json
src/views/chart/ContentEdit/hooks/useDrag.hook.ts
+2
-0
src/views/chart/ContentEdit/hooks/useDrag.hook.ts
src/views/chart/hooks/useSync.hook.ts
+30
-7
src/views/chart/hooks/useSync.hook.ts
with
33 additions
and
8 deletions
+33
-8
package.json
+
1
-
1
View file @
d4382379
{
"name"
:
"go-view"
,
"version"
:
"2.0.
8
"
,
"version"
:
"2.0.
91
"
,
"scripts"
:
{
"dev"
:
"vite --host"
,
"build"
:
"vue-tsc --noEmit && vite build"
,
...
...
This diff is collapsed.
Click to expand it.
src/views/chart/ContentEdit/hooks/useDrag.hook.ts
+
2
-
0
View file @
d4382379
...
...
@@ -153,6 +153,8 @@ export const mousedownBoxSelect = (e: MouseEvent, item?: CreateComponentType | C
// 鼠标抬起
const
mouseup
=
()
=>
{
// 鼠标抬起时,结束mousemove的节流函数,避免选框不消失问题
mousemove
.
cancel
()
chartEditStore
.
setEditCanvas
(
EditCanvasTypeEnum
.
IS_SELECT
,
false
)
chartEditStore
.
setMousePosition
(
0
,
0
,
0
,
0
)
document
.
removeEventListener
(
'
mousemove
'
,
mousemove
)
...
...
This diff is collapsed.
Click to expand it.
src/views/chart/hooks/useSync.hook.ts
+
30
-
7
View file @
d4382379
...
...
@@ -18,6 +18,29 @@ import { CreateComponentType, CreateComponentGroupType, ConfigType } from '@/pac
import
{
PublicGroupConfigClass
}
from
'
@/packages/public/publicConfig
'
import
merge
from
'
lodash/merge
'
/**
* 合并处理
* @param object 模板数据
* @param sources 新拿到的数据
* @returns object
*/
const
componentMerge
=
(
object
:
any
,
sources
:
any
,
notComponent
=
false
)
=>
{
// 非组件不处理
if
(
notComponent
)
return
merge
(
object
,
sources
)
// 组件排除 options
const
option
=
sources
.
option
if
(
!
option
)
return
merge
(
object
,
sources
)
// 为 undefined 的 sources 来源对象属性将被跳过详见 https://www.lodashjs.com/docs/lodash.merge
sources
.
option
=
undefined
if
(
option
)
{
return
{
...
merge
(
object
,
sources
),
option
:
option
}
}
}
// 请求处理
export
const
useSync
=
()
=>
{
const
chartEditStore
=
useChartEditStore
()
...
...
@@ -69,19 +92,19 @@ export const useSync = () => {
let
newComponent
:
CreateComponentType
=
await
createComponent
(
_componentInstance
.
chartConfig
)
if
(
callBack
)
{
if
(
changeId
)
{
callBack
(
m
erge
(
newComponent
,
{
...
_componentInstance
,
id
:
getUUID
()
}))
callBack
(
componentM
erge
(
newComponent
,
{
...
_componentInstance
,
id
:
getUUID
()
}))
}
else
{
callBack
(
m
erge
(
newComponent
,
_componentInstance
))
callBack
(
componentM
erge
(
newComponent
,
_componentInstance
))
}
}
else
{
if
(
changeId
)
{
chartEditStore
.
addComponentList
(
m
erge
(
newComponent
,
{
...
_componentInstance
,
id
:
getUUID
()
}),
componentM
erge
(
newComponent
,
{
...
_componentInstance
,
id
:
getUUID
()
}),
false
,
true
)
}
else
{
chartEditStore
.
addComponentList
(
m
erge
(
newComponent
,
_componentInstance
),
false
,
true
)
chartEditStore
.
addComponentList
(
componentM
erge
(
newComponent
,
_componentInstance
),
false
,
true
)
}
}
}
...
...
@@ -90,9 +113,9 @@ export const useSync = () => {
// 创建分组
let
groupClass
=
new
PublicGroupConfigClass
()
if
(
changeId
)
{
groupClass
=
m
erge
(
groupClass
,
{
...
comItem
,
id
:
getUUID
()
})
groupClass
=
componentM
erge
(
groupClass
,
{
...
comItem
,
id
:
getUUID
()
})
}
else
{
groupClass
=
m
erge
(
groupClass
,
comItem
)
groupClass
=
componentM
erge
(
groupClass
,
comItem
)
}
// 注册子应用
...
...
@@ -113,7 +136,7 @@ export const useSync = () => {
}
else
{
// 非组件(顺便排除脏数据)
if
(
key
!==
'
editCanvasConfig
'
&&
key
!==
'
requestGlobalConfig
'
)
return
m
erge
(
chartEditStore
[
key
],
projectData
[
key
])
componentM
erge
(
chartEditStore
[
key
],
projectData
[
key
]
,
true
)
}
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help