<template>
  <div class="page">
    <topBar v-if="topList.length > 0"
            :topList="topList"
            :moren="moren"></topBar>
    <div class="thetopbox">
      <el-form label-width="100px">
        <el-row>
          <el-col :span="4">
            <el-form-item :label="'会员编号'"
                          prop="memberCode">
              <el-input clearable
                        v-model="select.memberCode"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="'会员姓名'"
                          prop="memberName">
              <el-input clearable
                        v-model="select.memberName"></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="'注册等级'">
              <el-select clearable
                         :placeholder="'请选择'"
                         v-model="select.pkRegisterGrade">
                <el-option v-for="item in gradeRangList"
                           :key="item.pkId"
                           :label="item.gradeName"
                           :value="item.pkId"></el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="'真实奖衔'">
              <el-select v-model="select.pkAwards"
                         clearable
                         :placeholder="'请选择'">
                <el-option v-for="item in awardsList"
                           :key="item.value"
                           :label="item.awardsName"
                           :value="item.pkId" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="'隶属体系'">
              <el-select v-model="select.pkVertex"
                         clearable
                         :placeholder="'请选择'">
                <el-option v-for="item in vertexList"
                           :key="item.value"
                           :label="item.vertexName"
                           :value="item.pkId" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <el-form-item :label="'隶属团队'">
              <el-select v-model="select.pkTeamCode"
                         clearable
                         :placeholder="'请选择'">
                <el-option v-for="item in memberteamList"
                           :key="item.value"
                           :label="item.teamName"
                           :value="item.pkId" />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item :label="'奖金日期'">
              <el-date-picker v-model="creationTime"
                              @change="changeTime"
                              value-format="yyyy-MM-dd"
                              type="daterange"
                              :clearable="false"
                              :range-separator="'至'"
                              :start-placeholder="'开始日期'"
                              :end-placeholder="'结束日期'">
              </el-date-picker>
            </el-form-item>
          </el-col>
          <el-col :span="4">
            <div class="searchbox">
              <el-button class="my_search"
                         @click="getSearch">
                {{ '搜索' }}</el-button>
              <el-button class="my_reset"
                         @click="reChongzhi">
                {{ '重置' }}</el-button>
            </div>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <div class="main">
      <div class="maintop">
        <div class="mainbtn">
          <el-button size="small"
                     class="thebtn1"
                     @click="handleExport">
            {{ '导出' }}</el-button>
        </div>
      </div>
      <div class="maintable">
        <el-table :data="tableData"
        v-loading="loading"
                  height="700px"
                  style="width: 100%"
                  :header-cell-style="{ background: '#EEEEEE' }"
                  @selection-change="handleSelectionChange">
          <el-table-column prop="colsele"
                           type="selection"
                           width="55">
          </el-table-column>
          <el-table-column align="center"
                           width="60"
                           prop="rowNumber"
                           :label="'排序'">
          </el-table-column>
          <el-table-column align="center"
                           prop="memberCode"
                           :label="'会员编号'">
          </el-table-column>
          <el-table-column align="center"
                           prop="memberName"
                           :label="'会员姓名'">
          </el-table-column>
          <el-table-column align="center"
                           prop="pkRegisterGradeVal"
                           :label="'注册等级'">
          </el-table-column>
          <el-table-column align="center"
                           prop="pkAwardsVal"
                           :label="'真实奖衔'">
          </el-table-column>
          <el-table-column align="center"
                           prop="vertexName"
                           :label="'隶属体系'">
          </el-table-column>
          <el-table-column align="center"
                           prop="teamName"
                           :label="'隶属团队'">
          </el-table-column>
          <el-table-column align="center"
                           prop="purRealSubtotal"
                           :label="'首购累计收入'+ `(${isOther()})`">
          </el-table-column>
          <el-table-column align="center"
                           prop="repurRealSubtotal"
                           :label="'复购累计收入'+ `(${isOther()})`">
          </el-table-column>
          <el-table-column align="center"
                           prop="realIncomeTotal"
                           :label="'合计累计收入'+ `(${isOther()})`">
          </el-table-column>
        </el-table>
      </div>
    </div>
    <pagination v-show="total > 0"
                :total="total"
                :page.sync="queryParams.pageNum"
                :limit.sync="queryParams.pageSize"
                @pagination="getSearch" />
  </div>
