From b377351789728be6a804daf38de524abae8eab83 Mon Sep 17 00:00:00 2001
From: 快乐的昕的电脑 <快乐的昕的电脑@DESKTOP-C2BQPQU>
Date: 星期五, 24 十月 2025 16:34:21 +0800
Subject: [PATCH] 更新注释
---
components/machine.vue | 400 +++++++++++++++++++++++++++++++++-----------------------
1 files changed, 235 insertions(+), 165 deletions(-)
diff --git a/components/machine.vue b/components/machine.vue
index 7c76197..54bb59a 100644
--- a/components/machine.vue
+++ b/components/machine.vue
@@ -1,212 +1,276 @@
<template>
- <div class="page">
- <div class="top-right">
+ <view class="page">
+ <!--璋冩満閫佹-->
+ <!-- 鍙充笂瑙掑埛鏂版寜閽� -->
+ <view class="top-right">
<button class="refresh-btn" @click="refresh">鍒锋柊</button>
- </div>
+ </view>
- <div class="middle-section">
- <div class="item" style="height:100px;">
- <h4>璇存槑:鍏堣皟鏈�,鍐嶉�佹</h4>
- </div>
-
- <!-- 璋冩満寮�濮� -->
- <div class="item">
- <button :class="canStart ? 'btn-blue' : 'btn-disabled'"
- :disabled="!canStart"
- @click="onStartClick">
+ <!-- 涓棿鐘舵�侀儴鍒嗭紝涓婁笅缁撴瀯锛屽寘鍚皟鏈烘祦绋嬬殑涓変釜姝ラ -->
+ <view class="middle-section">
+ <view class="item" style="height: 100px;">
+ <h4>
+ 璇存槑:1.鐐瑰嚮'璋冩満寮�濮�'鍚庡啀鐐瑰嚮'淇濆瓨鐢熸晥' <br />
+ 2.鐐瑰嚮'閫佹鍛煎彨'鍚庡啀鐐瑰嚮'淇濆瓨鐢熸晥'<br />
+ 3.涓荤晫闈㈤妫�鍚堟牸鍚庡啀鐐瑰嚮'淇濆瓨鐢熸晥'<br />
+ 4.棣栨涓嶅悎鏍煎啀鐐瑰嚮'淇濆瓨鐢熸晥'浼氭竻绌洪�佹鏃堕棿<br />
+ 5.娓呯┖閫佹鏃堕棿鍚庣偣鍑烩�樻楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨鈥欏啀淇濆瓨
+ </h4>
+ </view>
+ <view class="item">
+ <!-- 璋冩満寮�濮嬫寜閽紝maStartTime鏈夊�兼椂绂佺敤 -->
+ <button :class="maStartTime ? 'btn-disabled' : 'btn-blue'"
+ :disabled="!!maStartTime"
+ @click="handleMaStartTime">
璋冩満寮�濮�
</button>
- <input class="txt-inp" v-model="maStartTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭鏃堕棿" disabled />
- </div>
-
- <!-- 閫佹鍛煎彨 -->
- <div class="item">
- <button :class="canShout ? 'btn-blue' : 'btn-disabled'"
- :disabled="!canShout"
- @click="onShoutClick">
+ <!-- 鏄剧ず璋冩満寮�濮嬫椂闂� -->
+ <input class="txt-inp" v-model="maStartTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭璋冩満鏃堕棿" disabled="true" />
+ </view>
+ <view class="item">
+ <!-- 閫佹鍛煎彨鎸夐挳锛宮aShoutTime鏈夊�兼椂绂佺敤 -->
+ <button :class="maShoutTime ? 'btn-disabled' : 'btn-blue'"
+ :disabled="!!maShoutTime"
+ @click="handleMaShoutTime">
閫佹鍛煎彨
</button>
- <input class="txt-inp" v-model="maShoutTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭鏃堕棿" disabled />
- </div>
+ <!-- 鏄剧ず閫佹鍛煎彨鏃堕棿 -->
+ <input class="txt-inp" v-model="maShoutTime" placeholder="鐐瑰嚮鎸夐挳甯﹀嚭閫佹鏃堕棿" disabled="true" />
+ </view>
+ <!--<view class="item">-->
+ <!-- 璋冩満瀹屾垚鎸夐挳锛宮aEndTime鏈夊�兼椂绂佺敤 -->
+ <!--<button :class="maEndTime ? 'btn-disabled' : 'btn-blue'"
+ :disabled="!!maEndTime"
+ @click="handleMaEndTime">
+ 璋冩満瀹屾垚锛�=妫�楠岄�氳繃锛�
+ </button>-->
+ <!-- 鏄剧ず璋冩満瀹屾垚鏃堕棿 -->
+ <!--<input class="txt-inp" v-model="maEndTime" placeholder="棣栨棣栨纭閫氳繃鍐欏叆" disabled="true" />
+ </view>-->
+ <view class="item">
+ <button class="btn-disabled" disabled>
+ 璋冩満瀹屾垚锛�=妫�楠岄�氳繃=寮�宸ワ級
+ </button>
+ <input class="txt-inp" v-model="maEndTime" placeholder="棣栨棣栨纭閫氳繃鍐欏叆" disabled="true" />
+ </view>
- <!-- 璋冩満瀹屾垚锛堝悗绔悎鏍艰嚜鍔ㄥ啓锛� -->
- <div class="item">
- <button class="btn-disabled" disabled>璋冩満瀹屾垚锛�=妫�楠岄�氳繃=寮�宸ワ級</button>
- <input class="txt-inp" v-model="maEndTime" placeholder="棣栨棣栨鍚堟牸鍚庡啓鍏�" disabled />
- </div>
+ <!--鍚敤璇ュ姛鑳�-->
+ <!--鏂板锛氭楠屼笉鍚堟牸閫佹鍛煎彨 鎸夐挳锛堝姛鑳戒笌閫佹鍛煎彨涓�鏍凤紝浠呭湪鐗瑰畾 remark 涓嬪彲浠ョ偣鍑伙級-->
+ <view class="item">
+ <!--妫�楠屼笉鍚堟牸閫佹鍛煎彨鎸夐挳锛屼粎鍦� remark 涓烘寚瀹氭枃鏈� 涓� 褰撳墠鏃犻�佹鏃堕棿 鏃跺彲鐐瑰嚮-->
+ <button :class="canFailResend ? 'btn-blue' : 'btn-disabled'"
+ :disabled="!canFailResend"
+ @click="ReHandleMaShoutTime">
+ 妫�楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨
+ </button>
+ <!--浠嶅鐢ㄥ悓涓�閫佹鏃堕棿瀛楁锛岄伩鍏嶉噸澶嶇姸鎬�-->
+ <input class="txt-inp"
+ v-model="maShoutTime"
+ placeholder="棣栨涓嶅悎鏍奸噸鏂板懠鍙椂鐐瑰嚮鎸夐挳甯﹀嚭閫佹鏃堕棿"
+ disabled="true" />
+ </view>
- <!-- 棣栨缁撴灉涓庢彁绀� -->
- <div class="item" style="flex-direction:column;">
- <label>褰撳墠棣栨缁撴灉: {{ latestFirstResult || '鏈垽瀹�' }}</label>
- <label v-if="remark" style="color:#00A2E9">{{ remark }}</label>
- </div>
- </div>
+ </view>
- <!-- 搴曢儴鎿嶄綔 -->
- <div class="bottom-section">
- <button :class="hasUnsaved ? 'save-btn':'btn-disabled'"
- :disabled="!hasUnsaved"
- @click="save">
- 淇濆瓨骞剁敓鏁�
- </button>
+ <!-- 搴曢儴淇濆瓨/鍙栨秷鎸夐挳 -->
+ <view class="bottom-section">
+ <!-- 鍙湁璋冩満瀹屾垚鏈~鍐欐椂鎵嶅彲淇濆瓨 -->
+ <button class="save-btn" v-if="!maEndTime" @click="save">淇濆瓨骞剁敓鏁�</button>
+ <!-- 宸插畬鎴愭椂淇濆瓨鎸夐挳绂佺敤 -->
+ <button class="btn-disabled" v-else>淇濆瓨骞剁敓鏁�</button>
<button class="cancel-btn" @click="cancel">鍙栨秷</button>
- </div>
- </div>
+ </view>
+
+ </view>
</template>
<script>
export default {
props: {
- orderNo: String,
- orderId: Number,
- machineNo: String
+ orderNo: String, // 宸ュ崟鍙�
+ orderId: Number, // 宸ュ崟ID
+ machineNo: String // 鏈哄彴鍙�
},
data() {
return {
- statusForm: {},
- maStartTime: '',
- maShoutTime: '',
- maEndTime: '',
- remark: '',
- latestFirstResult: '',
- origStart: '',
- origShout: '',
- origEnd: '',
- submitting: false
- };
+ maShoutTime: '', // 閫佹鍛煎彨鏃堕棿
+ maStartTime: '', // 璋冩満寮�濮嬫椂闂�
+ maEndTime: '', // 璋冩満瀹屾垚鏃堕棿
+ statusForm: {}, // 宸ュ崟鐘舵�佽〃鍗曟暟鎹紙鍖呭惈 remark 瀛楁锛�
+ flag: -1, // 鎿嶄綔鏍囪
+ failedRemark: '棣栨涓嶅悎鏍硷紝閫佹鏃堕棿宸叉竻绌猴紝璇烽噸鏂伴�佹鍛煎彨鐢熸垚鏂扮殑棣栨鍗�' // 棣栨涓嶅悎鏍煎悗鐢卞悗绔繑鍥炵殑鎻愮ず
+ }
},
computed: {
- canStart() {
- // 鑻ヤ粠鏈紑濮嬪彲璋冩満锛涗繚鐣欏師瑙勫垯锛堜笟鍔¤嫢闇�棣栨涓嶅悎鏍煎悗鍏佽鍐嶆璋冩満鍙啀鎵╁睍锛�
- return !this.maStartTime;
- },
- canShout() {
- // 宸叉湁寮�濮� 涓� (鏈�佹 鎴� 棣栨涓嶅悎鏍煎厑璁稿啀娆¢�佹)
- if (!this.maStartTime) return false;
- if (!this.maShoutTime) return true;
- return this.latestFirstResult === '涓嶅悎鏍�';
- },
- hasUnsaved() {
- return (this.maStartTime !== this.origStart ||
- this.maShoutTime !== this.origShout);
+ // 婊¤冻棣栨涓嶅悎鏍奸噸鏂板懠鍙潯浠朵笖褰撳墠灏氭湭閲嶆柊鐢熸垚閫佹鏃堕棿 => 鎸夐挳鍙敤
+ canFailResend() {
+ return this.statusForm &&
+ this.statusForm.remark === this.failedRemark &&
+ !this.maShoutTime;
}
},
created() {
- this.refresh();
+ // 缁勪欢鍒涘缓鏃惰嚜鍔ㄥ姞杞藉伐鍗曟暟鎹�
+ if (!this.orderId && !this.orderNo) {
+ return;
+ }
+ this.findByOrderId();
},
methods: {
- getNow() {
- const pad = n => (n < 10 ? '0' + n : '' + n);
- const d = new Date();
- return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
+ // 澶勭悊璋冩満寮�濮嬫寜閽偣鍑�
+ handleMaStartTime() {
+ if (!this.maStartTime) {
+ this.setMaStartTime();
+ this.flag = -1; // 璋冩満寮�濮嬫寜閽寜涓嬫椂鍥炰紶鐨刦lag=-1
+ }
},
- onStartClick() {
- if (!this.canStart) return;
- this.maStartTime = this.getNow();
+ // 澶勭悊閫佹鍛煎彨鎸夐挳鐐瑰嚮锛堜笉鍚妫�涓嶅悎鏍奸噸鍛煎彨锛�
+ handleMaShoutTime() {
+ if (!this.maShoutTime) {
+ this.stateCheck(1);
+ }
},
- onShoutClick() {
- if (!this.canShout) return;
- // 鐩存帴瑕嗙洊鏃ч�佹鏃堕棿锛屽疄鐜伴噸閫佹
- this.maShoutTime = this.getNow();
+ // 棣栨涓嶅悎鏍奸噸鍛煎彨锛歠lag = 2
+ ReHandleMaShoutTime() {
+ if (!this.maShoutTime && this.canFailResend) {
+ this.stateCheck(2);
+ }
+ },
+ // 澶勭悊璋冩満瀹屾垚鎸夐挳鐐瑰嚮
+ handleMaEndTime() {
+ if (!this.maEndTime) {
+ this.setMaEndTime();
+ }
},
+ // 璁剧疆璋冩満寮�濮嬫椂闂翠负褰撳墠鏃堕棿
+ setMaStartTime() {
+ this.maStartTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
+ },
+ // 璁剧疆璋冩満瀹屾垚鏃堕棿涓哄綋鍓嶆椂闂�
+ setMaEndTime() {
+ console.log('璋冩満瀹屾垚鎸夐挳琚偣鍑�');
+ this.maEndTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
+ },
+ // 鍒锋柊宸ュ崟鏁版嵁
refresh() {
- if (!this.orderId) return;
- this.$post({
- url: "/MesOrderSta/FindByOrderNo",
- data: { orderId: this.orderId, orderNo: this.orderNo }
- }).then(res => {
- const d = res.data;
- if (!d) return;
- const sta = d.tbBillList || {};
- this.statusForm = sta;
- this.maStartTime = sta.maStartTime || '';
- this.maShoutTime = sta.maShoutTime || '';
- this.maEndTime = sta.maEndTime || '';
- this.remark = sta.remark || d.remark || '';
- this.latestFirstResult = sta.latestFirstResult || d.latestFirstResult || '';
- this.syncOrig();
- // 鑻ュ悗绔笉涓诲姩娓� maShoutTime锛岄�氳繃 canShout 閫昏緫浠嶅彲閲嶉�佹
- });
+ this.findByOrderId();
},
- syncOrig() {
- this.origStart = this.maStartTime;
- this.origShout = this.maShoutTime;
- this.origEnd = this.maEndTime;
- },
- cancel() {
- this.maStartTime = this.origStart;
- this.maShoutTime = this.origShout;
- this.maEndTime = this.origEnd;
- },
+ // 淇濆瓨骞剁敓鏁堬紝灏嗘椂闂寸瓑淇℃伅鎻愪氦鍒板悗绔�
save() {
if (!this.statusForm.id) {
- this.$showMessage("鐘舵�両D涓虹┖锛屼笉鑳戒繚瀛�");
+ this.$showMessage("id涓虹┖锛屼笉鍏佽鎺ㄩ��");
return;
}
- if (!this.hasUnsaved) {
- this.$showMessage("鏃犲彉鏇�");
- return;
- }
- if (this.submitting) return;
- this.submitting = true;
this.$post({
url: "/MesOrderSta/ChangeMachineTime",
data: {
+ maStartTime: this.maStartTime,
+ maShoutTime: this.maShoutTime,
+ maEndTime: this.maEndTime,
id: this.statusForm.id,
- maStartTime: this.maStartTime || null,
- maShoutTime: this.maShoutTime || null,
- maEndTime: null,
orderId: this.orderId,
- orderNo: this.orderNo,
- machineNo: this.machineNo
+ machineNo: this.machineNo,
+ flag: this.flag
}
}).then(res => {
- this.submitting = false;
- if (res.data) {
- const sta = res.data.tbBillList || {};
- this.maStartTime = sta.maStartTime || '';
- this.maShoutTime = sta.maShoutTime || '';
- this.maEndTime = sta.maEndTime || '';
- this.remark = sta.remark || res.data.remark || '';
- this.latestFirstResult = sta.latestFirstResult || res.data.latestFirstResult || '';
- this.syncOrig();
- this.$showMessage("淇濆瓨鎴愬姛");
+ if (res.data.tbBillList) {
+ this.$showMessage("鍛煎彨鎴愬姛");
+ this.findByOrderId();
} else {
- this.$showMessage("淇濆瓨澶辫触");
+ this.$showMessage("鍛煎彨澶辫触");
+ this.cancel();
}
- }).catch(() => {
- this.submitting = false;
- this.$showMessage("缃戠粶寮傚父");
- });
+ })
+ },
+ // 鍙栨秷鎿嶄綔锛屾仮澶嶄负涓婃淇濆瓨鐨勬暟鎹�
+ cancel() {
+ this.maShoutTime = this.statusForm.maShoutTime;
+ this.maStartTime = this.statusForm.maStartTime;
+ this.maEndTime = this.statusForm.maEndTime;
+ },
+ // 閫佹鍛煎彨锛宨tem=1鏃惰缃�佹鍛煎彨鏃堕棿
+ // 閫佹鍛煎彨涓庨噸鏂伴�佹鍛煎彨浠ュ強璋冩満寮�濮嬪搴旂殑 flag 鍊�
+ // flag 璇存槑锛�-1 = 璋冩満寮�濮嬶紱1 = 棣栨閫佹鍛煎彨锛�2 = 涓嶅悎鏍奸噸鏂伴�佹鍛煎彨
+ stateCheck(item) {
+ switch (item) {
+ case 0:
+ break;
+ case 1:// 棣栨閫佹鍛煎彨
+ this.maShoutTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
+ this.flag = -1; // 閫佹鍛煎彨鏈夊�煎悗锛宖lag濮嬬粓涓�-1
+ break;
+ case 2:// 妫�楠屼笉鍚堟牸閲嶆柊閫佹鍛煎彨
+ this.maShoutTime = this.$getDate('yyyy-mm-dd hh24:mi:ss');
+ //this.flag = -1; // 閫佹鍛煎彨鏈夊�煎悗锛宖lag濮嬬粓涓�-1
+ break;
+ default:
+ // 鍏跺畠鍊间笉澶勭悊
+ break;
+ }
+ this.flag = item;
+ },
+ // 鏍规嵁宸ュ崟鍙�/ID鑾峰彇宸ュ崟鐘舵�佹暟鎹�
+ findByOrderId() {
+ this.$post({
+ url: "/MesOrderSta/FindByOrderNo",
+ data: {
+ orderId: this.orderId,
+ orderNo: this.orderNo
+ }
+ }).then(res => {
+ this.statusForm = res.data.tbBillList;
+ this.maShoutTime = res.data.tbBillList.maShoutTime;
+ this.maStartTime = res.data.tbBillList.maStartTime;
+ this.maEndTime = res.data.tbBillList.maEndTime;
+ })
}
}
};
</script>
<style scoped>
+ /* 椤甸潰鏁翠綋甯冨眬 */
.page {
padding: 2vh;
display: flex;
flex-direction: column;
- height: 100%;
+ justify-content: space-between;
box-sizing: border-box;
+ height: 100%;
}
+ /* 鍙充笂瑙掑埛鏂版寜閽� */
.top-right {
position: absolute;
top: 10px;
right: 50px;
+ z-index: 1000;
}
.refresh-btn {
padding: 10px;
- background: #00A2E9;
- color: #fff;
+ background-color: #00A2E9;
+ color: white;
border: none;
font-size: 1.5vw;
border-radius: 5px;
}
+ label {
+ margin-right: 1vw;
+ font-size: 1.6vw;
+ }
+
+ input {
+ padding: 1vh;
+ font-size: 1.5vw;
+ border: 1px solid #ccc;
+ width: 100%;
+ margin-top: 1vh;
+ box-sizing: border-box;
+ }
+
+ /* 涓棿鐘舵�侀儴鍒嗗竷灞� */
.middle-section {
display: flex;
flex-direction: column;
@@ -228,14 +292,40 @@
text-align: center;
}
- .btn-blue {
- background: #00A2E9;
- color: #fff;
+ .btn-disabled {
+ background-color: #ccc;
+ color: white;
}
- .btn-disabled {
- background: #ccc;
- color: #fff;
+ .btn-blue {
+ background-color: #00A2E9;
+ color: white;
+ }
+
+ input {
+ margin-top: 10px;
+ padding: 10px;
+ font-size: 14px;
+ border: 1px solid #ccc;
+ width: 100%;
+ }
+
+ /* 搴曢儴淇濆瓨/鍙栨秷鎸夐挳甯冨眬 */
+ .bottom-section {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 4vh;
+ }
+
+ .save-btn,
+ .cancel-btn {
+ width: 48%;
+ padding: 1.5vh;
+ background-color: #00A2E9;
+ color: white;
+ font-size: 1.6vw;
+ border: none;
+ text-align: center;
}
.txt-inp {
@@ -244,25 +334,5 @@
font-size: 1.5vw;
width: 100%;
box-sizing: border-box;
- margin-left: 1vw;
- }
-
- .bottom-section {
- display: flex;
- justify-content: space-between;
- margin-top: 4vh;
- }
-
- .save-btn, .cancel-btn {
- width: 48%;
- padding: 1.5vh;
- background: #00A2E9;
- color: #fff;
- font-size: 1.6vw;
- border: none;
- }
-
- .cancel-btn {
- background: #0077A6;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3