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

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

...@@ -976,7 +976,16 @@ export default { ...@@ -976,7 +976,16 @@ export default {
right_join: 'RIGHT JOIN', right_join: 'RIGHT JOIN',
inner_join: 'INNER JOIN', inner_join: 'INNER JOIN',
full_join: 'FULL JOIN', full_join: 'FULL JOIN',
can_not_union_diff_datasource: 'Union dataset must have same data source' can_not_union_diff_datasource: 'Union dataset must have same data source',
operator: 'Operator',
d_q_trans: 'Dimension/Quota Transform',
add_calc_field: 'Create calc field',
input_name: 'Please input name',
field_exp: 'Field Expression',
data_type: 'Data Type',
click_ref_field: 'Click Quote Field',
click_ref_function: 'Click Quote Function',
field_manage: 'Field Manage'
}, },
datasource: { datasource: {
datasource: 'Data Source', datasource: 'Data Source',
......
...@@ -976,7 +976,16 @@ export default { ...@@ -976,7 +976,16 @@ export default {
right_join: '右連接', right_join: '右連接',
inner_join: '內連接', inner_join: '內連接',
full_join: '全連接', full_join: '全連接',
can_not_union_diff_datasource: '被關聯數據集必須與當前數據集的數據源一致' can_not_union_diff_datasource: '被關聯數據集必須與當前數據集的數據源一致',
operator: '操作',
d_q_trans: '維度/指標轉換',
add_calc_field: '新建计算字段',
input_name: '請輸入名稱',
field_exp: '字段表達式',
data_type: '數據類型',
click_ref_field: '點擊引用字段',
click_ref_function: '點擊引用函數',
field_manage: '字段管理'
}, },
datasource: { datasource: {
datasource: '數據源', datasource: '數據源',
......
...@@ -976,7 +976,16 @@ export default { ...@@ -976,7 +976,16 @@ export default {
right_join: '右连接', right_join: '右连接',
inner_join: '内连接', inner_join: '内连接',
full_join: '全连接', full_join: '全连接',
can_not_union_diff_datasource: '被关联数据集必须与当前数据集的数据源一致' can_not_union_diff_datasource: '被关联数据集必须与当前数据集的数据源一致',
operator: '操作',
d_q_trans: '维度/指标转换',
add_calc_field: '新建计算字段',
input_name: '请输入名称',
field_exp: '字段表达式',
data_type: '数据类型',
click_ref_field: '点击引用字段',
click_ref_function: '点击引用函数',
field_manage: '字段管理'
}, },
datasource: { datasource: {
datasource: '数据源', datasource: '数据源',
......
...@@ -514,7 +514,7 @@ ...@@ -514,7 +514,7 @@
:destroy-on-close="true" :destroy-on-close="true"
:fullscreen="true" :fullscreen="true"
> >
<field-edit :param="{table:table}" @switchComponent="closeEditDsField" /> <field-edit :param="table" @switchComponent="closeEditDsField" />
</el-dialog> </el-dialog>
</el-row> </el-row>
</template> </template>
......
...@@ -34,9 +34,9 @@ ...@@ -34,9 +34,9 @@
<el-button v-if="table.type ==='sql'" size="mini" @click="editSql"> <el-button v-if="table.type ==='sql'" size="mini" @click="editSql">
{{ $t('dataset.edit_sql') }} {{ $t('dataset.edit_sql') }}
</el-button> </el-button>
<el-button size="mini" @click="edit"> <!-- <el-button size="mini" @click="edit">-->
{{ $t('dataset.edit_field') }} <!-- {{ $t('dataset.edit_field') }}-->
</el-button> <!-- </el-button>-->
<!-- <el-button size="mini" type="primary" @click="createChart">--> <!-- <el-button size="mini" type="primary" @click="createChart">-->
<!-- {{$t('dataset.create_view')}}--> <!-- {{$t('dataset.create_view')}}-->
<!-- </el-button>--> <!-- </el-button>-->
...@@ -44,10 +44,13 @@ ...@@ -44,10 +44,13 @@
</el-row> </el-row>
<el-divider /> <el-divider />
<el-tabs v-model="tabActive"> <el-tabs v-model="tabActive" @tab-click="initTable(param.id)">
<el-tab-pane :label="$t('dataset.data_preview')" name="dataPreview"> <el-tab-pane :label="$t('dataset.data_preview')" name="dataPreview">
<tab-data-preview :param="param" :table="table" :fields="fields" :data="data" :page="page" :form="tableViewRowForm" @reSearch="reSearch" /> <tab-data-preview :param="param" :table="table" :fields="fields" :data="data" :page="page" :form="tableViewRowForm" @reSearch="reSearch" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane :label="$t('dataset.field_manage')" name="fieldEdit">
<field-edit :param="param" />
</el-tab-pane>
<el-tab-pane v-if="table.type !== 'custom'" :label="$t('dataset.join_view')" name="joinView"> <el-tab-pane v-if="table.type !== 'custom'" :label="$t('dataset.join_view')" name="joinView">
<union-view :param="param" :table="table" /> <union-view :param="param" :table="table" />
</el-tab-pane> </el-tab-pane>
...@@ -64,10 +67,11 @@ import TabDataPreview from './TabDataPreview' ...@@ -64,10 +67,11 @@ import TabDataPreview from './TabDataPreview'
import UpdateInfo from './UpdateInfo' import UpdateInfo from './UpdateInfo'
import DatasetChartDetail from '../common/DatasetChartDetail' import DatasetChartDetail from '../common/DatasetChartDetail'
import UnionView from './UnionView' import UnionView from './UnionView'
import FieldEdit from './FieldEdit'
export default { export default {
name: 'ViewTable', name: 'ViewTable',
components: { UnionView, DatasetChartDetail, UpdateInfo, TabDataPreview }, components: { FieldEdit, UnionView, DatasetChartDetail, UpdateInfo, TabDataPreview },
props: { props: {
param: { param: {
type: Object, type: Object,
...@@ -101,6 +105,7 @@ export default { ...@@ -101,6 +105,7 @@ export default {
}, },
watch: { watch: {
'param': function() { 'param': function() {
this.tabActive = 'dataPreview'
this.initTable(this.param.id) this.initTable(this.param.id)
} }
}, },
...@@ -112,7 +117,6 @@ export default { ...@@ -112,7 +117,6 @@ export default {
}, },
methods: { methods: {
initTable(id) { initTable(id) {
this.tabActive = 'dataPreview'
this.tableViewRowForm.row = 1000 this.tableViewRowForm.row = 1000
if (id !== null) { if (id !== null) {
this.fields = [] this.fields = []
......
...@@ -543,8 +543,10 @@ export default { ...@@ -543,8 +543,10 @@ export default {
this.$forceUpdate() this.$forceUpdate()
}, },
editDialog() { editDialog() {
const serviceName = this.curComponent.serviceName if (this.curComponent && this.curComponent.serviceName) {
this.currentWidget = ApplicationContext.getService(serviceName) const serviceName = this.curComponent.serviceName
this.currentWidget = ApplicationContext.getService(serviceName)
}
this.currentFilterCom = this.curComponent this.currentFilterCom = this.curComponent
this.openFilterDialog() this.openFilterDialog()
}, },
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<de-container v-loading="$store.getters.loadingMap[$store.getters.currentPath]" class="de-dialog-container"> <de-container v-loading="$store.getters.loadingMap[$store.getters.currentPath]" class="de-dialog-container">
<de-aside-container :show-drag-bar="false" class="ms-aside-container"> <de-aside-container :show-drag-bar="false" class="ms-aside-container">
<el-tabs v-model="activeName" class="filter-dialog-tabs"> <el-tabs v-model="activeName" class="filter-dialog-tabs">
<el-tab-pane :lazy="true" class="de-tab" :label="$t('panel.select_by_table')" name="dataset"> <el-tab-pane class="de-tab" :label="$t('panel.select_by_table')" name="dataset">
<div class="component-header filter-common"> <div class="component-header filter-common">
<el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item v-for="bread in dataSetBreads" :key="bread.label"> <el-breadcrumb-item v-for="bread in dataSetBreads" :key="bread.label">
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
@start="start1" @start="start1"
> >
<transition-group> <transition-group>
<div v-for="item in fieldDatas.filter(item => !keyWord || (item.name && item.name.toLocaleLowerCase().includes(keyWord)))" :key="item.id" class="filter-db-row"> <div v-for="item in fieldDatas.filter(item => !keyWord || (item.name && item.name.toLocaleLowerCase().includes(keyWord)))" :key="item.id" :class="componentInfo && componentInfo.options.attrs.fieldId === item.id ? 'filter-db-row-checked' : 'filter-db-row'" class="filter-db-row">
<i class="el-icon-s-data" /> <i class="el-icon-s-data" />
<span> {{ item.name }}</span> <span> {{ item.name }}</span>
</div> </div>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</el-col> </el-col>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane :lazy="true" class="de-tab" :label="$t('panel.select_by_module')" name="assembly"> <el-tab-pane class="de-tab" :label="$t('panel.select_by_module')" name="assembly">
<div class="component-header filter-common"> <div class="component-header filter-common">
<el-breadcrumb separator-class="el-icon-arrow-right"> <el-breadcrumb separator-class="el-icon-arrow-right">
<el-breadcrumb-item v-for="bread in componentSetBreads" :key="bread.label"> <el-breadcrumb-item v-for="bread in componentSetBreads" :key="bread.label">
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
@start="start1" @start="start1"
> >
<transition-group> <transition-group>
<div v-for="item in comFieldDatas.filter(item => !viewKeyWord || item.name.toLocaleLowerCase().includes(viewKeyWord))" :key="item.id" class="filter-db-row"> <div v-for="item in comFieldDatas.filter(item => !viewKeyWord || item.name.toLocaleLowerCase().includes(viewKeyWord))" :key="item.id" :class="componentInfo && componentInfo.options.attrs.fieldId === item.id ? 'filter-db-row-checked' : 'filter-db-row'" class="filter-db-row">
<i class="el-icon-s-data" /> <i class="el-icon-s-data" />
<span> {{ item.name }}</span> <span> {{ item.name }}</span>
</div> </div>
...@@ -318,7 +318,8 @@ export default { ...@@ -318,7 +318,8 @@ export default {
timer: null, timer: null,
expandedArray: [], expandedArray: [],
viewKeyWord: '', viewKeyWord: '',
titlePopovervisible: false titlePopovervisible: false,
fieldsParent: null
} }
}, },
computed: { computed: {
...@@ -344,15 +345,20 @@ export default { ...@@ -344,15 +345,20 @@ export default {
this.componentInfo.options.attrs.datas = this.widget.optionDatas(res.data) this.componentInfo.options.attrs.datas = this.widget.optionDatas(res.data)
this.componentInfo.options.attrs.fieldId = fieldId this.componentInfo.options.attrs.fieldId = fieldId
this.componentInfo.options.attrs.dragItems = values this.componentInfo.options.attrs.dragItems = values
this.componentInfo.options.attrs.activeName = this.activeName
this.componentInfo.options.attrs.fieldsParent = this.fieldsParent
this.$emit('re-fresh-component', this.componentInfo) this.$emit('re-fresh-component', this.componentInfo)
}) })
} else { } else {
this.componentInfo.options.attrs.fieldId = fieldId this.componentInfo.options.attrs.fieldId = fieldId
this.componentInfo.options.attrs.dragItems = values this.componentInfo.options.attrs.dragItems = values
this.componentInfo.options.attrs.activeName = this.activeName
this.componentInfo.options.attrs.fieldsParent = this.fieldsParent
this.$emit('re-fresh-component', this.componentInfo) this.$emit('re-fresh-component', this.componentInfo)
} }
} else if (this.componentInfo && this.componentInfo.options.attrs.fieldId) { } else if (this.componentInfo && this.componentInfo.options.attrs.fieldId) {
this.componentInfo.options.attrs.fieldId = null this.componentInfo.options.attrs.fieldId = null
this.componentInfo.options.attrs.activeName = null
this.$emit('re-fresh-component', this.componentInfo) this.$emit('re-fresh-component', this.componentInfo)
} }
}, },
...@@ -377,10 +383,23 @@ export default { ...@@ -377,10 +383,23 @@ export default {
if (this.componentInfo && this.componentInfo.options.attrs.dragItems) { if (this.componentInfo && this.componentInfo.options.attrs.dragItems) {
this.selectField = this.componentInfo.options.attrs.dragItems this.selectField = this.componentInfo.options.attrs.dragItems
} }
this.initWithField()
this.loadViews() this.loadViews()
}, },
methods: { methods: {
initWithField() {
if (this.componentInfo && this.componentInfo.options.attrs.activeName) {
this.activeName = this.componentInfo.options.attrs.activeName
if (this.componentInfo.options.attrs.fieldsParent) {
this.fieldsParent = this.componentInfo.options.attrs.fieldsParent
this.$nextTick(() => {
this.activeName === 'dataset' && this.showFieldDatas(this.fieldsParent)
this.activeName !== 'dataset' && this.comShowFieldDatas(this.fieldsParent)
})
}
}
},
getTreeData(val) { getTreeData(val) {
if (val) { if (val) {
this.isTreeSearch = true this.isTreeSearch = true
...@@ -559,6 +578,7 @@ export default { ...@@ -559,6 +578,7 @@ export default {
this.showDomType = 'field' this.showDomType = 'field'
this.setTailLink(row) this.setTailLink(row)
this.addTail(row) this.addTail(row)
this.fieldsParent = row
this.loadField(row.id) this.loadField(row.id)
}, },
comShowFieldDatas(row) { comShowFieldDatas(row) {
...@@ -566,6 +586,7 @@ export default { ...@@ -566,6 +586,7 @@ export default {
this.comShowDomType = 'field' this.comShowDomType = 'field'
this.comSetTailLink(row) this.comSetTailLink(row)
this.comAddTail(row) this.comAddTail(row)
this.fieldsParent = row
this.comLoadField(row.tableId) this.comLoadField(row.tableId)
}, },
onMove(e, originalEvent) { onMove(e, originalEvent) {
...@@ -760,15 +781,33 @@ export default { ...@@ -760,15 +781,33 @@ export default {
color: #409EFF; color: #409EFF;
} }
.filter-db-row { .filter-db-row {
:hover {
cursor: pointer;
}
i { i {
color: #409EFF; color: #3685f2;
} }
// background-color: #3685f2; // background-color: #3685f2;
// color: #fff; // color: #fff;
} }
.filter-db-row:hover {
background-color: #f5f7fa !important;
cursor: pointer;
}
.filter-db-row-checked:hover {
background-color: #f5f7fa !important;
color: inherit;
cursor: pointer;
i {
background-color: inherit;
color: #3685f2;
}
}
.filter-db-row-checked {
background-color: #3685f2 !important;
color: #fff;
i {
background-color: #3685f2;
color: #fff;
}
}
.draggable-group { .draggable-group {
display: inline-block; display: inline-block;
width: 100%; width: 100%;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论