<template>
<div>
<template v-for="(seriesValue, seriesKey) in queryParam">
<a-row class="row-class">
<!--領(lǐng)域-businessArea-->
<a-col :span="2" class="left-msg">業(yè)務(wù)領(lǐng)域:</a-col>
<a-col :span="2">
<a-select v-model="seriesValue['businessArea']" class="select-width">
<a-select-option :value="businessAreaItem.value"
v-for="(businessAreaItem, businessAreaIndex) in queryParamModule" :key="businessAreaIndex">
{{ businessAreaItem.name }}
</a-select-option>
</a-select>
</a-col>
<!--主題-topic-->
<template v-if="seriesValue['businessArea']">
<a-col :span="1" class="left-msg">主題:</a-col>
<a-col :span="2">
<a-select v-model="seriesValue['topic']" class="select-width">
<a-select-option :value="topicItem.value"
v-for="(topicItem, topicIndex) in forTopic(seriesKey)"
:key="topicIndex">
{{ topicItem.name }}
</a-select-option>
</a-select>
</a-col>
</template>
<!-- 維度-xType -->
<template v-if="seriesValue['topic']">
<a-col :span="1" class="left-msg">維度:</a-col>
<a-col :span="2">
<a-select v-model="seriesValue['xType']" class="select-width">
<a-select-option :value="xTypeItem.value"
v-for="(xTypeItem, xTypeIndex) in forXType(seriesKey)"
:key="xTypeIndex">
{{ xTypeItem.name }}
</a-select-option>
</a-select>
</a-col>
</template>
<!-- 指標(biāo)-target -->
<template v-if="seriesValue['topic']">
<a-col :span="1" class="left-msg">指標(biāo):</a-col>
<a-col :span="2">
<a-select v-model="seriesValue['target']" class="select-width">
<a-select-option :value="targetItem.value"
v-for="(targetItem, targetIndex) in forTarget(seriesKey)"
:key="targetIndex">
{{ targetItem.name }}
</a-select-option>
</a-select>
</a-col>
</template>
</a-row>
</template>
<a-row class="row-class">
<a-col :span="2" class="left-msg">圖表:</a-col>
<a-col :span="22">
<a-radio-group v-model="chart">
<a-radio :value="index" v-for="(item, index) in { 'a' : '線性圖', 'b' : '柱狀圖','c':'條形圖','d':'餅圖'}" :key="index">
{{ item }}
</a-radio>
</a-radio-group>
</a-col>
</a-row>
<a-row>
<a-col :span="22">
</a-col>
<a-col :span="2">
<a-button type="primary" @click="onSubmit">統(tǒng)計</a-button>
</a-col>
</a-row>
</div>
</template>
<script>
export default {
name: 'headTab',
watch: {},
created () {
Object.keys(this.queryParam).forEach(item => {
this.watchCallBack.push(this.$watch(`queryParam.${item}.businessArea`, function (v) {
if (v) {
this.$set(this.queryParam[item], 'topic', undefined)
this.$set(this.queryParam[item], 'xType', undefined)
this.$set(this.queryParam[item], 'target', undefined)
}
}, { deep: true, immediate: true }));
this.watchCallBack.push(this.$watch(`queryParam.${item}.topic`, function (v) {
if (v) {
this.$set(this.queryParam[item], 'xType', undefined)
this.$set(this.queryParam[item], 'target', undefined)
}
}, { deep: true, immediate: true }));
})
},
computed: {
forTopic () {
return (series) => {
return this.queryParamModule[this.queryParam[series]['businessArea'] - 1]['topic']
}
},
forXType () {
return (series) => {
return this.queryParamModule[this.queryParam[series]['businessArea'] - 1]['topic'][this.queryParam[series]['topic'] - 1]['xType']
}
},
forTarget () {
return (series) => {
return this.queryParamModule[this.queryParam[series]['businessArea'] - 1]['topic'][this.queryParam[series]['topic'] - 1]['target']
}
}
},
data () {
return {
watchCallBack: [],
queryParamModule: [
/*
用戶領(lǐng)域-businessArea-1
主題-topic 維度-xType 指標(biāo)-target
平臺訪問-1 日期-1 訪問人數(shù)-1
月份-2 注冊人數(shù)-2
溯源人數(shù)-3
抽獎人數(shù)-4
閱讀人數(shù)-5
會員分布-2 省份-1 會員人數(shù)-1
產(chǎn)品-2
農(nóng)作物-3
*/
{
'name': '用戶領(lǐng)域',
'value': '1',
'topic': [
{
'name': '平臺訪問',
'value': '1',
'xType': [
{ 'name': '日期', 'value': '1' },
{ 'name': '月份', 'value': '2' },
{ 'name': '溯源人數(shù)', 'value': '3' },
{ 'name': '抽獎人數(shù)', 'value': '4' },
{ 'name': '閱讀人數(shù)', 'value': '5' }
],
'target': [
{ 'name': '訪問人數(shù)', 'value': '1' },
{ 'name': '注冊人數(shù)', 'value': '2' }
]
},
{
'name': '會員分布',
'value': '2',
'xType': [
{ 'name': '省份', 'value': '1' },
{ 'name': '產(chǎn)品', 'value': '2' },
{ 'name': '農(nóng)作物', 'value': '3' }
],
'target': [
{ 'name': '會員人數(shù)', 'value': '1' }
]
}
]
}
/*
渠道領(lǐng)域-businessArea-2
主題-topic 維度-xType 指標(biāo)-target
渠道分析-1 省份-1 門店數(shù)量-1
溯源分析-2 日期-1 溯源次數(shù)-1
月份-2
產(chǎn)品-3
經(jīng)銷商-4
產(chǎn)品分類-5
*/
],
chart: '',
queryParam: {
data1Request: {
businessArea: undefined,
topic: undefined,
xType: undefined,
target: undefined
},
data2Request: {
businessArea: undefined,
topic: undefined,
xType: undefined,
target: undefined
}
}
}
},
methods: {
onSubmit () {
let series = ['businessArea', 'topic', 'xType', 'target']
let pass1 = series.every(value => {
return this.queryParam.data1Request[value] != undefined
})
if (!pass1) {
this.$message.info('請選擇完整')
return false
}
this.$emit('onSubmit', this.queryParam)
}
},
beforeDestroy () {
this.watchCallBack.forEach(item => item());
}
}
</script>
<style scoped>
.left-msg {
color: #000;
text-align: right;
padding-right: 10px;
}
.row-class {
min-height: 32px;
margin: 8px 0;
display: flex;
align-items: center;
}
.select-width {
width: 140px;
}
</style>
2021-03-25
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進(jìn)店門陌凳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剥懒,“玉大人,你說我怎么就攤上這事合敦〕蹰伲” “怎么了?”我有些...
- 文/不壞的土叔 我叫張陵充岛,是天一觀的道長保檐。 經(jīng)常有香客問我,道長崔梗,這世上最難降的妖魔是什么夜只? 我笑而不...
- 正文 為了忘掉前任,我火速辦了婚禮蒜魄,結(jié)果婚禮上扔亥,老公的妹妹穿的比我還像新娘。我一直安慰自己谈为,他們只是感情好旅挤,可當(dāng)我...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伞鲫,像睡著了一般谦铃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榔昔,一...
- 文/蒼蘭香墨 我猛地睜開眼默穴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褪秀?” 一聲冷哼從身側(cè)響起蓄诽,我...
- 正文 年R本政府宣布巍耗,位于F島的核電站叫确,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏芍锦。R本人自食惡果不足惜竹勉,卻給世界環(huán)境...
- 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娄琉。 院中可真熱鬧次乓,春花似錦、人聲如沸孽水。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽女气。三九已至杏慰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缘滥。 一陣腳步聲響...