@ -13,9 +13,9 @@
< span slot = "reference" style = "line-height: 40px;cursor: pointer;" > { { view . name } } < / span >
< / e l - p o p o v e r >
< span style = "float: right;line-height: 40px;" >
< el -button v-if ="hasDataPermission('manage',param.privileges)" size="mini" @click="changeDs" >
{ { $t ( 'chart.change_ds' ) } }
< / e l - b u t t o n >
<!-- < el -button v-if ="hasDataPermission('manage',param.privileges)" size="mini" @click="changeDs" > - - >
<!-- { { $t ( 'chart.change_ds' ) } } -- >
<!-- < / e l - b u t t o n > - - >
< el -button size = "mini" @click ="closeEdit" >
{ { $t ( 'commons.save' ) } }
< / e l - b u t t o n >
@ -26,259 +26,274 @@
< / span >
< / e l - r o w >
< el -row class = "view-panel" >
< el -col
style = "height: 100%;width: 20%;min-width: 180px;max-width:220px;border: 1px solid #E6E6E6;border-left: 0 solid;"
>
< div style = "display: flex;align-items: center;justify-content: center;padding: 6px;" >
< el -input
v - model = "searchField"
size = "mini"
: placeholder = "$t('chart.search')"
prefix - icon = "el-icon-search"
clearable
/ >
< el -button : disabled = "!table || !hasDataPermission('manage',table.privileges)" icon = "el-icon-setting" type = "text" size = "mini" style = "float: right;width: 20px;margin-left: 6px;" @click ="editField" / >
< / div >
< div style = "border-bottom: 1px solid #E6E6E6;" class = "padding-lr field-height" >
< span > { { $t ( 'chart.dimension' ) } } < / span >
< draggable
v - model = "dimensionData"
: options = "{group:{name: 'dimension',pull:'clone'},sort: true}"
animation = "300"
: move = "onMove"
class = "drag-list"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ end = "end1"
@ start = "start1"
>
< transition -group >
< span v-for ="item in dimensionData" :key="item.id" class="item" :title="item.name" >
< svg -icon v -if = " item.deType = = = 0 " icon -class = " field_text " class = "field-icon-text" / >
< svg -icon v -if = " item.deType = = = 1 " icon -class = " field_time " class = "field-icon-time" / >
< svg -icon v -if = " item.deType = = = 2 | | item.deType = = = 3 " icon -class = " field_value " class = "field-icon-value" / >
< svg -icon v -if = " item.deType = = = 5 " icon -class = " field_location " class = "field-icon-location" / >
{ { item . name } }
< / span >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / div >
< div class = "padding-lr field-height" >
< span > { { $t ( 'chart.quota' ) } } < / span >
< draggable
v - model = "quotaData"
: options = "{group:{name: 'quota',pull:'clone'},sort: true}"
animation = "300"
: move = "onMove"
class = "drag-list"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ end = "end1"
@ start = "start1"
>
< transition -group >
< span v-for ="item in quotaData" :key="item.id" class="item" :title="item.name" >
< svg -icon v -if = " item.deType = = = 0 " icon -class = " field_text " class = "field-icon-text" / >
< svg -icon v -if = " item.deType = = = 1 " icon -class = " field_time " class = "field-icon-time" / >
< svg -icon v -if = " item.deType = = = 2 | | item.deType = = = 3 " icon -class = " field_value " class = "field-icon-value" / >
< svg -icon v -if = " item.deType = = = 5 " icon -class = " field_location " class = "field-icon-location" / >
< span > { { item . name } } < / span >
< / span >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / div >
< / e l - c o l >
< el -tabs type = "card" :stretch ="true" class = "tab-header" >
< el -tab -pane :label ="$t('chart.chart_data')" class = "padding-tab" style = "width: 360px" >
< el -row class = "view-panel" >
< el -col
style = "width: 180px;border-right: 1px solid #E6E6E6;"
>
< div style = "display: flex;align-items: center;justify-content: center;padding: 6px;" >
< el -input
v - model = "searchField"
size = "mini"
: placeholder = "$t('chart.search')"
prefix - icon = "el-icon-search"
clearable
/ >
< el -button :title ="$t('dataset.edit_field')" : disabled = "!table || !hasDataPermission('manage',table.privileges)" icon = "el-icon-setting" type = "text" size = "mini" style = "float: right;width: 20px;margin-left: 4px;" @click ="editField" / >
< el -button :title ="$t('chart.change_ds')" :disabled ="!hasDataPermission('manage',param.privileges)" icon = "el-icon-refresh" type = "text" size = "mini" style = "float: right;width: 20px;margin-left: 4px;" @click ="changeDs" / >
< / div >
< div style = "border-bottom: 1px solid #E6E6E6;" class = "padding-lr field-height" >
< span > { { $t ( 'chart.dimension' ) } } < / span >
< draggable
v - model = "dimensionData"
: options = "{group:{name: 'dimension',pull:'clone'},sort: true}"
animation = "300"
: move = "onMove"
class = "drag-list"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ end = "end1"
@ start = "start1"
>
< transition -group >
< span v-for ="item in dimensionData" :key="item.id" class="item" :title="item.name" >
< svg -icon v -if = " item.deType = = = 0 " icon -class = " field_text " class = "field-icon-text" / >
< svg -icon v -if = " item.deType = = = 1 " icon -class = " field_time " class = "field-icon-time" / >
< svg -icon v -if = " item.deType = = = 2 | | item.deType = = = 3 " icon -class = " field_value " class = "field-icon-value" / >
< svg -icon v -if = " item.deType = = = 5 " icon -class = " field_location " class = "field-icon-location" / >
{ { item . name } }
< / span >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / div >
< div class = "padding-lr field-height" >
< span > { { $t ( 'chart.quota' ) } } < / span >
< draggable
v - model = "quotaData"
: options = "{group:{name: 'quota',pull:'clone'},sort: true}"
animation = "300"
: move = "onMove"
class = "drag-list"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ end = "end1"
@ start = "start1"
>
< transition -group >
< span v-for ="item in quotaData" :key="item.id" class="item" :title="item.name" >
< svg -icon v -if = " item.deType = = = 0 " icon -class = " field_text " class = "field-icon-text" / >
< svg -icon v -if = " item.deType = = = 1 " icon -class = " field_time " class = "field-icon-time" / >
< svg -icon v -if = " item.deType = = = 2 | | item.deType = = = 3 " icon -class = " field_value " class = "field-icon-value" / >
< svg -icon v -if = " item.deType = = = 5 " icon -class = " field_location " class = "field-icon-location" / >
< span > { { item . name } } < / span >
< / span >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / div >
< / e l - c o l >
< el -col
style = "height: 100%;width: 30%;min-width: 200px;max-width:220px;border: 1px solid #E6E6E6;border-left: 0 solid;"
>
<!-- < div style = "border-bottom: 1px solid #E6E6E6;overflow-y:hidden;height: 62px;" class = "padding-lr" > -- >
<!-- < el -row > -- >
<!-- < span > { { $t ( 'chart.title' ) } } < / span > -- >
<!-- < el -button style = "float: right;padding: 0;margin: 8px 0 0 0;font-size: 12px;" type = "text" @click ="save" > {{ $ t ( ' chart.confirm ' ) }} < / el -button > -- >
<!-- < / e l - r o w > - - >
<!-- < el -form > -- >
<!-- < el -form -item class = "form-item" > -- >
<!-- < el -input - - >
<!-- v - model = "view.title" -- >
<!-- size = "mini" -- >
<!-- : placeholder = "$t('chart.title')" -- >
<!-- prefix - icon = "el-icon-search" -- >
<!-- clearable -- >
<!-- / > - - >
<!-- < / e l - f o r m - i t e m > - - >
<!-- < / e l - f o r m > - - >
<!-- < / div > -- >
< div style = "height: 25vh;overflow:auto" class = "padding-lr" >
< span > { { $t ( 'chart.chart_type' ) } } < / span >
< el -row >
< div class = "chart-type" >
<!-- 这里要替换好看点的图标 , UI标签可以重新定义 -- >
< el -radio -group
v - model = "view.type"
style = "width: 100%"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ change = "save(true,'chart',true)"
>
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "table-normal" label = "table-normal" >
< span :title ="$t('chart.chart_table_normal')" >
< svg -icon icon -class = " table -normal " class = "chart-icon" / >
< el -col
style = "height: 100%;width: 180px;border-right: 1px solid #E6E6E6;"
>
<!-- < div style = "border-bottom: 1px solid #E6E6E6;overflow-y:hidden;height: 62px;" class = "padding-lr" > -- >
<!-- < el -row > -- >
<!-- < span > { { $t ( 'chart.title' ) } } < / span > -- >
<!-- < el -button style = "float: right;padding: 0;margin: 8px 0 0 0;font-size: 12px;" type = "text" @click ="save" > {{ $ t ( ' chart.confirm ' ) }} < / el -button > -- >
<!-- < / e l - r o w > - - >
<!-- < el -form > -- >
<!-- < el -form -item class = "form-item" > -- >
<!-- < el -input - - >
<!-- v - model = "view.title" -- >
<!-- size = "mini" -- >
<!-- : placeholder = "$t('chart.title')" -- >
<!-- prefix - icon = "el-icon-search" -- >
<!-- clearable -- >
<!-- / > - - >
<!-- < / e l - f o r m - i t e m > - - >
<!-- < / e l - f o r m > - - >
<!-- < / div > -- >
< div style = "height: 25vh;overflow:auto" class = "padding-lr" >
< span > { { $t ( 'chart.chart_type' ) } } < / span >
< el -row >
< div class = "chart-type" >
<!-- 这里要替换好看点的图标 , UI标签可以重新定义 -- >
< el -radio -group
v - model = "view.type"
style = "width: 100%"
: disabled = "!hasDataPermission('manage',param.privileges)"
@ change = "save(true,'chart',true)"
>
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "table-normal" label = "table-normal" >
< span :title ="$t('chart.chart_table_normal')" >
< svg -icon icon -class = " table -normal " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "text" label = "text" >
< span :title ="$t('chart.chart_card')" >
< svg -icon icon -class = " text " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar" label = "bar" >
< span :title ="$t('chart.chart_bar')" >
< svg -icon icon -class = " bar " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar-stack" label = "bar-stack" >
< span :title ="$t('chart.chart_bar_stack')" >
< svg -icon icon -class = " bar -stack " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar-horizontal" label = "bar-horizontal" >
< span :title ="$t('chart.chart_bar_horizontal')" >
< svg -icon icon -class = " bar -horizontal " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< / div >
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "bar-stack-horizontal" label = "bar-stack-horizontal" >
< span :title ="$t('chart.chart_bar_stack_horizontal')" >
< svg -icon icon -class = " bar -stack -horizontal " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "line" label = "line" >
< span :title ="$t('chart.chart_line')" >
< svg -icon icon -class = " line " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "line-stack" label = "line-stack" >
< span :title ="$t('chart.chart_line_stack')" >
< svg -icon icon -class = " line -stack " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "pie" label = "pie" >
< span :title ="$t('chart.chart_pie')" >
< svg -icon icon -class = " pie " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "pie-rose" label = "pie-rose" >
< span :title ="$t('chart.chart_pie_rose')" >
< svg -icon icon -class = " pie -rose " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< / div >
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "funnel" label = "funnel" >
< span :title ="$t('chart.chart_funnel')" >
< svg -icon icon -class = " funnel " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "radar" label = "radar" >
< span :title ="$t('chart.chart_radar')" >
< svg -icon icon -class = " radar " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "gauge" label = "gauge" >
< span :title ="$t('chart.chart_gauge')" >
< svg -icon icon -class = " gauge " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "" label = "" disabled class = "disabled-none-cursor" > < svg -icon icon -class = " " class = "chart-icon" / > < / e l - r a d i o >
< el -radio value = "" label = "" disabled class = "disabled-none-cursor" > < svg -icon icon -class = " " class = "chart-icon" / > < / e l - r a d i o >
< / div >
< / e l - r a d i o - g r o u p >
< / div >
< / e l - r o w >
< el -row style = "color: #909399;" >
< span >
< span v-show ="chart.type && (chart.type.includes('pie') || chart.type.includes('funnel') || chart.type.includes('text') || chart.type.includes('gauge'))" >
Tips : { { $t ( 'chart.only_one_quota' ) } }
< / span >
< / e l - r a d i o >
< el -radio value = "text" label = "text" >
< span :title ="$t('chart.chart_card')" >
< svg -icon icon -class = " text " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar" label = "bar" >
< span :title ="$t('chart.chart_bar')" >
< svg -icon icon -class = " bar " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar-stack" label = "bar-stack" >
< span :title ="$t('chart.chart_bar_stack')" >
< svg -icon icon -class = " bar -stack " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "bar-horizontal" label = "bar-horizontal" >
< span :title ="$t('chart.chart_bar_horizontal')" >
< svg -icon icon -class = " bar -horizontal " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< / div >
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "bar-stack-horizontal" label = "bar-stack-horizontal" >
< span :title ="$t('chart.chart_bar_stack_horizontal')" >
< svg -icon icon -class = " bar -stack -horizontal " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "line" label = "line" >
< span :title ="$t('chart.chart_line')" >
< svg -icon icon -class = " line " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "line-stack" label = "line-stack" >
< span :title ="$t('chart.chart_line_stack')" >
< svg -icon icon -class = " line -stack " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "pie" label = "pie" >
< span :title ="$t('chart.chart_pie')" >
< svg -icon icon -class = " pie " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "pie-rose" label = "pie-rose" >
< span :title ="$t('chart.chart_pie_rose')" >
< svg -icon icon -class = " pie -rose " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< / div >
< div style = "width: 100%;display: flex;display: -webkit-flex;justify-content: space-between;flex-direction: row;flex-wrap: wrap;" >
< el -radio value = "funnel" label = "funnel" >
< span :title ="$t('chart.chart_funnel')" >
< svg -icon icon -class = " funnel " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "radar" label = "radar" >
< span :title ="$t('chart.chart_radar')" >
< svg -icon icon -class = " radar " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "gauge" label = "gauge" >
< span :title ="$t('chart.chart_gauge')" >
< svg -icon icon -class = " gauge " class = "chart-icon" / >
< / span >
< / e l - r a d i o >
< el -radio value = "" label = "" disabled class = "disabled-none-cursor" > < svg -icon icon -class = " " class = "chart-icon" / > < / e l - r a d i o >
< el -radio value = "" label = "" disabled class = "disabled-none-cursor" > < svg -icon icon -class = " " class = "chart-icon" / > < / e l - r a d i o >
< / div >
< / e l - r a d i o - g r o u p >
< / div >
<!-- < span v-show ="chart.type && (chart.type.includes('text'))" > - - >
<!-- Tips : { { $t ( 'chart.only_one_result' ) } } -- >
<!-- < / span > -- >
<!-- < span v-show ="chart.type && chart.type.includes('gauge')" > - - >
<!-- Tips : { { $t ( 'chart.only_one_quota' ) } } , { { $t ( 'chart.only_one_result' ) } } -- >
<!-- < / span > -- >
< / span >
< / e l - r o w >
< / div >
< div style = "overflow:auto;border-top: 1px solid #e6e6e6" class = "attr-style" >
< el -row >
< el -row v-if ="chart.type !=='text' && chart.type !== 'gauge'" class="padding-lr" >
< span style = "width: 80px;text-align: right;" > { { $t ( 'chart.dimension' ) } } < / span >
< draggable
v - model = "view.xaxis"
: disabled = "!hasDataPermission('manage',param.privileges)"
group = "dimension"
animation = "300"
: move = "onMove"
style = "padding:2px 0 0 0;width:100%;height: 100%;border-radius: 4px;border: 1px solid #DCDFE6;overflow-x: auto;display: flex;align-items: center;background-color: white;"
@ end = "end2"
>
< transition -group class = "draggable-group" >
< dimension -item v -for = " ( item , index ) in view.xaxis " :key ="item.id" :param ="param" :index ="index" :item ="item" @onDimensionItemChange ="dimensionItemChange" @onDimensionItemRemove ="dimensionItemRemove" @editItemFilter ="showDimensionEditFilter" @onNameEdit ="showRename" / >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / e l - r o w >
< el -row class = "padding-lr" >
< span style = "width: 80px;text-align: right;" > { { $t ( 'chart.quota' ) } } < / span >
< draggable
v - model = "view.yaxis"
: disabled = "!hasDataPermission('manage',param.privileges)"
group = "quota"
animation = "300"
: move = "onMove"
style = "padding:2px 0 0 0;width:100%;height: 100%;border-radius: 4px;border: 1px solid #DCDFE6;overflow-x: auto;display: flex;align-items: center;background-color: white;"
@ end = "end2"
>
< transition -group class = "draggable-group" >
< quota -item v -for = " ( item , index ) in view.yaxis " :key ="item.id" :param ="param" :index ="index" :item ="item" @onQuotaItemChange ="quotaItemChange" @onQuotaItemRemove ="quotaItemRemove" @editItemFilter ="showQuotaEditFilter" @onNameEdit ="showRename" / >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / e l - r o w >
< div class = "padding-lr filter-class" >
< span > { { $t ( 'chart.result_filter' ) } } < / span >
< el -button :disabled ="!hasDataPermission('manage',param.privileges)" size = "mini" class = "filter-btn-class" @click ="showResultFilter" >
{ { $t ( 'chart.filter_condition' ) } } < i class = "el-icon-setting el-icon--right" / >
< / e l - b u t t o n >
< / div >
< / e l - r o w >
< / div >
< / e l - c o l >
< / e l - r o w >
< el -row style = "color: #909399;" >
< span >
< span v-show ="chart.type && (chart.type.includes('pie') || chart.type.includes('funnel') || chart.type.includes('text') || chart.type.includes('gauge'))" >
Tips : { { $t ( 'chart.only_one_quota' ) } }
< / span >
<!-- < span v-show ="chart.type && (chart.type.includes('text'))" > - - >
<!-- Tips : { { $t ( 'chart.only_one_result' ) } } -- >
<!-- < / span > -- >
<!-- < span v-show ="chart.type && chart.type.includes('gauge')" > - - >
<!-- Tips : { { $t ( 'chart.only_one_quota' ) } } , { { $t ( 'chart.only_one_result' ) } } -- >
<!-- < / span > -- >
< / span >
< / e l - r o w >
< / div >
< div style = "overflow:auto;border-top: 1px solid #e6e6e6" class = "attr-style" >
< el -row class = "padding-lr" >
< span > { { $t ( 'chart.style_priority' ) } } < / span >
< el -row >
< el -radio -group v-model ="view.stylePriority" :disabled="!hasDataPermission('manage',param.privileges)" size="mini" @change="save" >
< el -radio label = "view" > < span > { { $t ( 'chart.chart' ) } } < / span > < / e l - r a d i o >
< el -radio label = "panel" > < span > { { $t ( 'chart.dashboard' ) } } < / span > < / e l - r a d i o >
< / e l - r a d i o - g r o u p >
< / e l - t a b - p a n e >
< el -tab -pane :label ="$t('chart.chart_style')" class = "padding-tab" style = "width: 360px;" >
< div style = "overflow:auto;border-right: 1px solid #e6e6e6;height: 100%;" class = "attr-style" >
< el -row class = "padding-lr" >
< span > { { $t ( 'chart.style_priority' ) } } < / span >
< el -row >
< el -radio -group v-model ="view.stylePriority" :disabled="!hasDataPermission('manage',param.privileges)" size="mini" @change="save" >
< el -radio label = "view" > < span > { { $t ( 'chart.chart' ) } } < / span > < / e l - r a d i o >
< el -radio label = "panel" > < span > { { $t ( 'chart.dashboard' ) } } < / span > < / e l - r a d i o >
< / e l - r a d i o - g r o u p >
< / e l - r o w >
< / e l - r o w >
< / e l - r o w >
< el -tabs type = "card" :stretch ="true" class = "tab-header" >
< el -tab -pane :label ="$t('chart.shape_attr')" class = "padding-lr" >
< color -selector :param ="param" class = "attr-selector" :chart ="chart" @onColorChange ="onColorChange" / >
< size -selector :param ="param" class = "attr-selector" :chart ="chart" @onSizeChange ="onSizeChange" / >
< label -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onLabelChange ="onLabelChange" / >
< tooltip -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onTooltipChange ="onTooltipChange" / >
< / e l - t a b - p a n e >
< el -tab -pane :label ="$t('chart.module_style')" class = "padding-lr" >
< x -axis -selector v -show = " view.type.includes ( ' bar ' ) | | view.type.includes ( ' line ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeXAxisForm ="onChangeXAxisForm" / >
< y -axis -selector v -show = " view.type.includes ( ' bar ' ) | | view.type.includes ( ' line ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeYAxisForm ="onChangeYAxisForm" / >
< split -selector v -show = " view.type.includes ( ' radar ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeSplitForm ="onChangeSplitForm" / >
< title -selector :param ="param" class = "attr-selector" :chart ="chart" @onTextChange ="onTextChange" / >
< legend -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onLegendChange ="onLegendChange" / >
< background -color -selector :param ="param" class = "attr-selector" :chart ="chart" @onChangeBackgroundForm ="onChangeBackgroundForm" / >
< / e l - t a b - p a n e >
< / e l - t a b s >
< / div >
< div style = "height:60px;overflow:auto;border-top: 1px solid #e6e6e6" class = "padding-lr filter-class" >
< span > { { $t ( 'chart.result_filter' ) } } < / span >
< el -button :disabled ="!hasDataPermission('manage',param.privileges)" size = "mini" class = "filter-btn-class" @click ="showResultFilter" >
{ { $t ( 'chart.filter_condition' ) } } < i class = "el-icon-setting el-icon--right" / >
< / e l - b u t t o n >
< / div >
< / e l - c o l >
< el -row class = "padding-lr" >
< span > { { $t ( 'chart.shape_attr' ) } } < / span >
< el -row >
< color -selector :param ="param" class = "attr-selector" :chart ="chart" @onColorChange ="onColorChange" / >
< size -selector :param ="param" class = "attr-selector" :chart ="chart" @onSizeChange ="onSizeChange" / >
< label -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onLabelChange ="onLabelChange" / >
< tooltip -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onTooltipChange ="onTooltipChange" / >
< / e l - r o w >
< / e l - r o w >
< el -row class = "padding-lr" >
< span > { { $t ( 'chart.module_style' ) } } < / span >
< el -row >
< x -axis -selector v -show = " view.type.includes ( ' bar ' ) | | view.type.includes ( ' line ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeXAxisForm ="onChangeXAxisForm" / >
< y -axis -selector v -show = " view.type.includes ( ' bar ' ) | | view.type.includes ( ' line ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeYAxisForm ="onChangeYAxisForm" / >
< split -selector v -show = " view.type.includes ( ' radar ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onChangeSplitForm ="onChangeSplitForm" / >
< title -selector :param ="param" class = "attr-selector" :chart ="chart" @onTextChange ="onTextChange" / >
< legend -selector v -show = " ! view.type.includes ( ' table ' ) & & ! view.type.includes ( ' text ' ) " :param ="param" class = "attr-selector" :chart ="chart" @onLegendChange ="onLegendChange" / >
< background -color -selector :param ="param" class = "attr-selector" :chart ="chart" @onChangeBackgroundForm ="onChangeBackgroundForm" / >
< / e l - r o w >
< / e l - r o w >
< / div >
< / e l - t a b - p a n e >
< / e l - t a b s >
< el -col style = "height: 100%;min-width: 500px;border-top: 1px solid #E6E6E6;" >
< el -row style = "width: 100%;height: 100%;" class = "padding-lr" >
< el -row style = "margin-top: 10px;height: 74px;" >
< el -row v-if ="chart.type !=='text' && chart.type !== 'gauge'" style="display:flex;height: 32px;" >
< span style = "line-height: 32px;width: 80px;text-align: right;" > { { $t ( 'chart.dimension' ) } } < / span >
< draggable
v - model = "view.xaxis"
: disabled = "!hasDataPermission('manage',param.privileges)"
group = "dimension"
animation = "300"
: move = "onMove"
style = "width:100%;height: 100%;margin:0 10px;border-radius: 4px;border: 1px solid #DCDFE6;overflow-x: auto;display: flex;align-items: center;background-color: white;"
@ end = "end2"
>
< transition -group class = "draggable-group" >
< dimension -item v -for = " ( item , index ) in view.xaxis " :key ="item.id" :param ="param" :index ="index" :item ="item" @onDimensionItemChange ="dimensionItemChange" @onDimensionItemRemove ="dimensionItemRemove" @editItemFilter ="showDimensionEditFilter" @onNameEdit ="showRename" / >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / e l - r o w >
< el -row style = "display:flex;height: 32px;margin-top: 10px;" >
< span style = "line-height: 32px;width: 80px;text-align: right;" > { { $t ( 'chart.quota' ) } } < / span >
< draggable
v - model = "view.yaxis"
: disabled = "!hasDataPermission('manage',param.privileges)"
group = "quota"
animation = "300"
: move = "onMove"
style = "width:100%;height: 100%;margin:0 10px;border-radius: 4px;border: 1px solid #DCDFE6;overflow-x: auto;display: flex;align-items: center;background-color: white;"
@ end = "end2"
>
< transition -group class = "draggable-group" >
< quota -item v -for = " ( item , index ) in view.yaxis " :key ="item.id" :param ="param" :index ="index" :item ="item" @onQuotaItemChange ="quotaItemChange" @onQuotaItemRemove ="quotaItemRemove" @editItemFilter ="showQuotaEditFilter" @onNameEdit ="showRename" / >
< / t r a n s i t i o n - g r o u p >
< / draggable >
< / e l - r o w >
< / e l - r o w >
< div ref = "imageWrapper" style = "height: 100%" >
< chart -component v -if = " httpRequest.status & & chart.type & & ! chart.type.includes ( ' table ' ) & & ! chart.type.includes ( ' text ' ) " :chart-id ="chart.id" :chart ="chart" class = "chart-class" / >
< table -normal v -if = " httpRequest.status & & chart.type & & chart.type.includes ( ' table ' ) " :chart ="chart" class = "table-class" / >
@ -506,7 +521,7 @@ export default {
watch : {
'param' : function ( ) {
if ( this . param . optType === 'new' ) {
/ /
} else {
this . getData ( this . param . id )
}
@ -762,8 +777,8 @@ export default {
/ / 左 边 往 右 边 拖 动 时 的 事 件
start1 ( e ) {
/ / c o n s o l e . l o g ( e )
e . clone . className = 'item -on-move '
e . item . className = 'item -on-move '
e . clone . className = 'item '
e . item . className = 'item '
} ,
end1 ( e ) {
/ / c o n s o l e . l o g ( e )
@ -1046,7 +1061,8 @@ export default {
} ,
changeDs ( ) {
this . changeDsTitle = this . $t ( 'chart.change_ds' ) + '[' + this . table . name + ']'
const dialogTitle = ( this . table && this . table . name ) ? ( '[' + this . table . name + ']' ) : ''
this . changeDsTitle = this . $t ( 'chart.change_ds' ) + dialogTitle
this . selectTableFlag = true
} ,
@ -1179,9 +1195,15 @@ export default {
. tab - header >>> . el - tabs _ _nav - scroll {
padding - left : 0 ! important ;
}
. tab - header >>> . el - tabs _ _header {
margin : 0 ! important ;
}
. tab - header >>> . el - tabs _ _content {
height : 100 % ;
}
. draggable - group {
display : inline - block ;
display : block;
width : 100 % ;
height : calc ( 100 % - 6 px ) ;
}
@ -1203,7 +1225,7 @@ export default {
}
. el - radio {
margin : 6 px ;
margin : 5 px ;
}
. el - radio >>> . el - radio _ _label {
@ -1211,7 +1233,7 @@ export default {
}
. attr - style {
height : calc ( 100 vh - 56 px - 25 vh - 40 px - 6 2px - 60 px - 2 0px ) ;
height : calc ( 100 vh - 56 px - 25 vh - 40 px - 6 0px ) ;
}
. attr - selector {
@ -1238,11 +1260,11 @@ export default {
}
. chart - class {
height : calc ( 100 % - 84 px ) ;
height : 100 % ;
padding : 10 px ;
}
. table - class {
height : calc ( 100 % - 104 px ) ;
height : calc ( 100 % - 20 px ) ;
margin : 10 px ;
}
@ -1275,4 +1297,13 @@ export default {
. field - height {
height : calc ( 50 % - 20 px ) ;
}
. padding - tab {
padding : 0 ;
height : 100 % ;
}
. collapse - style >>> . el - collapse - item _ _header {
height : 40 px ;
line - height : 40 px ;
padding : 0 0 0 10 px ;
}
< / style >