浏览代码

进/出港航班查询

chenjun 3 月之前
父节点
当前提交
fad80506bd

+ 1 - 0
src/router/interceptor.ts

@@ -7,6 +7,7 @@ import { Router } from 'vue-router';
 const whiteList: string[] = [
   '/login',
   '/composite-search/inward-flight-inquiry',
+  '/composite-search/inORout-flight-Inquiry',
   '/composite-search/inward-flight-inquiry-his',
   '/departure/waybill-manage',
 ];

+ 10 - 0
src/router/modules/compositeSearch.ts

@@ -70,5 +70,15 @@ export default {
         title: '进港航班查询(历史)',
       },
     },
+    {
+      path: '/composite-search/inORout-flight-inquiry',
+      name: 'inORoutFlightInquiry',
+      hidden: true,
+      component: () =>
+        import('@/views/compositeSearch/inORoutFlightInquiry/index.vue'),
+      meta: {
+        title: '进/出港航班查询',
+      },
+    },
   ],
 };

+ 11 - 0
src/views/compositeSearch/inORoutFlightInquiry/api/CurrentPageApi.js

@@ -0,0 +1,11 @@
+import BaseApi from '@/api/base/BaseApi';
+
+class CurrentPageApi extends BaseApi {
+  constructor() {
+    super({
+      baseUrl: 'user/sysDict',
+    });
+  }
+}
+export default new CurrentPageApi();
+// # sourceMappingURL=CurrentPageApi.js.map

+ 1 - 0
src/views/compositeSearch/inORoutFlightInquiry/api/CurrentPageApi.js.map

