From 478fa37ec863b2f7eb20ce19ad5cce96072bd4f9 Mon Sep 17 00:00:00 2001 From: liuying <1427574514@qq.com> Date: 周日, 01 12月 2024 17:22:19 +0800 Subject: [PATCH] 标记ng页面 --- LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts | 10 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/component/editDialog.vue | 120 +++++++++++++++ LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue | 314 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 441 insertions(+), 3 deletions(-) diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts index 5b60f7f..f415d69 100644 --- a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts +++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan.ts @@ -20,8 +20,7 @@ ValdateQiTao = '/api/WmsOperationTask/ValdateQiTao', ValdateLabel = '/api/WmsOperationTask/ValdateLabel', - - + ConfirmNg = '/api/WmsOperationTask/ConfirmNg', } @@ -177,4 +176,9 @@ data: params }); - \ No newline at end of file +export const ConfirmNgF = (params?: any) => + request({ + url: Api.ConfirmNg, + method: 'post', + data: params + }); diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/component/editDialog.vue new file mode 100644 index 0000000..15fdbf0 --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/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/manualFeedKittingNg/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue new file mode 100644 index 0000000..7957722 --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue @@ -0,0 +1,314 @@ +锘�<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="10" :xl="4" class="mb10"> + <el-form-item label="鍖呰鍙�" size="large"> + <el-input + size="large" + v-model="queryParams.packageCode" + ref="materialCodeInput" + clearable="" + placeholder="璇锋壂鍖呰鍙�" + @keyup.enter.prevent="handleEnter" + @confirm.enter.prevent="handleEnter" + /> + </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 size="large" type="primary" icon="ele-Search" @click="handleQuery"> 鏌ヨ </el-button> + <el-button size="large" icon="ele-Finished" @click="ConfirmNg"> 鏍囪Ng </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.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.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> + <!-- 鐢熸垚form 榻愬 榻愬寘 璁剧疆ng鍖� --> + <!-- 鐢熸垚form 榻愬 榻愬寘 璁剧疆ng鍖� --> + <!-- <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-form-item label="榻愬" prop="completeSet"> + <el-select v-model="ruleForm.completeSet" placeholder="璇烽�夋嫨榻愬"> + <el-option label="閫夐」1" value="option1"></el-option> + <el-option label="閫夐」2" value="option2"></el-option> + </el-select> + </el-form-item> + + <el-form-item label="榻愬寘" prop="packageSetup"> + <el-input v-model="ruleForm.packageSetup" placeholder="璇疯緭鍏ラ綈鍖呰缃�"></el-input> + </el-form-item> + + <el-form-item label="ng鍖�" prop="ngPackage"> + <el-input v-model="ruleForm.ngPackage" placeholder="璇疯緭鍏g鍖�"></el-input> + </el-form-item> + + </el-row> + </el-form> --> + </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 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, ValdateQiTao ,ConfirmNgF} from '/@/api/main/ReportCenter/wmsStockQuan'; +const showAdvanceQueryUI = ref(false); +const printDialogRef = ref(); +const editDialogRef = ref(); +const loading = ref(false); +const tableData = ref<any>([]); +const queryParams = ref<any>({ + packageCode: '', +}); +const tableParams = ref({ + page: 1, + 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绉掓湭鎿嶄綔鍒欒嚜鍔ㄨ仛鐒� +}; + +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.packageCode) { + return; + } + console.log('鏌ヨ'); + loading.value = true; + 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; + } +} + + +const handleEnter = (event: Event) => { + event.preventDefault(); // 闃绘榛樿浜嬩欢 + handleQuery(); +}; + + +const ConfirmNg = () => { + ElMessageBox.confirm("鏄惁纭鏍囪Ng锛�", "鎻愮ず", { + confirmButtonText: "纭", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + ConfirmNgF({ + ...tableData.value, + }) + .then((res) => { + if (res.code == 200) { + ElMessage.success("鏍囪鎴愬姛"); + tableData.value ={} + } else { + ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`); + } + }); + }) +}; + +</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> -- Gitblit v1.9.3