|
@@ -63,25 +63,28 @@
|
|
|
height="calc(100vh - 155px)"
|
|
|
style="width: 100%"
|
|
|
show-summary
|
|
|
+ :cell-class-name="cellClass"
|
|
|
+ @cell-click="cellClick"
|
|
|
:summary-method="summaryRow(tableData.length)"
|
|
|
- :header-row-class-name="tableHeader"
|
|
|
+ :span-method="arraySpanMethod"
|
|
|
>
|
|
|
- <el-table-column
|
|
|
+ <!-- <el-table-column
|
|
|
prop="index"
|
|
|
label="序号"
|
|
|
- />
|
|
|
+ :width="50"
|
|
|
+ /> -->
|
|
|
<el-table-column
|
|
|
prop="FlightNO"
|
|
|
label="航班号"
|
|
|
:filters="FlightNOItem"
|
|
|
:filter-method="filterHandler"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
+ <!-- <template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
@click="flightClickHandler(scope.row)"
|
|
|
>{{ scope.row.FlightNO }}</el-button>
|
|
|
- </template>
|
|
|
+ </template> -->
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="FlightDate"
|
|
@@ -89,6 +92,10 @@
|
|
|
:filters="FlightDateItem"
|
|
|
:filter-method="filterHandler"
|
|
|
/>
|
|
|
+ <el-table-column
|
|
|
+ prop="DepartureTime"
|
|
|
+ label="起飞时间"
|
|
|
+ />
|
|
|
<el-table-column
|
|
|
prop="SourceAirport"
|
|
|
label="起飞站"
|
|
@@ -112,12 +119,12 @@
|
|
|
label="行李牌号"
|
|
|
width="130"
|
|
|
>
|
|
|
- <template slot-scope="scope">
|
|
|
+ <!-- <template slot-scope="scope">
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
@click="baggageClickHandler(scope.row)"
|
|
|
>{{ scope.row.BagSN }}</el-button>
|
|
|
- </template>
|
|
|
+ </template> -->
|
|
|
</el-table-column>
|
|
|
<el-table-column
|
|
|
prop="SpecialType"
|
|
@@ -125,12 +132,7 @@
|
|
|
:filters="SpecialTypeItem"
|
|
|
:filter-method="filterHandler"
|
|
|
/>
|
|
|
- <el-table-column
|
|
|
- prop="checkIn"
|
|
|
- label="值机"
|
|
|
- :filters="checkInItem"
|
|
|
- :filter-method="filterHandler"
|
|
|
- />
|
|
|
+
|
|
|
<el-table-column
|
|
|
label="删除"
|
|
|
prop="deleted"
|
|
@@ -295,8 +297,7 @@
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="容器编号">
|
|
|
<el-input
|
|
|
- v-model="form.container"
|
|
|
- disabled
|
|
|
+ v-model="form.U_Device_ID"
|
|
|
size="small"
|
|
|
/>
|
|
|
</el-form-item>
|
|
@@ -391,7 +392,7 @@ export default {
|
|
|
station: '',
|
|
|
grade: '',
|
|
|
type: '',
|
|
|
- container: '',
|
|
|
+ U_Device_ID: '',
|
|
|
name: '',
|
|
|
pnr: '',
|
|
|
check: ''
|
|
@@ -414,7 +415,9 @@ export default {
|
|
|
activatedItem: [],
|
|
|
latestStatusItem: [],
|
|
|
bagLocationItem: [],
|
|
|
- TransferFlightNOItem: []
|
|
|
+ TransferFlightNOItem: [],
|
|
|
+ spanArr:[],
|
|
|
+ contactDot: 0,
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
@@ -423,7 +426,6 @@ export default {
|
|
|
// for (let i = 0; i < 18; i++) {
|
|
|
// dataContent.push(null)
|
|
|
// }
|
|
|
- // this.integratedQuery();
|
|
|
// this.statItemsQueryByStatMain(dataContent);
|
|
|
},
|
|
|
mounted() {
|
|
@@ -431,66 +433,59 @@ export default {
|
|
|
document.querySelector('.interfaceLog_head_time_start .el-input__prefix').innerHTML = '开始:'
|
|
|
document.querySelector('.interfaceLog_head_time_end .el-input__prefix i').remove()
|
|
|
document.querySelector('.interfaceLog_head_time_end .el-input__prefix').innerHTML = '结束:'
|
|
|
- const { FlightNO, FlightDate,name,grade,startDate,endDate,station,destination } = this.$route.query
|
|
|
+ const { FlightNO, FlightDate,name,grade,startDate,endDate,station,destination ,UDeviceID} = this.$route.query
|
|
|
if (FlightNO && FlightDate) {
|
|
|
this.$router.replace(this.$route.path)
|
|
|
const parsedTime = parseTime(new Date(FlightDate), '{y}-{m}-{d}')
|
|
|
this.timeStart = this.timeEnd = parsedTime
|
|
|
this.$refs['search'].setSearch(FlightNO)
|
|
|
}
|
|
|
- if(name&&startDate&&endDate&&station){
|
|
|
+ if(startDate&&endDate){
|
|
|
this.timeStart = startDate;
|
|
|
this.timeEnd = endDate;
|
|
|
this.form['time'] = [startDate,endDate];
|
|
|
+ }
|
|
|
+
|
|
|
+ if(name&&station){
|
|
|
this.form['name'] = name;
|
|
|
this.form['station'] = station
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
|
|
|
- if(grade&&startDate&&endDate&&station){
|
|
|
- this.timeStart = startDate;
|
|
|
- this.timeEnd = endDate;
|
|
|
- this.form['time'] = [startDate,endDate];
|
|
|
+ if(grade&&station){
|
|
|
this.form['grade'] = grade;
|
|
|
this.form['station'] = station
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
|
|
|
- if(FlightNO&&startDate&&endDate&&station){
|
|
|
- this.timeStart = startDate;
|
|
|
- this.timeEnd = endDate;
|
|
|
- this.form['time'] = [startDate,endDate];
|
|
|
+ if(FlightNO&&station){
|
|
|
this.form['flightNumber'] = FlightNO;
|
|
|
this.form['station'] = station
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
|
|
|
- if(name&&startDate&&endDate&&destination){
|
|
|
- this.timeStart = startDate;
|
|
|
- this.timeEnd = endDate;
|
|
|
- this.form['time'] = [startDate,endDate];
|
|
|
+ if(name&&destination){
|
|
|
this.form['name'] = name;
|
|
|
this.form['destination'] = destination
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
|
|
|
- if(grade&&startDate&&endDate&&destination){
|
|
|
- this.timeStart = startDate;
|
|
|
- this.timeEnd = endDate;
|
|
|
- this.form['time'] = [startDate,endDate];
|
|
|
+ if(grade&&destination){
|
|
|
this.form['grade'] = grade;
|
|
|
this.form['destination'] = destination
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
|
|
|
- if(FlightNO&&startDate&&endDate&&destination){
|
|
|
- this.timeStart = startDate;
|
|
|
- this.timeEnd = endDate;
|
|
|
- this.form['time'] = [startDate,endDate];
|
|
|
+ if(FlightNO&&destination){
|
|
|
this.form['flightNumber'] = FlightNO;
|
|
|
this.form['destination'] = destination
|
|
|
this.onCheckGj()
|
|
|
}
|
|
|
+ if(UDeviceID&&FlightNO){
|
|
|
+ this.form['flightNumber'] = FlightNO;
|
|
|
+ this.form['U_Device_ID'] = UDeviceID
|
|
|
+ this.onCheckGj()
|
|
|
+ }
|
|
|
},
|
|
|
updated() {
|
|
|
// table数据更新
|
|
@@ -499,6 +494,36 @@ export default {
|
|
|
})
|
|
|
},
|
|
|
methods: {
|
|
|
+ arraySpanMethod({ row, column, rowIndex, columnIndex }) {
|
|
|
+ for (let i = 0; i < 5; i++) {
|
|
|
+ if (columnIndex === i) {
|
|
|
+ const _row = this.spanArr[rowIndex];
|
|
|
+ const _col = _row > 0 ? 1 : 0;
|
|
|
+ return {
|
|
|
+ rowspan: _row,
|
|
|
+ colspan: _col,
|
|
|
+ };
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cellClass(row, column, rowIndex, columnIndex){
|
|
|
+ if (row.column.property == "FlightNO"||row.column.property == "TransferFlightNO"||row.column.property == "BagSN") {
|
|
|
+ return "clickCell"
|
|
|
+ }
|
|
|
+ },
|
|
|
+ cellClick(row, column, cell, event) {
|
|
|
+ if (column.property == "FlightNO") {
|
|
|
+ this.$router.push({ path: "/advance/flightView", query: row });
|
|
|
+ }
|
|
|
+ if (column.property == "TransferFlightNO") {
|
|
|
+ let row2 = this._.cloneDeep(row);
|
|
|
+ row2.FlightNO = row2.TransferFlightNO
|
|
|
+ this.$router.push({ path: "/advance/flightView", query: row2 });
|
|
|
+ }
|
|
|
+ if (column.property == "BagSN") {
|
|
|
+ this.$router.push({ path: '/advance/baggageView', query: row })
|
|
|
+ }
|
|
|
+ },
|
|
|
// 查询
|
|
|
getSearchData(val) {
|
|
|
this.form = {
|
|
@@ -509,7 +534,7 @@ export default {
|
|
|
station: '',
|
|
|
grade: '',
|
|
|
type: '',
|
|
|
- container: '',
|
|
|
+ U_Device_ID: '',
|
|
|
name: '',
|
|
|
pnr: '',
|
|
|
check: ''
|
|
@@ -571,7 +596,7 @@ export default {
|
|
|
// 参数顺序 【航班开始日期,航班结束日期,航班号,航班号,行李牌号,行李牌号,起飞站,起飞站,目的站,目的站,特殊行李类型,特殊 行李类型,旅客姓名大写拼音,旅客姓名大写拼音,pnr,pnr,值机号,值机号】
|
|
|
this.dataContent = []
|
|
|
this.dataContent = []
|
|
|
- const { time, status, flightNumber, destination, station, grade, type, container, name, pnr, check } = this.form
|
|
|
+ const { time, status, flightNumber, destination, station, grade, type, U_Device_ID, name, pnr, check } = this.form
|
|
|
if (time && time.length) {
|
|
|
this.dataContent.push(time[0])
|
|
|
this.dataContent.push(time[1])
|
|
@@ -581,7 +606,7 @@ export default {
|
|
|
station == '' &&
|
|
|
grade == '' &&
|
|
|
type == '' &&
|
|
|
- container == '' &&
|
|
|
+ U_Device_ID == '' &&
|
|
|
name == '' &&
|
|
|
pnr == '' &&
|
|
|
check == ''
|
|
@@ -597,6 +622,7 @@ export default {
|
|
|
this.setDataContent(name)
|
|
|
this.setDataContent(pnr)
|
|
|
this.setDataContent(check)
|
|
|
+ this.setDataContent(U_Device_ID)
|
|
|
this.statItemsQueryByStatMain(this.dataContent)
|
|
|
this.gjFlag = false
|
|
|
}
|
|
@@ -619,28 +645,12 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
// 表格行点击处理
|
|
|
- flightClickHandler(row) {
|
|
|
- this.$router.push({ path: '/advance/flightView', query: row })
|
|
|
- },
|
|
|
- baggageClickHandler(row) {
|
|
|
- this.$router.push({ path: '/advance/baggageView', query: row })
|
|
|
- },
|
|
|
- // 综合查询
|
|
|
- async integratedQuery(obj = {}) {
|
|
|
- try {
|
|
|
- this.loading = true
|
|
|
- const res = await advancedInquiry(obj)
|
|
|
- if (res.code === 0) {
|
|
|
- console.log(res)
|
|
|
- } else {
|
|
|
- this.$message.error(res.message)
|
|
|
- this.loading = false
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.log('出错了', error)
|
|
|
- this.loading = false
|
|
|
- }
|
|
|
- },
|
|
|
+ // flightClickHandler(row) {
|
|
|
+ // this.$router.push({ path: '/advance/flightView', query: row })
|
|
|
+ // },
|
|
|
+ // baggageClickHandler(row) {
|
|
|
+ // this.$router.push({ path: '/advance/baggageView', query: row })
|
|
|
+ // },
|
|
|
// 表头数据查询
|
|
|
async statItemsQueryByStatMain(dataContent) {
|
|
|
try {
|
|
@@ -649,10 +659,26 @@ export default {
|
|
|
dataContent
|
|
|
})
|
|
|
if (res.code == 0) {
|
|
|
- this.tableData = res.returnData.map((item, index) => {
|
|
|
- item['index'] = index + 1
|
|
|
- return item
|
|
|
- })
|
|
|
+ this.tableData = this._.sortBy(res.returnData, [
|
|
|
+ "FlightNO",
|
|
|
+ "FlightDate",
|
|
|
+ ]);
|
|
|
+ this.spanArr = [];
|
|
|
+ let contactDot = this.contactDot;
|
|
|
+ this.tableData.forEach((item, index) => {
|
|
|
+ item.index = index;
|
|
|
+ if (index === 0) {
|
|
|
+ this.spanArr.push(1);
|
|
|
+ } else {
|
|
|
+ if (item.FlightNO === this.tableData[index - 1].FlightNO&&item.FlightDate === this.tableData[index - 1].FlightDate) {
|
|
|
+ this.spanArr[contactDot] += 1;
|
|
|
+ this.spanArr.push(0);
|
|
|
+ } else {
|
|
|
+ this.spanArr.push(1);
|
|
|
+ contactDot = index;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
this.getTableFilterItem()
|
|
|
} else {
|
|
|
this.$message.error(res.message)
|
|
@@ -876,4 +902,56 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+.advance__table {
|
|
|
+ width: 100%;
|
|
|
+ ::v-deep .table {
|
|
|
+ width: 100%;
|
|
|
+ .cell {
|
|
|
+ padding: 0;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: Helvetica, "Microsoft YaHei";
|
|
|
+ letter-spacing: 0;
|
|
|
+ }
|
|
|
+ .clickCell{
|
|
|
+ cursor: pointer;
|
|
|
+ color: #2d7cff;
|
|
|
+ }
|
|
|
+ .el-table__header-wrapper {
|
|
|
+ .cell {
|
|
|
+ font-weight: bold;
|
|
|
+ color: #101116;
|
|
|
+ }
|
|
|
+
|
|
|
+ .has-gutter {
|
|
|
+ tr {
|
|
|
+ .bgl-huang {
|
|
|
+ background: #fcf0b1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .el-table__body-wrapper {
|
|
|
+ tr.bgl-hui {
|
|
|
+ background: #d2d6df;
|
|
|
+ td {
|
|
|
+ background: #d2d6df;
|
|
|
+ }
|
|
|
+ &.redBorder {
|
|
|
+ position: relative;
|
|
|
+ &::after {
|
|
|
+ content: "";
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ bottom: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 2px;
|
|
|
+ background: #e83f82;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|