| <script setup> | 
| import { getCurrentInstance, ref, watch, reactive } from 'vue'; | 
| import { useRouter } from "vue-router"; | 
| import { get, post, postForm } from '@/utils/request.js' | 
| import { message, Modal } from 'ant-design-vue'; | 
| import { logout } from '@/config.js'; | 
| import { formatMessage } from '@/utils/localeUtils.js'; | 
| import useTableSearch from '@/utils/tableUtils.jsx'; | 
| const context = getCurrentInstance()?.appContext.config.globalProperties; | 
|   | 
| const router = useRouter(); | 
|   | 
| const emit = defineEmits(['tableReload']) | 
|   | 
| const open = ref(false); | 
| const barcode = ref(null); | 
| const locTypeHeight = ref(null); | 
|   | 
| const { | 
|     getColumnSearchProps, | 
| } = useTableSearch(); | 
|   | 
| const handleOk = () => { | 
|     open.value = false; | 
|     post('/api/rpc/generatePakIn', { | 
|         taskType: 1, | 
|         barcode: barcode.value, | 
|         originSite: "101", | 
|         locTypeHeight: locTypeHeight.value | 
|     }).then(resp => { | 
|         let result = resp.data; | 
|         if (result.code === 200) { | 
|             message.success(formatMessage('page.add.success', '生成成功')); | 
|             emit('tableReload', 'reload') | 
|         } else { | 
|             message.error(result.msg); | 
|         } | 
|     }) | 
| } | 
|   | 
| const handleCancel = () => { | 
|     open.value = false; | 
| } | 
|   | 
| const waitPakinQueryList = ref(null); | 
| waitPakinQueryListQuery(); | 
| function waitPakinQueryListQuery() { | 
|     postForm('/api/waitPakin/barcode/query', {}).then(resp => { | 
|         let result = resp.data; | 
|         waitPakinQueryList.value = result.data; | 
|     }) | 
| } | 
|   | 
| const locTypeHeightQueryList = ref(null); | 
| locTypeHeightQueryListQuery(); | 
| function locTypeHeightQueryListQuery() { | 
|     postForm('/api/locType/height/query', {}).then(resp => { | 
|         let result = resp.data; | 
|         locTypeHeightQueryList.value = result.data; | 
|     }) | 
| } | 
|   | 
| watch(open, (newVal, oldVal) => { | 
|     if (newVal) { | 
|         waitPakinQueryListQuery() | 
|     } | 
| }) | 
|   | 
| defineExpose({ | 
|     open, | 
| }) | 
|   | 
| </script> | 
|   | 
| <script> | 
| export default { | 
|     name: 'generateTaskComponent' | 
| } | 
| </script> | 
|   | 
| <template> | 
|     <div> | 
|         <a-modal v-model:open="open" :title="formatMessage('task.generateTask', '生成任务')" @ok="handleOk" | 
|             @cancel="handleCancel"> | 
|             <a-select v-model:value="barcode" :placeholder="formatMessage('common.select', '请选择')" style="width: 100%" | 
|                 show-search :options="waitPakinQueryList" optionFilterProp="label" optionLabelProp="label"> | 
|             </a-select> | 
|             <a-select v-model:value="locTypeHeight" :placeholder="formatMessage('common.select', '请选择库位高度')" style="width: 100%;margin-top: 20px;" | 
|                 show-search :options="locTypeHeightQueryList" optionFilterProp="label" optionLabelProp="label"> | 
|             </a-select> | 
|         </a-modal> | 
|     </div> | 
| </template> | 
|   | 
| <style></style> |