From c51c2a38142865cf43d33ceb5bc72b0283a110c2 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 05 九月 2024 10:42:23 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/HangZhouMes
---
UI-Project/src/views/Returns/returns.vue | 665 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 443 insertions(+), 222 deletions(-)
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index e179221..c5ffe12 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -5,6 +5,8 @@
const router = useRouter()
import type { TableColumnCtx } from 'element-plus'
import { ElMessage, ElMessageBox } from 'element-plus'
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
@@ -13,21 +15,36 @@
const adda = ref(false)
const flake = ref(false)
const flakea = ref(false)
-import { WebSocketHost } from '@/utils/constants'
+const flakeb = ref(false)
+const flakec = ref(false)
+const dialoglea = ref(false)
+const tableDatax = ref([])
+const user = ref('');
+const projectNo = ref('');
+const workstationId = ref('');
+const id = ref('');
+const patternHeight = ref('');
+const patternWidth = ref('');
+const filmsId = ref('');
+const patternThickness = ref('');
+const number = ref('');
+const canSelectProject = ref(true);
+const canStartLoading = ref(false);
+import { WebSocketHost ,host} from '@/utils/constants'
import request from "@/utils/request"
const ida = ref(null);
import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
-// 鍝嶅簲寮忔暟鎹�
const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫
const selectedValuea = ref('');
const selectedValueb = ref('');
const selectedValuec = ref('');
-const upstatus = ref(''); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const upstatus = ref(t('basicData.machineaa'));
const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
-const cuttingMachineStatusColor = ref(''); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
+const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
@@ -44,7 +61,7 @@
// 鏇存柊琛ㄦ牸鏁版嵁
console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
tableData.splice(0, tableData.length, ...response.data);
- window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
+ // window.localStorage.setItem('engineeringId', response.data[0].engineeringId)
// 鑾峰彇鍞竴鍊�
const uniqueWidths = new Set(response.data.map(item => item.width));
const uniqueHeights = new Set(response.data.map(item => item.height));
@@ -68,33 +85,110 @@
label: thickness,
}));
} else {
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
// ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
}
};
-request.get("/loadGlass/LoadGlass/list").then((res) => {
- window.localStorage.setItem('patternWidth', res.data.patternWidth)
- window.localStorage.setItem('workstationId', res.data.workstationId)
- if (res.code == 200) {
- console.log(res.data);
- tableDataa.value = res.data
- console.log(res.data.patternWidth);
-
- let workstationId = window.localStorage.getItem('workstationId')
- let patternWidth = window.localStorage.getItem('patternWidth')
- if (patternWidth !== '' || workstationId == '1') {
- flake.value = true
- } else if (patternWidth !== '' || workstationId == '2') {
- flakea.value = true
+const handlezhiban = () => {
+ dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ fetchFlowCardId();
+};
+const selectproject = () => {
+ dialogFormVisible.value = true;
+ selectgong();
+};
+// 鍊肩彮淇℃伅
+const fetchFlowCardId = async () => {
+ try {
+ const response = await request.post('/loadGlass/work_assignment/selectWorkAssignment',{
+ line: 2001,
+ workingProcedure : '鍐峰姞宸�'
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ tableDatax.value = response.data;
+ console.log(tableDatax.value);
+ console
+ } else {
+ ElMessage.error(response.message);
}
- } else {
- ElMessage.warning(res.msg)
- // router.push("/login")
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleConfirmb = async () => {
+ const response = await request.post("/loadGlass/work_assignment/updateWorkAssignment", tableDatax.value)
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ dialoglea.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+};
+onMounted(() => {
+ list('');
+ fetchOptions('');
+ socket = initializeWebSocket(socketUrl, handleMessage);
+});
+ onUnmounted(() => {
+ if (socket) {
+ closeWebSocket(socket);
+ }
+ });
+const list = async () => {
+ try {
+ const response = await request.get('/loadGlass/LoadGlass/list');
+ if (response.code == 200) {
+ tableDataa.value = response.data
+ if (tableDataa.value.length === 4) {
+ if (tableDataa.value[0].patternHeight > 0 && tableDataa.value[0].patternWidth > 0 && tableDataa.value[0].number > 0) {
+ flake.value = true;
}
- });
+ if (tableDataa.value[1].patternHeight > 0 && tableDataa.value[1].patternWidth > 0 && tableDataa.value[1].number > 0) {
+ flakea.value = true;
+ }
+ if (tableDataa.value[2].patternHeight > 0 && tableDataa.value[2].patternWidth > 0 && tableDataa.value[2].number > 0) {
+ flakeb.value = true;
+ }
+ if (tableDataa.value[3].patternHeight > 0 && tableDataa.value[3].patternWidth > 0 && tableDataa.value[3].number > 0) {
+ flakec.value = true;
+ }
+ }
+ } else {
+ ElMessage.warning(response.data);
+ }
+ } catch (error) {
+ console.error('Error fetching options:', error);
+ }
+};
+// 鍋囪杩欐槸鎮ㄧ殑鍝嶅簲澶勭悊鍑芥暟
+// request.get("/loadGlass/LoadGlass/list").then((res) => {
+// if (res.code == 200) {
+// tableDataa.value = res.data
+// if (tableDataa.value.length === 4) {
+// if (tableDataa.value[0].patternHeight > 0) {
+// flake.value = true;
+// }
+// if (tableDataa.value[1].patternHeight > 0) {
+// flakea.value = true;
+// }
+// if (tableDataa.value[2].patternHeight > 0) {
+// flakeb.value = true;
+// }
+// if (tableDataa.value[3].patternHeight > 0) {
+// flakec.value = true;
+// }
+// }
+// } else {
+// ElMessage.warning(res.message)
+// // router.push("/login")
+// }
+// });
//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
const titleSelectJson = ref({
processType: [],
@@ -102,19 +196,59 @@
const titleSelectJsona = ref({
processTypea: [],
})
-const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`;
+let socket = null;
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
- // 鏇存柊 tableData 鐨勬暟鎹�
-
+ if(data.prioritylist!=null){
tableData.splice(0, tableData.length, ...data.prioritylist[0]);
+ }
+ if(data.list!=null){
tableDataa.value = data.list[0]
- // console.log("鏇存柊鍚庢暟鎹�", tableData);
+ }
+ if(data.engineering ){
+ if ( Array.isArray(data.engineering) && data.engineering.length !== 0) {
+ canSelectProject.value = false;
+ canStartLoading.value = true;
+ }else{
+ canSelectProject.value = true;
+ canStartLoading.value = false;
+ }
+}
+if (data.InkageStatus) {
+if(data.InkageStatus!=null){
+ const status = data.InkageStatus[0];
+ cuttingMachine.value = status;
+ upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+ inKageWord.value = status === '1' ? 0 : 1;
+}
+}
};
const requestData = {
state: 100
};
-// 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁�
+
+
+
+
+const selectgong = async (queryString: string) => {
+ try {
+ const response = await request.post('/loadGlass/optimizeProject/listByState',{
+ ...requestData,
+ query: queryString
+ })
+ if (response.code == 200) {
+ titleSelectJson.value.processType = response.data;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
const fetchOptions = async (queryString: string) => {
try {
// 鍙戦�佽姹傚埌鍚庣鎺ュ彛
@@ -122,9 +256,8 @@
...requestData,
query: queryString // 灏嗘煡璇㈠瓧绗︿覆浣滀负鍙傛暟浼犻��
});
-
if (response.code == 200) {
- titleSelectJson.value.processType = response.data;
+ // titleSelectJson.value.processType = response.data;
console.log(response.data);
} else {
@@ -133,7 +266,7 @@
} catch (error) {
console.error('Error fetching options:', error);
}
-};
+};
// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉�
const handleInputChange = async (value: string) => {
if (value) {
@@ -150,36 +283,19 @@
options.value = []; // 娓呯┖閫夐」鍒楄〃
}
};
-// 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級
-onMounted(() => {
- fetchOptions('');
- initializeWebSocket(socketUrl, handleMessage);
-});
onBeforeUnmount(() => {
- console.log("鍏抽棴浜�")
closeWebSocket();
});
-const user = ref('');
-const projectNo = ref('');
-const workstationId = ref('');
-const id = ref('');
-const patternHeight = ref('');
-const patternWidth = ref('');
-const filmsId = ref('');
-const patternThickness = ref('');
-const number = ref('');
// 娣诲姞
const handleBindRack = (row) => {
workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
ida.value = row.id;
- console.log(ida.value);
add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
// 娣诲姞
const handleConfirm = async () => {
- console.log(ida.value);
// console.log('id.value:', id.value);
- if ((ida.value === 2 || ida.value === 4) && (parseInt(patternHeight.value, 10) >= 2700 )) {
+ if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700 )) {
try {
const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
id: workstationId.value,
@@ -190,32 +306,50 @@
patternThickness: selectedValuec.value,
number: number.value
});
+ // window.localStorage.setItem('workstationId', workstationId.value)
+ // window.localStorage.setItem('patternHeight', selectedValuea.value)
+ // window.localStorage.setItem('patternWidth', selectedValue.value)
+ // window.localStorage.setItem('number', number.value)
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
// window.location.reload()
add.value = false;
tableDataa.value = response.data;
+ // let workstationId = window.localStorage.getItem('workstationId')
+ // let patternHeight = window.localStorage.getItem('patternHeight')
+ // let patternWidth = window.localStorage.getItem('patternWidth')
+ // let number = window.localStorage.getItem('number')
+ if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
+ flake.value = true
+ } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){
+ flakea.value = true
+ }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){
+ flakeb.value = true
+ }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){
+ flakec.value = true
+ }
+ // if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '1') {
+ // flake.value = true
+ // } else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '2'){
+ // flakea.value = true
+ // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '3'){
+ // flakeb.value = true
+ // }else if (patternHeight !== '0' && patternWidth !== '0' && number !== '0' && workstationId === '4'){
+ // flakec.value = true
+ // }
selectedValuea.value = '';
selectedValue.value = '';
selectedValueb.value = '';
selectedValuec.value = '';
number.value = '';
- window.localStorage.setItem('workstationId', response.data.workstationId)
- let workstationId = window.localStorage.getItem('workstationId')
- if (workstationId == '1') {
- flake.value = true
- } else if (workstationId == '2'){
- flakea.value = true
- }
+ list()
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰閿欒
- console.error(error);
- alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�');
}
}
else if( ida.value === 1 || ida.value === 3){
@@ -235,35 +369,35 @@
// window.location.reload()
add.value = false;
tableDataa.value = response.data;
+ if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
+ flake.value = true
+ } else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '2'){
+ flakea.value = true
+ }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '3'){
+ flakeb.value = true
+ }else if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '4'){
+ flakec.value = true
+ }
selectedValuea.value = '';
selectedValue.value = '';
selectedValueb.value = '';
selectedValuec.value = '';
number.value = '';
- window.localStorage.setItem('workstationId', response.data.workstationId)
- let workstationId = window.localStorage.getItem('workstationId')
- if (workstationId == '1') {
- flake.value = true
- } else if (workstationId == '2'){
- flakea.value = true
- }
+ list()
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊璇锋眰閿欒
- console.error(error);
- alert('璇锋眰澶辫触锛岃绋嶅悗鍐嶈瘯锛�');
}
}
else {
ElMessage({
type: 'info',
- message: '绗簩琛屽拰绗洓琛岀殑楂樺繀椤诲ぇ浜�2700鎵嶈兘淇濆瓨锛�',
+ message: t('basicData.pause'),
})
}
-
};
// 鍒犻櫎
const handleConfirma = async () => {
@@ -275,23 +409,27 @@
filmsId: "",
patternThickness: 0,
number: 0
- });
-
+ });
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
adda.value = false;
tableDataa.value = response.data;
- window.localStorage.setItem('workstationId', response.data.workstationId)
- let workstationId = window.localStorage.getItem('workstationId')
- if (workstationId == '1') {
+ // window.localStorage.setItem('workstationId', response.data.workstationId)
+ // let workstationId = window.localStorage.getItem('workstationId')
+ if (workstationId.value == '1') {
flake.value = false
- } else if (workstationId == '2'){
+ } else if (workstationId.value == '2'){
flakea.value = false
+ }else if (workstationId.value == '3'){
+ flakeb.value = false
+ }else if (workstationId.value == '4'){
+ flakec.value = false
}
- } else {
+ list()
+ } else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
} catch (error) {
// 澶勭悊閿欒
@@ -304,6 +442,7 @@
const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
engineerId: selectedProjectNo.value,
})
+ window.localStorage.setItem('engineeringId', selectedProjectNo.value)
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
@@ -313,9 +452,30 @@
selectedProjectNo.value = ''
markingMachineStatus.value = '#911005';
cuttingMachineStatus.value = '#911005';
+ const uniqueWidths = new Set(response.data.map(item => item.width));
+ const uniqueHeights = new Set(response.data.map(item => item.height));
+ const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+ const uniqueThicknesses = new Set(response.data.map(item => item.thickness));
+ selectOptions.value = Array.from(uniqueWidths).map(width => ({
+ value: width,
+ label: width,
+ }));
+ selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
+ value: height,
+ label: height,
+ }));
+ selectOptionsb.value = Array.from(uniqueFilmsIds).map(filmsId => ({
+ value: filmsId,
+ label: filmsId,
+ }));
+ selectOptionsc.value = Array.from(uniqueThicknesses).map(thickness => ({
+ value: thickness,
+ label: thickness,
+ }));
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
+ // ElMessage.error(response.msg);
}
}
catch (error) {
@@ -325,12 +485,9 @@
}
// 寮�濮嬩笂鐗�
const handle = async () => {
- if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
-
+ if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
try {
let engineeringId = window.localStorage.getItem('engineeringId')
-console.log(engineeringId);
-
const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
engineerId: engineeringId,
state: 1,
@@ -340,10 +497,10 @@
ElMessage.success(response.message);
// window.location.reload()
blind.value = false;
- selectedProjectNoa.value = ''
+ selectedProjectNoa.value = '';
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
catch (error) {
@@ -352,7 +509,7 @@
}
} else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
// 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
- ElMessage.warning('璇风‘璁ゆ墦鏍囨満鍜屽垏鍓叉満鐨勫氨缁姸鎬侊紒');
+ ElMessage.warning(t('basicData.pausea'));
}
}
// 鏆傚仠
@@ -368,16 +525,16 @@
if (response.code == 200) {
ElMessage.success(response.message);
blinda.value = false;
- tableData.splice([]);
+ // tableData.splice([]);
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
else {
ElMessage({
type: 'info',
- message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒',
+ message: t('basicData.infonull'),
})
}
}
@@ -404,13 +561,13 @@
tableData.splice([]);
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.msg);
+ ElMessage.error(response.message);
}
}
else {
ElMessage({
type: 'info',
- message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒',
+ message: t('basicData.infonull'),
})
}
}
@@ -423,13 +580,13 @@
function getStatusText(state: number) {
switch (state) {
case 0:
- return '绛夊緟涓�';
+ return t('basicData.waiting');
case 1:
- return '涓婄墖涓�';
+ return t('basicData.up');
case 2:
- return '涓婄墖涓�';
+ return t('basicData.up');
case 100:
- return '宸插畬鎴�';
+ return t('basicData.finish');
}
}
function getStatusType(state: number) {
@@ -472,50 +629,67 @@
const confirmCuttingMachine = () => {
cuttingMachineStatus.value = 'green';
};
-
-
-
-const wsUrl = 'ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass';
-const ws = new WebSocket(wsUrl);
-ws.onopen = () => {
- console.log('WebSocket杩炴帴宸叉墦寮�');
-};
-
-// 鐩戝惉WebSocket鐨勯敊璇簨浠�
-ws.onerror = (error) => {
- console.error('WebSocket鍙戠敓閿欒:', error);
-};
-
-// 鐩戝惉WebSocket鐨勫叧闂簨浠�
-ws.onclose = (event) => {
- if (event.wasClean) {
- console.log('WebSocket杩炴帴宸叉甯稿叧闂�');
- } else {
- console.error('WebSocket杩炴帴寮傚父鍏抽棴');
+const toggleEnableState = async (row: any) => {
+ // 妫�鏌� id 鏄惁涓虹┖
+ if (!row.id) {
+ ElMessage.error(t('basicData.updatanull'));
+ return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
}
-};
-
-// 鐩戝惉WebSocket鐨勬秷鎭簨浠�
-ws.onmessage = (event) => {
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏄疛SON鏍煎紡鐨勫瓧绗︿覆
+ const newState = row.state === 100 ? 0 : 100;
try {
- const data = JSON.parse(event.data); // 瑙f瀽娑堟伅涓篔SON
-
- // 鍋囪鏈嶅姟鍣ㄥ彂閫佺殑鏁版嵁缁撴瀯鏄� { InkageStatus: ["1"] }
- if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
- const status = data.InkageStatus[0];
- cuttingMachine.value = status;
- upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
- inKageWord.value = status === '1' ? 0 : 1;
+ // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
+ const response = await request.post('/loadGlass/up-patten-usage/updateGlassState', { id: row.id, state: newState });
+ if (response.code === 200) {
+ ElMessage.success(response.message);
+ row.state = newState;
} else {
- // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
- console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);
+ ElMessage.error(response.message);
}
} catch (error) {
- console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);
+ // 澶勭悊璇锋眰閿欒
+ ElMessage.error(t('basicData.glassnull'));
}
};
+// 涓婄墖鏈鸿仈鏈虹姸鎬�
+// const wsUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
+// const ws = new WebSocket(wsUrl);
+// ws.onopen = () => {
+// console.log('WebSocket杩炴帴宸叉墦寮�');
+// };
+
+// // 鐩戝惉WebSocket鐨勯敊璇簨浠�
+// ws.onerror = (error) => {
+// console.error('WebSocket鍙戠敓閿欒:', error);
+// };
+
+// // 鐩戝惉WebSocket鐨勫叧闂簨浠�
+// ws.onclose = (event) => {
+// if (event.wasClean) {
+// console.log('WebSocket杩炴帴宸叉甯稿叧闂�');
+// } else {
+// console.error('WebSocket杩炴帴寮傚父鍏抽棴');
+// }
+// };
+// // 鐩戝惉WebSocket鐨勬秷鎭簨浠�
+// ws.onmessage = (event) => {
+// try {
+// const data = JSON.parse(event.data.replace('<END>', '')); // 瑙f瀽娑堟伅涓篔SON
+// if (data && Array.isArray(data.InkageStatus) && data.InkageStatus.length > 0) {
+// if(data.InkageStatus!=null){
+// const status = data.InkageStatus[0];
+// cuttingMachine.value = status;
+// upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+// cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+// inKageWord.value = status === '1' ? 0 : 1;
+// }
+// } else {
+// // 澶勭悊閿欒鎯呭喌鎴栨棤鏁堟暟鎹�
+// // console.error('鎺ユ敹鍒扮殑鏁版嵁鏃犳晥', data);
+// }
+// } catch (error) {
+// // console.error('瑙f瀽WebSocket娑堟伅鏃跺彂鐢熼敊璇�', error);
+// }
+// };
const confirmCutting = async () => {
try {
const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad',
@@ -523,8 +697,8 @@
);
if (response.code == 200) {
const status = response.data.status;
- upstatus.value = status === '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬�' : '涓婄墖鏈烘墜鍔ㄧ姸鎬�';
- cuttingMachineStatusColor.value = status === '1' ? '#911005' : 'green';
+ upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
// 鏄剧ず鎴愬姛娑堟伅
ElMessage.success(response.message);
} else {
@@ -536,61 +710,48 @@
ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
}
};
-// const confirmCutting = async () => {
-// try {
-// const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad', {
-// inKageWord: inKageWord.value
-// })
-// if (response.code == 200) {
-// inKageWord == '1' ? '涓婄墖鏈鸿仈鏈虹姸鎬侊細' : '涓婄墖鏈烘墜鍔ㄧ姸鎬侊細';
-// inKageWord.value == '1' ? '#911005' : 'green';
-// ElMessage.success(response.message);
-// } else {
-// // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
-// ElMessage.error(response.msg);
-// }
-// }
-// catch (error) {
-// // 澶勭悊閿欒
-// console.error(error);
-// }
-// }
</script>
-
<template>
<div>
<div id="dotClass">
- <div>鎵撴爣鏈哄氨缁姸鎬侊細</div>
+ <div>{{ $t('basicData.laserprinting') }}</div>
<i :style="{ marginTop: '2px', backgroundColor: markingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">纭</el-button>
- <div style="margin-left: 70px;">鍒囧壊鏈哄氨缁姸鎬侊細</div>
+ <el-button @click="confirmMarkingMachine" style="margin-left: 30px;margin-top: -3px;">{{ $t('basicData.yes') }}</el-button>
+ <div style="margin-left: 70px;">{{ $t('basicData.cuttingmachine') }}</div>
<i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatus, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >纭</el-button>
+ <el-button @click="confirmCuttingMachine" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.yes') }}</el-button>
<div style="margin-left: 70px;">{{ upstatus }} </div>
<i :style="{ marginTop: '2px', backgroundColor: cuttingMachineStatusColor, width: '18px', height: '18px', borderRadius: '50%', display: 'block' }"></i>
- <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >纭</el-button>
+ <el-button @click="confirmCutting" style="margin-left: 30px;margin-top: -3px;" >{{ $t('basicData.change') }}</el-button>
</div>
- <el-button style="margin-top: 5px;margin-left: 15px;" id="searchButton" type="primary" @click="dialogFormVisible = true">閫夋嫨宸ョ▼</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">寮�濮嬩笂鐗�</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">鏆傚仠</el-button>
- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button>
+ <el-button :disabled="!canSelectProject" style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('basicData.selectproject') }}</el-button>
+ <el-button :disabled="!canSelectProject" :style="{ backgroundColor: canStartLoading ? 'green' : 'initial',color: canStartLoading ? 'white' : 'black', }" style="margin-top: 5px;margin-left: 20px;" @click="handleBind">{{ $t('basicData.startloading') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">{{ $t('basicData.stop') }}</el-button>
+ <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="info" @click="handlezhiban">{{ $t('searchOrder.dutyinformation') }}</el-button>
+ <!-- <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button> -->
<el-card style="flex: 1;margin-left: 10px;margin-top: 15px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
<el-table
- height="150"
+ height="350"
ref="table"
:header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
:data="tableData"
>
- <el-table-column prop="engineeringId" label="宸ョ▼鍙�" width="200" align="center"/>
- <el-table-column prop="width" label="鍘熺墖瀹�" align="center"/>
- <el-table-column prop="height" label="鍘熺墖楂�" align="center"/>
- <el-table-column prop="filmsId" label="鑶滅郴" align="center"/>
- <el-table-column prop="layoutSequence" label="鏁伴噺" align="center"/>
- <el-table-column prop="thickness" label="鍘氬害" align="center"/>
- <el-table-column
+ <el-table-column prop="layoutSequence" :label="$t('basicData.layoutSequence')" width="100" align="center"/>
+ <el-table-column prop="engineeringId" :label="$t('basicData.projectnumber')" width="200" align="center"/>
+ <el-table-column prop="width" :label="$t('basicData.glasswidth')" align="center"/>
+ <el-table-column prop="height" :label="$t('basicData.glassheight')" align="center"/>
+ <el-table-column prop="filmsId" :label="$t('basicData.coatingtypes')" align="center"/>
+ <el-table-column :label="$t('basicData.quantity')" align="center">
+ <template #default="{ row }">
+ <!-- 杩欓噷鎬绘槸鏄剧ず 1 -->
+ <span>{{ 1 }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="thickness" :label="$t('basicData.thickness')" align="center"/>
+ <!-- <el-table-column
align="center"
label="鐘舵��"
min-width="80"
@@ -600,32 +761,72 @@
<el-tag :type="getStatusType(scope.row.state)">
{{ getStatusText(scope.row.state) }}
</el-tag>
- </template>
+ </template> -->
+ <el-table-column
+ align="center"
+ :label="$t('basicData.startstatus')"
+ min-width="80"
+ prop="state"
+ >
+ <template #default="scope">
+ <el-tag
+ :type="scope.row.state === 100 ? 'success' : 'warning'"
+ @click="toggleEnableState(scope.row)"
+ >
+ {{ scope.row.state === 100 ? $t('basicData.pass') : $t('basicData.waiting') }}
+ </el-tag>
+ </template>
</el-table-column>
</el-table>
</div>
</el-card>
- <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" >
+ <el-dialog v-model="blind" top="30vh" width="25%" :title="$t('basicData.startfilm')">
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handle">
- 纭
+ {{ $t('basicData.confirm') }}
</el-button>
- <el-button @click="blind = false">鍙栨秷</el-button>
+ <el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
- <el-dialog v-model="blinda" top="30vh" width="25%" title="鏄惁鏆傚仠?" >
+
+<el-dialog v-model="dialoglea" top="15vh" width="70%" :title="$t('searchOrder.dutyinformation')">
+ <el-table ref="table" style="margin-top: 20px;height: 300px;"
+ :data="tableDatax" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}">
+ <el-table-column prop="line" fixed align="center" :label="$t('searchOrder.line')"/>
+ <el-table-column prop="workProcesses" fixed align="center" :label="$t('searchOrder.process')" />
+ <el-table-column prop="teamsGroupsName" align="center" :label="$t('searchOrder.team')">
+ <template #default="{ row }">
+ <el-input v-model="row.teamsGroupsName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ <el-table-column prop="deviceName" align="center" :label="$t('searchOrder.basic')">
+ <template #default="{ row }">
+ <el-input v-model="row.deviceName" autocomplete="off" min-width="150"/>
+ </template>
+ </el-table-column>
+ </el-table>
+ <template #footer>
+ <div id="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">
+ {{ $t('searchOrder.add') }}
+ </el-button>
+ <el-button @click="dialoglea = false">{{ $t('searchOrder.cancel') }}</el-button>
+ </div>
+ </template>
+</el-dialog>
+ <el-dialog v-model="blinda" top="30vh" width="25%" :title="$t('basicData.whetherpause')">
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handlea">
- 纭
+ {{ $t('basicData.confirm') }}
</el-button>
- <el-button @click="blinda = false">鍙栨秷</el-button>
+ <el-button @click="blinda = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
- <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" >
+ <!-- <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" >
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleb">
@@ -634,31 +835,33 @@
<el-button @click="blindb = false">鍙栨秷</el-button>
</div>
</template>
- </el-dialog>
+ </el-dialog> -->
<div id="parent">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;">
+ <img src="../../assets/shangpian.png" alt="" style="max-width: 40%;max-height: 40%;margin-top: 20px;margin-left: 340px;">
<div id="overlay" v-show="flake"></div>
<div id="overlaya" v-show="flakea"></div>
+ <div id="overlayb" v-show="flakeb"></div>
+ <div id="overlayc" v-show="flakec"></div>
</div>
- <div style="margin-top: -350px;margin-left: 650px;">
- <el-table :data="tableDataa" border style="width: 70%"
+ <div style="margin-top: -300px;margin-left: 680px;">
+ <el-table :data="tableDataa" border style="width: 85%"
:header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
>
- <el-table-column prop="workstationId" align="center" label="宸ヤ綅" min-width="50" />
- <el-table-column prop="patternWidth" align="center" label="瀹�" min-width="80" />
- <el-table-column prop="patternHeight" align="center" label="楂�" min-width="80" />
- <el-table-column prop="filmsId" align="center" label="鑶滅郴" min-width="80" />
- <el-table-column prop="number" align="center" label="鏁伴噺" min-width="80" />
- <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150">
+ <el-table-column prop="workstationId" align="center" :label="$t('basicData.station')" min-width="60" />
+ <el-table-column prop="patternWidth" align="center" :label="$t('basicData.width')" min-width="80" />
+ <el-table-column prop="patternHeight" align="center" :label="$t('basicData.height')" min-width="80" />
+ <el-table-column prop="filmsId" align="center" :label="$t('basicData.coatingtypes')" min-width="80" />
+ <el-table-column prop="number" align="center" :label="$t('basicData.quantity')" min-width="80" />
+ <el-table-column fixed="right" :label="$t('basicData.operate')" align="center" width="150">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">娣诲姞</el-button>
- <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鍒犻櫎</el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">{{ $t('basicData.add') }}</el-button>
+ <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">{{ $t('basicData.delete') }}</el-button>
</template>
</el-table-column>
</el-table>
</div>
- <el-dialog v-model="add" top="23vh" width="45%" title="娣诲姞鍘熺墖" >
+ <el-dialog v-model="add" top="23vh" width="45%" :title="$t('basicData.addglass')" >
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
<el-form size="mini" label-width="150px">
<el-form label-width="70px" label-position="right">
@@ -666,12 +869,12 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="瀹斤細" :required="true" style="width: 14vw">
+ <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
<el-select
v-model="selectedValue"
filterable
clearable
- placeholder="璇烽�夋嫨瀹�"
+ :placeholder="$t('basicData.selectwidth')"
style="width: 220px"
@input="handleInputChangea"
>
@@ -688,12 +891,12 @@
<el-col :span="9">
<div id="dta" style="font-size: 15px;">
<div>
- <el-form-item label="楂橈細" :required="true" style="width: 14vw">
+ <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw">
<el-select
v-model="selectedValuea"
filterable
clearable
- placeholder="璇烽�夋嫨楂�"
+ :placeholder="$t('basicData.selectheight')"
style="width: 220px"
@input="handleInputChangea"
>
@@ -712,12 +915,12 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="鑶滅郴锛�" :required="true" style="width: 14vw;">
+ <el-form-item :label="$t('basicData.coatingtypesa')" :required="true" style="width: 14vw;">
<el-select
v-model="selectedValueb"
filterable
clearable
- placeholder="璇烽�夋嫨鑶滅郴"
+ :placeholder="$t('basicData.selectcoatingtypes')"
style="width: 220px"
@input="handleInputChangea"
>
@@ -733,12 +936,12 @@
<el-col :span="9">
<div id="dta" style="font-size: 15px;">
<div>
- <el-form-item label="鍘氬害锛�" :required="true" style="width: 14vw">
+ <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw">
<el-select
v-model="selectedValuec"
filterable
clearable
- placeholder="璇烽�夋嫨鍘氬害"
+ :placeholder="$t('basicData.selectthickness')"
style="width: 220px"
@input="handleInputChangea"
>
@@ -757,8 +960,8 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
- <el-form-item label="鏁伴噺锛�" :required="true" style="width: 14vw;">
- <el-input v-model="number" autocomplete="off" />
+ <el-form-item :label="$t('basicData.quantitya')" :required="true" style="width: 14vw;">
+ <el-input :placeholder="$t('basicData.selectquantity')" v-model="number" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -768,31 +971,31 @@
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleConfirm">
- 纭
+ {{ $t('basicData.confirm') }}
</el-button>
- <el-button @click="add = false">鍙栨秷</el-button>
+ <el-button @click="add = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
- <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" >
+ <el-dialog v-model="adda" top="30vh" width="25%" :title="$t('basicData.deletemessage')">
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleConfirma">
- 纭
+ {{ $t('basicData.confirm') }}
</el-button>
- <el-button @click="adda = false">鍙栨秷</el-button>
+ <el-button @click="adda = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
</div>
- <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="宸ョ▼" >
+ <el-dialog v-model="dialogFormVisible" top="24vh" width="30%" :title="$t('basicData.project')" >
<div style="margin-left: 50px;margin-bottom: 10px;">
- <el-form-item label="宸ョ▼鍙凤細" :required="true">
+ <el-form-item :label="$t('basicData.projectnumber')" :required="true">
<el-select
v-model="selectedProjectNo"
filterable
clearable
- placeholder="璇烽�夋嫨宸ョ▼"
+ :placeholder="$t('basicData.plselectproject')"
style="width: 220px"
@input="handleInputChange"
>
@@ -808,9 +1011,9 @@
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleup">
- 纭
+ {{ $t('basicData.confirm') }}
</el-button>
- <el-button @click="dialogFormVisible = false">鍙栨秷</el-button>
+ <el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
@@ -836,23 +1039,41 @@
width: 1500px;
margin-left: -300px
}
+#overlayb{
+ position: absolute;
+ z-index: 1;
+ width: 228px;
+ height: 16px;
+ background-color: #529b2e;
+ margin-top: -303px;
+ margin-left: 355px;
+}
+#overlayc{
+ position: absolute;
+ z-index: 1;
+ width: 228px;
+ height: 16px;
+ background-color: #529b2e;
+ margin-top: -303px;
+ margin-left:703px;
+}
#overlay{
position: absolute;
z-index: 1;
- width: 212px;
- height: 15px;
+ width: 228px;
+ height: 16px;
background-color: #529b2e;
- margin-top: -404px;
- margin-left: 542px;
+ margin-top: -45px;
+ margin-left: 355px;
}
#overlaya{
position: absolute;
z-index: 1;
- width: 212px;
- height: 15px;
+ width: 228px;
+ height: 16px;
background-color: #529b2e;
- margin-top: -38px;
- margin-left: 537px;
+ margin-top: -45px;
+ margin-left: 703px;
}
</style>
\ No newline at end of file
--
Gitblit v1.8.0