add 大屏数据页
This commit is contained in:
@@ -33,7 +33,8 @@
|
|||||||
"OperationManagement": "Operation Management",
|
"OperationManagement": "Operation Management",
|
||||||
"PointUpdate": "Point Update",
|
"PointUpdate": "Point Update",
|
||||||
"QueryMaterials": "Query Materials",
|
"QueryMaterials": "Query Materials",
|
||||||
"Outboundsorting": "Outbound sorting"
|
"Outboundsorting": "Outbound sorting",
|
||||||
|
"LargescreenData": "Large - screen Data"
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"loading": "Loading...",
|
"loading": "Loading...",
|
||||||
@@ -81,7 +82,9 @@
|
|||||||
"OutboundPalletCode": "Outbound Pallet Code",
|
"OutboundPalletCode": "Outbound Pallet Code",
|
||||||
"OutboundPalletStorageLocation": "Outbound Pallet Storage Location",
|
"OutboundPalletStorageLocation": "Outbound Pallet Storage Location",
|
||||||
"QtyReturnedWarehouse": "Quantity Returned to Warehouse",
|
"QtyReturnedWarehouse": "Quantity Returned to Warehouse",
|
||||||
"OutboundQty": "Outbound Quantity"
|
"OutboundQty": "Outbound Quantity",
|
||||||
|
"NumJobsExecution": "Number of Jobs in Execution",
|
||||||
|
"NumJobsToday": "Number of Jobs Today"
|
||||||
},
|
},
|
||||||
"th": {
|
"th": {
|
||||||
"MaterialBoxNumber": "Material Box Number",
|
"MaterialBoxNumber": "Material Box Number",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
"OperationManagement": "Quản lý hoạt động",
|
"OperationManagement": "Quản lý hoạt động",
|
||||||
"PointUpdate": "Cập nhật điểm",
|
"PointUpdate": "Cập nhật điểm",
|
||||||
"QueryMaterials": "Tra cứu vật liệu",
|
"QueryMaterials": "Tra cứu vật liệu",
|
||||||
"Outboundsorting": "Phân loại xuất kho"
|
"Outboundsorting": "Phân loại xuất kho",
|
||||||
|
"LargescreenData": "Dữ liệu màn hình lớn"
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"loading": "Đang tải...",
|
"loading": "Đang tải...",
|
||||||
@@ -81,7 +82,9 @@
|
|||||||
"OutboundPalletCode": "Mã thùng đựng xuất kho",
|
"OutboundPalletCode": "Mã thùng đựng xuất kho",
|
||||||
"OutboundPalletStorageLocation": "Vị trí lưu trữ thùng đựng xuất kho",
|
"OutboundPalletStorageLocation": "Vị trí lưu trữ thùng đựng xuất kho",
|
||||||
"QtyReturnedWarehouse": "Số lượng trả về kho",
|
"QtyReturnedWarehouse": "Số lượng trả về kho",
|
||||||
"OutboundQty": "Số lượng xuất kho"
|
"OutboundQty": "Số lượng xuất kho",
|
||||||
|
"NumJobsExecution": "Số lượng công việc đang thực thi",
|
||||||
|
"NumJobsToday": "Số lượng công việc hôm nay"
|
||||||
},
|
},
|
||||||
"th": {
|
"th": {
|
||||||
"MaterialBoxNumber": "Số hộp vật liệu",
|
"MaterialBoxNumber": "Số hộp vật liệu",
|
||||||
|
|||||||
@@ -33,7 +33,8 @@
|
|||||||
"OperationManagement": "作业管理",
|
"OperationManagement": "作业管理",
|
||||||
"PointUpdate": "点位更新",
|
"PointUpdate": "点位更新",
|
||||||
"QueryMaterials": "查询物料",
|
"QueryMaterials": "查询物料",
|
||||||
"Outboundsorting": "出库分拣"
|
"Outboundsorting": "出库分拣",
|
||||||
|
"LargescreenData": "大屏数据"
|
||||||
},
|
},
|
||||||
"utils": {
|
"utils": {
|
||||||
"loading": "加载中...",
|
"loading": "加载中...",
|
||||||
@@ -81,7 +82,9 @@
|
|||||||
"OutboundPalletCode": "出库托盘码",
|
"OutboundPalletCode": "出库托盘码",
|
||||||
"OutboundPalletStorageLocation": "出库托盘库位",
|
"OutboundPalletStorageLocation": "出库托盘库位",
|
||||||
"QtyReturnedWarehouse": "回库数量",
|
"QtyReturnedWarehouse": "回库数量",
|
||||||
"OutboundQty": "出库数量"
|
"OutboundQty": "出库数量",
|
||||||
|
"NumJobsExecution": "执行中作业数",
|
||||||
|
"NumJobsToday": "今日作业数"
|
||||||
},
|
},
|
||||||
"th": {
|
"th": {
|
||||||
"MaterialBoxNumber": "料框号",
|
"MaterialBoxNumber": "料框号",
|
||||||
|
|||||||
@@ -102,6 +102,13 @@
|
|||||||
{
|
{
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/manage/dpsj",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationStyle": "custom"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"globalStyle": {
|
"globalStyle": {
|
||||||
|
|||||||
@@ -39,7 +39,8 @@
|
|||||||
{title: this.$t('home.ManualWarehouseTransfer'), icon: 'RF05', path: '/pages/manage/sgyk'},
|
{title: this.$t('home.ManualWarehouseTransfer'), icon: 'RF05', path: '/pages/manage/sgyk'},
|
||||||
{title: this.$t('home.OperationManagement'), icon: 'RF06', path: '/pages/manage/zygl'},
|
{title: this.$t('home.OperationManagement'), icon: 'RF06', path: '/pages/manage/zygl'},
|
||||||
{title: this.$t('home.PointUpdate'), icon: 'RF07', path: '/pages/manage/dwgx'},
|
{title: this.$t('home.PointUpdate'), icon: 'RF07', path: '/pages/manage/dwgx'},
|
||||||
{title: this.$t('home.Outboundsorting'), icon: 'RF08', path: '/pages/manage/ckfj'}
|
{title: this.$t('home.Outboundsorting'), icon: 'RF08', path: '/pages/manage/ckfj'},
|
||||||
|
{title: this.$t('home.LargescreenData'), icon: 'RF09', path: '/pages/manage/dpsj'}
|
||||||
],
|
],
|
||||||
show: false,
|
show: false,
|
||||||
secM: []
|
secM: []
|
||||||
|
|||||||
204
pages/manage/dpsj.vue
Normal file
204
pages/manage/dpsj.vue
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
<template>
|
||||||
|
<view class="zd_container">
|
||||||
|
<!-- 出库分拣 -->
|
||||||
|
<nav-bar :title="title"></nav-bar>
|
||||||
|
<view class="zd_content">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="zd-col-12 stats_wrap">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="stats_tip_nums">
|
||||||
|
<view class="stats_tip">{{$t('label.NumJobsExecution')}}</view>
|
||||||
|
<view class="stats_num">{{currentData.executingTasks}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="stats_icon"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="zd-col-12 stats_wrap">
|
||||||
|
<view class="zd-row">
|
||||||
|
<view class="stats_tip_nums">
|
||||||
|
<view class="stats_tip">{{$t('label.NumJobsToday')}}</view>
|
||||||
|
<view class="stats_num">{{currentData.todayTasks}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="stats_icon"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="astats_wrap" v-for="(e, i) in currentList" :key="i">
|
||||||
|
<view class="zd-row mgb10">
|
||||||
|
<view class="hr_1">
|
||||||
|
<text class="text-1">{{e.device_name}}</text>
|
||||||
|
<text class="text-3" :style="{ backgroundColor: getStatusColor(e.status) }">{{e.status_name}}</text>
|
||||||
|
</view>
|
||||||
|
<!-- <uni-icons type="forward" size="26" color="#4e6ef2"></uni-icons> -->
|
||||||
|
</view>
|
||||||
|
<view class="text-2 mgb10">
|
||||||
|
<text>{{e.start_point}}</text>
|
||||||
|
<uni-icons type="arrow-right" size="26" color="#ff6a00"></uni-icons>
|
||||||
|
<text>{{e.end_point}}</text>
|
||||||
|
</view>
|
||||||
|
<view v-show="e.fault" class="text-4 mgb10"><uni-icons type="info-filled" size="26" color="#ff6a00"></uni-icons>{{e.fault}}</view>
|
||||||
|
<view class="zd-row hr_2">
|
||||||
|
<view class="text-5">{{e.vehicle_code}}</view>
|
||||||
|
<view class="elec-icon" :class="{'elec-icon_red': e.status === '7'}">
|
||||||
|
<view class="elec-num" :style="{'width': e.electricity + '%'}"></view>
|
||||||
|
</view>
|
||||||
|
<view class="text-6" :class="{'text-6_red': e.status === '7'}">{{e.electricity}}%</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import NavBar from '@/components/NavBar.vue'
|
||||||
|
import {bigscreenGetData} from '@/utils/getData.js'
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
NavBar
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: '',
|
||||||
|
currentData: {},
|
||||||
|
currentList: [],
|
||||||
|
refreshTimer: null
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad (options) {
|
||||||
|
this.title = options.title
|
||||||
|
this._bigscreenGetData()
|
||||||
|
this.refreshTimer = setInterval(() => {
|
||||||
|
this._bigscreenGetData()
|
||||||
|
}, 30000)
|
||||||
|
},
|
||||||
|
onUnload() {
|
||||||
|
if (this.refreshTimer) {
|
||||||
|
clearInterval(this.refreshTimer)
|
||||||
|
this.refreshTimer = null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
getStatusColor(status) {
|
||||||
|
const colorMap = {
|
||||||
|
0: '#4e6ef2', // 正常
|
||||||
|
1: '#888888', // 关机
|
||||||
|
2: '#00c853', // 工作中
|
||||||
|
3: '#ffab00', // 交通管制
|
||||||
|
4: '#2196f3', // 任务等待
|
||||||
|
5: '#ff9800', // 充电中
|
||||||
|
6: '#f44336', // 故障中
|
||||||
|
7: '#ff5722' // 电量低
|
||||||
|
};
|
||||||
|
return colorMap[status] || '#4e6ef2';
|
||||||
|
},
|
||||||
|
async _bigscreenGetData () {
|
||||||
|
try {
|
||||||
|
let res = await bigscreenGetData()
|
||||||
|
if (res && res.data) {
|
||||||
|
this.currentData = res.data.stats
|
||||||
|
this.currentList = [...res.data.agvStatus]
|
||||||
|
} else {
|
||||||
|
this.currentData = {}
|
||||||
|
this.currentList = []
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
this.currentData = {}
|
||||||
|
this.currentList = []
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="stylus" scoped>
|
||||||
|
@import '../../common/style/mixin.styl';
|
||||||
|
.zd_content
|
||||||
|
padding-bottom 20rpx
|
||||||
|
.stats_wrap
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
padding: 22rpx 0 22rpx 22rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
box-shadow: 0 4rpx 10rpx 2rpx rgba(0,0,0,.1);
|
||||||
|
.stats_icon
|
||||||
|
width 100rpx
|
||||||
|
height 100rpx
|
||||||
|
_bis('../../static/image/menu/RF10.png',auto,100%,center,center)
|
||||||
|
&:last-child
|
||||||
|
margin-left 20rpx
|
||||||
|
.stats_icon
|
||||||
|
_bis('../../static/image/menu/RF11.png',auto,100%,center,center)
|
||||||
|
.stats_tip_nums
|
||||||
|
width calc(100% - 100rpx)
|
||||||
|
.stats_tip
|
||||||
|
_font(34rpx, 40rpx, #333, 700,)
|
||||||
|
white-space nowrap
|
||||||
|
margin-bottom 20rpx
|
||||||
|
.stats_num
|
||||||
|
_font(40rpx, 40rpx, #4e6ef2, 700,)
|
||||||
|
white-space nowrap
|
||||||
|
.astats_wrap
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
padding: 22rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
box-shadow: 0 4rpx 10rpx 2rpx rgba(0,0,0,.1);
|
||||||
|
.hr_1
|
||||||
|
display flex
|
||||||
|
align-items center
|
||||||
|
// width calc(100% - 30px)
|
||||||
|
.text-1
|
||||||
|
_font(40rpx, 1, #333, 700,)
|
||||||
|
padding-right 20rpx
|
||||||
|
.text-2
|
||||||
|
display flex
|
||||||
|
align-items center
|
||||||
|
_font(34rpx,1, #666,,)
|
||||||
|
.text-3
|
||||||
|
_font(34rpx,1, #fff,,)
|
||||||
|
padding 6rpx 10rpx
|
||||||
|
border-radius 10rpx
|
||||||
|
background-color #4e6ef2
|
||||||
|
.text-4
|
||||||
|
display flex
|
||||||
|
align-items center
|
||||||
|
_font(34rpx,1, #ff6a00,,)
|
||||||
|
.hr_2
|
||||||
|
align-items center
|
||||||
|
.text-5
|
||||||
|
min-width calc(100% - 160rpx)
|
||||||
|
_font(34rpx,1, #666,,)
|
||||||
|
.text-6
|
||||||
|
max-width 80rpx
|
||||||
|
_font(30rpx,1, #666,,right)
|
||||||
|
white-space nowrap
|
||||||
|
.elec-icon
|
||||||
|
position relative
|
||||||
|
width 70rpx
|
||||||
|
height 36rpx
|
||||||
|
border 2rpx solid #666
|
||||||
|
border-radius 10rpx
|
||||||
|
padding 6rpx
|
||||||
|
&:after
|
||||||
|
content ''
|
||||||
|
position absolute
|
||||||
|
right -10rpx
|
||||||
|
top 50%
|
||||||
|
transform translateY(-50%)
|
||||||
|
width 10rpx
|
||||||
|
height 14rpx
|
||||||
|
background-color #666
|
||||||
|
.elec-num
|
||||||
|
height 100%
|
||||||
|
background-color #666
|
||||||
|
.elec-icon_red
|
||||||
|
&.elec-icon
|
||||||
|
border-color #ff5722
|
||||||
|
&:after
|
||||||
|
background-color #ff5722
|
||||||
|
.elec-num
|
||||||
|
background-color #ff5722
|
||||||
|
.text-6_red
|
||||||
|
&.text-6
|
||||||
|
color #ff5722
|
||||||
|
</style>
|
||||||
BIN
static/image/menu/RF09.png
Normal file
BIN
static/image/menu/RF09.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 808 B |
BIN
static/image/menu/RF10.png
Normal file
BIN
static/image/menu/RF10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
BIN
static/image/menu/RF11.png
Normal file
BIN
static/image/menu/RF11.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.3 KiB |
@@ -144,4 +144,10 @@ export const getOutAndReturnNumByReturnVehicleCode = (code) => request({
|
|||||||
export const outSortingSubmit = (code, vcode, ost) => request({
|
export const outSortingSubmit = (code, vcode, ost) => request({
|
||||||
url:'api/pda/iosOut/outSortingSubmit',
|
url:'api/pda/iosOut/outSortingSubmit',
|
||||||
data: {return_vehicle_code: code, out_vehicle_code: vcode, out_struct_code: ost}
|
data: {return_vehicle_code: code, out_vehicle_code: vcode, out_struct_code: ost}
|
||||||
|
})
|
||||||
|
|
||||||
|
// 大屏数据
|
||||||
|
export const bigscreenGetData = () => request({
|
||||||
|
url:'api/pda/bigscreen/getData',
|
||||||
|
data: {}
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user