代码提交

This commit is contained in:
‘tuzi0421
2024-02-19 16:53:38 +08:00
parent a93b95e814
commit d022e33da9
34 changed files with 1833 additions and 285 deletions

View File

@ -3,11 +3,162 @@
<view class="container home">
<view class="home_head">
<view class="iconfont icon-chaojiguanliyuan accounticon"></view>
<view class="name">Ykxiao 超级管理员</view>
<view class="name" @click="toLogin()">未登录</view>
<!-- <view class="name">Ykxiao 超级管理员</view> -->
<view class="iconfont icon-xiaoxitongzhi notifyicon" @click="toMessage()"></view>
<view class="iconfont icon-shezhi setupicon"></view>
</view>
<view class="home_content">
<view class="content_box">
<view class="content_title">设备信息</view>
<view class="device_data">
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-WIFI_on contenticon"></view>
</view>
<view class="font13">
在线设备
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-WIFI_off contenticon"></view>
</view>
<view class="font13">
离线设备
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-setting contenticon"></view>
</view>
<view class="font13">
维修保养
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-broken contenticon"></view>
</view>
<view class="font13">
故障频次
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-brokenrate contenticon"></view>
</view>
<view class="font13">
设备故障率
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
<view class="device_module">
<view class="module_left">
<view class="icon_background">
<view class="iconfont icon-weixiubaoyangpinshuai contenticon"></view>
</view>
<view class="font13">
维修保养频率
</view>
</view>
<view class="module_right">
<view class="top">
2.89%
</view>
<view class="font22">
1,567
</view>
</view>
</view>
</view>
</view>
<view class="content_box">
<view class="content_title">能耗信息</view>
<view class="energy_data">
<view class="iconfont icon-dianliang energy_icon"></view>
<view class="energy_name">
<view class="font13">
用电量
</view>
<view class="font14">
345.00
</view>
</view>
<view class="energy_image">
<image src="http://dm-auto.oss-cn-shanghai.aliyuncs.com/mes_wechat/yongdian.png" alt="" />
</view>
<view class="energy_number font20">
41.443
</view>
</view>
<view class="energy_data mar_top12">
<view class="iconfont icon-yasuokongqi energy_icon"></view>
<view class="energy_name">
<view class="font13">
用气量
</view>
<view class="font14">
345.00
</view>
</view>
<view class="energy_image">
<image src="http://dm-auto.oss-cn-shanghai.aliyuncs.com/mes_wechat/yongqi.png" alt="" />
</view>
<view class="energy_number font20">
41.443
</view>
</view>
</view>
<view class="content_box">
<view class="content_title">工单管理</view>
<view class="content_data">
@ -15,11 +166,11 @@
<view class="t-icon t-icon-shengchangongdan contenticon"></view>
<view class="contentname">生产工单</view>
</view>
<view class="content_module">
<view class="content_module" @click="toSchedule()">
<view class="t-icon t-icon-gongdanjindu contenticon"></view>
<view class="contentname">工单进度</view>
</view>
<view class="content_module">
<view class="content_module" @click="toMaterialYield()">
<view class="t-icon t-icon-gongdanchucaishuai contenticon"></view>
<view class="contentname">工单出材率</view>
</view>
@ -28,6 +179,7 @@
<view class="contentname">生产报表</view>
</view>
</view>
</view>
<view class="content_box">
<view class="content_title">生产排程</view>
@ -45,17 +197,17 @@
<view class="content_box">
<view class="content_title">设备管理</view>
<view class="content_data">
<view class="content_module">
<view class="content_module" @click="toEquipmentManage()">
<view class="t-icon t-icon-shebeiguanli contenticon"></view>
<view class="contentname">设备设置</view>
</view>
<view class="content_module">
<view class="content_module" @click="toDeviceStatus()">
<view class="t-icon t-icon-shebeizhuangtai contenticon"></view>
<view class="contentname">设备状态</view>
</view>
<view class="content_module">
<view class="t-icon t-icon-shebeibaoxiu contenticon"></view>
<view class="contentname">设备</view>
<view class="t-icon t-icon-shebeibaoxiu contenticon" @click="toDeviceRepair()"></view>
<view class="contentname">设备</view>
</view>
</view>
</view>
@ -77,67 +229,106 @@
}
},
methods: {
//
toLogin(){
uni.navigateTo({
url:'/pages/login/login'
})
},
//跳转消息页
toMessage(){
uni.navigateTo({
url: '/pages/index/message'
})
})
},
//跳转生产工单页
toProductionOrder(){
uni.navigateTo({
url:'/pages/index/productionOrder'
url:'/pages/production/productionOrder'
})
},
//跳转工单进度页
toSchedule(){
uni.navigateTo({
url:'/pages/index/schedule'
})
},
//跳转工单出材率页
toMaterialYield(){
uni.navigateTo({
url:'/pages/index/materialYield'
})
},
//跳转设备管理页面
toEquipmentManage(){
uni.navigateTo({
url:'/pages/equipmentManage/equipmentManage'
})
},
//跳转设备报修页
toDeviceRepair(){
uni.navigateTo({
url:'/pages/deviceRepair/deviceRepair'
})
},
//跳转设备状态
toDeviceStatus(){
uni.navigateTo({
url:'/pages/deviceStatus/deviceStatus'
})
},
}
}
</script>
<style>
<style lang="scss">
/* .icon {
width: 80upx;
height: 80upx;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
} */
.home {
height: 100vh;
/* background-color: #060B26; */
padding: 0 10px;
font-size: 14px;
.home {height: 100vh;padding: 0 10px;font-size: 14px;
.home_head{height: 40px;display: flex;position: relative;align-items: center;padding-bottom: 5px;
.name{flex:1;}
.accounticon{
margin-right: 5px;
color: #fff;
font-size: 20px;
}
.notifyicon{font-size: 20px;padding-right: 20px;}
.setupicon{font-size: 20px;}
}
}
.home_head{height: 40px;display: flex;position: relative;align-items: center;padding-bottom: 5px;}
.home_head .name{flex:1;}
.accounticon{
/* width: 20px;
height: 20px; */
margin-right: 5px;
color: #fff;
font-size: 20px;
.home_content{padding-bottom: 100px;
.content_title{line-height: 25px;font-size: 16px;padding: 15px 0;}
.device_data{display: flex;flex-wrap: wrap;
.device_module{
width: calc(50% - 12px); /* 计算每个块的宽度(根据需要调整)*/
margin:6px;
background-color: #ccc; /* 设置背景色(根据需要调整)*/
padding: 10px;
background: #1C2755;
border-radius: 8px;
display: flex;
.module_left{width: 60%;
.icon_background{width: 32px;height: 32px;background: #6576B7;border-radius: 8px; display: flex;align-items: center;justify-content: center;margin-bottom: 4px;}
}
.module_right{width: 40%;
.top{float: right;font-size: 10px;padding: 2px 4px;background: rgba(103,194,58,0.3);border-radius: 4px;color: #67C23A;}
}
}
}
.energy_data{padding: 12px; height: 64px; display: flex;align-items: center;background: #1C2755;border-radius: 8px;
.energy_icon{color: #009688;font-size: 24px;margin-right: 8px;}
.energy_image{flex: 1;text-align: center;
image{width: 86px;height: 32px;}
}
.energy_number{color: #FA3758;}
}
.content_data{
padding: 10px 0;display: flex;position: relative;align-items: center;text-align: center;height: 98px;
.content_module{
width: 25%;margin: 10px 1%;height: 98px;display: flex;align-items: center;justify-content: center;flex-direction: column;background-color: #009688;border-radius: 8px;
.contenticon{font-size: 24px;width: 32px;height: 32px;background-repeat: no-repeat;}
.contentname{padding-top: 2px;font-size: 12px;}
}
}
}
.notifyicon{font-size: 20px;padding-right: 20px;}
.setupicon{font-size: 20px;}
.home_content{
}
.content_title{
line-height: 25px;
font-size: 16px;
}
.content_data{padding: 10px 0;display: flex;position: relative;align-items: center;text-align: center;height: 98px;}
.content_module{
width: 25%;
margin: 10px 1%;
height: 98px;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
background-color: #009688;
border-radius: 8px;
}
.contenticon{font-size: 24px;width: 32px;height: 32px;background-repeat: no-repeat;}
.contentname{padding-top: 2px;font-size: 12px;}
</style>

View File

@ -0,0 +1,107 @@
<template>
<!-- 工单出材率 -->
<view class="pagepaddings font13">
<view v-for="(item,index) in list" :key="index" class="detail_list contentboxsty">
<view class="list_top">
<view class="top_left">
工单号:{{item.name}}
</view>
<view class="top_right">
工单详情
</view>
</view>
<view class="list_content">
<view class="list_centre">
<view class="centre_left">
加工规格:{{item.specs}}
</view>
<view class="centre_right">
生产中
</view>
</view>
<view class="list_below">
<view class="below_left">
<view class="">
算法出材率
</view>
<view class="percentage font24">
{{item.algorithm}}%
</view>
</view>
<view class="below_left">
<view class="">
算法出材率
</view>
<view class="percentage font24">
{{item.reality}}%
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list:[{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
}]
}
},
methods: {
}
}
</script>
<style lang="scss">
.detail_list{
// .list_top{display: flex;padding: 12px 0;border-bottom: 1px solid #2D3A6F;margin-bottom: 8px;
// .top_left{flex: 1;}
// }
.list_centre{display: flex;
.centre_left{flex: 1;}
}
.list_below{display: flex;text-align: center;padding: 20px 0;
view{flex: 1;}
.percentage{color: #00B68D;}
}
}
</style>

View File

@ -1,123 +0,0 @@
<template>
<!-- 生产工单 -->
<view class="pagepaddings">
<view v-for="(item,index) in list" :key="index" class="page_list contentboxsty">
<view class="list_top">
<view class="top_left">
工单号:{{item.name}}
</view>
<view class="top_right">
工单详情
</view>
</view>
<view class="list_centre">
<view class="centre_left">
<view class="">
算法出材率
</view>
<view class="">
{{item.algorithm}}%
</view>
</view>
<view class="centre_left">
<view class="">
算法出材率
</view>
<view class="">
{{item.reality}}%
</view>
</view>
</view>
<view class="list_below">
<view class="">
<view class="">
<text>状态</text>
<text>{{item.state}}</text>
</view>
<view class="">
<text>价格规格</text>
<text>{{item.specs}}</text>
</view>
</view>
<view class="">
<view class="">
<text>生产开始</text>
<text>{{item.time}}</text>
</view>
<view class="">
<text>工单耗时</text>
<text>{{item.timeConsuming}}</text>
</view>
</view>
<view class="">
<view class="">
<text>工单数量</text>
<text>{{item.number}}</text>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
list:[{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
},{
name:'SO202401111004',
algorithm:'81.5',
reality:'81.4',
state:'生产中',
specs:'4*9*3.66',
time:'jan-11 10:05',
timeConsuming:'3.5H',
number:'12.66m³'
}]
}
},
methods: {
}
}
</script>
<style lang="scss">
.page_list{
margin-bottom: 12px;
padding: 12px;
.list_top{display: flex;
.top_left{flex: 1;}
}
.list_centre{display: flex;text-align: center;
view{flex: 1;}
}
}
</style>

61
pages/index/schedule.vue Normal file
View File

@ -0,0 +1,61 @@
<template>
<!-- 工单进度管理 -->
<view class="pagepaddings">
<view class="detail_list contentboxsty">
<view class="list_top">
<view class="top_left">
工单号:
</view>
<view class="top_right">
工单详情
</view>
</view>
<view class="list_content">
<view class="list_row">
<view class="row_left">
<view class="">开始时间</view>
<view class=""></view>
</view>
<view class="row_right">
生产中
</view>
</view>
<view class="list_row padd_top12">
<view class="">计划完成</view>
<view class=""></view>
</view>
<view class="padd_top12">
<progressBar :total="100" :val="20" title="" />
</view>
</view>
<annularProgressBar :progress_txt="20" :width="84" :height="69" title="出材率"/>
</view>
</view>
</template>
<script>
import progressBar from '/components/progressBar.vue'
import annularProgressBar from '/components/chocolate-progress-bar/chocolate-progress-bar.vue'
export default {
components: {
"progressBar":progressBar,
"annularProgressBar":annularProgressBar,
},
data() {
return {
list:[{name:''}]
}
},
methods: {
}
}
</script>
<style lang="scss">
.detail_list{
.list_content{
.list_row{display: flex;}
}
}
</style>