|
@@ -26,6 +26,75 @@
|
|
|
</el-button>
|
|
|
</div>
|
|
|
<div class="table">
|
|
|
+ <el-table
|
|
|
+ @filter-change="filterChange"
|
|
|
+ :data="dataTabel"
|
|
|
+ :span-method="objectSpanMethod"
|
|
|
+ border
|
|
|
+ style="width: 100%; margin-top: 20px">
|
|
|
+ <el-table-column
|
|
|
+ prop="orderNumber"
|
|
|
+ label="运输订单号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="capacityNumber"
|
|
|
+ label="车牌号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="materialName"
|
|
|
+ label="物资名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="materialSpecification"
|
|
|
+ label="规格">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="materialModel"
|
|
|
+ label="型号">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="resultNetWeight"
|
|
|
+ label="净重">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="resultGrossWeightTime"
|
|
|
+ label="净重时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="resultOutGateTime"
|
|
|
+ label="出厂时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="outGatepostName"
|
|
|
+ label="出厂门岗">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="carrierName"
|
|
|
+ label="承运商名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="deliveryAddress"
|
|
|
+ label="详细收货地址">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="receiveName"
|
|
|
+ label="客户名称">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="resultArrivalAddress"
|
|
|
+ label="抵达收货点的地址">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="insertTime"
|
|
|
+ label="抵达作业时间">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed="right" label="照片游览">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button @click="toPhotoClick(scope.row.orderNumber)" type="text" size="small" style="font-size: 6px">
|
|
|
+ 抵达满货照片</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
<dilTable ref="excelDom" v-bind.sync="option" >
|
|
|
<el-table-column fixed="right" label="照片游览" width="120">
|
|
|
<template slot-scope="scope">
|
|
@@ -35,6 +104,18 @@
|
|
|
</el-table-column>
|
|
|
</dilTable>
|
|
|
</div>
|
|
|
+ <!-- 分页器 -->
|
|
|
+ <el-pagination
|
|
|
+ v-if="isPagination"
|
|
|
+ :layout="layout"
|
|
|
+ :current-page="dataCurrentPage"
|
|
|
+ :page-sizes="pageSizes"
|
|
|
+ :page-size="dataPageSize"
|
|
|
+ :total="dataTotal"
|
|
|
+ @current-change="currentChange"
|
|
|
+ @size-change="sizeChange"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
<vxe-modal width="549px" height="731px" v-model="isShow" show-footer>
|
|
|
<div class="demo-image__preview">
|
|
|
<el-image
|
|
@@ -53,23 +134,261 @@ export default {
|
|
|
name: "homeworkPath",
|
|
|
data() {
|
|
|
return {
|
|
|
+ spanArr:[],
|
|
|
+ dataTabel:[],
|
|
|
+ // 自己的数据总条数
|
|
|
+ dataTotal: 0,
|
|
|
+ // 自己的每页显示条目个数
|
|
|
+ dataPageSize: 10,
|
|
|
+ // 每页显示个数选择器的选项设置
|
|
|
+ pageSizes: [10, 20, 50, 100, 200, 1000, 50000],
|
|
|
+ layout: "total, prev, pager, next, sizes, jumper",
|
|
|
+ // 自己的当前页面数
|
|
|
+ dataCurrentPage: 1,
|
|
|
+ // 是否启用分页器
|
|
|
+ isPagination: true,
|
|
|
restaurants: [],
|
|
|
- srcList:[],
|
|
|
- src:"",
|
|
|
- isShow:false,
|
|
|
+ srcList:[],
|
|
|
+ dataColumnData:[],
|
|
|
+ columnData:[],
|
|
|
+ src:"",
|
|
|
+ isShow:false,
|
|
|
input: "",
|
|
|
startTime: null,
|
|
|
endTime: null,
|
|
|
+ // 表格请求数据的地址
|
|
|
+ requestUrl: "/api/v1/otms/getArrivalResult?apiId=470",
|
|
|
+ beforeRow:0,
|
|
|
+ thatrowspan:1,
|
|
|
option: {
|
|
|
- // 表格请求数据的地址
|
|
|
- requestUrl: "/api/v1/otms/getArrivalResult?apiId=470",
|
|
|
+ pageSize:10,
|
|
|
+ pageNum:1,
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
+ mounted(){
|
|
|
+ this.requestData(this.option)
|
|
|
+ },
|
|
|
created(){
|
|
|
|
|
|
},
|
|
|
methods: {
|
|
|
+ //记录每一行的合并数
|
|
|
+ getSpanArr(data) {
|
|
|
+ //每次调用方法初始化
|
|
|
+ this.spanArr = [];
|
|
|
+ for (var i = 0; i < data.length; i++) {
|
|
|
+ if (i === 0) {
|
|
|
+ this.spanArr.push(1);
|
|
|
+ this.pos = 0;
|
|
|
+ } else {
|
|
|
+ // 判断当前元素与上一个元素是否相同
|
|
|
+ if (data[i].cxh === data[i - 1].cxh) {
|
|
|
+ this.spanArr[this.pos] += 1;
|
|
|
+ this.spanArr.push(0);
|
|
|
+ } else {
|
|
|
+ this.spanArr.push(1);
|
|
|
+ this.pos = i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
+ if (
|
|
|
+ columnIndex!=2||columnIndex!=3||columnIndex!=4||columnIndex!=5
|
|
|
+ ) {
|
|
|
+ const _row = this.spanArr[rowIndex];
|
|
|
+ const _col = _row > 0 ? 1 : 0;
|
|
|
+ return {
|
|
|
+ rowspan: _row,
|
|
|
+ colspan: _col
|
|
|
+ };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // objectSpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
+ // let that=this;
|
|
|
+ // if(columnIndex==2||columnIndex==3||columnIndex==4||columnIndex==5){
|
|
|
+ // return {
|
|
|
+ // rowspan: 1,
|
|
|
+ // colspan: 1
|
|
|
+ // };
|
|
|
+ // }else{
|
|
|
+ // if(row >=that.beforeRow){
|
|
|
+ // if((that.dataTabel[rowIndex+1].orderNumber==row.orderNumber)){
|
|
|
+ // for(let i=0;i<that.dataTabel.length-(rowIndex+1);i++){
|
|
|
+ // if((that.dataTabel[rowIndex+1+i].orderNumber==row.orderNumber)){
|
|
|
+ // that.thatrowspan++;
|
|
|
+ // that.beforeRow=rowIndex+1+i;
|
|
|
+ // }else{
|
|
|
+ // let myrowspan=that.thatrowspan;
|
|
|
+ // that.thatrowspan=1;
|
|
|
+ // return {
|
|
|
+ // rowspan: myrowspan,
|
|
|
+ // colspan: 1
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // }else{
|
|
|
+ // return {
|
|
|
+ // rowspan: 0,
|
|
|
+ // colspan: 0
|
|
|
+ // };
|
|
|
+ // }
|
|
|
+ // // if(rowIndex==0){
|
|
|
+ // // if(columnIndex==2||columnIndex==3||columnIndex==4||columnIndex==5){
|
|
|
+ // // return {
|
|
|
+ // // rowspan: 1,
|
|
|
+ // // colspan: 1
|
|
|
+ // // };
|
|
|
+ // // }else{
|
|
|
+ // // return {
|
|
|
+ // // rowspan: 3,
|
|
|
+ // // colspan: 1
|
|
|
+ // // };
|
|
|
+ // // }
|
|
|
+
|
|
|
+ // // }else{
|
|
|
+ // // if(columnIndex==2||columnIndex==3||columnIndex==4||columnIndex==5){
|
|
|
+ // // return {
|
|
|
+ // // rowspan: 1,
|
|
|
+ // // colspan: 1
|
|
|
+ // // };
|
|
|
+ // // }else if((that.dataTabel[rowIndex-1].orderNumber!=row.orderNumber)){
|
|
|
+ // // return {
|
|
|
+ // // rowspan: 1,
|
|
|
+ // // colspan: 1
|
|
|
+ // // };
|
|
|
+ // // }else{
|
|
|
+ // // return {
|
|
|
+ // // rowspan: 0,
|
|
|
+ // // colspan: 0
|
|
|
+ // // };
|
|
|
+ // // }
|
|
|
+ // }
|
|
|
+ // },
|
|
|
+ // 参数的值是一个对象,对象的 key 是 column 的 columnKey,对应的 value 为用户选择的筛选条件的数组。
|
|
|
+ filterChange(filters) {
|
|
|
+ let value = {};
|
|
|
+ for (const key in filters) {
|
|
|
+ value[key] = filters[key].length > 0 ? filters[key] : undefined;
|
|
|
+ }
|
|
|
+ // 每次筛选时,都默认将页面改为第一页,避免数据过少时,显示没有数据
|
|
|
+ this.currentChange(1, false);
|
|
|
+ this.setDataRequestQuery(value);
|
|
|
+ },
|
|
|
+ // current-page 改变时会触发
|
|
|
+ currentChange(val, isRequest = true) {
|
|
|
+ if (isRequest) {
|
|
|
+ this.requestData({ pageNum: val });
|
|
|
+ }
|
|
|
+ // 最后通知父节点页面改变
|
|
|
+ this.dataCurrentPage = val;
|
|
|
+ this.$emit("update:current-page", val);
|
|
|
+ },
|
|
|
+ // pageSize 改变时会触发
|
|
|
+ sizeChange(val) {
|
|
|
+ this.dataPageSize = val;
|
|
|
+ this.requestData({});
|
|
|
+ this.$emit("update:size-change", val);
|
|
|
+ },
|
|
|
+ // 通过请求获取数据
|
|
|
+ requestData(options) {
|
|
|
+ let pageNum = undefined;
|
|
|
+ let pageSize = undefined;
|
|
|
+
|
|
|
+ if (options) {
|
|
|
+ pageNum = options.pageNum;
|
|
|
+ pageSize = options.pageSize;
|
|
|
+ }
|
|
|
+ console.log(this.requestUrl)
|
|
|
+ if (this.requestUrl) {
|
|
|
+ // 处理请求地址逻辑
|
|
|
+ let url;
|
|
|
+ if (this.requestUrl.indexOf("//") > -1) {
|
|
|
+ url = this.requestUrl;
|
|
|
+ } else {
|
|
|
+ url = this.requestUrl;
|
|
|
+ }
|
|
|
+ // 判断是否需要在请求体中放入参数
|
|
|
+ if(this.requestQuery){
|
|
|
+ this.dataRequestQuery=this.requestQuery;
|
|
|
+ // console.log(this.dataRequestQuery.resultBreakId)
|
|
|
+ }
|
|
|
+ let data = undefined;
|
|
|
+ for (const key in this.dataRequestQuery) {
|
|
|
+ const val = this.dataRequestQuery[key];
|
|
|
+ console.log(val)
|
|
|
+ if (val||val==0) {
|
|
|
+ if (!data) data = {};
|
|
|
+ data[key] = val;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //判断是否是带分页查询
|
|
|
+ if(this.isKuang){
|
|
|
+ console.log("AAAAAAAAAAAAAAAAAAAAA")
|
|
|
+ // 发送请求
|
|
|
+ this.axios
|
|
|
+ .post(url, data, {
|
|
|
+ // 请求地址 中
|
|
|
+ params: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: pageSize || this.dataPageSize
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .then(response => {
|
|
|
+ let d = response.data.data;
|
|
|
+ this.dataTabel = d.list;
|
|
|
+ this.spanArr(this.dataTabel)
|
|
|
+ this.dataTotal = d.total;
|
|
|
+ console.log(this.dataTabel)
|
|
|
+ console.log("this.dataTabe")
|
|
|
+ //执行成功的回调
|
|
|
+ this.$emit('func',response.data.data);
|
|
|
+ this.refreshColumnData(d.columnData);
|
|
|
+ });
|
|
|
+ }else{
|
|
|
+ console.log("BBBBBBBBBBBBBBBBBBBBBBBBB")
|
|
|
+ // 发送请求
|
|
|
+ this.axios
|
|
|
+ .post(url, data, {
|
|
|
+ // 请求地址 中
|
|
|
+ params: {
|
|
|
+ pageNum: pageNum || this.dataCurrentPage,
|
|
|
+ pageSize: pageSize || this.dataPageSize
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .then(response => {
|
|
|
+ let d = response.data.data;
|
|
|
+ this.dataTabel = d.list;
|
|
|
+ this.dataTotal = d.total; response
|
|
|
+ console.log(response)
|
|
|
+ console.log(this.dataTabel)
|
|
|
+
|
|
|
+ console.log("this.dataTabe")
|
|
|
+ //执行成功的回调
|
|
|
+ this.$emit('func',response.data.data);
|
|
|
+ this.refreshColumnData(d.columnData);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ console.warn("requestUrl 参数不能为 null");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 刷新表头显示数据
|
|
|
+ refreshColumnData(columnData) {
|
|
|
+ // 表头只赋值一次(在查出全部数据的情况下才只赋值一次)
|
|
|
+ if (this.dataColumnData.length > 0){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ console.log(columnData)
|
|
|
+ console.log("columnData")
|
|
|
+ // 如果前端有写表头,则加在后端表头前面
|
|
|
+ const d = this.columnData.concat(columnData);
|
|
|
+ // 把操作列拼接到最后一列
|
|
|
+ this.dataColumnData = d;
|
|
|
+ this.dataDropColumn = [].concat(this.dataColumnData);
|
|
|
+ },
|
|
|
toPhotoClick(orderNumber){
|
|
|
this.axios
|
|
|
.post("/api/v1/otms/getArrivalPhoto?orderNumber="+orderNumber)
|