Procházet zdrojové kódy

表格筛选修改

zhongxiaoyu před 2 roky
rodič
revize
50c6c15c25

+ 2 - 1
src/api/dataIntegration.js

@@ -1,7 +1,7 @@
 /*
  * @Author: Badguy
  * @Date: 2022-04-13 14:35:17
- * @LastEditTime: 2022-05-10 09:09:56
+ * @LastEditTime: 2022-05-11 16:56:23
  * @LastEditors: your name
  * @Description: 数据整合接口
  * have a nice day!
@@ -53,6 +53,7 @@ export const queryMap = {
   sourceByID: 18,
   serviceAlgorithmByServiceID: 19,
   outputListByServiceID: 20,
+  advacedQuery: 30,
   departureAirPort: 31,
   landingAirport: 32,
   departureAirPortBylandingAirport: 33,

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 294 - 494
src/views/advancedQuery/views/advancedHome.vue


+ 177 - 170
src/views/baggageManagement/components/arrival/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: zk
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 16:55:50
+ * @LastEditTime: 2022-05-11 17:48:36
  * @LastEditors: your name
  * @Description: 离港01
 -->
@@ -33,16 +33,15 @@
             v-model="formData.currentAirport"
             size="small"
             filterable
-            @change="airPortChange"
             placeholder="请选择机场"
+            @change="airPortChange"
           >
             <el-option
               v-for="(item, index) in AirportList"
               :key="index"
               :label="item.PlanLandingApt"
               :value="item.PlanLandingApt"
-            >
-            </el-option>
+            />
           </el-select>
         </el-form-item>
         <el-form-item prop="startDate">
@@ -71,14 +70,17 @@
           <div class="box-item">
             <p>预计装载总数:</p>
             <li
-              :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
               v-for="(item, index) in orderNum"
               :key="index"
+              :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
             >
               <span v-if="!isNaN(item)">
                 <i ref="numberItem">0123456789</i>
               </span>
-              <span class="comma" v-else>{{ item }}</span>
+              <span
+                v-else
+                class="comma"
+              >{{ item }}</span>
             </li>
           </div>
         </el-form-item>
@@ -96,9 +98,11 @@
             />
           </el-form-item>
           <el-form-item>
-            <el-button size="small" type="primary" @click="onSubmit(1)"
-              >搜索</el-button
-            >
+            <el-button
+              size="small"
+              type="primary"
+              @click="onSubmit(1)"
+            >搜索</el-button>
           </el-form-item>
           <el-form-item>
             <el-switch
@@ -112,8 +116,11 @@
               <img
                 class="checkTime msgImg"
                 src="../../../../assets/departure/ic_time.png"
-              />
-              <el-dropdown-menu slot="dropdown" class="time-zone">
+              >
+              <el-dropdown-menu
+                slot="dropdown"
+                class="time-zone"
+              >
                 <el-dropdown-item>国内Local/国际UTC</el-dropdown-item>
                 <el-dropdown-item>Local</el-dropdown-item>
                 <el-dropdown-item>UTC</el-dropdown-item>
@@ -125,7 +132,7 @@
               class="msgImg"
               src="../../../../assets/departure/ic_setting.png"
               @click="show"
-            />
+            >
           </el-form-item>
           <el-form-item>
             <el-button
@@ -166,15 +173,18 @@
           :prop="item.statCode"
           :label="item.statName"
           :width="item.width"
-          :filters="flightBaggageTableFilters[item.statCode]"
+          :filters="tableDataFilters[item.statCode]"
           :filter-method="
-            flightBaggageTableFilters[item.statCode] && filterHandler
+            tableDataFilters[item.statCode] && filterHandler
           "
         />
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog :flag="dialogFlag" class="dialog-check-cols">
+    <Dialog
+      :flag="dialogFlag"
+      class="dialog-check-cols"
+    >
       <div class="col-dialog">
         <div class="title">列设置</div>
         <div class="content">
@@ -193,10 +203,16 @@
           />
         </div>
         <div class="foot right t30">
-          <el-button size="medium" class="r24" type="primary" @click="onCheck"
-            >确定</el-button
-          >
-          <el-button size="medium" @click="hide">取消</el-button>
+          <el-button
+            size="medium"
+            class="r24"
+            type="primary"
+            @click="onCheck"
+          >确定</el-button>
+          <el-button
+            size="medium"
+            @click="hide"
+          >取消</el-button>
         </div>
       </div>
     </Dialog>
@@ -204,115 +220,115 @@
 </template>
 
 <script>
-import Dialog from "@/layout/components/Dialog";
-import terminalMixin from "../../mixins/terminal";
-import formMixin from "../../mixins/form";
-import tableColsMixin from "../../mixins/tableCols";
-import { getQuery } from "@/api/flight";
+import Dialog from '@/layout/components/Dialog'
+import terminalMixin from '../../mixins/terminal'
+import formMixin from '../../mixins/form'
+import tableColsMixin from '../../mixins/tableCols'
+import { getQuery } from '@/api/flight'
 
 export default {
-  name: "DepartureTerminalView",
+  name: 'DepartureTerminalView',
   components: { Dialog },
   mixins: [terminalMixin, formMixin, tableColsMixin],
   data() {
     return {
-      orderNum: ["0", "0", "0", "0"], // 默认总数
+      orderNum: ['0', '0', '0', '0'], // 默认总数
       // 初始表头
       tableCols: [
         {
-          statCode: "FlightNO",
-          statName: "航班号",
-          width: 100,
+          statCode: 'FlightNO',
+          statName: '航班号',
+          width: 100
         },
         {
-          statCode: "FlightDate",
-          statName: "执飞日期",
-          width: 105,
+          statCode: 'FlightDate',
+          statName: '执飞日期',
+          width: 105
         },
         {
-          statCode: "arrivalTime",
-          statName: "到港时间",
-          width: 150,
+          statCode: 'arrivalTime',
+          statName: '到港时间',
+          width: 150
         },
         {
-          statCode: "departureTerminal",
-          statName: "起飞航站",
+          statCode: 'departureTerminal',
+          statName: '起飞航站'
         },
         {
-          statCode: "arrivalTerminal",
-          statName: "到达航站",
+          statCode: 'arrivalTerminal',
+          statName: '到达航站'
         },
         {
-          statCode: "luggageCarousel",
-          statName: "行李转盘",
+          statCode: 'luggageCarousel',
+          statName: '行李转盘'
         },
         {
-          statCode: "parkingSpace",
-          statName: "停机位",
+          statCode: 'parkingSpace',
+          statName: '停机位'
         },
         {
-          statCode: "checkIns",
-          statName: "值机数",
+          statCode: 'checkIns',
+          statName: '值机数'
         },
         {
-          statCode: "projectedLoad",
-          statName: "预计装载",
+          statCode: 'projectedLoad',
+          statName: '预计装载'
         },
         {
-          statCode: "loadedQuantity",
-          statName: "已装载",
+          statCode: 'loadedQuantity',
+          statName: '已装载'
         },
         {
-          statCode: "numberOfDestinationArrivals",
-          statName: "到达",
+          statCode: 'numberOfDestinationArrivals',
+          statName: '到达'
         },
         {
-          statCode: "endPointNotReached",
-          statName: "未到达",
+          statCode: 'endPointNotReached',
+          statName: '未到达'
         },
         {
-          statCode: "specialQuantity",
-          statName: "特殊",
+          statCode: 'specialQuantity',
+          statName: '特殊'
         },
         {
-          statCode: "numberOfClaims",
-          statName: "理赔",
+          statCode: 'numberOfClaims',
+          statName: '理赔'
         },
         {
-          statCode: "uninstalled",
-          statName: "已卸载",
+          statCode: 'uninstalled',
+          statName: '已卸载'
         },
         {
-          statCode: "numberToBeUninstalled",
-          statName: "待卸载",
+          statCode: 'numberToBeUninstalled',
+          statName: '待卸载'
         },
         {
-          statCode: "terminateArrivalQuantity",
-          statName: "到达",
+          statCode: 'terminateArrivalQuantity',
+          statName: '到达'
         },
         {
-          statCode: "terminateUnreachedQuantity",
-          statName: "未到达",
+          statCode: 'terminateUnreachedQuantity',
+          statName: '未到达'
         },
         {
-          statCode: "quantityShipped",
-          statName: "已交运",
+          statCode: 'quantityShipped',
+          statName: '已交运'
         },
         {
-          statCode: "undeliveredQuantity",
-          statName: "未交运",
+          statCode: 'undeliveredQuantity',
+          statName: '未交运'
         },
         {
-          statCode: "numberOfContainers",
-          statName: "容器",
+          statCode: 'numberOfContainers',
+          statName: '容器'
         },
         {
-          statCode: "numberOfBulk",
-          statName: "散装",
-        },
+          statCode: 'numberOfBulk',
+          statName: '散装'
+        }
       ],
       AirportList: [],
-      flightBaggageTableFilters: {
+      tableDataFilters: {
         FlightNO: [],
         FlightDate: [],
         asarrivalTime: [],
@@ -320,55 +336,63 @@ export default {
         arrivalTerminal: [],
         luggageCarousel: [],
         parkingSpace: [],
-        numberOfContainers: [],
-
+        numberOfContainers: []
       },
       loopEvent: null,
       leaveCount: 0,
-      baggageCount: 0,
-    };
+      baggageCount: 0
+    }
   },
   created() {
-    this.getAirPortData();
+    this.getAirPortData()
+  },
+  mounted() {
+    const that = this
+    this.loopEvent = setInterval(function () {
+      that.getTableData()
+    }, 3000)
+  },
+  beforeDestroy() {
+    clearInterval(this.loopEvent)
   },
   methods: {
     airPortChange() {
-      this.getTableData();
+      this.getTableData()
     },
-    //选择机场
+    // 选择机场
     async getAirPortData() {
       try {
         const res = await getQuery({
           id: 67,
-          dataContent: [],
-        });
-        if (res.code == 0) {
-          this.AirportList = res.returnData;
-          this.formData.currentAirport = "PEK";
-          this.getTableData();
+          dataContent: []
+        })
+        if (Number(res.code) === 0) {
+          this.AirportList = res.returnData
+          this.formData.currentAirport = 'PEK'
+          this.getTableData()
         } else {
-          this.$message.error(res.message);
+          this.$message.error(res.message)
         }
       } catch (error) {
-        console.log("出错了", error);
+        console.log('出错了', error)
       }
     },
     tableRowClassName({ row, rowIndex }) {
-      if (row.hasTakenOff == 0) {
-        if (rowIndex == this.leaveCount - 1) {
-          return "bgl-hui redBorder";
+      if (row.hasTakenOff === 0) {
+        if (rowIndex === this.leaveCount - 1) {
+          return 'bgl-hui redBorder'
         } else {
-          return "bgl-hui";
+          return 'bgl-hui'
         }
       }
     },
     tableCellClassName({ row, column }) {
       if (
-        column.property === "transfer_all" ||
-        column.property === "departureAnomaly" ||
-        column.property === "riskWarning"
+        column.property === 'transfer_all' ||
+        column.property === 'departureAnomaly' ||
+        column.property === 'riskWarning'
       ) {
-        return "bgl-huang";
+        return 'bgl-huang'
       }
     },
     // 获取表单下拉框数据
@@ -383,107 +407,90 @@ export default {
     // },
     // 获取表格数据
     async getTableData() {
-      let arr = [
-        this.formData.currentAirport,
-        this.formData.startDate,
-        this.formData.endDate,
-      ];
+      const arr = [this.formData.currentAirport, this.formData.startDate, this.formData.endDate]
       try {
         const res = await getQuery({
           id: 38,
-          dataContent: [...arr, ...arr, ...arr],
-        });
-        if (res.code == 0) {
-          this.initTableData(res.returnData);
+          dataContent: [...arr, ...arr, ...arr]
+        })
+        if (Number(res.code) === 0) {
+          this.initTableData(res.returnData)
         } else {
-          console.log(res.message);
+          console.log(res.message)
         }
       } catch (error) {
-        clearInterval(this.loopEvent);
-        console.log("出错了", error);
+        clearInterval(this.loopEvent)
+        console.log('出错了', error)
       }
     },
     initTableData(tableData) {
-      this.leaveCount = 0;
-      this.baggageCount = 0;
-      tableData.forEach((item) => {
-        if (item.hasTakenOff == 0) {
-          this.leaveCount++;
+      this.leaveCount = 0
+      this.baggageCount = 0
+      tableData.forEach(item => {
+        if (item.hasTakenOff === 0) {
+          this.leaveCount++
         }
         // item["waitfanj"] = item["noCheckInNumber"] - item["unLoad"];
-        this.baggageCount = this.baggageCount + item.projectedLoad;
-      });
-      this.tableData = this._.sortBy(tableData, [
-        "FlightDate",
-        "PlanDepartureTime",
-      ]);
-       this.setTableFilters();
-       this.toOrderNum(this.baggageCount);
+        this.baggageCount = this.baggageCount + item.projectedLoad
+      })
+      this.tableData = this._.sortBy(tableData, ['FlightDate', 'PlanDepartureTime'])
+      this.setTableFilters(this.tableData, this.tableDataFilters)
+      this.toOrderNum(this.baggageCount)
       // setInterval(() => {
       //   this.baggageCount = this.baggageCount+1;
       //    // 这里输入数字即可调用
       // }, 2000);
     },
     // 表格添加过滤条件
-    setTableFilters() {
-      this.tableData.forEach((item) => {
-        Object.keys(this.flightBaggageTableFilters).forEach((key) => {
-          if (
-            (item[key] ?? "") !== "" &&
-            this.flightBaggageTableFilters[key].every(
-              (obj) => obj.value !== item[key]
-            )
-          ) {
-            this.flightBaggageTableFilters[key].push({
-              text: item[key],
-              value: item[key],
-            });
-          }
-          this.flightBaggageTableFilters[key] = this._.sortBy(
-            this.flightBaggageTableFilters[key],
-            ["value"]
-          );
-        });
-      });
+    setTableFilters(tableData = this.tableData, filters = this.tableDataFilters) {
+      const tempSets = {}
+      Object.keys(filters).forEach(key => {
+        tempSets[key] = new Set()
+      })
+      tableData.forEach(item => {
+        Object.keys(tempSets).forEach(key => {
+          (item[key] ?? '') !== '' && tempSets[key].add(item[key])
+        })
+      })
+      Object.keys(tempSets).forEach(key => {
+        filters[key] = this._.orderBy(
+          [...tempSets[key]].map(value => ({
+            text: value,
+            value
+          })),
+          o => o.value
+        )
+      })
     },
     filterHandler(value, row, column) {
-      const property = column["property"];
-      return row[property] === value;
+      const property = column['property']
+      return row[property] === value
     },
     setNumberTransform() {
-      const numberItems = this.$refs.numberItem; // 拿到数字的ref,计算元素数量
-      const numberArr = this.orderNum.filter((item) => !isNaN(item));
+      const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
+      const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
       for (let index = 0; index < numberItems.length; index++) {
-        const elem = numberItems[index];
-        elem.style.transform = `translate(-50%, -${numberArr[index] * 10}%)`;
+        const elem = numberItems[index]
+        elem.style.transform = `translate(-50%, -${numberArr[index] * 10}%)`
       }
     },
 
     toOrderNum(num) {
-      num = num.toString();
+      num = num.toString()
       if (num.length < 4) {
-        num = "0" + num; // 如未满八位数,添加"0"补位
-        this.toOrderNum(num); // 递归添加"0"补位
+        num = '0' + num // 如未满八位数,添加"0"补位
+        this.toOrderNum(num) // 递归添加"0"补位
       } else if (num.length === 4) {
-        this.orderNum = num.split(""); // 将其便变成数据,渲染至滚动数组
+        this.orderNum = num.split('') // 将其便变成数据,渲染至滚动数组
       } else {
         // 订单总量数字超过八位显示异常
-        this.$message.warning("总量数字过大");
+        this.$message.warning('总量数字过大')
       }
-      this.setNumberTransform();
-    },
-  },
-  mounted() {
-    let that = this;
-    this.loopEvent = setInterval(function () {
-      that.getTableData();
-    }, 3000);
-  },
-  beforeDestroy() {
-    clearInterval(this.loopEvent);
-  },
-};
+      this.setNumberTransform()
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
@@ -499,7 +506,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, "Microsoft YaHei";
+        font-family: Helvetica, 'Microsoft YaHei';
         font-size: 14px;
       }
       .el-switch__label {
@@ -619,7 +626,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, "Microsoft YaHei";
+      font-family: Helvetica, 'Microsoft YaHei';
       letter-spacing: 0;
     }
     .el-table__header-wrapper {
@@ -644,7 +651,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: "";
+            content: '';
             position: absolute;
             left: 0;
             bottom: 0;

+ 19 - 40
src/views/baggageManagement/components/baggage/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-10 17:57:09
+ * @LastEditTime: 2022-05-11 17:31:32
  * @LastEditors: your name
  * @Description: 行李视图
 -->
@@ -216,7 +216,6 @@
 import Dialog from '@/layout/components/Dialog/index.vue'
 import { queryMap, myQuery } from '@/api/dataIntegration'
 import tableColsMixin from '../../mixins/tableCols'
-import { getQuery } from '@/api/flight'
 
 export default {
   name: 'BaggageView',
@@ -394,7 +393,7 @@ export default {
       spanArr: [],
       pos: 0,
       loopEvent: null,
-      msgEvent:null
+      queryMessageLoop: null
     }
   },
   computed: {
@@ -409,16 +408,17 @@ export default {
   },
   watch: {
     infoBtn(val) {
-      let that = this;
+      const that = this
       if (val === '跟踪报文') {
-        clearInterval(this.loopEvent);
+        clearInterval(this.loopEvent)
+        this.loopEvent = null
         this.baggageMessageQuery()
-        this.msgEvent = setInterval(function(){
+        this.queryMessageLoop = setInterval(function () {
           that.baggageMessageQuery()
-        },5000)
-      }
-      else{
-        clearInterval(this.loopEvent);
+        }, 5000)
+      } else {
+        clearInterval(this.queryMessageLoop)
+        this.queryMessageLoop = null
         this.queryBaggageAll()
         this.loopEvent = setInterval(function () {
           that.queryBaggageAll()
@@ -432,7 +432,7 @@ export default {
     const that = this
     this.queryBaggageAll()
     this.loopEvent = setInterval(function () {
-    that.queryBaggageAll()
+      that.queryBaggageAll()
     }, 3000)
   },
   beforeDestroy() {
@@ -515,14 +515,11 @@ export default {
           // this.queryBaggageTrack(new Array(2).fill(dataContent).flat()),
           this.queryBaggageDetails(new Array(6).fill(dataContent).flat())
         ])
-        if(baggageBasicInfo[0].transitSign == 1){
-          baggageBasicInfo[0].transitSign = "非中转"
-        }
-        else{
-          baggageBasicInfo[0].transitSign = "中转"
+        if (baggageBasicInfo.length) {
+          baggageBasicInfo[0].transitSign = baggageBasicInfo[0].transitSign === 1 ? '非中转' : '中转'
+          baggageBasicInfo[0].FlightNO = FlightNO
+          this.baggageBasicInfo = baggageBasicInfo[0]
         }
-        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')
         //   item.NodeNameEN && this.stepData.splice(index, 1, item)
@@ -548,18 +545,10 @@ export default {
     },
     async baggageMessageQuery() {
       const { FlightNO, FlightDate, BagSN } = this.queryData
-      let dataContent = [FlightNO,FlightDate,BagSN]
-        try {
-        const res = await getQuery({
-          id:75,
-          dataContent:dataContent
-        }
-        )
-        if (res.code == 0) {
-          this.messageList = res.returnData
-        } else {
-          this.$message.error(res.message)
-        }
+      const dataContent = [FlightNO, FlightDate, BagSN]
+      try {
+        const result = await myQuery({ queryMap, ...dataContent })
+        this.messageList = result
       } catch (error) {
         console.log('出错了', error)
       }
@@ -799,14 +788,4 @@ export default {
     }
   }
 }
-::v-deep .dialog-check-cols .el-tree {
-  &.has-children .el-tree-node > .el-tree-node__children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-  &.no-children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-}
 </style>

+ 107 - 97
src/views/baggageManagement/components/departure/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: zk
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 16:55:50
+ * @LastEditTime: 2022-05-11 17:48:42
  * @LastEditors: your name
  * @Description: 离港01
 -->
@@ -33,16 +33,15 @@
             v-model="formData.currentAirport"
             size="small"
             filterable
-            @change="airPortChange"
             placeholder="请选择机场"
+            @change="airPortChange"
           >
             <el-option
               v-for="(item,index) in AirportList"
               :key="index"
               :label="item.PlanDepartureApt"
               :value="item.PlanDepartureApt"
-            >
-            </el-option>
+            />
           </el-select>
         </el-form-item>
         <el-form-item prop="startDate">
@@ -69,16 +68,21 @@
         </el-form-item>
         <el-form-item>
           <div class="box-item">
-             <p>预计装载总数:</p>
-            <li :class="{'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
+            <p>预计装载总数:</p>
+            <li
               v-for="(item,index) in orderNum"
-              :key="index">
-                <span v-if="!isNaN(item)">
-                  <i ref="numberItem">0123456789</i>
-                </span>
-              <span class="comma" v-else>{{item}}</span>
+              :key="index"
+              :class="{'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
+            >
+              <span v-if="!isNaN(item)">
+                <i ref="numberItem">0123456789</i>
+              </span>
+              <span
+                v-else
+                class="comma"
+              >{{ item }}</span>
             </li>
-    </div>
+          </div>
         </el-form-item>
         <div style="float:right">
           <el-form-item prop="search">
@@ -132,13 +136,13 @@
 
           </el-form-item>
           <el-form-item>
-          <el-button
-            class="btn-square setBtn"
-            type="primary"
-            icon="el-icon-s-tools"
-            size="mini"
-            @click="show"
-          />
+            <el-button
+              class="btn-square setBtn"
+              type="primary"
+              icon="el-icon-s-tools"
+              size="mini"
+              @click="show"
+            />
           </el-form-item>
         </div>
 
@@ -171,8 +175,8 @@
           :prop="item.statCode"
           :label="item.statName"
           :width="item.width"
-          :filters="flightBaggageTableFilters[item.statCode]"
-          :filter-method="flightBaggageTableFilters[item.statCode] && filterHandler"
+          :filters="tableDataFilters[item.statCode]"
+          :filter-method="tableDataFilters[item.statCode] && filterHandler"
         />
 
       </el-table>
@@ -229,7 +233,7 @@ export default {
   mixins: [terminalMixin, formMixin, tableColsMixin],
   data() {
     return {
-        orderNum: ['0', '0', '0', '0'], // 默认总数
+      orderNum: ['0', '0', '0', '0'], // 默认总数
       // 初始表头
       tableCols: [
         {
@@ -325,7 +329,7 @@ export default {
         }
       ],
       AirportList: [],
-      flightBaggageTableFilters: {
+      tableDataFilters: {
         FlightNO: [],
         FlightDate: [],
         PlanDepartureTime: [],
@@ -336,12 +340,21 @@ export default {
       },
       loopEvent: null,
       leaveCount: 0,
-      baggageCount:0,
+      baggageCount: 0
     }
   },
   created() {
     this.getAirPortData()
   },
+  mounted() {
+    const that = this
+    this.loopEvent = setInterval(function () {
+      that.getTableData()
+    }, 3000)
+  },
+  beforeDestroy() {
+    clearInterval(this.loopEvent)
+  },
   methods: {
     airPortChange() {
       this.getTableData()
@@ -352,7 +365,7 @@ export default {
           id: 65,
           dataContent: []
         })
-        if (res.code == 0) {
+        if (Number(res.code) === 0) {
           this.AirportList = res.returnData
           this.formData.currentAirport = 'PEK'
           this.getTableData()
@@ -364,8 +377,8 @@ export default {
       }
     },
     tableRowClassName({ row, rowIndex }) {
-      if (row.hasTakenOff == 0) {
-        if (rowIndex == this.leaveCount - 1) {
+      if (row.hasTakenOff === 0) {
+        if (rowIndex === this.leaveCount - 1) {
           return 'bgl-hui redBorder'
         } else {
           return 'bgl-hui'
@@ -393,13 +406,13 @@ export default {
     // },
     // 获取表格数据
     async getTableData() {
-      let arr = [this.formData.currentAirport, this.formData.startDate, this.formData.endDate]
+      const arr = [this.formData.currentAirport, this.formData.startDate, this.formData.endDate]
       try {
         const res = await getQuery({
           id: 66,
           dataContent: [...arr, ...arr, ...arr]
         })
-        if (res.code == 0) {
+        if (Number(res.code) === 0) {
           this.initTableData(res.returnData)
         } else {
           console.log(res.message)
@@ -410,17 +423,17 @@ export default {
       }
     },
     initTableData(tableData) {
-      this.leaveCount = 0;
-      this.baggageCount = 0;
+      this.leaveCount = 0
+      this.baggageCount = 0
       tableData.forEach(item => {
-        if (item.hasTakenOff == 0) {
+        if (item.hasTakenOff === 0) {
           this.leaveCount++
         }
-        item['waitfanj'] = item['noCheckInNumber'] - item['unLoad'];
-        this.baggageCount = this.baggageCount + item.preLoad;
+        item['waitfanj'] = item['noCheckInNumber'] - item['unLoad']
+        this.baggageCount = this.baggageCount + item.preLoad
       })
-      this.tableData = this._.sortBy(tableData, ['hasTakenOff','PlanDepartureTime'])
-      this.setTableFilters()
+      this.tableData = this._.sortBy(tableData, ['hasTakenOff', 'PlanDepartureTime'])
+      this.setTableFilters(this.tableData, this.tableDataFilters)
       this.toOrderNum(this.baggageCount)
       // setInterval(() => {
       //   this.baggageCount = this.baggageCount+1;
@@ -428,56 +441,53 @@ export default {
       // }, 2000);
     },
     // 表格添加过滤条件
-    setTableFilters() {
-      this.tableData.forEach(item => {
-        Object.keys(this.flightBaggageTableFilters).forEach(key => {
-          if ((item[key] ?? '') !== '' && this.flightBaggageTableFilters[key].every(obj => obj.value !== item[key])) {
-            this.flightBaggageTableFilters[key].push({
-              text: item[key],
-              value: item[key]
-            })
-          }
-          this.flightBaggageTableFilters[key] = this._.sortBy(this.flightBaggageTableFilters[key], ['value'])
+    setTableFilters(tableData = this.tableData, filters = this.tableDataFilters) {
+      const tempSets = {}
+      Object.keys(filters).forEach(key => {
+        tempSets[key] = new Set()
+      })
+      tableData.forEach(item => {
+        Object.keys(tempSets).forEach(key => {
+          (item[key] ?? '') !== '' && tempSets[key].add(item[key])
         })
       })
+      Object.keys(tempSets).forEach(key => {
+        filters[key] = this._.orderBy(
+          [...tempSets[key]].map(value => ({
+            text: value,
+            value
+          })),
+          o => o.value
+        )
+      })
     },
     filterHandler(value, row, column) {
       const property = column['property']
       return row[property] === value
     },
-    setNumberTransform () {
-       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
-       const numberArr = this.orderNum.filter(item => !isNaN(item))
-       // 结合CSS 对数字字符进行滚动,显示订单数量
-       for (let index = 0; index < numberItems.length; index++) {
+    setNumberTransform() {
+      const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
+      const numberArr = this.orderNum.filter(item => !isNaN(item))
+      // 结合CSS 对数字字符进行滚动,显示订单数量
+      for (let index = 0; index < numberItems.length; index++) {
         const elem = numberItems[index]
         elem.style.transform = `translate(-50%, -${numberArr[index] * 10}%)`
-       }
-      },
-
-      toOrderNum(num) {
-       num = num.toString()
-        if (num.length < 4) {
-          num = '0' + num // 如未满八位数,添加"0"补位
-          this.toOrderNum(num) // 递归添加"0"补位
-        } else if (num.length === 4) {
-          this.orderNum = num.split('') // 将其便变成数据,渲染至滚动数组
-        } else {
-          // 订单总量数字超过八位显示异常
-          this.$message.warning('总量数字过大')
-        }
-        this.setNumberTransform()
-      },
-  },
-  mounted() {
-    let that = this
-    this.loopEvent = setInterval(function () {
-      that.getTableData()
-    }, 3000)
+      }
+    },
 
-  },
-  beforeDestroy() {
-    clearInterval(this.loopEvent)
+    toOrderNum(num) {
+      num = num.toString()
+      if (num.length < 4) {
+        num = '0' + num // 如未满八位数,添加"0"补位
+        this.toOrderNum(num) // 递归添加"0"补位
+      } else if (num.length === 4) {
+        this.orderNum = num.split('') // 将其便变成数据,渲染至滚动数组
+      } else {
+        // 订单总量数字超过八位显示异常
+        this.$message.warning('总量数字过大')
+      }
+      this.setNumberTransform()
+    }
   }
 }
 </script>
@@ -505,15 +515,15 @@ export default {
         z-index: 10;
       }
       .el-button {
-          &.btn-square {
-            width: 30px;
-            height: 30px;
-            display: flex;
-            align-items: center;
-            justify-content: center;
-            margin-top: 5px;
-          }
+        &.btn-square {
+          width: 30px;
+          height: 30px;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+          margin-top: 5px;
         }
+      }
     }
     .checkTime {
       margin: 0 16px;
@@ -531,7 +541,7 @@ export default {
     line-height: 32px;
     text-align: center;
     list-style: none;
-    color: #2D7CFF;
+    color: #2d7cff;
     writing-mode: vertical-lr;
     text-orientation: upright;
     /*文字禁止编辑*/
