|
@@ -15,6 +15,7 @@
|
|
|
@on-load="onLoad"
|
|
|
@saveColumn="saveColumn"
|
|
|
:cell-style="cellStyle"
|
|
|
+ :summary-method="summaryMethod"
|
|
|
>
|
|
|
<template slot-scope="scope" slot="grossProfitRate">
|
|
|
{{ scope.row.grossProfitRate }}%
|
|
@@ -57,9 +58,9 @@
|
|
|
>
|
|
|
</el-date-picker>
|
|
|
</template>
|
|
|
- <template slot="dateValiditySearch">
|
|
|
+ <template slot="plannedDeliveryDateSearch">
|
|
|
<el-date-picker
|
|
|
- v-model="search.dateValidity"
|
|
|
+ v-model="search.plannedDeliveryDate"
|
|
|
type="daterange"
|
|
|
start-placeholder="开始日期"
|
|
|
end-placeholder="结束日期"
|
|
@@ -118,6 +119,8 @@ import option from "./config/mainList.json";
|
|
|
import { getList, remove, getPorts } from "@/api/basicData/salesContract";
|
|
|
import detailPage from "./detailsPage.vue";
|
|
|
import { defaultDate } from "@/util/date";
|
|
|
+import { micrometerFormat } from "@/util/validate";
|
|
|
+import _ from "lodash";
|
|
|
export default {
|
|
|
name: "customerInformation",
|
|
|
data() {
|
|
@@ -129,7 +132,9 @@ export default {
|
|
|
placeholder: "请点击右边按钮选择",
|
|
|
dicData: []
|
|
|
},
|
|
|
- search: {},
|
|
|
+ search: {
|
|
|
+ businesDate: defaultDate()
|
|
|
+ },
|
|
|
form: {},
|
|
|
option: {},
|
|
|
parentId: 0,
|
|
@@ -146,7 +151,6 @@ export default {
|
|
|
},
|
|
|
components: { detailPage },
|
|
|
async created() {
|
|
|
- this.search.businesDate = defaultDate();
|
|
|
this.option = await this.getColumnData(this.getColumnName(4), option);
|
|
|
let _this = this;
|
|
|
this.option.column.forEach(e => {
|
|
@@ -219,7 +223,17 @@ export default {
|
|
|
params.orderStartDate = params.businesDate[0];
|
|
|
params.orderEndDate = params.businesDate[1];
|
|
|
}
|
|
|
+ if (params.plannedDeliveryDate) {
|
|
|
+ params.plannedDeliveryStart = params.plannedDeliveryDate[0];
|
|
|
+ params.plannedDeliveryEnd = params.plannedDeliveryDate[1];
|
|
|
+ }
|
|
|
+ if (params.createTime) {
|
|
|
+ params.createTimeStart = params.createTime[0];
|
|
|
+ params.createTimeEnd = params.createTime[1];
|
|
|
+ }
|
|
|
delete params.businesDate;
|
|
|
+ delete params.plannedDeliveryDate;
|
|
|
+ delete params.createTime;
|
|
|
this.page.currentPage = 1;
|
|
|
this.onLoad(this.page, params);
|
|
|
done();
|
|
@@ -244,7 +258,7 @@ export default {
|
|
|
this.dataList = res.data.data.records ? res.data.data.records : [];
|
|
|
this.page.total = res.data.data.total;
|
|
|
if (this.page.total) {
|
|
|
- this.option.height = window.innerHeight - 380;
|
|
|
+ this.option.height = window.innerHeight - 500;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -261,6 +275,86 @@ export default {
|
|
|
this.detailData = this.$options.data().detailData;
|
|
|
this.show = true;
|
|
|
},
|
|
|
+ summaryMethod({ columns, data }) {
|
|
|
+ const sums = [];
|
|
|
+ if (columns.length > 0) {
|
|
|
+ columns.forEach((item, index) => {
|
|
|
+ sums[0] = "合计";
|
|
|
+ if (
|
|
|
+ item.property == "minOrder" ||
|
|
|
+ item.property == "predictOceanFreight" ||
|
|
|
+ item.property == "referenceOceanFreight" ||
|
|
|
+ item.property == "oceanFreight" ||
|
|
|
+ item.property == "orderQuantity"||
|
|
|
+ item.property == "actualQuantity"||
|
|
|
+ item.property == "grossProfit"||
|
|
|
+ item.property == "amount"||
|
|
|
+ item.property == "purchaseAmount"
|
|
|
+ ) {
|
|
|
+ let qtySum = 0;
|
|
|
+ let instoreSum = 0;
|
|
|
+ let totalSum = 0;
|
|
|
+ let oceanFreightSum = 0;
|
|
|
+ let orderQuantitySum = 0;
|
|
|
+ let actualQuantitySum = 0;
|
|
|
+ let amountSum = 0;
|
|
|
+ let purchaseAmountSum = 0;
|
|
|
+ data.forEach(e => {
|
|
|
+ qtySum = _.add(qtySum, Number(e.minOrder));
|
|
|
+ instoreSum = _.add(instoreSum, Number(e.predictOceanFreight));
|
|
|
+ totalSum = _.add(totalSum, Number(e.referenceOceanFreight));
|
|
|
+ oceanFreightSum = _.add(oceanFreightSum, Number(e.oceanFreight));
|
|
|
+ orderQuantitySum = _.add(
|
|
|
+ orderQuantitySum,
|
|
|
+ Number(e.orderQuantity)
|
|
|
+ );
|
|
|
+ actualQuantitySum = _.add(
|
|
|
+ actualQuantitySum,
|
|
|
+ Number(e.actualQuantity)
|
|
|
+ );
|
|
|
+ amountSum = _.add(amountSum, Number(e.amount));
|
|
|
+ purchaseAmountSum = _.add(
|
|
|
+ purchaseAmountSum,
|
|
|
+ Number(e.purchaseAmount)
|
|
|
+ );
|
|
|
+ });
|
|
|
+ //数量总计
|
|
|
+ if (item.property == "minOrder") {
|
|
|
+ sums[index] = qtySum ? qtySum.toFixed(2) : "0.00";
|
|
|
+ }
|
|
|
+ //入库金额总计
|
|
|
+ if (item.property == "predictOceanFreight") {
|
|
|
+ sums[index] = micrometerFormat(instoreSum);
|
|
|
+ }
|
|
|
+ //金额总计
|
|
|
+ if (item.property == "referenceOceanFreight") {
|
|
|
+ sums[index] = micrometerFormat(totalSum);
|
|
|
+ }
|
|
|
+ //实际海运费
|
|
|
+ if (item.property == "oceanFreight") {
|
|
|
+ sums[index] = micrometerFormat(oceanFreightSum);
|
|
|
+ }
|
|
|
+ if (item.property == "orderQuantity") {
|
|
|
+ sums[index] = orderQuantitySum
|
|
|
+ ? orderQuantitySum.toFixed(2)
|
|
|
+ : "0.00";
|
|
|
+ }
|
|
|
+ if (item.property == "actualQuantity") {
|
|
|
+ sums[index] = actualQuantitySum
|
|
|
+ ? actualQuantitySum.toFixed(2)
|
|
|
+ : "0.00";
|
|
|
+ }
|
|
|
+ if (item.property == "amount") {
|
|
|
+ sums[index] = micrometerFormat(amountSum);
|
|
|
+ }
|
|
|
+ if (item.property == "purchaseAmount") {
|
|
|
+ sums[index] = micrometerFormat(purchaseAmountSum);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return sums;
|
|
|
+ },
|
|
|
async saveColumn() {
|
|
|
const inSave = await this.saveColumnData(
|
|
|
this.getColumnName(4),
|
|
@@ -272,6 +366,11 @@ export default {
|
|
|
this.$refs.crud.$refs.dialogColumn.columnBox = false;
|
|
|
}
|
|
|
}
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ option: function() {
|
|
|
+ this.search.businesDate = defaultDate();
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
</script>
|