ソースを参照

连锁库存总入、总出报表

chenrui 3 年 前
コミット
fdd5df6e1f

+ 50 - 0
src/config/router.config.js

@@ -1593,6 +1593,56 @@ export const asyncRouterMap = [
               }
             ]
           },
+          {
+            path: '/reportData/chainStockIncomeReport',
+            redirect: '/reportData/chainStockIncomeReport/list',
+            name: 'chainStockIncomeReport',
+            component: BlankLayout,
+            meta: {
+              title: '连锁库存总入报表',
+              icon: 'profile',
+              permission: 'M_chainStockIncomeReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'chainStockIncomeReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/chainStockIncomeReport/list.vue'),
+                meta: {
+                  title: '连锁库存总入报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_chainStockIncomeReportList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/chainStockExpenditureReport',
+            redirect: '/reportData/chainStockExpenditureReport/list',
+            name: 'chainStockExpenditureReport',
+            component: BlankLayout,
+            meta: {
+              title: '连锁库存总出报表',
+              icon: 'profile',
+              permission: 'M_chainStockExpenditureReportList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'chainStockExpenditureReportList',
+                component: () => import(/* webpackChunkName: "reportData" */ '@/views/reportData/chainStockExpenditureReport/list.vue'),
+                meta: {
+                  title: '连锁库存总出报表列表',
+                  icon: 'profile',
+                  hidden: true,
+                  permission: 'M_chainStockExpenditureReportList'
+                }
+              }
+            ]
+          },
           {
             path: '/reportData/receivedSendStorageReport',
             redirect: '/reportData/receivedSendStorageReport/list',

+ 352 - 0
src/views/reportData/chainStockExpenditureReport/list.vue

@@ -0,0 +1,352 @@
+<template>
+  <a-card size="small" :bordered="false" class="chainStockExpenditureReportList-wrap">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <!-- 搜索条件 -->
+      <div class="table-page-search-wrapper">
+        <a-form-model
+          id="chainStockExpenditureReportList-form"
+          ref="ruleForm"
+          class="form-model-con"
+          layout="inline"
+          :model="queryParam"
+          :rules="rules"
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          @keyup.enter.native="handelSearch" >
+          <a-row :gutter="15">
+            <a-col :md="6" :sm="24">
+              <a-form-model-item label="连锁店" prop="tenantId">
+                <a-select
+                  placeholder="请选择连锁店"
+                  id="chainStockExpenditureReportList-tenantId"
+                  allowClear
+                  v-model="queryParam.tenantId"
+                  :showSearch="true"
+                  option-filter-prop="children"
+                  :filter-option="filterOption">
+                  <a-select-option v-for="item in linkageGroupData" :key="item.dealerSn" :value="item.dealerSn">{{ item.dealerName }}</a-select-option>
+                </a-select>
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-model-item label="出库完成时间" prop="time">
+                <rangeDate ref="rangeDate" @change="dateChange" />
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-button type="primary" @click="handelSearch" id="chainStockExpenditureReportList-refresh">查询</a-button>
+              <a-button style="margin-left: 8px" @click="resetSearchForm" id="chainStockExpenditureReportList-reset">重置</a-button>
+            </a-col>
+          </a-row>
+        </a-form-model>
+      </div>
+      <!-- 列表 -->
+      <a-row :gutter="15" style="margin-top: 50px;">
+        <a-col :md="12" :sm="24">
+          <div class="chart-box">
+            <div class="chart-hj">
+              库存总出数量:{{ (totalData&&totalData.totalQty) ? totalData.totalQty : '--' }},
+              总成本:¥{{ (totalData&&totalData.totalCost) ? totalData.totalCost : '--' }}
+            </div>
+            <div id="con1" class="chart"></div>
+          </div>
+        </a-col>
+        <a-col :md="12" :sm="24" style="margin-top: 30px;">
+          <a-table
+            class="sTable"
+            ref="table"
+            size="small"
+            :rowKey="(record) => record.dataBizTypeDictValue"
+            :columns="columns"
+            :dataSource="tableData"
+            :loading="listLoading"
+            :pagination="false"
+            bordered>
+          </a-table>
+        </a-col>
+      </a-row>
+    </a-spin>
+  </a-card>
+</template>
+
+<script>
+import rangeDate from '@/views/common/rangeDate.vue'
+import echarts from 'echarts'
+import { linkageGroupList } from '@/api/reportData'
+import { reportStockOutList } from '@/api/reportStock'
+export default {
+  components: { rangeDate },
+  data () {
+    return {
+      spinning: false,
+      queryParam: { //  查询条件
+        time: [],
+        beginDate: '',
+        endDate: '',
+        tenantId: undefined
+      },
+      labelCol: { span: 8 },
+      wrapperCol: { span: 16 },
+      rules: {
+        'tenantId': [{ required: true, message: '请选择连锁店', trigger: 'change' }],
+        'time': [{ required: true, message: '请选择出库完成时间', trigger: 'change' }]
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      columns: [
+        { title: '明细项', dataIndex: 'dataBizTypeDictValue', width: '30%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '数量(件)', dataIndex: 'productQty', width: '20%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '成本(元)', dataIndex: 'productCost', width: '20%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '售价(元)', dataIndex: 'productPrice', width: '20%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+      ],
+      // 统计图
+      pieData: [],
+      pieColor: ['#00aaff', '#ffaa00', '#00aa00', '#ff55ff', '#1dc5d4', '#8465c7', '#00ffff'],
+      tableData: [], //  含总计数据
+      loadData: [], //  不含总计数据
+      listLoading: false,
+      chart1: null,
+      totalData: null,
+      linkageGroupData: []
+    }
+  },
+
+  methods: {
+    // 初始化饼图 title: 标题 data:数据 bit:单位
+    initPie (chart, title, data, bit) {
+      const legend = []
+      if (bit) {
+        data.map(item => {
+          const p = `${item.name}: ${item.value}${bit}`
+          legend.push(p)
+        })
+      }
+      const option = {
+        color: this.pieColor,
+        title: {
+          text: title,
+          top: 20,
+          left: 20,
+          textStyle: {
+            color: '#abd7ff'
+          },
+          textAlingn: 'left'
+        },
+        tooltip: {
+          trigger: 'item',
+          formatter: `{b} : {d}%`
+        },
+        legend: {
+          orient: 'horizontal',
+          left: 'center',
+          bottom: '5',
+          padding: 5,
+          textStyle: {
+            color: '#abd7ff',
+            fontSize: 10
+          },
+          show: !!bit,
+          formatter: function (name) {
+            if (bit) {
+              const p = data.find(item => item.name == name)
+              return name + (p ? (':' + p.value + bit) : '')
+            }
+          }
+        },
+        series: [{
+          type: 'pie',
+          radius: ['50%', '70%'],
+          startAngle: 75,
+          top: 50,
+          avoidLabelOverlap: true, // 在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠
+          label: {
+            normal: {
+              formatter: params => {
+                return (
+                  '{name|' + params.name + '}{value|' + params.percent + '%' + '}'
+                )
+              },
+              padding: [0, -70, 25, -70],
+              rich: {
+                name: {
+                  fontSize: 12,
+                  padding: [0, 4, 0, 4],
+                  color: '#999'
+                },
+                value: {
+                  fontSize: 12,
+                  color: '#999'
+                }
+              }
+            }
+          },
+          labelLine: {
+            normal: {
+              length: 20,
+              length2: 70,
+              lineStyle: {
+                color: '#e6e6e6'
+              }
+            }
+          },
+          data: data,
+          insideLabel: {
+            show: true
+          }
+        }]
+      }
+      return option
+    },
+    //  时间  change
+    dateChange (date) {
+      this.queryParam.time = date
+      this.queryParam.beginDate = date[0] || ''
+      this.queryParam.endDate = date[1] || ''
+    },
+    handelSearch () {
+      this.$refs.ruleForm.validate(valid => {
+        if (valid) {
+          this.getList()
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+      })
+    },
+    // 查询列表
+    getList () {
+      const params = {
+        beginDate: this.queryParam.beginDate,
+        endDate: this.queryParam.endDate,
+        tenantId: this.queryParam.tenantId
+      }
+      // 开始查询
+      this.listLoading = true
+      this.spinning = true
+      reportStockOutList(params).then(res => {
+        this.listLoading = false
+        if (res.status == 200 && res.data) {
+          const reportStockOutVOList = (res.data && res.data.reportStockOutVOList) ? res.data.reportStockOutVOList : []
+          const totalQty = (res.data && (res.data.totalQty || res.data.totalQty == 0)) ? res.data.totalQty : '--'
+          const totalPrice = (res.data && (res.data.totalPrice || res.data.totalPrice == 0)) ? res.data.totalPrice : '--'
+          const totalCost = (res.data && (res.data.totalCost || res.data.totalCost == 0)) ? res.data.totalCost : '--'
+          this.totalData = {
+            totalQty: totalQty,
+            totalPrice: totalPrice,
+            totalCost: totalCost
+          }
+          if (reportStockOutVOList) {
+            this.loadData = res.data.reportStockOutVOList
+            this.tableData = res.data.reportStockOutVOList
+            const total = [{ dataBizTypeDictValue: '总出', productQty: totalQty, productCost: totalCost, productPrice: totalPrice }]
+            this.tableData = [...this.tableData, ...total]
+          } else {
+            this.loadData = []
+            this.tableData = []
+          }
+          this.chartInit()
+        } else {
+          this.loadData = []
+          this.tableData = []
+          this.totalData = null
+          this.chartInit()
+        }
+        this.spinning = false
+      })
+    },
+    chartInit () {
+      this.pieData = []
+      if (this.loadData.length < 1) {
+        this.pieData = [{ name: '总成本', value: 0 }]
+      } else {
+        this.loadData.map((item, index) => {
+          if (index != this.loadData.length) {
+            this.pieData.push({
+              name: item.dataBizTypeDictValue + '总成本',
+              value: item.productCost
+            })
+          }
+        })
+      }
+      const con1 = document.getElementById('con1')
+      const chart1 = echarts.init(con1)
+      const option = this.initPie(chart1, '', this.pieData)
+      chart1.setOption(option)
+      this.chart1 = chart1
+      this.chart1.resize()
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate()
+      this.queryParam.time = []
+      this.queryParam.beginDate = ''
+      this.queryParam.endDate = ''
+      this.queryParam.tenantId = undefined
+      this.loadData = []
+      this.tableData = []
+      this.totalData = null
+      this.chartInit()
+    },
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 连锁店
+    getLinkageGroup () {
+      linkageGroupList({}).then(res => {
+        if (res.status == 200) {
+          const data = res.data || []
+          if (data.length > 0) {
+            this.linkageGroupData = data
+          } else {
+            this.linkageGroupData = []
+          }
+        } else {
+          this.linkageGroupData = []
+        }
+      })
+    },
+    pageInit () {
+      this.getLinkageGroup()
+      window.onresize = () => {
+        return (() => {
+          this.chart1.resize()
+        })()
+      }
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>
+<style lang="less">
+  .chainStockExpenditureReportList-wrap{
+    min-height: 700px;
+    .chart-box{
+      height: 400px;
+      .chart-hj{
+        font-size: 22px;
+        text-align: center;
+      }
+      .chart{
+        width: 100%;
+        height: 450px;
+        overflow: auto;
+      }
+    }
+  }
+</style>

+ 352 - 0
src/views/reportData/chainStockIncomeReport/list.vue

@@ -0,0 +1,352 @@
+<template>
+  <a-card size="small" :bordered="false" class="chainStockIncomeReportList-wrap">
+    <a-spin :spinning="spinning" tip="Loading...">
+      <!-- 搜索条件 -->
+      <div class="table-page-search-wrapper">
+        <a-form-model
+          id="chainStockIncomeReportList-form"
+          ref="ruleForm"
+          class="form-model-con"
+          layout="inline"
+          :model="queryParam"
+          :rules="rules"
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          @keyup.enter.native="handelSearch" >
+          <a-row :gutter="15">
+            <a-col :md="6" :sm="24">
+              <a-form-model-item label="连锁店" prop="tenantId">
+                <a-select
+                  placeholder="请选择连锁店"
+                  id="chainStockIncomeReportList-tenantId"
+                  allowClear
+                  v-model="queryParam.tenantId"
+                  :showSearch="true"
+                  option-filter-prop="children"
+                  :filter-option="filterOption">
+                  <a-select-option v-for="item in linkageGroupData" :key="item.dealerSn" :value="item.dealerSn">{{ item.dealerName }}</a-select-option>
+                </a-select>
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-form-model-item label="入库完成时间" prop="time">
+                <rangeDate ref="rangeDate" :value="queryParam.time" @change="dateChange" />
+              </a-form-model-item>
+            </a-col>
+            <a-col :md="6" :sm="24">
+              <a-button type="primary" @click="handelSearch" id="chainStockIncomeReportList-refresh">查询</a-button>
+              <a-button style="margin-left: 8px" @click="resetSearchForm" id="chainStockIncomeReportList-reset">重置</a-button>
+            </a-col>
+          </a-row>
+        </a-form-model>
+      </div>
+      <!-- 列表 -->
+      <a-row :gutter="15" style="margin-top: 50px;">
+        <a-col :md="12" :sm="24">
+          <div class="chart-box">
+            <div class="chart-hj">
+              库存总入数量:{{ (totalData&&totalData.totalQty) ? totalData.totalQty : '--' }},
+              总成本:¥{{ (totalData&&totalData.totalCost) ? totalData.totalCost : '--' }}
+            </div>
+            <div id="con1" class="chart"></div>
+          </div>
+        </a-col>
+        <a-col :md="12" :sm="24" style="margin-top: 30px;">
+          <a-table
+            class="sTable"
+            ref="table"
+            size="small"
+            :rowKey="(record) => record.dataBizTypeDictValue"
+            :columns="columns"
+            :dataSource="tableData"
+            :loading="listLoading"
+            :pagination="false"
+            bordered>
+          </a-table>
+        </a-col>
+      </a-row>
+    </a-spin>
+  </a-card>
+</template>
+
+<script>
+import rangeDate from '@/views/common/rangeDate.vue'
+import echarts from 'echarts'
+import { reportStockPutList } from '@/api/reportStock'
+import { linkageGroupList } from '@/api/reportData'
+export default {
+  components: { rangeDate },
+  data () {
+    return {
+      spinning: false,
+      queryParam: { //  查询条件
+        time: [],
+        beginDate: '',
+        endDate: '',
+        tenantId: undefined
+      },
+      labelCol: { span: 8 },
+      wrapperCol: { span: 16 },
+      rules: {
+        'tenantId': [{ required: true, message: '请选择连锁店', trigger: 'change' }],
+        'time': [{ required: true, message: '请选择入库完成时间', trigger: 'change' }]
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      columns: [
+        { title: '明细项', dataIndex: 'dataBizTypeDictValue', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '数量(件)', dataIndex: 'productQty', width: '25%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '成本(元)', dataIndex: 'productCost', width: '25%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '售价(元)', dataIndex: 'productPrice', width: '25%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+      ],
+      // 统计图
+      pieData: [],
+      pieColor: ['#00aaff', '#ffaa00', '#00aa00', '#ff55ff', '#1dc5d4', '#8465c7', '#00ffff'],
+      tableData: [], //  含总计数据
+      loadData: [], //  不含总计数据
+      listLoading: false,
+      chart1: null,
+      totalData: null,
+      linkageGroupData: []
+    }
+  },
+
+  methods: {
+    // 初始化饼图 title: 标题 data:数据 bit:单位
+    initPie (chart, title, data, bit) {
+      const legend = []
+      if (bit) {
+        data.map(item => {
+          const p = `${item.name}: ${item.value}${bit}`
+          legend.push(p)
+        })
+      }
+      const option = {
+        color: this.pieColor,
+        title: {
+          text: title,
+          top: 20,
+          left: 20,
+          textStyle: {
+            color: '#abd7ff'
+          },
+          textAlingn: 'left'
+        },
+        tooltip: {
+          trigger: 'item',
+          formatter: `{b} : {d}%`
+        },
+        legend: {
+          orient: 'horizontal',
+          left: 'center',
+          bottom: '5',
+          padding: 5,
+          textStyle: {
+            color: '#abd7ff',
+            fontSize: 10
+          },
+          show: !!bit,
+          formatter: function (name) {
+            if (bit) {
+              const p = data.find(item => item.name == name)
+              return name + (p ? (':' + p.value + bit) : '')
+            }
+          }
+        },
+        series: [{
+          type: 'pie',
+          radius: ['50%', '70%'],
+          startAngle: 75,
+          top: 50,
+          avoidLabelOverlap: true, // 在标签拥挤重叠的情况下会挪动各个标签的位置,防止标签间的重叠
+          label: {
+            normal: {
+              formatter: params => {
+                return (
+                  '{name|' + params.name + '}{value|' + params.percent + '%' + '}'
+                )
+              },
+              padding: [0, -70, 25, -70],
+              rich: {
+                name: {
+                  fontSize: 12,
+                  padding: [0, 4, 0, 4],
+                  color: '#999'
+                },
+                value: {
+                  fontSize: 12,
+                  color: '#999'
+                }
+              }
+            }
+          },
+          labelLine: {
+            normal: {
+              length: 20,
+              length2: 70,
+              lineStyle: {
+                color: '#e6e6e6'
+              }
+            }
+          },
+          data: data,
+          insideLabel: {
+            show: true
+          }
+        }]
+      }
+      return option
+    },
+    //  时间  change
+    dateChange (date) {
+      this.queryParam.time = date
+      this.queryParam.beginDate = date[0] || ''
+      this.queryParam.endDate = date[1] || ''
+    },
+    handelSearch () {
+      this.$refs.ruleForm.validate(valid => {
+        if (valid) {
+          this.getList()
+        } else {
+          console.log('error submit!!')
+          return false
+        }
+      })
+    },
+    // 查询列表
+    getList () {
+      const params = {
+        beginDate: this.queryParam.beginDate,
+        endDate: this.queryParam.endDate,
+        tenantId: this.queryParam.tenantId
+      }
+      // 开始查询
+      this.listLoading = true
+      this.spinning = true
+      reportStockPutList(params).then(res => {
+        this.listLoading = false
+        if (res.status == 200 && res.data) {
+          const reportStockPutVOList = (res.data && res.data.reportStockPutVOList) ? res.data.reportStockPutVOList : []
+          const totalQty = (res.data && (res.data.totalQty || res.data.totalQty == 0)) ? res.data.totalQty : '--'
+          const totalPrice = (res.data && (res.data.totalPrice || res.data.totalPrice == 0)) ? res.data.totalPrice : '--'
+          const totalCost = (res.data && (res.data.totalCost || res.data.totalCost == 0)) ? res.data.totalCost : '--'
+          this.totalData = {
+            totalQty: totalQty,
+            totalPrice: totalPrice,
+            totalCost: totalCost
+          }
+          if (reportStockPutVOList) {
+            this.loadData = res.data.reportStockPutVOList
+            this.tableData = res.data.reportStockPutVOList
+            const total = [{ dataBizTypeDictValue: '总入', productQty: totalQty, productCost: totalCost, productPrice: totalPrice }]
+            this.tableData = [...this.tableData, ...total]
+          } else {
+            this.loadData = []
+            this.tableData = []
+          }
+          this.chartInit()
+        } else {
+          this.loadData = []
+          this.tableData = []
+          this.totalData = null
+          this.chartInit()
+        }
+        this.spinning = false
+      })
+    },
+    chartInit () {
+      this.pieData = []
+      if (this.loadData.length < 1) {
+        this.pieData = [{ name: '总成本', value: 0 }]
+      } else {
+        this.loadData.map((item, index) => {
+          if (index != this.loadData.length) {
+            this.pieData.push({
+              name: item.dataBizTypeDictValue + '总成本',
+              value: item.productCost
+            })
+          }
+        })
+      }
+      const con1 = document.getElementById('con1')
+      const chart1 = echarts.init(con1)
+      const option = this.initPie(chart1, '', this.pieData)
+      chart1.setOption(option)
+      this.chart1 = chart1
+      this.chart1.resize()
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate()
+      this.queryParam.time = []
+      this.queryParam.beginDate = ''
+      this.queryParam.endDate = ''
+      this.queryParam.tenantId = undefined
+      this.loadData = []
+      this.tableData = []
+      this.totalData = null
+      this.chartInit()
+    },
+    filterOption (input, option) {
+      return (
+        option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      )
+    },
+    // 连锁店
+    getLinkageGroup () {
+      linkageGroupList({}).then(res => {
+        if (res.status == 200) {
+          const data = res.data || []
+          if (data.length > 0) {
+            this.linkageGroupData = data
+          } else {
+            this.linkageGroupData = []
+          }
+        } else {
+          this.linkageGroupData = []
+        }
+      })
+    },
+    pageInit () {
+      this.getLinkageGroup()
+      window.onresize = () => {
+        return (() => {
+          this.chart1.resize()
+        })()
+      }
+    }
+  },
+  mounted () {
+    if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  activated () {
+    // 如果是新页签打开,则重置当前页面
+    if (this.$store.state.app.isNewTab) {
+      this.pageInit()
+      this.resetSearchForm()
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>
+<style lang="less">
+  .chainStockIncomeReportList-wrap{
+    min-height: 700px;
+    .chart-box{
+      height: 400px;
+      .chart-hj{
+        font-size: 22px;
+        text-align: center;
+      }
+      .chart{
+        width: 100%;
+        height: 450px;
+        overflow: auto;
+      }
+    }
+  }
+</style>

+ 5 - 0
src/views/reportData/stockExpenditureReport/list.vue

@@ -225,6 +225,11 @@ export default {
             this.tableData = []
           }
           this.chartInit()
+        } else {
+          this.loadData = []
+          this.tableData = []
+          this.totalData = null
+          this.chartInit()
         }
         this.spinning = false
       })

+ 5 - 0
src/views/reportData/stockIncomeReport/list.vue

@@ -225,6 +225,11 @@ export default {
             this.tableData = []
           }
           this.chartInit()
+        } else {
+          this.loadData = []
+          this.tableData = []
+          this.totalData = null
+          this.chartInit()
         }
         this.spinning = false
       })