Bladeren bron

Merge branch 'master' of https://git.steerinfo.com/DAL-DAZHOU/icore-pass

luobang 3 jaren geleden
bovenliggende
commit
46ed0930f4
1 gewijzigde bestanden met toevoegingen van 324 en 5 verwijderingen
  1. 324 5
      src/views/sale/components/transport_excute/tms-offsite/arrivalResult.vue

+ 324 - 5
src/views/sale/components/transport_excute/tms-offsite/arrivalResult.vue

@@ -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)