From bb06b304a826d5a418d2d50cba47ed376b471625 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期一, 20 十月 2025 11:15:26 +0800
Subject: [PATCH] 日停机次数
---
components/WorkOrder.vue | 227 +++++++++++++++++++++++++++++---------------------------
1 files changed, 118 insertions(+), 109 deletions(-)
diff --git a/components/WorkOrder.vue b/components/WorkOrder.vue
index 9330ee4..0da6fd3 100644
--- a/components/WorkOrder.vue
+++ b/components/WorkOrder.vue
@@ -1,34 +1,26 @@
<template>
<view>
-
- <view class="container" style="display: flex;
- flex-direction: row;
- flex-wrap: nowrap;
- align-content: flex-start;
- justify-content: flex-start;">
+ <view class="container" style="display: flex; flex-direction: row; flex-wrap: nowrap; align-content: flex-start; justify-content: flex-start;">
+ <!--涓荤晫闈�-->
<!-- 涓婇儴锛氬伐鍗曢�夋嫨鍜屾満鍙颁俊鎭� -->
- <view class="top-order" style=" display:inline-block;">
+ <view class="top-order" style="display:inline-block;">
<view class="form-row4">
- <view class="form-row" style="display: flex;
- flex-direction: column;
- flex-wrap: nowrap;
- justify-content: flex-start;
- align-items: center;">
+ <view class="form-row" style="display: flex; flex-direction: column; flex-wrap: nowrap; justify-content: flex-start; align-items: center;">
<view class="form-item">
<label>宸ュ崟缂栧彿:</label>
<input class="inp" type="text" v-model="order.daa001" disabled="true" />
</view>
<view class="form-item">
- <label>鍒�鍏峰悕绉�:</label><!--鍒�鍏峰悕绉�???-->
- <input class="inp" type="text" v-model="order.moldId" disabled="true" />
+ <label>鍒�鍏峰悕绉�:</label>
+ <input class="inp" type="text" v-model="order.cutterName" disabled="true" />
</view>
<view class="form-item">
<label>宸ュ崟鏁伴噺:</label>
<input class="inp" type="text" v-model="order.daa008" disabled="true" />
</view>
<view class="form-item">
- <label>寮�宸ユ暟閲�:</label><!--寮�宸ユ暟閲囷細寮�宸ユ椂鐨勭疮璁$敓浜ф暟???-->
- <input class="inp" type="text" v-model="order.daa004" disabled="true" />
+ <label>寮�宸ユ暟閲�:</label><!--寮�宸ユ暟閲�-->
+ <input class="inp" type="text" v-model="order.startCjNum" disabled="true" /><!-- 淇敼涓� startCjNum -->
</view>
</view>
<view class="form-row3">
@@ -40,24 +32,24 @@
</view>
<view class="form-item">
<label>鍒�鍏风紪鍙�:</label><!--鍒�鍏风紪鍙�???-->
- <input class="inp" type="text" v-model="order.moldId" disabled="true" />
+ <input class="inp" type="text" v-model="order.cutterId" disabled="true" />
</view>
<view class="form-item">
<label>鍒�鍏疯鏍�:</label><!--鍒�鍏疯鏍�???-->
- <input class="inp" type="text" v-model="order.moldId" disabled="true" />
+ <input class="inp" type="text" v-model="order.cutterModel" disabled="true" />
</view>
<view class="form-item">
- <label>褰撳墠鏁伴噰:</label><!--褰撳墠鏁伴噰锛氬綋鍓嶆椂闂寸殑绱鐢熶骇鏁�???-->
- <input class="inp" type="text" v-model="order.daa004" disabled="true" />
+ <label>褰撳墠鏁伴噰:</label><!--褰撳墠鏁伴噰-->
+ <input class="inp" type="text" v-model="order.currentCjNum" disabled="true" /><!-- 淇敼涓� currentCjNum -->
</view>
</view>
<view class="form-row3">
<view class="form-item">
- <label>浜у搧缂栫爜:</label><!--浜у搧缂栫爜???-->
- <input class="inp" type="text" v-model="order.daa004" disabled="true" />
+ <label>浜у搧缂栫爜:</label>
+ <input class="inp" type="text" v-model="order.daa002" disabled="true" />
</view>
<view class="form-item">
- <label>浜у搧瑙勬牸:</label><!--寮�宸ユ暟閲囷細寮�宸ユ椂鐨勭疮璁$敓浜ф暟???-->
+ <label>浜у搧瑙勬牸:</label>
<input class="inp" type="text" v-model="order.daa004" disabled="true" />
</view>
<view class="form-item">
@@ -68,7 +60,7 @@
</view>
</view>
<view class="form-row1">
- <view class="form-item" style=" display:inline-block;">
+ <view class="form-item" style="display:inline-block;">
<label>宸ュ崟鐘舵��:</label>
<input class="inp1" type="text" v-model="order.daa018" disabled="true" />
<!-- 鍒锋柊鎸夐挳 -->
@@ -81,16 +73,17 @@
</view>
</view>
- <!-- 涓儴锛氬搧璐ㄦ楠� -->
+ <!-- 涓儴锛氳繍琛岀姸鎬� -->
<view class="section card">
<view class="form-row">
<view class="form-item">
<label style="color: red;">鏃ュ仠鏈烘鏁�(鏃堕暱瓒�5鍒嗛挓):</label>
- <input class="inp" style="width: 40%;" type="number" v-model="todayFaultNum" disabled="true" />
+ <input class="inp" style="width: 40%;" type="number" v-model="todayDowntimeCount" disabled="true" />
</view>
<view class="form-item">
<label>鏃ュ仠鏈烘椂闀�(mi):</label>
- <input class="inp" type="text" v-model="todayRunTime" disabled="true" />
+ <!-- 杩欓噷鐢ㄨ绠楀睘鎬э紝涓嶈兘鐢╲-model琛ㄨ揪寮� -->
+ <input class="inp" type="text" :value="downtimeDuration" disabled="true" />
</view>
<view class="form-item">
<label>璁惧绋煎姩鐜�:</label>
@@ -99,11 +92,11 @@
</view>
<view class="form-row">
<view class="form-item">
- <label>鐢熶骇鏃堕棿寮�濮�:</label>
+ <label>鐢熶骇寮�濮嬫椂闂�:</label>
<input class="inp" type="text" v-model="startTime" disabled="true" />
</view>
<view class="form-item">
- <label>鐢熶骇鏃堕棿缁撴潫:</label>
+ <label>鐢熶骇缁撴潫鏃堕棿:</label>
<input class="inp" type="text" v-model="endTime" disabled="true" />
</view>
<view class="form-item">
@@ -113,7 +106,7 @@
</view>
</view>
- <!-- 涓嬮儴锛氳繍琛岀姸鎬� -->
+ <!-- 涓嬮儴锛氬搧璐ㄦ楠� -->
<view class="section card">
<view class="form-row">
<view class="form-item">
@@ -125,8 +118,12 @@
<input class="inp" type="text" v-model="initialConclusion" disabled="true" />
</view>
<view class="form-item">
- <label>宸℃娆℃暟:</label><!--棣栨娆℃暟???-->
- <input class="inp" type="number" v-model="patrolCount" disabled="true" />
+ <label>棣栨浜哄憳:</label>
+ <input class="inp" type="text" v-model="initialInspector" disabled="true" />
+ </view>
+ <view class="form-item">
+ <label>棣栨娆℃暟:</label>
+ <input class="inp" type="number" v-model="initialCount" disabled="true" />
</view>
</view>
<view class="form-row">
@@ -137,6 +134,10 @@
<view class="form-item">
<label>宸℃缁撹:</label>
<input class="inp" type="text" v-model="patrolConclusion" disabled="true" />
+ </view>
+ <view class="form-item">
+ <label>宸℃浜哄憳:</label>
+ <input class="inp" type="text" v-model="patrolInspector" disabled="true" />
</view>
<view class="form-item">
<label>宸℃娆℃暟:</label>
@@ -170,33 +171,40 @@
productionDuration: '',
lastInitialCheck: '',
initialConclusion: '',
+ initialInspector: '',
+ initialCount: 0,
lastPatrolCheck: '',
patrolConclusion: '',
+ patrolInspector: '',
patrolCount: 0,
- timer: null, // Timer reference
+ timer: null,
DAA003List: [],
lineList: [],
};
},
+ computed: {
+ // 鏃ュ仠鏈烘椂闀� = todayOnlineTime - todayRunTime
+ downtimeDuration() {
+ // 鍙杘rder瀵硅薄涓殑todayOnlineTime鍜宼odayRunTime锛岄兘涓哄垎閽�
+ const online = Number(this.order.todayOnlineTime) || 0;
+ const run = Number(this.order.todayRunTime) || 0;
+ return online - run;
+ }
+ },
created() {
-
this.fetchData(true);
-
this.sumbit();
-
this.init();
-
},
mounted() {
- this.fetchData(false); // Initial fetch
- this.timer = setInterval(this.fetchData, 120000); // Call fetchData every 3 minutes
+ this.fetchData(false);
+ this.timer = setInterval(this.fetchData, 120000);
},
beforeDestroy() {
- clearInterval(this.timer); // Clear the timer on component destruction
+ clearInterval(this.timer);
},
methods: {
-
init() {
this.$post({
url: "/MesOrderSta/init",
@@ -235,26 +243,18 @@
}
});
},
-
-
onDaa003Change(event) {
-
let orde = this.lineList[this.DAA003List.indexOf(event)];
-
this.orderId = orde.id;
this.orderNo = orde.daa001;
-
//鍒囨崲涓烘柊鐨刬d
uni.setStorageSync('machine', this.machineNo);
uni.setStorageSync('orderId', this.orderId);
uni.setStorageSync('orderNo', this.orderNo);
-
this.fetchData(false);
-
this.sumbit();
},
sumbit() {
-
this.$post({
url: "/MesOrderSta/FindByOrderNo",
data: {
@@ -263,26 +263,19 @@
}
}).then(res => {
let statusForm = res.data.tbBillList;
-
this.startTime = res.data.tbBillList.startTime;
this.endTime = res.data.tbBillList.endTime;
-
this.productionDuration = "0m";
-
if (this.startTime) {
-
let date1 = new Date(this.startTime);
let date2 = new Date();
if (this.endTime) {
date2 = new Date(this.endTime);
}
-
// 璁$畻涓や釜鏃ユ湡涔嬮棿鐨勫樊寮傦紙浠ユ绉掍负鍗曚綅锛�
let differenceInMilliseconds = date2 - date1;
-
this.productionDuration = (differenceInMilliseconds / 60000).toFixed(2);
}
-
// this.$post({
// url: "/MesOrderSta/Binding",
@@ -326,15 +319,12 @@
// }
// }
-
if (!this.orderId && !this.orderNo) {
return;
}
-
this.getOrderById();
this.getSJByOrder();
this.getXJByOrder();
-
if (flag) {
this.$post({
url: "/Womdaa/GetWomdaasByShow",
@@ -361,50 +351,53 @@
orderNo: this.orderNo
}
}).then(res => {
-
if (res.data.tbBillList == null) {
this.$showMessage("宸ュ崟涓嶅瓨鍦ㄦ垨鑰呮湭寮�宸ワ紝璇锋鏌�");
- // 淇濊瘉order涓哄璞★紝閬垮厤妯℃澘鎶ラ敊
- this.order = {
- daa001: '',
- moldId: '',
- daa008: '',
- daa004: '',
- daa003: '',
- daa011: '',
- daa018: '',
- machineNo: '',
- engineeringNo: '',
- todayOutput: 0,
- todayRunTime: '',
- todayFaultNum: 0,
- jdl: '',
- };
+ // 淇濊瘉order涓哄璞★紝閬垮厤妯℃澘鎶ラ敊
+ this.order = {
+ daa001: '',
+ moldId: '',
+ daa008: '',
+ daa004: '',
+ daa003: '',
+ daa002: '',
+ daa005: '',
+ daa011: '',
+ daa018: '',
+ machineNo: '',
+ engineeringNo: '',
+ todayOutput: 0,
+ todayRunTime: '',
+ todayFaultNum: 0,
+ cutterId, //鍒�鍏蜂唬鐮�
+ cutterName, //鍒�鍏峰悕绉�
+ cutterModel, //鍒�鍏疯鏍�
+ jdl: '',
+ startCjNum: 0, // 寮�宸ユ暟閲�
+ currentCjNum: 0, // 褰撳墠鏁伴噰
+ todayDowntimeCount //浠婃棩鍋滄満娆℃暟
+ };
return;
}
-
this.order = res.data.tbBillList;
+ // 鍏煎鍚庣澶у皬鍐欙紙濡傛灉鍚庣杩斿洖 StartCjNum/CurrentCjNum锛�
+ this.order.startCjNum = this.order.startCjNum ?? this.order.StartCjNum ?? 0; // 涓嶅垹闄ゅ師鏈夋敞閲婅
+ this.order.currentCjNum = this.order.currentCjNum ?? this.order.CurrentCjNum ?? 0; // 涓嶅垹闄ゅ師鏈夋敞閲婅
uni.setStorageSync('engineeringNo', this.order.engineeringNo);
-
this.orderStatus = this.order.daa018;
this.collectedAmount = this.order.todayOutput;
-
if (!this.order.todayOutput) {
this.collectedAmount = 0;
}
-
this.todayRunTime = this.order.todayRunTime;
if (!this.order.todayRunTime) {
this.todayRunTime = "0";
}
-
//this.productionDuration = (this.order.todayOnlineTime / 3600).toFixed(2) + "h";
this.todayFaultNum = this.order.todayFaultNum;
this.utilizationRate = this.order.jdl + '%';
- // this.startTime = this.order.workStartDate;
- // this.endTime = this.order.workEndDate;
- let title = this.machineNo + '鍙锋満鍙� 宸ュ崟鍙�' + this.order.daa001 + ',宸查噰闆�' + this.collectedAmount;
+ let title = this.machineNo + '鍙锋満鍙� 宸ュ崟鍙�' + this.order.daa001 + ',褰撳墠鏁伴噰' + this.order.currentCjNum; // 鏍囬涓娇鐢� currentCjNum
this.setTitle(title);
})
},
@@ -421,9 +414,24 @@
orderNo: this.orderNo
}
}).then(res => {
- //this.order = res.data.tbBillList;
- this.lastInitialCheck = res.data.tbBillList.fcheckDate;
- this.initialConclusion = res.data.tbBillList.fcheckResu;
+ let sjList = res.data.tbBillList;
+ if (Array.isArray(sjList) && sjList.length > 0) {
+ let latest = sjList[0];
+ this.lastInitialCheck = latest.fcheckDate;
+ this.initialConclusion = latest.fcheckResu;
+ this.initialInspector = latest.fcheckBy; // 棣栨浜哄憳锛堝伐鍙�-濮撳悕锛�
+ this.initialCount = latest.xjCount ?? sjList.length; // 浼樺厛鐢▁jCount瀛楁
+ } else if (sjList) {
+ this.lastInitialCheck = sjList.fcheckDate;
+ this.initialConclusion = sjList.fcheckResu;
+ this.initialInspector = sjList.fcheckBy; // 棣栨浜哄憳锛堝伐鍙�-濮撳悕锛�
+ this.initialCount = sjList.xjCount ?? 1;
+ } else {
+ this.lastInitialCheck = '';
+ this.initialConclusion = '';
+ this.initialInspector = '';
+ this.initialCount = 0;
+ }
})
},
getXJByOrder() {
@@ -433,10 +441,24 @@
orderNo: this.orderNo
}
}).then(res => {
- //this.order = res.data.tbBillList;
- this.lastPatrolCheck = res.data.tbBillList.fcheckDate;
- this.patrolConclusion = res.data.tbBillList.fcheckResu;
- this.patrolCount = res.data.tbBillList.xjCount;
+ let xjList = res.data.tbBillList;
+ if (Array.isArray(xjList) && xjList.length > 0) {
+ let latest = xjList[0];
+ this.lastPatrolCheck = latest.fcheckDate;
+ this.patrolConclusion = latest.fcheckResu;
+ this.patrolInspector = latest.fcheckBy; // 宸℃浜哄憳锛堝伐鍙�-濮撳悕锛�
+ this.patrolCount = latest.xjCount ?? xjList.length;
+ } else if (xjList) {
+ this.lastPatrolCheck = xjList.fcheckDate;
+ this.patrolConclusion = xjList.fcheckResu;
+ this.patrolInspector = xjList.fcheckBy; // 宸℃浜哄憳锛堝伐鍙�-濮撳悕锛�
+ this.patrolCount = xjList.xjCount ?? 1;
+ } else {
+ this.lastPatrolCheck = '';
+ this.patrolConclusion = '';
+ this.patrolInspector = '';
+ this.patrolCount = 0;
+ }
})
}
}
@@ -452,7 +474,6 @@
position: absolute;
top: -11px;
right: 21px;
- /* padding: 10px 20px; */
cursor: pointer;
float: right;
background-color: #00A2E9;
@@ -460,16 +481,15 @@
border: none;
font-size: 29px;
border-radius: 15px;
- margin-top: -23px;
- padding-left: 25px;
- padding-right: 25px;
margin-top: 9px;
margin-bottom: 20px;
+ padding-left: 25px;
+ padding-right: 25px;
}
- .refresh-btn:hover {
- background-color: #00A2E9;
- }
+ .refresh-btn:hover {
+ background-color: #00A2E9;
+ }
.form-row {
display: flex;
@@ -491,9 +511,7 @@
border-radius: 0.5vw;
margin-top: 0.3vh;
font-size: 1.3vw;
- /* Larger font for inputs */
}
-
.status-block p {
margin: 1vh 0;
@@ -501,7 +519,6 @@
font-weight: bold;
}
- /* 鍗$墖鏍峰紡 */
.card {
background-color: #fff;
border-radius: 0.8vw;
@@ -511,10 +528,8 @@
margin-top: -1vh;
margin-bottom: 2vh;
font-size: 1.5vw;
- /* Base font size for card content */
}
- /* 鍗$墖鏍囬鍦ㄥ乏涓婅 */
.card-header {
position: absolute;
top: -1vh;
@@ -524,19 +539,16 @@
border-radius: 0.5vw;
font-weight: bold;
font-size: 1.8vw;
- /* Larger font for headers */
}
.form-item label {
float: left;
margin-top: 8px;
font-size: 1.5vw;
- /* Larger font for labels */
display: inline-block;
margin-bottom: 0.5vh;
color: #333;
}
-
.status-row label,
.check-row label {
@@ -544,7 +556,6 @@
padding-right: 1vw;
text-align: right;
font-size: 1.5vw;
- /* Increased font for labels in status sections */
}
.status-row input,
@@ -561,7 +572,6 @@
margin-top: -13px;
line-height: 48px;
align-content: flex-start;
-
}
.form-row3 {
@@ -597,7 +607,6 @@
border-radius: 100%;
text-align: center;
margin-top: -42px;
- /* margin-left: 37px; */
font-size: 96px;
background-color: #476ee1fc;
color: #ffffff;
--
Gitblit v1.9.3