From 91e4ba507f9806c975a4273154d79f1a43b836c4 Mon Sep 17 00:00:00 2001 From: ZengTao <2773468879@qq.com> Date: 星期一, 29 四月 2024 13:42:29 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UI-Project/src/views/Returns/returns.vue | 490 ++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 346 insertions(+), 144 deletions(-) diff --git a/UI-Project/src/views/Returns/returns.vue b/UI-Project/src/views/Returns/returns.vue index 12cd2dd..49db7d7 100644 --- a/UI-Project/src/views/Returns/returns.vue +++ b/UI-Project/src/views/Returns/returns.vue @@ -4,53 +4,54 @@ import {useRouter} from "vue-router" const router = useRouter() import type { TableColumnCtx } from 'element-plus' - + // import { ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' 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 flake = ref(false) +const flakea = ref(false) // const value = ref('') import request from "@/utils/request" - + import { ref, onMounted } from "vue"; // import http from "@/http/index"; - + let ruleForm = ref({ + // engineeringId: '', workstationId: '', patternHeigth: '', patternWidth: '', filmsId: '', patternThickness: '', number: '', - + }) const tableDataa = ref([]) - const requestData = { - // projectNo:"P24030805", - state:100 - }; - + const tableData = reactive([]); // let filterData = ref({ // damageDetails: { // state: '', // }, - + // }) // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰 const fetchTableData = async () => { try { - // 鍙戦�佽幏鍙栬〃鏍兼暟鎹殑璇锋眰锛屽苟绛夊緟鍝嶅簲 - // const response = await request.post("/loadGlass/optimizeProject/listByState", requestData); 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) } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.msg); @@ -64,32 +65,93 @@ if (res.code == 200) { console.log(res.data); tableDataa.value = res.data - // workstationId.value = res.data[0].workstationId + window.localStorage.setItem('patternWidth', res.data.patternWidth) + window.localStorage.setItem('workstationId', res.data.workstationId) + let workstationIda = window.localStorage.getItem('workstationId') + let patternWidth = window.localStorage.getItem('patternWidth') + if (patternWidth !== '' || workstationIda == '1') { + flake.value = true + } else if (patternWidth !== '' || workstationIda == '2') { + flakea.value = true + } } else { ElMessage.warning(res.msg) - router.push("/login") + // router.push("/login") } }); //瀹氫箟鎺ユ敹鍔犺浇琛ㄥご涓嬫媺鏁版嵁 const titleSelectJson = ref({ processType: [], + +}) +// 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 requestData = { + state: 100 +}; +// 鍝嶅簲寮忔暟鎹� +const selectedProjectNo = ref(''); // 褰撳墠閫変腑鐨勫伐绋嬪彿 +const options = ref<any[]>([]); // 涓嬫媺閫夐」鍒楄〃 + +// 璋冪敤鎺ュ彛鑾峰彇閫夐」鏁版嵁鐨勫嚱鏁� +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; -}) -const getBasicData = ref({ - id: '', - projectNo: '', -}) -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") - } - }); - + // titleSelectJson.value.processType = response.data(item => ({ + // // options.value = response.data.data.map(item => ({ + // value: item.projectNo, + // // label: item.id // 鍋囪鍚庣杩斿洖鐨勬暟鎹腑鏈� 瀛楁浣滀负鏄剧ず鏍囩 + // })); + console.log(response.data); + + } else { + ElMessage.warning(response.data); + } + } catch (error) { + console.error('Error fetching options:', error); + } +}; + +// 澶勭悊鐢ㄦ埛杈撳叆鍙樺寲鐨勬柟娉� +const handleInputChange = async (value: string) => { + if (value) { + await fetchOptions(value); + } else { + options.value = []; // 娓呯┖閫夐」鍒楄〃 + } +}; + +// 鍒濆鍖栧姞杞芥暟鎹紙濡傛灉闇�瑕侊級 +onMounted(() => { + // 鍦ㄧ粍浠舵寕杞藉悗璋冪敤 fetchOptions('') 鏉ュ姞杞藉垵濮嬫暟鎹紙濡傛灉闇�瑕侊級 + fetchOptions(''); +}); + // const billall = () => { // request.post("/loadGlass/optimizeProject/listByState", requestData) // .then((res: any) => { @@ -105,26 +167,14 @@ let titleUploadData = ref({ projectNo:'', }) -// const billall = { -// data () { -// return { -// form: { -// projectNo: '', -// }, -// billall:[], -// } -// }, -// methods:{ - -// } -// } +// const engineeringId = ref(''); const workstationId = ref(''); const patternHeigth = ref(''); const patternWidth = ref(''); const filmsId = ref(''); const patternThickness = ref(''); const number = ref(''); - + // 娣诲姞 const handleConfirm = async () => { try { @@ -136,11 +186,18 @@ patternThickness: patternThickness.value, number: number.value }); - + if (response.code == 200) { // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 ElMessage.success(response.message); add.value = false; + window.localStorage.setItem('workstationId', response.data.workstationId) + let workstationId = window.localStorage.getItem('workstationId') + if (workstationId == '1') { + flake.value = true + } else if (workstationId == '2'){ + flakea.value = true + } } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.msg); @@ -161,11 +218,18 @@ patternThickness: 0, number: 0 }); - + if (response.code == 200) { // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 ElMessage.success(response.message); adda.value = false; + window.localStorage.setItem('workstationId', response.data.workstationId) + let workstationId = window.localStorage.getItem('workstationId') + if (workstationId == '1') { + flake.value = false + } else if (workstationId == '2'){ + flakea.value = false + } } else { // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� ElMessage.error(response.msg); @@ -175,67 +239,154 @@ console.error(error); } }; -onMounted(fetchTableData); -interface User { - id: string - name: string - amount1: string - amount2: string - amount3: number -} - -interface SpanMethodProps { - row: User - column: TableColumnCtx<User> - rowIndex: number - columnIndex: number -} - -const objectSpanMethod = ({ - row, - column, - rowIndex, - columnIndex, -}: SpanMethodProps) => { - if (columnIndex === 0) { - if (rowIndex % 2 === 0) { - return { - rowspan: 2, - colspan: 1, - } +// 寮�濮嬩笂鐗� +const handle = async () => { + try { + let engineeringId = window.localStorage.getItem('engineeringId') +console.log(engineeringId); +if (engineeringId !== '') { + const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + engineeringId: engineeringId, + state: 1, + }) + if (response.code == 200) { + // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 + ElMessage.success(response.message); + blind.value = false; } else { - return { - rowspan: 0, - colspan: 0, - } + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.msg); } } -} - -const open = () => { - ElMessageBox.confirm( - '鏄惁鍒犻櫎璇ユ潯淇℃伅?', - '鎻愮ず', - { - confirmButtonText: '鏄�', - cancelButtonText: '鍙栨秷', - type: 'warning', - } - ) - .then(() => { - ElMessage({ - type: 'success', - message: '鍒犻櫎鎴愬姛锛�', - }) - }) - .catch(() => { + else { ElMessage({ type: 'info', - message: '鍒犻櫎澶辫触', + message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒', }) - }) + } } - +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} +// 鏆傚仠 +const handlea = async () => { + try { + let engineeringId = window.localStorage.getItem('engineeringId') +console.log(engineeringId); +if (engineeringId !== '') { + const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + engineeringId: engineeringId, + state: 0, + }) + if (response.code == 200) { + // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 + ElMessage.success(response.message); + blinda.value = false; + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.msg); + } + } + else { + ElMessage({ + type: 'info', + message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒', + }) + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} +// 寮�濮嬩笂鐗� +const handleb = async () => { + try { + let engineeringId = window.localStorage.getItem('engineeringId') +console.log(engineeringId); +if (engineeringId !== '') { + const response = await request.post('/loadGlass/engineering/engineering/changeTask', { + engineeringId: engineeringId, + state: 0, + }) + if (response.code == 200) { + // 缁戝畾鎴愬姛锛屽鐞嗛�昏緫 + ElMessage.success(response.message); + blindb.value = false; + } else { + // 璇锋眰澶辫触锛屾樉绀洪敊璇秷鎭� + ElMessage.error(response.msg); + } + } + else { + ElMessage({ + type: 'info', + message: '宸ョ▼鍙蜂笉鑳戒负绌猴紒', + }) + } +} +catch (error) { + // 澶勭悊閿欒 + console.error(error); + } +} +onMounted(fetchTableData); + +// 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; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� +}; +// 鍋滄浠诲姟 +const handleBindb = (row) => { + // engineeringId.value = row.engineeringId; + + blindb.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� +}; +// 娣诲姞 +const handleBindRack = (row) => { + workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕 + + add.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� +}; +// 鍒犻櫎 +const handleBindRacka = (row) => { + workstationId.value = row.workstationId; // 鍋囪rackNumber鏄灦鍙峰瓧娈电殑灞炴�у悕 + + adda.value = true; // 鎵撳紑缁戝畾鏋跺瓙瀵硅瘽妗� +}; const gridOptions = reactive({ border: "full",//琛ㄦ牸鍔犺竟妗� keepSource: true,//淇濇寔婧愭暟鎹� @@ -274,7 +425,7 @@ ], }) </script> - + <template> <div> <div id="dotClass"> @@ -287,9 +438,10 @@ <el-button 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">寮�濮嬩笂鐗�</el-button> - <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" >鏆傚仠</el-button> - <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" >鍋滄浠诲姟</el-button> + <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="primary" @click="handleBind">寮�濮嬩笂鐗�</el-button> + <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="warning" @click="handleBinda">鏆傚仠</el-button> + <el-button style="margin-top: 5px;margin-left: 20px;" id="searchButton" type="danger" @click="handleBindb">鍋滄浠诲姟</el-button> + <el-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 @@ -310,14 +462,48 @@ min-width="80" prop="state" > - <!-- <el-tag type="success" v-if="damageDetails.state === 1">灏辩华</el-tag> --> - <!-- <el-tag type="danger" v-if="row.enableState==2">鏈氨缁�</el-tag> --> + <template #default="scope"> + <el-tag type="success" >{{ scope.row.state==1?"灏辩华":"鏈氨缁�" }}</el-tag> + </template> </el-table-column> </el-table> </div> + </el-card> + <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"> + <el-button type="primary" @click="handlea"> + 纭 + </el-button> + <el-button @click="blinda = false">鍙栨秷</el-button> + </div> + </template> + </el-dialog> + <el-dialog v-model="blindb" top="30vh" width="25%" title="鏄惁鍋滄浠诲姟?" > + <template #footer> + <div id="dialog-footer"> + <el-button type="primary" @click="handleb"> + 纭 + </el-button> + <el-button @click="blindb = false">鍙栨秷</el-button> + </div> + </template> + </el-dialog> <div id="parent"> <img src="../../assets/shangpianji.png" alt="" style="max-width: 20%;max-height: 20%;margin-top: 20px;margin-left: 500px;"> + <div id="overlay" v-show="flake"></div> + <div id="overlaya" v-show="flakea"></div> </div> <div style="margin-top: -350px;margin-left: 650px;"> <el-table :data="tableDataa" border style="width: 60%" @@ -328,39 +514,14 @@ <el-table-column prop="filmsId" align="center" label="鑶滅郴" min-width="80" /> <el-table-column prop="number" align="center" label="鏁伴噺" min-width="80" /> <el-table-column fixed="right" label="鎿嶄綔" align="center" width="150"> - <template #default> - <el-button size="mini" type="text" plain @click="add = true">娣诲姞</el-button> - <el-button size="mini" type="text" plain @click="adda = true">鍒犻櫎</el-button> + <template #default="scope"> + <el-button size="mini" type="text" plain @click="handleBindRack(scope.row)">娣诲姞</el-button> + <el-button size="mini" type="text" plain @click="handleBindRacka(scope.row)">鍒犻櫎</el-button> </template> </el-table-column> </el-table> </div> - </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"> - <el-select v-model="getBasicData.projectNo" clearable placeholder="璇烽�夋嫨宸ョ▼" style="width: 220px" - > - <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="dialogFormVisible = false"> - 纭 - </el-button> - <el-button @click="dialogFormVisible = false">鍙栨秷</el-button> - </div> - </template> - </el-dialog> + <el-dialog v-model="add" top="23vh" width="45%" title="娣诲姞鍘熺墖" > <div style="margin-left: -50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="150px"> @@ -419,7 +580,7 @@ </div> </template> </el-dialog> - <el-dialog v-model="adda" top="25vh" width="25%" title="鏄惁鍒犻櫎" > + <el-dialog v-model="adda" top="30vh" width="25%" title="鏄惁鍒犻櫎璇ユ潯淇℃伅?" > <template #footer> <div id="dialog-footer"> <el-button type="primary" @click="handleConfirma"> @@ -429,10 +590,51 @@ </div> </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"> + <el-select + v-model="selectedProjectNo" + filterable + clearable + placeholder="璇烽�夋嫨宸ョ▼" + 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-select v-model="getBasicData.projectNo" clearable placeholder="璇烽�夋嫨宸ョ▼" style="width: 220px" + > + <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="dialogFormVisible = false"> + 纭 + </el-button> + <el-button @click="dialogFormVisible = false">鍙栨秷</el-button> + </div> + </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{ @@ -457,8 +659,8 @@ width: 212px; height: 15px; background-color: #529b2e; - margin-top: -407px; - margin-left: 171px; + margin-top: -404px; + margin-left: 542px; } #overlaya{ position: absolute; @@ -466,8 +668,8 @@ width: 212px; height: 15px; background-color: #529b2e; - margin-top: -40px; - margin-left: 167px; + margin-top: -38px; + margin-left: 537px; } - + </style> \ No newline at end of file -- Gitblit v1.8.0