Browse Source

报表 创建文件

chenrui 4 năm trước cách đây
mục cha
commit
8130cb12f3

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

@@ -1707,6 +1707,81 @@ export const asyncRouterMap = [
                 }
               }
             ]
+          },
+          {
+            path: '/reportData/districtTypeSalesDetails',
+            redirect: '/reportData/districtTypeSalesDetails/list',
+            name: 'districtTypeSalesDetails',
+            component: RouteView,
+            meta: {
+              title: '全国各区品类实际销售明细',
+              icon: 'deployment-unit'
+              // permission: 'M_warehouseList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'districtTypeSalesDetailsList',
+                component: () => import(/* webpackChunkName: "shop" */ '@/views/reportData/districtTypeSalesDetails/list.vue'),
+                meta: {
+                  title: '全国各区品类实际销售明细列表',
+                  icon: 'deployment-unit',
+                  hidden: true
+                  // permission: 'M_warehouseList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/regionalPromotionCostStatistics',
+            redirect: '/reportData/regionalPromotionCostStatistics/list',
+            name: 'regionalPromotionCostStatistics',
+            component: RouteView,
+            meta: {
+              title: '区域促销费用统计',
+              icon: 'deployment-unit'
+              // permission: 'M_warehouseList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'regionalPromotionCostStatisticsList',
+                component: () => import(/* webpackChunkName: "shop" */ '@/views/reportData/regionalPromotionCostStatistics/list.vue'),
+                meta: {
+                  title: '区域促销费用统计列表',
+                  icon: 'deployment-unit',
+                  hidden: true
+                  // permission: 'M_warehouseList'
+                }
+              }
+            ]
+          },
+          {
+            path: '/reportData/nationalCustomerCostStatistics',
+            redirect: '/reportData/nationalCustomerCostStatistics/list',
+            name: 'nationalCustomerCostStatistics',
+            component: RouteView,
+            meta: {
+              title: '全国各区品类实际销售明细',
+              icon: 'deployment-unit'
+              // permission: 'M_warehouseList'
+            },
+            hideChildrenInMenu: true,
+            children: [
+              {
+                path: 'list',
+                name: 'nationalCustomerCostStatisticsList',
+                component: () => import(/* webpackChunkName: "shop" */ '@/views/reportData/nationalCustomerCostStatistics/list.vue'),
+                meta: {
+                  title: '全国各区品类实际销售明细列表',
+                  icon: 'deployment-unit',
+                  hidden: true
+                  // permission: 'M_warehouseList'
+                }
+              }
+            ]
           }
         ]
       },

+ 2 - 8
src/libs/reportData.js

