Parcourir la source

Merge remote-tracking branch '5g-origin/master' into dev

louhangfei il y a 1 an
Parent
commit
368cd9bc98

+ 2 - 2
.env

@@ -10,10 +10,10 @@ VITE_GLOB_PROD_MOCK = false
 
 
 
-VITE_GLOB_LOGIN_APP = '/skyeye-login/#/'
+VITE_GLOB_LOGIN_APP = '/skyeye-login-zongbu/#/'
 
 VITE_GLOB_SKYEYE_WORLD = /skyeye-world/
 
 VITE_GLOB_APP_PC = /skyeyev3pc/
 
-VITE_GLOB_TENANT_CODE=shangfei
+VITE_GLOB_TENANT_CODE=shangfeizongbu

+ 3 - 2
.env.development

@@ -16,7 +16,8 @@ VITE_DROP_CONSOLE = true
 # VITE_PROXY=[["/skyeye-admin-api","http://36.133.176.76:19980/skyeye-admin-api"],["/eye_api","http://36.133.176.76:19980/eye_api"],["/push_stream_host","http://36.133.176.76:19980/push_stream_host"],["/skyeye-login","http://36.133.176.76:19980/skyeye-login"]]
 #VITE_PROXY=[["/skyeye-admin-api","http://172.16.23.144/skyeye-admin-api"],[],["/eye_api_bak","http://172.16.23.144/eye_api"],["/push_stream_host","http://172.16.23.144/push_stream_host"],["/skyeye-login","http://172.16.23.144/skyeye-login"],["/ws_api_bak","ws://172.16.23.144/ws_api_bak"]]
 # VITE_PROXY=[["/skyeye-admin-api","http://192.168.32.47/skyeye-admin-api"],["/eye_api","http://192.168.32.47/eye_api"],["/push_stream_host","http:/192.168.32.47/push_stream_host"],["/skyeye-login","http://192.168.32.47/skyeye-login"]]
-VITE_PROXY=[["/skyeye-admin-api","http://192.168.14.68/skyeye-admin-api"],[],["/eye_api_bak","http://192.168.14.68/eye_api"],["/push_stream_host","http://192.168.14.68/push_stream_host"],["/skyeye-login","http://192.168.14.68/skyeye-login"],["/ws_api_bak","ws://192.168.14.68/ws_api_bak"]]
+# VITE_PROXY=[["/skyeye-admin-api","http://192.168.14.68/skyeye-admin-api"],[],["/eye_api_bak","http://192.168.14.68/eye_api"],["/push_stream_host","http://192.168.14.68/push_stream_host"],["/skyeye-login","http://192.168.14.68/skyeye-login"],["/ws_api_bak","ws://192.168.14.68/ws_api_bak"]]
+VITE_PROXY=[["/skyeye-admin-api","http://172.16.26.103/skyeye-admin-api"],["/eye_api_bak","http://172.16.26.103/eye_api"],["/push_stream_host","http://192.168.14.68/push_stream_host"],["/skyeye-login-zongbu","http://172.16.26.103/skyeye-login-zongbu"],["/ws_api_bak","ws://172.16.26.103/ws_api_bak"],["/loc","http://localhost:8800/api"]]
 
 # API 接口地址
 VITE_GLOB_API_URL = 
@@ -32,4 +33,4 @@ VITE_GLOB_IMG_URL = //172.16.23.144/skyeye_static/
 
 
 # 接口前缀
-VITE_GLOB_API_URL_PREFIX = /skyeye-admin-api
+VITE_GLOB_API_URL_PREFIX = /loc

+ 12 - 5
src/api/datamanagement/dataplatform.ts

@@ -103,11 +103,18 @@ export interface CameraVisitedTimes {
   count: number;
 }
 
