瀏覽代碼

驾驶舱修改

zhaoke 2 年之前
父節點
當前提交
8f7f1f2603

+ 17 - 15
src/views/dashboard/hooks/usePublic.ts

@@ -19,7 +19,7 @@ export function usePublic() {
     legend: {
       show: true,
       top: 0,
-      left: '30%',
+      right: '20%',
       icon: 'roundRect',
       textStyle: {
         color: '#698dc3',
@@ -32,7 +32,7 @@ export function usePublic() {
       top: '17%',
       containLabel: true,
     },
-    color: ['#F5BB3D', '#73D970', '#6A9DD9'],
+    color: ['#51DEE9', '#4C88E1'],
     xAxis: {
       type: 'category',
       boundaryGap: true,
@@ -165,18 +165,18 @@ export function usePublic() {
           },
         },
         legend: {
-          data: ['报警', '预警'],
+          data: ['航班数', '运单数'],
           right: '20%',
           textStyle: {
             color: '#8897BC',
           },
           // top:"-10"
         },
-        color: ['#EC3B71', '#E5B35C'],
+        color: ['#51DEE9', '#4C88E1'],
         grid: {
           bottom: '10%',
-          left: '5%',
-          right: '1%',
+          left: '13%',
+          right: '8%',
           top: '17%',
         },
         xAxis: {
@@ -209,14 +209,16 @@ export function usePublic() {
         },
         series: [
           {
-            name: '报警',
+            name: '航班数',
             type: 'bar',
             data: [0, 0, 0, 0],
+            barWidth: 10,
           },
           {
-            name: '预警',
+            name: '运单数',
             type: 'bar',
             data: [0, 0, 0, 0],
+            barWidth: 10,
           },
         ],
       },
@@ -236,7 +238,7 @@ export function usePublic() {
             color: '#8897BC',
           },
         },
-        color: ['#51DEE9', '#4C88E1'],
+        color: ['#4C88E1', '#51DEE9'],
         grid: {
           bottom: '10%',
           left: '13%',
@@ -271,7 +273,7 @@ export function usePublic() {
                 color: 'rgba(196,194,225, 0.54)',
               },
             },
-            name: '',
+            name: '',
           },
           {
             type: 'value',
@@ -284,21 +286,21 @@ export function usePublic() {
                 color: 'rgba(196,194,225, 0.54)',
               },
             },
-            name: '',
+            name: '',
           },
         ],
         series: [
           {
-            name: '运单/单',
+            name: '重量/吨',
             type: 'bar',
-            data: [12, 10, 15, 11, 16, 4, 6],
+            data: [11, 15, 17, 8, 1, 4, 6],
             yAxisIndex: 0,
             barWidth: 10,
           },
           {
-            name: '重量/吨',
+            name: '运单/单',
             type: 'bar',
-            data: [11, 15, 17, 8, 1, 4, 6],
+            data: [12, 10, 15, 11, 16, 4, 6],
             yAxisIndex: 1,
             barWidth: 10,
           },

+ 23 - 15
src/views/dashboard/index.vue

@@ -7,7 +7,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                小时峰值分
+                小时峰值分
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.HourlyPeak)">
                 <el-icon color="#ffffff" size="18">
@@ -25,7 +25,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                运单趋势分析
+                趋势分析
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.WaybillTrend)">
                 <el-icon color="#ffffff" size="18">
@@ -166,7 +166,8 @@ import Dialog from "@/components/dialog/index.vue";
 import { usePublic, showTimeMsg } from "./hooks/usePublic";
 import { parseTime, isValue } from "@/utils/validate";
 import * as _ from "lodash";
-const { optionLeft, airCompaneBaggage, airStutas, getPublicData } = usePublic();
+const { optionLeft, airCompaneBaggage, airlineAbnormalBaggage, getPublicData } =
+  usePublic();
 const timePickerName = ref<number>(0);
 const flag = ref<boolean>(false);
 const loading1 = ref<boolean>(false);
@@ -188,6 +189,9 @@ const form = ref({
   startDate: parseTime(Date.now() - 24 * 60 * 60 * 1000 * 7, "{y}-{m}-{d}"),
   endDate: parseTime(Date.now(), "{y}-{m}-{d}"),
 });
