chenjun %!s(int64=2) %!d(string=hai) anos
pai
achega
090ddb3389

+ 147 - 69
src/views/advancedQuery/views/advancedHome.vue

@@ -63,25 +63,28 @@
         height="calc(100vh - 155px)"
         style="width: 100%"
         show-summary
+        :cell-class-name="cellClass"
+        @cell-click="cellClick"
         :summary-method="summaryRow(tableData.length)"
-        :header-row-class-name="tableHeader"
+        :span-method="arraySpanMethod"
       >
-        <el-table-column
+        <!-- <el-table-column
           prop="index"
           label="序号"
-        />
+          :width="50"
+        /> -->
         <el-table-column
           prop="FlightNO"
           label="航班号"
           :filters="FlightNOItem"
           :filter-method="filterHandler"
         >
-          <template slot-scope="scope">
+          <!-- <template slot-scope="scope">
             <el-button
               size="mini"
               @click="flightClickHandler(scope.row)"
             >{{ scope.row.FlightNO }}</el-button>
-          </template>
+          </template> -->
         </el-table-column>
         <el-table-column
           prop="FlightDate"
@@ -89,6 +92,10 @@
           :filters="FlightDateItem"
           :filter-method="filterHandler"
         />
+        <el-table-column
+          prop="DepartureTime"
+          label="起飞时间"
+        />
         <el-table-column
           prop="SourceAirport"
           label="起飞站"
@@ -112,12 +119,12 @@
           label="行李牌号"
           width="130"
         >
-          <template slot-scope="scope">
+          <!-- <template slot-scope="scope">
             <el-button
               size="mini"
               @click="baggageClickHandler(scope.row)"
             >{{ scope.row.BagSN }}</el-button>
-          </template>
+          </template> -->
         </el-table-column>
         <el-table-column
           prop="SpecialType"
@@ -125,12 +132,7 @@
           :filters="SpecialTypeItem"
           :filter-method="filterHandler"
         />
-        <el-table-column
-          prop="checkIn"
-          label="值机"
-          :filters="checkInItem"
-          :filter-method="filterHandler"
-        />
+
         <el-table-column
           label="删除"
           prop="deleted"
@@ -295,8 +297,7 @@
               <el-col :span="8">
                 <el-form-item label="容器编号">
                   <el-input
-                    v-model="form.container"
-                    disabled
+                    v-model="form.U_Device_ID"
                     size="small"
                   />
                 </el-form-item>
