From 15791977ae913f20f3db5c3ba952bdd1be9cde6c Mon Sep 17 00:00:00 2001 From: zhoushihao <zsh19950802@163.com> Date: 星期四, 01 八月 2024 12:26:39 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- UI-Project/src/views/ReportWork/reportWork.vue | 153 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 140 insertions(+), 13 deletions(-) diff --git a/UI-Project/src/views/ReportWork/reportWork.vue b/UI-Project/src/views/ReportWork/reportWork.vue index 2edca18..d1bfcfe 100644 --- a/UI-Project/src/views/ReportWork/reportWork.vue +++ b/UI-Project/src/views/ReportWork/reportWork.vue @@ -23,7 +23,7 @@ <el-option :label="$t('reportmanage.steel')" value="3"></el-option> </el-select> <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire') }}</el-button> - <el-button type="success" style="margin-left: 10px;" >{{ $t('reportmanage.signingwork') }}</el-button> + <el-button type="success" style="margin-left: 10px;" @click="handleConfirm">{{ $t('reportmanage.signingwork') }}</el-button> </div> <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading"> <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;"> @@ -33,22 +33,102 @@ <el-table-column prop="deviceName" align="center" :label="$t('reportmanage.reportingequipment')" min-width="120" /> <el-table-column prop="line" align="center" :label="$t('reportmanage.line')" min-width="120" /> <el-table-column prop="workingProcedure" align="center" :label="$t('reportmanage.process')" min-width="120" /> - <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="120" /> + <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" /> <el-table-column prop="engineerId" align="center" :label="$t('reportmanage.projectnumber')" min-width="120" /> <el-table-column prop="temperingLayoutId" align="center" :label="$t('reportmanage.layoutID')" min-width="120" /> - <el-table-column prop="damageTime" align="center" :label="$t('reportmanage.productiontime')" min-width="120" /> + <el-table-column prop="damageTime" align="center" :label="$t('reportmanage.productiontime')" min-width="230" /> <el-table-column prop="type" align="center" :label="$t('reportmanage.type')" min-width="120" /> <el-table-column prop="status" align="center" :label="$t('reportmanage.state')" min-width="120" /> - <el-table-column prop="processId" align="center" :label="$t('reportmanage.processcards')" min-width="120" /> + <el-table-column prop="processId" align="center" :label="$t('reportmanage.processcards')" min-width="140" /> <el-table-column prop="orderNumber" align="center" :label="$t('reportmanage.number')" min-width="120" /> <el-table-column prop="technologyNumber" align="center" :label="$t('reportmanage.layer')" min-width="120" /> - <el-table-column prop="breakageType" align="center" :label="$t('reportmanage.typebreakage')" min-width="120" /> - <el-table-column prop="breakageReason" align="center" :label="$t('reportmanage.causebreakage')" min-width="120" /> - <el-table-column prop="responsibleProcess" align="center" :label="$t('reportmanage.responsibleprocess')" min-width="120" /> - <el-table-column prop="responsiblePersonnel" align="center" :label="$t('reportmanage.responsiblepersonnel')" min-width="120" /> - <el-table-column prop="responsibleTeam" align="center" :label="$t('reportmanage.responsibleteam')" min-width="120" /> - <el-table-column prop="responsibleEquipment" align="center" :label="$t('reportmanage.responsibleequipment')" min-width="120" /> - <el-table-column prop="remark" align="center" :label="$t('reportmanage.remark')" min-width="120" /> + <el-table-column prop="breakageType" align="center" :label="$t('reportmanage.typebreakage')" min-width="180"> + <template #default="{ row }"> + <el-select + v-model="selectValuesa[row.id]" + filterable + :placeholder="$t('reportmanage.pcausebreakage')" + clearable + @input="handleInputChangea($event, row.id)" + > + <el-option + v-for="item in selectOptionsa" + :key="item.basicName" + :label="item.basicName" + :value="item.basicName" + /> + </el-select> + </template> + </el-table-column> + <el-table-column prop="breakageReason" align="center" :label="$t('reportmanage.causebreakage')" min-width="180"> + <template #default="{ row }"> + <el-select + v-model="selectValuesb[row.id]" + filterable + :placeholder="$t('reportmanage.ptypebreakage')" + clearable + @input="handleInputChangea($event, row.id)" + > + <el-option + v-for="item in selectOptionsb" + :key="item.basicName" + :label="item.basicName" + :value="item.basicName" + /> + </el-select> + </template> + </el-table-column> + <el-table-column align="center" :label="$t('reportmanage.responsibleprocess')" min-width="120"> + <template #default="{ row }"> + <span>{{ '鍒囧壊纾ㄨ竟閽㈠寲' }}</span> + </template> + </el-table-column> + <el-table-column prop="responsiblePersonnel" align="center" :label="$t('reportmanage.responsiblepersonnel')" min-width="180"> + <template #default="{ row }"> + <el-input :placeholder="$t('reportmanage.presponsiblepersonnel')" v-model="inputValuesa[row.id]" autocomplete="off" /> + </template> + </el-table-column> + <el-table-column prop="responsibleTeam" align="center" :label="$t('reportmanage.responsibleteam')" min-width="180"> + <template #default="{ row }"> + <el-select + v-model="selectValuesc[row.id]" + filterable + :placeholder="$t('reportmanage.presponsibleteam')" + clearable + @input="handleInputChangea($event, row.id)" + > + <el-option + v-for="item in selectOptionsc" + :key="item.basicName" + :label="item.basicName" + :value="item.basicName" + /> + </el-select> + </template> + </el-table-column> + <el-table-column prop="responsibleEquipment" align="center" :label="$t('reportmanage.responsibleequipment')" min-width="180"> + <template #default="{ row }"> + <el-select + v-model="selectValuesd[row.id]" + filterable + :placeholder="$t('reportmanage.presponsibleequipment')" + clearable + @input="handleInputChangea($event, row.id)" + > + <el-option + v-for="item in selectOptionsd" + :key="item.basicName" + :label="item.basicName" + :value="item.basicName" + /> + </el-select> + </template> + </el-table-column> + <el-table-column prop="remark" align="center" :label="$t('reportmanage.remark')" min-width="180"> + <template #default="{ row }"> + <el-input :placeholder="$t('reportmanage.premark')" v-model="inputValuesb[row.id]" autocomplete="off" /> + </template> + </el-table-column> </el-table> </div> </el-card> @@ -70,6 +150,16 @@ }); const reportData = ref([]) const timeRange = ref(["2022-01-01", "2025-01-01"]) +const selectOptionsa = ref([]); +const selectOptionsb = ref([]); +const selectOptionsc = ref([]); +const selectOptionsd = ref([]); +const selectValuesa = reactive({}); +const selectValuesb = reactive({}); +const selectValuesc = reactive({}); +const selectValuesd = reactive({}); +const inputValuesa = reactive({}); +const inputValuesb = reactive({}); // 鏌ヨ鏁版嵁 @@ -96,7 +186,44 @@ status:"2" }) }; - +// 鎶ュ伐 +const handleConfirm = async () => { + const response = await request.post("/cacheVerticalGlass/damage/submitDamage", reportData.value) + if (response.code === 200) { + ElMessage.success(response.message); + } else { + ElMessage.error(response.message); + } +}; +const fetchTableData = async () => { + try { + const response = await request.post('/cacheVerticalGlass/basic_data_produce/selectBasicDataProduceGroup'); + if (response.code == 200) { + selectOptionsa.value = response.data.breakagetype.filter(item => item !== null) +.map(item => ({ basicName: item.basicName })); + selectOptionsb.value = response.data.breakagereason.filter(item => item !== null) +.map(item => ({ basicName: item.basicName })); + selectOptionsc.value = response.data.teamsgroups.filter(item => item !== null) +.map(item => ({ basicName: item.basicName })); + selectOptionsd.value = response.data.device.filter(item => item !== null) +.map(item => ({ basicName: item.basicName })); + } else { + ElMessage.warning(response.data); + } + } catch (error) { + console.error('Error fetching options:', error); + } +}; +const handleInputChangea = (value, rowId) => { + // 鏇存柊瀵瑰簲琛岀殑 select 鍊� + selectValuesa[rowId] = value; + selectValuesb[rowId] = value; + selectValuesc[rowId] = value; + selectValuesd[rowId] = value; + inputValuesa[rowId] = value; + inputValuesb[rowId] = value; +}; +fetchTableData(); const socketUrl = `ws://${WebSocketHost}:${host}/api/temperingGlass/api/talk/screen`; const handleMessage = (data) => { // adjustedRects.value = data.device[0].map(rect => ({ @@ -126,7 +253,7 @@ onMounted(() => { // fetchFlowCardId(); - // fetchTableData(); // 鑾峰彇鏁版嵁 + fetchTableData(); initializeWebSocket(socketUrl, handleMessage); }); onBeforeUnmount(() => { -- Gitblit v1.8.0