From 2780cb79b2239d64f4578e30c255fbd751e12c62 Mon Sep 17 00:00:00 2001 From: chenlu <1320612696@qq.com> Date: 星期二, 12 三月 2024 08:17:01 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue | 206 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 149 insertions(+), 57 deletions(-) diff --git a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue index f4fbfe0..2a58df2 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue @@ -1,6 +1,6 @@ <script setup> import {computed, nextTick, onMounted, reactive, ref, toRefs} from "vue"; -import {useRouter} from 'vue-router' +import {useRouter,useRoute} from 'vue-router' import request from "@/utils/request"; import {ElMessage} from "element-plus"; import {changeFilterEvent, filterChanged} from "@/hook" @@ -10,15 +10,16 @@ let brokenVisible = ref(false) const xGrid = ref() const brokenGrid =ref() -let router = useRouter() +const router = useRouter() +const route = useRoute() const user=userInfo() - //瀹氫箟琛ㄥご鏁版嵁 const titleUploadData = ref({ //娴佺▼鍗″彿 - processId: 'NG24030701B01/1', + processId: 'NG24030804A02/1', //閿�鍞崟鍙� orderId: '', + reviewedState:0, //鐢熶骇鍗曞彿 productionId: '', //璁惧绫诲瀷 @@ -75,6 +76,24 @@ }) + +onMounted(() =>{ + if(route.query.processId !== undefined && route.query.processId!=='' && route.query.processId!=null ){ + titleUploadData.value.processId = route.query.processId + } + //鍒ゆ柇鏄惁浼犲叆鎶ュ伐缂栧彿 + if(route.query.reportingWorkId!== undefined && route.query.reportingWorkId!=='' && route.query.reportingWorkId!=null){ + request.post(`reportingWork/selectUpdateReportingWork/${route.query.reportingWorkId}`).then(res=>{ + if(res.code === '200'){ + titleUploadData.value = res.data.reportingWork + console.log(res.data) + xGrid.value.reloadData(res.data.reportingWorkDetails) + } + }) + } +}) + + //琛ㄥ熬姹傚拰 const sumNum = (list, field) => { let count = 0 @@ -87,20 +106,6 @@ const optionVal = ref('') -const options = [ - { - value: '鍒囧壊', - label: '鍒囧壊', - }, - { - value: '纾ㄨ竟', - label: '纾ㄨ竟', - }, - { - value: '閽㈠寲', - label: '閽㈠寲', - }, -] //鐝 const classesVal = ref('鏃╃彮') @@ -205,12 +210,12 @@ showOverflow: "ellipsis", filterMethod: filterChanged }, - {field: 'quantity', title: '涓婂伐瀹屽伐鏁伴噺',}, + {field: 'quantity', title: '鍙姤鏁伴噺',}, { - field: 'completedQuantity', title: '瀹屽伐鏁伴噺', + field: 'completedQuantity', title: '瀹屽伐鏁伴噺',width: 120, editRender: { name: 'input', - attrs: {placeholder: ''}, + attrs: {placeholder: ''} }, }, @@ -246,8 +251,8 @@ // {code: 'sameDamage', name: '娆$牬鐩稿悓'}, // {code: 'sameOneCompletion', name: '瀹屽伐涓�鍒楃浉鍚�'}, // {code: 'sameOneDamage', name: '娆$牬涓�鍒楃浉鍚�'}, - {code: 'saveReportingWork', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save'}, - {code: 'print_lck', name: '淇濆瓨骞跺鏍�', status: 'primary', icon: 'vxe-icon-save'}, + {code: 'saveReportingWork', name: '淇濆瓨', status: 'primary', icon: 'vxe-icon-save',disabled:true}, + {code: 'saveReportingWorkReview', name: '淇濆瓨骞跺鏍�', status: 'primary', icon: 'vxe-icon-save',disabled:true}, ], // import: false, // export: true, @@ -277,26 +282,21 @@ if ($grid) { switch (code) { case 'saveReportingWork': { - if($grid.getTableData().fullData.length===0){ - ElMessage.warning(`璇烽�夋嫨娴佺▼鍗℃暟鎹甡) - return false - } - const device = titleUploadData.value.deviceName - if(device === null || device === undefined || device === ''){ - ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') - return - } - const teamsGroupsName = titleUploadData.value.teamsGroupsName - if(teamsGroupsName === null || teamsGroupsName === undefined || teamsGroupsName === ''){ - ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') - return - } const errMap = await $grid.validate(true) if (errMap) { ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) return } - saveReportingWork() + saveReportingWork(0) + break + } + case 'saveReportingWorkReview': { + const errMap = await $grid.validate(true) + if (errMap) { + ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) + return + } + saveReportingWork(1) break } } @@ -481,6 +481,10 @@ const checkClose = async (done) => { + if(brokenGrid.value.getTableData().fullData.length===0){ + done() + return true + } const errMap = await brokenGrid.value.validate(true) if (errMap) { ElMessage.error(`鏍¢獙涓嶉�氳繃锛乣) @@ -493,7 +497,7 @@ }) let reportingWorkNum = isNaN(brokenRow.value.completedQuantity*1)?0:brokenRow.value.completedQuantity*1 - if(breakageQuantityCount+reportingWorkNum>brokenRow.value.quantity*1){ + if((breakageQuantityCount+reportingWorkNum>brokenRow.value.quantity*1) ){ ElMessage.warning(`鎹熻�楁暟:'${breakageQuantityCount}' 瀹屽伐鏁�:'${reportingWorkNum}'涔嬪拰${breakageQuantityCount+reportingWorkNum} 涓嶈兘澶т簬${brokenRow.value.quantity*1}`) @@ -507,7 +511,6 @@ } - //绗竴娆″姞杞芥暟鎹� request.post(`/reportingWork/selectProcess`).then((res) => { @@ -518,7 +521,22 @@ } }) -const saveReportingWork = () => { +const saveReportingWork = (type) => { + + if(xGrid.value.getTableData().fullData.length===0){ + ElMessage.warning(`璇烽�夋嫨娴佺▼鍗℃暟鎹甡) + return false + } + const device = titleUploadData.value.deviceName + if(device === null || device === undefined || device === ''){ + ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') + return + } + const teamsGroupsName = titleUploadData.value.teamsGroupsName + if(teamsGroupsName === null || teamsGroupsName === undefined || teamsGroupsName === ''){ + ElMessage.error('璇烽�夋嫨鎶ュ伐璁惧锛�') + return + } titleUploadData.value.creator = user.user.userName titleUploadData.value.creatorId = user.user.userId @@ -534,17 +552,30 @@ const requestData = { title:titleUploadData.value, - detail:xGrid.value.getTableData().fullData + detail:xGrid.value.getTableData().fullData, + type:type//瀹℃牳鐘舵�� } + gridOptions.toolbarConfig.buttons[0].disabled=true + gridOptions.toolbarConfig.buttons[1].disabled=true request.post(`/reportingWork/saveReportingWork`,requestData).then(res =>{ if (res.code == 200){ ElMessage.success("鎶ュ伐鎴愬姛") - router.push({path:'/main/reportingWorks/AddReportingWork',query:{random:Math.random()}}) + router.push({path:'/main/reportingWorks/AddReportingWork',query:{processId:titleUploadData.value.processId,random:Math.random()}}) }else{ - ElMessage.error(res.msg) + const errorObj = JSON.parse(res.msg) + const msg = "搴忓彿锛�"+errorObj.orderNumber+'\n' + +'灏忕墖椤哄簭锛�'+errorObj.technologyNumber+'\n' + +"瀹為檯鍙姤宸ユ暟閲忥細"+errorObj.processNum+'<'+ + "鎶ュ伐鏁伴噺锛�"+errorObj.sumNum+'\n' + +"璇峰埛鏂扮晫闈㈤噸鏂版姤宸�" + + ElMessage.error(msg) } }).catch(err =>{ ElMessage.error(err.message) + }).finally(()=>{ + gridOptions.toolbarConfig.buttons[0].disabled=false + gridOptions.toolbarConfig.buttons[1].disabled=false }) } @@ -575,6 +606,51 @@ } }) +let loadingFlag = ref(false) +let disabledFlag = ref(true) +const reviewReportingWork = () => { + const processId = titleUploadData.value.processId + if (processId.indexOf("/") < 0) { + ElMessage.warning("璇疯緭鍏ユ纭牸寮忔祦绋嬪崱") + return + } + let indexOfChar = processId.indexOf("/") + let leftString = processId.slice(0, indexOfChar) + if (leftString.length !== 13) { + ElMessage.warning("璇疯緭鍏ユ纭綅鏁扮殑娴佺▼鍗�") + return + } +//宸ュ簭 + let process = titleUploadData.value.thisProcess + if (process === "" || process == null) { + ElMessage.warning("璇烽�夋嫨宸ュ簭") + return + } + if(titleUploadData.value.previousProcess===''){ + ElMessage.warning("绗竴閬撳伐搴忎笉闇�瑕佸鏍�") + return + } + const reportWork = { + process: titleUploadData.value.previousProcess, + processId:processId + } + loadingFlag.value= true + request.post("/reportingWork/reviewReportingWork",reportWork).then((res) =>{ + if(res.code === '200'){ + ElMessage.success("瀹℃牳鎴愬姛") + router.push({path:'/main/reportingWorks/AddReportingWork', + query:{ + processId:titleUploadData.value.processId, + random:Math.random() + } + }) + } + }).finally( + loadingFlag.value= false + ) + +} + //涓嬫媺娆鹃�夋嫨宸ュ簭鏃舵煡璇� const getWork = () => { @@ -594,7 +670,6 @@ //宸ュ簭 let process = titleUploadData.value.thisProcess if (process == "" || process == null) { - ElMessage.warning("璇烽�夋嫨宸ュ簭") return } @@ -610,6 +685,10 @@ request.post(`/reportingWork/addSelectLastWork/${processIdStr}/${technologyStr}/${process}`).then((res) => { if (res.code == 200) { + if(res.data.data===null){ + ElMessage.error("鏈煡璇㈠埌姝ゆ祦绋嬪崱鏁版嵁") + return + } //琛ㄥご璧嬪�� titleUploadData.value = res.data.data titleUploadData.value.processId = processId @@ -629,10 +708,18 @@ titleSelectJson.value.breakageType = res.data.breakageType //娆$牬鍘熷洜 titleSelectJson.value.breakageReason = res.data.breakageReason - //console.log(res.data) + if(titleUploadData.value.reviewedState==1){ + gridOptions.toolbarConfig.buttons[0].disabled=false + gridOptions.toolbarConfig.buttons[1].disabled=false + disabledFlag.value=true + }else { + gridOptions.toolbarConfig.buttons[0].disabled=true + gridOptions.toolbarConfig.buttons[1].disabled=true + disabledFlag.value=false + } + + //鍒ゆ柇鏃╂櫄鐝� titleUploadData.value.classes='鏃╃彮' - - titleUploadData.value.reportingWorkTime = formatCurrentTime() //缁戝畾涓嬫柟琛ㄦ牸 detail.value = res.data.Detail @@ -683,16 +770,20 @@ let hours = dateObj.getHours().toString().padStart(2, '0'); // 灏忔椂 let minutes = dateObj.getMinutes().toString().padStart(2, '0'); // 鍒嗛挓 let seconds = dateObj.getSeconds().toString().padStart(2, '0'); // 绉掓暟 - if(parseInt(hours)>=17)titleUploadData.value.classes='鏅氱彮' + if(parseInt(hours)>=17 && parseInt(hours)<8)titleUploadData.value.classes='鏅氱彮' return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; // 杩斿洖鏍煎紡鍖栧悗鐨勬椂闂村瓧绗︿覆 } -const ptypeChangeEvent = (row) => { - // for (let i = 0; i < row.length; i++){ - // - // let process=row[i].responsibleProcess - // } +const editClosedEvent = ({ row, column }) => { + if (column.property==='completedQuantity') { + xGrid.value.getTableData().fullData.forEach((item, index) =>{ + if(item.order_number===row.order_number){ + item.completedQuantity=row.completedQuantity + } + }) + } } + </script> <template> @@ -710,8 +801,8 @@ /> </el-select> - <el-button type="primary">瀹℃牳閫氳繃</el-button> - <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button> + <el-button :disabled="disabledFlag" :loading="loadingFlag" @click="reviewReportingWork" type="primary">瀹℃牳閫氳繃</el-button> +<!-- <el-button type="primary">瀹℃牳涓嶉�氳繃</el-button>--> <label>娴佺▼鍗¢潰绉細xxx骞虫柟绫�</label> </div> @@ -774,7 +865,7 @@ <el-text>鍙姤宸ユ暟閲忥細</el-text> </el-col> <el-col :span="2"> - <el-text>{{ titleUploadData.flowCard.quantity }}</el-text> + <el-text>{{ titleUploadData.previousProcessQuantity }}</el-text> </el-col> <el-col :span="2"> @@ -856,6 +947,7 @@ v-bind="gridOptions" v-on="gridEvents" @filter-change="filterChanged" + @edit-closed="editClosedEvent" > -- Gitblit v1.8.0