forked from github/dataease
feat(视图):spark 缓存模式修改;视图创建支持名称编辑,同时将视图名称默认作为chart title
This commit is contained in:
parent
230ff9e5a5
commit
97d822796b
@ -22,6 +22,7 @@ import org.apache.spark.sql.*;
|
||||
import org.apache.spark.sql.types.DataTypes;
|
||||
import org.apache.spark.sql.types.StructField;
|
||||
import org.apache.spark.sql.types.StructType;
|
||||
import org.apache.spark.storage.StorageLevel;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
import scala.Tuple2;
|
||||
@ -144,7 +145,7 @@ public class SparkCalc {
|
||||
});
|
||||
StructType structType = DataTypes.createStructType(structFields);
|
||||
|
||||
Dataset<Row> dataFrame = sqlContext.createDataFrame(rdd, structType).persist();
|
||||
Dataset<Row> dataFrame = sqlContext.createDataFrame(rdd, structType).persist(StorageLevel.MEMORY_AND_DISK_SER());
|
||||
CacheUtil.getInstance().addCacheData(hTable, dataFrame);
|
||||
dataFrame.count();
|
||||
return dataFrame;
|
||||
|
@ -697,7 +697,9 @@ export default {
|
||||
rose_type: '玫瑰图模式',
|
||||
radius_mode: '半径',
|
||||
area_mode: '面积',
|
||||
rose_radius: '圆角'
|
||||
rose_radius: '圆角',
|
||||
view_name: '视图名称',
|
||||
name_can_not_empty: '名称不能为空'
|
||||
},
|
||||
dataset: {
|
||||
datalist: '数据集',
|
||||
|
@ -199,10 +199,17 @@
|
||||
width="70%"
|
||||
class="dialog-css"
|
||||
>
|
||||
<el-row style="width: 400px;">
|
||||
<el-form ref="form" :model="table" label-width="80px" size="mini" class="form-item">
|
||||
<el-form-item :label="$t('chart.view_name')">
|
||||
<el-input v-model="table.name" size="mini" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<table-selector @getTable="getTable" />
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button size="mini" @click="selectTableFlag = false">{{ $t('chart.cancel') }}</el-button>
|
||||
<el-button type="primary" size="mini" @click="createChart">{{ $t('chart.confirm') }}</el-button>
|
||||
<el-button size="mini" @click="closeCreateChart">{{ $t('chart.cancel') }}</el-button>
|
||||
<el-button type="primary" size="mini" :disabled="!table.id" @click="createChart">{{ $t('chart.confirm') }}</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
@ -518,10 +525,24 @@ export default {
|
||||
this.selectTableFlag = true
|
||||
},
|
||||
|
||||
closeCreateChart() {
|
||||
this.selectTableFlag = false
|
||||
this.table = {}
|
||||
},
|
||||
|
||||
createChart() {
|
||||
console.log(this.table)
|
||||
if (!this.table.name) {
|
||||
this.$message({
|
||||
message: this.$t('chart.name_can_not_empty'),
|
||||
type: 'error',
|
||||
showClose: true
|
||||
})
|
||||
return
|
||||
}
|
||||
const view = {}
|
||||
view.name = this.table.name
|
||||
view.title = this.table.name
|
||||
view.sceneId = this.currGroup.id
|
||||
view.tableId = this.table.id
|
||||
view.type = 'bar'
|
||||
@ -540,7 +561,7 @@ export default {
|
||||
})
|
||||
view.customFilter = JSON.stringify([])
|
||||
post('/chart/view/save', view).then(response => {
|
||||
this.selectTableFlag = false
|
||||
this.closeCreateChart()
|
||||
this.$store.dispatch('chart/setTableId', null)
|
||||
this.$store.dispatch('chart/setTableId', this.table.id)
|
||||
// this.$router.push('/chart/chart-edit')
|
||||
@ -551,7 +572,7 @@ export default {
|
||||
},
|
||||
|
||||
getTable(table) {
|
||||
this.table = table
|
||||
this.table = JSON.parse(JSON.stringify(table))
|
||||
},
|
||||
|
||||
refresh() {
|
||||
@ -630,4 +651,8 @@ export default {
|
||||
.dialog-css >>> .el-dialog__body {
|
||||
padding: 10px 20px 20px;
|
||||
}
|
||||
|
||||
.form-item>>>.el-form-item__label{
|
||||
font-size: 12px;
|
||||
}
|
||||
</style>
|
||||
|
@ -132,23 +132,23 @@
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div style="overflow:auto;border-top: 1px solid #e6e6e6" class="padding-lr filter-class">
|
||||
<span>{{ $t('chart.result_filter') }}</span>
|
||||
<div style="margin: 8px" class="filter-inner-class">
|
||||
<draggable
|
||||
v-model="view.customFilter"
|
||||
group="drag"
|
||||
animation="300"
|
||||
:move="onMove"
|
||||
style="height:100%;margin:0;overflow-x: auto;background-color: white;"
|
||||
@end="end2"
|
||||
>
|
||||
<transition-group class="draggable-group">
|
||||
<filter-item v-for="(item,index) in view.customFilter" :key="item.id" :index="index" :item="item" />
|
||||
</transition-group>
|
||||
</draggable>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div style="overflow:auto;border-top: 1px solid #e6e6e6" class="padding-lr filter-class">-->
|
||||
<!-- <span>{{ $t('chart.result_filter') }}</span>-->
|
||||
<!-- <div style="margin: 8px" class="filter-inner-class">-->
|
||||
<!-- <draggable-->
|
||||
<!-- v-model="view.customFilter"-->
|
||||
<!-- group="drag"-->
|
||||
<!-- animation="300"-->
|
||||
<!-- :move="onMove"-->
|
||||
<!-- style="height:100%;margin:0;overflow-x: auto;background-color: white;"-->
|
||||
<!-- @end="end2"-->
|
||||
<!-- >-->
|
||||
<!-- <transition-group class="draggable-group">-->
|
||||
<!-- <filter-item v-for="(item,index) in view.customFilter" :key="item.id" :index="index" :item="item" />-->
|
||||
<!-- </transition-group>-->
|
||||
<!-- </draggable>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
</el-col>
|
||||
|
||||
<el-col style="height: 100%;min-width: 500px;border-top: 1px solid #E6E6E6;">
|
||||
|
Loading…
Reference in New Issue
Block a user