@@ -391,7 +392,7 @@ export default {
         station: '',
         grade: '',
         type: '',
-        container: '',
+        U_Device_ID: '',
         name: '',
         pnr: '',
         check: ''
@@ -414,7 +415,9 @@ export default {
       activatedItem: [],
       latestStatusItem: [],
       bagLocationItem: [],
-      TransferFlightNOItem: []
+      TransferFlightNOItem: [],
+      spanArr:[],
+      contactDot: 0,
     }
   },
   created() {
@@ -423,7 +426,6 @@ export default {
     // for (let i = 0; i < 18; i++) {
     //   dataContent.push(null)
     // }
-    // this.integratedQuery();
     // this.statItemsQueryByStatMain(dataContent);
   },
   mounted() {
@@ -431,66 +433,59 @@ export default {
     document.querySelector('.interfaceLog_head_time_start .el-input__prefix').innerHTML = '开始:'
     document.querySelector('.interfaceLog_head_time_end .el-input__prefix i').remove()
     document.querySelector('.interfaceLog_head_time_end .el-input__prefix').innerHTML = '结束:'
-    const { FlightNO, FlightDate,name,grade,startDate,endDate,station,destination } = this.$route.query
+    const { FlightNO, FlightDate,name,grade,startDate,endDate,station,destination ,UDeviceID} = this.$route.query
     if (FlightNO && FlightDate) {
       this.$router.replace(this.$route.path)
       const parsedTime = parseTime(new Date(FlightDate), '{y}-{m}-{d}')
       this.timeStart = this.timeEnd = parsedTime
       this.$refs['search'].setSearch(FlightNO)
     }
-    if(name&&startDate&&endDate&&station){
+    if(startDate&&endDate){
       this.timeStart = startDate;
       this.timeEnd = endDate;
       this.form['time'] = [startDate,endDate];
+    }
+
+    if(name&&station){
       this.form['name'] = name;
       this.form['station'] = station
       this.onCheckGj()
     }
 
-    if(grade&&startDate&&endDate&&station){
-      this.timeStart = startDate;
-      this.timeEnd = endDate;
-      this.form['time'] = [startDate,endDate];
+    if(grade&&station){
       this.form['grade'] = grade;
       this.form['station'] = station
       this.onCheckGj()
     }
 
-    if(FlightNO&&startDate&&endDate&&station){
-      this.timeStart = startDate;
-      this.timeEnd = endDate;
-      this.form['time'] = [startDate,endDate];
+    if(FlightNO&&station){
       this.form['flightNumber'] = FlightNO;
       this.form['station'] = station
       this.onCheckGj()
     }
 
-    if(name&&startDate&&endDate&&destination){
-      this.timeStart = startDate;
-      this.timeEnd = endDate;
-      this.form['time'] = [startDate,endDate];
+    if(name&&destination){
       this.form['name'] = name;
       this.form['destination'] = destination
       this.onCheckGj()
     }
 
-    if(grade&&startDate&&endDate&&destination){
-      this.timeStart = startDate;
-      this.timeEnd = endDate;
-      this.form['time'] = [startDate,endDate];
+    if(grade&&destination){
       this.form['grade'] = grade;
       this.form['destination'] = destination
       this.onCheckGj()
     }
 
-    if(FlightNO&&startDate&&endDate&&destination){
-      this.timeStart = startDate;
-      this.timeEnd = endDate;
-      this.form['time'] = [startDate,endDate];
+    if(FlightNO&&destination){
       this.form['flightNumber'] = FlightNO;
       this.form['destination'] = destination
       this.onCheckGj()
     }
+    if(UDeviceID&&FlightNO){
+      this.form['flightNumber'] = FlightNO;
+      this.form['U_Device_ID'] = UDeviceID
+      this.onCheckGj()
+    }
   },
   updated() {
     // table数据更新
@@ -499,6 +494,36 @@ export default {
     })
   },
   methods: {
+    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+      for (let i = 0; i < 5; i++) {
+        if (columnIndex === i) {
+          const _row = this.spanArr[rowIndex];
+          const _col = _row > 0 ? 1 : 0;
+          return {
+            rowspan: _row,
+            colspan: _col,
+          };
+        }
+      }
+    },
+    cellClass(row, column, rowIndex, columnIndex){
+      if (row.column.property == "FlightNO"||row.column.property == "TransferFlightNO"||row.column.property == "BagSN") {
+        return "clickCell"
+      }
+    },
+    cellClick(row, column, cell, event) {
+      if (column.property == "FlightNO") {
+        this.$router.push({ path: "/advance/flightView", query: row });
+      }
+      if (column.property == "TransferFlightNO") {
+        let row2 = this._.cloneDeep(row);
+        row2.FlightNO = row2.TransferFlightNO
+        this.$router.push({ path: "/advance/flightView", query: row2 });
+      }
+      if (column.property == "BagSN") {
+        this.$router.push({ path: '/advance/baggageView', query: row })
+      }
+    },
     // 查询
     getSearchData(val) {
       this.form = {
@@ -509,7 +534,7 @@ export default {
         station: '',
         grade: '',
         type: '',
-        container: '',
+        U_Device_ID: '',
         name: '',
         pnr: '',
         check: ''
@@ -571,7 +596,7 @@ export default {
       // 参数顺序   【航班开始日期,航班结束日期,航班号,航班号,行李牌号,行李牌号,起飞站,起飞站,目的站,目的站,特殊行李类型,特殊 行李类型,旅客姓名大写拼音,旅客姓名大写拼音,pnr,pnr,值机号,值机号】
       this.dataContent = []
       this.dataContent = []
-      const { time, status, flightNumber, destination, station, grade, type, container, name, pnr, check } = this.form
+      const { time, status, flightNumber, destination, station, grade, type, U_Device_ID, name, pnr, check } = this.form
       if (time && time.length) {
         this.dataContent.push(time[0])
         this.dataContent.push(time[1])
@@ -581,7 +606,7 @@ export default {
           station == '' &&
           grade == '' &&
           type == '' &&
-          container == '' &&
+          U_Device_ID == '' &&
           name == '' &&
           pnr == '' &&
           check == ''
@@ -597,6 +622,7 @@ export default {
           this.setDataContent(name)
           this.setDataContent(pnr)
           this.setDataContent(check)
+          this.setDataContent(U_Device_ID)
           this.statItemsQueryByStatMain(this.dataContent)
           this.gjFlag = false
         }
@@ -619,28 +645,12 @@ export default {
       }
     },
     // 表格行点击处理
-    flightClickHandler(row) {
-      this.$router.push({ path: '/advance/flightView', query: row })
-    },
-    baggageClickHandler(row) {
-      this.$router.push({ path: '/advance/baggageView', query: row })
-    },
-    // 综合查询
-    async integratedQuery(obj = {}) {
-      try {
-        this.loading = true
-        const res = await advancedInquiry(obj)
-        if (res.code === 0) {
-          console.log(res)
-        } else {
-          this.$message.error(res.message)
-          this.loading = false
-        }
-      } catch (error) {
-        console.log('出错了', error)
-        this.loading = false
-      }
-    },
+    // flightClickHandler(row) {
+    //   this.$router.push({ path: '/advance/flightView', query: row })
+    // },
+    // baggageClickHandler(row) {
+    //   this.$router.push({ path: '/advance/baggageView', query: row })
+    // },
     // 表头数据查询
     async statItemsQueryByStatMain(dataContent) {
       try {
@@ -649,10 +659,26 @@ export default {
           dataContent
         })
         if (res.code == 0) {
-          this.tableData = res.returnData.map((item, index) => {
-            item['index'] = index + 1
-            return item
-          })
+          this.tableData = this._.sortBy(res.returnData, [
+            "FlightNO",
+            "FlightDate",
+          ]);
+          this.spanArr = [];
+          let contactDot = this.contactDot;
+          this.tableData.forEach((item, index) => {
+            item.index = index;
+            if (index === 0) {
+              this.spanArr.push(1);
+            } else {
+              if (item.FlightNO === this.tableData[index - 1].FlightNO&&item.FlightDate === this.tableData[index - 1].FlightDate) {
+                this.spanArr[contactDot] += 1;
+                this.spanArr.push(0);
+              } else {
+                this.spanArr.push(1);
+                contactDot = index;
+              }
+            }
+          });
           this.getTableFilterItem()
         } else {
           this.$message.error(res.message)
@@ -876,4 +902,56 @@ export default {
     }
   }
 }
+.advance__table {
+  width: 100%;
+  ::v-deep .table {
+    width: 100%;
+    .cell {
+      padding: 0;
+      text-align: center;
+      font-size: 14px;
+      font-family: Helvetica, "Microsoft YaHei";
+      letter-spacing: 0;
+    }
+    .clickCell{
+        cursor: pointer;
+        color: #2d7cff;
+      }
+    .el-table__header-wrapper {
+      .cell {
+        font-weight: bold;
+        color: #101116;
+      }
+
+      .has-gutter {
+        tr {
+          .bgl-huang {
+            background: #fcf0b1;
+          }
+        }
+      }
+    }
+
+    .el-table__body-wrapper {
+      tr.bgl-hui {
+        background: #d2d6df;
+        td {
+          background: #d2d6df;
+        }
+        &.redBorder {
+          position: relative;
+          &::after {
+            content: "";
+            position: absolute;
+            left: 0;
+            bottom: 0;
+            width: 100%;
+            height: 2px;
+            background: #e83f82;
+          }
+        }
+      }
+    }
+  }
+}
 </style>

+ 5 - 0
src/views/baggageManagement/components/baggage/index.vue

@@ -240,6 +240,10 @@ export default {
           label: '行李牌号',
           content: 'bagNo'
         },
+        {
+          label: '航班号',
+          content: 'FlightNO'
+        },
         {
           label: '企业或团队名称',
           content: 'teamOrGroup'
@@ -496,6 +500,7 @@ export default {
           // this.queryBaggageTrack(new Array(2).fill(dataContent).flat()),
           this.queryBaggageDetails(new Array(6).fill(dataContent).flat())
         ])
+        baggageBasicInfo[0].FlightNO = FlightNO;
         baggageBasicInfo.length && (this.baggageBasicInfo = baggageBasicInfo[0])
         // this._.sortBy(baggageTrack, item => item.DealTime).forEach((item, index) => {
         //   item['DealTime'] = item['DealTime'].replace('T', '\n')

+ 12 - 0
src/views/baggageManagement/components/flight/index.vue

@@ -178,6 +178,7 @@
           show-summary
           :summary-method="summaryMethod"
           :header-cell-style="{ color: '#101116' }"
+          @row-click="containeClick"
         >
           <el-table-column
             v-for="item in containerTableColumn"
@@ -591,6 +592,17 @@ export default {
     //     console.log(error)
     //   }
     // },
+    containeClick(row){
+      this.$router.push({
+        path: '/advance',
+        query: {
+          FlightNO: this.queryData.FlightNO,
+          startDate: this.queryData.FlightDate,
+          endDate: this.queryData.FlightDate,
+          UDeviceID:row.containerNumber
+        }
+      })
+    },
     transferBaggageInTableClickHandler(row) {
       this.$router.push({
         path: '/advance',

+ 16 - 1
src/views/baggageManagement/components/transferArrival/index.vue

@@ -190,6 +190,7 @@
         :summary-method="summaryMethod"
         :span-method="arraySpanMethod"
         @cell-click="cellClick"
+        :cell-class-name="cellClass"
         border
         stripe
       >
@@ -405,10 +406,20 @@ export default {
   //   },
   // },
   methods: {
+    cellClass(row, column, rowIndex, columnIndex){
+      if (row.column.property == "FlightNO"||row.column.property == "PreFlightNO") {
+        return "clickCell"
+      }
+    },
     cellClick(row, column, cell, event) {
-      if (column.property == "PreFlightNO") {
+      if (column.property == "FlightNO") {
         this.$router.push({ path: "/transfer/arrival/flightView", query: row });
       }
+      if (column.property == "PreFlightNO") {
+        let row2 = this._.cloneDeep(row);
+        row2.FlightNO = row2.PreFlightNO
+        this.$router.push({ path: "/transfer/arrival/flightView", query: row2 });
+      }
     },
     changeView() {
       this.$router.replace({
@@ -846,6 +857,10 @@ export default {
       font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
+    .clickCell{
+        cursor: pointer;
+        color: #2d7cff;
+      }
     .el-table__header-wrapper {
       .cell {
         font-weight: bold;

+ 17 - 0
src/views/baggageManagement/components/transferDeparture/index.vue

@@ -203,6 +203,7 @@
         :summary-method="summaryMethod"
         :span-method="arraySpanMethod"
         @cell-click="cellClick"
+        :cell-class-name="cellClass"
         border
         stripe
       >
@@ -408,10 +409,20 @@ export default {
     this.getAirPortData();
   },
   methods: {
+    cellClass(row, column, rowIndex, columnIndex){
+      if (row.column.property == "FlightNO"||row.column.property == "PreFlightNO") {
+        return "clickCell"
+      }
+    },
     cellClick(row, column, cell, event) {
       if (column.property == "FlightNO") {
         this.$router.push({ path: "/transfer/departure/flightView", query: row });
       }
+      if (column.property == "PreFlightNO") {
+        let row2 = this._.cloneDeep(row);
+        row2.FlightNO = row2.PreFlightNO
+        this.$router.push({ path: "/transfer/departure/flightView", query: row2 });
+      }
     },
     changeView() {
       this.$router.replace({
@@ -825,11 +836,16 @@ export default {
       font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
+    .clickCell{
+        cursor: pointer;
+        color: #2d7cff;
+      }
     .el-table__header-wrapper {
       .cell {
         font-weight: bold;
         color: #101116;
       }
+
       .has-gutter {
         tr {
           .bgl-huang {
@@ -838,6 +854,7 @@ export default {
         }
       }
     }
+
     .el-table__body-wrapper {
       tr.bgl-hui {
         background: #d2d6df;