|
@@ -0,0 +1,172 @@
|
|
|
+<template>
|
|
|
+ <div class="SalesReportRejectedNew">
|
|
|
+ <div class="table-header" style="line-height:36px">应收账款报表看板</div>
|
|
|
+ <el-table
|
|
|
+ :data="tableData"
|
|
|
+ v-loading="loading"
|
|
|
+ border
|
|
|
+ :max-height="maxHeight"
|
|
|
+ :size="'mini'"
|
|
|
+ style="width: 100%"
|
|
|
+ row-key="id"
|
|
|
+ stripe
|
|
|
+ >
|
|
|
+ <el-table-column label="业务公司" fixed="left" width="80" prop="depart">
|
|
|
+ <template slot-scope="scope">{{scope.row.depart.split('@')[1] || '总计'}}</template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="应收账款" prop="wpay_fee" align="center" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.wpay_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="已开票未回票" prop="wpay_ainv_fee" align="center" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.wpay_ainv_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="未开票" prop="winv_fee" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.winv_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="待开票" prop="inv_fee" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.inv_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="已发货未开票" prop="winv_asend_fee" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.winv_asend_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="未发货" prop="wpay_send_fee" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.wpay_send_fee) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="超60天已发货未开票" prop="winv_two_month" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.winv_two_month) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="超180天应收账款" prop="wpay_six_month" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ unit2TenThousand(scope.row.wpay_six_month) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import asyncRequest from "@/api/report";
|
|
|
+import setHeight from "@/mixins/index";
|
|
|
+import {
|
|
|
+ mapResponseCompletionCompanyName,
|
|
|
+ unit2TenThousand,
|
|
|
+ getCompanyLabel,
|
|
|
+ addition,
|
|
|
+ division,
|
|
|
+ multiplication
|
|
|
+} from "@/components/reports/src/_utils";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "WanyuTypeReport",
|
|
|
+ props: ["date"],
|
|
|
+ mixins: [setHeight],
|
|
|
+ watch: {
|
|
|
+ date: function(val) {
|
|
|
+ this.dataTime = val;
|
|
|
+ if (val) {
|
|
|
+ this.searchList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ total:{
|
|
|
+ day:0,
|
|
|
+ month:0,
|
|
|
+ total_tips: 0
|
|
|
+ },
|
|
|
+ mapResponseCompletionCompanyName,
|
|
|
+ dataTime: this.date,
|
|
|
+ loading: false,
|
|
|
+ maxHeight: "0",
|
|
|
+ tableData: []
|
|
|
+ };
|
|
|
+ },
|
|
|
+ async created() {
|
|
|
+ window.onresize = () => {
|
|
|
+ this.getHeight();
|
|
|
+ };
|
|
|
+ },
|
|
|
+ mounted() {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.getHeight();
|
|
|
+ });
|
|
|
+ this.searchList();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getCompanyLabel,
|
|
|
+ unit2TenThousand,
|
|
|
+ objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
+ if (columnIndex === 0) {
|
|
|
+ if (rowIndex % 2 === 0) {
|
|
|
+ return {
|
|
|
+ rowspan: 2,
|
|
|
+ colspan: 1
|
|
|
+ };
|
|
|
+ } else {
|
|
|
+ return {
|
|
|
+ rowspan: 0,
|
|
|
+ colspan: 0
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async searchList() {
|
|
|
+ this.loading = true;
|
|
|
+ this.tableData = [];
|
|
|
+ const res = await asyncRequest.list({
|
|
|
+ daytime: this.date
|
|
|
+ });
|
|
|
+
|
|
|
+ if (res.code === 0 && res.data && res.data.length > 0) {
|
|
|
+ const tableData = res.data
|
|
|
+ const totalItem = res.data.reduce((prev, current) => Object.keys(current).reduce((prev, currentKey) => ({
|
|
|
+ ...prev,
|
|
|
+ [currentKey]: currentKey !== 'depart' ? addition(current[currentKey] || 0, prev[currentKey] || 0) : '总计'
|
|
|
+ }), prev), {})
|
|
|
+
|
|
|
+ this.tableData = [...tableData,totalItem]
|
|
|
+ } else {
|
|
|
+ this.tableData = [];
|
|
|
+ }
|
|
|
+ this.getHeight();
|
|
|
+ this.loading = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.SalesReportRejectedNew {
|
|
|
+ padding: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.table-header {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: 700;
|
|
|
+ line-height: 30px;
|
|
|
+ border-bottom: none;
|
|
|
+}
|
|
|
+
|
|
|
+.table-sub__header {
|
|
|
+
|
|
|
+ span{
|
|
|
+ font-weight: bold !important;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|
|
|
+
|