|
@@ -1,365 +1,366 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <div style="margin-bottom: 15px">
|
|
|
- <el-date-picker
|
|
|
- v-model="uploadDate"
|
|
|
- style="width: 240px"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- format="yyyy-MM-dd"
|
|
|
- type="daterange"
|
|
|
- range-separator="-"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- ></el-date-picker>
|
|
|
-
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- icon="el-icon-search"
|
|
|
- size="mini"
|
|
|
- @click="handleQuery"
|
|
|
- style="margin-left: 15px"
|
|
|
- >搜索</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
-
|
|
|
- <el-row class="top-sum" :gutter="24">
|
|
|
- <el-col :span="12">
|
|
|
- <el-card shadow="never" class="card-show" v-loading="totalOneLoading">
|
|
|
- <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">订单总数</p>
|
|
|
- <p class="p-main">{{ order.orderNum }}</p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">有效订单数</p>
|
|
|
- <p class="p-main">{{ order.validOrderNUm }}</p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">失效订单数</p>
|
|
|
- <p class="p-main">{{ order.invalidOrderNUm }}</p>
|
|
|
- </div>
|
|
|
+ <div style="margin-bottom: 15px">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="uploadDate"
|
|
|
+ style="width: 240px"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ ></el-date-picker>
|
|
|
+
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ icon="el-icon-search"
|
|
|
+ size="mini"
|
|
|
+ @click="handleQuery"
|
|
|
+ style="margin-left: 15px"
|
|
|
+ >搜索
|
|
|
+ </el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-row class="top-sum" :gutter="24">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card shadow="never" class="card-show" v-loading="totalOneLoading">
|
|
|
+ <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">订单总数</p>
|
|
|
+ <p class="p-main">{{ order.orderNum }}</p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">有效订单数</p>
|
|
|
+ <p class="p-main">{{ order.validOrderNUm }}</p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">失效订单数</p>
|
|
|
+ <p class="p-main">{{ order.invalidOrderNUm }}</p>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div style="display: flex; width: 100%">
|
|
|
- <div style="margin-right: 20px">
|
|
|
- <p class="p-main-data">
|
|
|
- 数据对比:<i
|
|
|
- :style="ratioData.orderTotalRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
- >{{ (ratioData.orderTotalRatio * 100).toFixed(2) + "%" }}</i
|
|
|
- >
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- style="margin-right: 20px"
|
|
|
- :style="dateType == 0 ? '' : 'visibility: hidden'"
|
|
|
+ <div style="display: flex; width: 100%">
|
|
|
+ <div style="margin-right: 20px">
|
|
|
+ <p class="p-main-data">
|
|
|
+ 数据对比:<i
|
|
|
+ :style="ratioData.orderTotalRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
+ >{{ (ratioData.orderTotalRatio * 100).toFixed(2) + "%" }}</i
|
|
|
>
|
|
|
- <p class="p-main-data">
|
|
|
- 周同比:<i :style="order.yearRatio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
- (order.yearRatio * 100).toFixed(2) + "%"
|
|
|
- }}</i>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div :style="dateType == 0 ? '' : 'visibility: hidden'">
|
|
|
- <p class="p-main-data">
|
|
|
- 日环比:<i :style="order.ringRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
- >{{ (order.ringRatio * 100).toFixed(2) + "%" }}
|
|
|
- </i>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
- <!-- ringRatio: 0, -->
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-card shadow="never" class="card-show" v-loading="totalTwoLoading">
|
|
|
- <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">订单金额</p>
|
|
|
- <p class="p-main">
|
|
|
- {{ priceFormat(regimentalPromotion.regimentalPromotionAmount) }}
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">累计货款基数</p>
|
|
|
- <p class="p-main">
|
|
|
- {{ priceFormat(regimentalPromotion.personData) }}
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">预估佣金收入</p>
|
|
|
- <p class="p-main">
|
|
|
- {{ priceFormat(regimentalPromotion.complete) }}
|
|
|
- </p>
|
|
|
- </div>
|
|
|
+ <div
|
|
|
+ style="margin-right: 20px"
|
|
|
+ :style="dateType == 0 ? '' : 'visibility: hidden'"
|
|
|
+ >
|
|
|
+ <p class="p-main-data">
|
|
|
+ 周同比:<i :style="order.yearRatio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
+ (order.yearRatio * 100).toFixed(2) + "%"
|
|
|
+ }}</i>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
- <div style="display: flex; width: 100%">
|
|
|
- <div style="margin-right: 20px">
|
|
|
- <p class="p-main-data">
|
|
|
- 数据对比:<i
|
|
|
- :style="ratioData.orderAmountRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
- >{{ (ratioData.orderAmountRatio * 100).toFixed(2) + "%" }}</i
|
|
|
- >
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div
|
|
|
- style="margin-right: 20px"
|
|
|
- :style="dateType == 0 ? '' : 'visibility: hidden'"
|
|
|
+ <div :style="dateType == 0 ? '' : 'visibility: hidden'">
|
|
|
+ <p class="p-main-data">
|
|
|
+ 日环比:<i :style="order.ringRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
+ >{{ (order.ringRatio * 100).toFixed(2) + "%" }}
|
|
|
+ </i>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- ringRatio: 0, -->
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card shadow="never" class="card-show" v-loading="totalTwoLoading">
|
|
|
+ <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">订单金额</p>
|
|
|
+ <p class="p-main">
|
|
|
+ {{ priceFormat(regimentalPromotion.regimentalPromotionAmount) }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">累计货款基数</p>
|
|
|
+ <p class="p-main">
|
|
|
+ {{ priceFormat(regimentalPromotion.personData) }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">预估佣金收入</p>
|
|
|
+ <p class="p-main">
|
|
|
+ {{ priceFormat(regimentalPromotion.complete) }}
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; width: 100%">
|
|
|
+ <div style="margin-right: 20px">
|
|
|
+ <p class="p-main-data">
|
|
|
+ 数据对比:<i
|
|
|
+ :style="ratioData.orderAmountRatio > 0 ? 'color:red' : 'color:green'"
|
|
|
+ >{{ (ratioData.orderAmountRatio * 100).toFixed(2) + "%" }}</i
|
|
|
>
|
|
|
- <p class="p-main-data">
|
|
|
- 周同比:
|
|
|
- <i
|
|
|
- :style="
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style="margin-right: 20px"
|
|
|
+ :style="dateType == 0 ? '' : 'visibility: hidden'"
|
|
|
+ >
|
|
|
+ <p class="p-main-data">
|
|
|
+ 周同比:
|
|
|
+ <i
|
|
|
+ :style="
|
|
|
regimentalPromotion.yearRatio > 0 ? 'color:red' : 'color:green'
|
|
|
"
|
|
|
- >{{ (regimentalPromotion.yearRatio * 100).toFixed(2) + "%" }}
|
|
|
- </i>
|
|
|
- </p>
|
|
|
- </div>
|
|
|
- <div :style="dateType == 0 ? '' : 'visibility: hidden'">
|
|
|
- <p class="p-main-data">
|
|
|
- 日环比:<i
|
|
|
- :style="
|
|
|
+ >{{ (regimentalPromotion.yearRatio * 100).toFixed(2) + "%" }}
|
|
|
+ </i>
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ <div :style="dateType == 0 ? '' : 'visibility: hidden'">
|
|
|
+ <p class="p-main-data">
|
|
|
+ 日环比:<i
|
|
|
+ :style="
|
|
|
regimentalPromotion.ringRatio > 0 ? 'color:red' : 'color:green'
|
|
|
"
|
|
|
- >{{ (regimentalPromotion.ringRatio * 100).toFixed(2) + "%" }}</i
|
|
|
- >
|
|
|
- </p>
|
|
|
- </div>
|
|
|
+ >{{ (regimentalPromotion.ringRatio * 100).toFixed(2) + "%" }}</i
|
|
|
+ >
|
|
|
+ </p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- ringRatio: 0, -->
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12" style="margin-top: 24px">
|
|
|
+ <el-card shadow="never" class="card-show" v-loading="totalThreeLoading">
|
|
|
+ <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">达人总数</p>
|
|
|
+ <p class="p-main">{{ taskNumber.noStarted }}</p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">发货数</p>
|
|
|
+ <p class="p-main">{{ taskNumber.complete }}</p>
|
|
|
+ </div>
|
|
|
+ <div style="flex: 1">
|
|
|
+ <p class="p-title">发货率</p>
|
|
|
+ <p class="p-main">
|
|
|
+ {{
|
|
|
+ !!taskNumber.deliveryRadio
|
|
|
+ ? (taskNumber.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
+ }}
|
|
|
+ </p>
|
|
|
</div>
|
|
|
- <!-- ringRatio: 0, -->
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12" style="margin-top: 24px">
|
|
|
- <el-card shadow="never" class="card-show" v-loading="totalThreeLoading">
|
|
|
- <div style="display: flex; width: 100%; margin-bottom: 15px">
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">达人总数</p>
|
|
|
- <p class="p-main">{{ taskNumber.noStarted }}</p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">发货数</p>
|
|
|
- <p class="p-main">{{ taskNumber.complete }}</p>
|
|
|
- </div>
|
|
|
- <div style="flex: 1">
|
|
|
- <p class="p-title">发货率</p>
|
|
|
- <p class="p-main">
|
|
|
- {{
|
|
|
- !!taskNumber.deliveryRadio
|
|
|
- ? (taskNumber.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
- }}
|
|
|
- </p>
|
|
|
- </div>
|
|
|
+ </div>
|
|
|
+ <div style="display: flex; width: 100%; visibility: hidden">
|
|
|
+ <div style="margin-right: 20px">
|
|
|
+ <p class="p-main-data">周同比:{{ order.yearRatio }}</p>
|
|
|
</div>
|
|
|
- <div style="display: flex; width: 100%; visibility: hidden">
|
|
|
- <div style="margin-right: 20px">
|
|
|
- <p class="p-main-data">周同比:{{ order.yearRatio }}</p>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <p class="p-main-data">日环比:{{ order.ringRatio }}</p>
|
|
|
- </div>
|
|
|
+ <div>
|
|
|
+ <p class="p-main-data">日环比:{{ order.ringRatio }}</p>
|
|
|
</div>
|
|
|
- <!-- ringRatio: 0, -->
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row class="top-sum" :gutter="24" style="margin-top: 24px">
|
|
|
- <el-col :span="24">
|
|
|
- <el-card
|
|
|
- shadow="never"
|
|
|
- class="card-show"
|
|
|
- style="width: 100%; min-height: 700px"
|
|
|
- v-loading="echartsLoading"
|
|
|
- >
|
|
|
- <div slot="header" class="clearfix">
|
|
|
+ </div>
|
|
|
+ <!-- ringRatio: 0, -->
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row class="top-sum" :gutter="24" style="margin-top: 24px">
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-card
|
|
|
+ shadow="never"
|
|
|
+ class="card-show"
|
|
|
+ style="width: 100%; min-height: 700px"
|
|
|
+ v-loading="echartsLoading"
|
|
|
+ >
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
<span style="font-size: 16px; font-weight: bold; float: left"
|
|
|
>订单统计</span
|
|
|
>
|
|
|
- <el-select
|
|
|
- v-model="echartsType"
|
|
|
- placeholder="请选择类型"
|
|
|
- clearable
|
|
|
- style="width: 240px; float: right; padding: 3px 0"
|
|
|
- @change="changeEchartsType"
|
|
|
- >
|
|
|
- <el-option label="订单数" value="orderNum" />
|
|
|
- <el-option label="有效订单数" value="validOrderNum" />
|
|
|
- <el-option label="订单金额" value="orderAmount" />
|
|
|
- <el-option label="货款基数" value="baseAmount" />
|
|
|
- <el-option label="发货数" value="deliveryNum" />
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <!-- <el-date-picker
|
|
|
- v-model="uploadDateEcharts"
|
|
|
- style="width: 240px; float: left"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- format="yyyy-MM-dd"
|
|
|
- type="daterange"
|
|
|
- range-separator="-"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- @change="getAllEchartsData"
|
|
|
- ></el-date-picker> -->
|
|
|
- <div
|
|
|
- id="echart"
|
|
|
- ref="echart"
|
|
|
- style="height: 500px; width: 100%; margin-top: 50px"
|
|
|
- ></div>
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
- <el-row class="top-sum" :gutter="24" style="margin-top: 24px">
|
|
|
- <el-col :span="12">
|
|
|
- <el-card
|
|
|
- shadow="never"
|
|
|
- class="card-show"
|
|
|
- style="width: 100%; min-height: 700px"
|
|
|
- >
|
|
|
- <div slot="header" class="clearfix">
|
|
|
+ <el-select
|
|
|
+ v-model="echartsType"
|
|
|
+ placeholder="请选择类型"
|
|
|
+ clearable
|
|
|
+ style="width: 240px; float: right; padding: 3px 0"
|
|
|
+ @change="changeEchartsType"
|
|
|
+ >
|
|
|
+ <el-option label="订单数" value="orderNum"/>
|
|
|
+ <el-option label="有效订单数" value="validOrderNum"/>
|
|
|
+ <el-option label="订单金额" value="orderAmount"/>
|
|
|
+ <el-option label="货款基数" value="baseAmount"/>
|
|
|
+ <el-option label="发货数" value="deliveryNum"/>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <!-- <el-date-picker
|
|
|
+ v-model="uploadDateEcharts"
|
|
|
+ style="width: 240px; float: left"
|
|
|
+ value-format="yyyy-MM-dd"
|
|
|
+ format="yyyy-MM-dd"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="-"
|
|
|
+ start-placeholder="开始日期"
|
|
|
+ end-placeholder="结束日期"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ @change="getAllEchartsData"
|
|
|
+ ></el-date-picker> -->
|
|
|
+ <div
|
|
|
+ id="echart"
|
|
|
+ ref="echart"
|
|
|
+ style="height: 500px; width: 100%; margin-top: 50px"
|
|
|
+ ></div>
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-row class="top-sum" :gutter="24" style="margin-top: 24px">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card
|
|
|
+ shadow="never"
|
|
|
+ class="card-show"
|
|
|
+ style="width: 100%; min-height: 700px"
|
|
|
+ >
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
<span style="font-size: 16px; font-weight: bold; float: left"
|
|
|
>商品排行榜</span
|
|
|
>
|
|
|
- <!-- <el-button
|
|
|
- style="float: right; padding: 3px 0"
|
|
|
- type="text"
|
|
|
- @click="toOrderList"
|
|
|
- >更多>></el-button
|
|
|
- >-->
|
|
|
- </div>
|
|
|
- <el-table v-loading="orderRankLoading" :data="orderRankList">
|
|
|
- <!-- <el-table-column type="selection" width="55" align="center" /> -->
|
|
|
- <el-table-column type="index" :index="indexMethod"> </el-table-column>
|
|
|
- <el-table-column label="商品名称" align="center" prop="itemTitle">
|
|
|
- <template slot-scope="scope">
|
|
|
- <a
|
|
|
- :title="scope.row.itemTitle"
|
|
|
- @click="toOrderDetail(scope.row)"
|
|
|
- style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden"
|
|
|
- >
|
|
|
- {{ scope.row.itemTitle }}
|
|
|
- </a>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="订单数" align="center" prop="orderNum">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="有效订单" align="center" prop="validOrderNUm">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="有效率" align="center" prop="validRadio">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{
|
|
|
- scope.row.validRadio
|
|
|
- ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
- }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="发货数" align="center" prop="deliveryNum">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="发货率" align="center" prop="deliveryRadio">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{
|
|
|
- scope.row.deliveryRadio
|
|
|
- ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
- }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="日涨幅" align="center" prop="radio">
|
|
|
- <template slot-scope="scope">
|
|
|
- <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
- scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
|
|
|
- }}</i>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <pagination
|
|
|
- v-show="orderTotal > 0"
|
|
|
- :total="orderTotal"
|
|
|
- :page.sync="queryParams.pageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- @pagination="getIndexOrderRank"
|
|
|
- layout="total, prev, pager, next, jumper"
|
|
|
- :small="true"
|
|
|
- />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-card
|
|
|
- shadow="never"
|
|
|
- class="card-show"
|
|
|
- style="width: 100%; min-height: 700px"
|
|
|
- >
|
|
|
- <div slot="header" class="clearfix">
|
|
|
+ <!-- <el-button
|
|
|
+ style="float: right; padding: 3px 0"
|
|
|
+ type="text"
|
|
|
+ @click="toOrderList"
|
|
|
+ >更多>></el-button
|
|
|
+ >-->
|
|
|
+ </div>
|
|
|
+ <el-table v-loading="orderRankLoading" :data="orderRankList">
|
|
|
+ <!-- <el-table-column type="selection" width="55" align="center" /> -->
|
|
|
+ <el-table-column type="index" :index="indexMethod"></el-table-column>
|
|
|
+ <el-table-column label="商品名称" align="center" prop="itemTitle">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <a
|
|
|
+ :title="scope.row.itemTitle"
|
|
|
+ @click="toOrderDetail(scope.row)"
|
|
|
+ style="text-overflow: ellipsis; white-space: nowrap; overflow: hidden"
|
|
|
+ >
|
|
|
+ {{ scope.row.itemTitle }}
|
|
|
+ </a>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="订单数" align="center" prop="orderNum">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="有效订单" align="center" prop="validOrderNUm">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="有效率" align="center" prop="validRadio">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.validRadio
|
|
|
+ ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="发货数" align="center" prop="deliveryNum">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="发货率" align="center" prop="deliveryRadio">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.deliveryRadio
|
|
|
+ ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="日涨幅" align="center" prop="radio">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
+ scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
|
|
|
+ }}</i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ v-show="orderTotal > 0"
|
|
|
+ :total="orderTotal"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getIndexOrderRank"
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ :small="true"
|
|
|
+ />
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-card
|
|
|
+ shadow="never"
|
|
|
+ class="card-show"
|
|
|
+ style="width: 100%; min-height: 700px"
|
|
|
+ >
|
|
|
+ <div slot="header" class="clearfix">
|
|
|
<span style="font-size: 16px; font-weight: bold; float: left"
|
|
|
>达人排行榜</span
|
|
|
>
|
|
|
- <!-- <el-button
|
|
|
- style="float: right; padding: 3px 0"
|
|
|
- type="text"
|
|
|
- @click="toPersonList"
|
|
|
- >更多>></el-button
|
|
|
- >-->
|
|
|
- </div>
|
|
|
- <el-table v-loading="promoterLoading" :data="promoterRankList">
|
|
|
- <!-- <el-table-column type="selection" width="55" align="center" /> -->
|
|
|
- <el-table-column type="index" :index="indexMethodTwo" width="70">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="达人名称" align="center" prop="promoterNickName">
|
|
|
- <template slot-scope="scope">
|
|
|
- <a
|
|
|
- :title="scope.row.promoterNickName"
|
|
|
- @click="toPersonDetail(scope.row)"
|
|
|
- style="
|
|
|
+ <!-- <el-button
|
|
|
+ style="float: right; padding: 3px 0"
|
|
|
+ type="text"
|
|
|
+ @click="toPersonList"
|
|
|
+ >更多>></el-button
|
|
|
+ >-->
|
|
|
+ </div>
|
|
|
+ <el-table v-loading="promoterLoading" :data="promoterRankList">
|
|
|
+ <!-- <el-table-column type="selection" width="55" align="center" /> -->
|
|
|
+ <el-table-column type="index" :index="indexMethodTwo" width="70">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="达人名称" align="center" prop="promoterNickName">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <a
|
|
|
+ :title="scope.row.promoterNickName"
|
|
|
+ @click="toPersonDetail(scope.row)"
|
|
|
+ style="
|
|
|
width: 200px;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
overflow: hidden;
|
|
|
text-align: left;
|
|
|
"
|
|
|
- >
|
|
|
- {{ scope.row.promoterNickName }}
|
|
|
- </a>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="订单数" align="center" prop="orderNum">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="有效订单" align="center" prop="validOrderNUm">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="有效率" align="center" prop="validRadio">
|
|
|
- <template slot-scope="scope">
|
|
|
- {{
|
|
|
- scope.row.validRadio
|
|
|
- ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
- }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
-
|
|
|
- <el-table-column label="日涨幅" align="center" prop="radio">
|
|
|
- <template slot-scope="scope">
|
|
|
- <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
- scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
|
|
|
- }}</i>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <pagination
|
|
|
- v-show="promoterTotal > 0"
|
|
|
- :total="promoterTotal"
|
|
|
- :page.sync="queryParams.promoterPageNum"
|
|
|
- :limit.sync="queryParams.pageSize"
|
|
|
- layout="total, prev, pager, next, jumper"
|
|
|
- @pagination="getIndexPromoterRank"
|
|
|
- :small="true"
|
|
|
- />
|
|
|
- </el-card>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
+ >
|
|
|
+ {{ scope.row.promoterNickName }}
|
|
|
+ </a>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="订单数" align="center" prop="orderNum">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="有效订单" align="center" prop="validOrderNUm">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="有效率" align="center" prop="validRadio">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.validRadio
|
|
|
+ ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="日涨幅" align="center" prop="radio">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <i :style="scope.row.radio > 0 ? 'color:red' : 'color:green'">{{
|
|
|
+ scope.row.radio ? (scope.row.radio * 100).toFixed(2) + "%" : "-"
|
|
|
+ }}</i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <pagination
|
|
|
+ v-show="promoterTotal > 0"
|
|
|
+ :total="promoterTotal"
|
|
|
+ :page.sync="queryParams.promoterPageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ @pagination="getIndexPromoterRank"
|
|
|
+ :small="true"
|
|
|
+ />
|
|
|
+ </el-card>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
|
|
@@ -436,7 +437,7 @@
|
|
|
orderRankList: [],
|
|
|
orderRankLoading: false,
|
|
|
orderTotal: 0,
|
|
|
- queryParams: { pageNum: 1, pageSize: 10, promoterPageNum: 1 },
|
|
|
+ queryParams: {pageNum: 1, pageSize: 10, promoterPageNum: 1},
|
|
|
promoterRankList: [],
|
|
|
promoterLoading: false,
|
|
|
promoterTotal: 0,
|
|
@@ -533,13 +534,13 @@
|
|
|
this.uploadDateEcharts = [`${sy}-${sMM}-${sdd}`, `${ey}-${eMM}-${edd}`];
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.getIndexOrderInfo();
|
|
|
- this.getIndexServiceAmountInfo();
|
|
|
- this.getIndexAmountInfo();
|
|
|
- this.getIndexPromoterRank();
|
|
|
- this.getIndexOrderRank();
|
|
|
- this.getIndexStatistics();
|
|
|
- this.getTimeRatio();
|
|
|
+ this.getIndexOrderInfo();
|
|
|
+ this.getIndexServiceAmountInfo();
|
|
|
+ this.getIndexAmountInfo();
|
|
|
+ this.getIndexPromoterRank();
|
|
|
+ this.getIndexOrderRank();
|
|
|
+ this.getIndexStatistics();
|
|
|
+ this.getTimeRatio();
|
|
|
},
|
|
|
methods: {
|
|
|
getAllEchartsData(e) {
|
|
@@ -567,6 +568,7 @@
|
|
|
this.echartsLoading = true;
|
|
|
getIndexStatistics({
|
|
|
type: this.echartsType,
|
|
|
+ userId: this.userId,
|
|
|
orderStartDate: this.uploadDate[0],
|
|
|
orderEndDate: this.uploadDate[1],
|
|
|
}).then((response) => {
|
|
@@ -712,7 +714,7 @@
|
|
|
this.totalOneLoading = true;
|
|
|
getIndexOrderInfo(
|
|
|
this.addDateRange(
|
|
|
- { dateType: this.dateType },
|
|
|
+ {userId: this.userId, dateType: this.dateType},
|
|
|
this.uploadDate,
|
|
|
"orderStartDate",
|
|
|
"orderEndDate"
|
|
@@ -733,7 +735,7 @@
|
|
|
this.totalThreeLoading = true;
|
|
|
getIndexServiceAmountInfo(
|
|
|
this.addDateRange(
|
|
|
- { dateType: this.dateType },
|
|
|
+ {userId: this.userId, dateType: this.dateType},
|
|
|
this.uploadDate,
|
|
|
"orderStartDate",
|
|
|
"orderEndDate"
|
|
@@ -751,7 +753,7 @@
|
|
|
this.totalTwoLoading = true;
|
|
|
getIndexAmountInfo(
|
|
|
this.addDateRange(
|
|
|
- { dateType: this.dateType },
|
|
|
+ {userId: this.userId, dateType: this.dateType},
|
|
|
this.uploadDate,
|
|
|
"orderStartDate",
|
|
|
"orderEndDate"
|
|
@@ -772,7 +774,7 @@
|
|
|
getIndexPromoterRank(
|
|
|
this.addDateRange(
|
|
|
{
|
|
|
- dateType: this.dateType,
|
|
|
+ userId: this.userId, dateType: this.dateType,
|
|
|
pageNum: this.queryParams.promoterPageNum,
|
|
|
pageSize: 10,
|
|
|
},
|
|
@@ -788,7 +790,7 @@
|
|
|
},
|
|
|
getTimeRatio() {
|
|
|
getTimeRatio(
|
|
|
- this.addDateRange({}, this.uploadDate, "orderStartDate", "orderEndDate")
|
|
|
+ this.addDateRange({userId: this.userId}, this.uploadDate, "orderStartDate", "orderEndDate")
|
|
|
).then((response) => {
|
|
|
this.ratioData = {
|
|
|
orderAmountRatio: response.orderAmountRatio,
|
|
@@ -801,6 +803,7 @@
|
|
|
getIndexOrderRank(
|
|
|
this.addDateRange(
|
|
|
{
|
|
|
+ userId: this.userId,
|
|
|
dateType: this.dateType,
|
|
|
pageNum: this.queryParams.pageNum,
|
|
|
pageSize: 10,
|
|
@@ -921,20 +924,24 @@
|
|
|
<style scoped lang="scss">
|
|
|
.top-sum {
|
|
|
margin-bottom: 15px;
|
|
|
+
|
|
|
::v-deep .card-show {
|
|
|
text-align: center;
|
|
|
+
|
|
|
.p-title {
|
|
|
width: 100%;
|
|
|
font-size: 16px;
|
|
|
color: darkgray;
|
|
|
text-align: left;
|
|
|
}
|
|
|
+
|
|
|
.p-main {
|
|
|
width: 100%;
|
|
|
font-size: 22px;
|
|
|
font-weight: bold;
|
|
|
text-align: left;
|
|
|
}
|
|
|
+
|
|
|
.p-main-data {
|
|
|
width: 100%;
|
|
|
color: darkgray;
|
|
@@ -944,9 +951,11 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
::v-deep .el-form-item__label {
|
|
|
white-space: nowrap;
|
|
|
}
|
|
|
+
|
|
|
::v-deep a {
|
|
|
color: #409eff;
|
|
|
display: block;
|
|
@@ -961,12 +970,14 @@
|
|
|
font-size: 17.5px;
|
|
|
border-left: 5px solid #eee;
|
|
|
}
|
|
|
+
|
|
|
hr {
|
|
|
margin-top: 20px;
|
|
|
margin-bottom: 20px;
|
|
|
border: 0;
|
|
|
border-top: 1px solid #eee;
|
|
|
}
|
|
|
+
|
|
|
.col-item {
|
|
|
margin-bottom: 20px;
|
|
|
}
|