From ac795c61f3d0b21626cc3487743c39286950fea1 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周五, 29 11月 2024 13:52:00 +0800 Subject: [PATCH] Merge branch 'master' of http://222.71.245.114:9086/r/LA24030-LuLI_PackageLine --- LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue | 2 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts | 27 + LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue | 73 +++- LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/component/editDialog.vue | 120 +++++++ LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/index.vue | 315 ++++++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs | 9 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue | 4 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue | 178 +++++++--- LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts | 15 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue | 246 +++++++------- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs | 2 11 files changed, 790 insertions(+), 201 deletions(-) diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts index 7943695..5b60f7f 100644 --- a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts +++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts @@ -17,6 +17,12 @@ //PageStockQuanForXjd= '/api/WmsOrderMovement/GetKcMaterialGroup', PageStockQuanForXjd= '/api/v_wms_stock_quan_group/Page', PageWmsLocationViewDetail = '/api/WmsPlaceContainerInfo/Detail', + ValdateQiTao = '/api/WmsOperationTask/ValdateQiTao', + + ValdateLabel = '/api/WmsOperationTask/ValdateLabel', + + + } // 澧炲姞瀹炴椂搴撳瓨 @@ -151,3 +157,24 @@ method: 'get', data: params }); + + + ///鍒ゆ柇榻愬 +export const ValdateQiTao = (params?: any) => + request({ + url: Api.ValdateQiTao, + method: 'post', + data: params + }); + + + + +export const ValdateLabel = (params?: any) => + request({ + url: Api.ValdateLabel, + method: 'post', + data: params + }); + + \ No newline at end of file diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts index f0dc8f0..0464bcb 100644 --- a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts +++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsOrderPurchase.ts @@ -1,6 +1,9 @@ 锘縤mport request from '/@/utils/request'; enum Api { AddWmsOrderPurchase = '/api/wmsOrderPurchase/add', + ForceOutbound = '/api/WmsOperationTask/ForceOutbound', + + DeleteWmsOrderPurchase = '/api/wmsOrderPurchase/delete', UpdateWmsOrderPurchase = '/api/wmsOrderPurchase/update', KittingList = '/api/WmsStockQuan/KittingList', ///api/wmsOrderPurchase/page @@ -106,4 +109,14 @@ method: 'get', data: params, responseType: 'blob' - }); \ No newline at end of file + }); + + + + export const ForceOutbound = (params?: any) => + request({ + url: Api.ForceOutbound, + method: 'post', + data: params, + }); + \ No newline at end of file diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue index c995954..32c0c1d 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/kittingList/component/openAllprop.vue @@ -281,9 +281,7 @@ <el-form-item label-width="20px"> <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button> - <!-- <el-button type="primary" icon="ele-Printer" @click="getPrint">鎵撳嵃</el-button> --> - - <el-button type="primary" style="margin-left: 5px" icon="ele-Printer" @click="handleHtmlPrint"> 鎵撳嵃 </el-button> + <!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Printer" @click="handleHtmlPrint"> 鎵撳嵃 </el-button> --> </el-form-item> </el-col> </el-row> diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue index 55d7381..d2c5168 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeed/index.vue @@ -11,7 +11,6 @@ ref="materialCodeInput" clearable="" placeholder="璇锋壂閮ㄤ欢鏉$爜" - @input="handleChange" @keyup.enter.prevent="handleEnter" @confirm.enter.prevent="handleEnter" /> @@ -33,7 +32,29 @@ </el-row> </el-form> <br /> - <div class="detailBox"> + <div class="detailBox" style="height: calc(65vh)"> + <div class="titleTip"> + <div class="" v-show="isSuccess == '鎴愬姛'"> + <svg t="1732788314050" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11359" width="100" height="100"> + <path + d="M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0" + fill="#52C41A" + p-id="11360" + ></path> + </svg> + <p class="okText">鑾峰彇鏍囩淇℃伅鎴愬姛锛�</p> + </div> + <div class="" v-show="isSuccess && isSuccess != '鎴愬姛'"> + <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100"> + <path + d="M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z" + fill="#E84335" + p-id="4304" + ></path> + </svg> + <p class="okText">{{ isSuccess }}</p> + </div> + </div> <ul> <!-- <li> <span class="text_left">鏄惁榻愬寘:</span> @@ -62,11 +83,51 @@ <span class="text_left">璁㈠崟鍙�:</span> <span class="text_rt">{{ tableData.orderId }}</span> </li> - <br /> <br /> <br /> <br /> <br /> <br /> - <br /> <br /> <br /> <br /> <br /> - <br /> <br /> <br /> <br /> <br /> <br /> + <li> + <span class="text_left">绾哥闀�:</span> + <span class="text_rt">{{ tableData.info1 }}</span> + </li> + <li> + <span class="text_left">绾哥瀹�:</span> + <span class="text_rt">{{ tableData.info2 }}</span> + </li> + <li> + <span class="text_left">info3:</span> + <span class="text_rt">{{ tableData.info3 }}</span> + </li> - + <li> + <span class="text_left">閿�鍞悎鍚屽崟鍙�:</span> + <span class="text_rt">{{ tableData.info4 }}</span> + </li> + <li> + <span class="text_left">绗嚑鍖�:</span> + <span class="text_rt">{{ tableData.info6 }}</span> + </li> + <li> + <span class="text_left">缁忛攢搴楀悕绉�:</span> + <span class="text_rt">{{ tableData.info7 }}</span> + </li> + <li> + <span class="text_left">浜у搧鍚嶇О:</span> + <span class="text_rt">{{ tableData.info8 }}</span> + </li> + <li> + <span class="text_left">瀹㈡埛鍚嶇О:</span> + <span class="text_rt">{{ tableData.info10 }}</span> + </li> + <li> + <span class="text_left">鑷彁鎴栧彂璐�:</span> + <span class="text_rt">{{ tableData.info11 }}</span> + </li> + <li> + <span class="text_left">鍖呰閮ㄤ欢鎬绘暟閲�:</span> + <span class="text_rt">{{ tableData.info12 }}</span> + </li> + <li> + <span class="text_left">鍖呰闈㈢Н:</span> + <span class="text_rt">{{ tableData.info13 }}</span> + </li> <!-- <li> <span class="text_left">瀹㈡埛鍚嶇О:</span> <span class="text_rt">{{ tableData.Info10 }}</span> @@ -128,22 +189,16 @@ </template> <script lang="ts" setup="" name="wmsSubstituteGood"> -import { onMounted, ref } from 'vue'; +import { onBeforeUnmount, onMounted, ref } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import { auth } from '/@/utils/authFunction'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; import { formatDate } from '/@/utils/formatTime'; -import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New'; -import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; -import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue'; -import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood'; import { ShortageList } from '/@/api/main/ReportCenter/wmsStockQuan'; const showAdvanceQueryUI = ref(false); -const printDialogRef = ref(); -const editDialogRef = ref(); const loading = ref(false); -const tableData = ref<any>([]); +const tableData = ref<any>({}); const queryParams = ref<any>({ upi: '', }); @@ -152,129 +207,68 @@ pageSize: 10, total: 0, }); -const getIsDisabledData = [ - { - value: true, - text: '鏄�', - }, - { - value: false, - text: '鍚�', - }, -]; -const printWmsSubstituteGoodTitle = ref(''); -const editWmsSubstituteGoodTitle = ref(''); -// 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬� -const changeAdvanceQueryUI = () => { - showAdvanceQueryUI.value = !showAdvanceQueryUI.value; +//=======================榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== +let materialCodeInput = ref(null); +let inactivityTimer = null; + +// 澶勭悊鐢ㄦ埛娲诲姩鐨勫嚱鏁� +const handleUserActivity = () => { + if (inactivityTimer) { + clearTimeout(inactivityTimer); + } + inactivityTimer = setTimeout(() => { + // 娓呯┖杈撳叆妗嗙殑鍊� + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + }, 2000); // 璁惧畾2绉掓湭鎿嶄綔鍒欒嚜鍔ㄨ仛鐒� }; -// 鐢ㄤ簬寮曠敤杈撳叆妗� -const materialCodeInput = ref(null); onMounted(() => { // 鍦ㄧ粍浠舵寕杞藉悗杩涜鑱氱劍 materialCodeInput.value.$el.querySelector('input').focus(); + document.addEventListener('mousemove', handleUserActivity); + document.addEventListener('keydown', handleUserActivity); }); +onBeforeUnmount(() => { + clearTimeout(inactivityTimer); + document.removeEventListener('mousemove', handleUserActivity); + document.removeEventListener('keydown', handleUserActivity); +}); + +//=======================end榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== +const isSuccess = ref(''); // 鏌ヨ鎿嶄綔 888888888 const handleQuery = async () => { console.log('8888888杩涘叆鏂规硶', queryParams.value); if (!queryParams.value.upi) { return; } - console.log('鏌ヨ'); loading.value = true; var res = await ShortageList(Object.assign(queryParams.value, tableParams.value)); - if (res.data.result.length != 1) { - ElMessage.warning('姝ゆ潯鐮佷笉瀛樺湪鎴栦笉鍦ㄧ己鏂欐竻鍗曚腑锛�'); - tableData.value = []; + + queryParams.value.upi = ''; + handleResponse(res); +}; + +function handleResponse(res: any) { + tableData.value = res.data.result ?? {}; + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + if (res.data.code == 200) { + isSuccess.value = res.data.result ? '鎴愬姛' : res.data.message || '鏈煡璇㈠埌鏁版嵁'; + } else if (res.data.code == 400) { + loading.value = false; + isSuccess.value = res.data.message || '鏈煡璇㈠埌鏁版嵁'; + return; + } else { + loading.value = false; + isSuccess.value = ''; + ElMessage.warning('缃戠粶寮傚父 璇锋眰澶辫触'); return; } - tableData.value = res.data.result[0] ?? []; - loading.value = false; -}; - -// 鍒楁帓搴� -const sortChange = async (column: any) => { - queryParams.value.field = column.prop; - queryParams.value.order = column.order; - await handleQuery(); -}; - -// 鎵撳紑鏂板椤甸潰 -const openAddWmsSubstituteGood = () => { - editWmsSubstituteGoodTitle.value = '娣诲姞鏇夸唬鍝佺鐞�'; - editDialogRef.value.openDialog({}); -}; - -// 鎵撳紑鎵撳嵃椤甸潰 -const openPrintWmsSubstituteGood = async (row: any) => { - printWmsSubstituteGoodTitle.value = '鎵撳嵃鏇夸唬鍝佺鐞�'; -}; - -// 鎵撳紑缂栬緫椤甸潰 -const openEditWmsSubstituteGood = (row: any) => { - editWmsSubstituteGoodTitle.value = '缂栬緫鏇夸唬鍝佺鐞�'; - editDialogRef.value.openDialog(row); -}; - -// 鍒犻櫎 -const delWmsSubstituteGood = (row: any) => { - ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, '鎻愮ず', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - type: 'warning', - }) - .then(async () => { - var ret = await deleteWmsSubstituteGood(row); - if (ret.data.type == 'success') { - handleQuery(); - ElMessage.success('鍒犻櫎鎴愬姛'); - } - }) - .catch(() => {}); -}; - -// 鏀瑰彉椤甸潰瀹归噺 -const handleSizeChange = (val: number) => { - tableParams.value.pageSize = val; - handleQuery(); -}; - -// 鏀瑰彉椤电爜搴忓彿 -const handleCurrentChange = (val: number) => { - tableParams.value.page = val; - handleQuery(); -}; - -// handleQuery(); - -const rules = { - // 杩欓噷瀹氫箟琛ㄥ崟楠岃瘉瑙勫垯 - completeSet: [{ required: true, message: '璇烽�夋嫨榻愬', trigger: 'change' }], - packageSetup: [{ required: true, message: '璇疯緭鍏ラ綈鍖呰缃�', trigger: 'blur' }], - ngPackage: [{ required: true, message: '璇疯緭鍏g鍖�', trigger: 'blur' }], -}; - -const ruleForm = ref({ - id: '', - completeSet: '', - packageSetup: '', - ngPackage: '', -}); - -const sourceEnum: any = ref([ - { - value: 'id', - text: 'ID', - }, -]); - -const handleChange = (event: Event) => { - console.log('77777777777'); - handleQuery(); -}; +} const handleEnter = (event: Event) => { event.preventDefault(); // 闃绘榛樿浜嬩欢 @@ -301,7 +295,8 @@ line-height: 30px; text-align: left; list-style-type: none; - width: 25%; + width: 48%; + display: inline-block; word-wrap: break-word; } } @@ -309,4 +304,15 @@ .text_left { font-weight: 700; } +.my-icon { + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + color: #00ff11; /* 璁剧疆鍥炬爣棰滆壊 */ +} +.titleTip { + text-align: center; + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + .okText { + margin-bottom: 20px; + } +} </style> diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue index 55d7381..780da9e 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKitting/index.vue @@ -4,13 +4,13 @@ <el-form :model="queryParams" @submit.native.prevent ref="queryForm" labelWidth="100"> <el-row> <el-col :xs="24" :sm="12" :md="12" :lg="10" :xl="4" class="mb10"> - <el-form-item label="閮ㄤ欢鏉$爜" size="large"> + <el-form-item label="鍖呰鍙�" size="large"> <el-input size="large" - v-model="queryParams.upi" + v-model="queryParams.packageCode" ref="materialCodeInput" clearable="" - placeholder="璇锋壂閮ㄤ欢鏉$爜" + placeholder="璇锋壂鍖呰鍙�" @input="handleChange" @keyup.enter.prevent="handleEnter" @confirm.enter.prevent="handleEnter" @@ -33,17 +33,30 @@ </el-row> </el-form> <br /> - <div class="detailBox"> + <div class="detailBox" style="height: calc(65vh)"> + <div class="titleTip"> + <div class="" v-show="isSuccess == '鎴愬姛'"> + <svg t="1732788314050" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11359" width="100" height="100"> + <path + d="M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0" + fill="#52C41A" + p-id="11360" + ></path> + </svg> + <p class="okText">鑾峰彇鏍囩淇℃伅鎴愬姛锛�</p> + </div> + <div class="" v-show="isSuccess && isSuccess != '鎴愬姛'"> + <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100"> + <path + d="M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z" + fill="#E84335" + p-id="4304" + ></path> + </svg> + <p class="okText">{{ isSuccess }}</p> + </div> + </div> <ul> - <!-- <li> - <span class="text_left">鏄惁榻愬寘:</span> - <span class="text_rt"></span> - </li> - <li> - <span class="text_left">鏄惁榻愬:</span> - <span class="text_rt"></span> - </li> --> - <li> <span class="text_left">閮ㄤ欢鏉$爜:</span> <span class="text_rt">{{ tableData.upi }}</span> @@ -62,40 +75,52 @@ <span class="text_left">璁㈠崟鍙�:</span> <span class="text_rt">{{ tableData.orderId }}</span> </li> - <br /> <br /> <br /> <br /> <br /> <br /> - <br /> <br /> <br /> <br /> <br /> - <br /> <br /> <br /> <br /> <br /> <br /> + <li> + <span class="text_left">绾哥闀�:</span> + <span class="text_rt">{{ tableData.info1 }}</span> + </li> + <li> + <span class="text_left">绾哥瀹�:</span> + <span class="text_rt">{{ tableData.info2 }}</span> + </li> + <li> + <span class="text_left">绾哥楂�:</span> + <span class="text_rt">{{ tableData.info3 }}</span> + </li> - - <!-- <li> + <li> + <span class="text_left">閿�鍞悎鍚屽崟鍙�:</span> + <span class="text_rt">{{ tableData.info4 }}</span> + </li> + <li> + <span class="text_left">绗嚑鍖�:</span> + <span class="text_rt">{{ tableData.info6 }}</span> + </li> + <li> + <span class="text_left">缁忛攢搴楀悕绉�:</span> + <span class="text_rt">{{ tableData.info7 }}</span> + </li> + <li> + <span class="text_left">浜у搧鍚嶇О:</span> + <span class="text_rt">{{ tableData.info8 }}</span> + </li> + <li> <span class="text_left">瀹㈡埛鍚嶇О:</span> - <span class="text_rt">{{ tableData.Info10 }}</span> - </li> --> - - <!-- <li> - <span class="text_left">闀�:</span> - <span class="text_rt">{{ tableData.length }}</span> + <span class="text_rt">{{ tableData.info10 }}</span> </li> <li> - <span class="text_left">瀹�:</span> - <span class="text_rt">{{ tableData.width }}</span> + <span class="text_left">鑷彁鎴栧彂璐�:</span> + <span class="text_rt">{{ tableData.info11 }}</span> </li> <li> - <span class="text_left">鍘�:</span> - <span class="text_rt">{{ tableData.thk }}</span> + <span class="text_left">鍖呰閮ㄤ欢鎬绘暟閲�:</span> + <span class="text_rt">{{ tableData.info12 }}</span> </li> <li> - <span class="text_left">閮ㄤ欢绾圭悊:</span> - <span class="text_rt">{{ tableData.matgrid }}</span> + <span class="text_left">鍖呰闈㈢Н:</span> + <span class="text_rt">{{ tableData.info13 }}</span> </li> - <li> - <span class="text_left">鏄惁灏佽竟:</span> - <span class="text_rt">{{ tableData.isEB }}</span> - </li> - <li> - <span class="text_left">鎵撳瓟璁惧缂栧彿:</span> - <span class="text_rt">{{ tableData.dRNum }}</span> - </li> --> + </ul> </div> <!-- 鐢熸垚form 榻愬 榻愬寘 璁剧疆ng鍖� --> @@ -128,7 +153,7 @@ </template> <script lang="ts" setup="" name="wmsSubstituteGood"> -import { onMounted, ref } from 'vue'; +import { onBeforeUnmount, onMounted, ref } from 'vue'; import { ElMessageBox, ElMessage } from 'element-plus'; import { auth } from '/@/utils/authFunction'; import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; @@ -137,7 +162,7 @@ import printDialog from '/@/views/system/print/component/hiprint/preview.vue'; import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue'; import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood'; -import { ShortageList } from '/@/api/main/ReportCenter/wmsStockQuan'; +import { ShortageList, ValdateQiTao } from '/@/api/main/ReportCenter/wmsStockQuan'; const showAdvanceQueryUI = ref(false); const printDialogRef = ref(); @@ -145,7 +170,7 @@ const loading = ref(false); const tableData = ref<any>([]); const queryParams = ref<any>({ - upi: '', + packageCode: '', }); const tableParams = ref({ page: 1, @@ -169,31 +194,68 @@ const changeAdvanceQueryUI = () => { showAdvanceQueryUI.value = !showAdvanceQueryUI.value; }; -// 鐢ㄤ簬寮曠敤杈撳叆妗� -const materialCodeInput = ref(null); + +//=======================榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== +let materialCodeInput = ref(null); +let inactivityTimer = null; + +// 澶勭悊鐢ㄦ埛娲诲姩鐨勫嚱鏁� +const handleUserActivity = () => { + if (inactivityTimer) { + clearTimeout(inactivityTimer); + } + inactivityTimer = setTimeout(() => { + // 娓呯┖杈撳叆妗嗙殑鍊� + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + }, 2000); // 璁惧畾2绉掓湭鎿嶄綔鍒欒嚜鍔ㄨ仛鐒� +}; onMounted(() => { // 鍦ㄧ粍浠舵寕杞藉悗杩涜鑱氱劍 materialCodeInput.value.$el.querySelector('input').focus(); + document.addEventListener('mousemove', handleUserActivity); + document.addEventListener('keydown', handleUserActivity); }); +onBeforeUnmount(() => { + clearTimeout(inactivityTimer); + document.removeEventListener('mousemove', handleUserActivity); + document.removeEventListener('keydown', handleUserActivity); +}); + +//=======================end榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== +const isSuccess = ref(''); // 鏌ヨ鎿嶄綔 888888888 const handleQuery = async () => { console.log('8888888杩涘叆鏂规硶', queryParams.value); - if (!queryParams.value.upi) { + if (!queryParams.value.packageCode) { return; } console.log('鏌ヨ'); loading.value = true; - var res = await ShortageList(Object.assign(queryParams.value, tableParams.value)); - if (res.data.result.length != 1) { - ElMessage.warning('姝ゆ潯鐮佷笉瀛樺湪鎴栦笉鍦ㄧ己鏂欐竻鍗曚腑锛�'); - tableData.value = []; + var res = await ValdateQiTao(Object.assign(queryParams.value, tableParams.value)); + queryParams.value.packageCode = ''; + handleResponse(res); + +}; +function handleResponse(res: any) { + tableData.value = res.data.result ?? {}; + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + if (res.data.code == 200) { + isSuccess.value = res.data.result ? '鎴愬姛' : res.data.message || '鏈煡璇㈠埌鏁版嵁'; + } else if (res.data.code == 400) { + loading.value = false; + isSuccess.value = res.data.message || '鏈煡璇㈠埌鏁版嵁'; + return; + } else { + loading.value = false; + isSuccess.value = ''; + ElMessage.warning('缃戠粶寮傚父 璇锋眰澶辫触'); return; } - tableData.value = res.data.result[0] ?? []; - loading.value = false; -}; +} // 鍒楁帓搴� const sortChange = async (column: any) => { @@ -301,7 +363,8 @@ line-height: 30px; text-align: left; list-style-type: none; - width: 25%; + width: 48%; + display: inline-block; word-wrap: break-word; } } @@ -309,4 +372,15 @@ .text_left { font-weight: 700; } +.my-icon { + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + color: #00ff11; /* 璁剧疆鍥炬爣棰滆壊 */ +} +.titleTip { + text-align: center; + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + .okText { + margin-bottom: 20px; + } +} </style> diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue index ca29f88..8b9ab34 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/component/openAllprop.vue @@ -280,7 +280,7 @@ <el-col :span="4"> <el-form-item label-width="20px"> <el-button type="primary" icon="el-icon-search" @click="getDetail">鏌ヨ</el-button> - <el-button type="primary" style="margin-left: 5px" icon="ele-Printer" @click="handleHtmlPrint"> 鎵撳嵃 </el-button> + <!-- <el-button type="primary" style="margin-left: 5px" icon="ele-Printer" @click="handleHtmlPrint"> 鎵撳嵃 </el-button> --> </el-form-item> </el-col> </el-row> diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue index 346ab9f..1671ea0 100644 --- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/packList/index.vue @@ -80,16 +80,17 @@ <el-input v-model="queryParams.projectNo" clearable="" placeholder="璇疯緭鍏ラ」鐩彿" /> </el-form-item> </el-col> --> - <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10"> <el-form-item> <el-button-group style="display: flex; align-items: center"> <el-button type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> <el-button icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button> + + <el-button icon="ele-Finished" @click="clickOut"> 寮哄埗鍑哄簱 </el-button> + <!-- <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left: 5px"> 楂樼骇鏌ヨ </el-button> <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left: 5px"> 闅愯棌 </el-button> --> - </el-button-group> </el-form-item> </el-col> @@ -112,7 +113,7 @@ </span> </template> </el-table-column> - + <el-table-column prop="mesTotalCount" label="鎬绘暟" show-overflow-tooltip="" /> <el-table-column prop="count" label="宸叉湁鏁伴噺" show-overflow-tooltip="" /> @@ -140,8 +141,11 @@ row-key="newId" @sort-change="newSortChange" :summary-method="getNewExportTitle" + @selection-change="handleSelectionChange" border="" > + <el-table-column align="center" width="60" type="selection" /> + <el-table-column type="index" label="搴忓彿" width="55" align="center" /> <!-- <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> --> <el-table-column label="鍖呰鍙�" prop="packageCode" width="150" align="left" show-overflow-tooltip> @@ -151,7 +155,7 @@ </span> </template> </el-table-column> - + <el-table-column prop="mesTotalCount" label="鎬绘暟" show-overflow-tooltip="" /> <el-table-column prop="count" label="宸叉湁鏁伴噺" show-overflow-tooltip="" /> <el-table-column prop="lackCount" label="缂哄皯鏁伴噺" show-overflow-tooltip="" /> @@ -169,8 +173,6 @@ </div> </div> </el-card> - - <editDialogWmsOrderDeliver ref="editDialogRefWmsOrderDeliver" :title="editWmsOrderDeliverTitle" @reloadTable="handleQuery" /> <importExcelDialog @@ -202,6 +204,7 @@ downloadExcelTemplateWmsOrderPurchase, downloadExcelTemplateWmsOrderPurchaseAll, packList, + ForceOutbound, } from '/@/api/main/WmsOrder/wmsOrderPurchase'; import { handleSlectDataWmsBusinessType } from '/@/utils/selectData'; import { getAPI } from '/@/utils/axios-utils'; @@ -294,23 +297,22 @@ // 88888888鏌ヨ鎿嶄綔 const handleQuery = async () => { loading.value = true; - var res = await packList(Object.assign(queryParams.value, { - ...tableParams.value, - IsPack:true - })); + var res = await packList( + Object.assign(queryParams.value, { + ...tableParams.value, + IsPack: true, + }) + ); tableData.value = res.data.result ?? []; - var res2 = await packList(Object.assign(queryParams.value, { - ...tableParams.value, - IsPack:false - })); - + var res2 = await packList( + Object.assign(queryParams.value, { + ...tableParams.value, + IsPack: false, + }) + ); newTableData.value = res2.data.result ?? []; - - // tableParams.value.total = res.data.result?.total; loading.value = false; // getEnumOrderTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderTypeEnum')).data.result ?? []; - - // getEnumPoStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('OrderStatusEnum')).data.result ?? []; }; // 鍒楁帓搴� @@ -462,6 +464,39 @@ } }); }; + +//閫変腑鐨勮 +const checkRows = ref<{ id: number }[]>([]); + +// 閫夋嫨 +const handleSelectionChange = (val: any) => { + checkRows.value = val; +}; + +const clickOut = () => { + var PackageCodeList = checkRows.value.map((x: any) => x.packageCode); + if (PackageCodeList.length == 0) { + ElMessage.error('璇烽�夋嫨闇�瑕佸嚭搴撶殑璁㈠崟锛�'); + return; + } + ElMessageBox.confirm('鏄惁纭寮哄埗鍑哄簱锛�', '鎻愮ず', { + confirmButtonText: '纭', + cancelButtonText: '鍙栨秷', + type: 'warning', + }) + .then(async () => { + loading.value = true; + var res = await ForceOutbound( + { + "PackageCodeList": PackageCodeList + } + ); + handleQuery(); + ElMessage.success('寮哄埗鍑哄簱鎴愬姛'); + loading.value = false; + }) + .catch(() => ElMessage.info('宸插彇娑�')); +}; </script> <style scoped> :deep(.el-input), diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/component/editDialog.vue new file mode 100644 index 0000000..15fdbf0 --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/component/editDialog.vue @@ -0,0 +1,120 @@ +锘�<template> + <div class="wmsSubstituteGood-container"> + <el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false"> + <template #header> + <div style="color: #fff"> + <!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>--> + <span>{{ props.title }}</span> + </div> + </template> + <el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules"> + <el-row :gutter="35"> + <el-form-item v-show="false"> + <el-input v-model="ruleForm.id" /> + </el-form-item> + </el-row> + </el-form> + <template #footer> + <span class="dialog-footer"> + <el-button @click="cancel">鍙� 娑�</el-button> + <el-button type="primary" @click="submit">纭� 瀹�</el-button> + </span> + </template> + </el-dialog> + </div> +</template> +<style scoped> +:deep(.el-select), +:deep(.el-input-number) { + width: 100%; +} +</style> +<script lang="ts" setup> + import { ref,onMounted } from "vue"; + import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; + import { ElMessage } from "element-plus"; + import type { FormRules } from "element-plus"; + import { addWmsSubstituteGood, updateWmsSubstituteGood, detailWmsSubstituteGood } from "/@/api/main/WmsBase/wmsSubstituteGood"; + + //鐖剁骇浼犻�掓潵鐨勫弬鏁� + var props = defineProps({ + title: { + type: String, + default: "", + }, + }); + //鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟 + const emit = defineEmits(["reloadTable"]); + const ruleFormRef = ref(); + const isShowDialog = ref(false); + const ruleForm = ref<any>({}); + //鑷娣诲姞鍏朵粬瑙勫垯 + const rules = ref<FormRules>({ + substituteCode: [{required: true, message: '璇疯緭鍏ユ浛浠g紪鍙凤紒', trigger: 'blur',},], + materialCode: [{required: true, message: '璇烽�夋嫨鐗╂枡缂栧彿锛�', trigger: 'change',},], + materialName: [{required: true, message: '璇疯緭鍏ョ墿鏂欏悕绉帮紒', trigger: 'blur',},], + substituteMaterialCode: [{required: true, message: '璇疯緭鍏ユ浛浠e搧鐗╂枡缂栧彿锛�', trigger: 'blur',},], + substituteMaterialName: [{required: true, message: '璇疯緭鍏ユ浛浠e搧鐗╂枡鍚嶇О锛�', trigger: 'blur',},], + substituteIndex: [{required: true, message: '璇疯緭鍏ユ浛浠f搴忥紒', trigger: 'blur',},], + }); + + // 鎵撳紑寮圭獥 + const openDialog = async (row: any) => { + // ruleForm.value = JSON.parse(JSON.stringify(row)); + // 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫 + let rowData = JSON.parse(JSON.stringify(row)); + if (rowData.id) + ruleForm.value = (await detailWmsSubstituteGood(rowData.id)).data.result; + else + ruleForm.value = rowData; + isShowDialog.value = true; + }; + + // 鍏抽棴寮圭獥 + const closeDialog = () => { + emit("reloadTable"); + isShowDialog.value = false; + }; + + // 鍙栨秷 + const cancel = () => { + isShowDialog.value = false; + }; + + // 鎻愪氦 + const submit = async () => { + ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => { + if (isValid) { + let values = ruleForm.value; + if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) { + await addWmsSubstituteGood(values); + } else { + await updateWmsSubstituteGood(values); + } + closeDialog(); + } else { + ElMessage({ + message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜, + type: "error", + }); + } + }); + }; + + + + + + + + // 椤甸潰鍔犺浇鏃� + onMounted(async () => { + }); + + //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠� + defineExpose({ openDialog }); +</script> + + + + diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/index.vue new file mode 100644 index 0000000..0cd46da --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/scanCodeKitting/index.vue @@ -0,0 +1,315 @@ +锘�<template> + <div class="wmsSubstituteGood-container"> + <el-card class="full-table" shadow="hover" style="margin-top: 5px"> + <el-form :model="queryParams" @submit.native.prevent ref="queryForm" labelWidth="100"> + <el-row> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> + <el-form-item label="鍖呰鍙�" size="large"> + <el-input size="large" v-model="queryParams.packageCode" ref="materialCodeInput" clearable="" placeholder="璇锋壂鍖呰鍙�" /> + </el-form-item> + </el-col> + + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10"> + <el-form-item label="閮ㄤ欢鏉$爜" size="large"> + <el-input + size="large" + v-model="queryParams.upi" + ref="materialCodeInputupi" + clearable="" + placeholder="璇锋壂閮ㄤ欢鏉$爜" + @keyup.enter.prevent="handleEnterUip" + @confirm.enter.prevent="handleEnterUip" + /> + </el-form-item> + </el-col> + + <el-col :xs="24" :sm="12" :md="12" :lg="3" :xl="3" class="mb10"> + <el-form-item> + <el-button-group style="display: flex; align-items: center"> + <el-button size="large" type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> + <el-button size="large" icon="ele-Refresh" @click="() => (queryParams = {})"> 閲嶇疆 </el-button> + <!-- + <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUI" v-if="!showAdvanceQueryUI" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button> + <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUI" v-if="showAdvanceQueryUI" style="margin-left:5px;"> 闅愯棌 </el-button> --> + <!-- <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsSubstituteGood" v-auth="'wmsSubstituteGood:add'"> 鏂板 </el-button> --> + </el-button-group> + </el-form-item> + </el-col> + </el-row> + </el-form> + <br /> + <div class="detailBox" style="height: calc(65vh);"> + <div class="titleTip"> + <div class="" v-show="isSuccess == '鎴愬姛'"> + <svg t="1732788314050" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11359" width="100" height="100"> + <path + d="M874.119618 149.859922A510.816461 510.816461 0 0 0 511.997 0.00208a509.910462 509.910462 0 0 0-362.119618 149.857842c-199.817789 199.679789-199.817789 524.581447 0 724.260236a509.969462 509.969462 0 0 0 362.119618 149.857842A508.872463 508.872463 0 0 0 874.119618 874.120158c199.836789-199.679789 199.836789-524.581447 0-724.260236zM814.94268 378.210681L470.999043 744.132295a15.359984 15.359984 0 0 1-5.887994 4.095996c-1.751998 1.180999-2.913997 2.362998-5.276994 2.913997a34.499964 34.499964 0 0 1-13.469986 2.914997 45.547952 45.547952 0 0 1-12.897986-2.303998l-4.095996-2.363997a45.291952 45.291952 0 0 1-7.009992-4.095996l-196.902793-193.789796a34.126964 34.126964 0 0 1-10.555989-25.186973c0-9.37399 3.583996-18.74698 9.98399-25.186974a36.429962 36.429962 0 0 1 50.372947 0l169.98382 167.423824L763.389735 330.220732a37.059961 37.059961 0 0 1 50.371947-1.732998 33.647965 33.647965 0 0 1 11.165988 25.186973 35.544963 35.544963 0 0 1-9.98399 24.575974v-0.04z m0 0" + fill="#52C41A" + p-id="11360" + ></path> + </svg> + <p class="okText">鏍稿鏍囩鎴愬姛锛�</p> + </div> + <div class="" v-show="isSuccess && isSuccess != '鎴愬姛'"> + <svg t="1732842594517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4303" width="100" height="100"> + <path + d="M549.044706 512l166.189176-166.249412a26.383059 26.383059 0 0 0 0-36.98447 26.383059 26.383059 0 0 0-37.044706 0L512 475.015529l-166.249412-166.249411a26.383059 26.383059 0 0 0-36.98447 0 26.383059 26.383059 0 0 0 0 37.044706L475.015529 512l-166.249411 166.249412a26.383059 26.383059 0 0 0 0 36.98447 26.383059 26.383059 0 0 0 37.044706 0L512 548.984471l166.249412 166.249411a26.383059 26.383059 0 0 0 36.98447 0 26.383059 26.383059 0 0 0 0-37.044706L548.984471 512zM512 1024a512 512 0 1 1 0-1024 512 512 0 0 1 0 1024z" + fill="#E84335" + p-id="4304" + ></path> + </svg> + <p class="okText">{{ isSuccess }}</p> + </div> + </div> + <ul> + <li> + <span class="text_left">鎵规:</span> + <span class="text_rt">{{ tableData.planNo }}</span> + </li> + <li> + <span class="text_left">璁㈠崟鍙�:</span> + <span class="text_rt">{{ tableData.orderId }}</span> + </li> + <li> + <span class="text_left">鐢熶骇鍗曞彿:</span> + <span class="text_rt">{{ tableData.info5 }}</span> + </li> + + <li> + <span class="text_left">鍖呰鍙�:</span> + <span class="text_rt">{{ tableData.packageCode }}</span> + </li> + + <!-- <li> + <span class="text_left">鍖哄煙浠g爜:</span> + <span class="text_rt">{{ tableData.areaCode }}</span> + </li> --> + + <li> + <span class="text_left">绾哥闀�:</span> + <span class="text_rt">{{ tableData.info1 }}</span> + </li> + <li> + <span class="text_left">绾哥瀹�:</span> + <span class="text_rt">{{ tableData.info2 }}</span> + </li> + <li> + <span class="text_left">绾哥楂�:</span> + <span class="text_rt">{{ tableData.info3 }}</span> + </li> + + <li> + <span class="text_left">閿�鍞悎鍚屽崟鍙�:</span> + <span class="text_rt">{{ tableData.info4 }}</span> + </li> + <li> + <span class="text_left">绗嚑鍖�:</span> + <span class="text_rt">{{ tableData.info6 }}</span> + </li> + <li> + <span class="text_left">缁忛攢搴楀悕绉�:</span> + <span class="text_rt">{{ tableData.info7 }}</span> + </li> + <li> + <span class="text_left">浜у搧鍚嶇О:</span> + <span class="text_rt">{{ tableData.info8 }}</span> + </li> + <li> + <span class="text_left">瀹㈡埛鍚嶇О:</span> + <span class="text_rt">{{ tableData.info10 }}</span> + </li> + <li> + <span class="text_left">鑷彁鎴栧彂璐�:</span> + <span class="text_rt">{{ tableData.info11 }}</span> + </li> + <li> + <span class="text_left">鍖呰閮ㄤ欢鎬绘暟閲�:</span> + <span class="text_rt">{{ tableData.info12 }}</span> + </li> + <li> + <span class="text_left">鍖呰闈㈢Н:</span> + <span class="text_rt">{{ tableData.info13 }}</span> + </li> + + </ul> + </div> + </el-card> + </div> +</template> + +<script lang="ts" setup="" name="wmsSubstituteGood"> +import { onBeforeUnmount, onMounted, ref } from 'vue'; +import { ElMessageBox, ElMessage } from 'element-plus'; +import { auth } from '/@/utils/authFunction'; +import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils'; +import { formatDate } from '/@/utils/formatTime'; +import { listMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New, importExcelMes_BatchOrderUPI_New, downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New'; +import { ShortageList, ValdateLabel } from '/@/api/main/ReportCenter/wmsStockQuan'; +const loading = ref(false); +const tableData = ref<any>({}); +const queryParams = ref<any>({ + upi: '', + packageCode: '', +}); + +// 瀹氫箟鍒楃殑鎺ュ彛 +interface Column { + ColumnName: string; + ColumnDescription: string; +} + +// 鍒楄〃鏁版嵁 +const arrList = ref<Column[]>([ + { ColumnName: 'info1', ColumnDescription: '绾哥闀�' }, + { ColumnName: 'info2', ColumnDescription: '绾哥瀹�' }, + { ColumnName: 'info3', ColumnDescription: '绾哥楂�' }, + { ColumnName: 'info4', ColumnDescription: '閿�鍞悎鍚屽崟鍙�' }, + { ColumnName: 'info5', ColumnDescription: '鐢熶骇鍗曞彿' }, + { ColumnName: 'info6', ColumnDescription: '绗嚑鍖�' }, + { ColumnName: 'info7', ColumnDescription: '缁忛攢搴楀悕绉�' }, + { ColumnName: 'info8', ColumnDescription: '浜у搧鍚嶇О' }, + { ColumnName: 'info9', ColumnDescription: '鍖呰缂栫爜' }, + { ColumnName: 'info10', ColumnDescription: '瀹㈡埛鍚嶇О' }, + { ColumnName: 'info11', ColumnDescription: '鑷彁or鍙戣揣' }, + { ColumnName: 'info12', ColumnDescription: '鍖呰閮ㄤ欢鎬绘暟閲�' }, + { ColumnName: 'info13', ColumnDescription: '鍖呰闈㈢Н' }, + { ColumnName: 'info14', ColumnDescription: '閮ㄤ欢鍚嶇О' }, + { ColumnName: 'info15', ColumnDescription: '閮ㄤ欢鏁伴噺' }, + { ColumnName: 'info16', ColumnDescription: '閮ㄤ欢灏哄' }, + { ColumnName: 'info17', ColumnDescription: '鏈烘鑷傛槸鍚︽棆杞�' }, +]); + +//=======================榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== +let materialCodeInput = ref(null); +let materialCodeInputupi = ref(null); + +let inactivityTimer = null; + +// 澶勭悊鐢ㄦ埛娲诲姩鐨勫嚱鏁� +const handleUserActivity = () => { + if (inactivityTimer) { + clearTimeout(inactivityTimer); + } + inactivityTimer = setTimeout(() => { + //1娌″�煎氨鑱氱劍 + if (!materialCodeInput.value.$el.querySelector('input').value) { + materialCodeInput.value.$el.querySelector('input').focus(); + return; + } +//閮芥湁鍊煎氨杩斿洖 涓轰簡鏂逛究璇锋眰鎺ュ彛 + if (materialCodeInput.value.$el.querySelector('input').value && materialCodeInputupi.value.$el.querySelector('input').value) { + return; + } + + // 娓呯┖杈撳叆妗嗙殑鍊� + if (materialCodeInput.value.$el.querySelector('input').value) { + console.log('鏈夊��'); + materialCodeInputupi.value.$el.querySelector('input').value = ''; + materialCodeInputupi.value.$el.querySelector('input').focus(); + isSuccess.value = ''; + tableData.value = {}; + } else { + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInputupi.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + } + }, 1000); // 璁惧畾2绉掓湭鎿嶄綔鍒欒嚜鍔ㄨ仛鐒� +}; + +onMounted(() => { + // 鍦ㄧ粍浠舵寕杞藉悗杩涜鑱氱劍 + materialCodeInput.value.$el.querySelector('input').focus(); + document.addEventListener('mousemove', handleUserActivity); + document.addEventListener('keydown', handleUserActivity); +}); + +onBeforeUnmount(() => { + clearTimeout(inactivityTimer); + document.removeEventListener('mousemove', handleUserActivity); + document.removeEventListener('keydown', handleUserActivity); +}); + +//=======================end榧犳爣瀹氫綅 鐢ㄤ簬寮曠敤杈撳叆妗�===================== + +const isSuccess = ref(''); +// 鏌ヨ鎿嶄綔 888888888 +const handleQuery = async () => { + console.log('8888888杩涘叆鏂规硶', queryParams.value); + if (!queryParams.value.upi && !queryParams.value.packageCode) { + return; + } + loading.value = true; + var res = await ValdateLabel({ + PackageCode: queryParams.value.packageCode, + Upi: queryParams.value.upi, + }); + handleResponse(res); +}; + + +function handleResponse(res:any) { + tableData.value = res.data.result ?? {}; + materialCodeInput.value.$el.querySelector('input').value = ''; + materialCodeInputupi.value.$el.querySelector('input').value = ''; + materialCodeInput.value.$el.querySelector('input').focus(); + + if (res.data.code == 200) { + isSuccess.value = res.data.result.packageCode ? '鎴愬姛' : res.data.message || '鏈煡璇㈠埌鏁版嵁'; + } else if (res.data.code == 400) { + loading.value = false; + isSuccess.value = res.data.message || '鏈煡璇㈠埌鏁版嵁'; + return; + } else { + loading.value = false; + isSuccess.value = ''; + ElMessage.warning('缃戠粶寮傚父 璇锋眰澶辫触'); + return; + } +} + +const handleEnterUip = (event: Event) => { + event.preventDefault(); // 闃绘榛樿浜嬩欢 + handleQuery(); +}; +</script> +<style scoped> +:deep(.el-input), +:deep(.el-select), +:deep(.el-input-number) { + width: 100%; +} + +.detailBox { + width: 90%; + margin: 0 auto; + display: block; + padding-bottom: 10px; + ul { + margin: 0; + padding: 0; + li { + display: block; + line-height: 30px; + text-align: left; + list-style-type: none; + width: 48%; + display: inline-block; + word-wrap: break-word; + } + } +} +.text_left { + font-weight: 700; +} +.my-icon { + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + color: #00ff11; /* 璁剧疆鍥炬爣棰滆壊 */ +} +.titleTip { + text-align: center; + font-size: 36px; /* 璋冩暣瀛椾綋澶у皬 */ + .okText { + margin-bottom: 20px; + } +} +</style> diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs index 32d8dac..591c125 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsStockQuan/WmsStockQuan/WmsStockQuanService.cs @@ -329,16 +329,17 @@ /// [HttpGet] [ApiDescriptionSettings(Name = "ShortageList")] [Description("WmsStockQuan/ShortageList")] - public async Task<List<WmsShortageListOutput>> ShortageList(KittingListInput input) + public async Task<WmsShortageListOutput> ShortageList(KittingListInput input) { var listRes = await GetShortageListCore(input); - + var resJson = new WmsShortageListOutput(); if (!string.IsNullOrWhiteSpace(input.UPI)) { - listRes = listRes.Where(u => u.UPI == input.UPI).ToList(); + resJson = listRes.FirstOrDefault(u => u.UPI == input.UPI); + //var filteredResult = listRes.FirstOrDefault(u => u.UPI == input.UPI); } - return listRes; + return resJson; } /// <summary> diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs index 8b49684..c503936 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsOperationTaskService.cs @@ -119,7 +119,7 @@ { throw Oops.Oh($"娌℃湁閰嶇疆 鍒ゆ柇榻愬 鍊�"); } - if (!string.IsNullOrEmpty(sysConfig.Value)) + if (!string.IsNullOrEmpty(sysConfig.Value) && sysConfig.Value!="鏃�") { throw Oops.Oh($"鍒ゆ柇榻愬鍊煎凡缁忓瓨鍦ㄥ�納sysConfig.Value},涓嶅厑璁告搷浣�"); } -- Gitblit v1.9.3