zhaoke 1 tahun lalu
induk
melakukan
926f07b3e6

+ 20 - 18
src/layout/mixin/publicFunc.js

@@ -13,27 +13,29 @@ export default {
   },
   created () {
     const { auth_id } = this.$route.meta
-    const { arrs } = getAuthData(auth_id)
-    const table = arrs.filter(item => item.auth_type == 4)
-    const table2 = arrs.filter(item => item.auth_type == 5)
-    if (table2 && table2.length) {
-      const obj = table2[0]
-      this.AqueryParams = obj
-      this.TqueryId = obj.queryTemplateID
-      this.TauthId = obj.auth_id
-    }
-    if (table && table.length) {
-      if (table.length == 1) {
-        const obj = table[0]
+    if (auth_id) {
+      const { arrs } = getAuthData(auth_id)
+      const table = arrs.filter(item => item.auth_type == 4)
+      const table2 = arrs.filter(item => item.auth_type == 5)
+      if (table2 && table2.length) {
+        const obj = table2[0]
         this.AqueryParams = obj
-        this.AqueryId = obj.queryTemplateID
-        this.AauthId = obj.auth_id
+        this.TqueryId = obj.queryTemplateID
+        this.TauthId = obj.auth_id
+      }
+      if (table && table.length) {
+        if (table.length == 1) {
+          const obj = table[0]
+          this.AqueryParams = obj
+          this.AqueryId = obj.queryTemplateID
+          this.AauthId = obj.auth_id
+        } else {
+          this.AauthTable = table
+        }
       } else {
-        this.AauthTable = table
+        this.AauthId = auth_id
+        this.AqueryId = auth_id
       }
-    } else {
-      this.AauthId = auth_id
-      this.AqueryId = auth_id
     }
   },
   methods: {

+ 67 - 202
src/views/baggageManagementTemp/components/departure/index.vue

@@ -8,17 +8,8 @@
 <template>
   <div class="departure-one">
     <!--功能区-表单-->
-    <div
-      ref="formWrap"
-      class="terminal-form-wrap"
-    >
-      <el-form
-        ref="form"
-        :inline="true"
-        :model="formData"
-        :rules="rules"
-        class="form"
-      >
+    <div ref="formWrap" class="terminal-form-wrap">
+      <el-form ref="form" :inline="true" :model="formData" :rules="rules" class="form">
         <div class="form-left">
           <el-form-item prop="currentAirport">
             <!-- <el-cascader
@@ -33,22 +24,8 @@
             filterable
             @change="setCurrentAirport"
           /> -->
-            <el-select
-              v-model="formData.currentAirport"
-              class="input-shadow"
-              size="small"
-              style="width: 150px"
-              filterable
-              default-first-option
-              placeholder="请选择机场"
-              @change="airPortChange"
-            >
-              <el-option
-                v-for="(item, index) in AirportList"
-                :key="index"
-                :label="item.planDepartureApt"
-                :value="item.planDepartureApt"
-              />
+            <el-select v-model="formData.currentAirport" class="input-shadow" size="small" style="width: 150px" filterable default-first-option placeholder="请选择机场" @change="airPortChange">
+              <el-option v-for="(item, index) in AirportList" :key="index" :label="item.planDepartureApt" :value="item.planDepartureApt" />
             </el-select>
           </el-form-item>
           <!-- <el-form-item prop="startDate">
@@ -75,76 +52,30 @@
               @change="endDateChangeHandler"
             />
           </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-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-form-item>
           <el-form-item>
             <div class="box-item">
               <p>预计装载总数:</p>
-              <li
-                v-for="(item, index) in orderNum"
-                :key="index"
-                :class="{ 'number-item': !isNaN(item), 'mark-item': isNaN(item) }"
-              >
+              <li 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
-                  v-else
-                  class="comma"
-                  >{{ item }}</span
-                >
+                <span v-else class="comma">{{ item }}</span>
               </li>
             </div>
           </el-form-item>
         </div>
-        <div
-          class="form-right"
-          @keyup.enter="onSubmit(0)"
-        >
+        <div class="form-right" @keyup.enter="onSubmit(0)">
           <el-form-item prop="search">
-            <el-popover
-              :value="popoverVisible"
-              placement="bottom"
-              trigger="manual"
-            >
+            <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; margin-left: 105px"
-                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; margin-left: 105px" size="small" placeholder="请输入内容" prefix-icon="el-icon-search" clearable @focus="popoverVisible = true" @blur="popoverVisible = false" />
             </el-popover>
           </el-form-item>
           <el-form-item>
-            <el-button
-              class="btn-shadow"
-              size="mini"
-              type="primary"
-              @click="onSubmit(0)"
-              >搜索</el-button
-            >
+            <el-button class="btn-shadow" size="mini" type="primary" @click="onSubmit(0)">搜索</el-button>
           </el-form-item>
           <!-- <el-form-item v-is="['dm_dt_timeIcon']">
             <TimeZoneSelector />
@@ -156,112 +87,42 @@
             <img class="btn-img btn-shadow" src="@/assets/baggage/ic_setting.png" title="列设置" @click="show" />
           </el-form-item> -->
           <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="@/assets/baggage/ic_setting.png"
-              title="列设置"
-              @click="show"
-            />
+            <img class="btn-img btn-shadow" src="@/assets/baggage/ic_setting.png" title="列设置" @click="show" />
           </el-form-item>
           <!-- <el-form-item v-is="['dm_dt_columnSettings']">
             <img class="btn-img btn-shadow" src="@/assets/baggage/ic_export.png" title="导出" @click="exportHandler('table', '航站离港列表')" />
           </el-form-item> -->
           <el-form-item>
-            <img
-              class="btn-img btn-shadow"
-              src="@/assets/baggage/ic_export.png"
-              title="导出"
-              @click="exportHandler('table', '航站离港列表')"
-            />
+            <img class="btn-img btn-shadow" src="@/assets/baggage/ic_export.png" title="导出" @click="exportHandler('table', '航站离港列表')" />
           </el-form-item>
         </div>
       </el-form>
     </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"
-        :height="computedTableHeight"
-        :data="dealedTableData"
-        :header-cell-class-name="headerCellClass"
-        :row-class-name="tableRowClassName"
-        :cell-class-name="cellClass"
-        show-summary
-        :summary-method="summaryMethod"
-        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"
-          :formatter="tableFormat"
-        >
+    <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" :height="computedTableHeight" :data="dealedTableData" :header-cell-class-name="headerCellClass" :row-class-name="tableRowClassName" :cell-class-name="cellClass" show-summary :summary-method="summaryMethod" 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" :formatter="tableFormat">
           <template #header>
-            <el-tooltip
-              :content="col.desc || childCol.label"
-              placement="top"
-            >
-              <TableHeaderCell
-                :label="col.label"
-                :filter-options="tableDataFilters[col.prop]"
-                :filter-values.sync="filterValues[col.prop]"
-                :sortable="col.sortable"
-                :sort-rule.sync="tableDataSortRules[col.prop]"
-              />
+            <el-tooltip :content="col.desc || childCol.label" placement="top">
+              <TableHeaderCell :label="col.label" :filter-options="tableDataFilters[col.prop]" :filter-values.sync="filterValues[col.prop]" :sortable="col.sortable" :sort-rule.sync="tableDataSortRules[col.prop]" />
             </el-tooltip>
           </template>
         </el-table-column>
       </el-table>
     </div>
     <!--列设置-->
-    <Dialog
-      :flag="dialogFlag"
-      class="dialog-check-group"
-    >
+    <Dialog :flag="dialogFlag" class="dialog-check-group">
       <div class="dialog-wrapper">
         <div class="title">列设置</div>
         <div class="content">
-          <el-tree
-            ref="columnSetTree"
-            :data="tableCols"
-            :class="colsCheckClass"
-            show-checkbox
-            node-key="index"
-            :default-expand-all="true"
-            :props="{
+          <el-tree ref="columnSetTree" :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
-          >
-          <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>
@@ -275,6 +136,7 @@ import terminalMixin from '../../mixins/terminal'
 import formMixin from '../../mixins/form'
 import tableColsMixin from '../../mixins/tableCols'
 import timeZoneMixin from '../../mixins/timeZone'
+import pf from '@/layout/mixin/publicFunc'
 import { TempQuery } from '@/api/temp'
 import { GeneralDataReception } from '@/api/temp'
 import TableHeaderCell from '@/components/TableHeaderCell'
@@ -284,8 +146,8 @@ import { mapGetters } from 'vuex'
 export default {
   name: 'DepartureTerminalView',
   components: { Dialog, TimeZoneSelector, TableHeaderCell },
-  mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin],
-  data() {
+  mixins: [terminalMixin, formMixin, tableColsMixin, timeZoneMixin, pf],
+  data () {
     return {
       orderNum: ['0', '0', '0', '0', '0', '0'], // 默认总数
       popoverVisible: false,
@@ -435,12 +297,12 @@ export default {
     }
   },
   computed: {
-    singleDay() {
+    singleDay () {
       return this.startDate === this.endDate
     },
     ...mapGetters(['timeZone'])
   },
-  mounted() {
+  mounted () {
     this.getAirPortData()
     this.table = this.$refs.table.bodyWrapper
     const that = this
@@ -448,45 +310,46 @@ export default {
       that.scrollTop = this.table.scrollTop
     })
   },
-  activated() {
+  activated () {
     this.table.scrollTop = this.scrollTop
     this.getTableData()
     this.getWarningData()
     this.loopEvent = setInterval(this.getTableData, LOOP_INTERVAL.departureTable)
   },
-  deactivated() {
+  deactivated () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
-  beforeDestroy() {
+  beforeDestroy () {
     if (this.loopEvent) {
       clearInterval(this.loopEvent)
       this.loopEvent = null
     }
   },
   methods: {
-    resetLoopEvent() {
+    resetLoopEvent () {
       this.loading = true
       this.hasSetTableScroll = false
       this.loopEvent && clearInterval(this.loopEvent)
       this.getTableData()
       this.loopEvent = setInterval(this.getTableData, LOOP_INTERVAL.departureTable)
     },
-    airPortChange() {
+    airPortChange () {
       this.resetLoopEvent()
     },
-    dateChangeHandler() {
+    dateChangeHandler () {
       this.resetLoopEvent()
     },
     // 选择机场
-    async getAirPortData() {
+    async getAirPortData () {
       try {
-        const res = await TempQuery({
-          id: SERVICE_ID.departureAirMainId,
-          dataContent: []
-        })
+        // const res = await TempQuery({
+        //   id: SERVICE_ID.departureAirMainId,
+        //   dataContent: []
+        // })
+        const res = await this.getQueryListAuth(SERVICE_ID.departureAirMainId, {}, 1, 9999, 276)
         if (Number(res.code) === 0) {
           this.AirportList = this._.orderBy(res.returnData.listValues, o => o.planDepartureApt)
           this.formData.currentAirport = 'PEK'
@@ -498,12 +361,13 @@ export default {
         this.$message.error('失败')
       }
     },
-    async getWarningData() {
+    async getWarningData () {
       try {
-        const res = await TempQuery({
-          id: SERVICE_ID.departureWarningId,
-          dataContent: []
-        })
+        // const res = await TempQuery({
+        //   id: SERVICE_ID.departureWarningId,
+        //   dataContent: []
+        // })
+        const res = await this.getQueryListAuth(SERVICE_ID.departureWarningId, {}, 1, 999, 276)
         if (Number(res.code) === 0) {
           const { listValues } = res.returnData
           this.WarningData = listValues
@@ -514,7 +378,7 @@ export default {
         this.$message.error('失败')
       }
     },
-    tableRowClassName({ row, rowIndex }) {
+    tableRowClassName ({ row, rowIndex }) {
       const classes = []
       if (row.flightStatus === 'DLY') {
         classes.push('bgl-delayed')
@@ -530,7 +394,7 @@ export default {
       }
       return classes.join(' ')
     },
-    headerCellClass({ row, column }) {
+    headerCellClass ({ row, column }) {
       const classes = []
       if (['warning', 'exceptions', 'midIn'].includes(column.property)) {
         classes.push('bgl-huang')
@@ -552,16 +416,17 @@ export default {
     //   this.flightAttrQuery(params)
     // },
     // 获取表格数据
-    async getTableData() {
+    async getTableData () {
       if (!this.formData.currentAirport || !this.startDate || !this.endDate) {
         return
       }
       const arr = [this.formData.currentAirport, this.startDate, this.endDate]
       try {
-        const res = await TempQuery({
-          id: SERVICE_ID.departureTableMainId,
-          dataContent: [...arr, ...arr, ...arr]
-        })
+        // const res = await TempQuery({
+        //   id: SERVICE_ID.departureTableMainId,
+        //   dataContent: [...arr, ...arr, ...arr]
+        // })
+        const res = await this.getQueryListAuth(SERVICE_ID.departureTableMainId, { departureAirport: arr[0], beginDate: arr[1], endDate: arr[2] }, 1, 9999, 276)
         if (Number(res.code) === 0) {
           this.initTableData(res.returnData.listValues)
         } else {
@@ -575,7 +440,7 @@ export default {
         this.loading = false
       }
     },
-    initTableData(tableData) {
+    initTableData (tableData) {
       const currentTime = new Date()
       const curTime = this.formatTime(currentTime)
       this.baggageCount = 0
@@ -639,7 +504,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}')
@@ -649,7 +514,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}'),
@@ -668,7 +533,7 @@ export default {
         this.$message.error('失败')
       }
     },
-    setTableScroll() {
+    setTableScroll () {
       this.leaveCount = 0
       this.dealedTableData.forEach(row => {
         if (row['hasTakeOff'] === 1 && !row['flightCanceled']) {
@@ -694,7 +559,7 @@ export default {
       }, 0)
       this.hasSetTableScroll = true
     },
-    setNumberTransform() {
+    setNumberTransform () {
       const numberItems = this.$refs.numberItem // 拿到数字的ref,计算元素数量
       const numberArr = this.orderNum.filter(item => !isNaN(item))
       // 结合CSS 对数字字符进行滚动,显示订单数量
@@ -704,7 +569,7 @@ export default {
       }
     },
 
-    toOrderNum(num) {
+    toOrderNum (num) {
       num = num.toString()
       if (num.length < 6) {
         num = '0' + num // 如未满八位数,添加"0"补位
@@ -717,7 +582,7 @@ export default {
       }
       this.setNumberTransform()
     },
-    exportHandler(refName, tableName) {
+    exportHandler (refName, tableName) {
       if (this.loading) {
         return
       }
@@ -753,7 +618,7 @@ export default {
       optgroup,
       select,
       textarea {
-        font-family: Helvetica, 'Microsoft YaHei';
+        font-family: Helvetica, "Microsoft YaHei";
         font-size: 14px;
       }
       .el-switch__label {
@@ -859,7 +724,7 @@ export default {
       padding: 0;
       text-align: center;
       font-size: 14px;
-      font-family: Helvetica, 'Microsoft YaHei';
+      font-family: Helvetica, "Microsoft YaHei";
       letter-spacing: 0;
     }
     .cell-click {
@@ -892,7 +757,7 @@ export default {
         &.redBorder {
           position: relative;
           &::after {
-            content: '';
+            content: "";
             position: absolute;
             left: 0;
             bottom: 0;
@@ -912,7 +777,7 @@ export default {
         background: lightcoral !important;
         position: relative;
         &::after {
-          content: '';
+          content: "";
           display: block;
           width: 100%;
           height: 100%;
@@ -926,7 +791,7 @@ export default {
         background: #fcf0b1 !important;
         position: relative;
         &::after {
-          content: '';
+          content: "";
           display: block;
           width: 100%;
           height: 100%;