From 80de7d1f8190eba49e485ff28f26a91332bd127b Mon Sep 17 00:00:00 2001
From: wang <3597712270@qq.com>
Date: 星期二, 28 五月 2024 15:12:36 +0800
Subject: [PATCH] 上片机接口更新,WebSocket
---
UI-Project/src/views/User/rolelist.vue | 16 +
UI-Project/src/views/Returns/returns.vue | 539 ++++++++++++++++++------------------------------
UI-Project/src/views/User/permissions.vue | 21 +
UI-Project/src/views/User/userlist.vue | 25 +
4 files changed, 243 insertions(+), 358 deletions(-)
diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue
index eddab30..86be983 100644
--- a/UI-Project/src/views/Returns/returns.vue
+++ b/UI-Project/src/views/Returns/returns.vue
@@ -4,7 +4,6 @@
import {useRouter} from "vue-router"
const router = useRouter()
import type { TableColumnCtx } from 'element-plus'
-
import { ElMessage, ElMessageBox } from 'element-plus'
const dialogFormVisible = ref(false)
const blind = ref(false)
@@ -14,54 +13,51 @@
const adda = ref(false)
const flake = ref(false)
const flakea = ref(false)
-// const patternHeight = ref('');
-// const patternWidth = ref('');
-// const filmsId = ref('');
-// const patternThickness = ref('');
-// const number = ref('');
-// patternHeight.value = '';
- // patternWidth.value = '';
- // filmsId.value = '';
- // patternThickness.value = '';
- // number.value = '';
+import { WebSocketHost } from '@/utils/constants'
import request from "@/utils/request"
const ida = ref(null);
-import { ref, onMounted, onUnmounted } from "vue";
-// import http from "@/http/index";
-
-let ruleForm = ref({
- projectNo: '',
- workstationId: '',
- patternHeight: '',
- patternWidth: '',
- filmsId: '',
- patternThickness: '',
- number: '',
-
-})
-const tableDataa = ref([])
-
-
+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 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([]);
-// let filterData = ref({
-// damageDetails: {
-// state: '',
-// },
-
-// })
-// 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰
-const fetchTableData = async () => {
+ 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)
+ selectOptions.value = response.data.map(item => ({
+ value: item.width, // 鍋囪杩欐槸浣犳兂瑕佷綔涓簐alue鐨勫睘鎬�
+ label: item.width, // 鍋囪杩欐槸浣犳兂瑕佹樉绀虹殑label
+ }));
+ selectOptionsa.value = response.data.map(item => ({
+ value: item.height,
+ label: item.height,
+ }));
+ selectOptionsb.value = response.data.map(item => ({
+ value: item.filmsId,
+ label: item.filmsId,
+ }));
+ selectOptionsc.value = response.data.map(item => ({
+ value: item.thickness,
+ label: item.thickness,
+ }));
} else {
- // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.msg);
}
} catch (error) {
@@ -69,135 +65,45 @@
// ElMessage.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触锛岃閲嶈瘯');
}
};
-onMounted(async () => {
- await fetchTableData();
-
- // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁
- const intervalId = setInterval(async () => {
- await fetchTableData();
- }, 1000); // 姣�1绉掑埛鏂颁竴娆�
-
- // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒
- onUnmounted(() => {
- clearInterval(intervalId);
- });
-});
-onMounted(async () => {
- await fetchTableDataa();
-
- // 璁剧疆瀹氭椂鍣ㄦ潵瀹氭湡鍒锋柊鏁版嵁
- const intervalId = setInterval(async () => {
- await fetchTableDataa();
- }, 1000); // 姣�1绉掑埛鏂颁竴娆�
-
- // 缁勪欢鍗歌浇鏃舵竻闄ゅ畾鏃跺櫒
- onUnmounted(() => {
- clearInterval(intervalId);
- });
-});
- // request.get("/loadGlass/LoadGlass/list").then((res) => {
- // if (res.code === 200) {
- // console.log(res.data);
- // tableDataa.value = res.data;
-
- // if (tableDataa.value.length === 2) {
- // if (tableDataa.value[0].patternWidth > 0) {
- // flake.value = true;
- // }
-
- // if (tableDataa.value[1].patternWidth > 0) {
- // flakea.value = true;
- // }
- // }
- // } else {
- // ElMessage.warning(res.msg);
- // // router.push("/login");
- // }
- // });
- async function fetchTableDataa() {
- try {
- const res = await request.get("/loadGlass/LoadGlass/list");
- if (res.code === 200) {
- tableDataa.value = res.data;
-
- // 鏍规嵁鏁版嵁鏇存柊 flake 鍜� flakea 鐨勫��
- if (res.data.length >= 2) {
- if (res.data[0].patternWidth > 0) {
- flake.value = true;
- } else {
- flake.value = false;
- }
-
- if (res.data[1].patternWidth > 0) {
- flakea.value = true;
- } else {
- flakea.value = false;
- }
- }
- } else {
- ElMessage.warning(res.msg);
- }
- } catch (error) {
- console.error('鑾峰彇琛ㄦ牸鏁版嵁澶辫触', 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);
+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
-// }
-// } else {
-// ElMessage.warning(res.msg)
-// // router.push("/login")
-// }
-// });
+ 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
+ }
+ } else {
+ ElMessage.warning(res.msg)
+ // router.push("/login")
+ }
+ });
//瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁
const titleSelectJson = ref({
processType: [],
-
})
const titleSelectJsona = ref({
processTypea: [],
-
})
-// const getBasicData = ref({
-// id: '',
-// projectNo: '',
-// })
-// const requestData = {
-// // projectNo:"P24030805",
-// state:100
-// };
-// request.post("/loadGlass/optimizeProject/listByState", requestData)
-// .then((res) => {
-// if (res.code == 200) {
-// titleSelectJson.value.processType = res.data;
-// console.log(res.data);
-// } else {
-// ElMessage.warning(res.msg)
-// // router.push("/login")
-// }
-// });
- // 鍒濆璇锋眰鍙傛暟
+const socketUrl = `ws://10.153.19.150:88/api/loadGlass/api/talk/loadGlass`;
+// 瀹氫箟娑堟伅澶勭悊鍑芥暟锛屾洿鏂� receivedData 鍙橀噺
+const handleMessage = (data) => {
+ // 鏇存柊 tableData 鐨勬暟鎹�
+
+ tableData.splice(0, tableData.length, ...data.prioritylist[0]);
+ tableDataa.value = data.list[0]
+ // console.log("鏇存柊鍚庢暟鎹�", tableData);
+};
const requestData = {
state: 100
};
-// 鍝嶅簲寮忔暟鎹�
-const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
-const selectedProjectNoa = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿
-const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃
-
// 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁�
const fetchOptions = async (queryString: string) => {
try {
@@ -218,22 +124,6 @@
console.error('Error fetching options:', error);
}
};
- // 寮�濮嬩笂鐗囦笅鎷夐��
-const fetchOptionsa = async (queryString: string) => {
- try {
- // 鍙戦�佽姹傚埌鍚庣鎺ュ彛
- const response = await request.get('/loadGlass/engineering/engineering/selectTask');
- if (response.code == 200) {
- titleSelectJsona.value.processTypea = response.data;
- console.log(response.data);
-
- } else {
- ElMessage.warning(response.data);
- }
- } catch (error) {
- console.error('Error fetching options:', error);
- }
-};
// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉�
const handleInputChange = async (value: string) => {
if (value) {
@@ -252,28 +142,14 @@
};
// 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級
onMounted(() => {
- // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級
fetchOptions('');
+ initializeWebSocket(socketUrl, handleMessage);
});
-onMounted(() => {
- // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級
- fetchOptionsa('');
-});
-// const billall = () => {
-// request.post("/loadGlass/optimizeProject/listByState", requestData)
-// .then((res: any) => {
-// // if (res.code == 200) {
-// tableData.value = res.data;
-// // let self = this
-// // }
-// })
-// .catch((err: any) => {});
-// }
+onBeforeUnmount(() => {
+ console.log("鍏抽棴浜�")
+ closeWebSocket();
+});
const user = ref('');
-// 瀹氫箟琛ㄥご涓婁紶鏁版嵁
-// let titleUploadData = ref({
-// projectNo:'',
-// })
const projectNo = ref('');
const workstationId = ref('');
const id = ref('');
@@ -298,10 +174,10 @@
const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
id: workstationId.value,
workstationId: workstationId.value,
- patternHeight: patternHeight.value,
- patternWidth: patternWidth.value,
- filmsId: filmsId.value,
- patternThickness: patternThickness.value,
+ patternHeight: selectedValuea.value,
+ patternWidth: selectedValue.value,
+ filmsId: selectedValueb.value,
+ patternThickness: selectedValuec.value,
number: number.value
});
if (response.code == 200) {
@@ -310,11 +186,11 @@
// window.location.reload()
add.value = false;
tableDataa.value = response.data;
- // patternHeight = '';
- // patternWidth.value = '';
- // filmsId.value = '';
- // patternThickness.value = '';
- // number.value = '';
+ 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') {
@@ -337,10 +213,10 @@
const response = await request.post('/loadGlass/LoadGlass/updateGlassMessage', {
id: workstationId.value,
workstationId: workstationId.value,
- patternHeight: patternHeight.value,
- patternWidth: patternWidth.value,
- filmsId: filmsId.value,
- patternThickness: patternThickness.value,
+ patternHeight: selectedValuea.value,
+ patternWidth: selectedValue.value,
+ filmsId: selectedValueb.value,
+ patternThickness: selectedValuec.value,
number: number.value
});
if (response.code == 200) {
@@ -349,6 +225,11 @@
// window.location.reload()
add.value = false;
tableDataa.value = response.data;
+ 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') {
@@ -410,7 +291,7 @@
// 閫夋嫨宸ョ▼纭
const handleup = async () => {
try {
- const response = await request.post('/loadGlass/up-patten-usage/saveUpPattenUsage', {
+ const response = await request.post('/loadGlass/up-patten-usage/selectUpPattenUsage', {
engineerId: selectedProjectNo.value,
})
if (response.code == 200) {
@@ -418,7 +299,10 @@
ElMessage.success(response.message);
// window.location.reload()
dialogFormVisible.value = false;
+ tableData.splice(0, tableData.length, ...response.data);
selectedProjectNo.value = ''
+ markingMachineStatus.value = '#911005';
+ cuttingMachineStatus.value = '#911005';
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
ElMessage.error(response.msg);
@@ -431,9 +315,14 @@
}
// 寮�濮嬩笂鐗�
const handle = async () => {
+ 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: selectedProjectNoa.value,
+ engineerId: engineeringId,
state: 1,
})
if (response.code == 200) {
@@ -441,7 +330,6 @@
ElMessage.success(response.message);
// window.location.reload()
blind.value = false;
- tableData.splice(0, tableData.length, ...response.data);
selectedProjectNoa.value = ''
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -452,6 +340,10 @@
// 澶勭悊閿欒
console.error(error);
}
+ } else if (markingMachineStatus.value === '#911005' || cuttingMachineStatus.value === '#911005') {
+ // 鎻愮ず鐢ㄦ埛鎵撴爣鏈烘湭灏辩华
+ ElMessage.warning('璇风‘璁ゆ墦鏍囨満鍜屽垏鍓叉満鐨勫氨缁姸鎬侊紒');
+ }
}
// 鏆傚仠
const handlea = async () => {
@@ -459,17 +351,13 @@
let engineeringId = window.localStorage.getItem('engineeringId')
console.log(engineeringId);
if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
engineeringId: engineeringId,
state: 0,
})
if (response.code == 200) {
- // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- // window.location.reload()
blinda.value = false;
- // tableData.value = response.data
- // tableData.value = [];
tableData.splice([]);
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -494,7 +382,7 @@
let engineeringId = window.localStorage.getItem('engineeringId')
console.log(engineeringId);
if (engineeringId !== '') {
- const response = await request.post('/loadGlass/engineering/engineering/changeTask', {
+ const response = await request.post('/loadGlass/engineering/engineering/pauseTask', {
engineeringId: engineeringId,
state: 0,
})
@@ -522,7 +410,6 @@
}
}
onMounted(fetchTableData);
-onMounted(fetchTableDataa);
function getStatusText(state: number) {
switch (state) {
case 0:
@@ -533,115 +420,63 @@
return '涓婄墖涓�';
case 100:
return '宸插畬鎴�';
- default:
- return '鏈煡鐘舵��';
}
}
-
function getStatusType(state: number) {
- // 杩欓噷鍋囪鍙湁100鏃剁被鍨嬩笉鏄痵uccess锛屽叾浠栭兘鏄痵uccess
- return state === 100 ? 'info' : 'success'; // 鏍规嵁闇�瑕佽皟鏁寸被鍨�
+ switch (state) {
+ case 0:
+ return 'warning';
+ case 1:
+ return 'primary';
+ case 2:
+ return 'primary';
+ case 100:
+ return 'success';
+ }
}
-// const open = () => {
-// ElMessageBox.confirm(
-// '鏄惁鍒犻櫎璇ユ潯淇℃伅?',
-// '鎻愮ず',
-// {
-// confirmButtonText: '鏄�',
-// cancelButtonText: '鍙栨秷',
-// type: 'warning',
-// }
-// )
-// .then(() => {
-// ElMessage({
-// type: 'success',
-// message: '鍒犻櫎鎴愬姛锛�',
-// })
-// })
-// .catch(() => {
-// ElMessage({
-// type: 'info',
-// message: '鍒犻櫎澶辫触',
-// })
-// })
-// }
// 寮�濮嬩笂鐗�
const handleBind = (row) => {
- // engineeringId.value = row.engineeringId;
-
blind.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
};
// 鏆傚仠
const handleBinda = (row) => {
- // engineeringId.value = row.engineeringId;
-
- blinda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ blinda.value = true;
};
// 鍋滄浠诲姟
const handleBindb = (row) => {
- // engineeringId.value = row.engineeringId;
-
- blindb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ blindb.value = true;
};
// 鍒犻櫎
const handleBindRacka = (row) => {
- workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕
-
- adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗�
+ workstationId.value = row.workstationId;
+ adda.value = true;
};
-const gridOptions = reactive({
- border: "full",//琛ㄦ牸鍔犺竟妗�
- keepSource: true,//淇濇寔婧愭暟鎹�
- align: 'center',//鏂囧瓧灞呬腑
- stripe:true,//鏂戦┈绾�
- rowConfig: {isCurrent: true, isHover: true,height: 50},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒
- id: 'OrderList',
- showFooter: true,//鏄剧ず鑴�
- printConfig: {},
- importConfig: {},
- exportConfig: {},
- scrollY:{ enabled: true },//寮�鍚櫄鎷熸粴鍔�
- showOverflow:true,
- columnConfig: {
- resizable: true,
- useKey: true
- },
- filterConfig: { //绛涢�夐厤缃」
- remote: true
- },
- customConfig: {
- storage: true
- },
- editConfig: {
- trigger: 'click',
- mode: 'row',
- showStatus: true
- },
- data: [
- {
- 'id': '1',
- 'long': '5',
- 'wide': '1005',
- 'thick': '183.6',
- }
- ],
-})
+// 瀹氫箟涓�涓搷搴斿紡寮曠敤锛岀敤浜庡瓨鍌ㄩ鑹茬姸鎬�
+const markingMachineStatus = ref('#911005');
+const cuttingMachineStatus = ref('#911005');
+// 瀹氫箟涓�涓柟娉曟潵鏀瑰彉棰滆壊鐘舵��
+const confirmMarkingMachine = () => {
+ markingMachineStatus.value = 'green';
+};
+const confirmCuttingMachine = () => {
+ cuttingMachineStatus.value = 'green';
+};
</script>
<template>
<div>
<div id="dotClass">
- <div>鎵撴爣鏈哄氨缁姸鎬侊細</div>
- <i style="margin-top: 2px; background-color: green;width:18px; height:18px; border-radius: 50%; display: block"></i>
- <el-button style="margin-left: 30px;margin-top: -3px;">鎵嬪姩纭</el-button>
+ <div>鎵撴爣鏈哄氨缁姸鎬侊細</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>
- <i style="margin-top: 2px; background-color: #911005 ;width:18px; height:18px; border-radius: 50%; display: block"></i>
- <el-button style="margin-left: 30px;margin-top: -3px;" >鎵嬪姩纭</el-button>
+ <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>
</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="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>
@@ -655,7 +490,7 @@
>
<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="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"/>
@@ -670,34 +505,11 @@
{{ getStatusText(scope.row.state) }}
</el-tag>
</template>
- <!-- <template #default="scope">
- <el-tag type="success" >{{ scope.row.state==0?"绛夊緟涓�":"涓婄墖涓�" }}</el-tag>
- </template> -->
</el-table-column>
</el-table>
</div>
-
</el-card>
- <el-dialog v-model="blind" top="24vh" width="30%" title="鏄惁寮�濮嬩笂鐗囷紵" >
- <div style="margin-left: 50px;margin-bottom: 10px;">
- <el-form-item label="宸ョ▼鍙凤細" :required="true">
- <el-select
- v-model="selectedProjectNoa"
- filterable
- clearable
- placeholder="璇烽�夋嫨宸ョ▼"
- style="width: 220px"
- @input="handleInputChangea"
- >
- <el-option
- v-for="item in titleSelectJsona['processTypea']"
- :key="item.id"
- :label="item.engineerId"
- :value="item.engineerId"
- />
- </el-select>
- </el-form-item>
- </div>
+ <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" >
<template #footer>
<div id="dialog-footer">
<el-button type="primary" @click="handle">
@@ -707,16 +519,6 @@
</div>
</template>
</el-dialog>
- <!-- <el-dialog v-model="blind" top="30vh" width="25%" title="鏄惁寮�濮嬩笂鐗�?" >
- <template #footer>
- <div id="dialog-footer">
- <el-button type="primary" @click="handle">
- 纭
- </el-button>
- <el-button @click="blind = false">鍙栨秷</el-button>
- </div>
- </template>
- </el-dialog> -->
<el-dialog v-model="blinda" top="30vh" width="25%" title="鏄惁鏆傚仠?" >
<template #footer>
<div id="dialog-footer">
@@ -743,9 +545,10 @@
<div id="overlaya" v-show="flakea"></div>
</div>
<div style="margin-top: -350px;margin-left: 650px;">
- <el-table :data="tableDataa" border style="width: 60%"
+ <el-table :data="tableDataa" border style="width: 70%"
: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" />
@@ -767,15 +570,44 @@
<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="patternHeight" autocomplete="off" />
- </el-form-item></div></div>
+ <el-form-item label="瀹斤細" :required="true" style="width: 14vw">
+ <el-select
+ v-model="selectedValue"
+ filterable
+ clearable
+ placeholder="璇烽�夋嫨瀹�"
+ 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="瀹斤細" :required="true" style="width: 14vw">
- <el-input v-model="patternWidth" autocomplete="off" />
+ <el-form-item label="楂橈細" :required="true" style="width: 14vw">
+ <el-select
+ v-model="selectedValuea"
+ filterable
+ clearable
+ placeholder="璇烽�夋嫨楂�"
+ 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>
@@ -785,14 +617,43 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item label="鑶滅郴锛�" :required="true" style="width: 14vw;">
- <el-input v-model="filmsId" autocomplete="off" />
+ <el-select
+ v-model="selectedValueb"
+ filterable
+ clearable
+ placeholder="璇烽�夋嫨鑶滅郴"
+ 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="鍘氬害锛�" :required="true" style="width: 14vw">
- <el-input v-model="patternThickness" autocomplete="off" />
+ <el-select
+ v-model="selectedValuec"
+ filterable
+ clearable
+ placeholder="璇烽�夋嫨鍘氬害"
+ 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>
@@ -828,8 +689,6 @@
</template>
</el-dialog>
</div>
-
-
<el-dialog v-model="dialogFormVisible" top="24vh" width="30%" title="宸ョ▼" >
<div style="margin-left: 50px;margin-bottom: 10px;">
<el-form-item label="宸ョ▼鍙凤細" :required="true">
diff --git a/UI-Project/src/views/User/permissions.vue b/UI-Project/src/views/User/permissions.vue
index b5e4ae6..637eb78 100644
--- a/UI-Project/src/views/User/permissions.vue
+++ b/UI-Project/src/views/User/permissions.vue
@@ -6,6 +6,7 @@
const add = ref(false)
const adda = ref(false)
+const editingUser = ref({}); // 鐢ㄤ簬瀛樺偍褰撳墠缂栬緫鐨勭敤鎴锋暟鎹�
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import { ref } from 'vue'
@@ -83,6 +84,11 @@
console.error(error);
}
};
+// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
+function handleEdit(row) {
+ editingUser.value = { ...row }; // 浣跨敤灞曞紑杩愮畻绗﹀鍒跺綋鍓嶈鏁版嵁
+ adda.value = true; // 鏄剧ず瀵硅瘽妗�
+}
// 缂栬緫
const getTableRowa = async () => {
try {
@@ -95,7 +101,8 @@
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- add.value = false;
+ editingUser.value = {};
+ adda.value = false;
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -204,7 +211,7 @@
<el-table-column prop="id" align="center" label="鎺掑簭" min-width="140"/>
<el-table-column fixed="right" label="鎿嶄綔" align="center">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
+ <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">缂栬緫</el-button>
<el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -217,7 +224,7 @@
<el-table-column prop="id" align="center" label="鎺掑簭" min-width="180" />
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
+ <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">缂栬緫</el-button>
<el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -289,14 +296,14 @@
</el-dialog>
<el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鑿滃崟" >
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
+ <el-form :model="editingUser" ref="formRef" size="mini" label-width="150px">
<el-form label-width="100px" 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="鑿滃崟鏍忥細" :required="true" style="width: 25vw">
- <el-input v-model="menuName" autocomplete="off" />
+ <el-input v-model="editingUser.menuName" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -305,7 +312,7 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item label="閾炬帴锛�" :required="true" style="width: 25vw">
- <el-input v-model="url" autocomplete="off" />
+ <el-input v-model="editingUser.url" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -314,7 +321,7 @@
<div id="dt" style="font-size: 15px;">
<div>
<el-form-item label="鎺掑簭锛�" :required="true" style="width: 25vw">
- <el-input v-model="parentId" autocomplete="off" />
+ <el-input v-model="editingUser.parentId" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
diff --git a/UI-Project/src/views/User/rolelist.vue b/UI-Project/src/views/User/rolelist.vue
index 7594048..81ec996 100644
--- a/UI-Project/src/views/User/rolelist.vue
+++ b/UI-Project/src/views/User/rolelist.vue
@@ -5,7 +5,7 @@
const router = useRouter()
const add = ref(false)
const adda = ref(false)
-
+const editingUser = ref({}); // 鐢ㄤ簬瀛樺偍褰撳墠缂栬緫鐨勭敤鎴锋暟鎹�
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import { ref } from 'vue'
@@ -73,6 +73,11 @@
console.error(error);
}
};
+// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
+function handleEdit(row) {
+ editingUser.value = { ...row }; // 浣跨敤灞曞紑杩愮畻绗﹀鍒跺綋鍓嶈鏁版嵁
+ adda.value = true; // 鏄剧ず瀵硅瘽妗�
+}
// 缂栬緫
const getTableRowa = async () => {
try {
@@ -84,7 +89,8 @@
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- add.value = false;
+ editingUser.value = {};
+ adda.value = false;
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -177,7 +183,7 @@
<el-table-column prop="name" align="center" label="瑙掕壊" min-width="180" />
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
- <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
+ <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">缂栬緫</el-button>
<el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -212,14 +218,14 @@
</el-dialog>
<el-dialog v-model="adda" top="23vh" width="37%" title="淇敼瑙掕壊" >
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
+ <el-form :model="editingUser" ref="formRef" size="mini" label-width="150px">
<el-form label-width="100px" 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="瑙掕壊锛�" :required="true" style="width: 25vw">
- <el-input v-model="name" autocomplete="off" />
+ <el-input v-model="editingUser.name" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
diff --git a/UI-Project/src/views/User/userlist.vue b/UI-Project/src/views/User/userlist.vue
index bca1fae..ecd91ed 100644
--- a/UI-Project/src/views/User/userlist.vue
+++ b/UI-Project/src/views/User/userlist.vue
@@ -5,7 +5,7 @@
const router = useRouter()
const add = ref(false)
const adda = ref(false)
-
+const editingUser = ref({}); // 鐢ㄤ簬瀛樺偍褰撳墠缂栬緫鐨勭敤鎴锋暟鎹�
import request from "@/utils/request"
import { ref, onMounted } from "vue";
// import { ref } from 'vue'
@@ -94,6 +94,11 @@
console.error('Error fetching options:', error);
}
};
+// 澶勭悊缂栬緫鎸夐挳鐐瑰嚮
+function handleEdit(row) {
+ editingUser.value = { ...row }; // 浣跨敤灞曞紑杩愮畻绗﹀鍒跺綋鍓嶈鏁版嵁
+ adda.value = true; // 鏄剧ず瀵硅瘽妗�
+}
// 娣诲姞
const getTableRow = async () => {
try {
@@ -129,7 +134,8 @@
if (response.code == 200) {
// 缁戝畾鎴愬姛锛屽鐞嗛�昏緫
ElMessage.success(response.message);
- add.value = false;
+ editingUser.value = {};
+ adda.value = false;
tableData.value = response.data;
} else {
// 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭�
@@ -230,7 +236,7 @@
<el-table-column fixed="right" label="鎿嶄綔" align="center" width="200">
<template #default="scope">
<el-button size="mini" type="text" plain @click="open(scope.row)">閲嶇疆瀵嗙爜</el-button>
- <el-button size="mini" type="text" plain @click="adda = true">缂栬緫</el-button>
+ <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">缂栬緫</el-button>
<el-button size="mini" type="text" plain @click="opena(scope.row)">鍒犻櫎</el-button>
</template>
</el-table-column>
@@ -300,14 +306,14 @@
</el-dialog>
<el-dialog v-model="adda" top="23vh" width="37%" title="淇敼鐢ㄦ埛" >
<div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;">
- <el-form size="mini" label-width="150px">
+ <el-form :model="editingUser" ref="formRef" size="mini" label-width="150px">
<el-form label-width="100px" 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="鐢ㄦ埛鍚嶏細" :required="true" style="width: 25vw">
- <el-input v-model="userName" autocomplete="off" />
+ <el-input v-model="editingUser.userName" autocomplete="off" />
</el-form-item></div></div>
</el-col>
</el-row>
@@ -315,6 +321,13 @@
<el-col :span="6">
<div id="dt" style="font-size: 15px;">
<div>
+ <!-- <el-table-column align="center" label="瑙掕壊" min-width="80">
+ <template #default="scope">
+ <el-tag v-for="role in scope.row.roleList">
+ {{role.name}}
+ </el-tag>
+ </template>
+ </el-table-column> -->
<el-form-item label="瑙掕壊锛�" :required="true" style="width: 25vw;">
<el-select
v-model="selectedProjectNoa"
@@ -339,7 +352,7 @@
<div>
<el-form-item label="瀵嗙爜锛�" :required="true" style="width: 25vw;">
<el-input style="width: 340px;"
- v-model="password"
+ v-model="editingUser.password"
autocomplete="off"
:prefix-icon="Lock"
show-password/>
--
Gitblit v1.8.0