Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yqlh-dataEase
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
frontend
yqlh-dataEase
Commits
05c78451
Commit
05c78451
authored
Jul 17, 2023
by
Tippi.Rao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
eslint 修复
parent
bdfaaeb2
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
80 个修改的文件
包含
730 行增加
和
593 行删除
+730
-593
.eslintrc.js
+12
-12
pom.xml
+65
-0
src/App.vue
+24
-20
src/api/chart/chart.js
+0
-3
src/api/dataset/dataset.js
+1
-1
src/api/link/index.js
+2
-2
src/api/panel/panel.js
+1
-1
src/components/canvas/components/TextAttr.vue
+9
-9
src/components/canvas/components/editor/ComponentWrapper.vue
+2
-2
src/components/canvas/components/editor/DeEditor.vue
+2
-2
src/components/canvas/components/editor/EditBar.vue
+1
-1
src/components/canvas/components/editor/FieldsList.vue
+4
-1
src/components/canvas/components/editor/Preview.vue
+2
-2
src/components/canvas/components/editor/SettingMenu.vue
+6
-7
src/components/canvas/components/editor/TabCarouselDialog.vue
+2
-2
src/components/canvas/components/editor/ViewTrackBar.vue
+2
-1
src/components/canvas/customComponent/DeFrame.vue
+1
-1
src/components/canvas/customComponent/DeRichTextView.vue
+3
-4
src/components/canvas/customComponent/DeStreamMedia.vue
+1
-1
src/components/canvas/customComponent/DeVideo.vue
+1
-1
src/components/canvas/customComponent/UserView.vue
+1
-1
src/components/canvas/customComponent/UserViewDialog.vue
+1
-1
src/components/canvas/store/copy.js
+2
-2
src/components/canvas/utils/style.js
+3
-3
src/components/canvas/utils/utils.js
+4
-4
src/components/dataease/DeAsideContainer.vue
+1
-1
src/components/deDrag/index.vue
+6
-6
src/components/msgCfm/index.js
+11
-11
src/components/widget/deWidget/DeSelect.vue
+1
-1
src/components/widget/deWidget/DeTabs.vue
+11
-11
src/lang/en.js
+2
-2
src/lang/tw.js
+2
-2
src/lang/zh.js
+2
-2
src/main.js
+105
-105
src/permission.js
+0
-0
src/store/modules/user.js
+3
-3
src/utils/request.js
+1
-1
src/views/background/index.vue
+1
-1
src/views/chart/chart/chart.js
+2
-2
src/views/chart/components/ChartComponentS2.vue
+2
-2
src/views/chart/group/Group.vue
+14
-14
src/views/dataset/Form.vue
+4
-1
src/views/dataset/add/AddApi.vue
+3
-3
src/views/dataset/add/AddCustom.vue
+1
-1
src/views/dataset/add/AddDB.vue
+3
-3
src/views/dataset/add/AddExcel.vue
+15
-15
src/views/dataset/add/AddSQL.vue
+0
-0
src/views/dataset/add/AddUnion.vue
+9
-9
src/views/dataset/add/util.js
+6
-7
src/views/dataset/data/ViewTable.vue
+13
-9
src/views/dataset/group/CreatDsGroup.vue
+2
-2
src/views/dataset/group/Group.vue
+22
-23
src/views/dataset/group/GroupMoveSelector.vue
+1
-1
src/views/link/view/index.vue
+1
-1
src/views/panel/appTemplate/AppTemplateContent.vue
+3
-4
src/views/panel/appTemplate/component/TemplateItem.vue
+3
-3
src/views/panel/appTemplate/component/TemplateList.vue
+1
-1
src/views/panel/appTemplate/component/TemplateMoveList.vue
+5
-5
src/views/panel/edit/index.vue
+9
-9
src/views/panel/linkJumpSet/index.vue
+1
-1
src/views/panel/list/PanelList.vue
+7
-7
src/views/panel/list/PanelMain.vue
+4
-4
src/views/panel/list/PanelViewShow.vue
+39
-30
src/views/panel/template/component/TemplateList.vue
+1
-1
src/views/system/datasource/ApiHttpRequestForm.vue
+22
-11
src/views/system/datasource/DsAppForm.vue
+2
-2
src/views/system/datasource/DsConfiguration.vue
+22
-13
src/views/system/datasource/DsForm.vue
+2
-2
src/views/system/datasource/DsFormContent.vue
+35
-35
src/views/system/datasource/DsTable.vue
+5
-5
src/views/system/datasource/DsTree.vue
+6
-3
src/views/system/datasource/MsgContent.vue
+8
-6
src/views/system/relationship/consanguinity.vue
+46
-43
src/views/system/sysParam/BasicSetting.vue
+4
-1
src/views/system/sysParam/EmailSetting.vue
+12
-3
src/views/system/user/PasswordUpdateForm.vue
+18
-5
src/views/system/user/PersonPwd.vue
+1
-1
src/views/system/user/index.vue
+6
-3
src/views/wizard/index.vue
+14
-14
vue.config.js
+58
-58
没有找到文件。
.eslintrc.js
查看文件 @
05c78451
...
...
@@ -7,19 +7,19 @@ module.exports = {
env
:
{
browser
:
true
,
node
:
true
,
es6
:
true
,
es6
:
true
},
extends
:
[
'plugin:vue/recommended'
,
'eslint:recommended'
],
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
//
it is base on https://github.com/vuejs/eslint-config-vue
rules
:
{
"vue/singleline-html-element-content-newline"
:
"off"
,
"vue/multiline-html-element-content-newline"
:
"off"
,
"vue/no-mutating-props"
:
"off"
,
"vue/multi-word-component-names"
:
"off"
,
"vue/require-default-prop"
:
"off"
,
"vue/no-v-html"
:
"off"
,
'vue/singleline-html-element-content-newline'
:
'off'
,
'vue/multiline-html-element-content-newline'
:
'off'
,
'vue/no-mutating-props'
:
'off'
,
'vue/multi-word-component-names'
:
'off'
,
'vue/require-default-prop'
:
'off'
,
'vue/no-v-html'
:
'off'
,
'accessor-pairs'
:
2
,
'arrow-spacing'
:
[
2
,
{
'before'
:
true
,
...
...
@@ -42,8 +42,8 @@ module.exports = {
'curly'
:
[
2
,
'multi-line'
],
'dot-location'
:
[
2
,
'property'
],
'eol-last'
:
2
,
'eqeqeq'
:
[
"error"
,
"always"
,
{
"null"
:
"ignore"
'eqeqeq'
:
[
'error'
,
'always'
,
{
'null'
:
'ignore'
}],
'generator-star-spacing'
:
[
2
,
{
'before'
:
true
,
...
...
@@ -191,8 +191,8 @@ module.exports = {
objectsInObjects
:
false
}],
'array-bracket-spacing'
:
[
2
,
'never'
],
"vue/no-use-v-if-with-v-for"
:
[
"error"
,
{
"allowUsingIterationVar"
:
true
'vue/no-use-v-if-with-v-for'
:
[
'error'
,
{
'allowUsingIterationVar'
:
true
}]
}
}
pom.xml
0 → 100644
查看文件 @
05c78451
<?xml version="1.0" encoding="UTF-8"?>
<project
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
>
<parent>
<artifactId>
dataease-server
</artifactId>
<groupId>
io.dataease
</groupId>
<version>
${dataease.version}
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
frontend
</artifactId>
<properties>
<project.build.sourceEncoding>
UTF-8
</project.build.sourceEncoding>
<project.reporting.outputEncoding>
UTF-8
</project.reporting.outputEncoding>
<frontend-maven-plugin.version>
1.9.1
</frontend-maven-plugin.version>
</properties>
<build>
<plugins>
<plugin>
<groupId>
com.github.eirslett
</groupId>
<artifactId>
frontend-maven-plugin
</artifactId>
<version>
${frontend-maven-plugin.version}
</version>
<executions>
<execution>
<id>
install node and npm
</id>
<goals>
<goal>
install-node-and-npm
</goal>
</goals>
<configuration>
<!-- See https://nodejs.org/en/download/ for latest node and npm (lts) versions -->
<nodeVersion>
v15.12.0
</nodeVersion>
<npmVersion>
7.6.3
</npmVersion>
</configuration>
</execution>
<execution>
<id>
npm install
</id>
<goals>
<goal>
npm
</goal>
</goals>
<!-- Optional configuration which provides for running any npm command -->
<configuration>
<arguments>
install
</arguments>
</configuration>
</execution>
<execution>
<id>
npm run build
</id>
<goals>
<goal>
npm
</goal>
</goals>
<configuration>
<arguments>
run build
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
src/App.vue
查看文件 @
05c78451
<
template
>
<div
id=
"app"
>
<router-view
/>
<plugin-com
v-show=
"false"
ref=
"de-theme"
component-name=
"ThemeSetting"
/>
<plugin-com
v-show=
"false"
ref=
"de-theme"
component-name=
"ThemeSetting"
/>
<el-dialog
v-if=
"$route.path !== '/login'"
:visible
.
sync=
"showPasswordModifiedDialog"
...
...
@@ -9,42 +13,42 @@
:title=
"$t('user.change_password')"
:show-close=
"false"
>
<PasswordUpdateForm
old
P
wd=
"dataease"
/>
<PasswordUpdateForm
old
-p
wd=
"dataease"
/>
</el-dialog>
</div>
</
template
>
<
script
>
import
PluginCom
from
"@/views/system/plugin/PluginCom"
;
import
{
mapState
}
from
"vuex"
;
import
PasswordUpdateForm
from
"@/views/system/user/PasswordUpdateForm.vue"
;
import
PluginCom
from
'@/views/system/plugin/PluginCom'
import
{
mapState
}
from
'vuex'
import
PasswordUpdateForm
from
'@/views/system/user/PasswordUpdateForm.vue'
export
default
{
name
:
"App"
,
name
:
'App'
,
components
:
{
PluginCom
,
PasswordUpdateForm
},
computed
:
{
...
mapState
(
"user"
,
[
"passwordModified"
]),
...
mapState
(
'user'
,
[
'passwordModified'
])
},
data
()
{
return
{
showPasswordModifiedDialog
:
false
,
};
},
mounted
()
{
const
passwordModified
=
JSON
.
parse
(
localStorage
.
getItem
(
"passwordModified"
)
);
if
(
typeof
passwordModified
===
"boolean"
)
{
this
.
$store
.
commit
(
"user/SET_PASSWORD_MODIFIED"
,
passwordModified
);
showPasswordModifiedDialog
:
false
}
},
watch
:
{
passwordModified
:
{
handler
(
val
)
{
this
.
showPasswordModifiedDialog
=
!
val
;
this
.
showPasswordModifiedDialog
=
!
val
},
immediate
:
true
,
}
,
immediate
:
true
}
},
};
mounted
()
{
const
passwordModified
=
JSON
.
parse
(
localStorage
.
getItem
(
'passwordModified'
)
)
if
(
typeof
passwordModified
===
'boolean'
)
{
this
.
$store
.
commit
(
'user/SET_PASSWORD_MODIFIED'
,
passwordModified
)
}
}
}
</
script
>
src/api/chart/chart.js
查看文件 @
05c78451
...
...
@@ -153,7 +153,6 @@ export const viewOptions = panelId => {
})
}
export
function
getDatasourceRelationship
(
id
)
{
return
request
({
url
:
`/api/relation/datasource/
${
id
}
`
,
...
...
@@ -162,7 +161,6 @@ export function getDatasourceRelationship(id) {
})
}
export
function
getDatasetRelationship
(
id
)
{
return
request
({
url
:
`/api/relation/dataset/
${
id
}
`
,
...
...
@@ -171,7 +169,6 @@ export function getDatasetRelationship(id) {
})
}
export
function
getPanelRelationship
(
id
)
{
return
request
({
url
:
`/api/relation/panel/
${
id
}
`
,
...
...
src/api/dataset/dataset.js
查看文件 @
05c78451
...
...
@@ -138,7 +138,7 @@ export function fieldList(id, showLoading = true) {
}
export
function
fieldListWithPermission
(
id
,
showLoading
=
true
)
{
//初始模板中的过滤组件无需走后台
//
初始模板中的过滤组件无需走后台
if
(
id
.
indexOf
(
'no_auth'
)
>
-
1
)
{
return
new
Promise
(
function
(
resolve
)
{
resolve
({
...
...
src/api/link/index.js
查看文件 @
05c78451
...
...
@@ -66,9 +66,9 @@ export function loadGenerate(resourceId) {
})
}
export
function
loadResource
(
resourceId
,
userId
)
{
export
function
loadResource
(
resourceId
,
userId
)
{
return
request
({
url
:
'api/link/resourceDetail/'
+
resourceId
+
'/'
+
userId
,
url
:
'api/link/resourceDetail/'
+
resourceId
+
'/'
+
userId
,
method
:
'get'
})
}
...
...
src/api/panel/panel.js
查看文件 @
05c78451
...
...
@@ -192,7 +192,7 @@ export function initPanelData(panelId, useCache = false, callback) {
watermarkOpen
:
response
.
data
.
watermarkOpen
,
watermarkInfo
:
watermarkInfo
})
const
targetPanelId
=
response
.
data
.
panelType
===
'system'
?
response
.
data
.
source
:
panelId
const
targetPanelId
=
response
.
data
.
panelType
===
'system'
?
response
.
data
.
source
:
panelId
// 刷新联动信息
getPanelAllLinkageInfo
(
targetPanelId
).
then
(
rsp
=>
{
store
.
commit
(
'setNowPanelTrackInfo'
,
rsp
.
data
)
...
...
src/components/canvas/components/TextAttr.vue
查看文件 @
05c78451
...
...
@@ -24,7 +24,7 @@
>
<el-tooltip
:content=
"item.tooltip"
>
<span
style=
"float: left;"
>
<i
:class=
"item.icon"
/>
<i
:class=
"item.icon"
/>
</span>
</el-tooltip>
</el-radio-button>
...
...
@@ -47,7 +47,7 @@
:value=
"item.value"
>
<span
style=
"float: left;"
>
<i
:class=
"item.icon"
/>
<i
:class=
"item.icon"
/>
</span>
<span
style=
"float: right; color: #8492a6; font-size: 12px"
>
{{
item
.
label
}}
</span>
</el-option>
...
...
@@ -257,7 +257,7 @@
@
click=
"goColor"
/>
</el-tooltip>
<div
:style=
"letterDivColor"
/>
<div
:style=
"letterDivColor"
/>
<el-color-picker
ref=
"colorPicker"
v-model=
"styleInfo.color"
...
...
@@ -279,7 +279,7 @@
@
click=
"goBoardColor"
/>
</el-tooltip>
<div
:style=
"boardDivColor"
/>
<div
:style=
"boardDivColor"
/>
<el-color-picker
ref=
"boardColorPicker"
v-model=
"styleInfo.borderColor"
...
...
@@ -302,7 +302,7 @@
@
click=
"goBackgroundColor"
/>
</el-tooltip>
<div
:style=
"backgroundDivColor"
/>
<div
:style=
"backgroundDivColor"
/>
<el-color-picker
ref=
"backgroundColorPicker"
v-model=
"styleInfo.backgroundColor"
...
...
@@ -318,7 +318,7 @@
style=
"width: 20px;float: left;margin-top: 2px;margin-left: 2px;"
>
<el-tooltip
:content=
"$t('panel.video_info')"
>
<VideoLinks
:link-info=
"curComponent.videoLinks"
/>
<VideoLinks
:link-info=
"curComponent.videoLinks"
/>
</el-tooltip>
</div>
...
...
@@ -327,7 +327,7 @@
style=
"width: 20px;float: left;margin-top: 2px;margin-left: 2px;"
>
<el-tooltip
:content=
"$t('panel.stream_media_info')"
>
<StreamMediaLinks
:link-info=
"curComponent.streamMediaLinks"
/>
<StreamMediaLinks
:link-info=
"curComponent.streamMediaLinks"
/>
</el-tooltip>
</div>
...
...
@@ -336,7 +336,7 @@
style=
"width: 20px;float: left;margin-top: 2px;margin-left: 2px;"
>
<el-tooltip
:content=
"$t('panel.web_addr')"
>
<FrameLinks
:link-info=
"curComponent.frameLinks"
/>
<FrameLinks
:link-info=
"curComponent.frameLinks"
/>
</el-tooltip>
</div>
<div
...
...
@@ -356,7 +356,7 @@
style=
"width: 20px;float: left;margin-top: 2px;margin-left: 10px;"
>
<el-tooltip
:content=
"$t('panel.tab_inner_style')"
>
<tab-style
:style-info=
"styleInfo"
/>
<tab-style
:style-info=
"styleInfo"
/>
</el-tooltip>
</div>
...
...
src/components/canvas/components/editor/ComponentWrapper.vue
查看文件 @
05c78451
...
...
@@ -159,8 +159,8 @@ export default {
computed
:
{
chart
()
{
if
(
this
.
config
.
propValue
?.
viewId
)
{
const
viewInfo
=
this
.
panelViewDetailsInfo
[
this
.
config
.
propValue
.
viewId
]
;
return
viewInfo
?
JSON
.
parse
(
viewInfo
):
null
const
viewInfo
=
this
.
panelViewDetailsInfo
[
this
.
config
.
propValue
.
viewId
]
return
viewInfo
?
JSON
.
parse
(
viewInfo
)
:
null
}
return
null
},
...
...
src/components/canvas/components/editor/DeEditor.vue
查看文件 @
05c78451
...
...
@@ -126,7 +126,7 @@
:canvas-id=
"canvasId"
/>
<!-- 右击菜单 -->
<ContextMenu/>
<ContextMenu
/>
<!-- 对齐标线 -->
<span
...
...
@@ -1142,7 +1142,7 @@ export default {
return
this
.
$refs
[
'wrapperChild'
]
},
getAllWrapperChildRefs
()
{
le
t
allChildRefs
=
[]
cons
t
allChildRefs
=
[]
const
currentChildRefs
=
this
.
getWrapperChildRefs
()
if
(
currentChildRefs
&&
currentChildRefs
.
length
>
0
)
{
allChildRefs
.
push
.
apply
(
allChildRefs
,
currentChildRefs
)
...
...
src/components/canvas/components/editor/EditBar.vue
查看文件 @
05c78451
...
...
@@ -145,7 +145,7 @@
:target=
"curComponent.hyperlinks.openMode "
:href=
"curComponent.hyperlinks.content "
>
<i
class=
"icon iconfont icon-com-jump"
/>
<i
class=
"icon iconfont icon-com-jump"
/>
</a>
</span>
...
...
src/components/canvas/components/editor/FieldsList.vue
查看文件 @
05c78451
<
template
>
<div
@
mousedown=
"fieldsAreaDown"
class=
"field-main"
>
<div
class=
"field-main"
@
mousedown=
"fieldsAreaDown"
>
<el-button
v-for=
"(field) in fields"
:key=
"field.id"
...
...
src/components/canvas/components/editor/Preview.vue
查看文件 @
05c78451
...
...
@@ -459,7 +459,7 @@ export default {
return
this
.
$refs
[
'viewWrapperChild'
]
},
getAllWrapperChildRefs
()
{
le
t
allChildRefs
=
[]
cons
t
allChildRefs
=
[]
const
currentChildRefs
=
this
.
getWrapperChildRefs
()
if
(
currentChildRefs
&&
currentChildRefs
.
length
>
0
)
{
allChildRefs
.
push
.
apply
(
allChildRefs
,
currentChildRefs
)
...
...
@@ -705,7 +705,7 @@ export default {
},
exportViewImg
()
{
this
.
imageDownloading
=
true
this
.
$refs
[
'userViewDialog-canvas-main'
].
exportViewImg
(()
=>
{
this
.
$refs
[
'userViewDialog-canvas-main'
].
exportViewImg
(()
=>
{
this
.
imageDownloading
=
false
})
},
...
...
src/components/canvas/components/editor/SettingMenu.vue
查看文件 @
05c78451
...
...
@@ -5,7 +5,7 @@
trigger=
"click"
@
mouseup=
"handleMouseUp"
>
<slot
name=
"icon"
/>
<slot
name=
"icon"
/>
<el-dropdown-menu
v-if=
"curComponent"
>
<el-dropdown-item
v-if=
"editFilter.includes(curComponent.type)"
...
...
@@ -17,8 +17,7 @@
v-if=
"curComponent.type != 'custom-button'"
icon=
"el-icon-document-copy"
@
click
.
native=
"copy"
><span>
{{
$t
(
'panel.copy'
)
}}
&
nbsp(
<span
v-show=
"systemOS==='Mac'"
><i
class=
"icon iconfont icon-command"
/>
+ D
</span>
<span
v-show=
"systemOS!=='Mac'"
>
Control + D
</span>
)
</span>
><span>
{{
$t
(
'panel.copy'
)
}}
&
nbsp(
<span
v-show=
"systemOS==='Mac'"
><i
class=
"icon iconfont icon-command"
/>
+ D
</span>
<span
v-show=
"systemOS!=='Mac'"
>
Control + D
</span>
)
</span>
</el-dropdown-item>
<el-dropdown-item
icon=
"el-icon-delete"
...
...
@@ -34,7 +33,7 @@
<el-dropdown-item
v-if=
"!curComponent.auxiliaryMatrix"
>
<el-dropdown
placement=
"right-start"
>
<span
class=
"el-icon-copy-document"
>
{{
$t
(
'panel.level'
)
}}
<i
class=
"el-icon-arrow-right el-icon--right"
/>
{{
$t
(
'panel.level'
)
}}
<i
class=
"el-icon-arrow-right el-icon--right"
/>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
...
...
@@ -93,13 +92,13 @@
<el-dropdown-item
v-if=
"curComponent.type != 'custom-button'"
@
click
.
native=
"hyperlinksSet"
><i
class=
"icon iconfont icon-chaolianjie1"
/>
{{
$t
(
'panel.hyperlinks'
)
}}
><i
class=
"icon iconfont icon-chaolianjie1"
/>
{{
$t
(
'panel.hyperlinks'
)
}}
</el-dropdown-item>
<el-dropdown-item
v-if=
"curComponent.type !== 'view' && !curComponent.auxiliaryMatrix"
@
click
.
native=
"positionAdjust"
>
<i
class=
"el-icon-map-location"
/>
<i
class=
"el-icon-map-location"
/>
{{
$t
(
'panel.position_adjust'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
...
...
@@ -180,7 +179,7 @@ import TabCarouselDialog from '@/components/canvas/components/editor/TabCarousel
import
CustomTabsSort
from
'@/components/widget/deWidget/CustomTabsSort'
export
default
{
components
:
{
CustomTabsSort
,
HyperlinksDialog
,
TabCarouselDialog
},
components
:
{
CustomTabsSort
,
HyperlinksDialog
,
TabCarouselDialog
},
data
()
{
return
{
tabCarouselVisible
:
false
,
...
...
src/components/canvas/components/editor/TabCarouselDialog.vue
查看文件 @
05c78451
...
...
@@ -66,8 +66,8 @@ export default {
}
},
onSubmit
()
{
this
.
curComponent
.
style
.
carouselEnable
=
this
.
carouselEnable
this
.
curComponent
.
style
.
switchTime
=
this
.
switchTime
this
.
curComponent
.
style
.
carouselEnable
=
this
.
carouselEnable
this
.
curComponent
.
style
.
switchTime
=
this
.
switchTime
this
.
$store
.
commit
(
'canvasChange'
)
this
.
onClose
()
},
...
...
src/components/canvas/components/editor/ViewTrackBar.vue
查看文件 @
05c78451
<
template
>
<div>
<el-dropdown
trigger=
"click"
>
trigger=
"click"
>
<input
id=
"input"
ref=
"trackButton"
...
...
src/components/canvas/customComponent/DeFrame.vue
查看文件 @
05c78451
...
...
@@ -45,7 +45,7 @@
class=
"info-class"
>
<span>
{{
$t
(
'panel.link_add_tips_pre'
)
}}
</span>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<span>
{{
$t
(
'panel.web_add_tips_suf'
)
}}
</span>
</div>
</el-row>
...
...
src/components/canvas/customComponent/DeRichTextView.vue
查看文件 @
05c78451
...
...
@@ -156,11 +156,11 @@ export default {
bus
.
$off
(
'fieldSelect-'
+
this
.
element
.
propValue
.
viewId
)
},
methods
:
{
changeRightDrawOpen
(
param
){
if
(
param
)
{
changeRightDrawOpen
(
param
)
{
if
(
param
)
{
this
.
drawLeft
=
'auto!important'
this
.
drawRight
=
'380px'
}
else
{
}
else
{
this
.
drawLeft
=
'none'
this
.
drawRight
=
'auto'
}
...
...
@@ -302,4 +302,3 @@ export default {
}
</
style
>
src/components/canvas/customComponent/DeStreamMedia.vue
查看文件 @
05c78451
...
...
@@ -33,7 +33,7 @@
class=
"info-stream-class"
>
<span>
{{
$t
(
'panel.link_add_tips_pre'
)
}}
</span>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<span>
{{
$t
(
'panel.stream_media_add_tips'
)
}}
</span>
</div>
</el-row>
...
...
src/components/canvas/customComponent/DeVideo.vue
查看文件 @
05c78451
...
...
@@ -27,7 +27,7 @@
class=
"info-class"
>
<span>
{{
$t
(
'panel.link_add_tips_pre'
)
}}
</span>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<i
class=
"icon iconfont icon-chaolianjie"
/>
<span>
{{
$t
(
'panel.video_add_tips'
)
}}
</span>
</div>
</el-row>
...
...
src/components/canvas/customComponent/UserView.vue
查看文件 @
05c78451
...
...
@@ -620,7 +620,7 @@ export default {
},
exportViewImg
()
{
this
.
imageDownloading
=
true
this
.
$refs
[
'userViewDialog'
].
exportViewImg
(()
=>
{
this
.
$refs
[
'userViewDialog'
].
exportViewImg
(()
=>
{
this
.
imageDownloading
=
false
})
},
...
...
src/components/canvas/customComponent/UserViewDialog.vue
查看文件 @
05c78451
...
...
@@ -224,7 +224,7 @@ export default {
}
})
}
const
result
=
{
...
temp
,
...{
DetailAreaCode
:
DetailAreaCode
}
}
const
result
=
{
...
temp
,
...{
DetailAreaCode
:
DetailAreaCode
}}
this
.
setLastMapChart
(
result
)
return
result
}
...
...
src/components/canvas/store/copy.js
查看文件 @
05c78451
...
...
@@ -150,13 +150,13 @@ export default {
}
})
chartBatchCopy
({
'sourceAndTargetIds'
:
sourceAndTargetIds
},
state
.
panel
.
panelInfo
.
id
).
then
((
rsp
)
=>
{
needAdaptor
&&
adaptCurThemeCommonStyle
(
newCop
,
'copy'
)
needAdaptor
&&
adaptCurThemeCommonStyle
(
newCop
,
'copy'
)
store
.
commit
(
'addComponent'
,
{
component
:
newCop
})
})
}
else
{
const
newCop
=
deepCopy
(
data
)
newCop
.
id
=
uuid
.
v1
()
needAdaptor
&&
adaptCurThemeCommonStyle
(
newCop
,
'copy'
)
needAdaptor
&&
adaptCurThemeCommonStyle
(
newCop
,
'copy'
)
store
.
commit
(
'addComponent'
,
{
component
:
newCop
})
}
if
(
state
.
isCut
)
{
...
...
src/components/canvas/utils/style.js
查看文件 @
05c78451
...
...
@@ -375,7 +375,7 @@ export function adaptCurTheme(customStyle, customAttr, chartType) {
}
}
export
function
adaptCurThemeCommonStyle
(
component
,
adaptFrom
=
'them'
)
{
export
function
adaptCurThemeCommonStyle
(
component
,
adaptFrom
=
'them'
)
{
const
commonStyle
=
store
.
state
.
canvasStyleData
.
chartInfo
.
chartCommonStyle
for
(
const
key
in
commonStyle
)
{
Vue
.
set
(
component
.
commonBackground
,
key
,
commonStyle
[
key
])
...
...
@@ -383,9 +383,9 @@ export function adaptCurThemeCommonStyle(component,adaptFrom = 'them') {
if
(
isFilterComponent
(
component
.
component
))
{
const
filterStyle
=
store
.
state
.
canvasStyleData
.
chartInfo
.
filterStyle
for
(
const
styleKey
in
filterStyle
)
{
if
(
adaptFrom
===
'copy'
)
{
if
(
adaptFrom
===
'copy'
)
{
Vue
.
set
(
component
.
style
,
styleKey
,
filterStyle
[
styleKey
])
}
else
if
(
adaptFrom
===
'them'
&&
styleKey
!==
'horizontal'
&&
styleKey
!==
'vertical'
)
{
}
else
if
(
adaptFrom
===
'them'
&&
styleKey
!==
'horizontal'
&&
styleKey
!==
'vertical'
)
{
// 主题变化位置属性不修改
Vue
.
set
(
component
.
style
,
styleKey
,
filterStyle
[
styleKey
])
}
...
...
src/components/canvas/utils/utils.js
查看文件 @
05c78451
...
...
@@ -219,7 +219,7 @@ export function checkViewTitle(opt, id, tile) {
}
}
export
function
exportImg
(
imgName
,
callback
)
{
export
function
exportImg
(
imgName
,
callback
)
{
const
canvasID
=
document
.
getElementById
(
'chartCanvas'
)
const
a
=
document
.
createElement
(
'a'
)
html2canvas
(
canvasID
).
then
(
canvas
=>
{
...
...
@@ -385,12 +385,12 @@ export function insertBatchTreeNode(nodeInfoArray, tree) {
export
function
updateCacheTree
(
opt
,
treeName
,
nodeInfoFull
,
tree
)
{
const
nodeInfo
=
deepCopy
(
nodeInfoFull
)
if
(
nodeInfo
instanceof
Array
)
{
nodeInfo
.
forEach
(
item
=>
{
if
(
nodeInfo
instanceof
Array
)
{
nodeInfo
.
forEach
(
item
=>
{
delete
item
.
panelData
delete
item
.
panelStyle
})
}
else
{
}
else
{
delete
nodeInfo
.
panelData
delete
nodeInfo
.
panelStyle
}
...
...
src/components/dataease/DeAsideContainer.vue
查看文件 @
05c78451
...
...
@@ -47,7 +47,7 @@ export default {
data
()
{
return
{
asideHidden
:
false
,
currentWidth
:
''
,
currentWidth
:
''
}
},
computed
:
{
...
...
src/components/deDrag/index.vue
查看文件 @
05c78451
...
...
@@ -66,7 +66,7 @@
@
mousedown
.
stop
.
prevent=
"handleDown(handlei, $event)"
@
touchstart
.
stop
.
prevent=
"handleTouchDown(handlei, $event)"
>
<slot
:name=
"handlei"
/>
<slot
:name=
"handlei"
/>
</div>
<div
:id=
"componentCanvasId"
...
...
@@ -74,22 +74,22 @@
class=
"main-background"
>
<div
v-show=
"!
this.
element.editing"
v-show=
"!element.editing"
class=
"de-drag-area de-drag-top"
@
mousedown=
"elementMouseDown"
/>
<div
v-show=
"!
this.element.editing && this.
element.type !=='de-tabs'"
v-show=
"!
element.editing &&
element.type !=='de-tabs'"
class=
"de-drag-area de-drag-right"
@
mousedown=
"elementMouseDown"
/>
<div
v-show=
"!
this.element.editing && this.
element.type !=='de-tabs'"
v-show=
"!
element.editing &&
element.type !=='de-tabs'"
class=
"de-drag-area de-drag-bottom"
@
mousedown=
"elementMouseDown"
/>
<div
v-show=
"!
this.element.editing && this.
element.type !=='de-tabs'"
v-show=
"!
element.editing &&
element.type !=='de-tabs'"
class=
"de-drag-area de-drag-left"
@
mousedown=
"elementMouseDown"
/>
...
...
@@ -99,7 +99,7 @@
class="svg-background"
:icon-class="mainSlotSvgInner"
/>
<slot/>
<slot
/>
</div>
</div>
</div>
...
...
src/components/msgCfm/index.js
查看文件 @
05c78451
...
...
@@ -42,7 +42,7 @@ export default {
})
},
withLink
(
options
,
confirmButtonTextInfo
)
{
const
h
=
this
.
$createElement
;
const
h
=
this
.
$createElement
const
that
=
this
const
{
title
,
content
,
type
=
'danger'
,
cb
,
confirmButtonText
=
confirmButtonTextInfo
||
this
.
$t
(
'commons.delete'
),
showCancelButton
=
true
,
cancelButtonText
=
this
.
$t
(
'commons.cancel'
),
cancelCb
=
()
=>
{},
finallyCb
=
()
=>
{},
link
=
''
,
templateDel
,
linkTo
}
=
options
const
customClass
=
`de-confirm de-confirm-fail de-use-html`
...
...
@@ -55,14 +55,14 @@ export default {
title
,
content
,
link
}
,
}
},
on
:
{
change
:
()
=>
{
linkTo
()
}
}
})
,
})
]),
duration
:
0
,
confirmButtonText
,
...
...
@@ -71,18 +71,18 @@ export default {
cancelButtonClass
:
'de-confirm-btn de-confirm-plain-cancel'
,
confirmButtonClass
,
customClass
,
iconClass
:
'el-icon-warning'
,
iconClass
:
'el-icon-warning'
}).
then
(
action
=>
{
if
(
'confirm'
===
action
)
{
if
(
action
===
'confirm'
)
{
cb
()
}
})
.
catch
((
action
)
=>
{
cancelCb
(
action
)
})
.
finally
(()
=>
{
finallyCb
()
})
.
catch
((
action
)
=>
{
cancelCb
(
action
)
})
.
finally
(()
=>
{
finallyCb
()
})
}
}
}
src/components/widget/deWidget/DeSelect.vue
查看文件 @
05c78451
...
...
@@ -16,8 +16,8 @@
:key-word=
"keyWord"
popper-class=
"coustom-de-select"
:list=
"data"
@
resetKeyWords=
"filterMethod"
:custom-style=
"customStyle"
@
resetKeyWords=
"filterMethod"
@
change=
"changeValue"
@
focus=
"setOptionWidth"
@
blur=
"onBlur"
...
...
src/components/widget/deWidget/DeTabs.vue
查看文件 @
05c78451
...
...
@@ -75,8 +75,8 @@
style=
"width: 100%;height:100%"
>
<Preview
:component-data=
"tabCanvasComponentData(item.name)"
:ref=
"'canvasTabRef-'+item.name"
:component-data=
"tabCanvasComponentData(item.name)"
:canvas-style-data=
"canvasStyleData"
:canvas-id=
"element.id+'-'+item.name"
:panel-info=
"panelInfo"
...
...
@@ -313,9 +313,9 @@ export default {
return
Boolean
(
this
.
$store
.
state
.
dragComponentInfo
)
},
headClass
()
{
if
(
this
.
tabsAreaScroll
)
{
if
(
this
.
tabsAreaScroll
)
{
return
'tab-head-left'
}
else
{
}
else
{
return
'tab-head-'
+
this
.
element
.
style
.
headPosition
}
},
...
...
@@ -464,7 +464,7 @@ export default {
bus
.
$on
(
'add-new-tab'
,
this
.
addNewTab
)
this
.
$nextTick
(()
=>
{
this
.
activeTabName
=
this
.
element
.
options
.
tabList
[
0
].
name
})
;
})
this
.
$store
.
commit
(
'setTabActiveTabNameMap'
,
{
tabId
:
this
.
element
.
id
,
activeTabName
:
this
.
activeTabName
})
this
.
setContentThemeStyle
()
},
...
...
@@ -476,12 +476,12 @@ export default {
bus
.
$off
(
'add-new-tab'
,
this
.
addNewTab
)
},
methods
:
{
calcTabLength
(){
this
.
$nextTick
(()
=>
{
if
(
this
.
element
.
options
.
tabList
.
length
>
1
)
{
const
containerDom
=
document
.
getElementById
(
"tab-"
+
this
.
element
.
options
.
tabList
[
this
.
element
.
options
.
tabList
.
length
-
1
].
name
)
calcTabLength
()
{
this
.
$nextTick
(()
=>
{
if
(
this
.
element
.
options
.
tabList
.
length
>
1
)
{
const
containerDom
=
document
.
getElementById
(
'tab-'
+
this
.
element
.
options
.
tabList
[
this
.
element
.
options
.
tabList
.
length
-
1
].
name
)
this
.
tabsAreaScroll
=
containerDom
.
parentNode
.
scrollWidth
>
containerDom
.
parentNode
.
parentNode
.
scrollWidth
}
else
{
}
else
{
this
.
tabsAreaScroll
=
false
}
})
...
...
@@ -490,7 +490,7 @@ export default {
return
this
.
element
.
type
},
getWrapperChildRefs
()
{
le
t
refsSubAll
=
[]
cons
t
refsSubAll
=
[]
const
_this
=
this
this
.
element
.
options
.
tabList
.
forEach
(
tabItem
=>
{
const
refsSub
=
_this
.
$refs
[
'canvasTabRef-'
+
tabItem
.
name
]
...
...
@@ -530,7 +530,7 @@ export default {
if
(
targetRef
)
{
targetRef
[
0
]?.
restore
()
}
})
;
})
},
switchTime
)
}
},
...
...
src/lang/en.js
查看文件 @
05c78451
...
...
@@ -1930,8 +1930,8 @@ export default {
jsonpath_info
:
'Please fill in JsonPath'
,
req_param
:
'Request parameters'
,
headers
:
'Request header'
,
query_param
:
"QUERY param"
,
query_info
:
"Follow in the address bar? The following parameters, such as: updateAPI? id=112"
,
query_param
:
'QUERY param'
,
query_info
:
'Follow in the address bar? The following parameters, such as: updateAPI? id=112'
,
key
:
'Key'
,
value
:
'Value'
,
data_path
:
'Extract data'
,
...
...
src/lang/tw.js
查看文件 @
05c78451
...
...
@@ -1924,8 +1924,8 @@ export default {
jsonpath_info
:
'請輸入JsonPath'
,
req_param
:
'請求參數'
,
headers
:
'請求頭'
,
query_param
:
"QUERY參數"
,
query_info
:
"地址欄中跟在?後面的參數,如:updateapi? id=112"
,
query_param
:
'QUERY參數'
,
query_info
:
'地址欄中跟在?後面的參數,如:updateapi? id=112'
,
key
:
'鍵'
,
value
:
'值'
,
data_path
:
'提取數據'
,
...
...
src/lang/zh.js
查看文件 @
05c78451
...
...
@@ -1938,8 +1938,8 @@ export default {
jsonpath_info
:
'请填入JsonPath'
,
req_param
:
'请求参数'
,
headers
:
'请求头'
,
query_param
:
"QUERY参数"
,
query_info
:
"地址栏中跟在?后面的参数,如: updateapi?id=112"
,
query_param
:
'QUERY参数'
,
query_info
:
'地址栏中跟在?后面的参数,如: updateapi?id=112'
,
key
:
'键'
,
value
:
'值'
,
data_path
:
'提取数据'
,
...
...
src/main.js
查看文件 @
05c78451
import
Vue
from
"vue"
;
import
Cookies
from
"js-cookie"
;
import
"@/styles/index.scss"
;
// global css
import
ElementUI
from
"element-ui"
;
import
Vuetify
from
"vuetify"
;
import
Fit2CloudUI
from
"fit2cloud-ui"
;
import
i18n
from
"./lang"
;
// internationalization
import
App
from
"./App"
;
import
store
from
"./store"
;
import
router
from
"./router"
;
import
message
from
"./utils/message"
;
import
"@/icons"
;
// icon
import
"@/permission"
;
// permission control
import
api
from
"@/api/index.js"
;
import
filter
from
"@/filter/filter"
;
import
directives
from
"./directive"
;
import
VueClipboard
from
"vue-clipboard2"
;
import
widgets
from
"@/components/widget"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
"./utils/dialog"
;
import
DeComplexInput
from
"@/components/business/conditionTable/DeComplexInput"
;
import
DeComplexSelect
from
"@/components/business/conditionTable/DeComplexSelect"
;
import
DeViewSelect
from
"@/components/deViewSelect"
;
import
RemarkEditor
from
"@/views/chart/components/componentStyle/dialog/RemarkEditor"
;
import
TitleRemark
from
"@/views/chart/view/TitleRemark"
;
import
"@/components/canvas/customComponent"
;
// 注册自定义组件
import
deBtn
from
"@/components/deCustomCm/DeBtn.vue"
;
import
"@/utils/DateUtil"
;
import
draggable
from
"vuedraggable"
;
import
deWebsocket
from
"@/websocket"
;
import
{
GaodeMap
}
from
"@antv/l7-maps"
;
import
*
as
echarts
from
"echarts"
;
import
UmyUi
from
"umy-ui"
;
import
Vue
from
'vue'
import
Cookies
from
'js-cookie'
import
'@/styles/index.scss'
// global css
import
ElementUI
from
'element-ui'
import
Vuetify
from
'vuetify'
import
Fit2CloudUI
from
'fit2cloud-ui'
import
i18n
from
'./lang'
// internationalization
import
App
from
'./App'
import
store
from
'./store'
import
router
from
'./router'
import
message
from
'./utils/message'
import
'@/icons'
// icon
import
'@/permission'
// permission control
import
api
from
'@/api/index.js'
import
filter
from
'@/filter/filter'
import
directives
from
'./directive'
import
VueClipboard
from
'vue-clipboard2'
import
widgets
from
'@/components/widget'
import
Treeselect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
'./utils/dialog'
import
DeComplexInput
from
'@/components/business/conditionTable/DeComplexInput'
import
DeComplexSelect
from
'@/components/business/conditionTable/DeComplexSelect'
import
DeViewSelect
from
'@/components/deViewSelect'
import
RemarkEditor
from
'@/views/chart/components/componentStyle/dialog/RemarkEditor'
import
TitleRemark
from
'@/views/chart/view/TitleRemark'
import
'@/components/canvas/customComponent'
// 注册自定义组件
import
deBtn
from
'@/components/deCustomCm/DeBtn.vue'
import
'@/utils/DateUtil'
import
draggable
from
'vuedraggable'
import
deWebsocket
from
'@/websocket'
import
{
GaodeMap
}
from
'@antv/l7-maps'
import
*
as
echarts
from
'echarts'
import
UmyUi
from
'umy-ui'
// 全屏插件
import
fullscreen
from
"vue-fullscreen"
;
import
VueFriendlyIframe
from
"vue-friendly-iframe"
;
import
vueToPdf
from
"vue-to-pdf"
;
import
VueVideoPlayer
from
"vue-video-player"
;
import
"video.js/dist/video-js.css"
;
import
fullscreen
from
'vue-fullscreen'
import
VueFriendlyIframe
from
'vue-friendly-iframe'
import
vueToPdf
from
'vue-to-pdf'
import
VueVideoPlayer
from
'vue-video-player'
import
'video.js/dist/video-js.css'
// 控制标签宽高成比例的指令
import
proportion
from
"vue-proportion-directive"
;
import
proportion
from
'vue-proportion-directive'
import
xss
from
"xss"
;
import
xss
from
'xss'
// 定义全局XSS解决方法
Object
.
defineProperty
(
Vue
.
prototype
,
"$xss"
,
{
value
:
xss
,
})
;
Object
.
defineProperty
(
Vue
.
prototype
,
'$xss'
,
{
value
:
xss
})
Vue
.
config
.
productionTip
=
false
;
Vue
.
use
(
VueClipboard
)
;
Vue
.
use
(
widgets
)
;
Vue
.
component
(
"Draggable"
,
draggable
);
Vue
.
prototype
.
$api
=
api
;
Vue
.
config
.
productionTip
=
false
Vue
.
use
(
VueClipboard
)
Vue
.
use
(
widgets
)
Vue
.
component
(
'Draggable'
,
draggable
)
Vue
.
prototype
.
$api
=
api
Vue
.
prototype
.
$echarts
=
echarts
;
Vue
.
prototype
.
$gaodeMap
=
GaodeMap
;
Vue
.
prototype
.
$echarts
=
echarts
Vue
.
prototype
.
$gaodeMap
=
GaodeMap
Vue
.
use
(
UmyUi
)
;
Vue
.
use
(
UmyUi
)
Vue
.
use
(
fullscreen
)
;
Vue
.
use
(
fullscreen
)
Vue
.
use
(
VueFriendlyIframe
)
;
Vue
.
use
(
Vuetify
)
;
Vue
.
use
(
VueFriendlyIframe
)
Vue
.
use
(
Vuetify
)
// import TEditor from '@/components/Tinymce/index.vue'
// Vue.component('TEditor', TEditor)
...
...
@@ -75,7 +75,7 @@ Vue.use(Vuetify);
* Currently MockJs will be used in the production environment,
* please remove it before going online ! ! !
*/
if
(
process
.
env
.
NODE_ENV
===
"production"
)
{
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
// const { mockXHR } = require('../mock')
// mockXHR()
}
...
...
@@ -83,75 +83,75 @@ if (process.env.NODE_ENV === "production") {
// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui,按如下方式声明
ElementUI
.
Dialog
.
props
.
closeOnClickModal
.
default
=
false
;
ElementUI
.
Dialog
.
props
.
closeOnPressEscape
.
default
=
false
;
ElementUI
.
Dialog
.
props
.
closeOnClickModal
.
default
=
false
ElementUI
.
Dialog
.
props
.
closeOnPressEscape
.
default
=
false
Vue
.
use
(
ElementUI
,
{
size
:
Cookies
.
get
(
"size"
)
||
"medium"
,
// set element-ui default size
i18n
:
(
key
,
value
)
=>
i18n
.
t
(
key
,
value
)
,
})
;
size
:
Cookies
.
get
(
'size'
)
||
'medium'
,
// set element-ui default size
i18n
:
(
key
,
value
)
=>
i18n
.
t
(
key
,
value
)
})
Vue
.
use
(
Fit2CloudUI
,
{
i18n
:
(
key
,
value
)
=>
i18n
.
t
(
key
,
value
)
,
})
;
i18n
:
(
key
,
value
)
=>
i18n
.
t
(
key
,
value
)
})
// Vue.use(VueAxios, axios)
Vue
.
use
(
filter
)
;
Vue
.
use
(
directives
)
;
Vue
.
use
(
message
)
;
Vue
.
component
(
"Treeselect"
,
Treeselect
);
Vue
.
component
(
"DeComplexInput"
,
DeComplexInput
);
Vue
.
component
(
"DeComplexSelect"
,
DeComplexSelect
);
Vue
.
component
(
"DeViewSelect"
,
DeViewSelect
);
Vue
.
component
(
"RemarkEditor"
,
RemarkEditor
);
Vue
.
component
(
"TitleRemark"
,
TitleRemark
);
Vue
.
component
(
"DeBtn"
,
deBtn
);
Vue
.
use
(
filter
)
Vue
.
use
(
directives
)
Vue
.
use
(
message
)
Vue
.
component
(
'Treeselect'
,
Treeselect
)
Vue
.
component
(
'DeComplexInput'
,
DeComplexInput
)
Vue
.
component
(
'DeComplexSelect'
,
DeComplexSelect
)
Vue
.
component
(
'DeViewSelect'
,
DeViewSelect
)
Vue
.
component
(
'RemarkEditor'
,
RemarkEditor
)
Vue
.
component
(
'TitleRemark'
,
TitleRemark
)
Vue
.
component
(
'DeBtn'
,
deBtn
)
Vue
.
config
.
productionTip
=
false
;
Vue
.
config
.
productionTip
=
false
Vue
.
use
(
vueToPdf
)
;
Vue
.
use
(
vueToPdf
)
Vue
.
use
(
VueVideoPlayer
)
;
Vue
.
use
(
VueVideoPlayer
)
Vue
.
use
(
proportion
)
;
Vue
.
use
(
proportion
)
Vue
.
prototype
.
hasDataPermission
=
function
(
pTarget
,
pSource
)
{
if
(
this
.
$store
.
state
.
user
.
user
.
isAdmin
||
pSource
===
"ignore"
)
{
return
true
;
Vue
.
prototype
.
hasDataPermission
=
function
(
pTarget
,
pSource
)
{
if
(
this
.
$store
.
state
.
user
.
user
.
isAdmin
||
pSource
===
'ignore'
)
{
return
true
}
if
(
pSource
&&
pTarget
)
{
return
pSource
.
indexOf
(
pTarget
)
>
-
1
;
return
pSource
.
indexOf
(
pTarget
)
>
-
1
}
return
false
;
}
;
return
false
}
Vue
.
prototype
.
checkPermission
=
function
(
pers
)
{
const
permissions
=
store
.
getters
.
permissions
;
Vue
.
prototype
.
checkPermission
=
function
(
pers
)
{
const
permissions
=
store
.
getters
.
permissions
const
hasPermission
=
pers
.
every
((
needP
)
=>
{
const
result
=
permissions
.
includes
(
needP
)
;
return
result
;
})
;
return
hasPermission
;
}
;
Vue
.
use
(
deWebsocket
)
;
Vue
.
prototype
.
$currentHttpRequestList
=
new
Map
()
;
Vue
.
prototype
.
$cancelRequest
=
function
(
cancelkey
)
{
const
result
=
permissions
.
includes
(
needP
)
return
result
})
return
hasPermission
}
Vue
.
use
(
deWebsocket
)
Vue
.
prototype
.
$currentHttpRequestList
=
new
Map
()
Vue
.
prototype
.
$cancelRequest
=
function
(
cancelkey
)
{
if
(
cancelkey
)
{
if
(
cancelkey
.
indexOf
(
"/**"
)
>
-
1
)
{
if
(
cancelkey
.
indexOf
(
'/**'
)
>
-
1
)
{
Vue
.
prototype
.
$currentHttpRequestList
.
forEach
((
item
,
key
)
=>
{
key
.
indexOf
(
cancelkey
.
split
(
"/**"
)[
0
])
>
-
1
&&
item
(
"Operation canceled by the user."
);
})
;
key
.
indexOf
(
cancelkey
.
split
(
'/**'
)[
0
])
>
-
1
&&
item
(
'Operation canceled by the user.'
)
})
}
else
{
Vue
.
prototype
.
$currentHttpRequestList
.
get
(
cancelkey
)
&&
Vue
.
prototype
.
$currentHttpRequestList
.
get
(
cancelkey
)(
"Operation canceled by the user."
)
;
'Operation canceled by the user.'
)
}
}
}
;
}
new
Vue
({
router
,
store
,
i18n
,
render
:
(
h
)
=>
h
(
App
)
,
}).
$mount
(
"#app"
);
render
:
(
h
)
=>
h
(
App
)
}).
$mount
(
'#app'
)
src/permission.js
查看文件 @
05c78451
差异被折叠。
点击展开。
src/store/modules/user.js
查看文件 @
05c78451
...
...
@@ -70,7 +70,7 @@ const mutations = {
},
SET_PASSWORD_MODIFIED
:
(
state
,
passwordModified
)
=>
{
state
.
passwordModified
=
passwordModified
}
,
}
}
const
actions
=
{
...
...
@@ -110,8 +110,8 @@ const actions = {
reject
(
'Verification failed, please Login again.'
)
}
const
historyUserId
=
localStorage
.
getItem
(
'userId'
)
if
(
historyUserId
&&
historyUserId
!==
data
.
userId
+
''
)
{
const
clearLocalStorage
=
[
'panel-main-tree'
,
'panel-default-tree'
,
'chart-tree'
,
'dataset-tree'
]
if
(
historyUserId
&&
historyUserId
!==
data
.
userId
+
''
)
{
const
clearLocalStorage
=
[
'panel-main-tree'
,
'panel-default-tree'
,
'chart-tree'
,
'dataset-tree'
]
clearLocalStorage
.
forEach
((
item
)
=>
{
localStorage
.
removeItem
(
item
)
})
...
...
src/utils/request.js
查看文件 @
05c78451
...
...
@@ -118,7 +118,7 @@ service.interceptors.response.use(response => {
if
(
msg
.
length
>
600
)
{
msg
=
msg
.
slice
(
0
,
600
)
}
!
config
.
hideMsg
&&
(
!
headers
[
'authentication-status'
])
&&
!
msg
?.
startsWith
(
"MultiLoginError"
)
&&
$error
(
msg
)
!
config
.
hideMsg
&&
(
!
headers
[
'authentication-status'
])
&&
!
msg
?.
startsWith
(
'MultiLoginError'
)
&&
$error
(
msg
)
return
Promise
.
reject
(
config
.
url
===
'/dataset/table/sqlPreview'
?
msg
:
error
)
})
const
checkDownError
=
response
=>
{
...
...
src/views/background/index.vue
查看文件 @
05c78451
...
...
@@ -51,12 +51,12 @@
>
<el-color-picker
ref=
"colorPicker"
@
change=
"colorChange"
v-model=
"curComponent.commonBackground.color"
:disabled=
"!curComponent.commonBackground.backgroundColorSelect"
size=
"mini"
class=
"color-picker-style"
:predefine=
"predefineColors"
@
change=
"colorChange"
/>
</el-col>
<el-col
:span=
"3"
>
...
...
src/views/chart/chart/chart.js
查看文件 @
05c78451
...
...
@@ -35,7 +35,7 @@ export const DEFAULT_COLOR_CASE = {
mapStyle
:
'normal'
,
mapLineGradient
:
false
,
mapLineSourceColor
:
'#146C94'
,
mapLineTargetColor
:
'#576CBC'
,
mapLineTargetColor
:
'#576CBC'
}
export
const
DEFAULT_COLOR_CASE_DARK
=
{
...
...
@@ -57,7 +57,7 @@ export const DEFAULT_COLOR_CASE_DARK = {
mapStyle
:
'darkblue'
,
mapLineGradient
:
false
,
mapLineSourceColor
:
'#2F58CD'
,
mapLineTargetColor
:
'#3795BD'
,
mapLineTargetColor
:
'#3795BD'
}
export
const
DEFAULT_SIZE
=
{
barDefault
:
true
,
...
...
src/views/chart/components/ChartComponentS2.vue
查看文件 @
05c78451
...
...
@@ -67,8 +67,8 @@
>
{{
$t
(
'chart.total'
)
}}
<span>
{{
(
chart
.
datasetMode
===
0
&&
!
not_support_page_dataset
.
includes
(
chart
.
datasourceType
))
?
chart
.
totalItems
:
((
chart
.
data
&&
chart
.
data
.
tableRow
)
?
chart
.
data
.
tableRow
.
length
:
0
)
}}
</span>
(
chart
.
datasetMode
===
0
&&
!
not_support_page_dataset
.
includes
(
chart
.
datasourceType
))
?
chart
.
totalItems
:
((
chart
.
data
&&
chart
.
data
.
tableRow
)
?
chart
.
data
.
tableRow
.
length
:
0
)
}}
</span>
{{
$t
(
'chart.items'
)
}}
</span>
<de-pagination
...
...
src/views/chart/group/Group.vue
查看文件 @
05c78451
...
...
@@ -13,7 +13,7 @@
@
click=
"add('group')"
/>
</el-row>
<el-divider/>
<el-divider
/>
<el-row
style=
"margin-bottom: 10px"
>
<el-col
:span=
"16"
>
<el-input
...
...
@@ -31,7 +31,7 @@
size=
"mini"
type=
"primary"
>
{{
searchMap
[
searchType
]
}}
<i
class=
"el-icon-arrow-down el-icon--right"
/>
{{
searchMap
[
searchType
]
}}
<i
class=
"el-icon-arrow-down el-icon--right"
/>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
@
click
.
native=
"searchTypeClick('all')"
>
{{
$t
(
'commons.all'
)
}}
</el-dropdown-item>
...
...
@@ -63,7 +63,7 @@
>
<span
style=
"display: flex;flex: 1;width: 0;"
>
<span>
<i
class=
"el-icon-folder"
/>
<i
class=
"el-icon-folder"
/>
</span>
<span
style=
"margin-left: 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"
...
...
@@ -152,7 +152,7 @@
class="custom-tree-node-list father"
>
<span
style=
"display: flex;flex: 1;width: 0;"
>
<span><svg-icon
:icon-class=
"data.modelInnerType"
/></span>
<span><svg-icon
:icon-class=
"data.modelInnerType"
/></span>
<span
style=
"margin-left: 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;"
:title=
"data.name"
...
...
@@ -225,7 +225,7 @@
:label=
"$t('commons.name')"
prop=
"name"
>
<el-input
v-model=
"groupForm.name"
/>
<el-input
v-model=
"groupForm.name"
/>
</el-form-item>
</el-form>
<div
...
...
@@ -266,7 +266,7 @@
:label=
"$t('commons.name')"
prop=
"name"
>
<el-input
v-model=
"tableForm.name"
/>
<el-input
v-model=
"tableForm.name"
/>
</el-form-item>
</el-form>
<div
...
...
@@ -322,8 +322,8 @@
:active=
"createActive"
align-center
>
<el-step
:title=
"$t('chart.select_dataset')"
/>
<el-step
:title=
"$t('chart.select_chart_type')"
/>
<el-step
:title=
"$t('chart.select_dataset')"
/>
<el-step
:title=
"$t('chart.select_chart_type')"
/>
</el-steps>
<table-selector
...
...
@@ -397,8 +397,8 @@
size=
"mini"
@
click=
"createPreview"
>
{{
$t
(
'chart.preview'
)
}}
$t
(
'chart.preview'
)
}}
</el-button>
<el-button
v-if=
"createActive === 1"
...
...
@@ -447,8 +447,8 @@
size=
"mini"
@
click=
"saveMoveGroup(tGroup)"
>
{{
$t
(
'dataset.confirm'
)
}}
$t
(
'dataset.confirm'
)
}}
</el-button>
</div>
</el-dialog>
...
...
@@ -481,8 +481,8 @@
size=
"mini"
@
click=
"saveMoveDs(tDs)"
>
{{
$t
(
'dataset.confirm'
)
}}
$t
(
'dataset.confirm'
)
}}
</el-button>
</div>
</el-dialog>
...
...
src/views/dataset/Form.vue
查看文件 @
05c78451
<
template
>
<div
class=
"de-dataset-form"
>
<div
class=
"top"
v-loading=
"loading"
>
<div
v-loading=
"loading"
class=
"top"
>
<span
class=
"name"
>
<i
class=
"el-icon-arrow-left"
...
...
src/views/dataset/add/AddApi.vue
查看文件 @
05c78451
...
...
@@ -9,7 +9,7 @@
class=
"arrow-right"
@
click=
"showLeft = true"
>
<i
class=
"el-icon-d-arrow-right"
/>
<i
class=
"el-icon-d-arrow-right"
/>
</p>
<div
v-show=
"showLeft"
...
...
@@ -172,8 +172,8 @@
class=
"data"
>
<span
class=
"result-num"
>
{{
`${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
`
}}
<
/span
>
`${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
`
}}
<
/span
>
<
div
class
=
"table-grid"
>
<
ux
-
grid
ref
=
"plxTable"
...
...
src/views/dataset/add/AddCustom.vue
查看文件 @
05c78451
...
...
@@ -24,7 +24,7 @@
</el-button>
</el-row>
</el-row>
<el-divider/>
<el-divider
/>
<el-row>
<el-form
:inline=
"true"
>
<el-form-item
...
...
src/views/dataset/add/AddDB.vue
查看文件 @
05c78451
...
...
@@ -9,7 +9,7 @@
class=
"arrow-right"
@
click=
"showLeft = true"
>
<i
class=
"el-icon-d-arrow-right"
/>
<i
class=
"el-icon-d-arrow-right"
/>
</p>
<div
v-show=
"showLeft"
...
...
@@ -179,8 +179,8 @@
class=
"data"
>
<span
class=
"result-num"
>
{{
`${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
`
}}
<
/span
>
`${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
`
}}
<
/span
>
<
div
class
=
"table-grid"
>
<
ux
-
grid
ref
=
"plxTable"
...
...
src/views/dataset/add/AddExcel.vue
查看文件 @
05c78451
...
...
@@ -8,7 +8,7 @@
class=
"arrow-right"
@
click=
"showLeft = true"
>
<i
class=
"el-icon-d-arrow-right"
/>
<i
class=
"el-icon-d-arrow-right"
/>
</p>
<div
v-show=
"showLeft"
...
...
@@ -21,16 +21,16 @@
effect=
"dark"
placement=
"right"
>
<div
slot=
"content"
>
{{
$t
(
'dataset.excel_info_1'
)
}}
<br>
{{
$t
(
'dataset.excel_info_2'
)
}}
<br>
{{
$t
(
'dataset.excel_info_3'
)
}}
</div>
<svg-icon
icon-class=
"icon_info_outlined"
/></el-tooltip></span>
<i
class=
"el-icon-d-arrow-left"
@
click=
"showLeft = false"
/>
<div
slot=
"content"
>
{{
$t
(
'dataset.excel_info_1'
)
}}
<br>
{{
$t
(
'dataset.excel_info_2'
)
}}
<br>
{{
$t
(
'dataset.excel_info_3'
)
}}
</div>
<svg-icon
icon-class=
"icon_info_outlined"
/></el-tooltip></span>
<i
class=
"el-icon-d-arrow-left"
@
click=
"showLeft = false"
/>
</p>
<el-upload
:action=
"baseUrl + 'dataset/table/excel/upload'"
...
...
@@ -150,14 +150,14 @@
min
-
width
=
"200px"
:
field
=
"field.fieldName"
:
title
=
"field.remarks"
:
field
T
ype
=
"field.fieldType"
:
field
-
t
ype
=
"field.fieldType"
:
resizable
=
"true"
>
<
template
#
header
>
<
el
-
dropdown
:
key
=
"field.fieldName + field.fieldType"
placement
=
"bottom-start"
trigger
=
"click"
:
key
=
"field.fieldName + field.fieldType"
@
command
=
"(type) => handleCommand(type, field)"
>
<
span
class
=
"type-switch"
>
...
...
@@ -179,7 +179,7 @@
icon
-
class
=
"field_value"
class
=
"field-icon-value"
/>
<
i
class
=
"el-icon-arrow-down el-icon--right"
/><
/span
>
<
i
class
=
"el-icon-arrow-down el-icon--right"
/><
/span
>
<
el
-
dropdown
-
menu
slot
=
"dropdown"
style
=
"width: 178px"
...
...
@@ -237,7 +237,7 @@ import { $alert } from '@/utils/message'
import
store
from
'@/store'
import
msgCfm
from
'@/components/msgCfm/index'
import
cancelMix
from
'./cancelMix'
import
Config
from
"@/settings"
;
import
Config
from
'@/settings'
import
{
updateCacheTree
}
from
'@/components/canvas/utils/utils'
const
token
=
getToken
()
...
...
src/views/dataset/add/AddSQL.vue
查看文件 @
05c78451
差异被折叠。
点击展开。
src/views/dataset/add/AddUnion.vue
查看文件 @
05c78451
...
...
@@ -53,8 +53,8 @@
<div
class=
"sql-title"
>
{{
$t
(
'deDataset.data_preview'
)
}}
<span
class=
"result-num"
>
{{
`(${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
)`
}}
<
/span
>
`(${$t('dataset.preview_show')
}
1000 ${$t('dataset.preview_item')
}
)`
}}
<
/span
>
<
span
class
=
"drag"
@
mousedown
=
"mousedownDrag"
...
...
@@ -96,8 +96,8 @@
secondary
@
click
=
"closeSelectDs()"
>
{{
$t
(
'dataset.cancel'
)
}}
$t
(
'dataset.cancel'
)
}}
<
/deBtn
>
<
deBtn
:
disabled
=
"!tempDs.id"
...
...
@@ -122,21 +122,21 @@
size
=
"840px"
direction
=
"rtl"
>
<
union
-
edit
:
union
-
param
=
"unionParam"
/>
<
union
-
edit
:
union
-
param
=
"unionParam"
/>
<
div
class
=
"de-foot"
>
<
deBtn
secondary
@
click
=
"closeEditUnion()"
>
{{
$t
(
'dataset.cancel'
)
}}
$t
(
'dataset.cancel'
)
}}
<
/deBtn
>
<
deBtn
type
=
"primary"
@
click
=
"confirmEditUnion()"
>
{{
$t
(
'dataset.confirm'
)
}}
$t
(
'dataset.confirm'
)
}}
<
/deBtn
>
<
/div
>
<
/el-drawer
>
...
...
src/views/dataset/add/util.js
查看文件 @
05c78451
import
pyjs
from
'js-pinyin'
export
function
zh2py
(
str
)
{
return
pyjs
.
getFullChars
(
str
).
toLowerCase
().
charCodeAt
()
return
pyjs
.
getFullChars
(
str
).
toLowerCase
().
charCodeAt
()
}
export
function
pySort
(
arr
=
[])
{
arr
.
sort
((
a
,
b
)
=>
{
return
zh2py
(
a
.
name
[
0
])
-
zh2py
(
b
.
name
[
0
])
})
return
arr
}
\ No newline at end of file
arr
.
sort
((
a
,
b
)
=>
{
return
zh2py
(
a
.
name
[
0
])
-
zh2py
(
b
.
name
[
0
])
})
return
arr
}
src/views/dataset/data/ViewTable.vue
查看文件 @
05c78451
...
...
@@ -17,14 +17,14 @@
v-if=
"table.mode === 0"
class=
"de-tag primary"
>
{{
$t
(
'dataset.direct_connect'
)
}}
</span>
$t
(
'dataset.direct_connect'
)
}}
</span>
<span
v-if=
"table.mode === 1"
class=
"de-tag warning"
>
{{
$t
(
'dataset.sync_data'
)
}}
</span>
$t
(
'dataset.sync_data'
)
}}
</span>
</
template
>
<span
v-if=
"syncStatus === 'Underway'"
...
...
@@ -33,7 +33,7 @@
>
{{ $t('dataset.dataset_sync') }}
</span>
<el-divider
direction=
"vertical"
/>
<el-divider
direction=
"vertical"
/>
<span
class=
"create-by"
>
{{ $t('dataset.create_by') }}
</span>
<span
class=
"create-by"
>
:{{ table.creatorName || 'N/A' }}
</span>
<el-popover
...
...
@@ -48,7 +48,11 @@
:data=
"table"
:tab-status=
"tabStatus"
/>
<svg-icon
slot=
"reference"
class=
"detail"
icon-class=
"icon_info_outlined"
/>
<svg-icon
slot=
"reference"
class=
"detail"
icon-class=
"icon_info_outlined"
/>
</el-popover>
</el-col>
<el-col
...
...
@@ -77,11 +81,11 @@
</deBtn>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"0"
>
<svg-icon
icon-class=
"icon_add-entry_outlined"
/>
<svg-icon
icon-class=
"icon_add-entry_outlined"
/>
{{ $t('dataset.excel_replace') + $t('chart.chart_data') }}
</el-dropdown-item>
<el-dropdown-item
command=
"1"
>
<svg-icon
icon-class=
"icon_doc-replace_outlined"
/>
<svg-icon
icon-class=
"icon_doc-replace_outlined"
/>
{{ $t('dataset.excel_add') + $t('chart.chart_data') }}
</el-dropdown-item>
</el-dropdown-menu>
...
...
@@ -218,7 +222,7 @@
>
<div
class=
"tree-cont"
>
<div
class=
"content"
>
<rowAuth
ref=
"rowAuth"
/>
<rowAuth
ref=
"rowAuth"
/>
</div>
</div>
</el-form-item>
...
...
src/views/dataset/group/CreatDsGroup.vue
查看文件 @
05c78451
...
...
@@ -18,7 +18,7 @@
:label=
"$t('dataset.name')"
prop=
"name"
>
<el-input
v-model=
"datasetForm.name"
/>
<el-input
v-model=
"datasetForm.name"
/>
</el-form-item>
<el-form-item
:label=
"$t('deDataset.folder')"
...
...
@@ -45,7 +45,7 @@
class="custom-tree-node-dataset"
>
<span
v-if=
"data.modelInnerType === 'group'"
>
<svg-icon
icon-class=
"scene"
/>
<svg-icon
icon-class=
"scene"
/>
</span>
<span
style=
"
...
...
src/views/dataset/group/Group.vue
查看文件 @
05c78451
...
...
@@ -111,8 +111,8 @@
class=
"no-tdata-new"
@
click=
"() => clickAdd()"
>
{{
$t
(
'deDataset.create'
)
}}
</span>
$t
(
'deDataset.create'
)
}}
</span>
</div>
<el-tree
v-else
...
...
@@ -134,7 +134,7 @@
>
<span
style=
"display: flex; flex: 1; width: 0"
>
<span>
<svg-icon
icon-class=
"scene"
/>
<svg-icon
icon-class=
"scene"
/>
</span>
<span
style=
"
...
...
@@ -242,15 +242,15 @@
class=
"de-card-dropdown"
>
<el-dropdown-item
command=
"rename"
>
<svg-icon
icon-class=
"de-ds-rename"
/>
<svg-icon
icon-class=
"de-ds-rename"
/>
{{
$t
(
'dataset.rename'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"move"
>
<svg-icon
icon-class=
"de-ds-move"
/>
<svg-icon
icon-class=
"de-ds-move"
/>
{{
$t
(
'dataset.move_to'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
<svg-icon
icon-class=
"de-ds-trash"
/>
<svg-icon
icon-class=
"de-ds-trash"
/>
{{
$t
(
'dataset.delete'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
...
...
@@ -353,15 +353,15 @@
class=
"de-card-dropdown"
>
<el-dropdown-item
command=
"editTable"
>
<svg-icon
icon-class=
"de-ds-rename"
/>
<svg-icon
icon-class=
"de-ds-rename"
/>
{{
$t
(
'dataset.rename'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"moveDs"
>
<svg-icon
icon-class=
"de-ds-move"
/>
<svg-icon
icon-class=
"de-ds-move"
/>
{{
$t
(
'dataset.move_to'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"deleteTable"
>
<svg-icon
icon-class=
"de-ds-trash"
/>
<svg-icon
icon-class=
"de-ds-trash"
/>
{{
$t
(
'dataset.delete'
)
}}
</el-dropdown-item>
</el-dropdown-menu>
...
...
@@ -434,7 +434,7 @@
:label=
"$t('dataset.name')"
prop=
"name"
>
<el-input
v-model=
"tableForm.name"
/>
<el-input
v-model=
"tableForm.name"
/>
</el-form-item>
</el-form>
<div
...
...
@@ -445,8 +445,8 @@
secondary
@
click=
"closeTable()"
>
{{
$t
(
'dataset.cancel'
)
}}
$t
(
'dataset.cancel'
)
}}
</deBtn>
<deBtn
type=
"primary"
...
...
@@ -469,8 +469,8 @@
:title=
"moveDialogTitle"
class=
"text-overflow"
>
{{
moveDialogTitle
}}
</span>
moveDialogTitle
}}
</span>
{{
$t
(
'dataset.m2'
)
}}
</
template
>
<group-move-selector
...
...
@@ -483,8 +483,8 @@
secondary
@
click=
"closeMoveGroup()"
>
{{
$t('dataset.cancel')
}}
$t('dataset.cancel')
}}
</deBtn>
<deBtn
:disabled=
"groupMoveConfirmDisabled"
...
...
@@ -508,8 +508,8 @@
:title=
"moveDialogTitle"
class=
"text-overflow"
>
{{
moveDialogTitle
}}
</span>
moveDialogTitle
}}
</span>
{{
$t
(
'dataset.m2'
)
}}
</
template
>
<group-move-selector
...
...
@@ -521,8 +521,8 @@
secondary
@
click=
"closeMoveDs()"
>
{{
$t('dataset.cancel')
}}
$t('dataset.cancel')
}}
</deBtn>
<deBtn
:disabled=
"dsMoveConfirmDisabled"
...
...
@@ -534,7 +534,7 @@
</el-drawer>
<!-- 新增数据集文件夹 -->
<CreatDsGroup
ref=
"CreatDsGroup"
/>
<CreatDsGroup
ref=
"CreatDsGroup"
/>
</el-col>
</template>
...
...
@@ -890,8 +890,7 @@ export default {
_this
.
expandedArray
.
push
(
table
.
sceneId
)
_this
.
$refs
.
datasetTreeRef
.
setCurrentKey
(
table
.
id
)
const
renameNode
=
{
id
:
table
.
id
,
name
:
table
.
name
,
label
:
table
.
name
}
updateCacheTree
(
'rename'
,
'dataset-tree'
,
renameNode
,
this
.
tData
)
(
'rename'
,
'dataset-tree'
,
response
.
data
,
this
.
tData
)
updateCacheTree
(
'rename'
,
'dataset-tree'
,
renameNode
,
this
.
tData
)(
'rename'
,
'dataset-tree'
,
response
.
data
,
this
.
tData
)
this
.
$emit
(
'switchComponent'
,
{
name
:
''
})
})
}
else
{
...
...
src/views/dataset/group/GroupMoveSelector.vue
查看文件 @
05c78451
...
...
@@ -24,7 +24,7 @@
>
<span
style=
"display: flex; flex: 1; width: 0"
>
<span
v-if=
"data.modelInnerType === 'group'"
>
<svg-icon
icon-class=
"scene"
/>
<svg-icon
icon-class=
"scene"
/>
</span>
<span
style=
"
...
...
src/views/link/view/index.vue
查看文件 @
05c78451
...
...
@@ -77,7 +77,7 @@ export default {
})
},
setPanelInfo
()
{
loadResource
(
this
.
resourceId
,
this
.
user
).
then
(
res
=>
{
loadResource
(
this
.
resourceId
,
this
.
user
).
then
(
res
=>
{
this
.
show
=
false
let
loadingCount
=
0
const
watermarkInfo
=
{
...
...
src/views/panel/appTemplate/AppTemplateContent.vue
查看文件 @
05c78451
...
...
@@ -77,7 +77,7 @@
:label=
"dialogTitleLabel"
prop=
"name"
>
<el-input
v-model=
"templateEditForm.name"
/>
<el-input
v-model=
"templateEditForm.name"
/>
</el-form-item>
<el-form-item
:label=
"$t('app_template.app_group_icon')"
...
...
@@ -95,7 +95,7 @@
:http-request="upload"
:file-list="fileList"
>
<i
class=
"el-icon-plus"
/>
<i
class=
"el-icon-plus"
/>
</el-upload>
<el-dialog
top=
"25vh"
...
...
@@ -161,8 +161,7 @@
:source-template-info=
"currentMoveItem"
@
closeDialog=
"moveItemDialogShow=false"
@
templateMoveClose=
"templateMoveClose"
>
</template-move-list>
/>
</el-dialog>
</div>
</
template
>
...
...
src/views/panel/appTemplate/component/TemplateItem.vue
查看文件 @
05c78451
...
...
@@ -29,18 +29,18 @@
trigger=
"click"
@
command=
"handleCommand"
>
<i
class=
"el-icon-more"
/>
<i
class=
"el-icon-more"
/>
<el-dropdown-menu
slot=
"dropdown"
class=
"de-card-dropdown"
>
<slot>
<el-dropdown-item
command=
"update"
>
<i
class=
"el-icon-edit"
/>
<i
class=
"el-icon-edit"
/>
{{
$t
(
'commons.update'
)
}}
</el-dropdown-item>
<el-dropdown-item
command=
"delete"
>
<i
class=
"el-icon-delete"
/>
<i
class=
"el-icon-delete"
/>
{{
$t
(
'commons.uninstall'
)
}}
</el-dropdown-item>
<el-dropdown-item
...
...
src/views/panel/appTemplate/component/TemplateList.vue
查看文件 @
05c78451
...
...
@@ -47,7 +47,7 @@
@
command=
"(type) => clickMore(type, ele)"
>
<span
class=
"el-dropdown-link"
>
<i
class=
"el-icon-more"
/>
<i
class=
"el-icon-more"
/>
</span>
<el-dropdown-menu
slot=
"dropdown"
...
...
src/views/panel/appTemplate/component/TemplateMoveList.vue
查看文件 @
05c78451
...
...
@@ -43,16 +43,16 @@
secondary
@
click=
"cancel()"
>
{{
$t
(
'commons.cancel'
)
}}
$t
(
'commons.cancel'
)
}}
</deBtn>
<deBtn
type=
"primary"
@
click=
"save()"
:disabled=
"!activeTemplate"
@
click=
"save()"
>
{{
$t
(
'commons.confirm'
)
}}
$t
(
'commons.confirm'
)
}}
</deBtn>
</el-row>
</div>
...
...
src/views/panel/edit/index.vue
查看文件 @
05c78451
...
...
@@ -165,12 +165,12 @@
v-show=
" show &&showIndex===1"
:canvas-id=
"canvasId"
/>
<subject-setting
v-show=
" show &&showIndex===2"
/>
<assist-component
v-show=
" show &&showIndex===3"
/>
<subject-setting
v-show=
" show &&showIndex===2"
/>
<assist-component
v-show=
" show &&showIndex===3"
/>
</div>
</el-drawer>
<!--PC端画布区域-->
<canvas-opt-bar
v-if=
"!previewVisible&&!mobileLayoutStatus"
/>
<canvas-opt-bar
v-if=
"!previewVisible&&!mobileLayoutStatus"
/>
<de-canvas
v-if=
"!previewVisible&&!mobileLayoutStatus"
ref=
"canvasMainRef"
...
...
@@ -196,7 +196,7 @@
:style=
"customCanvasMobileStyle"
class=
"this_mobile_canvas"
>
<el-row
class=
"this_mobile_canvas_top"
/>
<el-row
class=
"this_mobile_canvas_top"
/>
<el-row
class=
"this_mobile_canvas_inner_top"
>
{{
panelInfo
.
name
}}
</el-row>
...
...
@@ -205,7 +205,7 @@
class=
"this_mobile_canvas_main"
:style=
"mobileCanvasStyle"
>
<canvas-opt-bar
v-if=
"!previewVisible&&mobileLayoutStatus"
/>
<canvas-opt-bar
v-if=
"!previewVisible&&mobileLayoutStatus"
/>
<de-canvas
v-if=
"!previewVisible&&mobileLayoutStatus"
ref=
"canvasMainRef"
...
...
@@ -243,14 +243,14 @@
/>
</el-col>
</el-row>
<el-row
class=
"this_mobile_canvas_bottom"
/>
<el-row
class=
"this_mobile_canvas_bottom"
/>
</div>
</el-col>
<el-col
:span=
"16"
class=
"this_mobile_canvas_cell this_mobile_canvas_wait_cell"
>
<component-wait/>
<component-wait
/>
</el-col>
</el-row>
</de-main-container>
...
...
@@ -268,7 +268,7 @@
/>
</div>
<div
v-if=
"showBatchViewToolsAside"
>
<chart-style-batch-set/>
<chart-style-batch-set
/>
</div>
<div
v-if=
"!showViewToolsAside&&!showBatchViewToolsAside"
>
<el-row
style=
"height: 40px"
>
...
...
@@ -287,7 +287,7 @@
>
{{
$t
(
'panel.position_adjust'
)
}}
</span>
</el-row>
<el-row>
<position-adjust
v-if=
"curComponent&&!curComponent.auxiliaryMatrix"
/>
<position-adjust
v-if=
"curComponent&&!curComponent.auxiliaryMatrix"
/>
<div
v-else
class=
"view-selected-message-class"
...
...
src/views/panel/linkJumpSet/index.vue
查看文件 @
05c78451
...
...
@@ -302,7 +302,7 @@
clearable
/>
<div
class=
"field-height"
>
<el-divider/>
<el-divider
/>
<draggable
v-model=
"linkJumpInfoArray"
:options=
"
{group:{name: 'drag',pull:'clone'},sort: true}"
...
...
src/views/panel/list/PanelList.vue
查看文件 @
05c78451
...
...
@@ -174,7 +174,7 @@
/>
</span>
<span
v-if=
"data.nodeType === 'folder'"
>
<svg-icon
icon-class=
"scene"
/>
<svg-icon
icon-class=
"scene"
/>
</span>
<span
:class=
"data.status"
...
...
@@ -211,7 +211,7 @@
<el-dropdown-item
:command=
"beforeClickEdit('folder', 'new', data, node)"
>
<svg-icon
icon-class=
"scene"
/>
<svg-icon
icon-class=
"scene"
/>
<span
style=
"margin-left: 5px"
>
{{
$t
(
'panel.groupAdd'
)
}}
</span>
</el-dropdown-item>
<el-dropdown-item
...
...
@@ -334,7 +334,7 @@
:label=
"$t('commons.name')"
prop=
"name"
>
<el-input
v-model=
"groupForm.name"
/>
<el-input
v-model=
"groupForm.name"
/>
</el-form-item>
</el-form>
<div
...
...
@@ -345,8 +345,8 @@
size=
"mini"
@
click=
"close()"
>
{{
$t
(
'panel.cancel'
)
}}
$t
(
'panel.cancel'
)
}}
</el-button>
<el-button
type=
"primary"
...
...
@@ -422,8 +422,8 @@
size=
"mini"
@
click=
"closeMoveGroup()"
>
{{
$t
(
'dataset.cancel'
)
}}
$t
(
'dataset.cancel'
)
}}
</el-button>
<el-button
:disabled=
"groupMoveConfirmDisabled"
...
...
src/views/panel/list/PanelMain.vue
查看文件 @
05c78451
...
...
@@ -8,7 +8,7 @@
@
tab-click=
"handleClick"
>
<el-tab-pane
name=
"PanelList"
>
<span
slot=
"label"
><i
class=
"el-icon-document tablepanel-i"
/>
{{
$t
(
'panel.panel_list'
)
}}
</span>
<span
slot=
"label"
><i
class=
"el-icon-document tablepanel-i"
/>
{{
$t
(
'panel.panel_list'
)
}}
</span>
<panel-list
v-show=
"activeName==='PanelList'"
ref=
"panelList"
...
...
@@ -18,14 +18,14 @@
name=
"panels_star"
:lazy=
"true"
>
<span
slot=
"label"
><i
class=
"el-icon-star-off tablepanel-i"
/>
{{
$t
(
'panel.store'
)
}}
</span>
<enshrine
v-if=
"activeName==='panels_star'"
/>
<span
slot=
"label"
><i
class=
"el-icon-star-off tablepanel-i"
/>
{{
$t
(
'panel.store'
)
}}
</span>
<enshrine
v-if=
"activeName==='panels_star'"
/>
</el-tab-pane>
<el-tab-pane
name=
"panels_share"
:lazy=
"true"
>
<span
slot=
"label"
><i
class=
"el-icon-share tablepanel-i"
/>
{{
$t
(
'panel.share'
)
}}
</span>
<span
slot=
"label"
><i
class=
"el-icon-share tablepanel-i"
/>
{{
$t
(
'panel.share'
)
}}
</span>
<share-tree
v-if=
"showShare"
ref=
"share_tree"
...
...
src/views/panel/list/PanelViewShow.vue
查看文件 @
05c78451
...
...
@@ -17,7 +17,7 @@
style=
"border-bottom: 1px solid;border-bottom-color:#E6E6E6;"
>
<div
style=
"height: 100%;"
>
<share-head/>
<share-head
/>
</div>
</el-row>
<el-row
...
...
@@ -31,10 +31,13 @@
:span=
"12"
style=
"font-size: 14px;display: flex"
>
<div
:title=
"showName"
style=
"text-overflow:ellipsis;overflow: hidden;white-space: nowrap;font-size: 14px;max-width: 300px"
><span
class=
"panel-name"
>
{{
panelInfo
.
name
||
'测试仪表板'
}}
</span>
<div
:title=
"showName"
style=
"text-overflow:ellipsis;overflow: hidden;white-space: nowrap;font-size: 14px;max-width: 300px"
><span
class=
"panel-name"
>
{{
panelInfo
.
name
||
'测试仪表板'
}}
</span>
<span
v-if=
"panelInfo.isDefault"
style=
"color: green;font-size: 12px"
...
...
@@ -49,41 +52,47 @@
v-if=
"!hasStar && panelInfo && showType !== 1&&panelInfo.status==='publish'"
style=
"margin-left: 9px"
>
<el-tooltip
:content=
"$t('panel.store')"
>
<i
class=
"el-icon-star-off"
@
click=
"star"
/>
</el-tooltip>
</span>
<el-tooltip
:content=
"$t('panel.store')"
>
<i
class=
"el-icon-star-off"
@
click=
"star"
/>
</el-tooltip>
</span>
<span
v-if=
"hasStar && panelInfo && showType !== 1&&panelInfo.status==='publish'"
style=
"margin-left: 9px"
>
<el-tooltip
:content=
"$t('commons.cancel') + $t('panel.store')"
>
<i
class=
"el-icon-star-on"
@
click=
"unstar"
/>
</el-tooltip>
</span>
<el-tooltip
:content=
"$t('commons.cancel') + $t('panel.store')"
>
<i
class=
"el-icon-star-on"
@
click=
"unstar"
/>
</el-tooltip>
</span>
<template
v-if=
"panelInfo.creatorName"
>
<el-divider
style=
"margin: 0 16px;"
direction=
"vertical"
/>
<span
:title=
"panelInfo.creatorName"
class=
"panel-create"
>
{{
$t
(
'panel.create_by'
)
+
':'
+
panelInfo
.
creatorName
}}
</span>
<span
:title=
"panelInfo.creatorName"
class=
"panel-create"
>
{{
$t
(
'panel.create_by'
)
+
':'
+
panelInfo
.
creatorName
}}
</span>
</
template
>
<el-popover
placement=
"right-start"
width=
"400"
trigger=
"click"
>
<panel-detail-info/>
<svg-icon
slot=
"reference"
style=
"margin-left: 4px;cursor: pointer;font-size: 14px;"
class=
"icon-class"
icon-class=
"icon_info_outlined"
<panel-detail-info
/>
<svg-icon
slot=
"reference"
style=
"margin-left: 4px;cursor: pointer;font-size: 14px;"
class=
"icon-class"
icon-class=
"icon_info_outlined"
/>
</el-popover>
</div>
...
...
@@ -433,14 +442,14 @@ export default {
}
},
computed
:
{
showName
(){
showName
()
{
let
name
=
this
.
panelInfo
.
name
||
'测试仪表板'
if
(
this
.
panelInfo
.
isDefault
)
{
name
=
name
+
'('
+
this
.
$t
(
'panel.default_panel_name'
)
+
':'
+
this
.
panelInfo
.
defaultPanelName
+
')'
if
(
this
.
panelInfo
.
isDefault
)
{
name
=
name
+
'('
+
this
.
$t
(
'panel.default_panel_name'
)
+
':'
+
this
.
panelInfo
.
defaultPanelName
+
')'
}
if
(
this
.
panelInfo
.
sourcePanelName
)
{
name
=
name
+
'('
+
this
.
$t
(
'panel.source_panel_name'
)
+
':'
+
this
.
panelInfo
.
sourcePanelName
+
')'
if
(
this
.
panelInfo
.
sourcePanelName
)
{
name
=
name
+
'('
+
this
.
$t
(
'panel.source_panel_name'
)
+
':'
+
this
.
panelInfo
.
sourcePanelName
+
')'
}
return
name
},
...
...
src/views/panel/template/component/TemplateList.vue
查看文件 @
05c78451
...
...
@@ -47,7 +47,7 @@
@
command=
"(type) => clickMore(type, ele)"
>
<span
class=
"el-dropdown-link"
>
<i
class=
"el-icon-more"
/>
<i
class=
"el-icon-more"
/>
</span>
<el-dropdown-menu
slot=
"dropdown"
...
...
src/views/system/datasource/ApiHttpRequestForm.vue
查看文件 @
05c78451
...
...
@@ -37,23 +37,34 @@
</el-tab-pane>
<!--query 参数-->
<el-tab-pane
:label=
"$t('datasource.query_param')"
name=
"parameters"
>
<el-tooltip
class=
"item-tabs"
effect=
"dark"
:content=
"$t('datasource.query_info')"
placement=
"top-start"
slot=
"label"
>
<span>
{{
$t
(
'datasource.query_param'
)
}}
<div
class=
"el-step__icon is-text ms-api-col ms-header"
v-if=
"request.arguments.length>1"
>
<div
class=
"el-step__icon-inner"
>
{{
request
.
arguments
.
length
-
1
}}
</div>
</div>
</span>
<el-tab-pane
:label=
"$t('datasource.query_param')"
name=
"parameters"
>
<el-tooltip
slot=
"label"
class=
"item-tabs"
effect=
"dark"
:content=
"$t('datasource.query_info')"
placement=
"top-start"
>
<span>
{{
$t
(
'datasource.query_param'
)
}}
<div
v-if=
"request.arguments.length>1"
class=
"el-step__icon is-text ms-api-col ms-header"
>
<div
class=
"el-step__icon-inner"
>
{{
request
.
arguments
.
length
-
1
}}
</div>
</div>
</span>
</el-tooltip>
<api-variable
@
editScenarioAdvance=
"editScenarioAdvance"
:scenario-definition=
"scenarioDefinition"
v-if=
"activeName === 'parameters'"
:with-more-setting=
"true"
:is-read-only=
"isReadOnly"
:is
ShowE
nable=
"isShowEnable"
:is
-show-e
nable=
"isShowEnable"
:parameters=
"request.arguments"
v-if=
"activeName === 'parameters'
"
@
editScenarioAdvance=
"editScenarioAdvance
"
/>
</el-tab-pane>
...
...
src/views/system/datasource/DsAppForm.vue
查看文件 @
05c78451
...
...
@@ -800,7 +800,7 @@ export default {
data
.
request
=
JSON
.
stringify
(
data
.
request
)
this
.
loading
=
true
this
.
disabledNext
=
true
checkApiDatasource
({
'data'
:
Base64
.
encode
(
JSON
.
stringify
(
data
))
}).
then
(
res
=>
{
checkApiDatasource
({
'data'
:
Base64
.
encode
(
JSON
.
stringify
(
data
))
}).
then
(
res
=>
{
this
.
loading
=
false
this
.
disabledNext
=
false
this
.
apiItem
.
status
=
'Success'
...
...
@@ -858,7 +858,7 @@ export default {
const
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
apiItem
))
data
.
request
=
JSON
.
stringify
(
data
.
request
)
this
.
loading
=
true
checkApiDatasource
({
'data'
:
Base64
.
encode
(
JSON
.
stringify
(
data
))
}).
then
(
res
=>
{
checkApiDatasource
({
'data'
:
Base64
.
encode
(
JSON
.
stringify
(
data
))
}).
then
(
res
=>
{
this
.
loading
=
false
this
.
$success
(
i18n
.
t
(
'commons.success'
))
this
.
apiItem
.
fields
=
res
.
data
.
fields
...
...
src/views/system/datasource/DsConfiguration.vue
查看文件 @
05c78451
...
...
@@ -71,7 +71,10 @@
popper-class="api-table-delete"
trigger="click"
>
<svg-icon
:disabled=
"disabled"
icon-class=
"icon_info_filled"
/>
<svg-icon
:disabled=
"disabled"
icon-class=
"icon_info_filled"
/>
<div
class=
"tips"
>
{{
$t
(
'datasource.delete_this_item'
)
}}
</div>
...
...
@@ -541,8 +544,8 @@
:label=
"$t('datasource.isUseJsonPath')"
>
<el-input
:disabled=
"!apiItem.useJsonPath"
v-model=
"apiItem.jsonPath"
:disabled=
"!apiItem.useJsonPath"
:placeholder=
"$t('datasource.jsonpath_info')"
class=
"input-with-select"
size=
"small"
...
...
@@ -562,18 +565,24 @@
</el-select>
<el-button
:disabled=
"!apiItem.useJsonPath"
slot=
"append"
:disabled=
"!apiItem.useJsonPath"
@
click=
"showApiData"
>
{{ $t('datasource.show_api_data') }}
</el-button>
</el-input>
</el-form-item>
<div
class=
"row-rules"
v-show=
"apiItem.useJsonPath"
>
<div
v-show=
"apiItem.useJsonPath"
class=
"row-rules"
>
<span>
{{ $t('datasource.column_info') }}
</span>
</div>
<div
class=
"table-container de-svg-in-table"
v-show=
"apiItem.useJsonPath"
>
<div
v-show=
"apiItem.useJsonPath"
class=
"table-container de-svg-in-table"
>
<el-table
ref=
"apiItemTable"
:data=
"originFieldItem.jsonFields"
...
...
@@ -1085,7 +1094,7 @@ export default {
originFieldItem
:
{
jsonFields
:
[],
fields
:
[]
}
,
}
}
},
methods
:
{
...
...
@@ -1151,7 +1160,7 @@ export default {
const
data
=
Base64
.
encode
(
JSON
.
stringify
(
this
.
apiItem
))
this
.
loading
=
true
this
.
disabledNext
=
true
checkApiDatasource
({
'data'
:
data
})
checkApiDatasource
({
'data'
:
data
})
.
then
((
res
)
=>
{
this
.
loading
=
false
this
.
disabledNext
=
false
...
...
@@ -1174,16 +1183,16 @@ export default {
})
}
},
showApiData
(){
showApiData
()
{
this
.
$refs
.
apiItemBasicInfo
.
validate
((
valid
)
=>
{
if
(
valid
)
{
const
data
=
Base64
.
encode
(
JSON
.
stringify
(
this
.
apiItem
))
this
.
loading
=
true
checkApiDatasource
({
'data'
:
data
,
'type'
:
'apiStructure'
})
checkApiDatasource
({
'data'
:
data
,
'type'
:
'apiStructure'
})
.
then
((
res
)
=>
{
res
.
data
.
jsonFields
.
forEach
((
(
item
)
=>
{
res
.
data
.
jsonFields
.
forEach
((
item
)
=>
{
item
.
checked
=
false
})
)
})
this
.
originFieldItem
.
jsonFields
=
res
.
data
.
jsonFields
this
.
loading
=
false
this
.
$success
(
i18n
.
t
(
'commons.success'
))
...
...
@@ -1227,10 +1236,10 @@ export default {
for
(
let
i
=
0
;
i
<
this
.
form
.
apiConfiguration
.
length
;
i
++
)
{
if
(
this
.
form
.
apiConfiguration
[
i
].
serialNumber
===
this
.
apiItem
.
serialNumber
)
{
this
.
certinKey
=
!
this
.
certinKey
if
(
this
.
form
.
apiConfiguration
[
i
].
name
!==
this
.
apiItem
.
name
)
{
if
(
this
.
form
.
apiConfiguration
[
i
].
name
!==
this
.
apiItem
.
name
)
{
this
.
apiItem
.
reName
=
true
this
.
apiItem
.
orgName
=
this
.
form
.
apiConfiguration
[
i
].
name
}
else
{
}
else
{
this
.
apiItem
.
reName
=
false
}
this
.
form
.
apiConfiguration
[
i
]
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
apiItem
))
...
...
src/views/system/datasource/DsForm.vue
查看文件 @
05c78451
...
...
@@ -46,13 +46,13 @@
<div
style=
"height: calc(100% - 56px)"
>
<DsFormContent
ref=
"DsFormContent"
@
editeTodisable=
"backToList"
:outer-params=
"outerParams"
:reference-position=
"referencePosition"
:form-type
.
sync=
"formType"
:type-map
.
sync=
"typeMap"
:can-edit
.
sync=
"canEdit"
:form-loading
.
sync=
"formLoading"
@
editeTodisable=
"backToList"
@
refreshType=
"refreshType"
@
closeDraw=
"closeDraw"
@
setParams=
"setParams"
...
...
@@ -96,7 +96,7 @@ export default {
},
tips
()
{
const
{
id
,
showModel
}
=
this
.
params
if
(
showModel
===
'copy'
)
{
if
(
showModel
===
'copy'
)
{
return
this
.
$t
(
'datasource.copy'
)
}
return
id
&&
showModel
===
'show'
&&
!
this
.
canEdit
...
...
src/views/system/datasource/DsFormContent.vue
查看文件 @
05c78451
...
...
@@ -71,8 +71,8 @@
</el-form>
<div
class=
"de-row-rules"
>
<span>
{{
positionCheck
(
'appMarket'
)
?
$t
(
'app_template.datasource_info'
)
:
$t
(
'datasource.basic_info'
)
}}
</span>
positionCheck
(
'appMarket'
)
?
$t
(
'app_template.datasource_info'
)
:
$t
(
'datasource.basic_info'
)
}}
</span>
</div>
<el-form
ref=
"historyDsForm"
...
...
@@ -122,25 +122,25 @@
<span
v-if=
"
item.status !== 'Error' &&
item.status !== 'Warning'
"
item.status !== 'Warning'
"
>
<svg-icon
icon-class=
"db-de"
/>
</span>
<svg-icon
icon-class=
"db-de"
/>
</span>
<span
v-if=
"item.status === 'Error'"
>
<svg-icon
icon-class=
"de-ds-error"
class=
"ds-icon-scene"
/>
</span>
<svg-icon
icon-class=
"de-ds-error"
class=
"ds-icon-scene"
/>
</span>
<span
v-if=
"item.status === 'Warning'"
>
<svg-icon
icon-class=
"de-ds-warning"
class=
"ds-icon-scene"
/>
</span>
<svg-icon
icon-class=
"de-ds-warning"
class=
"ds-icon-scene"
/>
</span>
<span>
{{
item
.
name
}}
</span>
...
...
@@ -273,7 +273,7 @@
formType === 'add'
? true
: (hasDataPermission('manage', outerParams.panelPrivileges)
||hasDataPermission('manage', outerParams.datasetPrivileges))
||hasDataPermission('manage', outerParams.datasetPrivileges))
"
@
click=
"validaDatasource"
>
{{
$t
(
'commons.validate'
)
}}
...
...
@@ -840,16 +840,16 @@ export default {
},
saveAppMarketHistory
()
{
this
.
$refs
.
historyDsForm
.
validate
(
valid
=>
{
if
(
!
valid
)
{
return
false
}
const
appApplyForm
=
{
...
this
.
attachForm
,
...
this
.
historyDsForm
}
const
method
=
this
.
formType
===
'add'
?
appApply
:
appEdit
this
.
appApplyMethod
(
method
,
appApplyForm
)
if
(
!
valid
)
{
return
false
}
const
appApplyForm
=
{
...
this
.
attachForm
,
...
this
.
historyDsForm
}
const
method
=
this
.
formType
===
'add'
?
appApply
:
appEdit
this
.
appApplyMethod
(
method
,
appApplyForm
)
}
)
},
save
()
{
...
...
@@ -996,10 +996,10 @@ export default {
}
if
(
this
.
positionCheck
(
'appMarket'
))
{
this
.
$refs
.
attachParamsForm
.
validate
(
valid
=>
{
if
(
!
valid
)
{
return
false
}
if
(
!
valid
)
{
return
false
}
}
)
}
this
.
$refs
.
dsForm
.
validate
((
valid
)
=>
{
...
...
@@ -1116,7 +1116,7 @@ export default {
},
reloadStatus
(
statusMap
=
{})
{
this
.
form
.
apiConfiguration
.
forEach
(
ele
=>
{
ele
.
status
=
statusMap
[
ele
.
name
]
||
ele
.
status
ele
.
status
=
statusMap
[
ele
.
name
]
||
ele
.
status
})
},
validaDatasource
()
{
...
...
@@ -1151,10 +1151,10 @@ export default {
}
if
(
this
.
positionCheck
(
'appMarket'
))
{
this
.
$refs
.
attachParamsForm
.
validate
(
valid
=>
{
if
(
!
valid
)
{
return
false
}
if
(
!
valid
)
{
return
false
}
}
)
}
this
.
$refs
.
dsForm
.
validate
((
valid
)
=>
{
...
...
src/views/system/datasource/DsTable.vue
查看文件 @
05c78451
...
...
@@ -22,8 +22,8 @@
<div
class=
"ds-top"
>
<deBtn
v-if=
"privileges && canEdit"
secondary
key=
"cancel"
secondary
@
click=
"editDatasource(false)"
>
{{
$t
(
'commons.cancel'
)
}}
</deBtn>
...
...
@@ -64,11 +64,11 @@
</div>
<div
style=
"height: calc(100% - 36px)"
>
<ds-form-content
@
editeTodisable=
"editDatasource"
:canEdit=
"canEdit"
ref=
"DsFormContent"
@
refresh-type=
"refreshType
"
:can-edit=
"canEdit
"
:config-from-tabs=
"configFromTabs"
@
editeTodisable=
"editDatasource"
@
refresh-type=
"refreshType"
/>
</div>
</
template
>
...
...
@@ -90,7 +90,7 @@ export default {
data
()
{
return
{
activeName
:
'detail'
,
canEdit
:
false
,
canEdit
:
false
}
},
computed
:
{
...
...
src/views/system/datasource/DsTree.vue
查看文件 @
05c78451
...
...
@@ -173,7 +173,10 @@
<i
class=
"el-icon-edit"
/>
{{ $t('chart.edit') }}
</el-dropdown-item>
<el-dropdown-item
command=
"copy"
v-show=
"showView === 'Datasource'"
>
<el-dropdown-item
v-show=
"showView === 'Datasource'"
command=
"copy"
>
<svg-icon
icon-class=
"de-copy"
class=
"de-copy-icon"
...
...
@@ -432,7 +435,7 @@ export default {
},
methods
:
{
getDatasourceRelationship
({
queryType
,
label
,
id
})
{
return
getDatasourceRelationship
(
id
).
then
((
res
)
=>
{
return
getDatasourceRelationship
(
id
).
then
((
res
)
=>
{
const
arr
=
res
.
data
||
[]
this
.
treeData
=
[]
this
.
dfsTree
(
arr
,
{
queryType
,
label
})
...
...
@@ -713,7 +716,7 @@ export default {
this
.
dialogTitle
=
this
.
$t
(
'datasource.edit_driver'
)
this
.
driverForm
=
{
...
row
}
},
_handleCopy
(
row
){
_handleCopy
(
row
)
{
if
(
this
.
showView
===
'Datasource'
)
{
const
param
=
{
...
row
,
...{
showModel
:
'copy'
}}
this
.
switchMain
(
'DsForm'
,
param
,
this
.
tData
,
this
.
dsTypes
)
...
...
src/views/system/datasource/MsgContent.vue
查看文件 @
05c78451
<
template
>
<div>
<span>
{{
someProp
.
title
}}
</span>
<br
/
>
<br>
<span
class=
"use-html"
>
{{
someProp
.
content
}}
</span>
<br
/>
<span
@
click=
"change"
class=
"link-msg"
>
{{
someProp
.
link
}}
</span>
<br>
<span
class=
"link-msg"
@
click=
"change"
>
{{
someProp
.
link
}}
</span>
</div>
</
template
>
<
script
>
...
...
@@ -13,7 +16,7 @@ export default {
someProp
:
{
type
:
Object
,
default
:
()
=>
{}
}
,
}
},
methods
:
{
change
()
{
...
...
@@ -27,4 +30,4 @@ export default {
color
:
#307eff
;
cursor
:
pointer
;
}
</
style
>
\ No newline at end of file
</
style
>
src/views/system/relationship/consanguinity.vue
查看文件 @
05c78451
<
template
>
<div
:style=
"chartSize"
>
<div
id=
"main"
:style=
"chartSizeMax"
></div>
<div
id=
"main"
:style=
"chartSizeMax"
/>
</div>
</
template
>
...
...
@@ -16,7 +19,7 @@ export default {
chartSize
:
{
type
:
Object
,
default
:
()
=>
{}
}
,
}
},
data
()
{
return
{
...
...
@@ -36,8 +39,8 @@ export default {
computed
:
{
chartSizeMax
()
{
const
{
height
}
=
this
.
chartSize
return
this
.
maxSize
>
parseInt
(
height
)
/
25
?
{
height
:
this
.
maxSize
*
25
+
'px'
,
return
this
.
maxSize
>
parseInt
(
height
)
/
25
?
{
height
:
this
.
maxSize
*
25
+
'px'
,
width
:
this
.
chartSize
.
width
}
:
this
.
chartSize
}
...
...
@@ -141,7 +144,7 @@ export default {
})
},
deleteRepeat
(
arr
=
[])
{
le
t
list
=
JSON
.
parse
(
JSON
.
stringify
(
arr
))
cons
t
list
=
JSON
.
parse
(
JSON
.
stringify
(
arr
))
const
repeatPanel
=
{}
list
.
forEach
((
ele
)
=>
{
if
(
ele
[
6
]
===
this
.
datasourcePanel
[
this
.
current
.
queryType
])
{
...
...
@@ -194,7 +197,7 @@ export default {
arr
.
forEach
((
ele
)
=>
{
const
[
index
,
start
,
end
,
width
,
id
,
name
,
type
,
pid
]
=
ele
if
(
type
===
this
.
datasourcePanel
[
this
.
current
.
queryType
])
{
le
t
dataset
=
dataItemListMap
[
pid
]
cons
t
dataset
=
dataItemListMap
[
pid
]
if
(
repeatPanel
[
id
])
{
repeatPanel
[
id
].
push
({
index
,
start
})
}
else
{
...
...
@@ -236,10 +239,10 @@ export default {
const
ctx
=
c
.
getContext
(
'2d'
)
ctx
.
font
=
'14px Arial'
const
dataItemList
=
[]
le
t
list
=
[]
cons
t
list
=
[]
const
repeatPanel
=
{}
le
t
max
=
{
cons
t
max
=
{
dataset
:
0
,
datasource
:
0
,
panel
:
0
...
...
@@ -248,7 +251,7 @@ export default {
const
{
queryType
,
num
,
label
}
=
this
.
current
max
[
queryType
]
=
ctx
.
measureText
(
label
).
width
+
30
if
(
!
arr
.
length
)
if
(
!
arr
.
length
)
{
return
[
[[
0
,
0
,
max
[
queryType
],
max
[
queryType
],
num
,
label
,
queryType
,
0
]],
{
...
...
@@ -257,10 +260,11 @@ export default {
panel
:
0
}
]
}
arr
.
forEach
((
ele
,
index
)
=>
{
const
{
id
,
name
,
type
,
pid
}
=
ele
le
t
width
=
ctx
.
measureText
(
name
).
width
+
30
cons
t
width
=
ctx
.
measureText
(
name
).
width
+
30
max
[
type
]
=
Math
.
max
(
width
,
max
[
type
])
dataItemList
.
push
([
width
,
id
,
name
,
type
,
pid
])
})
...
...
@@ -331,7 +335,7 @@ export default {
30
)
}
le
t
gap
=
{
cons
t
gap
=
{
dataset
:
maxGap
(
'dataset'
,
'datasource'
),
datasource
:
maxGap
(
'datasource'
,
'datasource'
),
panel
:
maxGap
(
'panel'
,
'dataset'
)
...
...
@@ -360,11 +364,11 @@ export default {
const
lineEnd
=
[
clickNode
[
0
]]
lineData
=
lineData
.
map
(
ele
=>
{
le
t
arr
=
[...
ele
]
cons
t
arr
=
[...
ele
]
if
(
clickNode
[
0
]
===
ele
[
0
])
{
arr
.
push
(
1
)
lineEnd
.
push
(
ele
[
3
])
}
else
if
(
clickNode
[
0
]
===
ele
[
3
])
{
}
else
if
(
clickNode
[
0
]
===
ele
[
3
])
{
arr
.
push
(
1
)
lineEnd
.
push
(
ele
[
0
])
}
else
{
...
...
@@ -374,20 +378,20 @@ export default {
})
data
=
data
.
map
(
ele
=>
{
le
t
arr
=
[...
ele
]
cons
t
arr
=
[...
ele
]
arr
.
push
(
Boolean
(
lineEnd
.
includes
(
ele
[
0
])))
return
arr
})
if
(
this
.
maxSize
!==
data
.
length
)
{
this
.
maxSize
=
data
.
length
return
}
le
t
option
=
{
cons
t
option
=
{
xAxis
:
{
show
:
false
,
//不显示分隔线,
show
:
false
,
//
不显示分隔线,
splitLine
:
{
show
:
false
//不显示分隔线
show
:
false
//
不显示分隔线
}
},
grid
:
{
...
...
@@ -406,7 +410,7 @@ export default {
show
:
false
,
type
:
'category'
,
splitLine
:
{
show
:
false
//不显示分隔线
show
:
false
//
不显示分隔线
}
},
series
:
[
...
...
@@ -419,11 +423,11 @@ export default {
y
:
0
},
roam
:
true
,
renderItem
:
function
(
params
,
api
)
{
le
t
categoryIndex
=
api
.
value
(
0
)
le
t
startPoint
=
api
.
coord
([
api
.
value
(
1
),
categoryIndex
])
le
t
width
=
api
.
value
(
3
)
le
t
height
=
22
renderItem
:
function
(
params
,
api
)
{
cons
t
categoryIndex
=
api
.
value
(
0
)
cons
t
startPoint
=
api
.
coord
([
api
.
value
(
1
),
categoryIndex
])
cons
t
width
=
api
.
value
(
3
)
cons
t
height
=
22
const
imageType
=
{
datasource
:
'/static/svg/de-datasource.svg'
,
...
...
@@ -431,19 +435,18 @@ export default {
dataset
:
'/static/svg/de-dataset.svg'
}
return
{
type
:
'group'
,
//当需要多个自定义拼接时,需要用group,此案例是文字和图形的拼接
type
:
'group'
,
//
当需要多个自定义拼接时,需要用group,此案例是文字和图形的拼接
children
:
[
{
type
:
'text'
,
position
:
[
startPoint
[
0
]
+
gapDetail
[
api
.
value
(
6
)],
startPoint
[
1
]
-
height
/
2
],
//相对位置
],
//
相对位置
z2
:
10
,
style
:
{
text
:
isNaN
(
api
.
value
(
5
))
?
data
.
find
(
ele
=>
ele
[
4
]
===
api
.
value
(
4
))[
5
]
:
api
.
value
(
5
),
//data中取值
text
:
isNaN
(
api
.
value
(
5
))
?
data
.
find
(
ele
=>
ele
[
4
]
===
api
.
value
(
4
))[
5
]
:
api
.
value
(
5
),
//
data中取值
color
:
'#1F2329'
,
x
:
25
,
y
:
5
...
...
@@ -503,12 +506,12 @@ export default {
y
:
[
0
,
3
]
},
roam
:
true
,
renderItem
:
function
(
params
,
api
)
{
le
t
categoryIndex
=
api
.
value
(
0
)
le
t
categoryIndex2
=
api
.
value
(
3
)
le
t
startPoint
=
api
.
coord
([
api
.
value
(
1
),
categoryIndex
])
le
t
endPoint
=
api
.
coord
([
api
.
value
(
2
),
categoryIndex2
])
le
t
height
=
20
renderItem
:
function
(
params
,
api
)
{
cons
t
categoryIndex
=
api
.
value
(
0
)
cons
t
categoryIndex2
=
api
.
value
(
3
)
cons
t
startPoint
=
api
.
coord
([
api
.
value
(
1
),
categoryIndex
])
cons
t
endPoint
=
api
.
coord
([
api
.
value
(
2
),
categoryIndex2
])
cons
t
height
=
20
function
startPointX1
()
{
if
(
api
.
value
(
5
)
===
'dataset'
)
{
...
...
@@ -526,10 +529,10 @@ export default {
}
}
le
t
x1
=
startPointX1
()
cons
t
x1
=
startPointX1
()
return
{
type
:
'group'
,
//当需要多个自定义拼接时,需要用group,此案例是文字和图形的拼接
type
:
'group'
,
//
当需要多个自定义拼接时,需要用group,此案例是文字和图形的拼接
children
:
[
{
type
:
'bezierCurve'
,
...
...
@@ -539,10 +542,10 @@ export default {
y1
:
startPoint
[
1
],
x2
:
endPoint
[
0
]
+
gapDetail
[
api
.
value
(
5
)],
y2
:
endPoint
[
1
],
cpx1
:
endPoint
[
0
]
+
gapDetail
[
api
.
value
(
5
)]
-
50
,
cpx2
:
endPoint
[
0
]
+
gapDetail
[
api
.
value
(
5
)]
-
10
,
cpy1
:
endPoint
[
1
],
cpy2
:
endPoint
[
1
],
cpx1
:
endPoint
[
0
]
+
gapDetail
[
api
.
value
(
5
)]
-
50
,
cpx2
:
endPoint
[
0
]
+
gapDetail
[
api
.
value
(
5
)]
-
10
,
cpy1
:
endPoint
[
1
],
cpy2
:
endPoint
[
1
],
percent
:
1
},
style
:
{
...
...
@@ -559,9 +562,9 @@ export default {
]
}
this
.
myChart
.
setOption
(
option
,
true
)
this
.
myChart
.
on
(
'click'
,
function
(
params
)
{
that
.
initEchart
(
params
.
value
)
})
;
this
.
myChart
.
on
(
'click'
,
function
(
params
)
{
that
.
initEchart
(
params
.
value
)
})
}
}
}
...
...
src/views/system/sysParam/BasicSetting.vue
查看文件 @
05c78451
...
...
@@ -47,7 +47,10 @@
:content=
"$t('system_parameter_setting.front_time_out')"
placement=
"top"
>
<svg-icon
class=
"tips"
icon-class=
"icon_info_outlined"
/>
<svg-icon
class=
"tips"
icon-class=
"icon_info_outlined"
/>
</el-tooltip>
</
template
>
<el-input
...
...
src/views/system/sysParam/EmailSetting.vue
查看文件 @
05c78451
...
...
@@ -90,7 +90,10 @@
:content=
"$t('system_parameter_setting.test_mail_recipient')"
placement=
"top"
>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
</el-tooltip>
</
template
>
<dePwd
...
...
@@ -106,7 +109,10 @@
:content=
"$t('system_parameter_setting.to_enable_ssl')"
placement=
"top"
>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
</el-tooltip>
</el-checkbox>
...
...
@@ -118,7 +124,10 @@
:content=
"$t('system_parameter_setting.to_enable_tsl')"
placement=
"top"
>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
<svg-icon
icon-class=
"icon_info_outlined"
class=
"tips-not-absolute"
/>
</el-tooltip>
</el-checkbox>
</el-form-item>
...
...
src/views/system/user/PasswordUpdateForm.vue
查看文件 @
05c78451
...
...
@@ -7,17 +7,30 @@
label-width=
"auto"
label-position=
"right"
>
<el-form-item
v-if=
"!oldPwd"
:label=
"$t('user.origin_passwd')"
prop=
"oldPwd"
>
<el-form-item
v-if=
"!oldPwd"
:label=
"$t('user.origin_passwd')"
prop=
"oldPwd"
>
<dePwd
v-model=
"form.oldPwd"
/>
</el-form-item>
<el-form-item
:label=
"$t('user.new_passwd')"
prop=
"newPwd"
>
<el-form-item
:label=
"$t('user.new_passwd')"
prop=
"newPwd"
>
<dePwd
v-model=
"form.newPwd"
/>
</el-form-item>
<el-form-item
:label=
"$t('user.confirm_passwd')"
prop=
"repeatPwd"
>
<el-form-item
:label=
"$t('user.confirm_passwd')"
prop=
"repeatPwd"
>
<dePwd
v-model=
"form.repeatPwd"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"save"
>
{{
<el-button
type=
"primary"
@
click=
"save"
>
{{
$t
(
'commons.confirm'
)
}}
</el-button>
</el-form-item>
...
...
@@ -34,7 +47,7 @@ export default {
props
:
{
oldPwd
:
{
type
:
String
,
default
:
""
default
:
''
}
},
data
()
{
...
...
src/views/system/user/PersonPwd.vue
查看文件 @
05c78451
...
...
@@ -23,7 +23,7 @@ export default {
},
created
()
{
this
.
$store
.
dispatch
(
'app/toggleSideBarHide'
,
true
)
}
,
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
src/views/system/user/index.vue
查看文件 @
05c78451
...
...
@@ -126,8 +126,8 @@
@
current-change=
"handleCurrentChange"
>
<el-table-column
prop=
"username"
key=
"username"
prop=
"username"
label=
"ID"
/>
<el-table-column
...
...
@@ -139,8 +139,8 @@
/>
<!-- <el-table-column prop="gender" :label="$t('commons.gender')" width="60" /> -->
<el-table-column
prop=
"from"
key=
"from"
prop=
"from"
:label=
"$t('user.source')"
width=
"80"
>
...
...
@@ -261,7 +261,10 @@
popper-class=
"reset-pwd"
trigger=
"click"
>
<svg-icon
class=
"reset-pwd-icon"
icon-class=
"icon_info_filled"
/>
<svg-icon
class=
"reset-pwd-icon"
icon-class=
"icon_info_filled"
/>
<div
class=
"tips"
>
{{
$t
(
'user.recover_pwd'
)
}}
</div>
<div
class=
"editer-form-title"
>
<span
...
...
src/views/wizard/index.vue
查看文件 @
05c78451
...
...
@@ -30,12 +30,12 @@
/>
</el-row>
<el-row
class=
"top_banner_card"
>
<wizard-card
:details=
"cardList[0]"
/>
<wizard-card
:details=
"cardList[0]"
/>
<wizard-card
:details=
"cardList[1]"
style=
"margin:0 24px 0 24px"
/>
<wizard-card-enterprise
:details=
"cardList[2]"
/>
<wizard-card-enterprise
:details=
"cardList[2]"
/>
</el-row>
<el-row
class=
"content_middle"
>
<div
class=
"content_middle_left"
>
...
...
@@ -44,15 +44,15 @@
<div
class=
"content_middle_more"
><a
target=
"_blank"
href=
"https://space.bilibili.com/510493147/channel/collectiondetail?sid=262774"
>
{{
$t
(
'wizard.more'
)
}}
<i
class=
"el-icon-arrow-right"
/></a></div>
>
{{
$t
(
'wizard.more'
)
}}
<i
class=
"el-icon-arrow-right"
/></a></div>
</el-row>
<el-row
style=
"margin-top: 12px"
>
<video-card
:details=
"videoList[0]"
/>
<video-card
:details=
"videoList[0]"
/>
<video-card
style=
"margin:0 12px 0 12px"
:details=
"videoList[1]"
/>
<video-card
:details=
"videoList[2]"
/>
<video-card
:details=
"videoList[2]"
/>
</el-row>
</div>
<div
class=
"content_middle_right"
>
...
...
@@ -61,7 +61,7 @@
<div
class=
"content_middle_more"
><a
target=
"_blank"
href=
"https://blog.fit2cloud.com/categories/dataease"
>
{{
$t
(
'wizard.more'
)
}}
<i
class=
"el-icon-arrow-right"
/></a></div>
>
{{
$t
(
'wizard.more'
)
}}
<i
class=
"el-icon-arrow-right"
/></a></div>
</el-row>
<el-row>
<ul
class=
"ul-custom"
>
...
...
@@ -93,17 +93,17 @@
</el-row>
<el-row
class=
"contact_content"
>
{{
$t
(
'wizard.web'
)
}}
<a
style=
"text-decoration:underline;"
target=
"_blank"
href=
"https://www.dataease.io"
>
www.dataease.io
</a>
style=
"text-decoration:underline;"
target=
"_blank"
href=
"https://www.dataease.io"
>
www.dataease.io
</a>
</el-row>
<el-row
class=
"contact_content"
>
{{
$t
(
'wizard.bbs'
)
}}
<a
style=
"text-decoration:underline;"
target=
"_blank"
href=
"https://bbs.fit2cloud.com/c/de"
>
https://bbs.fit2cloud.com/c/de
</a>
style=
"text-decoration:underline;"
target=
"_blank"
href=
"https://bbs.fit2cloud.com/c/de"
>
https://bbs.fit2cloud.com/c/de
</a>
</el-row>
</div>
...
...
vue.config.js
查看文件 @
05c78451
"use strict"
;
const
path
=
require
(
"path"
);
const
defaultSettings
=
require
(
"./src/settings.js"
);
'use strict'
const
path
=
require
(
'path'
)
const
defaultSettings
=
require
(
'./src/settings.js'
)
const
pkg
=
require
(
"./package.json"
);
const
pkg
=
require
(
'./package.json'
)
const
CopyWebpackPlugin
=
require
(
"copy-webpack-plugin"
);
const
CopyWebpackPlugin
=
require
(
'copy-webpack-plugin'
)
// const CompressionPlugin = require('compression-webpack-plugin')
const
webpack
=
require
(
"webpack"
);
const
AddAssetHtmlPlugin
=
require
(
"add-asset-html-webpack-plugin"
);
const
webpack
=
require
(
'webpack'
)
const
AddAssetHtmlPlugin
=
require
(
'add-asset-html-webpack-plugin'
)
function
resolve
(
dir
)
{
return
path
.
join
(
__dirname
,
dir
)
;
return
path
.
join
(
__dirname
,
dir
)
}
const
name
=
defaultSettings
.
title
||
"vue Admin Template"
;
// page title
const
name
=
defaultSettings
.
title
||
'vue Admin Template'
// page title
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
9528
;
// dev port
const
parallel
=
process
.
env
.
NODE_ENV
===
"development"
;
const
port
=
process
.
env
.
port
||
process
.
env
.
npm_config_port
||
9528
// dev port
const
parallel
=
process
.
env
.
NODE_ENV
===
'development'
module
.
exports
=
{
productionSourceMap
:
true
,
parallel
,
...
...
@@ -23,78 +23,78 @@ module.exports = {
devServer
:
{
port
:
port
,
proxy
:
{
"^(?!/login)"
:
{
target
:
"http://192.168.1.100:8081/"
,
ws
:
true
,
}
,
'^(?!/login)'
:
{
target
:
'http://192.168.1.100:8081/'
,
ws
:
true
}
},
open
:
true
,
overlay
:
{
warnings
:
false
,
errors
:
true
,
}
,
errors
:
true
}
},
pages
:
{
index
:
{
entry
:
"src/main.js"
,
template
:
"public/index.html"
,
filename
:
"index.html"
,
}
,
entry
:
'src/main.js'
,
template
:
'public/index.html'
,
filename
:
'index.html'
}
},
configureWebpack
:
{
name
:
name
,
devtool
:
"source-map"
,
devtool
:
'source-map'
,
resolve
:
{
alias
:
{
"@"
:
resolve
(
"src"
),
}
,
'@'
:
resolve
(
'src'
)
}
},
output
:
process
.
env
.
NODE_ENV
===
"development"
process
.
env
.
NODE_ENV
===
'development'
?
{}
:
{
filename
:
`js/[name].[contenthash:8].
${
pkg
.
version
}
.js`
,
publicPath
:
"/"
,
chunkFilename
:
`js/[name].[contenthash:8].
${
pkg
.
version
}
.js`
,
},
filename
:
`js/[name].[contenthash:8].
${
pkg
.
version
}
.js`
,
publicPath
:
'/'
,
chunkFilename
:
`js/[name].[contenthash:8].
${
pkg
.
version
}
.js`
},
plugins
:
[
new
CopyWebpackPlugin
([
{
from
:
path
.
join
(
__dirname
,
"static"
),
to
:
path
.
join
(
__dirname
,
"dist/static"
),
}
,
from
:
path
.
join
(
__dirname
,
'static'
),
to
:
path
.
join
(
__dirname
,
'dist/static'
)
}
]),
new
webpack
.
DllReferencePlugin
({
context
:
process
.
cwd
(),
manifest
:
require
(
"./public/vendor/vendor-manifest.json"
),
manifest
:
require
(
'./public/vendor/vendor-manifest.json'
)
}),
// 将 dll 注入到 生成的 html 模板中
new
AddAssetHtmlPlugin
({
// dll文件位置
filepath
:
path
.
resolve
(
__dirname
,
"./public/vendor/*.js"
),
filepath
:
path
.
resolve
(
__dirname
,
'./public/vendor/*.js'
),
// dll 引用路径
publicPath
:
"./vendor"
,
publicPath
:
'./vendor'
,
// dll最终输出的目录
outputPath
:
"./vendor"
,
})
,
]
,
outputPath
:
'./vendor'
})
]
},
chainWebpack
:
(
config
)
=>
{
config
.
module
.
rules
.
delete
(
"svg"
);
// 删除默认配置中处理svg,
config
.
module
.
rules
.
delete
(
'svg'
)
// 删除默认配置中处理svg,
// const svgRule = config.module.rule('svg')
// svgRule.uses.clear()
config
.
module
.
rule
(
"svg-sprite-loader"
)
.
rule
(
'svg-sprite-loader'
)
.
test
(
/
\.
svg$/
)
.
include
.
add
(
resolve
(
"src/icons"
))
// 处理svg目录
.
include
.
add
(
resolve
(
'src/icons'
))
// 处理svg目录
.
end
()
.
use
(
"svg-sprite-loader"
)
.
loader
(
"svg-sprite-loader"
)
.
use
(
'svg-sprite-loader'
)
.
loader
(
'svg-sprite-loader'
)
.
options
({
symbolId
:
"icon-[name]"
,
})
;
if
(
process
.
env
.
NODE_ENV
===
"production"
)
{
symbolId
:
'icon-[name]'
})
if
(
process
.
env
.
NODE_ENV
===
'production'
)
{
/* config.plugin('compressionPlugin').use(new CompressionPlugin({
test: /\.(js|css|less)$/, // 匹配文件名
threshold: 10240, // 对超过10k的数据压缩
...
...
@@ -104,24 +104,24 @@ module.exports = {
}
config
.
module
.
rule
(
"icons"
)
.
rule
(
'icons'
)
.
test
(
/
\.
svg$/
)
.
include
.
add
(
resolve
(
"src/deicons"
))
.
include
.
add
(
resolve
(
'src/deicons'
))
.
end
()
.
use
(
"svg-sprite-loader"
)
.
loader
(
"svg-sprite-loader"
)
.
use
(
'svg-sprite-loader'
)
.
loader
(
'svg-sprite-loader'
)
.
options
({
symbolId
:
"[name]"
,
})
;
symbolId
:
'[name]'
})
},
css
:
{
loaderOptions
:
{
sass
:
{
prependData
:
`@import "@/style/index.scss"`
,
}
,
prependData
:
`@import "@/style/index.scss"`
}
},
extract
:
{
ignoreOrder
:
true
,
}
,
}
,
}
;
ignoreOrder
:
true
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论