This commit is contained in:
linfso 2025-05-15 06:05:11 +08:00
parent 07b5185641
commit 5f2d3e116d
6 changed files with 132 additions and 91 deletions

View File

@ -60,6 +60,11 @@ export default {
initChart() { initChart() {
this.chart = echarts.init(this.$el, 'macarons') this.chart = echarts.init(this.$el, 'macarons')
this.setOptions(this.chartData) this.setOptions(this.chartData)
let that=this;
this.chart.on('click', function (params) {
that.$emit("onChangeTime",params);
});
}, },
setOptions({ xAxisData,orderStateData } = {}) { setOptions({ xAxisData,orderStateData } = {}) {
this.chart.setOption({ this.chart.setOption({
@ -93,7 +98,7 @@ export default {
data: ['expected', 'actual'] data: ['expected', 'actual']
}, },
series: [{ series: [{
name: '订单统计', itemStyle: { name: '统计', itemStyle: {
normal: { normal: {
color: '#FF005A', color: '#FF005A',
lineStyle: { lineStyle: {

View File

@ -3,22 +3,20 @@
<el-row :gutter="10" > <el-row :gutter="10" >
<el-col :span="12"> <el-col :span="24">
<CardWithHeader header="运单趋势(最近1个月)" height="400px">
<template v-slot:body>
<LineOrderChart :chart-data="orderStateData" />
</template>
</CardWithHeader>
</el-col>
<el-col :span="12">
<CardWithHeader header="收款趋势(最近3月)" height="400px"> <CardWithHeader header="收款趋势(最近3月)" height="400px">
<template v-slot:body> <template v-slot:body>
<LineOrderChart :chart-data="recdStateData" /> <BarChart :chart-data="recdStateData" @onChangeTime="onChangeTime" />
</template>
</CardWithHeader>
</el-col>
<el-col :span="24">
<CardWithHeader header="收款明细" height="600px">
<template v-slot:body>
<PayDayRecordList key="1" :tradeDay="tradeDay" > </PayDayRecordList>
</template> </template>
</CardWithHeader> </CardWithHeader>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -32,19 +30,25 @@ import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
import { calculateRecedMoney } from "@/api/emis/emisSettleBill"; import { calculateRecedMoney } from "@/api/emis/emisSettleBill";
import CardWithHeader from '@/components/CardWithHeader/index.vue'; import CardWithHeader from '@/components/CardWithHeader/index.vue';
import BarChart from '@/views/emis/common/BarChart.vue';
import LineOrderChart from '@/views/emis/common/LineOrderChart.vue'; import LineOrderChart from '@/views/emis/common/LineOrderChart.vue';
import PayDayRecordList from '@/views/emis/emisSettleBill/PayBackStat/PayDayRecordList.vue';
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { beginText } from "pdf-lib"; import { beginText } from "pdf-lib";
export default { export default {
name: 'Index', name: 'Index',
components: { components: {
CardWithHeader, CardWithHeader,
LineOrderChart BarChart,
LineOrderChart,
PayDayRecordList
}, },
data() { data() {
return { return {
loading: false, loading: false,
tradeDay:null,
noticeList:[], noticeList:[],
orderStateData:{ orderStateData:{
xAxisData:[], xAxisData:[],
@ -69,11 +73,12 @@ export default {
...mapGetters(['avatar', 'nickName','ownerSiteName']), ...mapGetters(['avatar', 'nickName','ownerSiteName']),
}, },
created() { created() {
this.initOrderStatData(); // this.initOrderStatData();
this.initRecdStatData(); this.initRecdStatData();
}, },
methods: { methods: {
initOrderStatData(){ initOrderStatData(){
// 查询统计 // 查询统计
@ -155,6 +160,10 @@ export default {
}); });
}, },
onChangeTime(data){
console.log("===onChangeTime=>data===>",data);
this.tradeDay=data.name;
},
goRouterPath(clickPath) { goRouterPath(clickPath) {
// 跳转预警详情页面 // 跳转预警详情页面
this.$router.push({ this.$router.push({

View File

@ -145,6 +145,9 @@ export default {
}, },
queryType:{ queryType:{
type:Number type:Number
},
tradeDay:{
type:String
} }
}, },
@ -189,14 +192,7 @@ export default {
id:null, id:null,
titleView:"", titleView:"",
openView: false, openView: false,
// 更新站点时间范围
daterangeSettleStartDate: [],
// 更新站点时间范围
daterangeSettleEndDate: [],
// 更新站点时间范围
daterangeCreateTime: [],
// 更新站点时间范围
daterangeUpdateTime: [],
// 查询参数 // 查询参数
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
@ -211,17 +207,25 @@ export default {
watch: { watch: {
"queryInfo": { "queryInfo": {
handler (newValue, oldValue) { handler (newValue, oldValue) {
console.log("====>queryInfo====>",this.queryInfo); this.queryParams.settleBillNo=this.$route.query.settleBillNo;
this.queryParams.settleBillNo=this.queryInfo.settleBillNo; this.queryParams.params.queryDataType=this.$route.query.queryDataType;
this.getList(); this.getList();
}, },
deep: true deep: true
}, },
"tradeDay": {
handler (newValue, oldValue) {
console.log("====>tradeDay====>",this.tradeDay);
this.dateTimeRange=[this.tradeDay+' 00:00:00',this.tradeDay+' 23:59:59'];
this.getList();
},
deep: true
},
$route () { $route () {
if(this.$route.query.action=='queryBIData'){ if(this.$route.query.action=='queryBIData'){
this.queryParams.settleBillNo=this.$route.query.settleBillNo; this.queryParams.settleBillNo=this.$route.query.settleBillNo;
this.queryParams.params.queryDataType=this.$route.query.queryDataType; this.queryParams.params.queryDataType=this.$route.query.queryDataType;
this.getList(); this.getList();
} }
@ -229,23 +233,19 @@ export default {
}, },
created() { created() {
console.log("====>queryInfo====>",this.queryInfo); console.log("====>queryInfo====>",this.queryInfo);
// if(this.queryInfo!=null){
// this.queryParams.settleBillNo=this.queryInfo.settleBillNo;
// }
if(this.$route.query.action=='queryBIData'){ if(this.$route.query.action=='queryBIData'){
this.queryParams.settleBillNo=this.$route.query.settleBillNo; this.queryParams.settleBillNo=this.$route.query.settleBillNo;
this.queryParams.params.queryDataType=this.$route.query.queryDataType; this.queryParams.params.queryDataType=this.$route.query.queryDataType;
this.getList(); this.getList();
} }
// this.getList();
}, },
methods: { methods: {
/** 查询结算总账单列表 */ /** 查询结算总账单列表 */
getList() { getList() {
this.loading = true; this.loading = true;
let qParams = this.addDateRange(this.queryParams, this.dateTimeRange,"tradeDate");
this.emisSettleBillList=[]; this.emisSettleBillList=[];
queryPayBackRecordList(this.queryParams).then(response => { queryPayBackRecordList(qParams).then(response => {
this.emisSettleBillList = response.rows; this.emisSettleBillList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
@ -490,8 +490,6 @@ export default {
return ++index return ++index
} }
if (j === 'waybillDetail.parcelQty') { if (j === 'waybillDetail.parcelQty') {
return v['waybillDetail']['parcelQty']; return v['waybillDetail']['parcelQty'];
} }

View File

@ -78,6 +78,14 @@
> >
<div slot="toolbar"> <div slot="toolbar">
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
size="mini"
@click="handleShowCanlender"
>收款日历</el-button>
</el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="warning" type="warning"
@ -115,11 +123,6 @@
</el-table-column> </el-table-column>
<el-table-column :label="$t('账单金额')" align="center" prop="recMoney" width="150" /> <el-table-column :label="$t('账单金额')" align="center" prop="recMoney" width="150" />
<el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" width="80" /> <el-table-column :label="$t('总票数')" align="center" prop="sendPieceSum" width="80" />
<el-table-column :label="$t('收款汇总')" align="center" prop="recdMoneyIn" width="180" >
<template slot-scope="scope">
<div class="link-type" @click="handleShowPayList(scope.row,1)">{{ scope.row.recdMoneyIn }}</div>
</template>
</el-table-column>
<el-table-column :label="$t('账期内收款金额(100%)')" align="center" prop="recdMoneyIn" width="180" > <el-table-column :label="$t('账期内收款金额(100%)')" align="center" prop="recdMoneyIn" width="180" >
<template slot-scope="scope"> <template slot-scope="scope">
<div class="link-type" @click="handleShowBillList(scope.row,1)">{{ scope.row.recdMoneyIn }}</div> <div class="link-type" @click="handleShowBillList(scope.row,1)">{{ scope.row.recdMoneyIn }}</div>
@ -296,6 +299,17 @@ export default {
return thisQueryParams; return thisQueryParams;
}, },
handleShowCanlender(){
this.$router.push(
{
path: '/BIStatData/PayDay',
query: {
action: "queryPayData",
'_t':(new Date()).getTime()
}
}
);
},
handleShowBillList(row,queryDataType){ handleShowBillList(row,queryDataType){
let item0=row; let item0=row;
this.$router.push( this.$router.push(

View File

@ -49,11 +49,11 @@
</template> </template>
</CardWithHeader> </CardWithHeader>
<CardWithHeader header="收款趋势" height="400px" > <!-- <CardWithHeader header="收款趋势" height="400px" >
<template v-slot:body> <template v-slot:body>
<LineOrderChart :chart-data="recdStateData" :key="resetRefreshId+'2'" /> <BarChart :chart-data="recdStateData" :key="resetRefreshId+'2'" />
</template> </template>
</CardWithHeader> </CardWithHeader> -->
<!-- <!--
<CardWithHeader header="未回款统计" height="400px"> <CardWithHeader header="未回款统计" height="400px">
@ -71,12 +71,13 @@
import dayjs from 'dayjs' import dayjs from 'dayjs'
import CardWithHeader from '@/components/CardWithHeader/index.vue'; import CardWithHeader from '@/components/CardWithHeader/index.vue';
import LineOrderChart from '@/views/emis/common/LineOrderChart.vue'; import LineOrderChart from '@/views/emis/common/LineOrderChart.vue';
import BarChart from '@/views/emis/common/BarChart.vue';
import {timeFormat} from '@/utils/dateUtils' import {timeFormat} from '@/utils/dateUtils'
import moment from "moment"; import moment from "moment";
export default { export default {
components: { components: {
CardWithHeader,LineOrderChart CardWithHeader,LineOrderChart,BarChart
}, },
data() { data() {
return { return {
@ -114,25 +115,6 @@
let end = moment(newVal).endOf("month"); let end = moment(newVal).endOf("month");
this.dateRange=[timeFormat(start), timeFormat(end)] this.dateRange=[timeFormat(start), timeFormat(end)]
this.initRecdStatData(); this.initRecdStatData();
// if (
// val &&
// moment(val).format("YYYY-MM-DD") == moment().format("YYYY-MM-DD")
// ) {
// console.log("点击了‘今天’按钮");
// } else if (
// val &&
// moment(val).toDate() < moment(oldVal).startOf("month").toDate()
// ) {
// console.log("点击了‘上个月’按钮");
// } else if (
// val &&
// moment(val).toDate() > moment(oldVal).endOf("month").toDate()
// ) {
// console.log("点击了‘下个月’按钮");
// } else {
// console.log("点击了" + moment(val).format("YYYY-MM") + "的按钮");
// }
}, },
}, },
computed: {}, computed: {},

View File

@ -25,8 +25,8 @@
<el-form-item label="登记时间" prop="createTime" label-width="100px" > <el-form-item label="登记时间" prop="createTime" label-width="100px" >
<div slot="label" style="text-align: left;"> <div slot="label" style="text-align: left;">
<el-radio-group class="query-label" v-model="queryDateType"> <el-radio-group class="query-label" v-model="queryDateType">
<el-radio :key="1" label="1">登记时间</el-radio>
<el-radio :key="2" label="2">交易时间</el-radio> <el-radio :key="2" label="2">交易时间</el-radio>
<el-radio :key="1" label="1">登记时间</el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
@ -83,7 +83,9 @@
border border
size="mini" size="mini"
storageName="emisSettlePayRecordList_main_s01" ref="refTable"
storageName="emisSettlePayRecordList_main_s02"
:data="emisSettlePayRecordList" :data="emisSettlePayRecordList"
:showSearch.sync="showSearch" :showSearch.sync="showSearch"
@ -100,16 +102,14 @@
<div slot="toolbar"> <div slot="toolbar">
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
type="primary" type="primary"
plain plain
icon="el-icon-plus"
size="mini" size="mini"
@click="handleAdd" @click="handleShowCanlender"
v-hasPermi="['emis:emisSettlePayRecord:add']" >收款日历</el-button>
>新增</el-button> </el-col>
</el-col> -->
<!-- <!--
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
@ -157,8 +157,8 @@
<el-table-column :label="$t('流水号')" align="center" prop="payId" width="170" :show-overflow-tooltip="true"/> <el-table-column :label="$t('流水号')" align="center" prop="payId" width="170" :show-overflow-tooltip="true"/>
<el-table-column :label="$t('收款来源')" align="center" prop="settleType" width="80" > <el-table-column :label="$t('收款来源')" align="center" prop="settleType" width="80" >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag type="success" v-if="scope.row.settleType == '1'">月结收款</el-tag> <el-tag type="success" v-if="scope.row.settleType == '1'">现金收款</el-tag>
<el-tag type="success" v-if="scope.row.settleType == '2'">现金收款</el-tag> <el-tag type="success" v-if="scope.row.settleType == '2'">月结收款</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('缴款客户')" align="center" prop="payMan" width="150" :show-overflow-tooltip="true" /> <el-table-column :label="$t('缴款客户')" align="center" prop="payMan" width="150" :show-overflow-tooltip="true" />
@ -221,6 +221,7 @@ import { listEmisSettlePayRecord, getEmisSettlePayRecord, delEmisSettlePayRecord
import emisSettlePayRecordForm from '@/views/emis/emisSettlePayRecord/emisSettlePayRecordForm'; import emisSettlePayRecordForm from '@/views/emis/emisSettlePayRecord/emisSettlePayRecordForm';
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue'; import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker'; import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
import {timeDiffTime,timeFormat} from '@/utils/dateUtils'
export default { export default {
name: "EmisSettlePayRecord", name: "EmisSettlePayRecord",
@ -313,33 +314,44 @@ export default {
}; };
}, },
watch: { watch: {
$route () { '$route': {
if(this.$route.query.action=='queryPayData'){ handler(to, from) {
let tradeDay=this.$route.query.tradeDay; console.log("====>$route====>",this.$route);
this.queryDateType="2"; if(this.$route.query.action=='queryPayData'){
let tradeDay=this.$route.query.tradeDay;
this.queryDateType="2";
this.dateTimeRange[0]=tradeDay+' 00:00:00'; this.dateTimeRange=[tradeDay+' 00:00:00',tradeDay+' 23:59:59'];
this.dateTimeRange[1]=tradeDay+' 23:59:59';
this.getList(); this.getList();
} }
} },
deep: true,
immediate: true
}
}, },
created() { created() {
},
mounted(){
this.queryOrderType="1"; this.queryOrderType="1";
this.queryDateType="2"; this.queryDateType="2";
if(this.$route.query.action=='queryPayData'){ if(this.$route.query.action=='queryPayData'){
let tradeDay=this.$route.query.tradeDay; let tradeDay=this.$route.query.tradeDay;
this.queryDateType="2"; this.queryDateType="2";
this.dateTimeRange[0]=tradeDay+' 00:00:00'; this.dateTimeRange=[tradeDay+' 00:00:00',tradeDay+' 23:59:59'];
this.dateTimeRange[1]=tradeDay+' 23:59:59';
this.getList(); this.getList();
}else{ }else{
const end = new Date()
const start = new Date()
start.setHours(0,0,0,0)
end.setHours(23,59,59,0)
this.dateTimeRange=[timeFormat(start), timeFormat(end)]
this.getList(); this.getList();
} }
}, },
methods: { methods: {
@ -362,11 +374,19 @@ export default {
thisQueryParams = this.addDateRange(this.queryParams, this.dateTimeRange,"tradeDate"); thisQueryParams = this.addDateRange(this.queryParams, this.dateTimeRange,"tradeDate");
} }
return thisQueryParams; return thisQueryParams;
}, },
handleShowCanlender(){
this.$router.push(
{
path: '/BIStatData/PayDay',
query: {
action: "queryPayData",
'_t':(new Date()).getTime()
}
}
);
},
/** 查询账单收退款记录列表 */ /** 查询账单收退款记录列表 */
getList() { getList() {
@ -544,7 +564,7 @@ export default {
let qExportParam={...this.queryParams}; let qExportParam={...this.queryParams};
qExportParam.pageNum=1; qExportParam.pageNum=1;
qExportParam.pageSize=20000; qExportParam.pageSize=20000;
queryPayBackRecordList(qExportParam).then(response => { listEmisSettlePayRecord(qExportParam).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.exportData(response.rows,loadingInstance); this.exportData(response.rows,loadingInstance);
} }
@ -733,6 +753,19 @@ export default {
return ''; return '';
} }
} }
if (j === 'settleType') {
if(v['settleType'] == 1){
return '现金收款';
}
else if(v['settleType'] == 2){
return '月结收款';
}else{
return '-';
}
}
if (j === 'settleSubBill.openBillStatus') { if (j === 'settleSubBill.openBillStatus') {
let openBillStatus=v['settleSubBill']['openBillStatus']; let openBillStatus=v['settleSubBill']['openBillStatus'];
if(openBillStatus== 0){ if(openBillStatus== 0){