hgwms-2098 fix 物料主档弹窗修改

hwork-master^2
A0066811 2025-11-07 09:52:25 +08:00
parent d92a44e67f
commit ce4105b45c
2 changed files with 220 additions and 178 deletions

View File

@ -1,31 +1,79 @@
<template>
<a-modal :open="visible" title="修改物料信息" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel">
<a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-form-item ref="skuCode" label="物料编号" name="skuCode">
<a-input v-model:value="formState.skuCode" placeholder="请输入物料编号" :disabled="true"/>
</a-form-item>
<a-form-item ref="skuName" label="物料名称" name="skuName">
<a-input v-model:value="formState.skuName" placeholder="请输入物料名称" />
</a-form-item>
<!-- <a-form-item ref="barCode" label="条码" name="barCode">
<a-modal
:open="visible"
title="修改物料信息"
cancelText="取消"
okText="提交"
@ok="submit"
@cancel="cancel"
>
<a-form
ref="formRef"
:model="formState"
:rules="formRules"
layout="vertical"
>
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="skuCode" label="物料编号" name="skuCode">
<a-input
v-model:value="formState.skuCode"
placeholder="请输入物料编号"
:disabled="true"
/>
</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="请输入物料名称"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="ABC分类" name="abc">
<a-select
v-model:value="formState.abc"
:options="skuAbc"
placeholder="请选择ABC分类"
>
</a-select>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="baseUnit" label="库存单位" name="baseUnit">
<a-input
v-model:value="formState.baseUnit"
placeholder="请选择库存单位"
:disabled="true"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item ref="remark" label="备注" name="remark">
<a-textarea
v-model:value="formState.remark"
laceholder="请输入备注"
/>
</a-form-item>
</a-col>
</a-row>
<!-- <a-form-item ref="barCode" label="条码" name="barCode">
<a-input v-model:value="formState.barCode" placeholder="请输入条码" />
</a-form-item> -->
<a-form-item label="ABC分类" name="abc">
<a-select v-model:value="formState.abc" :options="skuAbc" placeholder="请选择ABC分类">
</a-select>
</a-form-item>
<!-- <a-form-item ref="categoryCode" label="种类编号" name="categoryCode">
<a-input v-model:value="formState.categoryCode" placeholder="请选择种类编号" />
</a-form-item> -->
<!-- <a-form-item label="种类名称" name="categoryName">
<!-- <a-form-item label="种类名称" name="categoryName">
<a-select v-model:value="formState.categoryName" :options="skuCategoryName" placeholder="请选择种类名称">
<a-select-option value="成品">成品</a-select-option>
<a-select-option value="原材料">原材料</a-select-option>
</a-select>
</a-form-item> -->
<a-form-item ref="baseUnit" label="库存单位" name="baseUnit">
<a-input v-model:value="formState.baseUnit" placeholder="请选择库存单位" :disabled="true" />
</a-form-item>
<!-- <a-form-item ref="primaryUnit" label="换算单位" name="primaryUnit">
<a-input v-model:value="formState.primaryUnit" placeholder="请选择换算单位" />
</a-form-item> -->
@ -49,170 +97,163 @@
<!-- <a-form-item ref="fullQty" label="满盘数量" name="fullQty">
<a-input v-model:value="formState.fullQty" placeholder="请输入满盘数量" />
</a-form-item> -->
<!-- <a-form-item ref="expire" label="有效期" name="expire">
<!-- <a-form-item ref="expire" label="有效期" name="expire">
<a-input-number v-model:value="formState.expire" placeholder="请选择有效期" style="width: 100%" />
</a-form-item> -->
<!--
<!--
<a-form-item label="使用标志" name="useFlag">
<a-switch v-model:checked="formState.useFlag" checked-children="" un-checked-children=""/>
</a-form-item> -->
<a-form-item ref="remark" label="备注" name="remark">
<a-textarea v-model:value="formState.remark" laceholder="请输入备注" />
</a-form-item>
</a-form>
</a-modal>
</template>
<script>
import {
message
} from '@hwork/ant-design-vue';
import {
edit
} from "@/api/wms/sku";
import {
defineComponent,
reactive,
ref,
toRaw,
watch
} from "vue";
export default defineComponent({
props: {
visible: {
type: Boolean,
import { message } from "@hwork/ant-design-vue";
import { edit } from "@/api/wms/sku";
import { defineComponent, reactive, ref, toRaw, watch } from "vue";
export default defineComponent({
props: {
visible: {
type: Boolean,
},
record: {
type: Object,
},
},
emit: ["close"],
setup(props, context) {
const formRef = ref();
const formState = reactive({});
watch(props, (props) => {
formState.id = props.record.id;
formState.skuCode = props.record.skuCode;
formState.skuName = props.record.skuName;
formState.barCode = props.record.barCode;
formState.abc = props.record.abc;
formState.categoryCode = props.record.categoryCode;
formState.categoryName = props.record.categoryName;
formState.baseUnit = props.record.baseUnit;
formState.primaryUnit = props.record.primaryUnit;
formState.ext3 = props.record.ext3;
formState.stackType = props.record.stackType;
formState.ext1 = props.record.ext1;
formState.ext2 = props.record.ext2;
formState.fullQty = props.record.fullQty;
formState.expire = props.record.expire;
formState.useFlag = props.record.useFlag;
});
const formRules = {};
const editKey = "add";
const skuAbc = ref([
{
value: "A类",
label: "A类",
},
record: {
type: Object,
}
},
emit: ["close"],
setup(props, context) {
{
value: "B类",
label: "B类",
},
{
value: "C类",
label: "C类",
},
]);
const formRef = ref();
const skuCategoryName = ref([
{
value: "成品",
label: "成品",
},
{
value: "原材料",
label: "原材料",
},
]);
const formState = reactive({});
const skuPrimaryUnit = ref([
{
value: "台",
label: "台",
},
{
value: "箱",
label: "箱",
},
{
value: "盒",
label: "盒",
},
]);
watch(props, (props) => {
formState.id = props.record.id
formState.skuCode = props.record.skuCode
formState.skuName = props.record.skuName
formState.barCode = props.record.barCode
formState.abc = props.record.abc
formState.categoryCode = props.record.categoryCode
formState.categoryName = props.record.categoryName
formState.baseUnit = props.record.baseUnit
formState.primaryUnit = props.record.primaryUnit
formState.ext3 = props.record.ext3
formState.stackType = props.record.stackType
formState.ext1 = props.record.ext1
formState.ext2 = props.record.ext2
formState.fullQty = props.record.fullQty
formState.expire = props.record.expire
formState.useFlag = props.record.useFlag
const valueChanged = (e) => {
formState.ext3 = formState.ext3.toFixed(2);
};
})
const formRules = {};
const editKey = "add";
const skuAbc = ref([{
value: 'A类',
label: 'A类',
}, {
value: 'B类',
label: 'B类',
}, {
value: 'C类',
label: 'C类',
}]);
const skuCategoryName = ref([{
value: '成品',
label: '成品',
},
{
value: '原材料',
label: '原材料',
},
]);
const skuPrimaryUnit = ref([{
value: '台',
label: '台',
},
{
value: '箱',
label: '箱',
},
{
value: '盒',
label: '盒',
},
]);
const valueChanged = (e) => {
formState.ext3 = (formState.ext3).toFixed(2);
}
const submit = (e) => {
message.loading({
content: '提交中...',
key: editKey
});
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message.success({
content: '保存成功',
const submit = (e) => {
message.loading({
content: "提交中...",
key: editKey,
});
formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message
.success({
content: "保存成功",
key: editKey,
duration: 1
}).then(() => {
duration: 1,
})
.then(() => {
cancel();
});
} else {
message.success({
content: '保存失败',
} else {
message
.success({
content: "保存失败",
key: editKey,
duration: 1
}).then(() => {
duration: 1,
})
.then(() => {
cancel();
});
}
});
})
.catch(error => {
console.log('error', error);
}
});
};
})
.catch((error) => {
console.log("error", error);
});
};
const cancel = (e) => {
formRef.value.resetFields();
context.emit("close", false);
};
const cancel = (e) => {
formRef.value.resetFields();
context.emit("close", false);
};
return {
return {
submit,
cancel,
formRef,
formState,
formRules,
valueChanged,
skuAbc,
skuCategoryName,
skuPrimaryUnit,
submit,
cancel,
formRef,
formState,
formRules,
valueChanged,
skuAbc,
skuCategoryName,
skuPrimaryUnit,
labelCol: {
span: 8
},
wrapperCol: {
span: 12
},
};
},
});
labelCol: {
span: 8,
},
wrapperCol: {
span: 12,
},
};
},
});
</script>

