Merge branch 'dev' of github.com:dataease/dataease into dev

This commit is contained in:
taojinlong 2022-07-06 13:50:14 +08:00
commit c18dcd7ab8
14 changed files with 507 additions and 42 deletions

View File

@ -230,7 +230,7 @@
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-core</artifactId>
<version>8.3.0.18-1084</version>
<version>8.3.0.18-1112</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@ -241,7 +241,7 @@
<dependency>
<groupId>pentaho-kettle</groupId>
<artifactId>kettle-engine</artifactId>
<version>8.3.0.18-1084</version>
<version>8.3.0.18-1112</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@ -256,7 +256,7 @@
<dependency>
<groupId>pentaho</groupId>
<artifactId>metastore</artifactId>
<version>8.3.0.18-1084</version>
<version>8.3.0.18-1112</version>
</dependency>
<dependency>
<groupId>org.pentaho.di.plugins</groupId>

View File

@ -3,10 +3,10 @@
<div class="switch-position">
<el-radio-group v-model="mobileLayoutInitStatus" size="mini" @change="openMobileLayout">
<el-radio-button :label="false">
<svg-icon icon-class="icon_pc_outlined" class="toolbar-icon-active text16" />
<span class="icon iconfont icon-icon_pc_outlined icon16_only" />
</el-radio-button>
<el-radio-button :label="true">
<svg-icon icon-class="icon_phone_outlined" class="toolbar-icon-active text16" />
<span class="icon iconfont icon-icon_phone_outlined icon16_only" />
</el-radio-button>
</el-radio-group>
</div>
@ -47,14 +47,14 @@
<el-divider style="margin-left: 20px" direction="vertical" />
<span class="button_self">
<el-dropdown :hide-on-click="false" trigger="click" placement="bottom-start">
<span class="icon iconfont icon-gengduo insert margin-right20">
<span class="icon iconfont icon-icon-more insert margin-right20">
<span class="icon-font-margin">{{ $t('panel.more') }}</span>
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item>
<el-dropdown placement="right-start">
<span>
<svg-icon icon-class="icon_moments-categories_outlined" class="toolbar-icon-active text16" @click="clickPreview" />
<span class="icon iconfont icon-icon_moments-categories_outlined icon16" />
<span class="text14 margin-left8">{{ $t('panel.new_element_distribution') }}</span>
<svg-icon icon-class="icon_right_outlined" class="icon16 margin-left8" />
</span>
@ -71,25 +71,25 @@
</el-dropdown>
</el-dropdown-item>
<el-dropdown-item>
<svg-icon icon-class="icon_dialpad_outlined" class="icon16" />
<span class="icon iconfont icon-icon_dialpad_outlined icon16" />
<span class="text14 margin-left8">{{ $t('panel.aided_grid') }}</span>
<el-switch v-model="showGridSwitch" class="margin-left8" size="mini" @change="showGridChange" />
</el-dropdown-item>
<el-dropdown-item @click.native="openOuterParamsSet">
<svg-icon icon-class="icon-quicksetting" class="icon16" />
<span class="icon iconfont icon-icon-quicksetting icon16" />
<span class="text14 margin-left8">{{ $t('panel.params_setting') }}</span>
</el-dropdown-item>
<el-dropdown-item @click.native="clearCanvas">
<svg-icon icon-class="icon_clear_outlined" class="icon16" />
<span class="icon iconfont icon-icon_clear_outlined icon16" />
<span class="text14 margin-left8">{{ $t('panel.clean_canvas') }}</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</span>
<span class="icon iconfont icon-magic-line insert margin-right20" @click="showPanel">
<span class="icon iconfont icon-icon_effects_outlined insert margin-right20" @click="showPanel">
<span class="icon-font-margin">{{ $t('panel.panel_style') }}</span>
</span>
<span class="icon iconfont icon-piliang-copy insert margin-right20" @click="batchOption"><span
<span class="icon iconfont icon-icon_Batch_outlined insert margin-right20" @click="batchOption"><span
class="icon-font-margin"
>{{ $t('panel.batch_opt') }}</span></span>
<span style="float: right;margin-right: 24px">
@ -137,9 +137,6 @@ import { deepCopy, mobile2MainCanvas } from '@/components/canvas/utils/utils'
import { panelUpdate } from '@/api/panel/panel'
import { saveLinkage, getPanelAllLinkageInfo } from '@/api/panel/linkage'
import bus from '@/utils/bus'
import {
DEFAULT_COMMON_CANVAS_STYLE_STRING
} from '@/views/panel/panel'
import { queryPanelJumpInfo } from '@/api/panel/linkJump'
export default {
@ -595,7 +592,7 @@ export default {
.switch-position {
position: absolute;
top: 13px;
right: 50%;
left: 48%;
width: 100px;
}
@ -709,8 +706,12 @@ export default {
color: var(--TextPrimary, #1F2329);
}
.icon16_only {
font-size: 16px!important;
}
.icon16 {
font-size: 16px;
font-size: 16px!important;
color: var(--TextPrimary, #1F2329);
}

View File

@ -17,15 +17,21 @@ export default {
left: 0
},
x: 1,
y: 108,
y: 216,
sizex: 48,
sizey: 24
}
},
mutations: {
copyMultiplexingComponents(state) {
let pYMax = 0
const _this = this
state.isCut = false
state.componentData.forEach(item => {
if (item.y > pYMax) {
pYMax = item.y
}
})
const canvasStyleData = state.canvasStyleData
const curCanvasScale = state.curCanvasScale
const componentGap = state.componentGap
@ -33,7 +39,7 @@ export default {
const component =
{
...deepCopy(state.curMultiplexingComponents[viewId]),
...deepCopy(state.viewBase),
...deepCopy(deepCopy(state.viewBase)),
'auxiliaryMatrix': canvasStyleData.auxiliaryMatrix
}
@ -43,6 +49,8 @@ export default {
const width = component.sizex * curCanvasScale.matrixStyleOriginWidth
// 取余 平铺4个 此处x 位置偏移
component.x = component.x + component.sizex * tilePosition
// Y 方向根据当前应该放置的最大值 加上50矩阵余量
component.y = pYMax + 50 + state.viewBase.sizex * divisiblePosition
component.style.left = (component.x - 1) * curCanvasScale.matrixStyleOriginWidth
component.style.top = (component.y - 1) * curCanvasScale.matrixStyleOriginHeight
component.style.width = width
@ -85,17 +93,7 @@ export default {
data.style.top += 20
data.style.left += 20
}
// if (isMouse) {
// data.style.top = state.menuTop
// data.style.left = state.menuLeft
// } else {
// data.style.top += 10
// data.style.left += 10
// }
data.id = generateID()
// 如果是用户视图 测先进行底层复制
if (data.type === 'view') {
chartCopy(data.propValue.viewId, state.panel.panelInfo.id).then(res => {

View File

@ -54,6 +54,84 @@
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe630;</span>
<div class="name">icon_Batch_outlined</div>
<div class="code-name">&amp;#xe630;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61d;</span>
<div class="name">icon_clear_outlined</div>
<div class="code-name">&amp;#xe61d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61e;</span>
<div class="name">icon_dialpad_outlined</div>
<div class="code-name">&amp;#xe61e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe620;</span>
<div class="name">icon_effects_outlined</div>
<div class="code-name">&amp;#xe620;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe621;</span>
<div class="name">icon_magnify_outlined</div>
<div class="code-name">&amp;#xe621;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe623;</span>
<div class="name">icon_moments-categories_outlined</div>
<div class="code-name">&amp;#xe623;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe626;</span>
<div class="name">icon_pc_outlined</div>
<div class="code-name">&amp;#xe626;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe627;</span>
<div class="name">icon_phone_outlined</div>
<div class="code-name">&amp;#xe627;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe629;</span>
<div class="name">icon_redo_outlined</div>
<div class="code-name">&amp;#xe629;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe62b;</span>
<div class="name">icon_undo_outlined</div>
<div class="code-name">&amp;#xe62b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe62e;</span>
<div class="name">icon-more</div>
<div class="code-name">&amp;#xe62e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe62f;</span>
<div class="name">icon-quicksetting</div>
<div class="code-name">&amp;#xe62f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe73e;</span>
<div class="name">square-selected</div>
<div class="code-name">&amp;#xe73e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe777;</span>
<div class="name">italic</div>
@ -648,9 +726,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1655779264671') format('woff2'),
url('iconfont.woff?t=1655779264671') format('woff'),
url('iconfont.ttf?t=1655779264671') format('truetype');
src: url('iconfont.woff2?t=1657078050131') format('woff2'),
url('iconfont.woff?t=1657078050131') format('woff'),
url('iconfont.ttf?t=1657078050131') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@ -676,6 +754,123 @@
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-icon_Batch_outlined"></span>
<div class="name">
icon_Batch_outlined
</div>
<div class="code-name">.icon-icon_Batch_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_clear_outlined"></span>
<div class="name">
icon_clear_outlined
</div>
<div class="code-name">.icon-icon_clear_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_dialpad_outlined"></span>
<div class="name">
icon_dialpad_outlined
</div>
<div class="code-name">.icon-icon_dialpad_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_effects_outlined"></span>
<div class="name">
icon_effects_outlined
</div>
<div class="code-name">.icon-icon_effects_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_magnify_outlined"></span>
<div class="name">
icon_magnify_outlined
</div>
<div class="code-name">.icon-icon_magnify_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_moments-categories_outlined"></span>
<div class="name">
icon_moments-categories_outlined
</div>
<div class="code-name">.icon-icon_moments-categories_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_pc_outlined"></span>
<div class="name">
icon_pc_outlined
</div>
<div class="code-name">.icon-icon_pc_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_phone_outlined"></span>
<div class="name">
icon_phone_outlined
</div>
<div class="code-name">.icon-icon_phone_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_redo_outlined"></span>
<div class="name">
icon_redo_outlined
</div>
<div class="code-name">.icon-icon_redo_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon_undo_outlined"></span>
<div class="name">
icon_undo_outlined
</div>
<div class="code-name">.icon-icon_undo_outlined
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon-more"></span>
<div class="name">
icon-more
</div>
<div class="code-name">.icon-icon-more
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-icon-quicksetting"></span>
<div class="name">
icon-quicksetting
</div>
<div class="code-name">.icon-icon-quicksetting
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-square-selected"></span>
<div class="name">
square-selected
</div>
<div class="code-name">.icon-square-selected
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-italic"></span>
<div class="name">
@ -1567,6 +1762,110 @@
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_Batch_outlined"></use>
</svg>
<div class="name">icon_Batch_outlined</div>
<div class="code-name">#icon-icon_Batch_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_clear_outlined"></use>
</svg>
<div class="name">icon_clear_outlined</div>
<div class="code-name">#icon-icon_clear_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_dialpad_outlined"></use>
</svg>
<div class="name">icon_dialpad_outlined</div>
<div class="code-name">#icon-icon_dialpad_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_effects_outlined"></use>
</svg>
<div class="name">icon_effects_outlined</div>
<div class="code-name">#icon-icon_effects_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_magnify_outlined"></use>
</svg>
<div class="name">icon_magnify_outlined</div>
<div class="code-name">#icon-icon_magnify_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_moments-categories_outlined"></use>
</svg>
<div class="name">icon_moments-categories_outlined</div>
<div class="code-name">#icon-icon_moments-categories_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_pc_outlined"></use>
</svg>
<div class="name">icon_pc_outlined</div>
<div class="code-name">#icon-icon_pc_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_phone_outlined"></use>
</svg>
<div class="name">icon_phone_outlined</div>
<div class="code-name">#icon-icon_phone_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_redo_outlined"></use>
</svg>
<div class="name">icon_redo_outlined</div>
<div class="code-name">#icon-icon_redo_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon_undo_outlined"></use>
</svg>
<div class="name">icon_undo_outlined</div>
<div class="code-name">#icon-icon_undo_outlined</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon-more"></use>
</svg>
<div class="name">icon-more</div>
<div class="code-name">#icon-icon-more</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-icon-quicksetting"></use>
</svg>
<div class="name">icon-quicksetting</div>
<div class="code-name">#icon-icon-quicksetting</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-square-selected"></use>
</svg>
<div class="name">square-selected</div>
<div class="code-name">#icon-square-selected</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-italic"></use>

View File

@ -1,8 +1,8 @@
@font-face {
font-family: "iconfont"; /* Project id 2459092 */
src: url('iconfont.woff2?t=1655779264671') format('woff2'),
url('iconfont.woff?t=1655779264671') format('woff'),
url('iconfont.ttf?t=1655779264671') format('truetype');
src: url('iconfont.woff2?t=1657078050131') format('woff2'),
url('iconfont.woff?t=1657078050131') format('woff'),
url('iconfont.ttf?t=1657078050131') format('truetype');
}
.iconfont {
@ -13,6 +13,58 @@
-moz-osx-font-smoothing: grayscale;
}
.icon-icon_Batch_outlined:before {
content: "\e630";
}
.icon-icon_clear_outlined:before {
content: "\e61d";
}
.icon-icon_dialpad_outlined:before {
content: "\e61e";
}
.icon-icon_effects_outlined:before {
content: "\e620";
}
.icon-icon_magnify_outlined:before {
content: "\e621";
}
.icon-icon_moments-categories_outlined:before {
content: "\e623";
}
.icon-icon_pc_outlined:before {
content: "\e626";
}
.icon-icon_phone_outlined:before {
content: "\e627";
}
.icon-icon_redo_outlined:before {
content: "\e629";
}
.icon-icon_undo_outlined:before {
content: "\e62b";
}
.icon-icon-more:before {
content: "\e62e";
}
.icon-icon-quicksetting:before {
content: "\e62f";
}
.icon-square-selected:before {
content: "\e73e";
}
.icon-italic:before {
content: "\e777";
}

File diff suppressed because one or more lines are too long

View File

@ -5,6 +5,97 @@
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "30342179",
"name": "icon_Batch_outlined",
"font_class": "icon_Batch_outlined",
"unicode": "e630",
"unicode_decimal": 58928
},
{
"icon_id": "30335147",
"name": "icon_clear_outlined",
"font_class": "icon_clear_outlined",
"unicode": "e61d",
"unicode_decimal": 58909
},
{
"icon_id": "30335253",
"name": "icon_dialpad_outlined",
"font_class": "icon_dialpad_outlined",
"unicode": "e61e",
"unicode_decimal": 58910
},
{
"icon_id": "30335256",
"name": "icon_effects_outlined",
"font_class": "icon_effects_outlined",
"unicode": "e620",
"unicode_decimal": 58912
},
{
"icon_id": "30335257",
"name": "icon_magnify_outlined",
"font_class": "icon_magnify_outlined",
"unicode": "e621",
"unicode_decimal": 58913
},
{
"icon_id": "30335264",
"name": "icon_moments-categories_outlined",
"font_class": "icon_moments-categories_outlined",
"unicode": "e623",
"unicode_decimal": 58915
},
{
"icon_id": "30335293",
"name": "icon_pc_outlined",
"font_class": "icon_pc_outlined",
"unicode": "e626",
"unicode_decimal": 58918
},
{
"icon_id": "30335296",
"name": "icon_phone_outlined",
"font_class": "icon_phone_outlined",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "30335326",
"name": "icon_redo_outlined",
"font_class": "icon_redo_outlined",
"unicode": "e629",
"unicode_decimal": 58921
},
{
"icon_id": "30335389",
"name": "icon_undo_outlined",
"font_class": "icon_undo_outlined",
"unicode": "e62b",
"unicode_decimal": 58923
},
{
"icon_id": "30335393",
"name": "icon-more",
"font_class": "icon-more",
"unicode": "e62e",
"unicode_decimal": 58926
},
{
"icon_id": "30335394",
"name": "icon-quicksetting",
"font_class": "icon-quicksetting",
"unicode": "e62f",
"unicode_decimal": 58927
},
{
"icon_id": "19959130",
"name": "square-selected",
"font_class": "square-selected",
"unicode": "e73e",
"unicode_decimal": 59198
},
{
"icon_id": "2958392",
"name": "italic",

View File

@ -114,6 +114,9 @@ export default {
}
},
mounted() {
if (this.showProperty('position-pie')) {
this.labelForm.position = 'outside'
}
this.init()
this.initOptions()
this.initData()

View File

@ -127,6 +127,9 @@ export default {
}
},
mounted() {
if (this.showProperty('position-pie')) {
this.labelForm.position = 'outer'
}
this.init()
this.initOptions()
this.initData()

View File

@ -108,8 +108,7 @@
</div>
</div>
<div style="position: absolute; left: 0px; right: 0px; bottom: 0px; height: 30px; float: left" @dblclick="setEdit">
<div class="title-main" @dblclick="setEdit">
<div class="title-area">
<el-input
v-if="canEdit"
@ -120,12 +119,12 @@
/>
<span
v-if="!canEdit"
style="margin-top: 8px;margin-left: 8px"
style="margin-top: 8px;margin-left: 8px;"
:title="subjectItem.name"
>{{ subjectItem.name }}</span>
<i v-if="subjectItem.type==='self' && !canEdit" class="el-icon-delete delete-icon" @click.stop="subjectDelete" />
</div>
</div>
<i v-if="subjectItem.type==='self' && !canEdit" class="el-icon-delete delete-icon" @click.stop="subjectDelete" />
</div>
</template>
@ -408,10 +407,29 @@ export default {
.delete-icon{
position: absolute;
bottom: 8px;
right: 8px;
top: 8px;
}
.delete-icon:hover{
color: red;
}
.title-main{
position: absolute;
left: 0px;
right: 0px;
bottom: 0px;
height: 30px;
float: left
}
.subject-template:hover > .title-main {
width: 115px;
}
.subject-template:hover > .el-icon-delete {
z-index: 10;
display:block;
}
.subject-template ::v-deep .el-icon-delete {
display:none
}
</style>

View File

@ -733,7 +733,7 @@ export default {
const parent = evt.target.closest('.button-div-class')
const self = evt.target.closest('.el-drawer__wrapper')
//
const stick = evt.target.closest('.icon-magic-line')
const stick = evt.target.closest('.icon-icon_effects_outlined')
const xuanfuanniu = evt.target.closest('.icon-xuanfuanniu')
const shujujuzhen = evt.target.closest('.icon-shujujuzhen')
const suffix = evt.target.closest('.el-input__suffix')