diff --git a/.env.dev b/.env.dev index 1e5dfdbb..567d9745 100644 --- a/.env.dev +++ b/.env.dev @@ -14,7 +14,7 @@ VUE_APP_TITLE = 上上电缆 # 芋道管理系统/开发环境 # VUE_APP_BASE_API = 'http://192.168.0.31:48080' -VUE_APP_BASE_API = 'http://172.16.32.236:48080' +VUE_APP_BASE_API = 'http://172.16.15.221:48080' # VUE_APP_BASE_API = 'http://line.kszny.picaiba.com' # 路由懒加载 diff --git a/dist.zip b/dist.zip new file mode 100644 index 00000000..82c6d21e Binary files /dev/null and b/dist.zip differ diff --git a/src/api/ssdl/taskList.js b/src/api/ssdl/taskList.js index b1092fca..4c44962e 100644 --- a/src/api/ssdl/taskList.js +++ b/src/api/ssdl/taskList.js @@ -58,3 +58,11 @@ export function createPCTask(data) { data: data }) } + +export function cancelUpdateTask(query) { + return request({ + url: '/wms/job-main-task/update/task', + method: 'post', + params: query , + }); +} diff --git a/src/api/visualization/visualization.js b/src/api/visualization/visualization.js index 5e60a9f4..f63b1b5f 100644 --- a/src/api/visualization/visualization.js +++ b/src/api/visualization/visualization.js @@ -7,3 +7,35 @@ export function getLineEdgeLibraryList(data) { params: data, }); } + +export function getAgvAlarmInfo(data) { + return request({ + url: '/wms/large-screen/real-time/display', + method: 'post', + data: data, + }); +} + +export function getTaskTypeToday(data) { + return request({ + url: '/wms/job-main-task/task/type/proportion/today', + method: 'get', + data, + }); +} + +export function getTaskStatusToday(data) { + return request({ + url: '/wms/job-main-task/task/state/distribution/today', + method: 'get', + data, + }); +} + +export function getAgvExample(data) { + return request({ + url: 'wms/large-screen/example', + method: 'post', + data, + }); +} diff --git a/src/assets/icons/svg/greenLight.svg b/src/assets/icons/svg/greenLight.svg new file mode 100644 index 00000000..6d80bdc6 --- /dev/null +++ b/src/assets/icons/svg/greenLight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/icons/svg/redLight.svg b/src/assets/icons/svg/redLight.svg new file mode 100644 index 00000000..e6f0fe0c --- /dev/null +++ b/src/assets/icons/svg/redLight.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/assets/img/threeDimensionalChartBg.png b/src/assets/img/threeDimensionalChartBg.png index 1db16755..bd0f3ef8 100644 Binary files a/src/assets/img/threeDimensionalChartBg.png and b/src/assets/img/threeDimensionalChartBg.png differ diff --git a/src/views/areavisual/overview/components/ringChart.vue b/src/views/areavisual/overview/components/ringChart.vue index fefeddae..10eb8718 100644 --- a/src/views/areavisual/overview/components/ringChart.vue +++ b/src/views/areavisual/overview/components/ringChart.vue @@ -1,125 +1,138 @@ - - - + + + diff --git a/src/views/areavisual/overview/index.vue b/src/views/areavisual/overview/index.vue index cc35c458..a85814af 100644 --- a/src/views/areavisual/overview/index.vue +++ b/src/views/areavisual/overview/index.vue @@ -1,687 +1,715 @@ diff --git a/src/views/productionVisualization/equipmentBoard/components/agvStatus.vue b/src/views/productionVisualization/equipmentBoard/components/agvStatus.vue index 8b7d23d6..16e5cf7b 100644 --- a/src/views/productionVisualization/equipmentBoard/components/agvStatus.vue +++ b/src/views/productionVisualization/equipmentBoard/components/agvStatus.vue @@ -2,36 +2,32 @@
AGV状态
-
-
- AGV小车 -
-
-
{{ index + 1 }}
-
{{ agv.code }}
-
-
- - - -
- {{ agv.status }} + +
+
+
+ AGV小车 +
+
+
{{ index + 1 }}
+
{{ agv.deviceName }}
- -
-
+
+ + + +
+ {{ agv.alarmTrigger === true ? '报警' : '正常' }} +
+
+ +
+
+
-
-
-
{{ agv.completed }}
-
今日完成
@@ -44,58 +40,25 @@ export default { name: 'AGVStatus', components: {}, props: { - energyObj: { - type: Object, - default: () => ({ - electricComu: 0, - steamComu: 0 - }) - } - }, - data() { - return { - agvList: [ - { - id: 1, - code: '设备编号1212121', - status: '运行中', - statusImg: 'runCircle.png', - completed: 47, - progress: 80 // 进度80% → 显示4个栅格 - }, - { - id: 2, - code: '设备编号3434343', - status: '待命', - statusImg: 'standbyCircle.png', - completed: 23, - progress: 40 // 进度40% → 显示2个栅格 - }, - { - id: 3, - code: '设备编号5656565', - status: '充电中', - statusImg: 'chargeCircle.png', - completed: 15, - progress: 100 // 进度100% → 显示5个栅格 - }, - { - id: 4, - code: '设备编号7878787', - status: '充电中', - statusImg: 'chargeCircle.png', - completed: 31, - progress: 60 // 进度60% → 显示3个栅格 - } - ] + agvList: { + type: Array, + default: () => [] } }, methods: { + getStatusImage(alarmTrigger) { + // alarmTrigger: true → 报警(chargeCircle),false → 正常(runCircle) + if (alarmTrigger) { + return require('@/assets/img/chargeCircle.png') + } else { + return require('@/assets/img/runCircle.png') + } + }, // 获取状态文字颜色 getStatusColor(status) { const baseStyle = { - color: '', // 默认颜色 - letterSpacing: '0px' // 默认字间距 + color: '', + letterSpacing: '0px' }; switch (status) { @@ -104,37 +67,16 @@ export default { break; case '待命': baseStyle.color = 'rgba(245, 154, 36, 1)'; - baseStyle.letterSpacing = '8px'; // 待命状态单独加字间距(可调整数值) + baseStyle.letterSpacing = '8px'; break; case '充电中': baseStyle.color = 'rgba(0, 225, 37, 1)'; break; default: - baseStyle.color = ''; + baseStyle.color = '#666'; } return baseStyle; - }, - // 根据状态获取背景图 - getBgImage(status) { - return status === '充电中' ? 'chargeBg.png' : 'run.png'; - }, - // 根据状态获取栅格颜色 - getGridColor(status) { - return status === '充电中' - ? 'rgba(0, 225, 37, 1)' - : 'rgba(120, 138, 221, 1)'; - }, - getGridCount(progress) { - // 总栅格位置为5个,进度0%→0个,100%→5个,按比例取整 - const totalGrids = 5; - return Math.ceil((progress / 100) * totalGrids); - }, - - // 生成栅格数组(用于v-for遍历) - generateGridArray(count) { - // 生成 [1,2,...,count] 的数组,长度为count - return Array.from({ length: count }, (_, i) => i + 1); } } } @@ -147,6 +89,8 @@ export default { background: #FFFFFF; border-radius: 8px; padding: 16px 18px 26px; + display: flex; + flex-direction: column; .title { font-family: PingFangSC, PingFang SC; @@ -159,6 +103,7 @@ export default { font-style: normal; position: relative; padding-left: 12px; + flex-shrink: 0; &::before { content: ''; @@ -172,45 +117,65 @@ export default { } } - .agvDetailData { + // 滚动容器包装器 + .agvDetailDataWrapper { + flex: 1; + overflow-y: auto; margin-top: 15px; + + // 隐藏滚动条 + &::-webkit-scrollbar { + width: 0; + height: 0; + background: transparent; + } + + scrollbar-width: none; + -ms-overflow-style: none; + } + + .agvDetailData { display: flex; flex-direction: column; - gap: 12px; + gap: 8px; // 减小间距 .item { + transform: scale(0.8); // 缩小到80% width: 332px; height: 101px; padding: 22px 0 0 10px; display: flex; background: url('../../../../assets/img/agvItemBg.png') no-repeat; background-size: cover; + flex-shrink: 0; + margin: -10px 0; // 负边距抵消缩放带来的空白 + // 调整内部元素大小 .car { - width: 66px; - height: 57px; + width: 53px; // 从66px缩小 + height: 46px; // 从57px缩小 } .eqInfo { margin-left: 6px; display: flex; flex-direction: column; - gap: 8px; + gap: 6px; // 减小间距 .eqCode { display: flex; align-items: center; .num { - width: 21px; - height: 24px; + width: 17px; // 从21px缩小 + height: 19px; // 从24px缩小 background: #0065FF; backdrop-filter: blur(1.5px); font-family: PingFangSC, PingFang SC; font-weight: 400; - font-size: 16px; + font-size: 13px; // 从16px缩小 color: #FFFFFF; - line-height: 18px; + line-height: 19px; text-align: center; } @@ -218,7 +183,7 @@ export default { margin-left: 4px; font-family: PingFangSC, PingFang SC; font-weight: 400; - font-size: 16px; + font-size: 13px; // 从16px缩小 color: #020203; line-height: 18px; } @@ -228,69 +193,14 @@ export default { display: flex; align-items: center; - // 状态文字固定宽度(确保三种状态宽度一致) .runningState { font-family: PingFangSC, PingFang SC; font-weight: 400; - font-size: 16px; + font-size: 13px; // 从16px缩小 line-height: 20px; - width: 48px; // 固定宽度,适配三种状态文字 - text-align: left; // 左对齐,避免空格填充 + width: 48px; + text-align: left; } - - // 栅格容器样式 - .charge { - width: 73px; - height: 27px; - margin-left: 5px; - background-size: 100% 100% !important; - background-repeat: no-repeat !important; - display: flex; - justify-content: flex-start; - gap: 1px; - padding: 5px 0px 4px 3px; - - // 运行中/待命状态的背景图 - &.charge--run { - background-image: url('../../../../assets/img/runBg.png'); - } - - // 充电中状态的背景图 - &.charge--charge { - background-image: url('../../../../assets/img/chargeBg.png'); - } - - .grid-item { - width: 12px; - height: 18px; - border-radius: 2px; - } - } - } - } - - .qty { - display: flex; - flex-direction: column; - margin-left: 24px; - gap: 12px; - - .num { - font-family: PingFangSC, PingFang SC; - font-weight: 400; - font-size: 31px; - color: #000000; - line-height: 18px; - text-align: center; - } - - .qtyTitle { - font-family: PingFangSC, PingFang SC; - font-weight: 400; - font-size: 14px; - color: rgba(2, 2, 3, 0.6); - line-height: 18px; - text-align: center; } } } diff --git a/src/views/productionVisualization/equipmentBoard/components/alarm.vue b/src/views/productionVisualization/equipmentBoard/components/alarm.vue index 4e8dbfd5..9ee3dc31 100644 --- a/src/views/productionVisualization/equipmentBoard/components/alarm.vue +++ b/src/views/productionVisualization/equipmentBoard/components/alarm.vue @@ -2,14 +2,14 @@
异常报警
-
+
diff --git a/src/views/productionVisualization/equipmentBoard/components/alarmInfo.vue b/src/views/productionVisualization/equipmentBoard/components/alarmInfo.vue new file mode 100644 index 00000000..d51d4406 --- /dev/null +++ b/src/views/productionVisualization/equipmentBoard/components/alarmInfo.vue @@ -0,0 +1,928 @@ + + + + + diff --git a/src/views/productionVisualization/equipmentBoard/components/alarmTop.vue b/src/views/productionVisualization/equipmentBoard/components/alarmTop.vue index dfd4d050..2ae71c9c 100644 --- a/src/views/productionVisualization/equipmentBoard/components/alarmTop.vue +++ b/src/views/productionVisualization/equipmentBoard/components/alarmTop.vue @@ -1,7 +1,7 @@ @@ -111,7 +111,7 @@ export default { diff --git a/src/views/productionVisualization/equipmentBoard/components/realTask.vue b/src/views/productionVisualization/equipmentBoard/components/realTask.vue index d7d9bb1f..5a354dc6 100644 --- a/src/views/productionVisualization/equipmentBoard/components/realTask.vue +++ b/src/views/productionVisualization/equipmentBoard/components/realTask.vue @@ -1,9 +1,9 @@ diff --git a/src/views/productionVisualization/equipmentBoard/components/taskStatus.vue b/src/views/productionVisualization/equipmentBoard/components/taskStatus.vue index c6b8aa0f..e3c16096 100644 --- a/src/views/productionVisualization/equipmentBoard/components/taskStatus.vue +++ b/src/views/productionVisualization/equipmentBoard/components/taskStatus.vue @@ -2,7 +2,7 @@
任务状态占比 ·今日
- +
@@ -13,12 +13,9 @@ export default { name: 'AGVStatus', components: { pieChart }, props: { - energyObj: { - type: Object, - default: () => ({ - electricComu: 0, - steamComu: 0 - }) + data: { + type: Array, + default: () => ([]) } }, data() { diff --git a/src/views/productionVisualization/equipmentBoard/components/taskType.vue b/src/views/productionVisualization/equipmentBoard/components/taskType.vue index 8a3850b7..7fd9ae48 100644 --- a/src/views/productionVisualization/equipmentBoard/components/taskType.vue +++ b/src/views/productionVisualization/equipmentBoard/components/taskType.vue @@ -2,7 +2,7 @@
任务类型占比 ·今日
- +
@@ -13,12 +13,9 @@ export default { name: 'AGVStatus', components: { pieChart }, props: { - energyObj: { - type: Object, - default: () => ({ - electricComu: 0, - steamComu: 0 - }) + data: { + type: Array, + default: () => ([]) } }, data() { diff --git a/src/views/productionVisualization/equipmentBoard/components/threeDimensionalChart.vue b/src/views/productionVisualization/equipmentBoard/components/threeDimensionalChart.vue index 34beab98..cd0a4c49 100644 --- a/src/views/productionVisualization/equipmentBoard/components/threeDimensionalChart.vue +++ b/src/views/productionVisualization/equipmentBoard/components/threeDimensionalChart.vue @@ -1178,7 +1178,7 @@ padding: 1.5px;">
+padding: 1..5px;">
-
-
+
-
+
@@ -1710,12 +1709,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1726,12 +1725,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1742,12 +1741,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1758,12 +1757,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1774,12 +1773,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1790,12 +1789,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1806,12 +1805,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1824,12 +1823,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1840,12 +1839,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1856,12 +1855,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1872,12 +1871,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1888,12 +1887,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1904,12 +1903,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1920,12 +1919,12 @@ padding: 1.5px;">
-
+
-
+
@@ -1936,12 +1935,12 @@ padding: 1.5px;">
-
+
-
+
@@ -2035,8 +2034,6 @@ export default { } } -"lineEdgeLibraryState": 1, -"usableState": 3,