|
@@ -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>
|