+export interface CameraVisitedTimeItem {
+  workshopId: number;
+  workshopCode: string;
+  workshopName: string;
+  cameraCounts: CameraVisitedTimes[];
+}
+
 /**
  * @description: 获取相机被访问次数数据
  */
 export const getCameraVisitedTimes = (body: ChartQuery) => {
-  return http.request<CameraVisitedTimes[]>({
+  return http.request<CameraVisitedTimeItem[]>({
     url: '/userRecord/statisticByCamera',
     method: 'post',
     data: body,
@@ -129,17 +136,17 @@ export const getUserVisitTimes = (params: ChartQuery) => {
  * @description: 员工日访问车间次数数据
  */
 export interface UserDailyVisitTimes {
-  time: string;
-  count: number;
+  time: string[];
+  data: { counts: number; workshopId: number; workshopName: string }[];
 }
 
 /**
  * @description: 获取员工日访问车间次数数据
  */
 export const getUserDailyVisitTimes = (body: ChartQuery) => {
-  return http.request<UserDailyVisitTimes[]>({
+  return http.request<UserDailyVisitTimes>({
     url: '/userRecord/statisticByWorkshopPerDay',
     method: 'post',
     data: body,
   });
-};
+};

+ 43 - 22
src/utils/platformUtils.ts

@@ -1,35 +1,56 @@
-import { WorkshopVisitedTimes, UserDailyVisitTimes, CameraVisitedTimes } from '@/api/datamanagement/dataplatform';
+import {
+  WorkshopVisitedTimes,
+  UserDailyVisitTimes,
+  CameraVisitedTimeItem,
+} from '@/api/datamanagement/dataplatform';
 
 /**
  * @description 日期格式化
- * @param date 
+ * @param date
  * @returns yyyy-MM-dd-hh-mm-ss-SSS
  */
 export function formatDate(date: Date) {
-    const year = date.getFullYear();
-    const month = ("0" + (date.getMonth() + 1)).slice(-2); 
-    const day = ("0" + date.getDate()).slice(-2);
-    const hours = ("0" + date.getHours()).slice(-2);
-    const minutes = ("0" + date.getMinutes()).slice(-2);
-    const seconds = ("0" + date.getSeconds()).slice(-2);
-    const milliseconds = ("00" + date.getMilliseconds()).slice(-3);
-    return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;
+  const year = date.getFullYear();
+  const month = ('0' + (date.getMonth() + 1)).slice(-2);
+  const day = ('0' + date.getDate()).slice(-2);
+  const hours = ('0' + date.getHours()).slice(-2);
+  const minutes = ('0' + date.getMinutes()).slice(-2);
+  const seconds = ('0' + date.getSeconds()).slice(-2);
+  const milliseconds = ('00' + date.getMilliseconds()).slice(-3);
+  return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}.${milliseconds}`;
 }
 
 export function formatWorkshopChart(data: WorkshopVisitedTimes[]) {
-    const label = data.map((i)=>i.workshopName);
-    const val = data.map((i)=>i.count);
-    return {label,val}
+  const label = data.map((i) => i.workshopName);
+  const val = data.map((i) => i.count);
+  return { label, val };
 }
 
-export function formatTimeChart(data: UserDailyVisitTimes[]) {
-    const label = data.map((i)=>i.time.match(/^.*?(\s|$)/)![0]);
-    const val = data.map((i)=>i.count);
-    return {label,val}
+export function formatTimeChart(data: UserDailyVisitTimes) {
+  //   const label = data.map((i) => i.time.match(/^.*?(\s|$)/)![0]);
+  //   const val = data.map((i) => i.count);
+
+  const label = data.time;
+  const val = data.data;
+  return { label, val };
 }
 
-export function formatCameraChart(data: CameraVisitedTimes[]) {
-    const label = data.map((i)=>i.cameraName);
-    const val = data.map((i)=>i.count);
-    return {label,val}
-}
+export function formatCameraChart(data: CameraVisitedTimeItem[]) {
+  // const label = data.map((i) => i.cameraName);
+  // const val = data.map((i) => i.count);
+
+  const label = [] as string[];
+  const val = [] as number[];
+
+  for (let i = 0; i < data.length; i++) {
+    const workshopInfo = data[i];
+    const workshopName = workshopInfo.workshopName;
+    const cameras = workshopInfo.cameraCounts;
+    for (let j = 0; j < cameras.length; j++) {
+      const cameraInfo = cameras[j];
+      label.push(`${cameraInfo.cameraName}(${workshopName})`);
+      val.push(cameraInfo.count);
+    }
+  }
+  return { label, val };
+}

+ 59 - 23
src/views/datamanager/platformdata/charts/LineChart.vue

@@ -9,19 +9,27 @@
     GridComponentOption,
     DataZoomComponent,
     DataZoomComponentOption,
+    TooltipComponent,
   } from 'echarts/components';
   import { LineChart, LineSeriesOption } from 'echarts/charts';
   import { UniversalTransition } from 'echarts/features';
   import { CanvasRenderer } from 'echarts/renderers';
   import { onMounted, watch } from 'vue';
 
-  echarts.use([GridComponent, LineChart, CanvasRenderer, UniversalTransition, DataZoomComponent]);
+  echarts.use([
+    GridComponent,
+    LineChart,
+    CanvasRenderer,
+    UniversalTransition,
+    DataZoomComponent,
+    TooltipComponent,
+  ]);
   type EChartsOption = echarts.ComposeOption<
     GridComponentOption | LineSeriesOption | DataZoomComponentOption
   >;
   const props = withDefaults(
     defineProps<{
-      chartData: number[];
+      chartData: any[];
       chartLable: string[];
       height?: string;
     }>(),
@@ -29,21 +37,28 @@
       height: '372px',
     },
   );
+
+  let lineOption: EChartsOption = {} as EChartsOption;
+
   onMounted(() => {
     const line: echarts.ECharts = echarts.init(document.getElementById('line-chart')!);
 
     initLineChart(line);
-
-    watch(
-      () => props.chartData,
-      () => {
-        drawLineChart(line);
-      },
-    );
   });
 
+  watch(
+    () => props.chartData,
+    () => {
+      const line: echarts.ECharts = echarts.init(document.getElementById('line-chart')!);
+      drawLineChart(line);
+    },
+    {
+      deep: true,
+    },
+  );
+
   const initLineChart = (line: echarts.ECharts) => {
-    const lineOption: EChartsOption = {
+    lineOption = {
       tooltip: {
         trigger: 'axis',
         axisPointer: {
@@ -78,15 +93,23 @@
           type: 'value',
         },
       ],
-      series: [
-        {
-          name: '日期',
+      series: props.chartData.map((item) => {
+        return {
+          name: item.workshopName,
           type: 'line',
           showSymbol: false,
-          data: props.chartData,
-        },
-        // TODO 根据返回数据维度添加
-      ],
+          data: item.counts,
+        };
+      }),
+      // [
+      //   {
+      //     name: '日期',
+      //     type: 'line',
+      //     showSymbol: false,
+      //     data: props.chartData,
+      //   },
+      //   // TODO 根据返回数据维度添加
+      // ],
       // res.map(item => {
       //   return {
       //     name: item.name,
@@ -95,17 +118,30 @@
       //   };
       // }),
     };
+    console.log(lineOption);
+
     line.setOption(lineOption);
   };
 
   const drawLineChart = (line: echarts.ECharts) => {
-    const lineOption: EChartsOption = {
-      series: [
-        {
-          data: props.chartData,
+    line.clear();
+    lineOption.xAxis = [
+      {
+        type: 'category',
+        data: props.chartLable,
+        axisLabel: {
+          rotate: 45,
         },
-      ],
-    };
+      },
+    ];
+    lineOption.series = props.chartData.map((item) => {
+      return {
+        name: item.workshopName,
+        type: 'line',
+        showSymbol: false,
+        data: item.counts,
+      };
+    });
     line.setOption(lineOption);
   };
 </script>

+ 1 - 1
src/views/datamanager/platformdata/components/common/DialogNavBar.vue

@@ -73,7 +73,7 @@
       serchParams.value.startTime = formatDate(dateRange.value[0]);
       serchParams.value.endTime = formatDate(dateRange.value[1]);
     }
-    serchParams.value.workshopList = props.workshopList?.map((item) => item.id);
+    serchParams.value.workshopList = selectedWorkshop.value;
     // if (props.workshopList !== undefined) {
     //   if (!selectedWorkshop.value || !selectedWorkshop.value.length) {
     //     ElMessage.error('请至少选择一个车间');

+ 1 - 1
src/views/datamanager/platformdata/components/common/PlatformTable.vue

@@ -225,7 +225,7 @@
   };
   const chartData = ref<{
     label: string[];
-    val: number[];
+    val: any[];
   }>({
     label: [],
     val: [],