|
@@ -12,7 +12,7 @@
|
|
|
:model="queryParam">
|
|
|
<a-row :gutter="15">
|
|
|
<a-col :md="6" :sm="24">
|
|
|
- <a-form-model-item label="月份" prop="queryDate">
|
|
|
+ <a-form-model-item label="月份" prop="beginDate">
|
|
|
<a-month-picker
|
|
|
id="customerCountList-monthBox"
|
|
|
class="monthBox"
|
|
@@ -56,7 +56,7 @@
|
|
|
</a-col>
|
|
|
<a-col :md="6" :sm="24">
|
|
|
<a-form-model-item label="客服">
|
|
|
- <customerService ref="customerName" id="customerCountList-customerName" v-model="queryParam.bizUserSn"></customerService>
|
|
|
+ <customerService ref="customerName" id="customerCountList-customerName" v-model="queryParam.kfSn"></customerService>
|
|
|
</a-form-model-item>
|
|
|
</a-col>
|
|
|
</template>
|
|
@@ -78,7 +78,7 @@
|
|
|
@click="handleExport"
|
|
|
:disabled="disabled"
|
|
|
:loading="exportLoading"
|
|
|
- v-if="$hasPermissions('B_tireFeeExport')"
|
|
|
+ v-if="$hasPermissions('B_billingStatisticsExport')"
|
|
|
id="customerCountList-export">导出</a-button>
|
|
|
<a @click="advanced=!advanced" style="margin-left: 5px">
|
|
|
{{ advanced ? '收起' : '展开' }}
|
|
@@ -101,47 +101,17 @@
|
|
|
:style="{ height: tableHeight+70+'px' }"
|
|
|
:columns="columns"
|
|
|
:data="loadData"
|
|
|
- :scroll="{x:2200, y: tableHeight-120}"
|
|
|
+ :scroll="{x:2200, y: tableHeight-130}"
|
|
|
:defaultLoadData="false"
|
|
|
bordered>
|
|
|
- <template slot="footer">
|
|
|
+ <template slot="footer" v-if="totalData&&totalData.length">
|
|
|
<a-row :gutter="15">
|
|
|
- <a-col :md="24" :sm="24">合计:</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌滤清器:{{ (totalData && (totalData.increaseRewardAmount || totalData.increaseRewardAmount==0)) ? toThousands(totalData.increaseRewardAmount): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌变速箱滤清器:{{ (totalData && (totalData.increaseRewardShareFactory || totalData.increaseRewardShareFactory==0)) ? toThousands(totalData.increaseRewardShareFactory): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">冠牌滤清器:{{ (totalData && (totalData.increaseRewardShareSys || totalData.increaseRewardShareSys==0)) ? toThousands(totalData.increaseRewardShareSys): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">滤清器合计:{{ (totalData && (totalData.transSubsidy || totalData.transSubsidy==0)) ? toThousands(totalData.transSubsidy): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌雨刮片:{{ (totalData && (totalData.totalPoint || totalData.totalPoint==0)) ? toThousands(totalData.totalPoint): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌雨燕雨刮片:{{ (totalData && (totalData.currentPoint || totalData.currentPoint==0)) ? toThousands(totalData.currentPoint): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">冠牌雨刮片:{{ (totalData && (totalData.currentPointShareFactory || totalData.currentPointShareFactory==0)) ? toThousands(totalData.currentPointShareFactory): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">雨刮片合计:{{ (totalData && (totalData.currentPointShareSys || totalData.currentPointShareSys==0)) ?toThousands(totalData.currentPointShareSys): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌喇叭:{{ (totalData && (totalData.serviceAmountSys || totalData.serviceAmountSys==0)) ? toThousands(totalData.serviceAmountSys): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">箭牌刹车片:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">TBU+箭牌感应线:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">冠牌刹车片:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">TBU刹车片:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">TBU至惠刹车片:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">TBU刹车油:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">TBU-P刹车盘:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">刹车片合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">汇箭蓄电池:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">布瑞斯蓄电池:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">蓄电池合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">德路斯机油:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">德路斯变速箱油:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">德路斯刹车油:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">德路斯汽车养护产品:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">科润星机油:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">德路斯合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">稳升点火线圈:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">稳升LED灯:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">稳升合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">合计品牌:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">轮胎:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">NGk火花塞:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">飞利浦:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">代理品牌合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
- <a-col :md="4" :sm="24">品牌+代理品牌合计:{{ (totalData && (totalData.serviceAmountProvince || totalData.serviceAmountProvince==0)) ? toThousands(totalData.serviceAmountProvince): '--' }}</a-col>
|
|
|
+ <a-col span="24">合计:</a-col>
|
|
|
+ <a-col span="24">
|
|
|
+ <a-col span="4" v-for="item in totalData" :key="item.key">
|
|
|
+ {{ item.title }}:{{ item[item.key] ||item[item.key] ==0?toThousands(item[item.key]) :'--' }}
|
|
|
+ </a-col>
|
|
|
+ </a-col>
|
|
|
</a-row>
|
|
|
</template>
|
|
|
</s-table>
|
|
@@ -162,7 +132,7 @@ import dealerSubareaScopeList from '@/views/common/dealerSubareaScopeList.vue'
|
|
|
import BizUser from '@/views/common/bizUser.js'
|
|
|
import customerService from '@/views/common/customerService.vue'
|
|
|
// 接口
|
|
|
-import { tireFeeReportList, tireFeeReportCount, tireFeeListExport } from '@/api/reportData'
|
|
|
+import { salesStatsDealerList, salesStatsDealerTitle, salesStatsDealerCount, salesStatsDealerExport } from '@/api/reportData'
|
|
|
export default {
|
|
|
name: 'CustomerCountList',
|
|
|
mixins: [commonMixin],
|
|
@@ -177,26 +147,25 @@ export default {
|
|
|
monthVal: moment().format('YYYY-MM'), // 初始化月份值
|
|
|
// 查询条件
|
|
|
queryParam: {
|
|
|
- queryType: 'month', // 开单统计报表(客户)
|
|
|
- queryDate: moment().format('YYYYMM'), // 选择月份
|
|
|
+ beginDate: moment().startOf('month').format('YYYY-MM-DD') + ' 00:00:00', // 月份开始时间
|
|
|
+ endDate: moment().endOf('month').format('YYYY-MM-DD') + ' 23:59:59', // 月份结束时间
|
|
|
dealerLevel: undefined, // 客户等级
|
|
|
- customSn: undefined, // 客户sn
|
|
|
- dealerEntity: {
|
|
|
- dealerName: undefined, // 客户名称
|
|
|
- provinceSn: undefined, // 省
|
|
|
- citySn: undefined, // 市
|
|
|
- districtSn: undefined // 区
|
|
|
- },
|
|
|
+ dealerSn: undefined, // 客户sn
|
|
|
+ dealerName: undefined, // 客户名称
|
|
|
+ provinceSn: undefined, // 省
|
|
|
+ citySn: undefined, // 市
|
|
|
+ districtSn: undefined, // 区
|
|
|
subareaArea: {
|
|
|
subareaSn: '', // 区域
|
|
|
subareaAreaSn: '', // 分区
|
|
|
bizUserSn: undefined// 区域负责人
|
|
|
},
|
|
|
- bizUserSn: undefined// 客服
|
|
|
+ kfSn: undefined// 客服
|
|
|
},
|
|
|
+ columns: [], // 表格 列数据
|
|
|
totalData: null, // 合计
|
|
|
rules: {
|
|
|
- 'queryDate': [{ required: true, message: '请选择查询月份', trigger: 'change' }]
|
|
|
+ 'beginDate': [{ required: true, message: '请选择查询月份', trigger: 'change' }]
|
|
|
},
|
|
|
// 加载数据方法 必须为 Promise 对象
|
|
|
loadData: parameter => {
|
|
@@ -204,7 +173,7 @@ export default {
|
|
|
this.spinning = true
|
|
|
const params = Object.assign(parameter, this.queryParam)
|
|
|
// 获取列表数据 有分页
|
|
|
- return tireFeeReportList(params).then(res => {
|
|
|
+ return salesStatsDealerList(params).then(res => {
|
|
|
let data
|
|
|
if (res.status == 200) {
|
|
|
data = res.data
|
|
@@ -233,57 +202,6 @@ export default {
|
|
|
this.setTableH()
|
|
|
}
|
|
|
},
|
|
|
- computed: {
|
|
|
- columns () {
|
|
|
- const _this = this
|
|
|
- const arr = [
|
|
|
- { title: '序号', dataIndex: 'no', width: '40px', align: 'center', fixed: 'left' },
|
|
|
- { title: '月份', dataIndex: 'monthData', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '区域', dataIndex: 'subareaArea.subareaName', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '分区', dataIndex: 'subareaArea.subareaAreaName', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '区域负责人', dataIndex: 'subareaArea.bizUserName', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '省份', dataIndex: 'dealerEntity.provinceName', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '客户名称', dataIndex: 'dealerEntity.dealerName', width: '100px', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true, fixed: 'left' },
|
|
|
- { title: '客户级别', dataIndex: 'dealerEntity.dealerLevelDictValue', width: '80px', align: 'center', customRender: function (text) { return text || '--' }, fixed: 'left' },
|
|
|
- { title: '箭牌滤清器', dataIndex: 'serviceAmountProvince', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '箭牌变速箱滤清器', dataIndex: 'serviceAmountProvince1', width: '110px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '冠牌滤清器', dataIndex: 'serviceAmountProvince2', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '滤清器合计', dataIndex: 'serviceAmountProvince3', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '箭牌雨刮片', dataIndex: 'serviceAmountProvince4', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '箭牌雨燕雨刮片', dataIndex: 'serviceAmountProvince5', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '冠牌雨刮片', dataIndex: 'serviceAmountProvince6', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '雨刮片合计', dataIndex: 'serviceAmountProvince7', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '箭牌喇叭', dataIndex: 'serviceAmountProvince8', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '箭牌刹车片', dataIndex: 'serviceAmountProvince9', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'TBU+箭牌感应线', dataIndex: 'serviceAmountProvincea', width: '110px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '冠牌刹车片', dataIndex: 'serviceAmountProvincec', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'TBU刹车片', dataIndex: 'serviceAmountProvinceb', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'TBU至惠刹车片', dataIndex: 'serviceAmountProvinced', width: '110px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'TBU刹车油', dataIndex: 'serviceAmountProvincee', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'TBU-P刹车盘', dataIndex: 'serviceAmountProvincef', width: '110px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '刹车片合计', dataIndex: 'serviceAmountProvinceg', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '汇箭蓄电池', dataIndex: 'serviceAmountProvinceh', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '布瑞斯蓄电池', dataIndex: 'serviceAmountProvincei', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '蓄电池合计', dataIndex: 'serviceAmountProvincej', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '德路斯变速箱油', dataIndex: 'serviceAmountProvincek', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '德路斯刹车油', dataIndex: 'serviceAmountProvincel', width: '90px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '德路斯汽车养护产品', dataIndex: 'serviceAmountProvincem', width: '120px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '科润星机油', dataIndex: 'serviceAmountProvince12', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '德路斯合计', dataIndex: 'serviceAmountProvince13', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '稳升点火线圈', dataIndex: 'serviceAmountProvince14', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '稳升LED灯', dataIndex: 'serviceAmountProvince15', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '稳升合计', dataIndex: 'serviceAmountProvince16', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '合计品牌', dataIndex: 'serviceAmountProvince17', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '轮胎', dataIndex: 'serviceAmountProvince18', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: 'NGk火花塞', dataIndex: 'serviceAmountProvince19', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '飞利浦', dataIndex: 'serviceAmountProvince20', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '代理品牌合计', dataIndex: 'serviceAmountProvince21', width: '100px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
|
|
|
- { title: '合计', dataIndex: 'serviceAmountProvince22', width: '80px', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
|
|
|
- ]
|
|
|
- return arr
|
|
|
- }
|
|
|
-
|
|
|
- },
|
|
|
methods: {
|
|
|
// 选择月份 禁用选择当月以后日期
|
|
|
disabledDate (current) {
|
|
@@ -293,11 +211,48 @@ export default {
|
|
|
onChangeMonth (date, dateString) {
|
|
|
this.monthVal = dateString
|
|
|
if (date && dateString != '') {
|
|
|
- this.queryParam.queryDate = dateString.replace('-', '')
|
|
|
+ this.queryParam.beginDate = this.getMonthRange(dateString).firstDay
|
|
|
+ this.queryParam.endDate = this.getMonthRange(dateString).lastDay
|
|
|
} else {
|
|
|
- this.queryParam.queryDate = void 0
|
|
|
+ this.queryParam.beginDate = undefined
|
|
|
+ this.queryParam.endDate = undefined
|
|
|
}
|
|
|
},
|
|
|
+ // 获取指定月份 第一天和最后一天
|
|
|
+ getMonthRange (targetMonth) {
|
|
|
+ // 获取指定月第一天(格式化为 YYYY-MM-DD)
|
|
|
+ const firstDay = moment(targetMonth).startOf('month').format('YYYY-MM-DD') + ' 00:00:00'
|
|
|
+ // 获取指定月最后一天(格式化为 YYYY-MM-DD)
|
|
|
+ const lastDay = moment(targetMonth).endOf('month').format('YYYY-MM-DD') + ' 23:59:59'
|
|
|
+ return { firstDay, lastDay }
|
|
|
+ },
|
|
|
+ // 获取表头
|
|
|
+ async getTableTitle () {
|
|
|
+ const _this = this
|
|
|
+ const tableTitle = await salesStatsDealerTitle().then(res => res.data)
|
|
|
+ this.columns = tableTitle.list
|
|
|
+ this.countLabel = tableTitle.count
|
|
|
+ this.columns.map(item => {
|
|
|
+ item.titleNum = item.title
|
|
|
+ let mw = 20
|
|
|
+ if (item.customRender == 'amount') {
|
|
|
+ mw = 15
|
|
|
+ if (item.colour && item.colour === 'red') {
|
|
|
+ item.title = <span style="color:red;">{item.titleNum}</span>
|
|
|
+ item.customRender = (text) => { return <span style="color:red;">{(text || text == 0) ? _this.toThousands(text) : '--'}</span> }
|
|
|
+ } else {
|
|
|
+ item.customRender = function (text) { return (text || text == 0) ? _this.toThousands(text) : '--' }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ item.customRender = function (text) { return text || '--' }
|
|
|
+ }
|
|
|
+ const w = item.titleNum.length * mw
|
|
|
+ const tw = w <= 80 ? mw * 5 : w
|
|
|
+ item.width = tw + 'px'
|
|
|
+ this.tableWidth = this.tableWidth + tw
|
|
|
+ })
|
|
|
+ this.resetSearchForm()
|
|
|
+ },
|
|
|
// 查询
|
|
|
handleSearch () {
|
|
|
const _this = this
|
|
@@ -312,14 +267,20 @@ export default {
|
|
|
},
|
|
|
// 客户名称 change
|
|
|
custChange (val) {
|
|
|
- this.queryParam.dealerEntity.dealerName = val.name
|
|
|
- this.queryParam.customSn = val.key
|
|
|
+ this.queryParam.dealerName = val.name
|
|
|
+ this.queryParam.dealerSn = val.key
|
|
|
},
|
|
|
// 统计
|
|
|
getCount (params) {
|
|
|
- tireFeeReportCount(params).then(res => {
|
|
|
+ salesStatsDealerCount(params).then(res => {
|
|
|
if (res.status == 200 && res.data) {
|
|
|
- this.totalData = res.data
|
|
|
+ const mergedList = this.countLabel.map(item => {
|
|
|
+ const key = item.key
|
|
|
+ return key in res.data
|
|
|
+ ? { ...item, [key]: res.data[key] }
|
|
|
+ : item
|
|
|
+ })
|
|
|
+ this.totalData = mergedList
|
|
|
} else {
|
|
|
this.totalData = null
|
|
|
}
|
|
@@ -327,9 +288,9 @@ export default {
|
|
|
},
|
|
|
// 地区
|
|
|
areaChange (val) {
|
|
|
- this.queryParam.dealerEntity.provinceSn = val[0] ? val[0] : undefined
|
|
|
- this.queryParam.dealerEntity.citySn = val[1] ? val[1] : undefined
|
|
|
- this.queryParam.dealerEntity.districtSn = val[2] ? val[2] : undefined
|
|
|
+ this.queryParam.provinceSn = val[0] ? val[0] : undefined
|
|
|
+ this.queryParam.citySn = val[1] ? val[1] : undefined
|
|
|
+ this.queryParam.districtSn = val[2] ? val[2] : undefined
|
|
|
},
|
|
|
// 区域分区 change
|
|
|
subareaChange (val) {
|
|
@@ -338,26 +299,25 @@ export default {
|
|
|
},
|
|
|
// 重置
|
|
|
resetSearchForm () {
|
|
|
- this.queryParam.queryType = 'month'
|
|
|
+ this.queryParam.beginDate = moment().startOf('month').format('YYYY-MM-DD') + ' 00:00:00'
|
|
|
+ this.queryParam.endDate = moment().endOf('month').format('YYYY-MM-DD') + ' 23:59:59'
|
|
|
this.monthVal = moment().format('YYYY-MM')
|
|
|
- this.queryParam.queryDate = moment().format('YYYYMM')
|
|
|
- this.queryParam.dealerEntity.provinceSn = undefined
|
|
|
- this.queryParam.dealerEntity.citySn = undefined
|
|
|
- this.queryParam.dealerEntity.districtSn = undefined
|
|
|
- this.queryParam.dealerEntity.dealerName = undefined
|
|
|
- this.queryParam.customSn = undefined
|
|
|
+ this.queryParam.provinceSn = undefined
|
|
|
+ this.queryParam.citySn = undefined
|
|
|
+ this.queryParam.districtSn = undefined
|
|
|
+ this.queryParam.dealerName = undefined
|
|
|
+ this.queryParam.dealerSn = undefined
|
|
|
this.queryParam.bizUserSn = undefined
|
|
|
this.queryParam.subareaArea.subareaSn = ''
|
|
|
this.queryParam.subareaArea.subareaAreaSn = ''
|
|
|
this.queryParam.subareaArea.bizUserSn = undefined
|
|
|
this.queryParam.dealerLevel = undefined
|
|
|
- this.queryParam.provinceFlag = undefined
|
|
|
- this.$refs.subarea.clearData()
|
|
|
if (this.advanced) {
|
|
|
+ this.$refs.subarea.clearData()
|
|
|
this.$refs.dealerSubareaScopeList.resetForm()
|
|
|
+ this.$refs.areaList.clearData()
|
|
|
}
|
|
|
this.totalData = null
|
|
|
- this.$refs.areaList.clearData()
|
|
|
this.$refs.table.clearTable()
|
|
|
this.$refs.ruleForm.resetFields()
|
|
|
},
|
|
@@ -379,7 +339,7 @@ export default {
|
|
|
const params = JSON.parse(JSON.stringify(_this.queryParam))
|
|
|
_this.exportLoading = true
|
|
|
_this.spinning = true
|
|
|
- hdExportExcel(tireFeeListExport, params, '轮胎月度费用报表', function () {
|
|
|
+ hdExportExcel(salesStatsDealerExport, params, '开单统计报表(客户)', function () {
|
|
|
_this.exportLoading = false
|
|
|
_this.spinning = false
|
|
|
})
|
|
@@ -388,8 +348,8 @@ export default {
|
|
|
pageInit () {
|
|
|
this.$nextTick(() => { // 页面渲染完成后的回调
|
|
|
this.setTableH()
|
|
|
+ this.resetSearchForm()
|
|
|
})
|
|
|
- this.resetSearchForm()
|
|
|
},
|
|
|
// 计算表格高度
|
|
|
setTableH () {
|
|
@@ -400,12 +360,14 @@ export default {
|
|
|
mounted () {
|
|
|
if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
|
|
|
this.pageInit()
|
|
|
+ this.getTableTitle()
|
|
|
}
|
|
|
},
|
|
|
activated () {
|
|
|
// 如果是新页签打开,则重置当前页面
|
|
|
if (this.$store.state.app.isNewTab) {
|
|
|
this.pageInit()
|
|
|
+ this.getTableTitle()
|
|
|
}
|
|
|
}
|
|
|
}
|