View File

@ -1,17 +1,17 @@
<template>
<a-modal :open="visible" title="新增物料信息" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel" :width='1000'>
<a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-modal :open="visible" title="新增物料信息" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel" :width='720'>
<a-form ref="formRef" :model="formState" :rules="formRules" layout="vertical">
<div>
<page-layout>
<a-row :gutter="[0, 0]">
<a-col :span="24">
<a-row>
<a-col :span="8">
<!-- <a-row :gutter="[0, 0]"> -->
<!-- <a-col :span="24"> -->
<a-row :gutter="[16, 0]">
<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="8">
<a-col :span="12">
<a-form-item ref="skuName" label="物料名称" name="skuName">
<a-input v-model:value="formState.skuName" placeholder="请输入物料名称" />
</a-form-item>
@ -28,14 +28,14 @@
</a-col> -->
</a-row>
<a-row>
<a-col :span="8">
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item label="ABC分类" name="abc">
<a-select v-model:value="formState.abc" :options="skuAbc" placeholder="请选择ABC分类">
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-col :span="12">
<a-form-item ref="categoryCode" label="物料种类" name="categoryCode">
<a-select v-model:value="formState.categoryCode" show-search placeholder="请选择物料种类"
style="width: 100%" :default-active-first-option="false" :show-arrow="false"
@ -47,11 +47,16 @@
</a-select>
</a-form-item>
</a-col>
<a-col :span="8">
<a-col :span="12">
<a-form-item ref="baseUnit" label="库存单位" name="baseUnit">
<a-input v-model:value="formState.baseUnit" placeholder="请选择库存单位" :disabled="true" />
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item label="使用标志" name="useFlag">
<a-switch v-model:checked="formState.useFlag" checked-children="" un-checked-children="" />
</a-form-item>
</a-col>
</a-row>
<!-- <a-row>
<a-col :span="8">
@ -101,19 +106,15 @@
<a-input-number v-model:value="formState.expire" placeholder="请选择有效期" style="width: 100%" />
</a-form-item>
</a-col> -->
<a-col :span="8">
<a-form-item label="使用标志" name="useFlag">
<a-switch v-model:checked="formState.useFlag" checked-children="" un-checked-children="" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-col :span="24">
<a-form-item ref="remark" label="备注" name="remark">
<a-textarea v-model:value="formState.remark" laceholder="请输入备注" />
</a-form-item>
</a-col>
</a-row>
</a-col>
</a-row>
<!-- </a-col> -->
<!-- </a-row> -->
</page-layout>
</div>
<!-- <a-form-item ref="skuCode" label="物料编号" name="skuCode">