|
@@ -1,8 +1,8 @@
|
|
|
<style scoped lang="scss">
|
|
|
-::v-deep a {
|
|
|
- color: #409eff;
|
|
|
- display: block;
|
|
|
-}
|
|
|
+ ::v-deep a {
|
|
|
+ color: #409eff;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
</style>
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
@@ -51,10 +51,12 @@
|
|
|
icon="el-icon-search"
|
|
|
size="mini"
|
|
|
@click="handleQuery"
|
|
|
- >搜索</el-button
|
|
|
+ >搜索
|
|
|
+ </el-button
|
|
|
>
|
|
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
|
- >重置</el-button
|
|
|
+ >重置
|
|
|
+ </el-button
|
|
|
>
|
|
|
<el-button
|
|
|
type="warning"
|
|
@@ -63,7 +65,8 @@
|
|
|
size="mini"
|
|
|
@click="handleExport"
|
|
|
:loading="downLoadLoading"
|
|
|
- >导出</el-button
|
|
|
+ >导出
|
|
|
+ </el-button
|
|
|
>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
@@ -79,7 +82,7 @@
|
|
|
label="达人名称"
|
|
|
align="center"
|
|
|
prop="promoterNickName"
|
|
|
- width="200"
|
|
|
+ width="180"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
<a @click="toIndexDetail(scope.row)">
|
|
@@ -87,21 +90,16 @@
|
|
|
</a>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column
|
|
|
- label="达人Id"
|
|
|
- align="center"
|
|
|
- prop="promoterId"
|
|
|
- width="200"
|
|
|
- /> -->
|
|
|
+
|
|
|
<el-table-column
|
|
|
- label="订单数"
|
|
|
+ label="单数"
|
|
|
align="center"
|
|
|
prop="orderNum"
|
|
|
- width="100"
|
|
|
+ width="80"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
- label="有效订单数"
|
|
|
+ label="有效单数"
|
|
|
align="center"
|
|
|
prop="validOrderNUm"
|
|
|
width="100"
|
|
@@ -110,49 +108,82 @@
|
|
|
label="有效率"
|
|
|
align="center"
|
|
|
prop="validRadio"
|
|
|
- width="100"
|
|
|
+ width="70"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
{{
|
|
|
- scope.row.validRadio
|
|
|
- ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
+ scope.row.validRadio
|
|
|
+ ? (scope.row.validRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="GMV" align="center" prop="payAmount" width="80">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.payAmount ? (scope.row.payAmount / 100).toFixed(2) : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="GMV(有效)" align="center" prop="validPayAmount" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.validPayAmount ? (scope.row.validPayAmount / 100).toFixed(2) : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <!-- <el-table-column
|
|
|
+ label="服务费"
|
|
|
+ align="center"
|
|
|
+ prop="regimentalPromotionAmount"
|
|
|
+ width="80"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{
|
|
|
+ scope.row.regimentalPromotionAmount
|
|
|
+ ? allMoney(scope.row.regimentalPromotionAmount / 100)
|
|
|
+ : "-"
|
|
|
+ }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>-->
|
|
|
+
|
|
|
+
|
|
|
<el-table-column
|
|
|
label="发货数"
|
|
|
align="center"
|
|
|
prop="deliveryNum"
|
|
|
- width="100"
|
|
|
+ width="70"
|
|
|
>
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
label="发货率"
|
|
|
align="center"
|
|
|
prop="deliveryRadio"
|
|
|
- width="100"
|
|
|
+ width="70"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
{{
|
|
|
- scope.row.deliveryRadio
|
|
|
- ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
- : "-"
|
|
|
+ scope.row.deliveryRadio
|
|
|
+ ? (scope.row.deliveryRadio * 100).toFixed(2) + "%"
|
|
|
+ : "-"
|
|
|
}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="未发货数" align="center" prop="notDeliveryNum" width="100">
|
|
|
+ <el-table-column label="未发货数" align="center" prop="notDeliveryNum" width="80">
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="渠道" align="center" prop="userName" width="150">
|
|
|
+ <el-table-column label="渠道" align="center" prop="userName" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
{{
|
|
|
- scope.row.userName
|
|
|
- ? scope.row.userName
|
|
|
- : "-"
|
|
|
+ scope.row.userName
|
|
|
+ ? scope.row.userName
|
|
|
+ : "-"
|
|
|
}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
-
|
|
|
+
|
|
|
<el-table-column label="订单top3(订单数)" align="center" prop="topOrders">
|
|
|
<template slot-scope="scope">
|
|
|
<a
|
|
@@ -183,173 +214,76 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {
|
|
|
- listType,
|
|
|
- getType,
|
|
|
- delType,
|
|
|
- addType,
|
|
|
- updateType,
|
|
|
- refreshCache,
|
|
|
-} from "@/api/system/dict/type";
|
|
|
-import { getOrderList, downFilePost } from "@/api/supplyChain/supplyChain";
|
|
|
-export default {
|
|
|
- name: "Index",
|
|
|
- dicts: ["sys_normal_disable"],
|
|
|
- data() {
|
|
|
- return {
|
|
|
- downLoadLoading: false,
|
|
|
- dialogTableVisible: false,
|
|
|
- logPage: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- },
|
|
|
- logData: [],
|
|
|
- logTotal: 0,
|
|
|
- logLoading: false,
|
|
|
- // 遮罩层
|
|
|
- loading: true,
|
|
|
- // 选中数组
|
|
|
- ids: [],
|
|
|
- // 非单个禁用
|
|
|
- single: true,
|
|
|
- // 非多个禁用
|
|
|
- multiple: true,
|
|
|
- // 显示搜索条件
|
|
|
- showSearch: true,
|
|
|
- // 总条数
|
|
|
- total: 0,
|
|
|
- // 字典表格数据
|
|
|
- typeList: [],
|
|
|
- // 弹出层标题
|
|
|
- title: "",
|
|
|
- // 是否显示弹出层
|
|
|
- open: false,
|
|
|
- // 分配销售
|
|
|
- openAllocation: false,
|
|
|
- // 选择的销售id
|
|
|
- saleId: undefined,
|
|
|
- // 获取用户id
|
|
|
- userId: undefined,
|
|
|
- // 销售列表
|
|
|
- saleList: [],
|
|
|
- // 分配销售确定loading
|
|
|
- confirmLoadingSale: false,
|
|
|
- // 日期范围
|
|
|
- dateRange: [],
|
|
|
- // 查询参数
|
|
|
- queryParams: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10,
|
|
|
- promoterId: undefined,
|
|
|
- promoterNickName: undefined,
|
|
|
- orderStartDate: undefined,
|
|
|
- orderEndDate: undefined,
|
|
|
- },
|
|
|
- uploadDate: [new Date(), new Date()],
|
|
|
- //查询参数所用下拉数据
|
|
|
- queryParamsList: {},
|
|
|
- };
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.userId = this.$store.getters.userId;
|
|
|
- let date = new Date();
|
|
|
- let y = date.getFullYear();
|
|
|
- let MM = date.getMonth() + 1;
|
|
|
- MM = MM < 10 ? "0" + MM : MM;
|
|
|
- let dd = date.getDate();
|
|
|
- dd = dd < 10 ? "0" + dd : dd;
|
|
|
- this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
|
|
|
- },
|
|
|
- mounted() {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.getList();
|
|
|
- });
|
|
|
- },
|
|
|
- methods: {
|
|
|
- /** 导出按钮操作 */
|
|
|
- handleExport() {
|
|
|
- this.downLoadLoading = true;
|
|
|
- downFilePost(
|
|
|
- "/isv/supply_chain/exportPromoterTotal",
|
|
|
- this.addDateRange(
|
|
|
- this.queryParams,
|
|
|
- this.uploadDate,
|
|
|
- "orderStartDate",
|
|
|
- "orderEndDate"
|
|
|
- )
|
|
|
- ).then((res) => {
|
|
|
- let blob = new Blob([res], {
|
|
|
- type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
|
- });
|
|
|
- let downloadElement = document.createElement("a");
|
|
|
- let href = window.URL.createObjectURL(blob); //创建下载的链接
|
|
|
- downloadElement.href = href;
|
|
|
- downloadElement.download = `达人订单列表_${this.uploadDate[0]}-${this.uploadDate[1]}.xlsx`; //下载后文件名
|
|
|
- document.body.appendChild(downloadElement);
|
|
|
- downloadElement.click(); //点击下载
|
|
|
- document.body.removeChild(downloadElement); //下载完成移除元素
|
|
|
- window.URL.revokeObjectURL(href); //释放掉blob对象
|
|
|
- this.downLoadLoading = false;
|
|
|
- });
|
|
|
- },
|
|
|
- toDetail(item) {
|
|
|
- this.$router.replace({
|
|
|
- path: "/supplyChain/goodsDetails",
|
|
|
- query: {
|
|
|
- id: item.itemId,
|
|
|
- name: item.itemTitle,
|
|
|
- orderStartDate: this.uploadDate[0],
|
|
|
- orderEndDate: this.uploadDate[1],
|
|
|
+ import {
|
|
|
+ listType,
|
|
|
+ getType,
|
|
|
+ delType,
|
|
|
+ addType,
|
|
|
+ updateType,
|
|
|
+ refreshCache,
|
|
|
+ } from "@/api/system/dict/type";
|
|
|
+ import {getOrderList, downFilePost} from "@/api/supplyChain/supplyChain";
|
|
|
+
|
|
|
+ export default {
|
|
|
+ name: "Index",
|
|
|
+ dicts: ["sys_normal_disable"],
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ downLoadLoading: false,
|
|
|
+ dialogTableVisible: false,
|
|
|
+ logPage: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
},
|
|
|
- });
|
|
|
- },
|
|
|
- toIndexDetail(item) {
|
|
|
- this.$router.replace({
|
|
|
- path: "/supplyChain/indexDetails",
|
|
|
- query: {
|
|
|
- id: item.promoterId,
|
|
|
- name: item.promoterNickName,
|
|
|
- orderStartDate: this.uploadDate[0],
|
|
|
- orderEndDate: this.uploadDate[1],
|
|
|
+ logData: [],
|
|
|
+ logTotal: 0,
|
|
|
+ logLoading: false,
|
|
|
+ // 遮罩层
|
|
|
+ loading: true,
|
|
|
+ // 选中数组
|
|
|
+ ids: [],
|
|
|
+ // 非单个禁用
|
|
|
+ single: true,
|
|
|
+ // 非多个禁用
|
|
|
+ multiple: true,
|
|
|
+ // 显示搜索条件
|
|
|
+ showSearch: true,
|
|
|
+ // 总条数
|
|
|
+ total: 0,
|
|
|
+ // 字典表格数据
|
|
|
+ typeList: [],
|
|
|
+ // 弹出层标题
|
|
|
+ title: "",
|
|
|
+ // 是否显示弹出层
|
|
|
+ open: false,
|
|
|
+ // 分配销售
|
|
|
+ openAllocation: false,
|
|
|
+ // 选择的销售id
|
|
|
+ saleId: undefined,
|
|
|
+ // 获取用户id
|
|
|
+ userId: undefined,
|
|
|
+ // 销售列表
|
|
|
+ saleList: [],
|
|
|
+ // 分配销售确定loading
|
|
|
+ confirmLoadingSale: false,
|
|
|
+ // 日期范围
|
|
|
+ dateRange: [],
|
|
|
+ // 查询参数
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ promoterId: undefined,
|
|
|
+ promoterNickName: undefined,
|
|
|
+ orderStartDate: undefined,
|
|
|
+ orderEndDate: undefined,
|
|
|
},
|
|
|
- });
|
|
|
- },
|
|
|
- /** 查询字典类型列表 */
|
|
|
- getList() {
|
|
|
- this.loading = true;
|
|
|
- getOrderList(
|
|
|
- this.addDateRange(
|
|
|
- this.queryParams,
|
|
|
- this.uploadDate,
|
|
|
- "orderStartDate",
|
|
|
- "orderEndDate"
|
|
|
- )
|
|
|
- ).then((response) => {
|
|
|
- this.typeList = response.rows;
|
|
|
- this.total = response.total;
|
|
|
- this.loading = false;
|
|
|
- });
|
|
|
- },
|
|
|
- // 取消按钮
|
|
|
- cancel() {
|
|
|
- this.open = false;
|
|
|
- this.confirmLoading = false;
|
|
|
- this.reset();
|
|
|
+ uploadDate: [new Date(), new Date()],
|
|
|
+ //查询参数所用下拉数据
|
|
|
+ queryParamsList: {},
|
|
|
+ };
|
|
|
},
|
|
|
- // 表单重置
|
|
|
- reset() {
|
|
|
- this.form = {};
|
|
|
- this.dateFile = null;
|
|
|
- this.resetForm("form");
|
|
|
- },
|
|
|
- /** 搜索按钮操作 */
|
|
|
- handleQuery() {
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
- this.getList();
|
|
|
- },
|
|
|
- /** 重置按钮操作 */
|
|
|
- resetQuery() {
|
|
|
- this.dateRange = [];
|
|
|
+ created() {
|
|
|
+ this.userId = this.$store.getters.userId;
|
|
|
let date = new Date();
|
|
|
let y = date.getFullYear();
|
|
|
let MM = date.getMonth() + 1;
|
|
@@ -357,14 +291,112 @@ export default {
|
|
|
let dd = date.getDate();
|
|
|
dd = dd < 10 ? "0" + dd : dd;
|
|
|
this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
|
|
|
- this.resetForm("queryForm");
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
- this.handleQuery();
|
|
|
},
|
|
|
- // 多选框选中数据
|
|
|
- handleSelectionChange(selection) {
|
|
|
- this.ids = selection.map((item) => item.id);
|
|
|
+ mounted() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ /** 导出按钮操作 */
|
|
|
+ handleExport() {
|
|
|
+ this.downLoadLoading = true;
|
|
|
+ downFilePost(
|
|
|
+ "/isv/supply_chain/exportPromoterTotal",
|
|
|
+ this.addDateRange(
|
|
|
+ this.queryParams,
|
|
|
+ this.uploadDate,
|
|
|
+ "orderStartDate",
|
|
|
+ "orderEndDate"
|
|
|
+ )
|
|
|
+ ).then((res) => {
|
|
|
+ let blob = new Blob([res], {
|
|
|
+ type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
|
+ });
|
|
|
+ let downloadElement = document.createElement("a");
|
|
|
+ let href = window.URL.createObjectURL(blob); //创建下载的链接
|
|
|
+ downloadElement.href = href;
|
|
|
+ downloadElement.download = `达人订单列表_${this.uploadDate[0]}-${this.uploadDate[1]}.xlsx`; //下载后文件名
|
|
|
+ document.body.appendChild(downloadElement);
|
|
|
+ downloadElement.click(); //点击下载
|
|
|
+ document.body.removeChild(downloadElement); //下载完成移除元素
|
|
|
+ window.URL.revokeObjectURL(href); //释放掉blob对象
|
|
|
+ this.downLoadLoading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ toDetail(item) {
|
|
|
+ this.$router.replace({
|
|
|
+ path: "/supplyChain/goodsDetails",
|
|
|
+ query: {
|
|
|
+ id: item.itemId,
|
|
|
+ name: item.itemTitle,
|
|
|
+ orderStartDate: this.uploadDate[0],
|
|
|
+ orderEndDate: this.uploadDate[1],
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ toIndexDetail(item) {
|
|
|
+ this.$router.replace({
|
|
|
+ path: "/supplyChain/indexDetails",
|
|
|
+ query: {
|
|
|
+ id: item.promoterId,
|
|
|
+ name: item.promoterNickName,
|
|
|
+ orderStartDate: this.uploadDate[0],
|
|
|
+ orderEndDate: this.uploadDate[1],
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /** 查询字典类型列表 */
|
|
|
+ getList() {
|
|
|
+ this.loading = true;
|
|
|
+ getOrderList(
|
|
|
+ this.addDateRange(
|
|
|
+ this.queryParams,
|
|
|
+ this.uploadDate,
|
|
|
+ "orderStartDate",
|
|
|
+ "orderEndDate"
|
|
|
+ )
|
|
|
+ ).then((response) => {
|
|
|
+ this.typeList = response.rows;
|
|
|
+ this.total = response.total;
|
|
|
+ this.loading = false;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 取消按钮
|
|
|
+ cancel() {
|
|
|
+ this.open = false;
|
|
|
+ this.confirmLoading = false;
|
|
|
+ this.reset();
|
|
|
+ },
|
|
|
+ // 表单重置
|
|
|
+ reset() {
|
|
|
+ this.form = {};
|
|
|
+ this.dateFile = null;
|
|
|
+ this.resetForm("form");
|
|
|
+ },
|
|
|
+ /** 搜索按钮操作 */
|
|
|
+ handleQuery() {
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ /** 重置按钮操作 */
|
|
|
+ resetQuery() {
|
|
|
+ this.dateRange = [];
|
|
|
+ let date = new Date();
|
|
|
+ let y = date.getFullYear();
|
|
|
+ let MM = date.getMonth() + 1;
|
|
|
+ MM = MM < 10 ? "0" + MM : MM;
|
|
|
+ let dd = date.getDate();
|
|
|
+ dd = dd < 10 ? "0" + dd : dd;
|
|
|
+ this.uploadDate = [`${y}-${MM}-${dd}`, `${y}-${MM}-${dd}`];
|
|
|
+ this.resetForm("queryForm");
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.handleQuery();
|
|
|
+ },
|
|
|
+ // 多选框选中数据
|
|
|
+ handleSelectionChange(selection) {
|
|
|
+ this.ids = selection.map((item) => item.id);
|
|
|
+ },
|
|
|
},
|
|
|
- },
|
|
|
-};
|
|
|
+ };
|
|
|
</script>
|