|
@@ -19,18 +19,31 @@
|
|
|
with-setting
|
|
|
:withSetting="false"
|
|
|
:withExport="true"
|
|
|
+ :set="set"
|
|
|
@getFormData="getFormData"
|
|
|
@export="tableToExcel"
|
|
|
+ @upset="upset"
|
|
|
/>
|
|
|
</div>
|
|
|
<div class="echart">
|
|
|
- <Echarts :id="dataid" :option="tableData" />
|
|
|
+ <Echarts
|
|
|
+ :id="dataid"
|
|
|
+ :option="tableData"
|
|
|
+ v-if="picShow == true ? true : false"
|
|
|
+ />
|
|
|
+ <Tableformbrs
|
|
|
+ :tableList="tableList"
|
|
|
+ :action="action"
|
|
|
+ v-if="!picShow"
|
|
|
+ :set="set"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import Echarts from "../components/echart/index.vue";
|
|
|
+import Tableformbrs from "../components/echart/tableforms.vue";
|
|
|
import StatisticsHeader from "../components/echart/statisticsHeader.vue";
|
|
|
import { export_json_to_excel } from "@/utils/Export2Excel";
|
|
|
import { Query } from "@/api/webApi";
|
|
@@ -38,6 +51,7 @@ export default {
|
|
|
name: "ChartsBar",
|
|
|
data() {
|
|
|
return {
|
|
|
+ picShow: true, //图片表格切换
|
|
|
action: 0,
|
|
|
dataid: "collection_ecahrt0",
|
|
|
listqueryTemplateID: DATACONTENT_ID.modeLoadingweight,
|
|
@@ -45,6 +59,7 @@ export default {
|
|
|
set: "",
|
|
|
isShow: Echarts,
|
|
|
tableList: [],
|
|
|
+ tableListcop: [],
|
|
|
listname: "",
|
|
|
listHeader: [],
|
|
|
tableData: {
|
|
@@ -72,6 +87,9 @@ export default {
|
|
|
{
|
|
|
name: "货量统计",
|
|
|
},
|
|
|
+ {
|
|
|
+ name: "拉货统计",
|
|
|
+ },
|
|
|
],
|
|
|
formItems: [
|
|
|
{
|
|
@@ -314,13 +332,41 @@ export default {
|
|
|
this.eledata = 3;
|
|
|
this.titleTop = "货量统计";
|
|
|
this.listqueryTemplateID = DATACONTENT_ID.modeCargostatistics;
|
|
|
+ } else if (index === 4) {
|
|
|
+ this.dataid = "collection_ecahrt3";
|
|
|
+ this.tableData.time = [];
|
|
|
+ this.tableData.data1 = [];
|
|
|
+ this.tableData.data2 = [];
|
|
|
+ this.formItems[0].options = [
|
|
|
+ {
|
|
|
+ value: "国内离港",
|
|
|
+ label: "国内离港",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "国际离港",
|
|
|
+ label: "国际离港",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "国内进港",
|
|
|
+ label: "国内进港",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "国际进港",
|
|
|
+ label: "国际进港",
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ this.formItems[3].disabled = true;
|
|
|
+ this.formItems[4].disabled = false;
|
|
|
+ this.eledata = 3;
|
|
|
+ this.titleTop = "拉货统计";
|
|
|
+ this.listqueryTemplateID = DATACONTENT_ID.modePullgoods;
|
|
|
}
|
|
|
},
|
|
|
getFormData(data) {
|
|
|
this.tableData.time = [];
|
|
|
this.tableData.data1 = [];
|
|
|
this.tableData.data2 = [];
|
|
|
- if (this.action === 2) {
|
|
|
+ if (this.action === 2 || this.action === 4) {
|
|
|
this.set = data.set;
|
|
|
let option = [
|
|
|
{
|
|
@@ -354,7 +400,7 @@ export default {
|
|
|
data.dateTime[0] +
|
|
|
"--" +
|
|
|
data.dateTime[1];
|
|
|
- this.listHeader = ["序号", "时间", "重量"];
|
|
|
+ this.listHeader = ["序号", "时间", "重量", "环比"];
|
|
|
} else if (this.action === 1) {
|
|
|
this.listname =
|
|
|
"航班量统计" +
|
|
@@ -364,7 +410,7 @@ export default {
|
|
|
data.dateTime[0] +
|
|
|
"--" +
|
|
|
data.dateTime[1];
|
|
|
- this.listHeader = ["序号", "时间", "重量"];
|
|
|
+ this.listHeader = ["序号", "时间", "重量", "环比"];
|
|
|
} else if (this.action === 2) {
|
|
|
this.listname =
|
|
|
"特货统计" +
|
|
@@ -375,11 +421,10 @@ export default {
|
|
|
data.dateTime[0] +
|
|
|
"--" +
|
|
|
data.dateTime[1];
|
|
|
- console.log();
|
|
|
if (data.set == 1) {
|
|
|
- this.listHeader = ["序号", "时间", "单"];
|
|
|
+ this.listHeader = ["序号", "时间", "单", "环比"];
|
|
|
} else if (data.set == 2) {
|
|
|
- this.listHeader = ["序号", "时间", "重量"];
|
|
|
+ this.listHeader = ["序号", "时间", "重量", "环比"];
|
|
|
}
|
|
|
} else if (this.action === 3) {
|
|
|
this.listname =
|
|
@@ -390,7 +435,21 @@ export default {
|
|
|
data.dateTime[0] +
|
|
|
"--" +
|
|
|
data.dateTime[1];
|
|
|
- this.listHeader = ["序号", "时间", "重量"];
|
|
|
+ this.listHeader = ["序号", "时间", "重量", "环比"];
|
|
|
+ } else if (this.action === 4) {
|
|
|
+ this.listname =
|
|
|
+ "拉货统计" +
|
|
|
+ data.fttp +
|
|
|
+ data.kht +
|
|
|
+ data.td +
|
|
|
+ data.dateTime[0] +
|
|
|
+ "--" +
|
|
|
+ data.dateTime[1];
|
|
|
+ if (data.set == 1) {
|
|
|
+ this.listHeader = ["序号", "时间", "单", "环比"];
|
|
|
+ } else if (data.set == 2) {
|
|
|
+ this.listHeader = ["序号", "时间", "重量", "环比"];
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
//获取表格数据
|
|
@@ -401,7 +460,21 @@ export default {
|
|
|
dataContent: data,
|
|
|
});
|
|
|
if (code == 0) {
|
|
|
- this.tableList = returnData.listValues;
|
|
|
+ this.tableList = JSON.parse(JSON.stringify(returnData.listValues));
|
|
|
+ this.tableListcop = JSON.parse(JSON.stringify(returnData.listValues));
|
|
|
+ this.tableList.forEach((item, index) => {
|
|
|
+ item.indexs = index + 1;
|
|
|
+ });
|
|
|
+ this.tableListcop.forEach((item, index) => {
|
|
|
+ item.indexs = index + 1;
|
|
|
+ });
|
|
|
+ if (this.action === 0) {
|
|
|
+ let objar = {
|
|
|
+ indexs: "合计",
|
|
|
+ weight: returnData.listValues[0].totalWeight,
|
|
|
+ };
|
|
|
+ this.tableListcop.push(objar);
|
|
|
+ }
|
|
|
returnData.listValues.forEach((element) => {
|
|
|
if (this.action === 0) {
|
|
|
this.tableData.data2.push(element.weight ? element.weight : 0);
|
|
@@ -428,10 +501,23 @@ export default {
|
|
|
this.tableData.data2.push(element.weight ? element.weight : 0);
|
|
|
this.tableData.time.push(element.fdt);
|
|
|
this.tableData.kg = "单位:吨";
|
|
|
+ } else if (this.action === 4) {
|
|
|
+ this.tableData.time.push(element.dat);
|
|
|
+ this.tableData.kg = "单位:吨";
|
|
|
+ if (dat == 1) {
|
|
|
+ this.tableData.data2.push(
|
|
|
+ element.pullFlightNum ? element.pullFlightNum : 0
|
|
|
+ );
|
|
|
+ this.tableData.kg = "单位:单";
|
|
|
+ } else if (dat == 2) {
|
|
|
+ this.tableData.kg = "单位:吨";
|
|
|
+ this.tableData.data2.push(
|
|
|
+ element.pullWeight ? element.pullWeight : 0
|
|
|
+ );
|
|
|
+ }
|
|
|
}
|
|
|
this.tableData.data1 = [];
|
|
|
});
|
|
|
- let ar = [];
|
|
|
this.tableData.data1.push(0);
|
|
|
for (let index = 0; index < this.tableData.data2.length; index++) {
|
|
|
// const element =
|
|
@@ -443,7 +529,15 @@ export default {
|
|
|
(this.tableData.data2[index] -
|
|
|
this.tableData.data2[index - 1]) /
|
|
|
this.tableData.data2[index - 1];
|
|
|
- this.tableData.data1.push(element.toFixed(2));
|
|
|
+ this.tableData.data1.push(
|
|
|
+ element.toFixed(2) ? element.toFixed(2) : 0
|
|
|
+ );
|
|
|
+ this.tableData.data1.forEach((element) => {
|
|
|
+ element = Number(element);
|
|
|
+ if (typeof element !== "number") {
|
|
|
+ element = 0;
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
// this.tableData = returnData.listValues;
|
|
@@ -453,6 +547,7 @@ export default {
|
|
|
this.page--;
|
|
|
}
|
|
|
},
|
|
|
+ //导出
|
|
|
tableToExcel() {
|
|
|
import("../../../utils/Export2Excel").then((excel) => {
|
|
|
// 设置导出表格的头部
|
|
@@ -461,21 +556,33 @@ export default {
|
|
|
/**
|
|
|
* 源数据导入到excel的数据每一条重新拼成一个数组,数组里的每个元素就是filterVal里的每个字段
|
|
|
*/
|
|
|
- const data = this.tableList.map((item, index) => {
|
|
|
+ const data = this.tableListcop.map((item, index) => {
|
|
|
if (this.action === 0) {
|
|
|
- return [index + 1, item.dat, item.weight];
|
|
|
+ return [item.indexs, item.dat, item.weight, item.weightChain];
|
|
|
} else if (this.action === 1) {
|
|
|
- return [index + 1, item.dat, item.flightNum];
|
|
|
+ return [item.indexs, item.dat, item.flightNum, item.weightChain];
|
|
|
} else if (this.action === 2) {
|
|
|
if (this.set == 1) {
|
|
|
- return [index + 1, item.dat, item.flightNum];
|
|
|
+ return [item.indexs, item.dat, item.flightNum, item.weightChain];
|
|
|
} else if (this.set == 2) {
|
|
|
- return [index + 1, item.dat, item.weight];
|
|
|
+ return [item.indexs, item.dat, item.weight, item.weightChain];
|
|
|
}
|
|
|
} else if (this.action === 3) {
|
|
|
- return [index + 1, item.fdt, item.weight];
|
|
|
+ return [item.indexs, item.fdt, item.weight, item.weightChain];
|
|
|
+ } else if (this.action === 4) {
|
|
|
+ if (this.set == 1) {
|
|
|
+ return [
|
|
|
+ item.indexs,
|
|
|
+ item.dat,
|
|
|
+ item.pullFlightNum,
|
|
|
+ item.flightChain,
|
|
|
+ ];
|
|
|
+ } else if (this.set == 2) {
|
|
|
+ return [item.indexs, item.dat, item.pullWeight, item.weightChain];
|
|
|
+ }
|
|
|
}
|
|
|
});
|
|
|
+ data[data.length - 1].indexs = "总计";
|
|
|
// 调用我们封装好的方法进行导出Excel
|
|
|
excel.export_json_to_excel({
|
|
|
// 导出的头部
|
|
@@ -491,10 +598,14 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
+ upset(data) {
|
|
|
+ this.picShow = data;
|
|
|
+ },
|
|
|
},
|
|
|
components: {
|
|
|
Echarts,
|
|
|
StatisticsHeader,
|
|
|
+ Tableformbrs,
|
|
|
},
|
|
|
};
|
|
|
</script>
|