+const dateNow = ref({
+  time: parseTime(Date.now(), "{y}-{m}-{d}"),
+});
 const listData = ref<any>([]);
 const disabledStartDate = (time: Date) => {
   const timer: any = form.value.endDate;
@@ -207,6 +211,7 @@ const submitForm = () => {
   flag.value = false;
   switch (timePickerName.value) {
     case showTimeMsg.HourlyPeak:
+      dateNow.value.time = form.value.startDate;
       hourlyPeakFunc();
       break;
     case showTimeMsg.WaybillTrend:
@@ -254,8 +259,8 @@ const pubFunc = (listValues, target, type?) => {
   const [jobTimes, stockNums, weights] = [<any>[], <any>[], <any>[]];
   listValues.forEach((item) => {
     jobTimes.push(item.jobTime);
-    stockNums.push(item.stockNum);
-    weights.push(item.weight);
+    stockNums.push(Number(item.stockNum));
+    weights.push(Number(item.weight));
   });
   newObj.xAxis.data = jobTimes;
   if (type) {
@@ -278,7 +283,7 @@ const parseDate = (date: string) => {
 const hourlyPeakFunc = async () => {
   loading1.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscCgHourlyPeakId, [
-    { flightDate1: form.value.startDate, flightDate2: form.value.endDate },
+    { flightDate1: dateNow.value.time, flightDate2: form.value.endDate },
   ])) as any;
   if (listValues && isValue(listValues)) {
     hourlyPeakObj.value = pubFunc(listValues, optionLeft);
@@ -312,7 +317,7 @@ const nodePeakFunc = async () => {
     listValues.forEach((item) => {
       item.jobTime = item["airport"];
     });
-    nodePeakObj.value = pubFunc(listValues, newObj);
+    nodePeakObj.value = pubFunc(listValues, newObj, true);
   }
   loading3.value = false;
 };
@@ -321,13 +326,16 @@ const nodePeakFunc = async () => {
 const numbersFunc = async () => {
   loading4.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscCgNumbersId, [
-    { fd1: form.value.startDate, fd2: form.value.endDate },
+    {
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
+    },
   ])) as any;
   if (listValues && isValue(listValues)) {
     const { flightNum, stockNum, weight } = listValues[0];
-    flightNums.value = flightNum;
-    stockNums.value = stockNum;
-    weightNums.value = weight;
+    flightNums.value = flightNum ?? 0;
+    stockNums.value = stockNum ?? 0;
+    weightNums.value = weight ?? 0;
   }
   loading4.value = false;
 };
@@ -355,7 +363,7 @@ const airlineTrafficFunc = async () => {
         item.jobTime = item["IACACode"];
       });
 
-    airlineTrafficObj.value = pubFunc(listValues, newObj);
+    airlineTrafficObj.value = pubFunc(listValues, newObj, true);
   }
   loading6.value = false;
 };
@@ -365,8 +373,8 @@ const airlineAbnormalFunc = async () => {
   loading5.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscFlightDynamicsId, [
     {
-      fd1: form.value.startDate,
-      fd2: form.value.endDate,
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
       fttp: "国内进港",
     },
   ])) as any;
