|
@@ -0,0 +1,175 @@
|
|
|
+<template>
|
|
|
+ <div class="SalesReportRejectedNew">
|
|
|
+ <!-- <div class="title">业绩达成报表(含退货)-产品确认单</div> -->
|
|
|
+ <!-- stripe -->
|
|
|
+ <div class="table-header">万宇业绩报表</div>
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ v-loading="loading"
|
|
|
+ border
|
|
|
+ :max-height="maxHeight"
|
|
|
+ :size="'mini'"
|
|
|
+ style="width: 100%"
|
|
|
+ row-key="id"
|
|
|
+ default-expand-all
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+ :tree-props="{ children: 'child', hasChildren: 'hasChildren' }"
|
|
|
+ >
|
|
|
+ <el-table-column prop="p" label="业绩类型" fixed="left" min-width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="本日金额" min-width="120" align="center">
|
|
|
+ <el-table-column show-overflow-tooltip label="销售" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.dtotal | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="退款" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.thfee | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="本周金额" min-width="120" align="center">
|
|
|
+ <el-table-column show-overflow-tooltip label="销售" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.wtotal | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="退款" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.wthfee | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="本月金额" min-width="120" align="center">
|
|
|
+ <el-table-column show-overflow-tooltip label="销售指标" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.tips | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column show-overflow-tooltip label="销售" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.mtotal | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="销售完成率"
|
|
|
+ min-width="95"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.rate ? scope.row.rate + "%" : "" }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="退款" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.mthfee | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column show-overflow-tooltip label="净销售" min-width="120">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.thtotal | toThousandFilter }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ show-overflow-tooltip
|
|
|
+ label="净销售完成率"
|
|
|
+ min-width="95"
|
|
|
+ >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.thrate ? scope.row.thrate + "%" : "" }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import asyncRequest from "@/api/report";
|
|
|
+import setHeight from "@/mixins/index";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "SalesReportRejectedNew",
|
|
|
+ props: ["date"],
|
|
|
+ mixins: [setHeight],
|
|
|
+ watch: {
|
|
|
+ date: function(val) {
|
|
|
+ this.dataTime = val;
|
|
|
+ if (val) {
|
|
|
+ this.searchList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ dataTime: this.date,
|
|
|
+ loading: false,
|
|
|
+ maxHeight: "0",
|
|
|
+ tableData: []
|
|
|
+ };
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ window.onresize = () => {
|
|
|
+ this.getHeight();
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getHeight();
|
|
|
+ });
|
|
|
+ this.searchList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ tableRowClassName({ row, rowIndex }) {
|
|
|
+ if ((row && row.child && row.child.length > 0) || rowIndex === 0) {
|
|
|
+ return "warning-row";
|
|
|
+ } else {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async searchList() {
|
|
|
+ this.loading = true;
|
|
|
+ this.tableData = [];
|
|
|
+ const res = await asyncRequest.departstat({});
|
|
|
+
|
|
|
+ if (res.code === 0 && res.data && res.data.length > 0) {
|
|
|
+ this.tableData = res.data;
|
|
|
+ this.tableData.map((v1, i1) => {
|
|
|
+ v1.id = i1 + "";
|
|
|
+ v1.p = v1.p ? v1.p : v1.depart;
|
|
|
+ if (v1.child && v1.child.length > 0) {
|
|
|
+ v1.child.map((v2, i2) => {
|
|
|
+ v2.id = "" + v1 + i2;
|
|
|
+ return v2;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return v1;
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ this.tableData = [];
|
|
|
+ }
|
|
|
+ this.getHeight();
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.SalesReportRejectedNew {
|
|
|
+}
|
|
|
+
|
|
|
+.table-header {
|
|
|
+ line-height: 40px;
|
|
|
+ background: #f5f7fa !important;
|
|
|
+ border: 1px solid #ebeef5;
|
|
|
+ text-align: center;
|
|
|
+ // color: #909399;
|
|
|
+ font-weight: bold;
|
|
|
+ border-bottom: none;
|
|
|
+}
|
|
|
+</style>
|