From 18b4be9e6b7e8319c2e02b20b9f9b0a422c352a5 Mon Sep 17 00:00:00 2001 From: chenlu <1320612696@qq.com> Date: 星期二, 28 五月 2024 15:58:13 +0800 Subject: [PATCH] 部分报表导出,修改报工新增后质检状态不正确问题,修改报工编辑后查询数据错误问题 --- north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue | 94 ++++++++++++++++++++++++++++++---------------- 1 files changed, 61 insertions(+), 33 deletions(-) diff --git a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue index 7434174..bba91c1 100644 --- a/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue +++ b/north-glass-erp/northglass-erp/src/views/pp/processCard/AddProcessCard.vue @@ -12,9 +12,9 @@ import BasicTable from '@/components/sd/product/BasicTable.vue' import {VXETable} from "vxe-table"; import useUserInfoStore from "@/stores/userInfo"; -import { useI18n } from 'vue-i18n' +import {useI18n} from 'vue-i18n' //璇█鑾峰彇 -const { t } = useI18n() +const {t} = useI18n() let productGlassTypeStore = useProductGlassTypeStore() let router = useRouter() const userStore = useUserInfoStore() @@ -36,7 +36,7 @@ location.reload(); } else { ElMessage.warning(res.msg) - // router.push("/login") + // router.push("/login") } }) break @@ -144,7 +144,7 @@ keepSource: true,//淇濇寔婧愭暟鎹� align: 'center',//鏂囧瓧灞呬腑 stripe: true,//鏂戦┈绾� - rowConfig: {isCurrent: true, isHover: true, height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 + rowConfig: {isCurrent: true, isHover: true, height: 30, useKey: false},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 id: 'CustomerList', showFooter: true,//鏄剧ず鑴� printConfig: {}, @@ -157,7 +157,7 @@ useKey: true }, filterConfig: { //绛涢�夐厤缃」 - //remote: true + //remote: true }, customConfig: { storage: true @@ -245,7 +245,7 @@ keepSource: true,//淇濇寔婧愭暟鎹� align: 'center',//鏂囧瓧灞呬腑 stripe: true,//鏂戦┈绾� - rowConfig: {isCurrent: true, isHover: true, height: 30},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 + rowConfig: {isCurrent: true, isHover: true, height: 30, useKey: false},//榧犳爣绉诲姩鎴栭�夋嫨楂樹寒 id: 'CustomerList', showFooter: true,//鏄剧ず鑴� printConfig: {}, @@ -258,7 +258,7 @@ useKey: true }, filterConfig: { //绛涢�夐厤缃」 - //remote: true + //remote: true }, customConfig: { storage: true @@ -275,7 +275,7 @@ title: t('processCard.processId'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, - width: 130, + width: 100, filterMethod: filterChanged }, { @@ -293,7 +293,13 @@ slots: {filter: 'num1_filter'}, filterMethod: filterChanged }, - {field: 'shape', title: t('order.shape'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, filterMethod: filterChanged}, + { + field: 'shape', + title: t('order.shape'), + filters: [{data: ''}], + slots: {filter: 'num1_filter'}, + filterMethod: filterChanged + }, {field: 'width', title: t('order.width'), showOverflow: "ellipsis"}, {field: 'height', title: t('order.height')}, {field: 'quantity', title: t('order.quantity')}, @@ -357,30 +363,31 @@ if (/^[1-9]\d*$/.test(checkedNum.value)) { checkedList.forEach((item) => { //瀹氫箟key鍊间繚鎸� - //鍒ゆ柇鍙敤鏁伴噺鏄惁澶т簬绛変簬杈撳叆鐨勬暟閲�,涓嶆弧瓒冲垯鎶涘嚭寮傚父 if (item.baiscQuantity * 1 < checkedNum.value * 1) throw new Error(t('processCard.schedulingQuantity')); - item.quantity = checkedNum.value + item.quantity = checkedNum.value item.processId = processId item.landingSequence = index - item.baiscQuantity=item.baiscQuantity - checkedNum.value - }) - //鍒犻櫎key - checkedList.forEach((item) => { + item.baiscQuantity = item.baiscQuantity - checkedNum.value + item.computeGrossArea = item.computeGrossArea - item.width * item.height * checkedNum.value / 1000000 + + //鍒犻櫎key let key = item._X_ROW_KEY delete item._X_ROW_KEY - if (item.baiscQuantity===0){ + if (item.baiscQuantity === 0) { $grid.remove(checkedList) } - $gridLeft.insertAt(checkedList) + $gridLeft.insertAt(item) + //閲嶆柊璧嬪�糼ey item._X_ROW_KEY = key }) -//娓呴櫎涓よ竟澶嶉�夋 + + + //娓呴櫎涓よ竟澶嶉�夋 $gridLeft.clearCheckboxRow() $grid.clearCheckboxRow() - } - else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘棤杈撳叆鏁板瓧 + } else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘棤杈撳叆鏁板瓧 checkedList.forEach((item) => { item.processId = processId @@ -397,11 +404,7 @@ $gridLeft.clearCheckboxRow() $grid.clearCheckboxRow() } - - - } - //鍚戝彸杈硅〃鏍兼坊鍔犳暟鎹� @@ -437,18 +440,29 @@ let filterIndex = rightData.findIndex(item1 => item1.orderNumber === item.orderNumber) //濡傛灉鍙宠竟琛ㄦ牸鏁版嵁涓瓨鍦ㄥ綋鍓嶆暟鎹垯鏁伴噺鐩稿姞 if (filterIndex >= 0) { + //鏁伴噺 rightData[filterIndex].baiscQuantity = rightData[filterIndex].baiscQuantity * 1 + checkedNum.value * 1 + //闈㈢Н + rightData[filterIndex].computeGrossArea=rightData[filterIndex].width*rightData[filterIndex].height*rightData[filterIndex].baiscQuantity/1000000 //濡傛灉宸﹁竟鏁伴噺涓�0鏃跺垹闄ゆ鏉℃暟鎹� - if (item.quantity === 0) { - $gridLeft.remove(item) + //鍒犻櫎key + let key = item._X_ROW_KEY + delete item._X_ROW_KEY + if (item.baiscQuantity === 0) { + $grid.remove(checkedList) } + item._X_ROW_KEY = key } else { //鍙宠竟琛ㄦ牸娌℃湁姝ゆ潯鏁版嵁鍒欏線鍙宠竟琛ㄦ牸鎻掑叆鏁版嵁 item.baiscQuantity = checkedNum.value + item.computeGrossArea=item.width*item.height*checkedNum.value/1000000 if (item.quantity === 0) { $gridLeft.remove(item) } $grid.insert(item) + } + if (item.quantity === 0) { + $gridLeft.remove(item) } }) } else if (checkedNum.value === '') {//鍒ゆ柇鏁伴噺杈撳叆妗嗘棤杈撳叆鏁板瓧 @@ -459,6 +473,9 @@ //鏃犺緭鍏ュ苟涓斿鏋滃彸杈硅〃鏍兼暟鎹腑瀛樺湪褰撳墠鏁版嵁鍒欐暟閲忕浉鍔� if (filterIndex > -1) { rightData[filterIndex].baiscQuantity = rightData[filterIndex].baiscQuantity * 1 + item.quantity * 1 + //闈㈢Н + rightData[filterIndex].computeGrossArea=rightData[filterIndex].width*rightData[filterIndex].height*rightData[filterIndex].baiscQuantity/1000000 + } else { delete item._X_ROW_KEY $grid.insert(item) @@ -507,6 +524,7 @@ //鍒ゆ柇鍙敤鏁伴噺鏄惁澶т簬绛変簬杈撳叆鐨勬暟閲�,涓嶆弧瓒冲垯鎶涘嚭寮傚父 if (item.baiscQuantity * 1 < checkedNum.value * 1) throw new Error("璇疯緭鍏ュ皬浜庣瓑浜庡緟鍒嗘暟閲忕殑鏁板瓧"); item.baiscQuantity = item.baiscQuantity - checkedNum.value + item.computeGrossArea=item.computeGrossArea-item.width*item.height*checkedNum.value/1000000 //瀹氫箟key鍊间繚鎸� let key = item._X_ROW_KEY //宸﹁竟琛ㄦ牸鏁版嵁 @@ -519,6 +537,7 @@ //濡傛灉鍙宠竟琛ㄦ牸鏁版嵁涓瓨鍦ㄥ綋鍓嶆暟鎹垯鏁伴噺鐩稿姞 if (filterIndex >= 0) { leftData[filterIndex].quantity = leftData[filterIndex].quantity * 1 + checkedNum.value * 1 + leftData[filterIndex].computeGrossArea=leftData[filterIndex].computeGrossArea-leftData[filterIndex].width*leftData[filterIndex].height*leftData[filterIndex].baiscQuantity/1000000 if (item.baiscQuantity === 0) { $grid.remove(checkedList) @@ -528,6 +547,7 @@ item.quantity = checkedNum.value item.processId = checkedListLeft[0].processId item.landingSequence = checkedListLeft[0].landingSequence + item.computeGrossArea=item.computeGrossArea-checkedListLeft[0].width*checkedListLeft[0].height*checkedNum.value/1000000 delete item._X_ROW_KEY $gridLeft.insert(item) item._X_ROW_KEY = key @@ -538,6 +558,7 @@ item.quantity = checkedNum.value item.processId = checkedListLeft[0].processId item.landingSequence = checkedListLeft[0].landingSequence + // /item.computeGrossArea=item.computeGrossArea if (item.baiscQuantity === 0) { $grid.remove(checkedList) @@ -545,6 +566,8 @@ for (let i = 0; i < leftData.length; i++) { if (leftData[i].orderNumber === item.orderNumber && leftData[i].processId === item.processId) { leftData[i].quantity = leftData[i].quantity * 1 + checkedNum.value * 1 + leftData[i].computeGrossArea=leftData[i].computeGrossArea-leftData[i].width*leftData[i].height*leftData[i].baiscQuantity/1000000 + break } else if (leftData[i].orderNumber === item.orderNumber && leftData[i].processId !== item.processId) { @@ -552,8 +575,7 @@ $gridLeft.insert(item) item._X_ROW_KEY = key break - } - else if (leftData[i].orderNumber !== item.orderNumber && leftData[i].processId !== item.processId) { + } else if (leftData[i].orderNumber !== item.orderNumber && leftData[i].processId !== item.processId) { delete item._X_ROW_KEY $gridLeft.insert(item) @@ -569,6 +591,8 @@ item.processId = checkedListLeft[0].processId item.landingSequence = checkedListLeft[0].landingSequence item.quantity = checkedListLeft[0].baiscQuantity + item.computeGrossArea=item.computeGrossArea-checkedListLeft[0].width*checkedListLeft[0].height*checkedListLeft[0].baiscQuantity/1000000 + delete item._X_ROW_KEY }) $gridLeft.insertAt(checkedList) @@ -597,7 +621,7 @@ const $tableRight = xGrid.value if ($table) { const selectRecords = $table.getCheckboxRecords() - // const selectRight = $tableRight.getCheckboxRecords() + // const selectRight = $tableRight.getCheckboxRecords() let leftData = $tableRight.getTableData().fullData if (selectRecords.length === 0) { ElMessage.warning("璇峰厛閫夋嫨淇濆瓨鐨勬暟鎹�") @@ -667,10 +691,11 @@ <vxe-grid ref="xGridLeft" class="mytable-scrollbar" - max-height="100%" height="650px" + max-height="100%" v-bind="gridLeftOptions" v-on="gridEvents" + checkbox-config="{ reserve: true, strict: true }" > <!-- @toolbar-button-click="toolbarButtonClickEvent"--> <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�--> @@ -702,14 +727,16 @@ <div width="12%"> <el-main style=""> - <span>{{$t('processCard.selectedQuantity')}}:<el-input v-model="checkedNum" clearable type="number"></el-input></span><br> + <span>{{ $t('processCard.selectedQuantity') }}:<el-input v-model="checkedNum" clearable + type="number"></el-input></span><br> <el-button type="primary" @click="addRight"> 鈫�</el-button> <br> <br> <el-button type="primary" @click="addLeft"> 鈫�</el-button> <br> <br> - <el-button type="primary" @click="createProcessCard">{{$t('processCard.establishProcessCards')}}</el-button> + <el-button type="primary" @click="createProcessCard">{{ $t('processCard.establishProcessCards') }} + </el-button> </el-main> </div> @@ -722,9 +749,10 @@ ref="xGrid" class="mytable-scrollbar" - max-height="100%" height="650px" + max-height="100%" v-bind="gridOptions" + checkbox-config="{ reserve: true, strict: true }" > <!-- @toolbar-button-click="toolbarButtonClickEvent"--> <!-- 涓嬫媺鏄剧ず鎵�鏈変俊鎭彃妲�--> -- Gitblit v1.8.0