Browse Source

修改报警预警

zhaoke 2 years ago
parent
commit
2e3712382c

+ 7 - 5
src/views/baggageManagement/components/departure/index.vue

@@ -454,32 +454,34 @@ export default {
             const planTime = this.formatTime(timeInZone((item.planDepartureTime ?? "").replace("T", " "), this.timeZone), 2);
             const capTime = Math.ceil((planTime - curTime) / (1000 * 60));
             if (Number(startTime) - Number(curTime) < 0 && Number(endTime) - Number(curTime) > 0) {
+              const newItem = _.cloneDeep(item);
               if (p.flightNO && p.flightNO == item.flightNO) {
                 if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                   item["warning"] = item["preLoad"] - Math.max(item.loadNumber, item.boardID);
                   item["warningState"] = 1;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
                 if (capTime - p.alarmDuration < 0) {
                   item["warning"] = item["preLoad"] - Math.max(item.loadNumber, item.boardID);
                   item["warningState"] = 2;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
               } else if (!p.flightNO && p.IATACode) {
-                if (item.flightNO.substring(0, 2) == p.IATACode) {
+                if (newItem.flightNO.substring(0, 2) == p.IATACode) {
                   if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                     item["warning"] = item["preLoad"] - Math.max(item.loadNumber, item.boardID);
                     item["warningState"] = 1;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
                   }
                   if (capTime - p.alarmDuration < 0) {
                     item["warning"] = item["preLoad"] - Math.max(item.loadNumber, item.boardID);
                     item["warningState"] = 2;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
+                    console.log('ddd2')
                   }
                 }
               }

+ 41 - 118
src/views/baggageManagement/components/transferArrival/index.vue

@@ -29,36 +29,10 @@
             </el-select>
           </el-form-item>
           <el-form-item prop="inboundCarrier">
-            <el-cascader
-              v-model="formData.inboundCarrier"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierProps"
-              :props="optionProps"
-              placeholder="进港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              default-first-option
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.inboundCarrier" class="input-shadow" style="width: 150px" size="small" :options="carrierProps" :props="optionProps" placeholder="进港承运航司" collapse-tags clearable filterable default-first-option @change="resetLoopEvent" />
           </el-form-item>
           <el-form-item prop="outgoingAirline">
-            <el-cascader
-              v-model="formData.outgoingAirline"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierPropsop"
-              :props="optionPropser"
-              placeholder="离港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              default-first-option
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.outgoingAirline" class="input-shadow" style="width: 150px" size="small" :options="carrierPropsop" :props="optionPropser" placeholder="离港承运航司" collapse-tags clearable filterable default-first-option @change="resetLoopEvent" />
           </el-form-item>
           <!-- <el-form-item prop="startDate">
             <el-date-picker
@@ -85,18 +59,7 @@
             />
           </el-form-item> -->
           <el-form-item prop="flightDate" label="航班日期">
-            <el-date-picker
-              v-model="formData.flightDate"
-              :clearable="false"
-              size="small"
-              style="width: 300px"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+            <el-date-picker v-model="formData.flightDate" :clearable="false" size="small" style="width: 300px" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
@@ -114,18 +77,7 @@
           <el-form-item prop="search">
             <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
@@ -157,33 +109,12 @@
     </div>
     <!--表格-->
     <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
-      <el-table
-        ref="table"
-        class="table"
-        :data="dealedTableData"
-        :height="computedTableHeight"
-        show-summary
-        :summary-method="summaryMethod"
-        :span-method="arraySpanMethod"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
+      <el-table ref="table" class="table" :data="dealedTableData" :height="computedTableHeight" show-summary :summary-method="summaryMethod" :span-method="arraySpanMethod" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" border stripe fit @cell-click="cellClickHandler">
         <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed">
           <el-table-column v-for="childCol in col.children" :key="childCol.prop" :prop="childCol.prop" :label="childCol.label" :width="childCol.width" :formatter="tableFormat">
             <template #header>
               <el-tooltip :content="childCol.desc || childCol.label" placement="top">
-                <TableHeaderCell
-                  :label="childCol.label"
-                  :filter-options="tableDataFilters[childCol.prop]"
-                  :filter-values.sync="filterValues[childCol.prop]"
-                  :sortable="childCol.sortable"
-                  :sort-rule.sync="tableDataSortRules[childCol.prop]"
-                />
+                <TableHeaderCell :label="childCol.label" :filter-options="tableDataFilters[childCol.prop]" :filter-values.sync="filterValues[childCol.prop]" :sortable="childCol.sortable" :sort-rule.sync="tableDataSortRules[childCol.prop]" />
               </el-tooltip>
             </template>
           </el-table-column>
@@ -195,19 +126,10 @@
       <div class="dialog-wrapper">
         <div class="title">列设置</div>
         <div class="content">
-          <el-tree
-            :data="tableCols"
-            :class="colsCheckClass"
-            show-checkbox
-            node-key="index"
-            :default-expand-all="true"
-            :props="{
+          <el-tree :data="tableCols" :class="colsCheckClass" show-checkbox node-key="index" :default-expand-all="true" :props="{
               label: 'label',
               children: 'children',
-            }"
-            :default-checked-keys="checkedKeysTemp"
-            @check="handleCheck"
-          />
+            }" :default-checked-keys="checkedKeysTemp" @check="handleCheck" />
         </div>
         <div class="foot right t30">
           <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
@@ -235,7 +157,7 @@ export default {
   name: "DepartureTerminalView",
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       optionProps: {
         value: "inAicompanyCode2",
@@ -411,14 +333,14 @@ export default {
     };
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate;
     },
     ...mapGetters(["timeZone"]),
   },
   watch: {
     dealedTableData: {
-      handler(val) {
+      handler (val) {
         this.spanArr = [];
         let contactDot = this.contactDot;
         val.forEach((item, index, arr) => {
@@ -438,10 +360,10 @@ export default {
       deep: true,
     },
   },
-  created() {
+  created () {
     // this.getAirPortData()
   },
-  mounted() {
+  mounted () {
     this.$refs["form"].validateField("flightDate");
     this.getAirPortData();
     this.table = this.$refs.table.bodyWrapper;
@@ -450,7 +372,7 @@ export default {
       that.scrollTop = this.table.scrollTop;
     });
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop;
     this.getTableData();
     this.getWarningData();
@@ -468,20 +390,20 @@ export default {
     //   this.formData.flightDate[1] = endDate
     // }
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent);
       this.loopEvent = null;
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent);
       this.loopEvent = null;
     }
   },
   methods: {
-    async getWarningData() {
+    async getWarningData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureWarningId,
@@ -497,14 +419,14 @@ export default {
         this.$message.error("失败");
       }
     },
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true;
       this.hasSetTableScroll = false;
       this.loopEvent && clearInterval(this.loopEvent);
       this.getTableData();
       this.loopEvent = setInterval(this.getTableData, LOOP_INTERVAL.transferArrivalTable);
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = [];
       const rule = this.tableDataSortRules[column.property];
       if (rule) {
@@ -512,7 +434,7 @@ export default {
       }
       return classes.join(" ");
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = [];
       if (row.hasArrived) {
         classes.push("bgl-hui");
@@ -522,7 +444,7 @@ export default {
       }
       return classes.join(" ");
     },
-    changeView() {
+    changeView () {
       // const query = {
       //   ...this.formData,
       //   startDate: this.startDate,
@@ -535,18 +457,18 @@ export default {
       // })
       this.$router.push("/transfer/departure");
     },
-    airPortChange() {
+    airPortChange () {
       this.getAviationData();
       this.upAviationData();
       this.resetLoopEvent();
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.getAviationData();
       this.upAviationData();
       this.resetLoopEvent();
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAirId,
@@ -566,7 +488,7 @@ export default {
       }
     },
     // 选择航司
-    async getAviationData() {
+    async getAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviJoinId,
@@ -582,7 +504,7 @@ export default {
       }
     },
     // 选择航司
-    async upAviationData() {
+    async upAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviLeaveId,
@@ -608,7 +530,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return;
       }
@@ -647,7 +569,7 @@ export default {
         this.loading = false;
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       const currentTime = new Date();
       const curTime = this.formatTime(currentTime);
       this.arrivalCount = 0;
@@ -667,27 +589,28 @@ export default {
             const planTime = this.formatTime(timeInZone((item.actualDepartureTime ?? "").replace("T", " "), this.timeZone), 2);
             const capTime = Math.ceil((planTime - curTime) / (1000 * 60));
             if (Number(startTime) - Number(curTime) < 0 && Number(endTime) - Number(curTime) > 0) {
+              const newItem = _.cloneDeep(item);
               if (p.flightNO != "" && p.flightNO == item.flightNO) {
                 if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                   item["warningState"] = 1;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
                 if (capTime - p.alarmDuration < 0) {
                   item["warningState"] = 2;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
               } else if (p.flightNO == "" && p.IATACode != "") {
                 if (item.flightNO.substring(0, 2) == p.IATACode) {
                   if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                     item["warningState"] = 1;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
                   }
                   if (capTime - p.alarmDuration < 0) {
                     item["warningState"] = 2;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
                   }
                 }
@@ -704,7 +627,7 @@ export default {
         this.setTableScroll();
       });
     },
-    formatTime(date, type = 1) {
+    formatTime (date, type = 1) {
       let time = null;
       if (type == 1) {
         time = parseTime(date, "{y}-{m}-{d} {h}:{i}:{s}");
@@ -714,7 +637,7 @@ export default {
       const newTimt = new Date(time);
       return newTimt.getTime();
     },
-    async sendLog(obj) {
+    async sendLog (obj) {
       try {
         const newObj = {
           logTime: parseTime(new Date(), "{y}-{m}-{d} {h}:{i}:{s}"),
@@ -733,7 +656,7 @@ export default {
         this.$message.error("失败");
       }
     },
-    hasArrived(flight) {
+    hasArrived (flight) {
       if (flight.actualLandingTime) {
         const now = new Date();
         const actualLandingTime = new Date(flight.actualLandingTime.replace("T", " "));
@@ -743,7 +666,7 @@ export default {
       }
       return flight["hasArrived"];
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.arrivalCount === 0) {
         return;
       }
@@ -763,7 +686,7 @@ export default {
       }, 0);
       this.hasSetTableScroll = true;
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem; // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter((item) => !isNaN(item));
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -773,7 +696,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString();
       if (num.length < 6) {
         num = "0" + num; // 如未满八位数,添加"0"补位
@@ -786,7 +709,7 @@ export default {
       }
       this.setNumberTransform();
     },
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+    arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
       for (let i = 0; i < 7; i++) {
         if (columnIndex === i) {
           const _row = this.spanArr[rowIndex];
@@ -798,7 +721,7 @@ export default {
         }
       }
     },
-    exportHandler(refName, tableName) {
+    exportHandler (refName, tableName) {
       if (this.loading) {
         return;
       }

+ 40 - 116
src/views/baggageManagement/components/transferDeparture/index.vue

@@ -29,36 +29,10 @@
             </el-select>
           </el-form-item>
           <el-form-item prop="inboundCarrier">
-            <el-cascader
-              v-model="formData.inboundCarrier"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierProps"
-              :props="optionProps"
-              placeholder="进港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              default-first-option
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.inboundCarrier" class="input-shadow" style="width: 150px" size="small" :options="carrierProps" :props="optionProps" placeholder="进港承运航司" collapse-tags clearable filterable default-first-option @change="resetLoopEvent" />
           </el-form-item>
           <el-form-item prop="outgoingAirline">
-            <el-cascader
-              v-model="formData.outgoingAirline"
-              class="input-shadow"
-              style="width: 150px"
-              size="small"
-              :options="carrierPropsop"
-              :props="optionPropser"
-              placeholder="离港承运航司"
-              collapse-tags
-              clearable
-              filterable
-              default-first-option
-              @change="resetLoopEvent"
-            />
+            <el-cascader v-model="formData.outgoingAirline" class="input-shadow" style="width: 150px" size="small" :options="carrierPropsop" :props="optionPropser" placeholder="离港承运航司" collapse-tags clearable filterable default-first-option @change="resetLoopEvent" />
           </el-form-item>
           <!-- <el-form-item prop="startDate">
             <el-date-picker
@@ -85,17 +59,7 @@
             />
           </el-form-item> -->
           <el-form-item prop="flightDate" label="航班日期">
-            <el-date-picker
-              v-model="formData.flightDate"
-              size="small"
-              style="width: 300px"
-              type="daterange"
-              value-format="yyyy-MM-dd"
-              start-placeholder="开始日期"
-              end-placeholder="结束日期"
-              :picker-options="dateRangePickerOptions"
-              @change="dateChangeHandler"
-            />
+            <el-date-picker v-model="formData.flightDate" size="small" style="width: 300px" type="daterange" value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="dateRangePickerOptions" @change="dateChangeHandler" />
           </el-form-item>
           <el-form-item>
             <div class="box-item">
@@ -113,18 +77,7 @@
           <el-form-item prop="search">
             <el-popover :value="popoverVisible" placement="bottom" trigger="manual">
               <span>请输入航班号(示例:CA1234)或行李牌号(示例:1234567890)</span>
-              <el-input
-                slot="reference"
-                v-model="formData.search"
-                class="input-shadow"
-                style="width: 240px"
-                size="small"
-                placeholder="请输入内容"
-                prefix-icon="el-icon-search"
-                clearable
-                @focus="popoverVisible = true"
-                @blur="popoverVisible = false"
-              />
+              <el-input slot="reference" v-model="formData.search" class="input-shadow" style="width: 240px" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
@@ -156,33 +109,12 @@
     </div>
     <!--表格-->
     <div v-loading="loading" class="terminal-table" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" element-loading-background="rgba(0, 0, 0, 0.8)">
-      <el-table
-        ref="table"
-        class="table"
-        :data="dealedTableData"
-        :height="computedTableHeight"
-        show-summary
-        :summary-method="summaryMethod"
-        :span-method="arraySpanMethod"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        border
-        stripe
-        fit
-        @cell-click="cellClickHandler"
-      >
+      <el-table ref="table" class="table" :data="dealedTableData" :height="computedTableHeight" show-summary :summary-method="summaryMethod" :span-method="arraySpanMethod" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" border stripe fit @cell-click="cellClickHandler">
         <el-table-column v-for="col in tableColsCopy" :key="col.prop" :prop="col.prop" :label="col.label" :width="col.width" :fixed="col.fixed">
           <el-table-column v-for="childCol in col.children" :key="childCol.prop" :prop="childCol.prop" :label="childCol.label" :width="childCol.width" :formatter="tableFormat">
             <template #header>
               <el-tooltip :content="childCol.desc || childCol.label" placement="top">
-                <TableHeaderCell
-                  :label="childCol.label"
-                  :filter-options="tableDataFilters[childCol.prop]"
-                  :filter-values.sync="filterValues[childCol.prop]"
-                  :sortable="childCol.sortable"
-                  :sort-rule.sync="tableDataSortRules[childCol.prop]"
-                />
+                <TableHeaderCell :label="childCol.label" :filter-options="tableDataFilters[childCol.prop]" :filter-values.sync="filterValues[childCol.prop]" :sortable="childCol.sortable" :sort-rule.sync="tableDataSortRules[childCol.prop]" />
               </el-tooltip>
             </template>
           </el-table-column>
@@ -194,19 +126,10 @@
       <div class="dialog-wrapper">
         <div class="title">列设置</div>
         <div class="content">
-          <el-tree
-            :data="tableCols"
-            :class="colsCheckClass"
-            show-checkbox
-            node-key="index"
-            :default-expand-all="true"
-            :props="{
+          <el-tree :data="tableCols" :class="colsCheckClass" show-checkbox node-key="index" :default-expand-all="true" :props="{
               label: 'label',
               children: 'children',
-            }"
-            :default-checked-keys="checkedKeysTemp"
-            @check="handleCheck"
-          />
+            }" :default-checked-keys="checkedKeysTemp" @check="handleCheck" />
         </div>
         <div class="foot right t30">
           <el-button size="medium" class="r24" type="primary" @click="onCheck">确定</el-button>
@@ -234,7 +157,7 @@ export default {
   name: "DepartureTerminalView",
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
   mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  data () {
     return {
       optionProps: {
         value: "inAicompanyCode2",
@@ -410,15 +333,15 @@ export default {
     };
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate;
     },
     ...mapGetters(["timeZone"]),
   },
-  created() {
+  created () {
     // this.getAirPortData()
   },
-  mounted() {
+  mounted () {
     this.$refs["form"].validateField("flightDate");
     this.getAirPortData();
     this.table = this.$refs.table.bodyWrapper;
@@ -427,7 +350,7 @@ export default {
       that.scrollTop = this.table.scrollTop;
     });
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop;
     this.getWarningData();
     this.getTableData();
@@ -445,20 +368,20 @@ export default {
     //   this.formData.flightDate[1] = endDate
     // }
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent);
       this.loopEvent = null;
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent);
       this.loopEvent = null;
     }
   },
   methods: {
-    async getWarningData() {
+    async getWarningData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureWarningId,
@@ -474,14 +397,14 @@ export default {
         this.$message.error("失败");
       }
     },
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true;
       this.hasSetTableScroll = false;
       this.loopEvent && clearInterval(this.loopEvent);
       this.getTableData();
       this.loopEvent = setInterval(this.getTableData, LOOP_INTERVAL.transferDepartureTable);
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = [];
       const rule = this.tableDataSortRules[column.property];
       if (rule) {
@@ -489,7 +412,7 @@ export default {
       }
       return classes.join(" ");
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = [];
       if (row.hasTakeOff) {
         classes.push("bgl-hui");
@@ -499,7 +422,7 @@ export default {
       }
       return classes.join(" ");
     },
-    changeView() {
+    changeView () {
       // const query = {
       //   ...this.formData,
       //   startDate: this.startDate,
@@ -512,18 +435,18 @@ export default {
       // })
       this.$router.push("/transfer/arrival");
     },
-    airPortChange() {
+    airPortChange () {
       this.getAviationData();
       this.upAviationData();
       this.resetLoopEvent();
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.getAviationData();
       this.upAviationData();
       this.resetLoopEvent();
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAirLtId,
@@ -543,7 +466,7 @@ export default {
       }
     },
     // 选择航司
-    async getAviationData() {
+    async getAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviJoinLtId,
@@ -559,7 +482,7 @@ export default {
       }
     },
     // 选择航司
-    async upAviationData() {
+    async upAviationData () {
       try {
         const res = await getQuery({
           id: DATACONTENT_ID.departureAviLeaveLtId,
@@ -585,7 +508,7 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return;
       }
@@ -624,7 +547,7 @@ export default {
         this.loading = false;
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       const currentTime = new Date();
       const curTime = this.formatTime(currentTime);
       this.leaveCount = 0;
@@ -641,27 +564,28 @@ export default {
             const planTime = this.formatTime(timeInZone((item.actualDepartureTime ?? "").replace("T", " "), this.timeZone), 2);
             const capTime = Math.ceil((planTime - curTime) / (1000 * 60));
             if (Number(startTime) - Number(curTime) < 0 && Number(endTime) - Number(curTime) > 0) {
+              const newItem = _.cloneDeep(item);
               if (p.flightNO != "" && p.flightNO == item.flightNO) {
                 if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                   item["warningState"] = 1;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
                 if (capTime - p.alarmDuration < 0) {
                   item["warningState"] = 2;
-                  const returnedTarget = Object.assign(item, p);
+                  const returnedTarget = Object.assign(newItem, p);
                   this.sendLog(returnedTarget);
                 }
               } else if (p.flightNO == "" && p.IATACode != "") {
                 if (item.flightNO.substring(0, 2) == p.IATACode) {
                   if (capTime - p.warningDuration < 0 && capTime - p.alarmDuration > 0) {
                     item["warningState"] = 1;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
                   }
                   if (capTime - p.alarmDuration < 0) {
                     item["warningState"] = 2;
-                    const returnedTarget = Object.assign(item, p);
+                    const returnedTarget = Object.assign(newItem, p);
                     this.sendLog(returnedTarget);
                   }
                 }
@@ -678,7 +602,7 @@ export default {
         this.setTableScroll();
       });
     },
-    formatTime(date, type = 1) {
+    formatTime (date, type = 1) {
       let time = null;
       if (type == 1) {
         time = parseTime(date, "{y}-{m}-{d} {h}:{i}:{s}");
@@ -688,7 +612,7 @@ export default {
       const newTimt = new Date(time);
       return newTimt.getTime();
     },
-    async sendLog(obj) {
+    async sendLog (obj) {
       try {
         const newObj = {
           logTime: parseTime(new Date(), "{y}-{m}-{d} {h}:{i}:{s}"),
@@ -707,7 +631,7 @@ export default {
         this.$message.error("失败");
       }
     },
-    hasTakeOff(flight) {
+    hasTakeOff (flight) {
       if (flight.actualDepartureTime) {
         const now = new Date();
         const actualDepartureTime = new Date(flight.actualDepartureTime.replace("T", " "));
@@ -717,7 +641,7 @@ export default {
       }
       return flight["hasTakeOff"];
     },
-    setTableScroll() {
+    setTableScroll () {
       if (!this.singleDay || this.hasSetTableScroll || this.leaveCount === 0) {
         return;
       }
@@ -737,7 +661,7 @@ export default {
       }, 0);
       this.hasSetTableScroll = true;
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem; // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter((item) => !isNaN(item));
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -747,7 +671,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString();
       if (num.length < 6) {
         num = "0" + num; // 如未满八位数,添加"0"补位
@@ -760,7 +684,7 @@ export default {
       }
       this.setNumberTransform();
     },
-    arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+    arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
       for (let i = 0; i < 7; i++) {
         if (columnIndex === i) {
           const _row = this.spanArr[rowIndex];
@@ -772,7 +696,7 @@ export default {
         }
       }
     },
-    exportHandler(refName, tableName) {
+    exportHandler (refName, tableName) {
       if (this.loading) {
         return;
       }