From 03baf3dc978f9e71d9e96a45978a42b932fbd505 Mon Sep 17 00:00:00 2001 From: wu <731351411@qq.com> Date: 星期五, 27 九月 2024 09:53:56 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/HangZhouMes --- UI-Project/src/views/GlassStorage/rawfilmstorage.vue | 262 ++++++++++++++++++++++++++++++++-------------------- 1 files changed, 160 insertions(+), 102 deletions(-) diff --git a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue index f78f2ff..aa09737 100644 --- a/UI-Project/src/views/GlassStorage/rawfilmstorage.vue +++ b/UI-Project/src/views/GlassStorage/rawfilmstorage.vue @@ -17,46 +17,81 @@ const dialogFormVisiblea = ref(false) const dialogFormVisibleb = ref(false) const dialogFormVisiblec = ref(false) -const timeRange = ref(["2022-01-01", "2025-01-01"]) +const timeRange = ref(["2022-01-01 00:00:00", "2025-01-01 00:00:00"]) const selectValuesa = reactive([]); -let webSocket: WebSocket | null = null; + const patternWidth = ref(''); + const patternHeight = ref(''); + const patternThickness = ref(''); + const filmsId = ref(''); + const remainQuantity = ref(''); + const slot = ref(''); + let webSocket: WebSocket | null = null; const value = ref('') const options = [ { - value: t('film.warehousing1'), + value: 1, label: t('film.warehousing1'), }, { - value: t('film.warehousing2'), + value: 2, label: t('film.warehousing2'), } ] const report = ref({ - enableType: '', - enableState: '', + taskType: '', + taskState: '', }); +request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest",{ + beginDate: "2022-01-01 00:00:00", + endDate: "2025-01-01 00:00:00", +}).then((response) => { + if (response.code == 200) { + tableDataa.value = response.data + console.log(tableDataa.value); + } else { + ElMessage.warning(response.msg) + + } + }); onMounted(() => { + // closeWebSocket(); + debugger + // console.log("--------------webSocket") socket = initializeWebSocket(socketUrl, handleMessage); }); - onUnmounted(() => { - if (socket) { - closeWebSocket(socket); - } - }); + let socket = null; const socketUrl = `ws://${WebSocketHost}:${host}/api/glassStorage/api/talk/rawGlass`; const handleMessage = (data) => { if(data.tasks !=null){ tableDataa.value = data.tasks[0] - console.log(data.tasks[0]); - } - if(data.rack !=null){ - tableDatab.value = data.rack[0] + if(data.rawStationDetailsList !=null){ + tableDatab.value = data.rawStationDetailsList[0] + } +}; +// 淇敼鏁伴噺 +const handleConfirmb = async () => { + let slotId = window.localStorage.getItem('slotId') + try { + const response = await request.post('/glassStorage/rawGlassStorageDetails/updateQuantity', { + slotId: slotId, + remainQuantity: remainQuantity.value, + } + ); + if (response.code === 200) { + ElMessage.success(response.message); + dialogFormVisiblec.value = false; + tableDatab.value = response.data; + } else { + ElMessage.error(response.message); + } + } catch (error) { + console.error(error); } }; // 鍒犻櫎 - const opena = async(row) => { + const deleteWarehousing = async(row) => { try { const confirmResult = await ElMessageBox.confirm( t('film.dedelete'), @@ -68,7 +103,10 @@ } ); if (confirmResult === 'confirm') { - const response = await request.post("/loadGlass/sys/user/deleteUser", [row.id]) + + var url="/glassStorage/rawGlassStorageDetails/deleteWarehousing?slotId="+row.slotId; + const response = await request.post(url) + // const response = await request.post("/glassStorage/rawGlassStorageDetails/deleteWarehousing",[row.slotId]) if (response.code === 200) { ElMessage.success(response.message); } else { @@ -79,30 +117,7 @@ console.error('鍙戠敓閿欒:', error); } }; - // 绂佺敤 - const openb = async(row) => { - try { - const confirmResult = await ElMessageBox.confirm( - t('film.dedisable'), - t('productStock.prompt'), - { - confirmButtonText: t('productStock.yes'), - cancelButtonText: t('productStock.cancel'), - type: 'warning', - } - ); - if (confirmResult === 'confirm') { - const response = await request.post("/loadGlass/sys/user/deleteUser", [row.id]) - if (response.code === 200) { - ElMessage.success(response.message); - } else { - ElMessage.error(response.msg); - } - } - } catch (error) { - console.error('鍙戠敓閿欒:', error); - } -}; + // 鍑哄簱 const openc = async(row) => { try { @@ -116,12 +131,14 @@ } ); if (confirmResult === 'confirm') { - const response = await request.post("/loadGlass/sys/user/deleteUser", [row.id]) + var url="/glassStorage/rawGlassStorageDetails/outWarehousing?slotId="+row.slotId; + const response = await request.post(url) + // const response = await request.post("/glassStorage/rawGlassStorageDetails/outWarehousing",[row.slotId]) if (response.code === 200) { ElMessage.success(response.message); } else { ElMessage.error(response.msg); - } + } } } catch (error) { console.error('鍙戠敓閿欒:', error); @@ -141,45 +158,74 @@ stateList=[selectValuesa[1]]; } } - const response = await request.post("/glassStorage/raw_glass_storage_task/selectRawglasstask", { - createTime: timeRange.value[0], - patternQuantity: timeRange.value[1], - enableType: stateList, - enableState: celllist + const response = await request.post("/glassStorage/rawGlassStorageTask/setRawGlassTaskRequest", { + beginDate: timeRange.value[0], + endDate: timeRange.value[1], + taskState: stateList, + taskType: celllist }) if (response.code === 200) { - tableDataa.value = response.data; + // tableDataa.value = response.data; ElMessage.success(response.message); } else { ElMessage.error(response.message); } }; +// 鍏ュ簱 +const handleConfirma = async () => { + try { + const response = await request.post('/glassStorage/rawGlassStorageDetails/patternWarehousing', { + patternWidth: patternWidth.value, + patternHeight: patternHeight.value, + patternThickness: patternThickness.value, + filmsId: filmsId.value, + remainQuantity: remainQuantity.value, + slotId: slot.value, + }); + if (response.code === 200) { + ElMessage.success(response.message); + dialogFormVisibleb.value = false; + patternWidth.value = ''; + patternHeight.value = ''; + patternThickness.value = ''; + filmsId.value = ''; + remainQuantity.value = ''; + slot.value = ''; + } else { + ElMessage.error(response.message); + } + } catch (error) { + console.error(error); + } +}; // 鏄惁绂佺敤 -const toggleEnableState = async (row: any) => { +const toggleEnableState = async (row: any) => { if (!row.deviceId) { ElMessage.error(t('basicData.updatanull')); return; } - const newState = row.enableState === 1 ? 0 : 1; - try { - // 鍙戦�佽姹傚埌鍚庣鏇存柊鐘舵�� - const response = await request.post('/glassStorage/rawGlassStorageDetails/updateEnableState', { deviceId: row.deviceId, enableState: newState }); + const newState = row.state === 1 ? 0 : 1; + try { + var url="/glassStorage/rawGlassStorageStation/updateSlotState?slot="+row.deviceId + "&state=" + newState; + const response = await request.post(url) if (response.code === 200) { ElMessage.success(response.message); - row.enableState = newState; + row.state = newState; } else { ElMessage.error(response.message); } - } catch (error) { + row.state = newState; +} catch (error) { ElMessage.error(t('basicData.glassnull')); } }; const handleEdit = (row) => { + window.localStorage.setItem('slotId', row.slotId) dialogFormVisiblec.value = true; }; -function getStatusType1(enableType) { -switch (enableType) { +function getStatusType1(taskType) { +switch (taskType) { case 1: return 'info'; case 2: @@ -188,8 +234,8 @@ return 'success'; } } -function getStatusText1(enableType) { -switch (enableType) { +function getStatusText1(taskType) { +switch (taskType) { case 1: return t('film.stocke');//鍏ュ簱 case 2: @@ -198,8 +244,8 @@ return t('film.dispatch');//璋冨害 } } -function getStatusType2(enableState) { -switch (enableState) { +function getStatusType2(taskState) { +switch (taskState) { case 1: return 'info'; case 2: @@ -208,8 +254,8 @@ return 'success'; } } -function getStatusText2(enableState) { -switch (enableState) { +function getStatusText2(taskState) { +switch (taskState) { case 1: return t('film.built');//鏂板缓 case 2: @@ -218,6 +264,11 @@ return t('film.finish');//瀹屾垚 } } +// onUnmounted(() => { +// if (socket) { +// closeWebSocket(socket); +// } +// }); onBeforeUnmount(() => { closeWebSocket(); }); @@ -227,8 +278,12 @@ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;"> <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="dialogFormVisiblea = true">{{ $t('film.mes') }}</el-button> <el-button style="margin-left: 20px;" id="searchButton" type="success" @click="dialogFormVisibleb = true">{{ $t('film.warehousing') }}</el-button> - <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD" value-format="YYYY-MM-DD" - :start-placeholder="$t('film.starttime')" :end-placeholder="$t('film.endtime')" :default-time="defaultTime" /> + <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="datetimerange" + format="YYYY/MM/DD HH:mm:ss" + value-format="YYYY-MM-DD HH:mm:ss" + :start-placeholder="$t('film.starttime')" + :end-placeholder="$t('film.endtime')" + :default-time="defaultTime" /> <el-select v-model="selectValuesa[0]" clearable :placeholder="$t('film.taskstatus')" style="margin-left: 10px;" > <el-option :label="$t('film.built')" value="1"></el-option> <el-option :label="$t('film.execution')" value="2"></el-option> @@ -245,29 +300,29 @@ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> <el-table height="300" ref="table" :data="tableDataa" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> - <el-table-column prop="enableId" align="center" :label="$t('film.enableid')"/> + <el-table-column prop="id" align="center" :label="$t('film.enableid')"/> <el-table-column prop="originateSlot" align="center" :label="$t('film.originateslot')"/> <el-table-column prop="endSlot" align="center" :label="$t('film.endslot')"/> <el-table-column prop="patternQuantity" align="center" :label="$t('film.patternquantity')"/> <el-table-column align="center" :label="$t('film.enabletype')" - prop="enableType" + prop="taskType" > <template #default="scope"> - <el-tag :type="getStatusType1(scope.row.enableType)"> - {{ getStatusText1(scope.row.enableType) }} + <el-tag :type="getStatusType1(scope.row.taskType)"> + {{ getStatusText1(scope.row.taskType) }} </el-tag> </template> </el-table-column> <el-table-column align="center" - :label="$t('film.enablestate')" - prop="enableState" + :label="$t('film.taskstatus')" + prop="taskState" > <template #default="scope"> - <el-tag :type="getStatusType2(scope.row.enableState)"> - {{ getStatusText2(scope.row.enableState) }} + <el-tag :type="getStatusType2(scope.row.taskState)"> + {{ getStatusText2(scope.row.taskState) }} </el-tag> </template> </el-table-column> @@ -284,6 +339,7 @@ <el-table ref="table" style="margin-top: 20px;height: 700px;" :data="tableDatab" :header-cell-style="{background:'#F2F3F5 ',color:'#1D2129'}"> <el-table-column prop="deviceId" fixed align="center" :label="$t('film.station')" min-width="80"/> + <el-table-column prop="slotId" fixed align="center" :label="$t('film.slot')" min-width="80"/> <el-table-column prop="patternWidth" align="center" :label="$t('film.width')" min-width="80" /> <el-table-column prop="patternHeight" align="center" :label="$t('film.height')" min-width="80" /> <el-table-column prop="patternThickness" align="center" :label="$t('film.thickness')" min-width="80" /> @@ -293,36 +349,36 @@ align="center" :label="$t('film.enablestate')" min-width="80" - prop="enablestate" + prop="state" > <template #default="scope"> <el-tag - :type="scope.row.enableState == 1 ? 'success' : 'danger'" + :type="scope.row.state == 1 ? 'success' : 'danger'" @click="toggleEnableState(scope.row)" > - {{ scope.row.enableState == 1 ? $t('film.start') : $t('film.disable')}} + {{ scope.row.state == 1 ? $t('film.start') : $t('film.disable')}} </el-tag> </template> </el-table-column> <el-table-column fixed="right" :label="$t('film.operate')" align="center" width="270"> <template #default="scope"> <el-button size="mini" type="text" plain @click="handleEdit(scope.row)">{{ $t('film.exit') }}</el-button> - <el-button size="mini" type="text" plain @click="opena(scope.row)">{{ $t('film.delete') }}</el-button> + <el-button size="mini" type="text" plain @click="deleteWarehousing(scope.row)">{{ $t('film.delete') }}</el-button> <el-button size="mini" type="text" plain @click="openc(scope.row)">{{ $t('film.outbound') }}</el-button> </template> </el-table-column> </el-table> </el-dialog> -<el-dialog v-model="dialogFormVisibleb" top="15vh" width="60%"> - <div style="margin-top: 10px;margin-bottom: 10px;"> - <el-form size="mini" label-width="150px"> - <el-form label-width="70vm" label-position="right"> - <el-row > +<el-dialog v-model="dialogFormVisibleb" top="23vh" width="55%" :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="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="$t('film.widtha')" :required="true" style="width: 17vw;"> - <el-input :placeholder="$t('film.inwidth')" v-model="number" autocomplete="off" /> + <el-input :placeholder="$t('film.inwidth')" v-model="patternWidth" autocomplete="off" /> </el-form-item> </div></div> </el-col> @@ -330,7 +386,7 @@ <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('film.heighta')" :required="true" style="width: 17vw;"> - <el-input :placeholder="$t('film.inheight')" v-model="number" autocomplete="off" /> + <el-input :placeholder="$t('film.inheight')" v-model="patternHeight" autocomplete="off" /> </el-form-item></div> </div> </el-col> @@ -340,14 +396,14 @@ <div id="dt" style="font-size: 15px;"> <div> <el-form-item :label="$t('film.thicknessa')" :required="true" style="width: 17vw;"> - <el-input :placeholder="$t('film.inthickness')" v-model="number" autocomplete="off" /> + <el-input :placeholder="$t('film.inthickness')" v-model="patternThickness" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('film.filmsa')" :required="true" style="width: 17vw;"> - <el-input :placeholder="$t('film.infilms')" v-model="number" autocomplete="off" /> + <el-input :placeholder="$t('film.infilms')" v-model="filmsId" autocomplete="off" /> </el-form-item></div></div> </el-col> </el-row> @@ -355,24 +411,26 @@ <el-col :span="6"> <div id="dt" style="font-size: 15px;"> <div> - <el-form-item :label="$t('film.quantitya')" :required="true" style="width: 17vw;"> - <el-input :placeholder="$t('film.inquantity')" v-model="number" autocomplete="off" /> + <el-form-item :label="$t('film.quantitya')" :required="true" style="width: 17vw;"> + <el-input :placeholder="$t('film.inquantity')" v-model="remainQuantity" autocomplete="off" /> </el-form-item></div></div> </el-col> <el-col :span="9"> <div id="dta" style="font-size: 15px;"> <div> <el-form-item :label="$t('film.inwarehousing')" :required="true" style="width: 17vw"> - <el-select :placeholder="$t('film.selectwarehousing')"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - /> + <el-select + :placeholder="$t('film.selectwarehousing')" + style="width: 270px" + v-model="slot"> + <el-option + v-for="item in options" + :key="item.value" + :label="item.label" + :value="item.value" + /> </el-select> - </el-form-item></div> - </div> + </el-form-item></div></div> </el-col> </el-row> </el-form> @@ -380,26 +438,26 @@ </div> <template #footer> <div id="dialog-footer"> - <el-button type="primary" @click="handleConfirm"> + <el-button type="primary" @click="handleConfirma"> {{ $t('basicData.confirm') }} </el-button> <el-button @click="dialogFormVisibleb = false">{{ $t('basicData.cancel') }}</el-button> </div> </template> -</el-dialog> + </el-dialog> <el-dialog v-model="dialogFormVisiblec" top="21vh" width="40%"> <div style="margin-left: 50px;margin-top: 10px;margin-bottom: 10px;"> <el-form size="mini" label-width="100px"> <el-form label-width="210px" label-position="right"> <el-form-item :label="$t('film.thickremainquantity')" :required="true" style="width: 25vw"> - <el-input v-model="workstationId" autocomplete="off" /> + <el-input v-model="remainQuantity" autocomplete="off" /> </el-form-item> </el-form> </el-form> </div> <template #footer> <div id="dialog-footer"> - <el-button type="primary" @click="handleConfirm"> + <el-button type="primary" @click="handleConfirmb"> {{ $t('reportWork.sure') }} </el-button> <el-button @click="dialogFormVisiblec = false">{{ $t('reportWork.cancel') }}</el-button> -- Gitblit v1.8.0