@@ -541,17 +551,17 @@ export default {
     -khtml-user-select: none; /*早期浏览器*/
     user-select: none;
     /* overflow: hidden; */
-    p{
+    p {
       line-height: 32px;
-      writing-mode: horizontal-tb!important;
-      text-orientation: none!important;
+      writing-mode: horizontal-tb !important;
+      text-orientation: none !important;
       /*文字禁止编辑*/
-    -moz-user-select: none; /*火狐*/
-    -webkit-user-select: none; /*webkit浏览器*/
-    -ms-user-select: none; /*IE10*/
-    -khtml-user-select: none; /*早期浏览器*/
-    user-select: none;
-    margin-top: 5px;
+      -moz-user-select: none; /*火狐*/
+      -webkit-user-select: none; /*webkit浏览器*/
+      -ms-user-select: none; /*IE10*/
+      -khtml-user-select: none; /*早期浏览器*/
+      user-select: none;
+      margin-top: 5px;
     }
   }
   /* 默认逗号设置 */
@@ -581,8 +591,8 @@ export default {
     list-style: none;
     margin-right: 5px;
     // background:rgba(250,250,250,1);
-    border-radius:4px;
-    border:3px solid rgb(221, 221, 221);
+    border-radius: 4px;
+    border: 3px solid rgb(221, 221, 221);
     & > span {
       position: relative;
       display: inline-block;
@@ -597,7 +607,7 @@ export default {
         position: absolute;
         top: 11px;
         left: 50%;
-        transform: translate(-50%,-1%);
+        transform: translate(-50%, -1%);
         transition: transform 1s ease-in-out;
         letter-spacing: 10px;
       }

+ 18 - 30
src/views/baggageManagement/components/flight/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 16:12:48
+ * @LastEditTime: 2022-05-11 17:48:54
  * @LastEditors: your name
  * @Description: 航班视图
 -->
@@ -515,26 +515,24 @@ export default {
       }
     },
     // 表格添加过滤条件
-    setTableFilters(tableData, filters) {
-      const tempFilters = {}
-      const tempArrays = {}
+    setTableFilters(tableData = this.tableData, filters = this.tableDataFilters) {
+      const tempSets = {}
       Object.keys(filters).forEach(key => {
-        tempFilters[key] = []
-        tempArrays[key] = []
+        tempSets[key] = new Set()
       })
       tableData.forEach(item => {
-        Object.keys(tempFilters).forEach(key => {
-          if ((item[key] ?? '') !== '' && !tempArrays[key].includes(item[key])) {
-            tempArrays[key].push(item[key])
-            tempFilters[key].push({
-              text: item[key],
-              value: item[key]
-            })
-          }
+        Object.keys(tempSets).forEach(key => {
+          (item[key] ?? '') !== '' && tempSets[key].add(item[key])
         })
       })
-      Object.keys(tempFilters).forEach(key => {
-        filters[key] = this._.orderBy(tempFilters[key], o => o.value)
+      Object.keys(tempSets).forEach(key => {
+        filters[key] = this._.orderBy(
+          [...tempSets[key]].map(value => ({
+            text: value,
+            value
+          })),
+          o => o.value
+        )
       })
     },
     filterHandler(value, row, column) {
@@ -592,14 +590,14 @@ export default {
     //     console.log(error)
     //   }
     // },
-    containeClick(row){
+    containeClick(row) {
       this.$router.push({
         path: '/advance',
         query: {
           FlightNO: this.queryData.FlightNO,
           startDate: this.queryData.FlightDate,
           endDate: this.queryData.FlightDate,
-          UDeviceID:row.containerNumber
+          UDeviceID: row.containerNumber
         }
       })
     },
@@ -610,7 +608,7 @@ export default {
           FlightNO: this.queryData.FlightNO,
           transferArrival: row.PreFlightNO,
           startDate: this.queryData.FlightDate,
-          endDate: this.queryData.FlightDate,
+          endDate: this.queryData.FlightDate
         }
       })
     },
@@ -621,7 +619,7 @@ export default {
           FlightNO: this.queryData.FlightNO,
           transferDeparture: row.TransferFlightNO,
           startDate: this.queryData.FlightDate,
-          endDate: this.queryData.FlightDate,
+          endDate: this.queryData.FlightDate
         }
       })
     },
@@ -828,14 +826,4 @@ export default {
     }
   }
 }
-::v-deep .dialog-check-cols .el-tree {
-  &.has-children .el-tree-node > .el-tree-node__children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-  &.no-children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-}
 </style>

+ 21 - 22
src/views/baggageManagement/components/transferArrival/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: zk
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 16:55:50
+ * @LastEditTime: 2022-05-11 17:49:01
  * @LastEditors: your name
  * @Description: 离港01
 -->
@@ -376,7 +376,7 @@ export default {
       AirportList: [],
       carrierProps: [],
       carrierPropsop: [],
-      flightBaggageTableFilters: {
+      tableDataFilters: {
         FlightNO: [],
         FlightDate: [],
         PlanDepartureTime: [],
@@ -598,26 +598,25 @@ export default {
       // }, 2000);
     },
     // 表格添加过滤条件
-    setTableFilters() {
-      this.tableData.forEach((item) => {
-        Object.keys(this.flightBaggageTableFilters).forEach((key) => {
-          if (
-            (item[key] ?? "") !== "" &&
-            this.flightBaggageTableFilters[key].every(
-              (obj) => obj.value !== item[key]
-            )
-          ) {
-            this.flightBaggageTableFilters[key].push({
-              text: item[key],
-              value: item[key],
-            });
-          }
-          this.flightBaggageTableFilters[key] = this._.sortBy(
-            this.flightBaggageTableFilters[key],
-            ["value"]
-          );
-        });
-      });
+    setTableFilters(tableData = this.tableData, filters = this.tableDataFilters) {
+      const tempSets = {}
+      Object.keys(filters).forEach(key => {
+        tempSets[key] = new Set()
+      })
+      tableData.forEach(item => {
+        Object.keys(tempSets).forEach(key => {
+          (item[key] ?? '') !== '' && tempSets[key].add(item[key])
+        })
+      })
+      Object.keys(tempSets).forEach(key => {
+        filters[key] = this._.orderBy(
+          [...tempSets[key]].map(value => ({
+            text: value,
+            value
+          })),
+          o => o.value
+        )
+      })
     },
     filterHandler(value, row, column) {
       const property = column["property"];

+ 21 - 22
src/views/baggageManagement/components/transferDeparture/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: zk
  * @Date: 2022-01-17 10:39:22
- * @LastEditTime: 2022-05-07 16:55:50
+ * @LastEditTime: 2022-05-11 17:49:47
  * @LastEditors: your name
  * @Description: 离港01
 -->
@@ -388,7 +388,7 @@ export default {
       AirportList: [],
       carrierProps: [],
       carrierPropsop: [],
-      flightBaggageTableFilters: {
+      tableDataFilters: {
         FlightNO: [],
         FlightDate: [],
         PlanDepartureTime: [],
@@ -604,26 +604,25 @@ export default {
       // }, 2000);
     },
     // 表格添加过滤条件
-    setTableFilters() {
-      this.tableData.forEach((item) => {
-        Object.keys(this.flightBaggageTableFilters).forEach((key) => {
-          if (
-            (item[key] ?? "") !== "" &&
-            this.flightBaggageTableFilters[key].every(
-              (obj) => obj.value !== item[key]
-            )
-          ) {
-            this.flightBaggageTableFilters[key].push({
-              text: item[key],
-              value: item[key],
-            });
-          }
-          this.flightBaggageTableFilters[key] = this._.sortBy(
-            this.flightBaggageTableFilters[key],
-            ["value"]
-          );
-        });
-      });
+    setTableFilters(tableData = this.tableData, filters = this.tableDataFilters) {
+      const tempSets = {}
+      Object.keys(filters).forEach(key => {
+        tempSets[key] = new Set()
+      })
+      tableData.forEach(item => {
+        Object.keys(tempSets).forEach(key => {
+          (item[key] ?? '') !== '' && tempSets[key].add(item[key])
+        })
+      })
+      Object.keys(tempSets).forEach(key => {
+        filters[key] = this._.orderBy(
+          [...tempSets[key]].map(value => ({
+            text: value,
+            value
+          })),
+          o => o.value
+        )
+      })
     },
     filterHandler(value, row, column) {
       const property = column["property"];

+ 1 - 16
src/views/baggageManagement/style/transfer.scss

@@ -1,7 +1,7 @@
 /*
  * @Author: Badguy
  * @Date: 2022-02-11 16:50:42
- * @LastEditTime: 2022-03-15 16:25:03
+ * @LastEditTime: 2022-05-11 15:39:26
  * @LastEditors: your name
  * @Description: 中转进港离港通用样式
  * have a nice day!
@@ -71,18 +71,3 @@
     }
   }
 }
-::v-deep .dialog-check-cols .el-tree {
-  &.has-children .el-tree-node > .el-tree-node__children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-  &.no-children {
-    display: flex;
-    flex-wrap: wrap;
-  }
-}
-::v-deep .time-zone .el-dropdown-menu__item {
-  font-family: Helvetica, 'Microsoft YaHei';
-  font-size: 12px;
-  color: #101116;
-}

Některé soubory nejsou zobrazeny, neboť je v těchto rozdílových datech změněno mnoho souborů