¶Ô±ÈÐÂÎļþ |
| | |
| | | <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.upi" |
| | | ref="materialCodeInput" |
| | | clearable="" |
| | | placeholder="请æ«é¨ä»¶æ¡ç " |
| | | @input="handleChange" |
| | | @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-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"> |
| | | <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> |
| | | </li> |
| | | |
| | | <li> |
| | | <span class="text_left">é¨ä»¶åç§°:</span> |
| | | <span class="text_rt">{{ tableData.detailName }}</span> |
| | | </li> |
| | | |
| | | <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> |
| | | <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.Info10 }}</span> |
| | | </li> --> |
| | | |
| | | <!-- <li> |
| | | <span class="text_left">é¿:</span> |
| | | <span class="text_rt">{{ tableData.length }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">宽:</span> |
| | | <span class="text_rt">{{ tableData.width }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">å:</span> |
| | | <span class="text_rt">{{ tableData.thk }}</span> |
| | | </li> |
| | | <li> |
| | | <span class="text_left">é¨ä»¶çº¹ç:</span> |
| | | <span class="text_rt">{{ tableData.matgrid }}</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å
--> |
| | | <!-- çæ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 { 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 queryParams = ref<any>({ |
| | | upi: '', |
| | | }); |
| | | 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; |
| | | }; |
| | | // ç¨äºå¼ç¨è¾å
¥æ¡ |
| | | const materialCodeInput = ref(null); |
| | | |
| | | onMounted(() => { |
| | | // å¨ç»ä»¶æè½½åè¿è¡èç¦ |
| | | materialCodeInput.value.$el.querySelector('input').focus(); |
| | | }); |
| | | |
| | | // æ¥è¯¢æä½ 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 = []; |
| | | 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: '请è¾å
¥ngå
', 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(); // 黿¢é»è®¤äºä»¶ |
| | | 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: 25%; |
| | | word-wrap: break-word; |
| | | } |
| | | } |
| | | } |
| | | .text_left { |
| | | font-weight: 700; |
| | | } |
| | | </style> |