- {{ item.name }}
- {{ item.value }}%
+ {{ item.orderName }}
+ {{ item.completeRate * 100 }}%
@@ -130,7 +135,7 @@
:page="1"
:limit="100000"
:table-props="tableProps"
- :table-data="list"
+ :table-data="homeDevice.list"
:max-height="tableH" />
@@ -155,6 +160,13 @@
import Navbar from './components/Navbar';
import moment from 'moment';
import tableHeightMixin from '@/mixins/tableHeightMixin';
+import {
+ getHomeOrder,
+ getHomeOrderNum,
+ getHomeEquipment,
+ getHomeEquipmentAlarmList,
+} from '@/api/home';
+
export default {
name: 'Home',
mixins: [tableHeightMixin],
@@ -175,69 +187,107 @@ export default {
topTime: '',
timeZone: '',
middleMenu: [
- { name: '工单管理', url: '', icon: 'home-work-menu' },
- { name: '订单管理', url: '', icon: 'home-order-menu' },
- { name: '设备管理', url: '', icon: 'home-device-menu' },
- { name: '质量管理', url: '', icon: 'home-quality-menu' },
- { name: '仓库管理', url: '', icon: 'home-store-menu' },
- ],
- orderList: [
- { name: '工单1', value: 50 },
- { name: '工单2', value: 60 },
- { name: '工单3', value: 30 },
- { name: '工单4', value: 60 },
- { name: '工单5', value: 10 },
- { name: '工单6', value: 60 },
- { name: '工单7', value: 40 },
- { name: '工单8', value: 70 },
- { name: '工单9', value: 90 },
+ { name: '生产管理', url: 'productLine24h', icon: 'home-work-menu' },
+ {
+ name: '能源管理',
+ url: 'EnergyQuantityRealtime',
+ icon: 'home-order-menu',
+ },
+ { name: '设备管理', url: 'PlanConfig', icon: 'home-device-menu' },
+ { name: '质量管理', url: 'qualityScrapLog', icon: 'home-quality-menu' },
+ { name: '仓库管理', url: 'warehouse-info', icon: 'home-store-menu' },
],
heightNum: 640,
tableProps: [
{
- prop: 'productionLineName',
+ prop: 'equipmentName',
label: '设备名称',
showOverflowtooltip: true,
},
{
- prop: 'sectionName',
+ prop: 'alarmContent',
label: '告警内容',
showOverflowtooltip: true,
},
{
- prop: 'createTime',
+ prop: 'updateTime',
label: '告警时间',
width: 180,
filter: (val) => moment(val).format('yyyy-MM-DD HH:mm:ss'),
},
],
- list: [
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- { productionLineName: 1 },
- ],
+ homeProduce: {
+ quantity: undefined,
+ yieldRate: undefined,
+ endWorkOrderQuantity: undefined,
+ endOrderQuantity: undefined,
+ orderList: [],
+ },
+ homeDevice: {
+ allEquipment: undefined,
+ onlineEquipment: undefined,
+ errorEquipment: undefined,
+ stopEquipment: undefined,
+ list: [],
+ },
+ times: [],
+ showTime: '',
};
},
created() {
this.getTime();
+ this.handleClick();
+ this.getHomeEquipment();
+ this.showTime = moment(new Date()).subtract(0, 'days').format('YYYY-MM-DD');
},
beforeDestroy() {
clearInterval(this.timer);
},
methods: {
+ handleClick() {
+ let start =
+ Date.parse(new Date())
+ let end =
+ Date.parse(new Date())
+ switch (this.activeName) {
+ case '日':
+ this.showTime = moment(new Date())
+ .subtract(0, 'days')
+ .format('YYYY-MM-DD');
+ this.times = [start, end];
+ break;
+ case '周':
+ start =
+ moment(new Date()).subtract(6, 'days').format('x')
+ this.showTime =
+ moment(new Date()).subtract(6, 'days').format('MM-DD') +
+ ' ~ ' +
+ moment(new Date()).subtract(0, 'days').format('MM-DD');
+ this.times = [start, end];
+ break;
+ case '月':
+ start =
+ moment(new Date()).subtract(1, 'month').format('x')
+ this.showTime =
+ moment(new Date()).subtract(1, 'month').format('MM-DD') +
+ ' ~ ' +
+ moment(new Date()).subtract(0, 'days').format('MM-DD');
+ this.times = [start, end];
+ break;
+ case '年':
+ start =
+ moment(new Date()).subtract(1, 'year').format('x')
+ this.showTime =
+ moment(new Date()).subtract(1, 'year').format('YYYY') +
+ ' ~ ' +
+ moment(new Date()).subtract(0, 'days').format('YYYY');
+ this.times = [start, end];
+ break;
+ default:
+ console.log(val);
+ }
+ this.getHomeOrder();
+ },
getTime() {
let _this = this;
this.timer = setInterval(function () {
@@ -247,6 +297,59 @@ export default {
_this.topTime = temp[1];
}, 1000);
},
+ getHomeOrder() {
+ getHomeOrder(this.times).then((response) => {
+ if (response.hasOwnProperty('data')) {
+ this.homeProduce.quantity = response.data.quantity;
+ this.homeProduce.yieldRate = response.data.yieldRate * 100;
+ this.homeProduce.endWorkOrderQuantity =
+ response.data.endWorkOrderQuantity;
+ this.homeProduce.orderList = response.data.orderMonitorVO;
+ } else {
+ this.homeProduce = {
+ quantity: undefined,
+ yieldRate: undefined,
+ endWorkOrderQuantity: undefined,
+ endOrderQuantity: undefined,
+ orderList: [],
+ };
+ }
+ });
+ getHomeOrderNum(this.times).then((response) => {
+ if (response.hasOwnProperty('data')) {
+ this.homeProduce.endOrderQuantity = response.data.endOrderQuantity;
+ } else {
+ this.homeProduce.endOrderQuantity = '-';
+ }
+ });
+ },
+ getHomeEquipment() {
+ getHomeEquipment().then((response) => {
+ if (response.hasOwnProperty('data')) {
+ this.homeDevice.allEquipment = response.data.allEquipment;
+ this.homeDevice.onlineEquipment = response.data.onlineEquipment;
+ this.homeDevice.errorEquipment = response.data.errorEquipment;
+ this.homeDevice.stopEquipment = response.data.stopEquipment;
+ } else {
+ this.homeDevice = {
+ allEquipment: undefined,
+ onlineEquipment: undefined,
+ errorEquipment: undefined,
+ stopEquipment: undefined,
+ };
+ }
+ });
+ getHomeEquipmentAlarmList().then((response) => {
+ if (response.hasOwnProperty('data')) {
+ this.homeDevice.list = response.data;
+ } else {
+ this.homeDevice.list = [];
+ }
+ });
+ },
+ goPage(val) {
+ this.$router.push({ name: val.url });
+ },
},
};
@@ -260,56 +363,14 @@ export default {
height: 300px;
width: 100%;
}
-.date-tabs {
- padding-left: 40px;
- padding-top: 20px;
- position: relative;
-}
-:deep(.date-tabs) {
- .el-tabs__header {
- margin-bottom: 8px;
- display: inline-block;
- transform: translateY(-12px);
- }
-
- .el-tabs__content {
- overflow: visible;
- }
-
- .el-tabs__item {
- font-size: 18px;
- color: #fff;
- padding-left: 0 !important;
- padding-right: 0 !important;
- line-height: 36px !important;
- height: 36px;
- }
- .el-tabs__item.is-active {
- color: #0b58ff;
- }
-}
-.current-date {
- color: #fff;
- font-size: 18px;
- position: absolute;
- left: 260px;
- top: 14px;
-}
-.current-time {
- color: #fff;
- font-size: 18px;
- position: absolute;
- right: 38px;
- top: 14px;
-}
.main-top {
width: 100%;
- padding: 0 20px 0 40px;
+ padding: 10px 20px 0 40px;
.title {
position: absolute;
left: 34px;
top: 20px;
- width: 180px;
+ width: 90%;
font-size: 32px;
z-index: 10;
.title-inner {
@@ -318,12 +379,53 @@ export default {
top: 5px;
font-size: 24px;
}
+ .date-tabs {
+ position: absolute;
+ right: 100px;
+ top: 5px;
+ font-size: 18px;
+ }
+ :deep(.date-tabs) {
+ .el-tabs__header {
+ margin-bottom: 8px;
+ display: inline-block;
+ }
+
+ .el-tabs__content {
+ overflow: visible;
+ }
+
+ .el-tabs__item {
+ font-size: 18px;
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ line-height: 20px !important;
+ height: 24px;
+ }
+ .el-tabs__item.is-active {
+ color: #0b58ff;
+ }
+ }
+ .current-date {
+ font-size: 10px;
+ font-weight: 500;
+ position: absolute;
+ right: 0px;
+ top: 5px;
+ }
+ // .current-time {
+ // width: 160px;
+ // font-size: 18px;
+ // position: absolute;
+ // right: -20px;
+ // top: 5px;
+ // }
}
.box {
background-color: #fff;
border-radius: 24px;
- height: 192px;
- padding: 40px 24px 32px 24px;
+ height: 232px;
+ padding: 60px 24px 32px 24px;
.num-box {
height: 120px;
padding-top: 26px;
diff --git a/src/views/warehouse/warehouse-info/BarChart.vue b/src/views/warehouse/warehouse-info/BarChart.vue
index 6466b781..aa58e505 100644
--- a/src/views/warehouse/warehouse-info/BarChart.vue
+++ b/src/views/warehouse/warehouse-info/BarChart.vue
@@ -144,21 +144,24 @@ export default {
this.chart.getZr().off('click');
this.chart.getZr().on('click', function () {
if (_this.targetId !== '') {
- switch (_this.targetId) {
- case 1:
- _this.$router.push({
- path: 'warehouse-manage1/InventoryOverview/' + _this.targetId,
- });
- break;
- case '1818175999715164161':
- _this.$router.push({
- path: 'warehouse-manage2/InventoryOverview/' + _this.targetId,
- });
- break;
- default:
- console.log(_this.targetId);
- break;
- }
+ _this.$router.push({
+ path: `warehouse-manage${_this.targetId}/InventoryOverview/` + _this.targetId,
+ });
+ // switch (_this.targetId) {
+ // case 1:
+ // _this.$router.push({
+ // path: 'warehouse-manage1/InventoryOverview/' + _this.targetId,
+ // });
+ // break;
+ // case '1818175999715164161':
+ // _this.$router.push({
+ // path: 'warehouse-manage2/InventoryOverview/' + _this.targetId,
+ // });
+ // break;
+ // default:
+ // console.log(_this.targetId);
+ // break;
+ // }
}
});
},
diff --git a/src/views/warehouse/warehouse-info/index.vue b/src/views/warehouse/warehouse-info/index.vue
index a9a50373..3f1c1496 100644
--- a/src/views/warehouse/warehouse-info/index.vue
+++ b/src/views/warehouse/warehouse-info/index.vue
@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2024-07-02 15:56:48
* @LastEditors: zwq
- * @LastEditTime: 2024-08-02 14:57:52
+ * @LastEditTime: 2024-09-23 09:15:30
* @Description:
-->
@@ -59,21 +59,24 @@ export default {
},
methods: {
toPage(i) {
- switch (i.id) {
- case 1:
- this.$router.push({
- path: 'warehouse-manage1/InventoryOverview/' + i.id,
+ this.$router.push({
+ path: `warehouse-manage${i.id}/InventoryOverview/` + i.id,
});
- break;
- case '1818175999715164161':
- this.$router.push({
- path: 'warehouse-manage2/InventoryOverview/' + i.id,
- });
- break;
- default:
- console.log(i.id);
- break;
- }
+ // switch (i.id) {
+ // case 1:
+ // this.$router.push({
+ // path: 'warehouse-manage1/InventoryOverview/' + i.id,
+ // });
+ // break;
+ // case '1818175999715164161':
+ // this.$router.push({
+ // path: 'warehouse-manage2/InventoryOverview/' + i.id,
+ // });
+ // break;
+ // default:
+ // console.log(i.id);
+ // break;
+ // }
},
},
};