| | |
| | | import { defineComponent, ref } from 'vue' |
| | | import { defineComponent, onMounted, ref } from 'vue' |
| | | import type { Ref } from 'vue' |
| | | import styles from './WmsMaterialContainer.module.scss' |
| | | import { ElInput, ElForm, ElFormItem, ElButton } from 'element-plus' |
| | | import { |
| | | ElInput, |
| | | ElForm, |
| | | ElFormItem, |
| | | ElButton, |
| | | ElSelect, |
| | | ElOption, |
| | | ElMessage, |
| | | } from 'element-plus' |
| | | import { |
| | | getPlaceNoForStockList, |
| | | getMaterialModelList, |
| | | instock, |
| | | } from '@/widgets/WmsMaterialContainer/Models/Service/WmsMaterialContainer' |
| | | import { Message } from '@element-plus/icons-vue/dist/types' |
| | | |
| | | export default defineComponent({ |
| | | name: 'WmsMaterialContainer', |
| | | setup() { |
| | | // 查询表单数据 |
| | | const queryForm = ref({ |
| | | materialNo: '', |
| | | materialModel: '', |
| | | placeNo: '', |
| | | materialBatch: '', |
| | | quantity: '', |
| | | stockNumber: '', |
| | | }) |
| | | |
| | | // 数据源 |
| | | const modelOptions = ref<Array<{ value: string; label: string }>>([]) |
| | | const placeNoOptions = ref<Array<{ value: string; label: string }>>([]) |
| | | |
| | | onMounted(() => { |
| | | // 组件挂载后获取型号列表和库位号列表 |
| | | getModelList() |
| | | getPlaceNoList() |
| | | }) |
| | | |
| | | // 组盘操作 |
| | |
| | | // 组盘入库操作 |
| | | const handlePalletizeStorage = () => { |
| | | console.log('组盘入库操作', queryForm.value) |
| | | instock(queryForm.value), resetQueryForm() |
| | | ElMessage.success({ |
| | | message: '组盘入库成功', |
| | | type: 'success', |
| | | }) |
| | | // 这里添加组盘入库逻辑 |
| | | } |
| | | |
| | | const resetQueryForm = () => { |
| | | queryForm.value.materialModel = '' |
| | | queryForm.value.placeNo = '' |
| | | queryForm.value.materialBatch = '' |
| | | queryForm.value.stockNumber = '' |
| | | } |
| | | |
| | | const getModelList = async () => { |
| | | const models = await getMaterialModelList() |
| | | modelOptions.value = models.map((item: string) => ({ |
| | | value: item.materialModel, |
| | | label: item.materialModelDesc, |
| | | })) |
| | | } |
| | | |
| | | const getPlaceNoList = async () => { |
| | | const placeNos = await getPlaceNoForStockList(2) |
| | | console.log('库位号列表:', placeNos) |
| | | placeNoOptions.value = placeNos.map((item: string) => ({ |
| | | value: item.placeNo, |
| | | label: item.placeNoDesc, |
| | | })) |
| | | } |
| | | |
| | | return () => { |
| | | return ( |
| | | <div class={styles.wmsMaterialContainerContent}> |
| | | <ElForm label-position="top" class={styles.h5Form}> |
| | | <ElFormItem label="物料码"> |
| | | <ElInput |
| | | v-model={queryForm.value.materialNo} |
| | | placeholder="请输入物料码" |
| | | <ElFormItem label="型号"> |
| | | <ElSelect |
| | | v-model={queryForm.value.materialModel} |
| | | placeholder="请选择型号" |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | > |
| | | {modelOptions.value.map((item) => ( |
| | | <ElOption |
| | | key={item.value} |
| | | label={item.label} |
| | | value={item.value} |
| | | /> |
| | | ))} |
| | | </ElSelect> |
| | | </ElFormItem> |
| | | <ElFormItem label="库位号"> |
| | | <ElInput |
| | | <ElSelect |
| | | v-model={queryForm.value.placeNo} |
| | | placeholder="请输入库位号" |
| | | placeholder="请选择库位号" |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | > |
| | | {placeNoOptions.value.map((item) => ( |
| | | <ElOption |
| | | key={item.value} |
| | | label={item.label} |
| | | value={item.value} |
| | | /> |
| | | ))} |
| | | </ElSelect> |
| | | </ElFormItem> |
| | | <ElFormItem label="批次号"> |
| | | <ElInput |
| | | v-model={queryForm.value.materialBatch} |
| | | placeholder="请输入数量" |
| | | placeholder="请输入批次号" |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <ElFormItem label="数量"> |
| | | <ElInput |
| | | v-model={queryForm.value.quantity} |
| | | v-model={queryForm.value.stockNumber} |
| | | placeholder="请输入数量" |
| | | clearable |
| | | class={styles.formInput} |
| | | /> |
| | | </ElFormItem> |
| | | <div class={styles.buttonGroup}> |
| | | <ElButton |
| | | {/* <ElButton |
| | | type="primary" |
| | | onClick={handlePalletize} |
| | | class={styles.actionButton} |
| | | > |
| | | 组盘 |
| | | </ElButton> |
| | | </ElButton> */} |
| | | <ElButton |
| | | type="success" |
| | | onClick={handlePalletizeStorage} |