@@ -1,12 +1,6 @@
 // 报表 数据
 export default {
-  reportDataList: [
-    { id: 'A', area: '西北地区', province: '陕西省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'B', area: '华南地区', province: '云南省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'C', area: '华东地区', province: '山西省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'D', area: '西南地区', province: '湖北省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'E', area: '华东地区', province: '江苏省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'F', area: '华东地区', province: '湖北省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 },
-    { id: 'G', area: '西南地区', province: '陕西省', targetName: 12, dealerLevelDictValue: 22, totalQty: 34, totalCost: 33, totalPrice: 88, auditTime: 133, allocateTypeName: 55, stateDictValue: 5, printStateDictValue: 8, printCount: 3, printCounts: 12, printCsounts: 9, printdCounts: 7, prfintCounts: 3, printCogunts: 32, phrintCounts: 78, printCsountss: 74, prinftCounts: 77, prisntCogunts: 4, prinxtCounts: 23, printCocunts: 15, printCvounts: 18, printCgounts: 16, printCouhnts: 27, printCoujnts: 34, printCournts: 39 }
+  provinceTypeSalesList: [
+    { id: 'A', area: 'A区', targetName: 100.00, dealerLevelDictValue: 200.00, totalQty: 300.00, totalCost: 300.00, totalPrice: 400.00, auditTime: 700.00, allocateTypeName: 500.00, stateDictValue: 600.00, printStateDictValue: 700.00, printCount: 500.00, printCounts: 600.00, printCsounts: 700.00, printdCounts: 800.00, prfintCounts: 900.00, printCogunts: 1000.00, phrintCounts: 4500.00, printCsountss: 100.00, prinftCounts: 200.00, prisntCogunts: 300.00, prinxtCounts: 600.00, printCocunts: 400.00, printCvounts: 500.00, printCgounts: 900.00, printCouhnts: 600.00, printCoujnts: 700.00, printCournts: 800.00 }
   ]
 }

+ 154 - 0
src/views/reportData/districtTypeSalesDetails/list.vue

@@ -0,0 +1,154 @@
+<template>
+  <a-card size="small" :bordered="false" class="provinceTypeSalesDetailsList-wrap">
+    <!-- 搜索条件 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-row :gutter="15">
+          <a-col :md="6" :sm="24">
+            <a-form-item label="创建时间">
+              <rangeDate ref="rangeDate" @change="dateChange" />
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="区域">
+              <a-select id="provinceTypeSalesDetailsList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择区域" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="省份">
+              <a-select id="provinceTypeSalesDetailsList-state" v-model="queryParam.state" placeholder="请选择省份" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="provinceTypeSalesDetailsList-refresh">查询</a-button>
+            <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="provinceTypeSalesDetailsList-reset">重置</a-button>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 列表 -->
+    <s-table
+      class="sTable"
+      ref="table"
+      size="default"
+      :rowKey="(record) => record.id"
+      :columns="columns"
+      :data="loadData"
+      :scroll="{ x: 3650 }"
+      bordered>
+    </s-table>
+  </a-card>
+</template>
+
+<script>
+import { STable, VSelect } from '@/components'
+import reportData from '@/libs/reportData'
+import rangeDate from '@/views/common/rangeDate.vue'
+// import { allocateBillList, allocateBillDel, allocateBillAudit, allocateBillExport } from '@/api/allocateBill'
+// import { allocateTypeAllList } from '@/api/allocateType'
+export default {
+  components: { STable, VSelect, rangeDate },
+  data () {
+    return {
+      advanced: false, // 高级搜索 展开/关闭
+      tableHeight: 0,
+      queryParam: { //  查询条件
+        beginDate: '',
+        endDate: '',
+        targetName: '', //  调往对象
+        allocateTypeSn: undefined, //  调拨类型
+        state: undefined, //  业务状态
+        allocateNo: '' //  调拨单号
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      exportLoading: false,
+      reportData: reportData.reportDataList,
+      columns: [
+        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
+        { title: '区域', dataIndex: 'area', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '省份', dataIndex: 'province', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '箭牌滤清器', dataIndex: 'targetName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌滤清器', dataIndex: 'dealerLevelDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '滤清器合计', dataIndex: 'totalQty', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌雨刮片', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌雨刮片', dataIndex: 'totalPrice', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '雨刮片合计', dataIndex: 'auditTime', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌刹车片', dataIndex: 'allocateTypeName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌感应线', dataIndex: 'stateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌刹车片', dataIndex: 'printStateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车片', dataIndex: 'printCount', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车油', dataIndex: 'printCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU感应线', dataIndex: 'printCsounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '刹车片合计', dataIndex: 'printdCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯润滑油', dataIndex: 'prfintCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯刹车油', dataIndex: 'printCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯变速箱油', dataIndex: 'phrintCounts', width: 140, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯合计', dataIndex: 'printCsountss', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升点火线圈', dataIndex: 'prinftCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升灯泡', dataIndex: 'prisntCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升合计', dataIndex: 'prinxtCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '汇箭', dataIndex: 'printCocunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '布瑞斯', dataIndex: 'printCvounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌喇叭', dataIndex: 'printCgounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌合计', dataIndex: 'printCouhnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'NGK', dataIndex: 'printCoujnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌+NGK总合计', dataIndex: 'printCournts', width: 150, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        // return allocateBillList(Object.assign(parameter, this.queryParam)).then(res => {
+        //   const data = res.data
+        //   const no = (data.pageNo - 1) * data.pageSize
+        //   for (var i = 0; i < data.list.length; i++) {
+        //     data.list[i].no = no + i + 1
+        //   }
+        //   this.disabled = false
+        //   return data
+        // })
+        const _this = this
+        return new Promise(function (resolve, reject) {
+          const data = {
+            pageNo: 1,
+            pageSize: 10,
+            list: reportData.provinceTypeSalesList,
+            count: 10
+          }
+          for (var i = 0; i < data.list.length; i++) {
+            data.list[i].no = i + 1
+          }
+          _this.disabled = false
+          resolve(data)
+        })
+      },
+      allocateTypeList: [], //  调拨类型
+      openModal: false //  新增编辑  弹框
+    }
+  },
+  methods: {
+    //  创建时间  change
+    dateChange (date) {
+      this.queryParam.beginDate = date[0]
+      this.queryParam.endDate = date[1]
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate()
+      this.queryParam.beginDate = ''
+      this.queryParam.endDate = ''
+      this.queryParam.targetName = ''
+      this.queryParam.allocateTypeSn = undefined
+      this.queryParam.state = undefined
+      this.queryParam.allocateNo = ''
+      this.$refs.table.refresh(true)
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>

+ 154 - 0
src/views/reportData/nationalCustomerCostStatistics/list.vue

@@ -0,0 +1,154 @@
+<template>
+  <a-card size="small" :bordered="false" class="provinceTypeSalesDetailsList-wrap">
+    <!-- 搜索条件 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-row :gutter="15">
+          <a-col :md="6" :sm="24">
+            <a-form-item label="创建时间">
+              <rangeDate ref="rangeDate" @change="dateChange" />
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="区域">
+              <a-select id="provinceTypeSalesDetailsList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择区域" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="省份">
+              <a-select id="provinceTypeSalesDetailsList-state" v-model="queryParam.state" placeholder="请选择省份" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="provinceTypeSalesDetailsList-refresh">查询</a-button>
+            <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="provinceTypeSalesDetailsList-reset">重置</a-button>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 列表 -->
+    <s-table
+      class="sTable"
+      ref="table"
+      size="default"
+      :rowKey="(record) => record.id"
+      :columns="columns"
+      :data="loadData"
+      :scroll="{ x: 3650 }"
+      bordered>
+    </s-table>
+  </a-card>
+</template>
+
+<script>
+import { STable, VSelect } from '@/components'
+import reportData from '@/libs/reportData'
+import rangeDate from '@/views/common/rangeDate.vue'
+// import { allocateBillList, allocateBillDel, allocateBillAudit, allocateBillExport } from '@/api/allocateBill'
+// import { allocateTypeAllList } from '@/api/allocateType'
+export default {
+  components: { STable, VSelect, rangeDate },
+  data () {
+    return {
+      advanced: false, // 高级搜索 展开/关闭
+      tableHeight: 0,
+      queryParam: { //  查询条件
+        beginDate: '',
+        endDate: '',
+        targetName: '', //  调往对象
+        allocateTypeSn: undefined, //  调拨类型
+        state: undefined, //  业务状态
+        allocateNo: '' //  调拨单号
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      exportLoading: false,
+      reportData: reportData.reportDataList,
+      columns: [
+        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
+        { title: '区域', dataIndex: 'area', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '省份', dataIndex: 'province', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '箭牌滤清器', dataIndex: 'targetName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌滤清器', dataIndex: 'dealerLevelDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '滤清器合计', dataIndex: 'totalQty', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌雨刮片', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌雨刮片', dataIndex: 'totalPrice', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '雨刮片合计', dataIndex: 'auditTime', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌刹车片', dataIndex: 'allocateTypeName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌感应线', dataIndex: 'stateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌刹车片', dataIndex: 'printStateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车片', dataIndex: 'printCount', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车油', dataIndex: 'printCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU感应线', dataIndex: 'printCsounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '刹车片合计', dataIndex: 'printdCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯润滑油', dataIndex: 'prfintCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯刹车油', dataIndex: 'printCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯变速箱油', dataIndex: 'phrintCounts', width: 140, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯合计', dataIndex: 'printCsountss', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升点火线圈', dataIndex: 'prinftCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升灯泡', dataIndex: 'prisntCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升合计', dataIndex: 'prinxtCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '汇箭', dataIndex: 'printCocunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '布瑞斯', dataIndex: 'printCvounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌喇叭', dataIndex: 'printCgounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌合计', dataIndex: 'printCouhnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'NGK', dataIndex: 'printCoujnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌+NGK总合计', dataIndex: 'printCournts', width: 150, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        // return allocateBillList(Object.assign(parameter, this.queryParam)).then(res => {
+        //   const data = res.data
+        //   const no = (data.pageNo - 1) * data.pageSize
+        //   for (var i = 0; i < data.list.length; i++) {
+        //     data.list[i].no = no + i + 1
+        //   }
+        //   this.disabled = false
+        //   return data
+        // })
+        const _this = this
+        return new Promise(function (resolve, reject) {
+          const data = {
+            pageNo: 1,
+            pageSize: 10,
+            list: reportData.provinceTypeSalesList,
+            count: 10
+          }
+          for (var i = 0; i < data.list.length; i++) {
+            data.list[i].no = i + 1
+          }
+          _this.disabled = false
+          resolve(data)
+        })
+      },
+      allocateTypeList: [], //  调拨类型
+      openModal: false //  新增编辑  弹框
+    }
+  },
+  methods: {
+    //  创建时间  change
+    dateChange (date) {
+      this.queryParam.beginDate = date[0]
+      this.queryParam.endDate = date[1]
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate()
+      this.queryParam.beginDate = ''
+      this.queryParam.endDate = ''
+      this.queryParam.targetName = ''
+      this.queryParam.allocateTypeSn = undefined
+      this.queryParam.state = undefined
+      this.queryParam.allocateNo = ''
+      this.$refs.table.refresh(true)
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>

+ 2 - 2
src/views/reportData/provinceTypeSalesDetails/list.vue

@@ -34,7 +34,7 @@
     <s-table
       class="sTable"
       ref="table"
-      size="defalut"
+      size="default"
       :rowKey="(record) => record.id"
       :columns="columns"
       :data="loadData"
@@ -115,7 +115,7 @@ export default {
           const data = {
             pageNo: 1,
             pageSize: 10,
-            list: reportData.reportDataList,
+            list: reportData.provinceTypeSalesList,
             count: 10
           }
           for (var i = 0; i < data.list.length; i++) {

+ 154 - 0
src/views/reportData/regionalPromotionCostStatistics/list.vue

@@ -0,0 +1,154 @@
+<template>
+  <a-card size="small" :bordered="false" class="provinceTypeSalesDetailsList-wrap">
+    <!-- 搜索条件 -->
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="$refs.table.refresh(true)">
+        <a-row :gutter="15">
+          <a-col :md="6" :sm="24">
+            <a-form-item label="创建时间">
+              <rangeDate ref="rangeDate" @change="dateChange" />
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="区域">
+              <a-select id="provinceTypeSalesDetailsList-allocateTypeSn" v-model="queryParam.allocateTypeSn" placeholder="请选择区域" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-form-item label="省份">
+              <a-select id="provinceTypeSalesDetailsList-state" v-model="queryParam.state" placeholder="请选择省份" allowClear >
+                <a-select-option v-for="item in allocateTypeList" :key="item.allocateTypeSn" :value="item.allocateTypeSn">{{ item.name }}</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="6" :sm="24">
+            <a-button type="primary" @click="$refs.table.refresh(true)" :disabled="disabled" id="provinceTypeSalesDetailsList-refresh">查询</a-button>
+            <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="provinceTypeSalesDetailsList-reset">重置</a-button>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+    <!-- 列表 -->
+    <s-table
+      class="sTable"
+      ref="table"
+      size="default"
+      :rowKey="(record) => record.id"
+      :columns="columns"
+      :data="loadData"
+      :scroll="{ x: 3650 }"
+      bordered>
+    </s-table>
+  </a-card>
+</template>
+
+<script>
+import { STable, VSelect } from '@/components'
+import reportData from '@/libs/reportData'
+import rangeDate from '@/views/common/rangeDate.vue'
+// import { allocateBillList, allocateBillDel, allocateBillAudit, allocateBillExport } from '@/api/allocateBill'
+// import { allocateTypeAllList } from '@/api/allocateType'
+export default {
+  components: { STable, VSelect, rangeDate },
+  data () {
+    return {
+      advanced: false, // 高级搜索 展开/关闭
+      tableHeight: 0,
+      queryParam: { //  查询条件
+        beginDate: '',
+        endDate: '',
+        targetName: '', //  调往对象
+        allocateTypeSn: undefined, //  调拨类型
+        state: undefined, //  业务状态
+        allocateNo: '' //  调拨单号
+      },
+      disabled: false, //  查询、重置按钮是否可操作
+      exportLoading: false,
+      reportData: reportData.reportDataList,
+      columns: [
+        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
+        { title: '区域', dataIndex: 'area', width: 200, align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '省份', dataIndex: 'province', align: 'center', customRender: function (text) { return text || '--' } },
+        { title: '箭牌滤清器', dataIndex: 'targetName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌滤清器', dataIndex: 'dealerLevelDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '滤清器合计', dataIndex: 'totalQty', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌雨刮片', dataIndex: 'totalCost', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌雨刮片', dataIndex: 'totalPrice', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '雨刮片合计', dataIndex: 'auditTime', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌刹车片', dataIndex: 'allocateTypeName', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌感应线', dataIndex: 'stateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '冠牌刹车片', dataIndex: 'printStateDictValue', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车片', dataIndex: 'printCount', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU刹车油', dataIndex: 'printCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'TBU感应线', dataIndex: 'printCsounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '刹车片合计', dataIndex: 'printdCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯润滑油', dataIndex: 'prfintCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯刹车油', dataIndex: 'printCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯变速箱油', dataIndex: 'phrintCounts', width: 140, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '德路斯合计', dataIndex: 'printCsountss', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升点火线圈', dataIndex: 'prinftCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升灯泡', dataIndex: 'prisntCogunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '稳升合计', dataIndex: 'prinxtCounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '汇箭', dataIndex: 'printCocunts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '布瑞斯', dataIndex: 'printCvounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '箭牌喇叭', dataIndex: 'printCgounts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌合计', dataIndex: 'printCouhnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: 'NGK', dataIndex: 'printCoujnts', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
+        { title: '品牌+NGK总合计', dataIndex: 'printCournts', width: 150, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } }
+      ],
+      // 加载数据方法 必须为 Promise 对象
+      loadData: parameter => {
+        this.disabled = true
+        // return allocateBillList(Object.assign(parameter, this.queryParam)).then(res => {
+        //   const data = res.data
+        //   const no = (data.pageNo - 1) * data.pageSize
+        //   for (var i = 0; i < data.list.length; i++) {
+        //     data.list[i].no = no + i + 1
+        //   }
+        //   this.disabled = false
+        //   return data
+        // })
+        const _this = this
+        return new Promise(function (resolve, reject) {
+          const data = {
+            pageNo: 1,
+            pageSize: 10,
+            list: reportData.provinceTypeSalesList,
+            count: 10
+          }
+          for (var i = 0; i < data.list.length; i++) {
+            data.list[i].no = i + 1
+          }
+          _this.disabled = false
+          resolve(data)
+        })
+      },
+      allocateTypeList: [], //  调拨类型
+      openModal: false //  新增编辑  弹框
+    }
+  },
+  methods: {
+    //  创建时间  change
+    dateChange (date) {
+      this.queryParam.beginDate = date[0]
+      this.queryParam.endDate = date[1]
+    },
+    //  重置
+    resetSearchForm () {
+      this.$refs.rangeDate.resetDate()
+      this.queryParam.beginDate = ''
+      this.queryParam.endDate = ''
+      this.queryParam.targetName = ''
+      this.queryParam.allocateTypeSn = undefined
+      this.queryParam.state = undefined
+      this.queryParam.allocateNo = ''
+      this.$refs.table.refresh(true)
+    }
+  },
+  beforeRouteEnter (to, from, next) {
+    next(vm => {})
+  }
+}
+</script>