@@ -0,0 +1 @@
+{"version":3,"file":"CurrentPageApi.js","sourceRoot":"","sources":["CurrentPageApi.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,oBAAoB,CAAC;AAEzC,MAAM,cAAe,SAAQ,OAAO;IAClC;QACE,KAAK,CAAC;YACJ,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,IAAI,cAAc,EAAE,CAAC"}

+ 11 - 0
src/views/compositeSearch/inORoutFlightInquiry/api/CurrentPageApi.ts

@@ -0,0 +1,11 @@
+import BaseApi from '@/api/base/BaseApi';
+
+class CurrentPageApi extends BaseApi {
+  constructor() {
+    super({
+      baseUrl: 'user/sysDict',
+    });
+  }
+}
+
+export default new CurrentPageApi();

+ 287 - 0
src/views/compositeSearch/inORoutFlightInquiry/index.vue

@@ -0,0 +1,287 @@
+<template>
+  <div class="page-content">
+    <div class="search-header">
+      <div class="search-header-left">
+        <div class="search-header-left-item">
+          <a-form-item label="航班号">
+            <a-input v-model="formState.flight.flightNo" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item">
+          <a-form-item label="航班日期">
+            <a-range-picker v-model="formState.flight.flightDate" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item w120" v-if="searchType == '1'">
+          <a-form-item label="始发地">
+            <a-input v-model="formState.flight.startCity" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item w120" v-if="searchType == '1'">
+          <a-form-item label="始发国">
+            <a-input v-model="formState.flight.startCountry" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item w120" v-if="searchType == '2'">
+          <a-form-item label="目的地">
+            <a-input v-model="formState.flight.endCity" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item w120" v-if="searchType == '2'">
+          <a-form-item label="目的国">
+            <a-input v-model="formState.flight.endCountry" />
+          </a-form-item>
+        </div>
+        <div class="search-header-left-item">
+          <a-form-item label="操作">
+            <a-select ref="select" placeholder="请选择" :options="timeTypeOptions" v-model="timeType" style="width: 120px"
+              @change="timeTypeChange()">
+            </a-select>
+          </a-form-item>
+        </div>
+      </div>
+      <div class="search-header-right">
+        <div class="search-header-right-item">
+          <a-radio-group v-model="searchType" name="radioGroup" :options="searchTypeOption"
+            @change="searchTypeChange()">
+          </a-radio-group>
+        </div>
+        <div class="search-header-right-item">
+          <a-button type="primary" @click="search()">查询</a-button>
+        </div>
+        <div class="search-header-right-item">
+          <a-button type="primary" @click="downLoad()">导出CSV</a-button>
+        </div>
+      </div>
+    </div>
+
+    <div class="search-body">
+      <a-table :columns="columns" :data="dataSource" :stripe="true" bordered>
+        <!-- <template #fwb="{ rowIndex }">
+              <a-input v-model="dataSource[rowIndex].fwb" />
+            </template> -->
+        <template #footer>
+          <div class="foot" style="margin-left: 710px;display: flex;flex-direction: row;text-align: center;">
+            合计:<div style="width:127px">0</div>
+            <div style="width:127px">0</div>
+            <div style="width:135px">0/0T </div>
+            <div style="width:155px">0/0T </div>
+            <div style="width:155px">0/0T </div>
+            <div style="width:155px">0/0T </div>
+          </div>
+        </template>
+      </a-table>
+    </div>
+  </div>
+</template>
+<script lang="ts" setup>
+  const timeType = ref('');
+  const searchType = ref<string>('1');
+  const timeTypeOptions = ref<SelectProps['options']>([
+    {
+      value: '1',
+      label: '一部',
+    },
+    {
+      value: '2',
+      label: '二部',
+    },
+  ]);
+  const searchTypeOption = ref<RadioGroupProps['options']>([
+    {
+      value: '1',
+      label: '进港',
+    },
+    {
+      value: '2',
+      label: '出港',
+    }
+  ]);
+
+  const formState = {
+    flight: {
+      flightNo: '',
+      flightDate: '',
+      startCity: '',
+      startCountry: '',
+      endCity: '',
+      endCountry: '',
+      pickOrder: [],
+      takeGoods: [],
+      damaged: [],
+      release: [],
+      partType: [],
+      orderType: '',
+      goodsType: ''
+    },
+  };
+
+  const columns = [
+    {
+      title: '航班时间',
+      dataIndex: 'order',
+    },
+    {
+      title: '航班关闭时间',
+      dataIndex: 'fwb',
+    },
+    {
+      title: '航班号',
+      dataIndex: 'orderinfo',
+    },
+    {
+      title: '目的地/国',
+      dataIndex: 'flightNo',
+    },
+    {
+      title: '航段',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '总票数',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '板箱数',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '总件/重',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '普货件/重',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '快件件/重',
+      dataIndex: 'orderCount',
+    },
+    {
+      title: '中转件/重',
+      dataIndex: 'orderCount',
+    },
+  ];
+
+  const dataSource = [
+    {
+      order: '1',
+      fwb: '正常',
+      orderinfo: '300,000.00',
+      flightNo: 'CA123',
+      orderCount: '1000',
+    },
+    {
+      order: '2',
+      fwb: '缺失',
+      orderinfo: '300,000.00',
+      flightNo: 'CA123',
+      orderCount: '1000',
+    },
+    {
+      order: '3',
+      fwb: '正常',
+      orderinfo: '300,000.00',
+      flightNo: 'CA123',
+      orderCount: '1000',
+    }
+  ];
+
+  const timeTypeChange = function () {
+    console.log(timeType.value)
+  }
+
+  const searchTypeChange = function () {
+    console.log(searchType.value)
+  }
+
+  const search = function () {
+
+  }
+
+  const downLoad = function () {
+
+  }
+</script>
+<style lang="less" scoped>
+  .page-content {
+    width: 100%;
+    height: 100%;
+    padding: 20px;
+
+    .search-header {
+      width: 100%;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+
+      .search-header-left {
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: center;
+
+        .search-header-left-item {
+          margin-right: 30px;
+        }
+
+        .w120 {
+          width: 130px;
+        }
+      }
+
+      .search-header-right {
+        display: flex;
+        flex-direction: row;
+        justify-content: flex-start;
+        align-items: center;
+
+        .search-header-right-item {
+          margin-right: 30px;
+          padding-bottom: 20px;
+        }
+      }
+    }
+
+    .search-select {
+      width: 100%;
+      border: 1px solid #e5e7eb;
+      padding: 20px 0;
+      position: relative;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-around;
+
+      .search-select-title {
+        padding: 0 10px;
+        position: absolute;
+        left: 400px;
+        top: -12px;
+        background: #fff;
+        color: rgb(79, 89, 105);
+      }
+
+      .search-select-item {
+        border: 1px solid #e5e7eb;
+        width: 125px;
+        padding: 10px;
+        box-sizing: border-box;
+      }
+
+      .search-select-item2 {
+        border: 1px solid #e5e7eb;
+        padding: 10px;
+        box-sizing: border-box;
+      }
+    }
+
+  }
+
+  [data-doc-theme='light'] .ant-table-striped :deep(.table-striped) td {
+    background-color: #fafafa;
+  }
+
+  [data-doc-theme='dark'] .ant-table-striped :deep(.table-striped) td {
+    background-color: rgb(29, 29, 29);
+  }
+</style>