From ab308e37501bfcbe74a723b9b29007478536d5a0 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期三, 28 八月 2024 10:54:53 +0800
Subject: [PATCH] 掰片/识别和钢化模块新增按钮和按钮点击判断条件,更新算法
---
UI-Project/config.js | 8
UI-Project/src/views/Identify/identify.vue | 9 +
UI-Project/src/views/PurchaseReturn/purchaseStorage.vue | 13 ++
UI-Project/src/lang/zh.js | 3
UI-Project/src/utils/constants.js | 4
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 253 ++++++++++++++++++++++++++++++++++++++++++++------
6 files changed, 245 insertions(+), 45 deletions(-)
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 8801d0c..9a4f798 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,10 +1,10 @@
export default {
-// serverUrl: "10.153.19.150:88/api",
+ serverUrl: "10.153.19.150:88/api",
// serverUrl: "192.168.1.199:88/api",
- serverUrl: "127.0.0.1:88/api",
- // serverUrl2: "10.153.19.150:88"
+// serverUrl: "127.0.0.1:88/api",
+ serverUrl2: "10.153.19.150:88"
// serverUrl2: "192.168.1.199:88"
- serverUrl2: "127.0.0.1:88"
+ // serverUrl2: "127.0.0.1:88"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index b829bb3..65591e4 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -104,7 +104,8 @@
},
order:{
dilapidation:'鐮存崯',
- Takeaway:'浜哄伐鎷胯蛋',
+ takeaway:'浜哄伐鎷胯蛋',
+ takeon:'鎽嗙墖瀹屾垚',
},
searchOrder:{
cageinformation:'鐞嗙墖绗间俊鎭�',
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 69000bc..b551cfb 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,4 +1,4 @@
// export const WebSocketHost = "192.168.1.199";
-// export const WebSocketHost = "10.153.19.150";
-export const WebSocketHost = "127.0.0.1";
+export const WebSocketHost = "10.153.19.150";
+// export const WebSocketHost = "127.0.0.1";
export const host = "88";
\ No newline at end of file
diff --git a/UI-Project/src/views/Identify/identify.vue b/UI-Project/src/views/Identify/identify.vue
index 013068a..8d2760c 100644
--- a/UI-Project/src/views/Identify/identify.vue
+++ b/UI-Project/src/views/Identify/identify.vue
@@ -35,12 +35,12 @@
</div>
</el-scrollbar>
<el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
- <el-button type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)" style="width: 140px;margin-left: 10px;">
+ <el-button :disabled="currentGlassRect?.glass_state === 8" type="warning" plain :icon="Delete" @click="handleDamage(currentGlassId)" style="width: 140px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
- <el-button type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
+ <el-button :disabled="currentGlassRect?.glass_state === 9" type="danger" plain @click="handleManualTake(currentGlassId)" style="width: 140px;margin-top: 10px;">
<el-icon class="el-icon--right"><Upload /></el-icon>
- {{ $t('order.Takeaway') }}</el-button>
+ {{ $t('order.takeaway') }}</el-button>
</el-dialog>
</el-card>
</template>
@@ -74,6 +74,9 @@
// blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
// };
// 鏄剧ず瀵硅瘽妗嗗苟璁剧疆褰撳墠 glass_id
+const currentGlassRect = computed(() => {
+ return adjustedRects.value.find(rect => rect.glass_id === currentGlassId.value);
+});
function showDialog(glassId: number) {
currentGlassId.value = glassId;
blind.value = true;
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index 55be7f0..e6c9858 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -1,5 +1,5 @@
-<script setup>
-import {Search} from "@element-plus/icons-vue";
+<script setup lang="ts">
+import {Search ,Delete, Upload,Edit} from "@element-plus/icons-vue";
import {reactive} from "vue";
import request from "@/utils/request"
import { ref, onMounted, onBeforeUnmount,nextTick } from 'vue';
@@ -21,6 +21,15 @@
const dialogVisible = ref(false)
const width = ref();
const height = ref();
+const currentRect = ref(null);
+const canSelectProject1 = ref(true);
+const canSelectProject2 = ref(true);
+const canSelectProjecta = ref(true);
+const cantakea = ref(true);
+const cantakeb = ref(true);
+const canona = ref(true);
+const canonb = ref(true);
+const canSelectProjectb = ref(true);
const adjustedRects1 = ref([]);
const adjustedRects2 = ref([]);
const adjustedRectsa = ref([]);
@@ -85,6 +94,7 @@
};
const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/temperingGlass`;
const handleMessage = (data) => {
+ // 杩涚倝涓彸
if (data.intoGlass2 && data.intoGlass2.length > 0) {
// 鎻愬彇鏂扮殑鐭╁舰ID
const newGlassIds = new Set(data.intoGlass2[0].map(rect => rect.glassId));
@@ -138,14 +148,12 @@
else if (data.intoGlass2 == null) {
adjustedRects2.value = []
}
+ // 杩涚倝涓乏
if (data.intoGlass && data.intoGlass.length > 0) {
- // 鎻愬彇鏂扮殑鐭╁舰ID
const newGlassIds = new Set(data.intoGlass[0].map(rect => rect.glassId));
- // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�
const existingRects = adjustedRects1.value.filter(rect => newGlassIds.has(rect.glassId));
- // 璁$畻鏂扮殑鐭╁舰
const newRects = data.intoGlass[0].map(rect => {
- const scaleFactor = 794.67/5087;
+ const scaleFactor = 810.89/5087;
const scaleFactorY = 430/2800;
let adjustedWidth, adjustedHeight, adjustedWidtha, adjustedHeighta,widtha,heighta;;
let newX = rect.yCoordinate;
@@ -192,11 +200,8 @@
adjustedRects1.value = []
}
if (data.waitingGlass && data.waitingGlass.length > 0) {
- // 鎻愬彇鏂扮殑鐭╁舰ID
const newGlassIds = new Set(data.waitingGlass[0].map(rect => rect.glassId));
- // 杩囨护鍑哄凡瀛樺湪鐨勭煩褰�
const existingRects = adjustedRectsa.value.filter(rect => newGlassIds.has(rect.glassId));
- // 璁$畻鏂扮殑鐭╁舰
const newRects = data.waitingGlass[0].map(rect => {
const scaleFactor = 1390/5190;
const scaleFactorY = 750/2800;
@@ -304,20 +309,48 @@
onMounted(() => {
initializeWebSocket(socketUrl, handleMessage);
});
-function updateRectColorsa() {
+function updateRectColorsa() {
adjustedRectsa.value.forEach(rect => {
if (rect.glassId === glassId) {
rect.state = 8;
}
});
}
-function updateRectColorsb() {
+function updateoutColorsa() {
+ adjustedRectsa.value.forEach(rect => {
+ if (rect.glassId === glassId) {
+ rect.state = 9;
+ }
+ });
+}
+function updateonColorsa() {
+ adjustedRectsa.value.forEach(rect => {
+ if (rect.glassId === glassId) {
+ rect.state = 1;
+ }
+ });
+}
+function updateRectColorsb() {
adjustedRectsb.value.forEach(rect => {
if (rect.glassId === glassId) {
rect.state = 8;
}
});
}
+function updateoutColorsb() {
+ adjustedRectsb.value.forEach(rect => {
+ if (rect.glassId === glassId) {
+ rect.state = 9;
+ }
+ });
+}
+function updateonColorsb() {
+ adjustedRectsb.value.forEach(rect => {
+ if (rect.glassId === glassId) {
+ rect.state = 3;
+ }
+ });
+}
function updateRectColors1() {
adjustedRects1.value.forEach(rect => {
if (rect.glassId === glassId) {
@@ -335,13 +368,15 @@
function getRectColora(state) {
switch (state) {
case 0:
- return '#7AC5CD';
- case 1:
+ return '#7AC5CD';
+ case 1:
return '#95d475';
- case -1:
- return '#CDAF95';
- case 8:
- return '#911005';
+ case -1:
+ return '#CDAF95';
+ case 8:
+ return '#911005';
+ case 9:
+ return '#4682B4';
}
}
function getRectColorb(state) {
@@ -351,7 +386,9 @@
case 4:
return '#CD6090';
case 8:
- return '#911005';
+ return '#911005';
+ case 9:
+ return '#4682B4';
}
}
function showDialog1(rect) {
@@ -362,6 +399,12 @@
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
blind1.value = true;
+ currentRect.value = rect;
+ if (currentRect.value.state == 8) {
+ canSelectProject1.value = false;
+ } else if (currentRect.value.state !== 8) {
+ canSelectProject1.value = true;
+ }
}
function showDialog2(rect) {
const index = adjustedRects2.value.findIndex(r => r.glassId === rect.glassId);
@@ -371,6 +414,12 @@
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
blind2.value = true;
+ currentRect.value = rect;
+ if (currentRect.value.state == 8) {
+ canSelectProject2.value = false;
+ } else if (currentRect.value.state !== 8) {
+ canSelectProject2.value = true;
+ }
}
function showDialoga(rect) {
const index = adjustedRectsa.value.findIndex(r => r.glassId === rect.glassId);
@@ -379,7 +428,23 @@
}
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blinda.value = true;
+ blinda.value = true;
+ currentRect.value = rect;
+ if (currentRect.value.state == 8) {
+ canSelectProjecta.value = false;
+ } else if (currentRect.value.state !== 8) {
+ canSelectProjecta.value = true;
+ }
+ if (currentRect.value.state == 9) {
+ cantakea.value = false;
+ } else if (currentRect.value.state !== 9) {
+ cantakea.value = true;
+ }
+ if (currentRect.value.state == 1) {
+ canona.value = false;
+ } else if (currentRect.value.state == 0) {
+ canona.value = true;
+ }
}
function showDialogb(rect) {
const index = adjustedRectsb.value.findIndex(r => r.glassId === rect.glassId);
@@ -389,6 +454,22 @@
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
blindb.value = true;
+ currentRect.value = rect;
+ if (currentRect.value.state == 8) {
+ canSelectProjectb.value = false;
+ } else if (currentRect.value.state !== 8) {
+ canSelectProjectb.value = true;
+ }
+ if (currentRect.value.state == 9) {
+ cantakeb.value = false;
+ } else if (currentRect.value.state !== 9) {
+ cantakeb.value = true;
+ }
+ if (currentRect.value.state == 3) {
+ canonb.value = false;
+ } else if (currentRect.value.state !== 3) {
+ canonb.value = true;
+ }
}
const handleDialogClose1 = () => {
adjustedRects1.value.forEach(rect => {
@@ -425,7 +506,7 @@
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
- ElMessage.success(response.message);
+ ElMessage.success('鎴愬姛锛�');
blind1.value = false;
updateRectColors1();
} else {
@@ -442,13 +523,12 @@
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
glassId: currentGlassId.value,
- // temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
- ElMessage.success(response.message);
+ ElMessage.success('鎴愬姛锛�');
blind2.value = false;
updateRectColors2();
} else {
@@ -461,17 +541,17 @@
console.error(error);
}
}
+// 杩涚倝鍓嶇牬鎹�
const handleDamagea = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
glassId: currentGlassId.value,
- // temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
- ElMessage.success(response.message);
+ ElMessage.success('鎴愬姛锛�');
blinda.value = false;
updateRectColorsa();
} else {
@@ -484,19 +564,111 @@
console.error(error);
}
}
+// 杩涚倝鍓嶄汉宸ユ嬁璧�
+const takeouta = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ line: 4001,
+ status: 9,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blinda.value = false;
+ updateoutColorsa();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+// 杩涚倝鍓嶆斁鍥�
+const takeona = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ line: 4001,
+ status: 1,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blinda.value = false;
+ updateonColorsa();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+// 宸插嚭鐐夌牬鎹�
const handleDamageb = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
glassId: currentGlassId.value,
- // temperingFeedSequence: currenttemperingFeedSequence.value,
line: 4001,
status: 8,
workingProcedure: '閽㈠寲',
})
if (response.code == 200) {
- ElMessage.success(response.message);
+ ElMessage.success('鎴愬姛锛�');
blindb.value = false;
updateRectColorsb();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ // console.error(error);
+ }
+}
+// 宸插嚭鐐変汉宸ユ嬁璧�
+const takeoutb = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ line: 4001,
+ status: 9,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blindb.value = false;
+ updateoutColorsb();
+ } else {
+ // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ // console.error(error);
+ }
+}
+// 宸插嚭鐐夋斁鍥�
+const takeonb = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingState', {
+ glassId: currentGlassId.value,
+ line: 4001,
+ status: 3,
+ workingProcedure: '閽㈠寲',
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blindb.value = false;
+ updateonColorsb();
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
@@ -659,25 +831,42 @@
</el-card>
</el-card>
</div>
+<!-- 杩涚倝涓� -->
<el-dialog v-model="blind1" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose1">
- <el-button type="warning" plain :icon="Delete" @click="handleDamage1" style="width: 140px;margin-left: 10px;">
+ <el-button :disabled="!canSelectProject1" type="warning" plain :icon="Delete" @click="handleDamage1" style="width: 150px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
</el-dialog>
<el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
- <el-button type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 140px;margin-left: 10px;">
+ <el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 150px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
</el-dialog>
+ <!-- 杩涚倝鍓� -->
<el-dialog v-model="blinda" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClosea">
- <el-button type="warning" plain :icon="Delete" @click="handleDamagea" style="width: 140px;margin-left: 10px;">
+ <el-button type="warning" plain :icon="Delete" @click="handleDamagea" :disabled="!canSelectProjecta" style="width: 150px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
+ </el-button>
+ <el-button :disabled="!cantakea" type="danger" plain @click="takeouta" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ <el-icon class="el-icon--right"><Upload /></el-icon>
+ {{ $t('order.takeaway') }}
+ </el-button>
+ <el-button type="success" plain :icon="Edit" @click="takeona" :disabled="!canona" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('order.takeon') }}
</el-button>
</el-dialog>
+ <!-- 宸插嚭鐐� -->
<el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
- <el-button type="warning" plain :icon="Delete" @click="handleDamageb" style="width: 140px;margin-left: 10px;">
+ <el-button :disabled="!canSelectProjectb" type="warning" plain :icon="Delete" @click="handleDamageb" style="width: 150px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
+ <el-button :disabled="!cantakeb" type="danger" plain @click="takeoutb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ <el-icon class="el-icon--right"><Upload /></el-icon>
+ {{ $t('order.takeaway') }}
+ </el-button>
+ <!-- <el-button type="success" plain :icon="Edit" @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('order.takeon') }}
+ </el-button> -->
</el-dialog>
<el-dialog
v-model="dialogVisible"
@@ -728,7 +917,7 @@
border: 1px solid black;
background-color: #337ecc;
display:flex;
- align-items:center;
+ align-items:center;
justify-content:center;
}
#home-card {
@@ -771,7 +960,7 @@
}
.rect {
border: 1px solid black; /* 璁剧疆鐭╁舰鐨勮竟妗� */
- background-color: lightblue; /* 璁剧疆鐭╁舰鐨勮儗鏅壊 */
+ /* background-color: lightblue; 璁剧疆鐭╁舰鐨勮儗鏅壊 */
}
#rect {
position: relative; /* 纭繚绠ご鍙互鐩稿浜庣煩褰㈠畾浣� */
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
index dc37809..bba4ca2 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseStorage.vue
@@ -11,7 +11,8 @@
const adjustedRects = ref([]);
const currentGlassId = ref(null);
const currenttemperingFeedSequence = ref(null);
-
+const currentRect = ref(null);
+const canSelectProject = ref(true);
const dialogFormVisible = ref(true)
const dialogFormVisiblea = ref(false)
const blind = ref(false)
@@ -108,7 +109,13 @@
}
currentGlassId.value = rect.glassId;
currenttemperingFeedSequence.value = rect.temperingFeedSequence;
- blind.value = true;
+ blind.value = true;
+ currentRect.value = rect;
+ if (currentRect.value.state == 8) {
+ canSelectProject.value = false;
+ } else if (currentRect.value.state !== 8) {
+ canSelectProject.value = true;
+ }
}
const handleDialogClose = () => {
@@ -185,7 +192,7 @@
</el-card>
</div>
<el-dialog v-model="blind" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose">
- <el-button type="warning" plain :icon="Delete" @click="handleDamage" style="width: 140px;margin-left: 10px;">
+ <el-button :disabled="!canSelectProject" type="warning" plain :icon="Delete" @click="handleDamage" style="width: 140px;margin-left: 10px;">
{{ $t('order.dilapidation') }}
</el-button>
</el-dialog>
--
Gitblit v1.8.0