import { defineComponent, onMounted, ref } from 'vue'
|
import type { Ref } from 'vue'
|
import styles from './WmsMaterialContainer.module.scss'
|
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({
|
materialModel: '',
|
placeNo: '',
|
materialBatch: '',
|
stockNumber: '',
|
})
|
|
// 数据源
|
const modelOptions = ref<Array<{ value: string; label: string }>>([])
|
const placeNoOptions = ref<Array<{ value: string; label: string }>>([])
|
|
onMounted(() => {
|
// 组件挂载后获取型号列表和库位号列表
|
getModelList()
|
getPlaceNoList()
|
})
|
|
// 组盘操作
|
const handlePalletize = () => {
|
console.log('组盘操作', queryForm.value)
|
// 这里添加组盘逻辑
|
}
|
|
// 组盘入库操作
|
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="型号">
|
<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="库位号">
|
<ElSelect
|
v-model={queryForm.value.placeNo}
|
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="请输入批次号"
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<ElFormItem label="数量">
|
<ElInput
|
v-model={queryForm.value.stockNumber}
|
placeholder="请输入数量"
|
clearable
|
class={styles.formInput}
|
/>
|
</ElFormItem>
|
<div class={styles.buttonGroup}>
|
{/* <ElButton
|
type="primary"
|
onClick={handlePalletize}
|
class={styles.actionButton}
|
>
|
组盘
|
</ElButton> */}
|
<ElButton
|
type="success"
|
onClick={handlePalletizeStorage}
|
class={styles.actionButton}
|
>
|
组盘入库
|
</ElButton>
|
</div>
|
</ElForm>
|
</div>
|
)
|
}
|
},
|
})
|