</template>
  
      <script>
import topBar from '@/components/topBar'
import * as api from '@/api/statistics'
import { isOther } from '@/utils/numberToCurrency'
import { getgradeRanglist, getAwardsListChiose } from '@/api/level'
import { getvertexValue, getmemberTeamList } from '@/api/member'
export default {
  name: 'incomeDetail',
  components: {
    topBar,
  },
  data() {
    return {
      moren: 'incomeDetail',
      topList: [
        {
          name: '收入明细',
          path: 'incomeDetail',
        },
      ],
      loading:false,
      queryParams: {
        pageNum: 1,
        pageSize: 50,
      },
      select: {},
      creationTime: [],
      total: 0,
      multipleSelection: [],
      tableData: [],
      gradeRangList: [],
      awardsList: [],
      vertexList: [], // 隶属体系
      memberteamList: [], // 隶属团队
    }
  },
  created() {
    this.getSearch()
    this.getData()
  },
  methods: {
    isOther,
    getData() {
      getgradeRanglist().then((res) => {
        this.gradeRangList = res.data
      })
      getAwardsListChiose().then((res) => {
        this.awardsList = res.rows
      })
      getmemberTeamList().then((res) => {
        this.memberteamList = res.rows
      })
      getvertexValue().then((res) => {
        this.vertexList = res.data
      })
    },
    changeTime(val) {
      this.select.startDate = val ? val[0] : ''
      this.select.endDate = val ? val[1] : ''
    },
    //导出
    handleExport() {
      this.$confirm('是否确认导出所有数据项?', '警告', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning',
      }).then((_) => {
        this.download(
          '/report/manager/member-awards/export-revenue-detai',
          Object.assign({}, this.queryParams, this.select),
          `${'收入明细'}${new Date().getTime()}.xlsx`
        )
      })
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
    },
    reChongzhi() {
      this.select = {}
      this.creationTime = []
      this.getSearch()
    },
    getSearch() {
      this.loading = true
      api
        .revenueList(Object.assign({}, this.queryParams, this.select))
        .then((res) => {
          this.tableData = res.rows
          this.total = res.total
          this.loading = false
        })
    },
  },
}
</script>
  <style lang="scss" scoped>
::v-deep .el-image-viewer__close {
  right: 500px;
}
::v-deep .dizhi .el-cascader {
  width: 100%;
}
::v-deep .el-range-editor.el-input__inner {
  width: 100%;
}
::v-deep .el-table thead {
  color: #000000;
}
::v-deep .el-table .warning-row {
  background: #f9f9f9;
}
.page {
  padding: 10px 20px;
  background: #f9f9f9;
  font-size: 14px;
  .thetopbox {
    padding: 15px 20px 15px 0;
    background: #ffffff;
    border-radius: 8px;
    .searchbox {
      display: flex;
      align-items: center;
      margin-left: 40px;
    }
    .searchtitle {
      margin-right: 10px;
    }
    .searchbtn {
      background: #08143f;
      color: #ffffff;
    }
  }
  .main {
    //margin-top: 20px;
    background: #f9f9f9;
    //border-radius: 8px;
    //box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);

    .maintop {
      display: flex;
      // padding: 10px 0;
      justify-content: space-between;
      align-items: center;
      .mainbtn {
        .thebtn1 {
          color: #ffffff;
          background: #ffad41;
          width: 68px;
          height: 32px;
        }
        .thebtn2 {
          color: #ffffff;
          background: #009b58;
          width: 68px;
          height: 32px;
        }
        .thebtn3 {
          color: #ffffff;
          background: #c8161d;
          width: 68px;
          height: 32px;
        }
      }
    }
  }
}
</style>
  