chenrui  2 лет назад
Родитель
Сommit
07b89fddc6

+ 8 - 1
public/config.js

@@ -85,6 +85,8 @@ window.SERVICE_ID = {
   termSeleid: 1156, //航站选择下拉
   areaOptions: 1807, // 大区/基地分公司下拉
   AirportId: 1808, // 航站下拉
+  AirportIds: 12004, // 航站下拉2.0
+  AirlinportId: 12003, // 航司下拉
   TerminalId: 1809, // 航站楼下拉
   byOther: 1810, // 大区/分公司以外航班统计(全部)
   byArea: 1811, // 根据大区/分公司航班统计(全部)
@@ -140,7 +142,12 @@ window.SERVICE_ID = {
   expressTransportationUpload: 20034, // 速运行李数据上传
   expressTransportation: 1803435, // 速运行李数据查询
   expressTransportationNum: 1803436, // 速运行李次数查询
-  expressTransportationFail: 1803437 // 速运行李数据查询-失败
+  expressTransportationFail: 1803437, // 速运行李数据查询-失败
+
+  /***-----新统计图------***/
+  LuggageInId: 12001, // 行李进港数量
+  LuggagecId: 12002
+  
 }
 
 window.AIRPORT_ID = {

+ 48 - 53
src/views/statisticsCharts/components/commonBarStatisticsCharts.vue

@@ -8,6 +8,7 @@
         :title="`${chartsTitle}统计`"
         :custom-items="customFormItems"
         :items="formItems"
+        :data.sync="formData"
         @getFormData="getFormData"
         @export="exportHandler"
       />
@@ -49,6 +50,10 @@ export default {
     formItems: {
       type: Array,
     },
+    formData: {
+      type: Object,
+      required: true
+    },
   },
   data() {
     return {
@@ -211,7 +216,8 @@ export default {
             data: []
           }
         ]
-      }
+      },
+      admin: {}
     }
   },
   computed: {
@@ -272,54 +278,29 @@ export default {
       this.resetDatas()
 
       let id
-      let params = []
-      if (formData.range === '基地分公司') {
-        if (formData.flightType === '有行李') {
-          id = this.querySettings.withBaggageByArea
-        } else if (formData.baggageType === '不包含DEL') {
-          id = this.querySettings.notDelByArea
-        } else if (formData.passengerType[0] === '要客类型') {
-          id = this.querySettings.importantByArea
-        } else {
-          id = this.querySettings.byArea
-        }
-        params = [formData.interval, formData.area, formData.inOrOut, formData.dateTime[0], formData.dateTime[1]]
-      } else {
-        if (formData.flightType === '有行李') {
-          id = this.querySettings.withBaggageByOther
-        } else if (formData.baggageType === '不包含DEL') {
-          id = this.querySettings.notDelByOther
-        } else if (formData.passengerType[0] === '要客类型') {
-          id = this.querySettings.importantByOther
-        } else {
-          id = this.querySettings.byOther
-        }
-        params = [formData.interval, formData.range, formData.inOrOut, formData.dateTime[0], formData.dateTime[1]]
-        if (formData.airline.length) {
-          params.splice(2, 0, formData.airline)
-        } else if (formData.airport.length) {
-          params.splice(2, 0, formData.airport)
-        } else if (formData.terminal !== '') {
-          params.splice(2, 0, formData.terminal)
-        } else {
-          params.splice(2, 0, '全部')
-        }
-      }
-      if (formData.passengerType.length) {
-        this.filters = [
-          {
-            key: formData.passengerType[0],
-            value: formData.passengerType[1]
-          }
-        ]
-      }
-      this.params = [...params, ...this.filters.map(({ value }) => value)]
-      if (params[2] instanceof Array) {
-        const paramsList = params[2].map(param => [...params.slice(0, 2), param, ...params.slice(3)])
-        this.getMultipleChartsData(id, paramsList)
-      } else {
-        this.getSingleChartsData(id, params)
-      }
+      let params = {}
+      params = JSON.parse(JSON.stringify(formData));
+      params.fd1 = formData.dateTime[0]
+      params.fd2 = formData.dateTime[1]
+      delete params.dateTime
+      this.admin = JSON.parse(JSON.stringify(params));
+      delete params.timedim
+      this.getSingleChartsData(this.querySettings.serviceId, params)
+      // if (formData.passengerType.length) {
+      //   this.filters = [
+      //     {
+      //       key: formData.passengerType[0],
+      //       value: formData.passengerType[1]
+      //     }
+      //   ]
+      // }
+      // this.params = [...params, ...this.filters.map(({ value }) => value)]
+      // if (params[2] instanceof Array) {
+      //   const paramsList = params[2].map(param => [...params.slice(0, 2), param, ...params.slice(3)])
+      //   this.getMultipleChartsData(id, paramsList)
+      // } else {
+      //   this.getSingleChartsData(id, params)
+      // }
     },
     async getMultipleChartsData(id, paramsList) {
       try {
@@ -351,15 +332,15 @@ export default {
         this.$message.error(error.message)
       }
     },
-    async getChartsData(id, params) {
+    async getChartsData(serviceId, params) {
       try {
         const {
           code,
           returnData: { listValues },
           message
         } = await TempQuery({
-          id,
-          dataContent: params
+          serviceId,
+          dataContent:  [params] 
         })
         if (Number(code) === 0) {
           return listValues
@@ -387,8 +368,22 @@ export default {
         this.$message.info('未查询到对应数据')
         return
       }
+      console.log(this.admin)
+      if (this.admin.io === '进港') {
+          this.seriesKey = 'in_num'
+        }else if(this.admin.io === '离港'){
+          this.seriesKey = 'out_num'
+        } else if (this.admin.io === '中转') {
+          this.seriesKey = 'trans_num'
+        } 
+        else if (this.admin.timedim === '正常') {
+          this.seriesKey = 'bag_num'
+        } 
+        else if (this.admin.timedim === '异常') {
+          this.seriesKey = 'exception_num'
+        }
       for (let i = 0; i < filteredList.length; i++) {
-        xAxisData.push(filteredList[i].A)
+        xAxisData.push(filteredList[i].flight_date)
         seriesDatas.push(filteredList[i][this.seriesKey])
         if (i > 0) {
           if (filteredList[i - 1][this.seriesKey] > 0) {

+ 12 - 12
src/views/statisticsCharts/components/statisticsHeader.vue

@@ -134,17 +134,17 @@ export default {
   data() {
     return {
       formData: {
-        range: '',
-        inOrOut: '',
-        interval: '',
-        airline: [],
-        area: '',
-        airport: [],
-        terminal: '',
-        dateTime: [],
-        flightType: '',
-        baggageType: '',
-        passengerType: []
+        // range: '',
+        // inOrOut: '',
+        // interval: '',
+        // airline: [],
+        // area: '',
+        // airport: [],
+        // terminal: '',
+        // dateTime: [],
+        // flightType: '',
+        // baggageType: '',
+        // passengerType: []
       },
       formItems: [
         {
@@ -422,7 +422,7 @@ export default {
     async getOptions(queryId, setKey, prop) {
       try {
         const { code, returnData, message } = await TempQuery({
-          id: queryId,
+          serviceId: queryId,
           dataContent: []
         })
         if (Number(code) === 0) {

+ 19 - 27
src/views/statisticsCharts/views/airlineCompany/baggageStatisticsCharts.vue

@@ -3,6 +3,7 @@
     charts-title="航司行李量"
     :query-settings="querySettings"
     :formItems="formItems"
+    :formData="formData"
   />
 </template>
 
@@ -14,36 +15,27 @@ export default {
   data() {
     return {
       querySettings: {
-        byArea: SERVICE_ID.baggageByArea,
-        byOther: SERVICE_ID.baggageByOther,
-        notDelByArea: SERVICE_ID.notDelByArea,
-        notDelByOther: SERVICE_ID.notDelByOther
+        serviceId: SERVICE_ID.LuggagecId
+      },
+      formData: {
+        air_line: null,
+        iata_code: '',
+        dateTime: [],
+        timedim: '',
       },
       formItems: [
-        {
-          prop: 'company',
+      {
+          prop: 'iata_code',
           inputType: 'select',
-          placeholder: '航站',
-          requiredWarning: '请先选择航站',
-          clearable: true,
-          options: [
-            {
-              value: '国航',
-              label: '国航',
-            },
-            {
-              value: '代理国内',
-              label: '代理国内',
-            },
-            {
-              value: '代理国际',
-              label: '代理国际',
-            },
-            {
-              value: '非代理',
-              label: '非代理',
-            },
-          ],
+          placeholder: '航司',
+          width: '150px',
+          // filterable: true,
+          // clearable: true,
+          // multiple: true,
+          // disabled: true,
+          queryId: SERVICE_ID.AirlinportId,
+          setKey: 'ITATCode',
+          options: []
         },
         {
           prop: 'timedim',

+ 12 - 9
src/views/statisticsCharts/views/airlineCompany/flightStatisticsCharts.vue

@@ -3,6 +3,7 @@
     charts-title="行李进港数量"
     :query-settings="querySettings"
     :formItems="formItems"
+    :formData="formData"
   />
 </template>
 
@@ -14,10 +15,12 @@ export default {
   data() {
     return {
       querySettings: {
-        byArea: SERVICE_ID.byArea,
-        byOther: SERVICE_ID.byOther,
-        withBaggageByArea: SERVICE_ID.withBaggageByArea,
-        withBaggageByOther: SERVICE_ID.withBaggageByOther
+        serviceId: SERVICE_ID.LuggageInId
+      },
+      formData: {
+        airport: '',
+        dateTime: [],
+        io: '',
       },
       formItems: [
         {
@@ -29,20 +32,20 @@ export default {
           // clearable: true,
           // multiple: true,
           // disabled: true,
-          queryId: SERVICE_ID.AirportId,
-          setKey: 'a2',
+          queryId: SERVICE_ID.AirportIds,
+          setKey: 'code3',
           options: []
         },
         {
-          prop: 'timedim',
+          prop: 'io',
           inputType: 'select',
           placeholder: '进出港',
           requiredWarning: '请先选择进出港',
           clearable: true,
           options: [
             {
-              value: '离',
-              label: '离',
+              value: '离',
+              label: '离',
             },
             {
               value: '进港',