md
This commit is contained in:
parent
83f622f310
commit
18a2813d97
375
src/views/emis/emisSettleBill/BillPayOpenBillSumQuery.vue
Normal file
375
src/views/emis/emisSettleBill/BillPayOpenBillSumQuery.vue
Normal file
@ -0,0 +1,375 @@
|
||||
<template>
|
||||
<XdPageContainer >
|
||||
<SearchForm slot="pageHeader" :model="queryParams" ref="queryForm" size="mini" :maxShow="20" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
|
||||
<el-form-item label="账单月份" prop="billMonth">
|
||||
<el-date-picker size="mini" style="width:100%" v-model="queryParams.billMonth" type="month" placeholder="账单月份" value-format="yyyy-MM"></el-date-picker>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('开票状态')" prop="openBillStatus">
|
||||
<el-select clearable v-model="queryParams.openBillStatus" placeholder="开票状态" style="width:100%">
|
||||
<el-option key="1" label="已开票" value="1"></el-option>
|
||||
<el-option key="0" label="未开票" value="0"></el-option>
|
||||
<el-option key="3" label="不开票" value="3"></el-option>
|
||||
<el-option key="2" label="部分开票" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('收款状态')" prop="paymentStatus">
|
||||
<el-select clearable v-model="queryParams.paymentStatus" placeholder="收款状态" style="width:100%">
|
||||
<el-option key="0" label="未收款" value="0"></el-option>
|
||||
<el-option key="1" label="已收款" value="1"></el-option>
|
||||
<el-option key="2" label="部分收款" value="2"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('账期内回款')" prop="zqnhkl" label-width="100px">
|
||||
<el-select clearable v-model="queryParams.zqnhkl" placeholder="账期内回款" style="width:100%">
|
||||
<el-option key="0" label="否" value="0"></el-option>
|
||||
<el-option key="1" label="是" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('超期回款')" prop="cqhkl" label-width="100px">
|
||||
<el-select clearable v-model="queryParams.cqhkl" placeholder="超期回款" style="width:100%">
|
||||
<el-option key="0" label="否" value="0"></el-option>
|
||||
<el-option key="1" label="是" value="1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item :label="$t('销售联系人')" prop="salesmen" label-width="100px">
|
||||
<SalemanPicker :placeholder="$t('销售联系人')" v-model="queryParams.salesmen" ></SalemanPicker>
|
||||
</el-form-item>
|
||||
|
||||
</SearchForm>
|
||||
|
||||
<xd-table
|
||||
slot="pageContent"
|
||||
slot-scope="slotProps"
|
||||
:height="(slotProps.contentHeight-100)+'px'"
|
||||
|
||||
ref="refTable"
|
||||
|
||||
v-loading="loading"
|
||||
border
|
||||
size="mini"
|
||||
|
||||
storageName="BillPaybackStatList_main_240702"
|
||||
|
||||
:data="emisStatList"
|
||||
:showSearch.sync="showSearch"
|
||||
:queryParams="queryParams"
|
||||
:total="total"
|
||||
|
||||
@selection-change="handleSelectionChange"
|
||||
@sort-change="handleSortChange"
|
||||
@row-dblclick="onDblClick"
|
||||
highlight-current-row
|
||||
>
|
||||
<div slot="toolbar">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
size="mini"
|
||||
@click="getList"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
<!-- 销售联系人 账单总数量 已开票账单数量 未开票账单数量 不开票账单数量 部分开票账单数量 正常开票数量 超时开票数量 超时未开票账单数量 正常开票率 超期开票率 -->
|
||||
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<el-table-column :label="$t('销售联系人')" align="center" prop="salesmen" min-width="100" />
|
||||
<el-table-column :label="$t('账期')" align="center" prop="billMonth" min-width="100" />
|
||||
|
||||
<el-table-column :label="$t('账单总数量')" align="center" prop="totalBillCount" min-width="150" />
|
||||
|
||||
<el-table-column :label="$t('已开票账单数量')" align="center" prop="hasOpenBillCount" min-width="150" />
|
||||
<el-table-column :label="$t('部分开票账单数量')" align="center" prop="someOpenBillCount" min-width="150" />
|
||||
<el-table-column :label="$t('未开票账单数量')" align="center" prop="noOpenBillCount" min-width="150" />
|
||||
|
||||
<el-table-column :label="$t('不开票账单数量')" align="center" prop="noNeedOpenBillCount" min-width="150" />
|
||||
|
||||
<el-table-column :label="$t('正常开票数量')" align="center" prop="normalOpenBillCount" min-width="150" />
|
||||
|
||||
<el-table-column :label="$t('超时开票数量')" align="center" prop="expiredOpenBillCount" min-width="150" />
|
||||
<el-table-column :label="$t('超时未开票账单数量')" align="center" prop="expiredNoOpenBillCount" min-width="150" />
|
||||
|
||||
<el-table-column :label="$t('正常开票率')" align="center" prop="normalOpenBillRate" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ ((scope.row.normalOpenBillCount / scope.row.totalBillCount) * 100).toFixed(2) + '%' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column :label="$t('超期开票率')" align="center" prop="expireOpenBillRate" min-width="150">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ ((scope.row.expiredOpenBillCount / scope.row.totalBillCount) * 100).toFixed(2) + '%' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
</xd-table>
|
||||
|
||||
</XdPageContainer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import { queryOpenBillStatInfoList } from "@/api/emis/emisSettleBill";
|
||||
|
||||
|
||||
import SalemanPicker from '@/views/emis/EmisBaseTools/SalemanPicker.vue';
|
||||
|
||||
export default {
|
||||
name: "BillPaybackSumQuery",
|
||||
components: { SalemanPicker},
|
||||
dicts: ['emis_scan_type'],
|
||||
data() {
|
||||
return {
|
||||
// 调整表格的高度,不允许滚动
|
||||
tableHeight: 200,
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 创建时间搜索
|
||||
dateTimeRange:[],
|
||||
// 总条数
|
||||
total: 0,
|
||||
recordTotal:0,
|
||||
// 网点电子面单申请表格数据
|
||||
emisStatList: [],
|
||||
emisStatRecordList:[],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
|
||||
activeName: 'first',
|
||||
|
||||
openForm: false,
|
||||
titleForm: "",
|
||||
|
||||
titleEmisElectronicPagApply: "",
|
||||
openEmisElectronicPagApply: false,
|
||||
|
||||
// 显示编辑框更多
|
||||
moreInputVisible: false,
|
||||
|
||||
dataMap:new Map(),
|
||||
|
||||
// 弹出展示层
|
||||
currentId:null,
|
||||
id:null,
|
||||
titleView:"",
|
||||
openView: false,
|
||||
// 备注时间范围
|
||||
daterangeApplyDate: [],
|
||||
// 备注时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 备注时间范围
|
||||
daterangeUpdateTime: [],
|
||||
|
||||
tempQueryParams:null,
|
||||
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum:1,
|
||||
pageSize:500,
|
||||
settleBillNo: null,
|
||||
settleType: null,
|
||||
billMonth: null,
|
||||
custNo: null,
|
||||
openBillStatus: null,
|
||||
paymentStatus: null,
|
||||
chargeStatus: null,
|
||||
payee: null,
|
||||
salesmen: null,
|
||||
},
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
/** 查询统计信息 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.tempQueryParams = {...this.queryParams};
|
||||
queryOpenBillStatInfoList(this.tempQueryParams).then(response => {
|
||||
this.emisStatList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
handleQuery(){
|
||||
this.getList();
|
||||
},
|
||||
/** 查询明细列表 */
|
||||
onDblClick(row, column, event) {
|
||||
// this.loading = true;
|
||||
console.log("===>onDblClick====>",row);
|
||||
this.$emit("onSelect", row);
|
||||
},
|
||||
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.selectionList=selection;
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 排序 查询字段是表格中字段名字 动态取值排序顺序
|
||||
handleSortChange(column) {
|
||||
this.queryParams.orderByColumn = column.prop;
|
||||
this.queryParams.isAsc = column.order;
|
||||
this.getList();
|
||||
},
|
||||
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在导出...'
|
||||
})
|
||||
|
||||
|
||||
if(this.selectionList&&this.selectionList.length>0){
|
||||
this.exportData(this.selectionList,loadingInstance);
|
||||
}
|
||||
else{
|
||||
let qExportParam=this.initQueryParams();
|
||||
qExportParam.pageNum=1;
|
||||
qExportParam.pageSize=5000;
|
||||
|
||||
listEmisWaybill(qExportParam).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.exportData(response.rows,loadingInstance);
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
exportData(selData,loadingInstance){
|
||||
const curList =selData
|
||||
import('@/vendor/Export2Excel').then(excel => {
|
||||
const exportParam=this.$refs.refTable.getExportParam();
|
||||
const tHeader = exportParam.header;
|
||||
const filterVal = exportParam.filter;
|
||||
const data = this.formatJson(filterVal, curList, selData)
|
||||
excel.export_json_to_excel({
|
||||
header: tHeader,
|
||||
data,
|
||||
filename: '统计',
|
||||
autoWidth: true
|
||||
})
|
||||
loadingInstance.close()
|
||||
})
|
||||
},
|
||||
formatJson(filterVal, jsonData, resData) {
|
||||
let index = 0
|
||||
return jsonData.map(v => filterVal.map(j => {
|
||||
|
||||
if (j === 'index') {
|
||||
return ++index
|
||||
}
|
||||
if (j === 'kjlx') {
|
||||
return v['sendSiteName']+'--'+v['dispatchUnderlingSiteName'];
|
||||
}
|
||||
if (j === 'fjr') {
|
||||
return v['sendName']+'--'+v['receiveName'];
|
||||
}
|
||||
if (j === 'sendMobile') {
|
||||
return "";
|
||||
}
|
||||
if (j === 'paymentStatus') {
|
||||
return this.selectDictLabel(this.dict.type.emis_payment_status,v[j]);
|
||||
}
|
||||
|
||||
if (j === 'pickupMethod') {
|
||||
return this.selectDictLabel(this.dict.type.emis_qujian_fangshi,v[j]);
|
||||
}
|
||||
if (j === 'customsEclaration') {
|
||||
return this.selectDictLabel(this.dict.type.emis_declare_mode,v[j]);
|
||||
}
|
||||
if (j === 'customsClear') {
|
||||
return this.selectDictLabel(this.dict.type.emis_customs_clear,v[j]);
|
||||
}
|
||||
if (j === 'packType') {
|
||||
return this.selectDictLabels(this.dict.type.emis_tab_packing_type,v[j]);
|
||||
}
|
||||
|
||||
if (j === 'dispatchMethod') {
|
||||
if(v[j] == 1){
|
||||
return '派送';
|
||||
}else{
|
||||
return '自提';
|
||||
}
|
||||
}
|
||||
if (j === 'blMessage') {
|
||||
if(v[j] == 1){
|
||||
return '发送';
|
||||
}else{
|
||||
return '不发送';
|
||||
}
|
||||
}
|
||||
if (j === 'blAcceptMessage') {
|
||||
if(v[j] == 1){
|
||||
return '发送';
|
||||
}else{
|
||||
return '不发送';
|
||||
}
|
||||
}
|
||||
if (j === 'blSign') {
|
||||
if(v[j] == 1){
|
||||
return '已签收';
|
||||
}else{
|
||||
return '未签收';
|
||||
}
|
||||
}
|
||||
if (j === 'paymentType') {
|
||||
return this.selectDictLabel(this.dict.type.emis_payment_type,v[j]);
|
||||
}
|
||||
return v[j]
|
||||
}))
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.el-divider{
|
||||
margin-top: 0px;
|
||||
background: 0 0;
|
||||
border-top: 1px solid #E6EBF5;
|
||||
}
|
||||
.el-divider__text {
|
||||
color: #0955ee;
|
||||
cursor: pointer;
|
||||
}
|
||||
.ellipsis {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
vertical-align: top;
|
||||
white-space: nowrap;
|
||||
}
|
||||
</style>
|
||||
Loading…
Reference in New Issue
Block a user