From 3c4b340b58d0d0bdbc3db74b5721586dd964f86c Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期五, 08 十一月 2024 14:49:29 +0800
Subject: [PATCH] 义乌上片后端接口及前端页面样式与调用
---
UI-Project/config.js | 12
UI-Project/src/views/Returns/returns.vue | 417 ++++---------
hangzhoumesParent/gateway/src/main/resources/application.yml | 1
UI-Project/src/views/GlassStorage/rawfilmstorage.vue | 20
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 11
UI-Project/src/lang/zh.js | 42
UI-Project/src/utils/constants.js | 4
UI-Project/src/views/Returns/upreturns.vue | 559 ++++++++----------
UI-Project/src/views/Returns/upreturns2.vue | 601 +++++++++-----------
hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java | 4
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java | 2
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java | 8
hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java | 8
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java | 4
14 files changed, 727 insertions(+), 966 deletions(-)
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 8801d0c..fe2c190 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"
- // serverUrl2: "192.168.1.199:88"
- serverUrl2: "127.0.0.1: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"
- //serverUrl:"res.abeim.cn"
+ //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 764f1f3..544e3c4 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -615,23 +615,29 @@
station :'宸ヤ綅',
},
Mounting:{
- previewproject :'閫夋嫨棰勮宸ョ▼',
- loadinglinea :'涓婄墖绾�',
- loadingline :'涓婄墖绾匡細',
- inloadingline :'璇烽�夋嫨涓婄墖绾�',
- oneloadingline :'涓�鍙蜂笂鐗囩嚎',
- twoloadingline :'浜屽彿涓婄墖绾�',
- waiting :'绛夊緟涓�',
- setparameters :'璁剧疆鍙傛暟',
- project :'宸ョ▼鍙�',
- projecta :'宸ョ▼鍙凤細',
- width :'鍘熺墖瀹�',
- height :'鍘熺墖楂�',
- thickness :'鍘熺墖鍘�',
- projectnumber :'宸ョ▼鍘熺墖搴忓彿',
- state :'鐘舵��',
- createtime :'鍒涘缓鏃堕棿',
- all :'鍏ㄩ��',
-
+ previewproject: '閫夋嫨棰勮宸ョ▼',
+ loadinglinea: '涓婄墖绾�',
+ loadingline: '涓婄墖绾匡細',
+ inloadingline: '璇烽�夋嫨涓婄墖绾�',
+ oneloadingline: '涓�鍙蜂笂鐗囩嚎',
+ twoloadingline: '浜屽彿涓婄墖绾�',
+ waiting: '绛夊緟涓�',
+ pass: '閫氳繃',
+ setparameters: '璁剧疆鍙傛暟',
+ project: '宸ョ▼鍙�',
+ projecta: '宸ョ▼鍙凤細',
+ width: '鍘熺墖瀹�',
+ height: '鍘熺墖楂�',
+ thickness: '鍘熺墖鍘�',
+ projectnumber: '宸ョ▼鍘熺墖搴忓彿',
+ state: '鐘舵��',
+ createtime: '鍒涘缓鏃堕棿',
+ all: '鍏ㄩ��',
+ removalmethod: '璇烽�夋嫨闄よ啘鏂瑰紡',
+ removalmethoda: '闄よ啘鏂瑰紡锛�',
+ noremoval: '涓嶉櫎鑶�',
+ coarselyground: '绮楃(',
+ finegrinding: '绮剧(',
+
}
}
\ No newline at end of file
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/GlassStorage/rawfilmstorage.vue b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
index f81a1eb..900dc17 100644
--- a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
+++ b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue
@@ -1,18 +1,16 @@
<script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
-const router = useRouter()
-import type { TableColumnCtx } from 'element-plus'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { useI18n } from 'vue-i18n'
-import { WebSocketHost ,host} from '@/utils/constants'
+import {ElMessage, ElMessageBox} from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+
+const router = useRouter()
const tableDataa = ref([])
const tableDatab = ref([])
-const { t } = useI18n()
+const {t} = useI18n()
const add = ref(false)
const dialogFormVisiblea = ref(false)
const dialogFormVisibleb = ref(false)
@@ -59,7 +57,7 @@
});
onMounted(() => {
// closeWebSocket();
- debugger
+ // debugger // 鏂偣
// console.log("--------------webSocket")
socket = initializeWebSocket(socketUrl, handleMessage);
});
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index 4610faf..cf28409 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -1,12 +1,14 @@
<script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
+import {ElMessage} from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {host, WebSocketHost} from '@/utils/constants'
+import request from "@/utils/request"
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+
const router = useRouter()
-import type { TableColumnCtx } from 'element-plus'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { useI18n } from 'vue-i18n'
-const { t } = useI18n()
+const {t} = useI18n()
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
@@ -30,48 +32,39 @@
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 ida = ref(null);
+const selectedProjectNo = ref('');
+const selectedProjectNoa = ref('');
+const selectedValue = ref('');
+const selectedValuea = ref('');
const selectedValueb = ref('');
-const selectedValuec = ref('');
-// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
+const selectedValuec = ref('');
const upstatus = ref(t('basicData.machineaa'));
-const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
+const cuttingMachine = ref('');
const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
-const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
-const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
- const tableDataa = ref([])
- const tableData = reactive([]);
- const fetchTableData = async () => {
+const options = ref<any[]>([]);
+const selectOptions = ref<Array<any>>([]);
+const selectOptionsa = ref<Array<any>>([]);
+const selectOptionsb = ref<Array<any>>([]);
+const selectOptionsc = ref<Array<any>>([]);
+const tableDataa = ref([])
+const tableData = reactive([]);
+const fetchTableData = async () => {
try {
const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
- // 妫�鏌ュ搷搴旂姸鎬�
if (response.code === 200) {
- // 鏇存柊琛ㄦ牸鏁版嵁
console.log('鎴愬姛鑾峰彇琛ㄦ牸鏁版嵁:', response.data);
tableData.splice(0, tableData.length, ...response.data);
- // 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));
- const uniqueFilmsIds = new Set(response.data.map(item => item.filmsId));
+ 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, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
- label: width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
- }));
+ selectOptions.value = Array.from(uniqueWidths).map(width => ({
+ value: width,
+ label: width,
+ }));
selectOptionsa.value = Array.from(uniqueHeights).map(height => ({
value: height,
label: height,
@@ -93,12 +86,12 @@
}
};
const handlezhiban = () => {
- dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ dialoglea.value = true;
fetchFlowCardId();
};
const selectproject = () => {
- dialogFormVisible.value = true;
- selectgong();
+ dialogFormVisible.value = true;
+ selectgong();
};
// 鍊肩彮淇℃伅
const fetchFlowCardId = async () => {
@@ -110,14 +103,11 @@
if (response.code == 200) {
ElMessage.success(response.message);
tableDatax.value = response.data;
- console.log(tableDatax.value);
- console
} else {
ElMessage.error(response.message);
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
}
@@ -131,15 +121,15 @@
}
};
onMounted(() => {
- list('');
+ list('');
fetchOptions('');
socket = initializeWebSocket(socketUrl, handleMessage);
});
- onUnmounted(() => {
- if (socket) {
+onUnmounted(() => {
+ if (socket) {
closeWebSocket(socket);
- }
- });
+ }
+});
const list = async () => {
try {
const response = await request.get('/loadGlass/LoadGlass/list');
@@ -166,30 +156,6 @@
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: [],
})
@@ -198,7 +164,6 @@
})
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
const handleMessage = (data) => {
if(data.prioritylist!=null){
tableData.splice(0, tableData.length, ...data.prioritylist[0]);
@@ -228,15 +193,11 @@
const requestData = {
state: 100
};
-
-
-
-
const selectgong = async (queryString: string) => {
try {
const response = await request.post('/loadGlass/optimizeProject/listByState',{
- ...requestData,
- query: queryString
+ ...requestData,
+ projectNo: queryString
})
if (response.code == 200) {
titleSelectJson.value.processType = response.data;
@@ -245,23 +206,20 @@
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
}
-const fetchOptions = async (queryString: string) => {
- try {
- // 鍙戦�佽姹傚埌鍚庣鎺ュ彛
- const response = await request.post('/loadGlass/optimizeProject/listByState', {
- ...requestData,
- query: queryString // 灏嗘煡璇㈠瓧绗︿覆浣滀负鍙傛暟浼犻��
- });
- if (response.code == 200) {
- // titleSelectJson.value.processType = response.data;
- console.log(response.data);
-
- } else {
- ElMessage.warning(response.data);
+const fetchOptions = async (queryString: string) => {
+ try {
+ const response = await request.post('/loadGlass/optimizeProject/listByState', {
+ ...requestData,
+ query: queryString
+ });
+ if (response.code == 200) {
+ // titleSelectJson.value.processType = response.data;
+ console.log(response.data);
+ } else {
+ ElMessage.warning(response.data);
}
} catch (error) {
console.error('Error fetching options:', error);
@@ -271,8 +229,8 @@
const handleInputChange = async (value: string) => {
if (value) {
await fetchOptions(value);
- } else {
- options.value = []; // 娓呯┖閫夐」鍒楄〃
+ } else {
+ options.value = [];
}
};
// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉�
@@ -288,38 +246,27 @@
});
// 娣诲姞
const handleBindRack = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
+ workstationId.value = row.workstationId;
ida.value = row.id;
- add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ add.value = true;
};
// 娣诲姞
- const handleConfirm = async () => {
- // console.log('id.value:', id.value);
- if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700 )) {
+const handleConfirm = async () => {
+ if ((ida.value === 2 || ida.value === 4) && (parseInt(selectedValuea.value, 10) >= 2700)) {
try {
- const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
- id: workstationId.value,
- workstationId: workstationId.value,
- patternHeight: selectedValuea.value,
- patternWidth: selectedValue.value,
- filmsId: selectedValueb.value,
- 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)
+ const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
+ id: workstationId.value,
+ workstationId: workstationId.value,
+ patternHeight: selectedValuea.value,
+ patternWidth: selectedValue.value,
+ filmsId: selectedValueb.value,
+ patternThickness: selectedValuec.value,
+ 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'){
@@ -329,23 +276,13 @@
}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 = '';
- list()
+ list()
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
}
} catch (error) {
@@ -364,9 +301,7 @@
number: number.value
});
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- // window.location.reload()
add.value = false;
tableDataa.value = response.data;
if (selectedValuea.value !== '0' && selectedValue.value !== '0' && number.value !== '0' && workstationId.value === '1') {
@@ -411,28 +346,23 @@
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')
+ tableDataa.value = response.data;
if (workstationId.value == '1') {
- flake.value = false
- } else if (workstationId.value == '2'){
- flakea.value = false
- }else if (workstationId.value == '3'){
- flakeb.value = false
- }else if (workstationId.value == '4'){
- flakec.value = false
- }
- list()
- } else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ flake.value = false
+ } else if (workstationId.value == '2') {
+ flakea.value = false
+ } else if (workstationId.value == '3') {
+ flakeb.value = false
+ } else if (workstationId.value == '4') {
+ flakec.value = false
+ }
+ list()
+ } else {
ElMessage.error(response.message);
}
} catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
};
@@ -444,9 +374,7 @@
})
window.localStorage.setItem('engineeringId', selectedProjectNo.value)
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- // window.location.reload()
dialogFormVisible.value = false;
tableData.splice(0, tableData.length, ...response.data);
selectedProjectNo.value = ''
@@ -473,13 +401,10 @@
label: thickness,
}));
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
- // ElMessage.error(response.msg);
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
}
@@ -493,18 +418,14 @@
state: 1,
})
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- // window.location.reload()
blind.value = false;
selectedProjectNoa.value = '';
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
} else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
@@ -514,21 +435,20 @@
}
// 鏆傚仠
const handlea = async () => {
- try {
- let engineeringId = window.localStorage.getItem('engineeringId')
-console.log(engineeringId);
-if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
- engineeringId: engineeringId,
- state: 0,
- })
- if (response.code == 200) {
- ElMessage.success(response.message);
- blinda.value = false;
- // tableData.splice([]);
- } else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
- ElMessage.error(response.message);
+ try {
+ let engineeringId = window.localStorage.getItem('engineeringId')
+ console.log(engineeringId);
+ if (engineeringId !== '') {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+ engineeringId: engineeringId,
+ state: 0,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blinda.value = false;
+ // tableData.splice([]);
+ } else {
+ ElMessage.error(response.message);
}
}
else {
@@ -539,7 +459,6 @@
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
}
@@ -554,13 +473,9 @@
state: 0,
})
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- // window.location.reload()
blindb.value = false;
tableData.splice([]);
-
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.message);
}
}
@@ -572,7 +487,6 @@
}
}
catch (error) {
- // 澶勭悊閿欒
console.error(error);
}
}
@@ -603,7 +517,7 @@
}
// 寮�濮嬩笂鐗�
const handleBind = (row) => {
- blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ blind.value = true;
};
// 鏆傚仠
const handleBinda = (row) => {
@@ -613,11 +527,10 @@
const handleBindb = (row) => {
blindb.value = true;
};
-
// 鍒犻櫎
const handleBindRacka = (row) => {
workstationId.value = row.workstationId;
- adda.value = true;
+ adda.value = true;
};
// 瀹氫箟涓�涓搷搴斿紡寮曠敤锛岀敤浜庡瓨鍌ㄩ鑹茬姸鎬�
const markingMachineStatus = ref('#911005');
@@ -638,76 +551,34 @@
const newState = row.state === 100 ? 0 : 100;
try {
// 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
- 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 {
- ElMessage.error(response.message);
- }
- } catch (error) {
+ 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 {
+ ElMessage.error(response.message);
+ }
+ } catch (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',
- inKageWord.value
- );
- if (response.code == 200) {
- const status = response.data.status;
+ ElMessage.error(t('basicData.glassnull'));
+ }
+};
+const confirmCutting = async () => {
+ try {
+ const response = await request.post('/loadGlass/LoadGlass/updateMesInkageLoad',
+ inKageWord.value
+ );
+ if (response.code == 200) {
+ const status = response.data.status;
upstatus.value = status === '1' ? t('basicData.machine') : t('basicData.machineaa');
- cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
- // 鏄剧ず鎴愬姛娑堟伅
- ElMessage.success(response.message);
- } else {
- ElMessage.error(response.message || '璇锋眰澶辫触');
- }
- } catch (error) {
- // 澶勭悊閿欒
- console.error('璇锋眰鏃跺彂鐢熼敊璇�', error);
- ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
+ cuttingMachineStatusColor.value = status === '1' ? 'green' : '#911005';
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message || '璇锋眰澶辫触');
+ }
+ } catch (error) {
+ console.error('璇锋眰鏃跺彂鐢熼敊璇�', error);
+ ElMessage.error('璇锋眰鏃跺彂鐢熼敊璇�');
}
};
</script>
@@ -730,14 +601,13 @@
<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="350"
- ref="table"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- :data="tableData"
+ height="350"
+ ref="table"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ :data="tableData"
>
<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"/>
@@ -790,7 +660,6 @@
</div>
</template>
</el-dialog>
-
<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'}">
@@ -860,7 +729,6 @@
</el-table-column>
</el-table>
</div>
-
<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">
@@ -991,23 +859,23 @@
<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="$t('basicData.projectnumber')" :required="true">
- <el-select
- v-model="selectedProjectNo"
- filterable
- clearable
- :placeholder="$t('basicData.plselectproject')"
- style="width: 220px"
- @input="handleInputChange"
- >
- <el-option
- v-for="item in titleSelectJson['processType']"
- :key="item.id"
- :label="item.projectNo"
- :value="item.projectNo"
- />
- </el-select>
- </el-form-item>
- </div>
+ <el-select
+ v-model="selectedProjectNo"
+ filterable
+ clearable
+ :placeholder="$t('basicData.plselectproject')"
+ style="width: 220px"
+ @input="handleInputChange"
+ >
+ <el-option
+ v-for="item in titleSelectJson['processType']"
+ :key="item.id"
+ :label="item.projectNo"
+ :value="item.projectNo"
+ />
+ </el-select>
+ </el-form-item>
+ </div>
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handleup">
@@ -1018,9 +886,7 @@
</template>
</el-dialog>
</template>
-
<style scoped>
-
#dt { display:block; float:left;line-height: 20px;margin-left: 100px;}
#dta { display:block; float:left;line-height: 20px;margin-left: 80%;}
#dialog-footer{
@@ -1075,5 +941,4 @@
margin-top: -45px;
margin-left: 703px;
}
-
</style>
\ No newline at end of file
diff --git a/UI-Project/src/views/Returns/upreturns.vue b/UI-Project/src/views/Returns/upreturns.vue
index 941cb20..ea93072 100644
--- a/UI-Project/src/views/Returns/upreturns.vue
+++ b/UI-Project/src/views/Returns/upreturns.vue
@@ -10,156 +10,229 @@
const router = useRouter()
const {t} = useI18n()
const selectValuesa = reactive([]);
-const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
-const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
+const selectedProjectNo = ref('');
+const stationCell = ref('1');
+const filmRemove = ref('');
const dialogFormVisible = ref(false)
-
-
-
-
const blind = ref(false)
const blinda = ref(false)
-const blindb = ref(false)
-const add = ref(false)
-const adda = 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);
-const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫
-const selectedValuea = ref('');
-const selectedValueb = ref('');
-const selectedValuec = ref('');
-// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
const upstatus = ref(t('basicData.machineaa'));
-const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
-const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
-const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
-const ida = ref(null);
-const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
- const tableDataa = ref([])
- const tableData = reactive([]);
+const tableDataa = ref<any[]>([]);
+const tableDatab = ref<any[]>([]);
+const tableData = ref([])
+// const tableData = reactive([]);
+const titleSelectJson = ref({
+ engineerId: [],
+})
const handlezhiban = () => {
- dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ dialoglea.value = true;
+ fetchFlowCardId();
};
const selectproject = () => {
dialogFormVisible.value = true;
selectgong();
};
-
-
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+const confirmMarkingMachine = () => {
+ markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+ cuttingMachineStatus.value = 'green';
+};
onMounted(() => {
socket = initializeWebSocket(socketUrl, handleMessage);
});
-const handleMessage = (data) => {
-
-}
- onUnmounted(() => {
- if (socket) {
+onUnmounted(() => {
+ if (socket) {
closeWebSocket(socket);
+ }
+});
+const fetchTableData = async () => {
+ try {
+ const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
+ if (response.code === 200) {
+ tableData.splice(0, tableData.length, ...response.data);
+ ElMessage.error(response.message);
}
- });
-//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
-const titleSelectJson = ref({
- engineerId: [],
-})
+ } catch (error) {
+ // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
+ // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+ }
+};
let socket = null;
const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-
+const handleMessage = (data: any) => {
+ tableDataa.value = data.list[0].slice(0, 2);
+ tableDatab.value = data.list[0].slice(2, 4);
+};
onBeforeUnmount(() => {
closeWebSocket();
});
-const selectgong = async () => {
+const requestData = {
+ state: 100
+};
+const selectgong = async (queryString: string) => {
try {
- const response = await request.post('/loadGlass/engineering/engineering/selectTask')
+ const response = await request.post('/loadGlass/optimizeProject/listByState', {
+ ...requestData,
+ query: queryString
+ });
if (response.code == 200) {
titleSelectJson.value.engineerId = response.data;
} else {
ElMessage.error(response.message);
}
} catch (error) {
- // 澶勭悊閿欒
+ console.error(error);
+ }
+};
+//閫夋嫨宸ョ▼棰勮纭
+const handlesure = async () => {
+ try {
+ const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
+ stationCell: 1,
+ // engineerId: 'P24101602',
+ engineerId: selectedProjectNo.value,
+ filmRemove: filmRemove.value,
+ })
+ window.localStorage.setItem('engineeringId', selectedProjectNo.value)
+ window.localStorage.setItem('filmRemove', filmRemove.value)
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ tableData.value = response.data;
+ dialogFormVisible.value = false;
+ selectedProjectNo.value = ''
+ filmRemove.value = ''
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
console.error(error);
}
}
-// 娣诲姞
-const handleBindRack = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
- ida.value = row.id;
- add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+// 寮�濮嬩笂鐗�
+const handleon = async () => {
+ let filmRemove = window.localStorage.getItem('filmRemove')
+ let engineeringId = window.localStorage.getItem('engineeringId')
+ if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+ try {
+ const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+ stationCell: 1,
+ filmRemove: filmRemove,
+ // engineerId: 'P24101602',
+ engineerId: engineeringId,
+ state: 1,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blind.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+ } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+ // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
+ ElMessage.warning(t('basicData.pausea'));
+ }
+}
+// 鏆傚仠
+const handleup = async () => {
+ try {
+ let engineeringId = window.localStorage.getItem('engineeringId')
+ console.log(engineeringId);
+ if (engineeringId !== '') {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+ stationCell: 1,
+ // engineerId: 'P24101602',
+ engineeringId: engineeringId,
+ state: 0,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blinda.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } else {
+ ElMessage({
+ type: 'info',
+ message: t('basicData.infonull'),
+ })
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ let stateList = []
+ if (selectValuesa[1] != null && selectValuesa[1] != 'undefined') {
+ if (selectValuesa[1] != "") {
+ stateList = [selectValuesa[1]];
+ }
+ }
+ const response = await request.post("/cacheVerticalGlass/damage/selectDamage", {
+ taskState: stateList,
+ taskType: 1
+ })
+ if (response.code === 200) {
+ tableData.value = response.data;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
};
-function getStatusText(state: number) {
- switch (state) {
- case 0:
- return t('basicData.waiting');
- case 1:
- return t('basicData.up');
- case 2:
- return t('basicData.up');
- case 100:
- return t('basicData.finish');
- }
-}
-function getStatusType(state: number) {
- switch (state) {
- case 0:
- return 'warning';
- case 1:
- return 'primary';
- case 2:
- return 'primary';
- case 100:
- return 'success';
- }
-}
+// 鍊肩彮淇℃伅
+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;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
+onMounted(fetchTableData);
// 寮�濮嬩笂鐗�
const handleBind = (row) => {
- blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ blind.value = true;
};
// 鏆傚仠
const handleBinda = (row) => {
blinda.value = true;
};
-// 鍋滄浠诲姟
-const handleBindb = (row) => {
- blindb.value = true;
-};
-
-
-const toggleEnableState = async (row: any) => {
+const toggleEnableState = async (row: any) => {
// 妫�鏌� id 鏄惁涓虹┖
if (!row.id) {
ElMessage.error(t('basicData.updatanull'));
return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
}
- const newState = row.state === 100 ? 0 : 100;
- try {
- // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
- 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 {
- ElMessage.error(response.message);
- }
- } catch (error) {
- // 澶勭悊璇锋眰閿欒
- ElMessage.error(t('basicData.glassnull'));
+ const newState = row.state === 100 ? 0 : 100;
+ try {
+ 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 {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ ElMessage.error(t('basicData.glassnull'));
}
};
</script>
@@ -175,13 +248,13 @@
<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;" >{{ $t('basicData.change') }}</el-button>
-
</div>
<el-button style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" type="success" @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-select v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.loadinglinea')" style="margin-top: 5px;margin-left: 20px;" >
+ <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.oneloadingline')"
+ style="margin-top: 5px;margin-left: 20px;">
<el-option :label="$t('Mounting.all')" value="0"></el-option>
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -231,79 +304,78 @@
</div>
</el-card>
<div style="display: flex;">
- <div style="width: 49%;float: left;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- >
- <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" />
+ <div style="width: 49%;float: left;margin-left: 300px;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt=""
+ style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <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>
</div>
</div>
- <div style="width: 48%;float: right;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- >
- <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>
- </div>
-</div>
+ <!-- <div style="width: 48%;float: right;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDatab" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <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>
+ </div>
+ </div> -->
</div>
<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">
+ <el-button type="primary" @click="handleon">
{{ $t('basicData.confirm') }}
</el-button>
<el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
-
-<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-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>
+ <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
</div>
</template>
</el-dialog>
<el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
<div style="margin-left: 50px;margin-bottom: 10px;">
<el-form-item :label="$t('Mounting.loadingline')" :required="true">
- <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;" >
- <el-option :label="$t('Mounting.all')" value="0"></el-option>
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </el-select>
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
+ style="margin-left: 20px;">
+ <el-option :label="$t('Mounting.all')" value="0"></el-option>
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
</el-form-item>
</div>
<template #footer>
@@ -315,169 +387,50 @@
</div>
</template>
</el-dialog>
-
- <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">
- <el-row style="margin-top: -15px;margin-bottom: -2px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValue"
- filterable
- clearable
- :placeholder="$t('basicData.selectwidth')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptions"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </div></div>
- </el-col>
- <el-col :span="9">
- <div id="dta" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValuea"
- filterable
- clearable
- :placeholder="$t('basicData.selectheight')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsa"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item></div>
- </div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.coatingtypesa')" :required="true" style="width: 14vw;">
- <el-select
- v-model="selectedValueb"
- filterable
- clearable
- :placeholder="$t('basicData.selectcoatingtypes')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsb"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item></div></div>
- </el-col>
- <el-col :span="9">
- <div id="dta" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValuec"
- filterable
- clearable
- :placeholder="$t('basicData.selectthickness')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsc"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <!-- <el-input v-model="patternThickness" autocomplete="off" /> -->
- </el-form-item></div></div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <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>
- </el-form>
- </el-form>
- </div>
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleConfirm">
- {{ $t('basicData.confirm') }}
- </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="$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">{{ $t('basicData.cancel') }}</el-button>
- </div>
- </template>
- </el-dialog>
</div>
- <el-dialog v-model="dialogFormVisible" top="24vh" width="50%" >
+ <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
<div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
- <el-form-item :label="$t('Mounting.loadingline')" :required="true">
- <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" >
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </el-select>
- </el-form-item>
+ <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
<el-form-item :label="$t('Mounting.projecta')" :required="true">
- <el-select
- v-model="selectedProjectNo"
- filterable
- clearable
- :placeholder="$t('basicData.plselectproject')"
- style="width: 220px"
- @input="handleInputChange"
- >
+ <el-select
+ v-model="selectedProjectNo"
+ filterable
+ clearable
+ :placeholder="$t('basicData.plselectproject')"
+ style="width: 220px"
+ @input="handleInputChange"
+ >
<el-option
v-for="item in titleSelectJson['engineerId']"
:key="item.id"
- :label="item.engineerId"
- :value="item.engineerId"
+ :label="item.projectNo"
+ :value="item.projectNo"
/>
- </el-select>
- </el-form-item>
- </div>
+ </el-select>
+ </el-form-item>
+ <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
+ <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
+ <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
+ <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
+ <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ </div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="handleup">
+ <el-button type="primary" @click="handlesure">
{{ $t('basicData.confirm') }}
</el-button>
<el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
+
</template>
<style scoped>
diff --git a/UI-Project/src/views/Returns/upreturns2.vue b/UI-Project/src/views/Returns/upreturns2.vue
index fd2145d..814a0fa 100644
--- a/UI-Project/src/views/Returns/upreturns2.vue
+++ b/UI-Project/src/views/Returns/upreturns2.vue
@@ -1,112 +1,158 @@
<script lang="ts" setup>
-import {Search} from "@element-plus/icons-vue";
-import {reactive} from "vue";
+import {onBeforeUnmount, onMounted, onUnmounted, reactive, ref} from "vue";
import {useRouter} from "vue-router"
-const router = useRouter()
-import type { TableColumnCtx } from 'element-plus'
-import { ElMessage, ElMessageBox } from 'element-plus'
-import { useI18n } from 'vue-i18n'
-const { t } = useI18n()
-import { WebSocketHost ,host} from '@/utils/constants'
+import {ElMessage} from 'element-plus'
+import {useI18n} from 'vue-i18n'
+import {host, WebSocketHost} from '@/utils/constants'
import request from "@/utils/request"
-import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
-import { ref, onMounted, onUnmounted, onBeforeUnmount } from "vue";
+import {closeWebSocket, initializeWebSocket} from '@/utils/WebSocketService';
+
+const router = useRouter()
+const {t} = useI18n()
const selectValuesa = reactive([]);
-const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
-const loadingline = ref(''); // 褰撳墠閫変腑鐨勪笂鐗囩嚎
+const selectedProjectNo = ref('');
+const stationCell = ref('2');
+const filmRemove = ref('');
const dialogFormVisible = ref(false)
const blind = ref(false)
const blinda = ref(false)
-const blindb = ref(false)
-const add = ref(false)
-const adda = 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);
-const selectedValue = ref(''); // 褰撳墠閫変腑鐨勫
-const selectedValuea = ref('');
-const selectedValueb = ref('');
-const selectedValuec = ref('');
-// const upstatus = ref('涓婄墖鏈烘墜鍔ㄧ姸鎬侊細'); // 鍋囪杩欎釜鐢ㄤ簬鏄剧ず鑷姩/鎵嬪姩鐘舵��
const upstatus = ref(t('basicData.machineaa'));
-const cuttingMachine = ref(''); // 鍋囪杩欎釜鐢ㄤ簬瀛樺偍鍚庣杩斿洖鐨勭姸鎬佸�硷紙0鎴�1锛�
const cuttingMachineStatusColor = ref('#911005'); // 鐢ㄤ簬鍔ㄦ�佽缃甶鏍囩鐨勮儗鏅壊
-const inKageWord = ref(0); // 鐢ㄤ簬瀛樺偍瑕佷紶閫掔粰鎺ュ彛鐨刬nKageWord鍊�
-const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
-const ida = ref(null);
-const selectOptions = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsa = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsb = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
-const selectOptionsc = ref<Array<any>>([]); // 涓嬫媺閫夐�夐」鏁扮粍
- const tableDataa = ref([])
- const tableData = reactive([]);
+const tableDataa = ref<any[]>([]);
+const tableDatab = ref<any[]>([]);
+const tableData = ref([])
+// const tableData = reactive([]);
+const titleSelectJson = ref({
+ engineerId: [],
+})
const handlezhiban = () => {
- dialoglea.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ dialoglea.value = true;
+ fetchFlowCardId();
};
const selectproject = () => {
dialogFormVisible.value = true;
+ selectgong();
};
-
-
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+const confirmMarkingMachine = () => {
+ markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+ cuttingMachineStatus.value = 'green';
+};
onMounted(() => {
- // socket = initializeWebSocket(socketUrl, handleMessage);
+ socket = initializeWebSocket(socketUrl, handleMessage);
});
- onUnmounted(() => {
- if (socket) {
+onUnmounted(() => {
+ if (socket) {
closeWebSocket(socket);
+ }
+});
+const fetchTableData = async () => {
+ try {
+ const response = await request.get("/loadGlass/up-patten-usage/prioritylist");
+ if (response.code === 200) {
+ tableData.splice(0, tableData.length, ...response.data);
+ ElMessage.error(response.message);
}
- });
-//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
-const titleSelectJson = ref({
- processType: [],
-})
-const titleSelectJsona = ref({
- processTypea: [],
-})
+ } catch (error) {
+ // 澶勭悊璇锋眰澶辫触鐨勬儏鍐�
+ // ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
+ }
+};
let socket = null;
-const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/loadGlass`;
-// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
-
-const requestData = {
- state: 100
-};
-
-
+const socketUrl = `ws://${WebSocketHost}:${host}/api/loadGlass/api/talk/uploadGlass`;
+const handleMessage = (data: any) => {
+ tableDataa.value = data.list[0].slice(0, 2);
+ tableDatab.value = data.list[0].slice(2, 4);
+};
onBeforeUnmount(() => {
closeWebSocket();
});
-// 娣诲姞
-const handleBindRack = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
- ida.value = row.id;
- add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+const requestData = {
+ state: 100
};
-// 鏆傚仠
-const handlea = async () => {
- try {
- let engineeringId = window.localStorage.getItem('engineeringId')
-console.log(engineeringId);
-if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
- engineeringId: engineeringId,
- state: 0,
+const selectgong = async (queryString: string) => {
+ try {
+ const response = await request.post('/loadGlass/optimizeProject/listByState', {
+ ...requestData,
+ query: queryString
+ });
+ if (response.code == 200) {
+ titleSelectJson.value.engineerId = response.data;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+};
+//閫夋嫨宸ョ▼棰勮纭
+const handlesure = async () => {
+ try {
+ const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
+ stationCell: 2,
+ engineerId: selectedProjectNo.value,
+ filmRemove: filmRemove.value,
})
+ window.localStorage.setItem('engineeringId', selectedProjectNo.value)
+ window.localStorage.setItem('filmRemove', filmRemove.value)
if (response.code == 200) {
ElMessage.success(response.message);
blinda.value = false;
- // tableData.splice([]);
+ selectedProjectNo.value = ''
+ filmRemove.value = ''
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
+// 寮�濮嬩笂鐗�
+const handleon = async () => {
+ let filmRemove = window.localStorage.getItem('filmRemove')
+ let engineeringId = window.localStorage.getItem('engineeringId')
+ if (markingMachineStatus.value === 'green' && cuttingMachineStatus.value === 'green') {
+ try {
+ const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+ stationCell: 2,
+ filmRemove: filmRemove,
+ engineerId: engineeringId,
+ state: 1,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blind.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+ } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+ // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
+ ElMessage.warning(t('basicData.pausea'));
+ }
+}
+// 鏆傚仠
+const handleup = async () => {
+ try {
+ let engineeringId = window.localStorage.getItem('engineeringId')
+ console.log(engineeringId);
+ if (engineeringId !== '') {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
+ stationCell: 2,
+ engineeringId: engineeringId,
+ state: 0,
+ })
+ if (response.code == 200) {
+ ElMessage.success(response.message);
+ blinda.value = false;
+ } else {
ElMessage.error(response.message);
}
}
@@ -116,73 +162,74 @@
message: t('basicData.infonull'),
})
}
-}
-catch (error) {
- // 澶勭悊閿欒
+ } catch (error) {
console.error(error);
}
}
-function getStatusText(state: number) {
- switch (state) {
- case 0:
- return t('basicData.waiting');
- case 1:
- return t('basicData.up');
- case 2:
- return t('basicData.up');
- case 100:
- return t('basicData.finish');
- }
-}
-function getStatusType(state: number) {
- switch (state) {
- case 0:
- return 'warning';
- case 1:
- return 'primary';
- case 2:
- return 'primary';
- case 100:
- return 'success';
- }
-}
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ let stateList = []
+ if (selectValuesa[1] != null && selectValuesa[1] != 'undefined') {
+ if (selectValuesa[1] != "") {
+ stateList = [selectValuesa[1]];
+ }
+ }
+ const response = await request.post("/cacheVerticalGlass/damage/selectDamage", {
+ taskState: stateList,
+ taskType: 1
+ })
+ if (response.code === 200) {
+ tableData.value = response.data;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+};
+
+// 鍊肩彮淇℃伅
+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;
+ } else {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ console.error(error);
+ }
+}
+onMounted(fetchTableData);
// 寮�濮嬩笂鐗�
const handleBind = (row) => {
- blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ blind.value = true;
};
// 鏆傚仠
const handleBinda = (row) => {
blinda.value = true;
};
-// 鍋滄浠诲姟
-const handleBindb = (row) => {
- blindb.value = true;
-};
-
-// 鍒犻櫎
-const handleBindRacka = (row) => {
- workstationId.value = row.workstationId;
- adda.value = true;
-};
-const toggleEnableState = async (row: any) => {
+const toggleEnableState = async (row: any) => {
// 妫�鏌� id 鏄惁涓虹┖
if (!row.id) {
ElMessage.error(t('basicData.updatanull'));
return; // 濡傛灉 id 涓虹┖锛屽垯涓嶆墽琛屽悗缁搷浣�
}
- const newState = row.state === 100 ? 0 : 100;
- try {
- // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵��
- 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 {
- ElMessage.error(response.message);
- }
- } catch (error) {
- // 澶勭悊璇锋眰閿欒
- ElMessage.error(t('basicData.glassnull'));
+ const newState = row.state === 100 ? 0 : 100;
+ try {
+ 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 {
+ ElMessage.error(response.message);
+ }
+ } catch (error) {
+ ElMessage.error(t('basicData.glassnull'));
}
};
</script>
@@ -198,13 +245,13 @@
<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;" >{{ $t('basicData.change') }}</el-button>
-
</div>
<el-button style="margin-top: 5px;margin-left: 15px;" type="primary" @click="selectproject">{{ $t('Mounting.previewproject') }}</el-button>
<el-button style="margin-top: 5px;margin-left: 20px;" type="success" @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-select v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.loadinglinea')" style="margin-top: 5px;margin-left: 20px;" >
+ <el-select disabled v-model="selectValuesa[1]" clearable :placeholder="$t('Mounting.twoloadingline')"
+ style="margin-top: 5px;margin-left: 20px;">
<el-option :label="$t('Mounting.all')" value="0"></el-option>
<el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
<el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
@@ -254,79 +301,78 @@
</div>
</el-card>
<div style="display: flex;">
- <div style="width: 49%;float: left;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- >
- <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>
- </div>
- </div>
- <div style="width: 48%;float: right;">
- <div style="display: flex;">
- <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
- <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
- :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
- >
- <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>
+ <!-- <div style="width: 49%;float: left;margin-left: 300px;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt="" style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDataa" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <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>
+ </div>
+ </div> -->
+ <div style="width: 48%;float: right;margin-left: 300px;">
+ <div style="display: flex;">
+ <img src="../../assets/shangpianji.png" alt=""
+ style="max-width: 25%;max-height: 25%;margin-left: 10%;margin-top: 5%;">
+ <el-table :data="tableDatab" border style="width: 75%;margin-top: 10%;margin-left: 2%;"
+ :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"
+ >
+ <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>
</div>
</div>
</div>
<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">
+ <el-button type="primary" @click="handleon">
{{ $t('basicData.confirm') }}
</el-button>
<el-button @click="blind = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
-
-<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-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>
+ <el-button @click="dialoglea = false">{{ $t('large.close') }}</el-button>
</div>
</template>
</el-dialog>
<el-dialog v-model="blinda" top="24vh" width="30%" :title="$t('basicData.whetherpause')">
<div style="margin-left: 50px;margin-bottom: 10px;">
<el-form-item :label="$t('Mounting.loadingline')" :required="true">
- <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" style="margin-left: 20px;" >
- <el-option :label="$t('Mounting.all')" value="0"></el-option>
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </el-select>
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')"
+ style="margin-left: 20px;">
+ <el-option :label="$t('Mounting.all')" value="0"></el-option>
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
</el-form-item>
</div>
<template #footer>
@@ -338,169 +384,50 @@
</div>
</template>
</el-dialog>
-
- <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">
- <el-row style="margin-top: -15px;margin-bottom: -2px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.widtha')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValue"
- filterable
- clearable
- :placeholder="$t('basicData.selectwidth')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptions"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item>
- </div></div>
- </el-col>
- <el-col :span="9">
- <div id="dta" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.heighta')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValuea"
- filterable
- clearable
- :placeholder="$t('basicData.selectheight')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsa"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item></div>
- </div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.coatingtypesa')" :required="true" style="width: 14vw;">
- <el-select
- v-model="selectedValueb"
- filterable
- clearable
- :placeholder="$t('basicData.selectcoatingtypes')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsb"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- </el-form-item></div></div>
- </el-col>
- <el-col :span="9">
- <div id="dta" style="font-size: 15px;">
- <div>
- <el-form-item :label="$t('basicData.thicknessa')" :required="true" style="width: 14vw">
- <el-select
- v-model="selectedValuec"
- filterable
- clearable
- :placeholder="$t('basicData.selectthickness')"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in selectOptionsc"
- :key="item.id"
- :label="item.label"
- :value="item.value"
- />
- </el-select>
- <!-- <el-input v-model="patternThickness" autocomplete="off" /> -->
- </el-form-item></div></div>
- </el-col>
- </el-row>
- <el-row style="margin-top: 10px;">
- <el-col :span="6">
- <div id="dt" style="font-size: 15px;">
- <div>
- <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>
- </el-form>
- </el-form>
- </div>
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handleConfirm">
- {{ $t('basicData.confirm') }}
- </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="$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">{{ $t('basicData.cancel') }}</el-button>
- </div>
- </template>
- </el-dialog>
- </div>
- <el-dialog v-model="dialogFormVisible" top="24vh" width="50%" >
+ </div>
+ <el-dialog v-model="dialogFormVisible" top="24vh" width="70%">
<div class="flex-container" style="margin-left: 50px;margin-bottom: 10px;">
- <el-form-item :label="$t('Mounting.loadingline')" :required="true">
- <el-select v-model="loadingline" clearable :placeholder="$t('Mounting.inloadingline')" >
- <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
- <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
- </el-select>
- </el-form-item>
+ <el-form-item :label="$t('Mounting.loadingline')" :required="true">
+ <el-select disabled v-model="stationCell" clearable :placeholder="$t('Mounting.inloadingline')">
+ <el-option :label="$t('Mounting.oneloadingline')" value="1"></el-option>
+ <el-option :label="$t('Mounting.twoloadingline')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
<el-form-item :label="$t('Mounting.projecta')" :required="true">
- <el-select
- v-model="selectedProjectNo"
- filterable
- clearable
- :placeholder="$t('basicData.plselectproject')"
- style="width: 220px"
- @input="handleInputChange"
- >
- <el-option
- v-for="item in titleSelectJson['processType']"
- :key="item.id"
- :label="item.projectNo"
- :value="item.projectNo"
- />
- </el-select>
- </el-form-item>
- </div>
+ <el-select
+ v-model="selectedProjectNo"
+ filterable
+ clearable
+ :placeholder="$t('basicData.plselectproject')"
+ style="width: 220px"
+ @input="handleInputChange"
+ >
+ <el-option
+ v-for="item in titleSelectJson['engineerId']"
+ :key="item.id"
+ :label="item.projectNo"
+ :value="item.projectNo"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item :label="$t('Mounting.removalmethoda')" :required="true">
+ <el-select v-model="filmRemove" clearable :placeholder="$t('Mounting.removalmethod')">
+ <el-option :label="$t('Mounting.noremoval')" value="0"></el-option>
+ <el-option :label="$t('Mounting.coarselyground')" value="1"></el-option>
+ <el-option :label="$t('Mounting.finegrinding')" value="2"></el-option>
+ </el-select>
+ </el-form-item>
+ </div>
<template #footer>
<div id="dialog-footer">
- <el-button type="primary" @click="handleup">
+ <el-button type="primary" @click="handlesure">
{{ $t('basicData.confirm') }}
</el-button>
<el-button @click="dialogFormVisible = false">{{ $t('basicData.cancel') }}</el-button>
</div>
</template>
</el-dialog>
+
</template>
<style scoped>
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
index ecc9fe8..207e536 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -96,10 +96,14 @@
* 澶囨敞
*/
private String notes;
+
/**
* 涓婄墖鏈虹嚎璺�
*/
- private int stationCell;
+ private Integer stationCell;
-
+ /**
+ * 闄よ啘鏂瑰紡
+ */
+ private Integer filmRemove;
}
diff --git a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
index 1e4a478..73f43df 100644
--- a/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
+++ b/hangzhoumesParent/common/springsecurity/src/main/java/com/mes/userinfo/service/impl/SysUserServiceImpl.java
@@ -1,6 +1,5 @@
package com.mes.userinfo.service.impl;
-import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -25,7 +24,6 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
@@ -72,7 +70,7 @@
@Resource
BCryptPasswordEncoder passwordEncoder;
- @Autowired
+ @Resource
private SysUserRoleMapper sysUserRoleMapper;
@Override
diff --git a/hangzhoumesParent/gateway/src/main/resources/application.yml b/hangzhoumesParent/gateway/src/main/resources/application.yml
index a369150..3a9215b 100644
--- a/hangzhoumesParent/gateway/src/main/resources/application.yml
+++ b/hangzhoumesParent/gateway/src/main/resources/application.yml
@@ -47,7 +47,6 @@
filters:
- StripPrefix=2
-
- id: glassStorage
uri: lb://glassStorage
predicates:
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 5e9e82d..a548f00 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -69,7 +69,7 @@
log.info("engineeringId:{}", engineering);
UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
if (upPattenUsage != null) {
- boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+ boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState(), engineering.getFilmRemove(), engineering.getStationCell());
List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
return Result.build(200, "宸蹭繚瀛樿繃", work);
@@ -85,7 +85,7 @@
engineeringService.saveEngineering(listEngineering);
log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
//灏唀ngineering琛ㄧ姸鎬佷负姝e湪涓婄墖
- boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+ boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState(), engineering.getFilmRemove(), engineering.getStationCell());
List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
if (work) {
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
index 577148c..9300779 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/entity/Engineering.java
@@ -32,11 +32,15 @@
*/
private String engineerId;
-
/**
* 璁惧
*/
- private String stationCell;
+ private Integer stationCell;
+
+ /**
+ * 闄よ啘鏂瑰紡
+ */
+ private Integer filmRemove;
/**
* 宸ョ▼鍚嶇О
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
index 7841c36..6dd056b 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -54,4 +54,6 @@
List<Engineering> selectTask();
boolean pauseTask(String engineerId, Integer state);
+
+ boolean changeTask(String engineerId, Integer state, Integer filmRemove, Integer stationCell);
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
index 89651e7..2240fc8 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -119,9 +119,14 @@
public boolean pauseTask(String engineerId, Integer state) {
//鏆傚仠姝e湪杩涜宸ョ▼
LambdaUpdateChainWrapper<Engineering> pauseWrapper = new LambdaUpdateChainWrapper<>(this.getBaseMapper());
- pauseWrapper.set(Engineering::getState,0);
- pauseWrapper.eq(Engineering::getState,1);
- return pauseWrapper.update();
+ pauseWrapper.set(Engineering::getState, 0);
+ pauseWrapper.eq(Engineering::getState, 1);
+ return pauseWrapper.update();
+ }
+
+ @Override
+ public boolean changeTask(String engineerId, Integer state, Integer filmRemove, Integer stationCell) {
+ return false;
}
}
--
Gitblit v1.8.0