2021-03-25

<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>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昂勉,一起剝皮案震驚了整個濱河市躬翁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖悼凑,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡即碗,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門陌凳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來剥懒,“玉大人,你說我怎么就攤上這事合敦〕蹰伲” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵充岛,是天一觀的道長保檐。 經(jīng)常有香客問我,道長崔梗,這世上最難降的妖魔是什么夜只? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮蒜魄,結(jié)果婚禮上扔亥,老公的妹妹穿的比我還像新娘。我一直安慰自己谈为,他們只是感情好旅挤,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著伞鲫,像睡著了一般谦铃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上榔昔,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天驹闰,我揣著相機與錄音瘪菌,去河邊找鬼。 笑死嘹朗,一個胖子當(dāng)著我的面吹牛师妙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播屹培,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼默穴,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了褪秀?” 一聲冷哼從身側(cè)響起蓄诽,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎媒吗,沒想到半個月后仑氛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡闸英,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年锯岖,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片甫何。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡出吹,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辙喂,到底是詐尸還是另有隱情捶牢,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布巍耗,位于F島的核電站叫确,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏芍锦。R本人自食惡果不足惜竹勉,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望娄琉。 院中可真熱鬧次乓,春花似錦、人聲如沸孽水。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽女气。三九已至杏慰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缘滥。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工轰胁, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朝扼。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓赃阀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親擎颖。 傳聞我的和親對象是個殘疾皇子榛斯,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348