@@ -386,7 +394,7 @@ const airlineFunc = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     (newObj.dataZoom = [
       {
         id: "dataZoomX",

+ 22 - 14
src/views/dashboard/indexHomeOut.vue

@@ -7,7 +7,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                小时峰值分
+                小时峰值分
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.HourlyPeak)">
                 <el-icon color="#ffffff" size="18">
@@ -25,7 +25,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                运单趋势分析
+                趋势分析
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.WaybillTrend)">
                 <el-icon color="#ffffff" size="18">
@@ -184,7 +184,8 @@ import Dialog from "@/components/dialog/index.vue";
 import { usePublic, showTimeMsg } from "./hooks/usePublic";
 import { parseTime, isValue } from "@/utils/validate";
 import * as _ from "lodash";
-const { optionLeft, airCompaneBaggage, airStutas, getPublicData } = usePublic();
+const { optionLeft, airCompaneBaggage, airlineAbnormalBaggage, getPublicData } =
+  usePublic();
 const timePickerName = ref<number>(0);
 const flag = ref<boolean>(false);
 const loading1 = ref<boolean>(false);
@@ -208,6 +209,9 @@ const form = ref({
   startDate: parseTime(Date.now() - 24 * 60 * 60 * 1000 * 7, "{y}-{m}-{d}"),
   endDate: parseTime(Date.now(), "{y}-{m}-{d}"),
 });
+const dateNow = ref({
+  time: parseTime(Date.now(), "{y}-{m}-{d}"),
+});
 const listData = ref<any>([]);
 const disabledStartDate = (time: Date) => {
   const timer: any = form.value.endDate;
@@ -227,6 +231,7 @@ const submitForm = () => {
   flag.value = false;
   switch (timePickerName.value) {
     case showTimeMsg.HourlyPeak:
+      dateNow.value.time = form.value.startDate;
       hourlyPeakFunc();
       break;
     case showTimeMsg.WaybillTrend:
@@ -301,7 +306,7 @@ const parseDate = (date: string) => {
 const hourlyPeakFunc = async () => {
   loading1.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscHourlyPeakId, [
-    { flightDate1: form.value.startDate, flightDate2: form.value.endDate },
+    { flightDate1: dateNow.value.time, flightDate2: form.value.endDate },
   ])) as any;
   if (listValues && isValue(listValues)) {
     hourlyPeakObj.value = pubFunc(listValues, optionLeft);
@@ -335,7 +340,7 @@ const nodePeakFunc = async () => {
     listValues.forEach((item) => {
       item.jobTime = item["airport"];
     });
-    nodePeakObj.value = pubFunc(listValues, newObj);
+    nodePeakObj.value = pubFunc(listValues, newObj, true);
   }
   loading3.value = false;
 };
@@ -344,13 +349,16 @@ const nodePeakFunc = async () => {
 const numbersFunc = async () => {
   loading4.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscNumbersId, [
-    { fd1: form.value.startDate, fd2: form.value.endDate },
+    {
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
+    },
   ])) as any;
   if (listValues && isValue(listValues)) {
     const { flightNum, stockNum, weight } = listValues[0];
-    flightNums.value = flightNum;
-    stockNums.value = stockNum;
-    weightNums.value = weight;
+    flightNums.value = flightNum ?? 0;
+    stockNums.value = stockNum ?? 0;
+    weightNums.value = weight ?? 0;
   }
   loading4.value = false;
 };
@@ -376,7 +384,7 @@ const airlineTrafficFunc = async () => {
       listValues.forEach((item) => {
         item.jobTime = item["IACACode"];
       });
-    airlineTrafficObj.value = pubFunc(listValues, newObj);
+    airlineTrafficObj.value = pubFunc(listValues, newObj, true);
   }
   loading6.value = false;
 };
@@ -386,8 +394,8 @@ const airlineAbnormalFunc = async () => {
   loading5.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscFlightDynamicsId, [
     {
-      fd1: form.value.startDate,
-      fd2: form.value.endDate,
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
       fttp: "国内离港",
     },
   ])) as any;
@@ -407,7 +415,7 @@ const airlineFunc = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     (newObj.dataZoom = [
       {
         id: "dataZoomX",
@@ -437,7 +445,7 @@ const pickingFuncs = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     listValues.forEach((item) => {
       item.jobTime = parseDate(item["flightDate"]);
       item.weight = item["flightNum"];

+ 21 - 13
src/views/dashboard/indexIn.vue

@@ -7,7 +7,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                小时峰值分
+                小时峰值分
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.HourlyPeak)">
                 <el-icon color="#ffffff" size="18">
@@ -25,7 +25,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                运单趋势分析
+                趋势分析
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.WaybillTrend)">
                 <el-icon color="#ffffff" size="18">
@@ -166,7 +166,8 @@ import Dialog from "@/components/dialog/index.vue";
 import { usePublic, showTimeMsg } from "./hooks/usePublic";
 import { parseTime, isValue } from "@/utils/validate";
 import * as _ from "lodash";
-const { optionLeft, airCompaneBaggage, airStutas, getPublicData } = usePublic();
+const { optionLeft, airCompaneBaggage, airlineAbnormalBaggage, getPublicData } =
+  usePublic();
 const timePickerName = ref<number>(0);
 const flag = ref<boolean>(false);
 const loading1 = ref<boolean>(false);
@@ -188,6 +189,9 @@ const form = ref({
   startDate: parseTime(Date.now() - 24 * 60 * 60 * 1000 * 7, "{y}-{m}-{d}"),
   endDate: parseTime(Date.now(), "{y}-{m}-{d}"),
 });
+const dateNow = ref({
+  time: parseTime(Date.now(), "{y}-{m}-{d}"),
+});
 const listData = ref<any>([]);
 const disabledStartDate = (time: Date) => {
   const timer: any = form.value.endDate;
@@ -207,6 +211,7 @@ const submitForm = () => {
   flag.value = false;
   switch (timePickerName.value) {
     case showTimeMsg.HourlyPeak:
+      dateNow.value.time = form.value.startDate;
       hourlyPeakFunc();
       break;
     case showTimeMsg.WaybillTrend:
@@ -278,7 +283,7 @@ const parseDate = (date: string) => {
 const hourlyPeakFunc = async () => {
   loading1.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscJgHourlyPeakId, [
-    { flightDate1: form.value.startDate, flightDate2: form.value.endDate },
+    { flightDate1: dateNow.value.time, flightDate2: form.value.endDate },
   ])) as any;
   if (listValues && isValue(listValues)) {
     hourlyPeakObj.value = pubFunc(listValues, optionLeft);
@@ -312,7 +317,7 @@ const nodePeakFunc = async () => {
     listValues.forEach((item) => {
       item.jobTime = item["airport"];
     });
-    nodePeakObj.value = pubFunc(listValues, newObj);
+    nodePeakObj.value = pubFunc(listValues, newObj, true);
   }
   loading3.value = false;
 };
@@ -321,13 +326,16 @@ const nodePeakFunc = async () => {
 const numbersFunc = async () => {
   loading4.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscJgNumbersId, [
-    { fd1: form.value.startDate, fd2: form.value.endDate },
+    {
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
+    },
   ])) as any;
   if (listValues && isValue(listValues)) {
     const { flightNum, stockNum, weight } = listValues[0];
-    flightNums.value = flightNum;
-    stockNums.value = stockNum;
-    weightNums.value = weight;
+    flightNums.value = flightNum ?? 0;
+    stockNums.value = stockNum ?? 0;
+    weightNums.value = weight ?? 0;
   }
   loading4.value = false;
 };
@@ -354,7 +362,7 @@ const airlineTrafficFunc = async () => {
       listValues.forEach((item) => {
         item.jobTime = item["IACACode"];
       });
-    airlineTrafficObj.value = pubFunc(listValues, newObj);
+    airlineTrafficObj.value = pubFunc(listValues, newObj, true);
   }
   loading6.value = false;
 };
@@ -364,8 +372,8 @@ const airlineAbnormalFunc = async () => {
   loading5.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscFlightDynamicsId, [
     {
-      fd1: form.value.startDate,
-      fd2: form.value.endDate,
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
       fttp: "国际进港",
     },
   ])) as any;
@@ -385,7 +393,7 @@ const airlineFunc = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     (newObj.dataZoom = [
       {
         id: "dataZoomX",

+ 19 - 11
src/views/dashboard/indexOut.vue

@@ -7,7 +7,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                小时峰值分
+                小时峰值分
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.HourlyPeak)">
                 <el-icon color="#ffffff" size="18">
@@ -25,7 +25,7 @@
           <div class="dashboard-content-top-left-item">
             <div class="dashboard-content-top-left-item-top">
               <div class="dashboard-content-top-left-item-top-title">
-                运单趋势分析
+                趋势分析
               </div>
               <div class="dashboard-content-top-left-item-top-time" @click="showDatePicker(showTimeMsg.WaybillTrend)">
                 <el-icon color="#ffffff" size="18">
@@ -184,7 +184,8 @@ import Dialog from "@/components/dialog/index.vue";
 import { usePublic, showTimeMsg } from "./hooks/usePublic";
 import { parseTime, isValue } from "@/utils/validate";
 import * as _ from "lodash";
-const { optionLeft, airCompaneBaggage, airStutas, getPublicData } = usePublic();
+const { optionLeft, airCompaneBaggage, airlineAbnormalBaggage, getPublicData } =
+  usePublic();
 const timePickerName = ref<number>(0);
 const flag = ref<boolean>(false);
 const loading1 = ref<boolean>(false);
@@ -208,6 +209,9 @@ const form = ref({
   startDate: parseTime(Date.now() - 24 * 60 * 60 * 1000 * 7, "{y}-{m}-{d}"),
   endDate: parseTime(Date.now(), "{y}-{m}-{d}"),
 });
+const dateNow = ref({
+  time: parseTime(Date.now(), "{y}-{m}-{d}"),
+});
 const listData = ref<any>([]);
 const disabledStartDate = (time: Date) => {
   const timer: any = form.value.endDate;
@@ -227,6 +231,7 @@ const submitForm = () => {
   flag.value = false;
   switch (timePickerName.value) {
     case showTimeMsg.HourlyPeak:
+      dateNow.value.time = form.value.startDate;
       hourlyPeakFunc();
       break;
     case showTimeMsg.WaybillTrend:
@@ -295,7 +300,7 @@ const pubFunc = (listValues, target, type?) => {
 const hourlyPeakFunc = async () => {
   loading1.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscGjHourlyPeakId, [
-    { flightDate1: form.value.startDate, flightDate2: form.value.endDate },
+    { flightDate1: dateNow.value.time, flightDate2: form.value.endDate },
   ])) as any;
   if (listValues && isValue(listValues)) {
     hourlyPeakObj.value = pubFunc(listValues, optionLeft);
@@ -329,7 +334,7 @@ const nodePeakFunc = async () => {
     listValues.forEach((item) => {
       item.jobTime = item["airport"];
     });
-    nodePeakObj.value = pubFunc(listValues, newObj);
+    nodePeakObj.value = pubFunc(listValues, newObj, true);
   }
   loading3.value = false;
 };
@@ -338,7 +343,10 @@ const nodePeakFunc = async () => {
 const numbersFunc = async () => {
   loading4.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscGjNumbersId, [
-    { fd1: form.value.startDate, fd2: form.value.endDate },
+    {
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
+    },
   ])) as any;
   if (listValues && isValue(listValues)) {
     const { flightNum, stockNum, weight } = listValues[0];
@@ -371,7 +379,7 @@ const airlineTrafficFunc = async () => {
       listValues.forEach((item) => {
         item.jobTime = item["IACACode"];
       });
-    airlineTrafficObj.value = pubFunc(listValues, newObj);
+    airlineTrafficObj.value = pubFunc(listValues, newObj, true);
   }
   loading6.value = false;
 };
@@ -381,8 +389,8 @@ const airlineAbnormalFunc = async () => {
   loading5.value = true;
   const listValues = (await getPublicData(DATACONTENT_ID.jscFlightDynamicsId, [
     {
-      fd1: form.value.startDate,
-      fd2: form.value.endDate,
+      fd1: parseTime(Date.now(), "{y}-{m}-{d}"),
+      fd2: parseTime(Date.now(), "{y}-{m}-{d}"),
       fttp: "国际离港",
     },
   ])) as any;
@@ -402,7 +410,7 @@ const airlineFunc = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     (newObj.dataZoom = [
       {
         id: "dataZoomX",
@@ -432,7 +440,7 @@ const pickingFuncs = async () => {
     },
   ])) as any;
   if (listValues && isValue(listValues)) {
-    const newObj: any = _.cloneDeep(airCompaneBaggage.option.baseOption);
+    const newObj: any = _.cloneDeep(airlineAbnormalBaggage.option.baseOption);
     listValues.forEach((item) => {
       item.jobTime = parseDate(item["flightDate"]);
       item.weight = item["flightNum"];