PageSourceSearch

https://www.shairport.com/cn/js/Avinex/flight/oldFlight.js?v=1

js shairport.com collected 2026-10-02 07:34:20 UTC 14,359 bytes, 358 lines download raw bytes

1var app = new Vue({
2    el: '#flight',
3    data: {
4        lastUpdateTime: '',//当前航班最后更新时间
5        currentPage: 1,
6        pageSize: 20,
7        totalPages: 0,//总页数
8        totalItems: 0,//总记录数
9
10
11        flightType: 1, //航班类型:客班1,货班2
12        direction: _direction, //航向
13        airCities: '', //目的地/出发地
14        airCities2: '', //起飞机场/降落机场
15        airCompanies: '',//航空公司
16        timeDays: 0,//日期 
17        timeDaysFlightNum: 0,//航班号的日期
18        timeSpan: '00:00-23:59',//时间段'00: 00 - 23: 59'
19        flightNum: _key, //航班号
20        rootpath: _syspath,//网站根目录,用于构建Ajax页面地址
21        loading: false, //加载等待
22        isFirstLoad: false, //用于防止因初始化分页而再次查询第一页信息
23        isInternal: false,
24        isArrival: false,
25
26        //航班类型
27        flightTypeList: [{ Code: 1, Name: '客班' }, { Code: 2, Name: '货班' }],
28        //航班航向
29        directionList: [{ Code: 1, Name: '国内出发' }, { Code: 2, Name: '国内到达' }, { Code: 3, Name: '国际、港澳台出发' }, { Code: 4, Name: '国际、港澳台到达' }],
30        //目的地/出发地(城市)
31        airCitiesList: [],
32        //起飞机场/降落机场
33        airCities2List: [{ Code: 'SHA', Name: '虹桥机场' }, { Code: 'PVG', Name: '浦东机场' }],
34        //航空公司
35        airCompaniesList: [],
36
37        showNullTip: false,
38        nullTip: "暂无航班记录",
39        flightList: [],
40        flightIsInRequesting: false,//正在请求航班数据
41    },
42    computed: {
43        cityTitle: function () {
44            var self = this;
45            return self.direction == "1" || self.direction == "3" ? "目的地" : "出发地";
46        },
47        airportTitle: function () {
48            var self = this;
49            return self.direction == "1" || self.direction == "3" ? "起飞机场" : "降落机场";
50        },
51        cityTxt: function () {//城市文字
52            var self = this;
53            var txt = '城市(不限)';
54            if (self.airCities != "") {
55                var obj = self.airCitiesList.find(function (obj) { return obj.Code == self.airCities });
56                if (obj != undefined) {
57                    txt = obj.Name;
58                }
59                //txt = new Date();
60            }
61            return txt;
62        },
63        airportTxt: function () {//机场文字
64            var self = this;
65            var txt = '机场(不限)';
66            if (self.airCities2 != "") {
67                var obj = self.airCities2List.find(function (obj) { return obj.Code == self.airCities2 });
68                if (obj != undefined) {
69                    txt = obj.Name;
70                }
71                //txt = new Date();
72            }
73            return txt;
74        },
75        companyTxt: function () {//航空公司文字
76            var self = this;
77            var txt = '航空公司(不限)';
78            if (self.airCompanies != "") {
79                var obj = self.airCompaniesList.find(function (obj) { return obj.code == self.airCompanies });
80                if (obj != undefined) {
81                    txt = obj.name;
82                }
83                //txt = new Date();
84            }
85            return txt;
86        }
87    },
88    mounted: function () {
89        var self = this;
90
91        self.initLastUpdateTime();
92        //window.setInterval(self.initLastUpdateTime, 1000 * 60);
93
94        self.initCities();
95        self.initCompanies();
96        //self.getFlightList();
97        if (self.flightNum.length > 0) {
98            self.searchFlightNum();
99        } else {
100            self.search();
101        }
102        self.$nextTick(function () {//其他页面支持js
103            self.initJs();
104        });
105    },
106    methods: {
107        //航班最后更新时间
108        initLastUpdateTime: function () {
109            var self = this;
110            $.ajax({
111                type: "POST",
112                url: _syspath + 'AvinexApi/OldFlightHandler.aspx',
113                data: { action: "GetLastUpdatetime" },
114                dataType: 'json',
115                success: function (result) {
116                    if (result.success) {
117                        self.lastUpdateTime = "当前航班信息最后更新于:" + result.data;
118                    }
119                }
120            });
121        },
122        //选择航向
123        chooseDirection: function (direction) {
124            var self = this;
125            self.direction = direction;
126
127            self.airCities = "";
128            self.airCities2 = "";
129            self.airCompanies = "";
130
131
132            //国内出发
133            if (direction == 1) {
134                self.isArrival = false;
135                self.isInternal = false;
136            }
137            //国内到达
138            else if (direction == 2) {
139                self.isArrival = true;
140                self.isInternal = false;
141
142            }
143            //国际出发
144            else if (direction == 3) {
145                self.isArrival = false;
146                self.isInternal = true;
147            }
148            //国际到达
149            else if (direction == 4) {
150                self.isArrival = true;
151                self.isInternal = true;
152            }
153
154            self.initCities(self.isInternal, self.isArrival, false, self.flightType);
155            self.initCompanies(self.isInternal, self.isArrival, false, self.flightType);
156        },
157        autoTranslate: function (txt) {
158            return txt;
159        },
160        //选择城市
161        chooseAirCities: function (item) {
162            var self = this;
163            self.airCities = item.Code;
164        },
165        //选择航站楼
166        chooseAirCities2: function (item) {
167            var self = this;
168            self.airCities2 = item.Code;
169        },
170        //选择航空公司
171        chooseAirCompanies: function (item) {
172            var self = this;
173            self.airCompanies = item.code;
174        },
175        //加载城市(机场)
176        initCities: function (isInternal, isArrival, isInit, flightType) {
177            var self = this;
178            $.ajax({
179                type: "POST",
180                url: _syspath + 'AvinexApi/OldFlightHandler.aspx',
181                data: { action: "GetCities", isInternal: self.isInternal, isArrival: self.isArrival, flightType: self.flightType },
182                dataType: 'json',
183                success: function (result) {
184                    if (result.success) {
185                        self.airCitiesList = JSON.parse(result.data);
186                    } else {
187                        self.airCitiesList = [];
188                    }
189                }
190            });
191        },
192        //加载航空公司
193        initCompanies: function (isInternal, isArrival, isInit, flightType) {
194            var self = this;
195            $.ajax({
196                type: "POST",
197                url: _syspath + 'AvinexApi/OldFlightHandler.aspx',
198                data: { action: "GetCompanies", isInternal: self.isInternal, isArrival: self.isArrival, flightType: self.flightType },
199                dataType: 'json',
200                success: function (result) {
201                    if (result.success) {
202                        self.airCompaniesList = result.data;
203                    } else {
204                        self.airCompaniesList = [];
205                    }
206                }
207            });
208        },
209        //初始化页面支持js
210        initJs: function () {
211            //日期控件
212            if ($("#TimeYMD").length > 0) {
213                jeDate("#TimeYMD", {
214                    theme: { bgcolor: "#17a0e6", color: "#ffffff", pnColor: "#17a0e6" },
215                    format: "YYYY-MM-DD hh:mm"
216                });
217            }
218            if ($("#TimeYears").length > 0) {
219                jeDate("#TimeYears", {
220                    theme: { bgcolor: "#17a0e6", color: "#ffffff", pnColor: "#17a0e6" },
221                    format: "YYYY-MM-DD"
222                });
223            }
224            if ($("#TimeMinute").length > 0) {
225                jeDate("#TimeMinute", {
226                    theme: { bgcolor: "#17a0e6", color: "#ffffff", pnColor: "#17a0e6" },
227                    format: "hh:mm"
228                });
229            }
230            if ($("#TimeMinute2").length > 0) {
231                jeDate("#TimeMinute2", {
232                    theme: { bgcolor: "#17a0e6", color: "#ffffff", pnColor: "#17a0e6" },
233                    format: "hh:mm"
234                });
235            }
236        },
237        //航班号查询
238        searchFlightNum: function () {
239            var self = this;
240            self.currentPage = 1;
241            var flightNum = self.flightNum;
242            if (flightNum == "") {
243                dialog.msg("请输入航班号", -1, 3000);
244                return false;
245            }
246            if (flightNum.length > 0 && self.CheckString(flightNum)) {
247                flightNum = flightNum.toUpperCase();
248                var direction = "";
249                var timeDays = self.timeDaysFlightNum;//采用航班号区域对应的昨天今天和明天
250                self.searchData(self.currentPage, self.pageSize, self.flightType, direction, self.airCities, self.airCities2, self.airCompanies, timeDays, self.timeSpan, self.flightNum);
251            } else {
252                $("#txtFlightNum").focus();
253            }
254        },
255        //立即查询
256        search: function () {
257            var self = this;
258            self.currentPage = 1;
259
260            flightNum = ""; //航班号查询优先级更高,此处需屏蔽
261
262            self.searchData(self.currentPage, self.pageSize, self.flightType, self.direction, self.airCities, self.airCities2, self.airCompanies, self.timeDays, self.timeSpan, flightNum);
263        },
264        searchData: function (currentPage, pageSize, flightType, direction, airCities, airCities2, airCompanies, timeDays, timeSpan, flightNum) {
265            var self = this;
266            if (!self.flightIsInRequesting) {//防止重复点击
267                self.flightIsInRequesting = true;
268                isFirstLoad = true; //用于防止因初始化分页而再次查询第一页信息
269                var startTime = $("#TimeMinute").val();
270                var endTime = $("#TimeMinute2").val();
271                
272                if (startTime == "") startTime = "00:00";
273                if (endTime == "") endTime = "23:59";
274                if (startTime != "" && endTime != "") {
275                    self.timeSpan = startTime + "-" + endTime;
276                }
277
278                var data = {
279                    action: "GetData",
280                    currentPage: currentPage,
281                    pageSize: pageSize,
282                    flightType: flightType,
283                    direction: direction,
284                    airCities: airCities,
285                    airCities2: airCities2,
286                    airCompanies: airCompanies,
287                    timeDays: timeDays,
288                    timeSpan: self.timeSpan,
289                    flightNum: flightNum
290                }
291                $.ajax({
292                    type: "POST",
293                    url: _syspath + 'AvinexApi/OldFlightHandler.aspx',
294                    data: data,
295                    dataType: 'json',
296                    success: function (response) {
297                        if (response.success) {
298                            self.totalPages = response.data.totalPages;
299                            self.totalItems = response.data.totalItems;
300                            self.flightList = response.data.flightList == "" ? [] : JSON.parse(response.data.flightList);
301                            self.showNullTip = self.flightList.length == 0 ? true : false;
302                            self.$nextTick(function () {//其他页面支持js
303                                self.initJs();
304                            });
305                        } else {
306                            dialog.msg("请求失败", -1, 3000);
307                        }
308                        self.flightIsInRequesting = false;
309                    },
310                    error: function () {
311                        self.flightIsInRequesting = false;
312                    }
313                });
314            }
315        },
316
317        //获取航班列表数据(bak)
318        getFlightList: function () {
319            var self = this;
320            self.currentPage++;
321            self.searchData(self.currentPage, self.pageSize, self.flightType, self.direction, self.airCities, self.airCities2, self.airCompanies, self.timeDays, self.timeSpan, self.flightNum);
322        },
323        //查看
324        viewDetails: function (pid) {
325            var self = this;
326            var obj = self.flightList.find(function (flight) { return flight.whir_U_Flight_PID == pid; });
327            if (obj == undefined) {
328                self.currentFlight = {};
329            } else {
330                self.currentFlight = obj;
331            }
332            $('.popUp-box').show();
333            $('.popUp-box .close').click(function () {
334                $('.popUp-box').hide()
335            });
336        },
337        CheckString: function (s) {
338            var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()—|{}【】‘;:”“'。,、?]")
339            var rs = "";
340            for (var i = 0; i < s.length; i++) {
341                rs = rs + s.substr(i, 1).replace(pattern, '');
342            }
343            if (rs == "") {
344                alert("不能输入特殊字符!");
345                return false;
346            }
347            else {
348                return true;
349            }
350        },
351        //换页
352        handleCurrentChange(pageIndex) {
353            var self = this;
354            this.currentPage = pageIndex;
355            self.searchData(self.currentPage, self.pageSize, self.flightType, self.direction, self.airCities, self.airCities2, self.airCompanies, self.timeDays, self.timeSpan, flightNum);
356        },
357    }
358})

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.