hgwms-2098 fix 托盘信息管理弹窗修改

hwork-master^2
A0066811 2025-11-07 10:16:12 +08:00
parent 87e3bdf933
commit 4efee0ebad
1 changed files with 205 additions and 148 deletions

View File

@ -1,21 +1,77 @@
<template> <template>
<a-modal :open="visible" title="修改托盘明细信息" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel"> <a-modal
<a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol"> :open="visible"
<a-form-item ref="palletCode" label="托盘号" name="palletCode"> title="修改托盘明细信息"
<a-input v-model:value="formState.palletCode" placeholder="请输入托盘号" disabled /> cancelText="取消"
</a-form-item> okText="提交"
<a-form-item ref="skuCode" label="物料编号" name="skuCode"> @ok="submit"
<a-input v-model:value="formState.skuCode" placeholder="请输入物料编号" /> @cancel="cancel"
</a-form-item> >
<a-form-item ref="skuName" label="物料描述" name="skuName"> <a-form
<a-input v-model:value="formState.skuName" placeholder="请输入物料描述" disabled /> ref="formRef"
</a-form-item> :model="formState"
<a-form-item ref="skuType" label="物料类型" name="skuType"> :rules="formRules"
<a-input v-model:value="formState.skuType" placeholder="请输入物料类型" disabled /> layout="vertical"
</a-form-item> >
<a-form-item ref="batch" label="批次" name="batch"> <a-row :gutter="[16, 0]">
<a-input v-model:value="formState.batch" placeholder="请输入批次" /> <a-col :span="12">
</a-form-item> <a-form-item ref="palletCode" label="托盘号" name="palletCode">
<a-input
v-model:value="formState.palletCode"
placeholder="请输入托盘号"
disabled
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="skuCode" label="物料编号" name="skuCode">
<a-input
v-model:value="formState.skuCode"
placeholder="请输入物料编号"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="skuName" label="物料描述" name="skuName">
<a-input
v-model:value="formState.skuName"
placeholder="请输入物料描述"
disabled
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="skuType" label="物料类型" name="skuType">
<a-input
v-model:value="formState.skuType"
placeholder="请输入物料类型"
disabled
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="batch" label="批次" name="batch">
<a-input v-model:value="formState.batch" placeholder="请输入批次" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="customer" label="线体" name="customer">
<a-input
v-model:value="formState.customer"
placeholder="请输入客户"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="skuQty" label="物料数量" name="skuQty">
<a-input
v-model:value="formState.skuQty"
placeholder="请输入物料数量"
/>
</a-form-item>
</a-col>
</a-row>
<!-- <a-form-item ref="serial" label="序列号" name="serial"> <!-- <a-form-item ref="serial" label="序列号" name="serial">
<a-input v-model:value="formState.serial" placeholder="请输入序列号" /> <a-input v-model:value="formState.serial" placeholder="请输入序列号" />
</a-form-item> </a-form-item>
@ -25,18 +81,14 @@
<a-form-item ref="producer" label="厂家" name="producer"> <a-form-item ref="producer" label="厂家" name="producer">
<a-input v-model:value="formState.producer" placeholder="请输入厂家" /> <a-input v-model:value="formState.producer" placeholder="请输入厂家" />
</a-form-item> --> </a-form-item> -->
<a-form-item ref="customer" label="线体" name="customer">
<a-input v-model:value="formState.customer" placeholder="请输入客户" />
</a-form-item>
<!-- <a-form-item ref="produceDate" label="生产日期" name="produceDate"> <!-- <a-form-item ref="produceDate" label="生产日期" name="produceDate">
<a-date-picker v-model:value="formState.produceDate" style="width: 100%"/> <a-date-picker v-model:value="formState.produceDate" style="width: 100%"/>
</a-form-item> </a-form-item>
<a-form-item ref="overdue" label="过期日期" name="overdue"> <a-form-item ref="overdue" label="过期日期" name="overdue">
<a-date-picker v-model:value="formState.overdue" style="width: 100%"/> <a-date-picker v-model:value="formState.overdue" style="width: 100%"/>
</a-form-item> --> </a-form-item> -->
<a-form-item ref="skuQty" label="物料数量" name="skuQty">
<a-input v-model:value="formState.skuQty" placeholder="请输入物料数量" />
</a-form-item>
<!-- <a-form-item ref="lockQty" label="锁定数量" name="lockQty"> <!-- <a-form-item ref="lockQty" label="锁定数量" name="lockQty">
<a-input v-model:value="formState.lockQty" placeholder="请输入锁定数量" /> <a-input v-model:value="formState.lockQty" placeholder="请输入锁定数量" />
</a-form-item> </a-form-item>
@ -68,153 +120,158 @@
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { import { message } from "@hwork/ant-design-vue";
message import { edit } from "@/api/wms/palletDetail";
} from '@hwork/ant-design-vue'; import { defineComponent, reactive, ref, toRaw, watch } from "vue";
import { export default defineComponent({
edit, props: {
} from "@/api/wms/palletDetail"; visible: {
import { type: Boolean,
defineComponent,
reactive,
ref,
toRaw,
watch
} from "vue";
export default defineComponent({
props: {
visible: {
type: Boolean,
},
record: {
type: Object,
}
}, },
emit: ["close"], record: {
setup(props, context) { type: Object,
},
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formRef = ref(); // const state = reactive({});
// const state = reactive({}); const formState = reactive({});
const formState = reactive({}); const formRules = {
palletCode: [
const formRules = { {
palletCode: [{
required: true, required: true,
message: '请输入托盘号', message: "请输入托盘号",
trigger: 'blur' trigger: "blur",
}], },
skuCode: [{ ],
skuCode: [
{
required: true, required: true,
message: '请输入物料编号', message: "请输入物料编号",
trigger: 'change' trigger: "change",
}], },
skuQty: [{ ],
skuQty: [
{
required: true, required: true,
message: '请输入物料数量', message: "请输入物料数量",
trigger: 'blur', trigger: "blur",
type: 'number', type: "number",
}], },
baseUnit: [{ ],
baseUnit: [
{
required: true, required: true,
message: '请输入物流单位', message: "请输入物流单位",
trigger: 'change', trigger: "change",
}], },
convertQty: [{ ],
convertQty: [
{
required: true, required: true,
message: '请输入统计数量', message: "请输入统计数量",
trigger: 'blur', trigger: "blur",
type: 'number', type: "number",
}], },
primaryUnit: [{ ],
primaryUnit: [
{
required: true, required: true,
message: '请输入统计单位', message: "请输入统计单位",
trigger: 'change', trigger: "change",
}], },
} ],
};
watch(props, (props) => { watch(props, (props) => {
console.log("state.record", props.record) console.log("state.record", props.record);
formState.id = props.record.id formState.id = props.record.id;
formState.palletCode = props.record.palletCode formState.palletCode = props.record.palletCode;
formState.skuCode = props.record.skuCode; formState.skuCode = props.record.skuCode;
formState.skuName = props.record.skuName; formState.skuName = props.record.skuName;
formState.skuType = props.record.skuType; formState.skuType = props.record.skuType;
formState.batch = props.record.batch; formState.batch = props.record.batch;
formState.serial = props.record.serial; formState.serial = props.record.serial;
formState.master = props.record.master; formState.master = props.record.master;
formState.producer = props.record.producer; formState.producer = props.record.producer;
formState.customer = props.record.customer; formState.customer = props.record.customer;
formState.produceDate = props.record.produceDate; formState.produceDate = props.record.produceDate;
formState.overdue = props.record.overdue; formState.overdue = props.record.overdue;
formState.skuQty = props.record.skuQty; formState.skuQty = props.record.skuQty;
formState.lockQty = props.record.lockQty; formState.lockQty = props.record.lockQty;
formState.baseUnit = props.record.baseUnit; formState.baseUnit = props.record.baseUnit;
formState.convertQty = props.record.convertQty; formState.convertQty = props.record.convertQty;
formState.primaryUnit = props.record.primaryUnit; formState.primaryUnit = props.record.primaryUnit;
formState.spInv = props.record.spInv; formState.spInv = props.record.spInv;
formState.invType = props.record.invType; formState.invType = props.record.invType;
formState.qualityStatus = props.record.qualityStatus; formState.qualityStatus = props.record.qualityStatus;
formState.note = props.record.note; formState.note = props.record.note;
formState.remark = props.record.remark; formState.remark = props.record.remark;
}) });
const editKey = "add"; const editKey = "add";
const submit = (e) => { const submit = (e) => {
message.loading({ message.loading({
content: '提交中...', content: "提交中...",
key: editKey key: editKey,
}); });
formRef.value formRef.value
.validate() .validate()
.then(() => { .then(() => {
edit(toRaw(formState)).then((response) => { edit(toRaw(formState)).then((response) => {
if (response.success) { if (response.success) {
message.success({ message
content: '保存成功', .success({
content: "保存成功",
key: editKey, key: editKey,
duration: 1 duration: 1,
}).then(() => { })
.then(() => {
cancel(); cancel();
}); });
} else { } else {
message.error({ message
.error({
content: response.msg, content: response.msg,
key: editKey, key: editKey,
duration: 1 duration: 1,
}).then(() => { })
.then(() => {
// cancel(); // cancel();
}); });
} }
});
})
.catch(error => {
console.log('error', error);
}); });
}; })
.catch((error) => {
console.log("error", error);
});
};
const cancel = (e) => { const cancel = (e) => {
formRef.value.resetFields(); formRef.value.resetFields();
context.emit("close", false); context.emit("close", false);
}; };
return { return {
// state, // state,
submit, submit,
cancel, cancel,
formRef, formRef,
formState, formState,
formRules, formRules,
labelCol: { labelCol: {
span: 8 span: 8,
}, },
wrapperCol: { wrapperCol: {
span: 12 span: 12,
}, },
}; };
}, },
}); });
</script> </script>