¶Ô±ÈÐÂÎļþ |
| | |
| | | <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="请è¾å
¥ngå
"></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> |