提交 f8279b11 authored 作者: taojinlong's avatar taojinlong

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

......@@ -23,5 +23,7 @@ public class VAuthModel implements Serializable {
private Long mode;
private String dataSourceId;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -713,6 +713,76 @@ public class VAuthModelExample {
addCriterion("`mode` not between", value1, value2, "mode");
return (Criteria) this;
}
public Criteria andDataSourceIdIsNull() {
addCriterion("data_source_id is null");
return (Criteria) this;
}
public Criteria andDataSourceIdIsNotNull() {
addCriterion("data_source_id is not null");
return (Criteria) this;
}
public Criteria andDataSourceIdEqualTo(String value) {
addCriterion("data_source_id =", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdNotEqualTo(String value) {
addCriterion("data_source_id <>", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdGreaterThan(String value) {
addCriterion("data_source_id >", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdGreaterThanOrEqualTo(String value) {
addCriterion("data_source_id >=", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdLessThan(String value) {
addCriterion("data_source_id <", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdLessThanOrEqualTo(String value) {
addCriterion("data_source_id <=", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdLike(String value) {
addCriterion("data_source_id like", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdNotLike(String value) {
addCriterion("data_source_id not like", value, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdIn(List<String> values) {
addCriterion("data_source_id in", values, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdNotIn(List<String> values) {
addCriterion("data_source_id not in", values, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdBetween(String value1, String value2) {
addCriterion("data_source_id between", value1, value2, "dataSourceId");
return (Criteria) this;
}
public Criteria andDataSourceIdNotBetween(String value1, String value2) {
addCriterion("data_source_id not between", value1, value2, "dataSourceId");
return (Criteria) this;
}
}
public static class Criteria extends GeneratedCriteria {
......
......@@ -11,6 +11,7 @@
<result column="create_by" jdbcType="VARCHAR" property="createBy" />
<result column="level" jdbcType="BIGINT" property="level" />
<result column="mode" jdbcType="BIGINT" property="mode" />
<result column="data_source_id" jdbcType="VARCHAR" property="dataSourceId" />
</resultMap>
<resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="io.dataease.base.domain.VAuthModelWithBLOBs">
<result column="name" jdbcType="LONGVARCHAR" property="name" />
......@@ -76,7 +77,7 @@
</sql>
<sql id="Base_Column_List">
id, pid, node_type, model_type, model_inner_type, auth_type, create_by, `level`,
`mode`
`mode`, data_source_id
</sql>
<sql id="Blob_Column_List">
`name`, `label`
......@@ -121,11 +122,13 @@
insert into v_auth_model (id, pid, node_type,
model_type, model_inner_type, auth_type,
create_by, `level`, `mode`,
`name`, `label`)
data_source_id, `name`, `label`
)
values (#{id,jdbcType=VARCHAR}, #{pid,jdbcType=VARCHAR}, #{nodeType,jdbcType=VARCHAR},
#{modelType,jdbcType=VARCHAR}, #{modelInnerType,jdbcType=VARCHAR}, #{authType,jdbcType=VARCHAR},
#{createBy,jdbcType=VARCHAR}, #{level,jdbcType=BIGINT}, #{mode,jdbcType=BIGINT},
#{name,jdbcType=LONGVARCHAR}, #{label,jdbcType=LONGVARCHAR})
#{dataSourceId,jdbcType=VARCHAR}, #{name,jdbcType=LONGVARCHAR}, #{label,jdbcType=LONGVARCHAR}
)
</insert>
<insert id="insertSelective" parameterType="io.dataease.base.domain.VAuthModelWithBLOBs">
insert into v_auth_model
......@@ -157,6 +160,9 @@
<if test="mode != null">
`mode`,
</if>
<if test="dataSourceId != null">
data_source_id,
</if>
<if test="name != null">
`name`,
</if>
......@@ -192,6 +198,9 @@
<if test="mode != null">
#{mode,jdbcType=BIGINT},
</if>
<if test="dataSourceId != null">
#{dataSourceId,jdbcType=VARCHAR},
</if>
<if test="name != null">
#{name,jdbcType=LONGVARCHAR},
</if>
......@@ -236,6 +245,9 @@
<if test="record.mode != null">
`mode` = #{record.mode,jdbcType=BIGINT},
</if>
<if test="record.dataSourceId != null">
data_source_id = #{record.dataSourceId,jdbcType=VARCHAR},
</if>
<if test="record.name != null">
`name` = #{record.name,jdbcType=LONGVARCHAR},
</if>
......@@ -258,6 +270,7 @@
create_by = #{record.createBy,jdbcType=VARCHAR},
`level` = #{record.level,jdbcType=BIGINT},
`mode` = #{record.mode,jdbcType=BIGINT},
data_source_id = #{record.dataSourceId,jdbcType=VARCHAR},
`name` = #{record.name,jdbcType=LONGVARCHAR},
`label` = #{record.label,jdbcType=LONGVARCHAR}
<if test="_parameter != null">
......@@ -274,7 +287,8 @@
auth_type = #{record.authType,jdbcType=VARCHAR},
create_by = #{record.createBy,jdbcType=VARCHAR},
`level` = #{record.level,jdbcType=BIGINT},
`mode` = #{record.mode,jdbcType=BIGINT}
`mode` = #{record.mode,jdbcType=BIGINT},
data_source_id = #{record.dataSourceId,jdbcType=VARCHAR}
<if test="_parameter != null">
<include refid="Update_By_Example_Where_Clause" />
</if>
......
......@@ -8,6 +8,6 @@ import java.util.List;
public interface ExtVAuthModelMapper {
List<VAuthModelDTO> queryAuthModel (@Param("request") VAuthModelRequest request);
List<VAuthModelDTO> queryAuthModel (@Param("record") VAuthModelRequest request);
}
......@@ -55,6 +55,48 @@
) authInfo ON v_auth_model.id = authInfo.auth_source
WHERE
FIND_IN_SET( v_auth_model.id, cids )
<if test="record.id != null">
and v_auth_model.id = #{record.id,jdbcType=VARCHAR}
</if>
<if test="record.pid != null">
and v_auth_model.pid = #{record.pid,jdbcType=VARCHAR}
</if>
<if test="record.nodeType != null">
and v_auth_model.node_type = #{record.nodeType,jdbcType=VARCHAR}
</if>
<if test="record.modelType != null">
and v_auth_model.model_type = #{record.modelType,jdbcType=VARCHAR}
</if>
<if test="record.modelInnerType != null">
and v_auth_model.model_inner_type = #{record.modelInnerType,jdbcType=VARCHAR}
</if>
<if test="record.authType != null">
and v_auth_model.auth_type = #{record.authType,jdbcType=VARCHAR}
</if>
<if test="record.createBy != null">
and v_auth_model.create_by = #{record.createBy,jdbcType=VARCHAR}
</if>
<if test="record.level != null">
and v_auth_model.`level` = #{record.level,jdbcType=BIGINT}
</if>
<if test="record.mode != null">
and v_auth_model.`mode` = #{record.mode,jdbcType=BIGINT}
</if>
<if test="record.dataSourceId != null">
and v_auth_model.data_source_id = #{record.dataSourceId,jdbcType=VARCHAR}
</if>
<if test="record.name != null">
and v_auth_model.`name` = #{record.name,jdbcType=LONGVARCHAR}
</if>
<if test="record.label != null">
and v_auth_model.`label` = #{record.label,jdbcType=LONGVARCHAR}
</if>
<if test="record.modelInnerTypeArray != null and record.modelInnerTypeArray.size() > 0">
v_auth_model.model_inner_type in
<foreach collection="modelInnerTypeArray" item="item" separator="," open="(" close=")">
#{item}
</foreach>
</if>
ORDER BY v_auth_model.node_type desc, CONVERT(v_auth_model.label using gbk) asc
</select>
......
......@@ -3,6 +3,8 @@ package io.dataease.controller.request.authModel;
import io.dataease.dto.authModel.VAuthModelDTO;
import lombok.Data;
import java.util.List;
/**
* Author: wangjiahao
* Date: 2021/11/24
......@@ -15,5 +17,6 @@ public class VAuthModelRequest extends VAuthModelDTO {
private String privileges;
private Integer datasetMode;
private boolean clearEmptyDir;
private List<String> modelInnerTypeArray;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -30,7 +30,7 @@
:style="mainSlotStyle"
>
<edit-bar v-if="editBarShow" style="transform: translateZ(10px)" :active-model="'edit'" :element="element" @showViewDetails="showViewDetails" @amRemoveItem="amRemoveItem" @amAddItem="amAddItem" @resizeView="resizeView" @linkJumpSet="linkJumpSet" />
<mobile-check-bar v-if="mobileCheckBarShow" :element="element" @amRemoveItem="amRemoveItem" />
<mobile-check-bar v-if="mobileCheckBarShow" :element="element" @amRemoveItem="amRemoveItem" />
<div v-if="resizing" style="transform: translateZ(11px);position: absolute; z-index: 3" :style="resizeShadowStyle" />
<div
v-for="(handlei, indexi) in actualHandles"
......@@ -536,7 +536,7 @@ export default {
return this.$store.state.curComponent
},
curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.element.auxiliaryMatrix ? this.componentGap : 0
return this.element.auxiliaryMatrix && this.element.type !== 'custom' ? this.componentGap : 0
},
...mapState([
'editor',
......
......@@ -69,7 +69,7 @@ export default {
return this.curComponent && this.config === this.curComponent
},
curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.config.auxiliaryMatrix ? this.componentGap : 0
return this.config.auxiliaryMatrix ? this.componentGap : 0
},
...mapState([
'mobileLayoutStatus',
......
......@@ -80,13 +80,14 @@ export default {
panelId: '',
needToChangeHeight: [
'top',
'height',
'fontSize',
'borderWidth'
'height'
],
needToChangeWidth: [
'left',
'width'
'width',
'fontSize',
'borderWidth',
'letterSpacing'
],
scaleWidth: '100',
scaleHeight: '100',
......
......@@ -58,7 +58,7 @@
>
<component
:is="item.component"
v-if="item.type==='v-text'"
v-if="renderOk&&item.type==='v-text'"
:id="'component' + item.id"
ref="wrapperChild"
class="component"
......@@ -71,7 +71,7 @@
@input="handleInput"
/>
<de-out-widget
v-else-if="item.type==='custom'"
v-else-if="renderOk&&item.type==='custom'"
:id="'component' + item.id"
ref="wrapperChild"
class="component"
......@@ -83,7 +83,7 @@
/>
<component
:is="item.component"
v-else-if="item.type==='other'"
v-else-if="renderOk&&item.type==='other'"
:id="'component' + item.id"
ref="wrapperChild"
class="component"
......@@ -95,7 +95,7 @@
/>
<component
:is="item.component"
v-else
v-else-if="renderOk"
:id="'component' + item.id"
ref="wrapperChild"
class="component"
......@@ -327,6 +327,7 @@ function init() {
const vm = this
recalcCellWidth.call(this)
resetPositionBox.call(this)
// initPosition(this)
let i = 0
const timeid = setInterval(function() {
if (i >= vm.yourList.length) {
......@@ -470,6 +471,15 @@ function removeItem(index) {
this.yourList.splice(index, 1, {})
}
function initPosition(_this) {
_this.yourList.forEach(item => {
checkItemPosition.call(_this, item, {
x: item.x,
y: item.y
})
})
}
function addItem(item, index) {
// console.log('addItem')
if (index < 0) {
......@@ -995,41 +1005,6 @@ export default {
e.preventDefault()
}
this.hideArea()
// 获取编辑器的位移信息,每次点击时都需要获取一次。主要是为了方便开发时调试用。
const rectInfo = this.editor.getBoundingClientRect()
this.editorX = rectInfo.x
this.editorY = rectInfo.y
const startX = e.clientX
const startY = e.clientY
this.start.x = startX - this.editorX
this.start.y = startY - this.editorY
// 展示选中区域
this.isShowArea = true
const move = (moveEvent) => {
this.width = Math.abs(moveEvent.clientX - startX)
this.height = Math.abs(moveEvent.clientY - startY)
if (moveEvent.clientX < startX) {
this.start.x = moveEvent.clientX - this.editorX
}
if (moveEvent.clientY < startY) {
this.start.y = moveEvent.clientY - this.editorY
}
}
const up = (e) => {
document.removeEventListener('mousemove', move)
document.removeEventListener('mouseup', up)
if (e.clientX === startX && e.clientY === startY) {
this.hideArea()
return
}
this.createGroup()
}
document.addEventListener('mousemove', move)
document.addEventListener('mouseup', up)
// 挤占式画布设计
this.containerMouseDown(e)
},
......
......@@ -66,7 +66,7 @@ export default {
return (this.element.optStatus.dragging || this.element.optStatus.resizing)
},
curGap() {
return this.canvasStyleData.panel.gap === 'yes' && this.element.auxiliaryMatrix ? this.componentGap : 0
return this.element.auxiliaryMatrix ? this.componentGap : 0
},
player() {
return this.$refs.videoPlayer.player
......
<template>
<div class="outside-container">
<div ref="myContainer" class="my-container">
<div ref="conditionMain" class="condition-main" :class="mainClass">
<div v-if="element.options.attrs.title" ref="deTitleContainer" class="condition-title">
<div class="condition-title-absolute">
<div class="first-title">
<div class="span-container">
<span ref="deTitle">{{ element.options.attrs.title }}</span>
</div>
<div ref="myContainer" class="my-container">
<div ref="conditionMain" class="condition-main" :class="mainClass">
<div v-if="element.options.attrs.title" ref="deTitleContainer" class="condition-title">
<div class="condition-title-absolute">
<div class="first-title">
<div class="span-container">
<span ref="deTitle">{{ element.options.attrs.title }}</span>
</div>
</div>
</div>
<div ref="deContentContainer" class="condition-content" :class="element.options.attrs.title ? '' : 'condition-content-default'">
<div class="condition-content-container">
<div class="first-element">
<div :class="element.component === 'de-select-grid' ? 'first-element-grid-contaner': ''" class="first-element-contaner">
<component
:is="element.component"
v-if="element.type==='custom'"
:id="'component' + element.id"
class="component-custom"
:out-style="element.style"
:element="element"
:in-draw="inDraw"
:in-screen="inScreen"
/>
</div>
</div>
<div ref="deContentContainer" class="condition-content" :class="element.options.attrs.title ? '' : 'condition-content-default'">
<div class="condition-content-container">
<div class="first-element">
<div :class="element.component === 'de-select-grid' ? 'first-element-grid-contaner': ''" class="first-element-contaner">
<component
:is="element.component"
v-if="element.type==='custom'"
:id="'component' + element.id"
class="component-custom"
:out-style="element.style"
:element="element"
:in-draw="inDraw"
:in-screen="inScreen"
/>
</div>
</div>
</div>
......@@ -99,16 +97,12 @@ export default {
</script>
<style lang="scss" scoped>
.outside-container {
width: 100%;
height: 100%;
}
.my-container {
position: absolute;
overflow: auto;
inset: 0px;
}
.condition-main {
.ccondition-main {
position: absolute;
overflow: auto;
inset: 0px;
......@@ -162,11 +156,11 @@ export default {
height: 100%;
}
.first-element-contaner {
width: 100%;
width: calc(100% - 10px);
background: initial;
position:absolute;
bottom: 0px;
margin: 0 0px;
bottom: 5px;
margin: 0 4px;
div {
width: 100%;
}
......@@ -174,7 +168,7 @@ export default {
.first-element-grid-contaner {
background: #fff;
border: 1px solid #d7dae2;
top: 0px;
top: 5px;
}
.condition-main-line {
height: 40px !important;
......
......@@ -447,9 +447,9 @@ export default {
mounted() {
if (this.mountedInit) {
this.treeNode(true)
this.refresh()
this.getChartGroupTree()
}
this.refresh()
this.getChartGroupTree()
},
methods: {
clickAdd(param) {
......
<template>
<div class="container">
<div class="union-container">
<div class="union-header">
{{ $t('dataset.join_view') }}
<div class="union-header-operator">
......@@ -152,7 +152,7 @@ export default {
span{
font-size: 12px;
}
.container{
.union-container{
height: 275px;
}
.union-header{
......@@ -177,6 +177,7 @@ span{
}
.union-body{
height: 240px;
width: 100%;
}
.union-body-header{
height: 30px;
......
......@@ -523,7 +523,7 @@ export default {
const xuanfuanniu = evt.target.closest('.icon-xuanfuanniu')
const shujujuzhen = evt.target.closest('.icon-shujujuzhen')
const suffix = evt.target.closest('.el-input__suffix')
if (!parent && !self && !stick && !xuanfuanniu && !shujujuzhen&&!suffix) {
if (!parent && !self && !stick && !xuanfuanniu && !shujujuzhen && !suffix) {
this.show = false
window.removeEventListener('click', this.closeSidebar)
this.showIndex = -1
......@@ -649,21 +649,22 @@ export default {
this.beforeDialogValue = []
this.filterVisible = true
},
cancelFilter() {
closeFilter() {
this.beforeDialogValue = []
this.filterVisible = false
this.currentWidget = null
this.clearCurrentInfo()
},
cancelFilter() {
this.closeFilter()
bus.$emit('onRemoveLastItem')
},
sureFilter() {
this.currentFilterCom.options.value = []
const component = deepCopy(this.currentFilterCom)
// this.$store.commit('addComponent', { component })
this.$store.commit('setComponentWithId', component)
this.$store.commit('recordSnapshot', 'sureFilter')
this.cancelFilter()
this.closeFilter()
},
reFreshComponent(component) {
this.currentFilterCom = component
......
......@@ -731,6 +731,7 @@ export default {
showTitleChange(value) {
if (!value) {
this.componentInfo.options.attrs.title = ''
this.componentInfo.style.backgroundColor = ''
}
this.$emit('re-fresh-component', this.componentInfo)
}
......
......@@ -304,7 +304,7 @@ export default {
}
},
changePdfTemplate() {
this.pdfTemplateContent = this.pdfTemplateAll[this.pdfTemplateSelectedIndex].templateContent
this.pdfTemplateContent = this.pdfTemplateAll[this.pdfTemplateSelectedIndex] ? this.pdfTemplateAll[this.pdfTemplateSelectedIndex].templateContent : ''
},
closePreExport() {
this.pdfExportShow = false
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论