供应商供货统计接口对接

This commit is contained in:
zzyuan 2025-07-04 16:12:53 +08:00
parent d9cc1ad405
commit 57d2bfad40
2 changed files with 126 additions and 21 deletions

View File

@ -476,8 +476,8 @@ export default {
"articleType":this.queryParams.articleType,
"chronicIds":this.queryParams.chronicList.join(",")||"",
"deptIds":this.queryParams.deptIdList.join(",")||"",
"startDate":this.formatDate(this.dateRange[0]),
"endDate":this.formatDate(this.dateRange[1])
// "startDate":this.formatDate(this.dateRange[0]),
// "endDate":this.formatDate(this.dateRange[1])
}
// if(this.queryParams.chronicList.length>0){
// this.queryParams.chronicIds = this.queryParams.chronicList.join(",")

View File

@ -1,7 +1,38 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="日期">
<el-date-picker
v-model="dateRange"
type="daterange"
align="right"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
format="yyyy-MM-dd" style="width: 220px"
:picker-options="pickerOptions" >
</el-date-picker>
</el-form-item>
<el-form-item label="所属区域" prop="areaId">
<el-cascader v-model="queryParams.areaId"
:options="treeOptions" :filterable="true" style="width: 240px;" :show-all-levels="false"
:props="{
emitPath: false,// falseid
checkStrictly: false,//
value:'id',label:'label'
}" clearable @change="handleAreaChange">
</el-cascader>
</el-form-item>
<el-form-item label="供应商" prop="supplierId">
<el-select v-model="queryParams.supplierId" placeholder="请选择供应商" style="width: 240px;">
<el-option v-for="item in supplierOptions"
:key="item.supplierId"
:label="item.supplierName"
:value="item.supplierId"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@ -18,16 +49,24 @@
<span>{{(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1}}</span>
</template>
</el-table-column>
<el-table-column label="供应商编号" align="center" prop="supplierNum" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="供应商编号" align="center" prop="supplierCode" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="供应商名称" align="center" prop="supplierName" :show-overflow-tooltip="true" width="120" />
<el-table-column label="所属区域" align="center" prop="areaName" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="采购中标次数" align="center" prop="areaName" :show-overflow-tooltip="true" />
<el-table-column label="累计采购中标金额" align="center" prop="areaName" :show-overflow-tooltip="true"/>
<el-table-column label="产品合格率(%)" align="center" prop="areaName" :show-overflow-tooltip="true" />
<el-table-column label="采购订单金额(元)" align="center" prop="areaName" :show-overflow-tooltip="true"/>
<el-table-column label="采购订单数量" align="center" prop="areaName" :show-overflow-tooltip="true" />
<el-table-column label="最近一次采购中标日期" align="center" prop="areaName" :show-overflow-tooltip="true"/>
<el-table-column label="最近一次采购中标金额" align="center" prop="areaName" :show-overflow-tooltip="true"/>
<el-table-column label="采购中标次数" align="center" prop="bidNumbers" :show-overflow-tooltip="true" />
<el-table-column label="累计采购中标金额" align="center" prop="cumulativeBidAmount" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ (scope.row.cumulativeBidAmount/100).toFixed(2) }}</span>
</template>
</el-table-column>
<el-table-column label="产品合格率(%)" align="center" prop="deliveryPassRate" :show-overflow-tooltip="true" />
<el-table-column label="采购订单金额(元)" align="center" prop="orderAmount" :show-overflow-tooltip="true">
<template slot-scope="scope">
<span>{{ (scope.row.orderAmount/100).toFixed(2) }}</span>
</template>
</el-table-column>
<el-table-column label="采购订单数量" align="center" prop="orderNum" :show-overflow-tooltip="true" />
<!-- <el-table-column label="最近一次采购中标日期" align="center" prop="areaName" :show-overflow-tooltip="true"/>
<el-table-column label="最近一次采购中标金额" align="center" prop="areaName" :show-overflow-tooltip="true"/> -->
</el-table>
<pagination
@ -56,7 +95,8 @@
</template>
<script>
import { getPageCanteenApi } from "@/api/base/canteen";
import { systemAreaTreeApi } from "@/api/base/stall";
import { supplyStatisticsPageApi,supplierPageApi } from "@/api/foodManage/supplierManage";
export default {
name: "",
@ -77,6 +117,36 @@ export default {
total: 0,
//
tableListData: [],
treeOptions: [],
supplierOptions: [],
dateRange:[new Date(),new Date()],
pickerOptions: {
shortcuts: [{
text: '最近一周',
onClick(picker) {
const start = new Date();
const end = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 6);
picker.$emit('pick', [start, end]);
}
},{
text: '最近一个月',
onClick(picker) {
const start = new Date();
const end = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
picker.$emit('pick', [start, end]);
}
},{
text: '最近三个月',
onClick(picker) {
const start = new Date();
const end = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 91);
picker.$emit('pick', [start, end]);
}
}]
},
//
title: "",
//
@ -85,8 +155,6 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
canteenName: undefined,
areaNameStr: undefined,
},
//
form: {},
@ -102,9 +170,28 @@ export default {
};
},
created() {
// this.getList();
this.getTreeData();
this.getList();
},
methods: {
//
getTreeData() {
systemAreaTreeApi({}).then((response) => {
this.treeOptions = response.data;
});
},
//-
handleAreaChange(e){
this.getSupplierData()
},
/** 查询供应商下拉结构 */
getSupplierData() {
supplierPageApi({ isPaging:1,areaIdList:[this.queryParams.areaId] }).then((response) => {
this.supplierOptions = response.rows||[];
this.$set(this.queryParams,"supplierId",null)
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -112,6 +199,7 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange=[new Date(),new Date()]
this.resetForm("queryForm");
this.handleQuery();
},
@ -119,11 +207,20 @@ export default {
getList() {
this.loading = true;
let param = {
"current": this.queryParams.pageNum,
"size": this.queryParams.pageSize,
"pageNum":this.queryParams.pageNum,
"pageSize":this.queryParams.pageSize,
"supplierId":this.queryParams.supplierId,
"areaIdList":[this.queryParams.areaId],
}
getPageCanteenApi(param).then(response => {
this.tableListData = response.records;
if(this.dateRange&&this.dateRange.length>0){
param.startTime=this.formatDate(this.dateRange[0])
param.endTime=this.formatDate(this.dateRange[1])
}else{
param.startTime=undefined;
param.endTime=undefined;
}
supplyStatisticsPageApi(param).then(response => {
this.tableListData = response.rows;
this.total = Number(response.total);
this.loading = false;
});
@ -184,6 +281,14 @@ export default {
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
//
formatDate(date) {
// YYYY-MM-DD
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); // 0
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
}
};
</script>