hgwms-2098 fix 货拉管理弹窗修改

hwork-master^2
A0066811 2025-11-07 14:10:35 +08:00
parent 087b9aa7b3
commit 65b8f5d368
2 changed files with 840 additions and 672 deletions

View File

@ -1,260 +1,321 @@
<template> <template>
<a-modal :open="visible" title="编辑货位" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel" :width='1200'> <a-drawer :open="visible" title="编辑货位">
<a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form
<div> ref="formRef"
<page-layout> :model="formState"
<a-row :gutter="[0, 0]"> :rules="formRules"
<a-col :span="24"> layout="vertical"
<a-row> style="padding: 0 8px"
<a-col :span="8"> >
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="locCode" label="位置编号" name="locCode"> <a-form-item ref="locCode" label="位置编号" name="locCode">
<a-input v-model:value="formState.locCode" placeholder="请输入位置编号" /> <a-input
v-model:value="formState.locCode"
placeholder="请输入位置编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="locName" label="位置描述" name="locName"> <a-form-item ref="locName" label="位置描述" name="locName">
<a-input v-model:value="formState.locName" placeholder="请输入位置描述" /> <a-input
v-model:value="formState.locName"
placeholder="请输入位置描述"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="houseCode" label="仓库号" name="houseCode"> <a-form-item ref="houseCode" label="仓库号" name="houseCode">
<a-input v-model:value="formState.houseCode" placeholder="请输入仓库号" /> <a-input
v-model:value="formState.houseCode"
placeholder="请输入仓库号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="houseName" label="仓库名称" name="houseName"> <a-form-item ref="houseName" label="仓库名称" name="houseName">
<a-input v-model:value="formState.houseName" placeholder="请输入仓库名称" /> <a-input
v-model:value="formState.houseName"
placeholder="请输入仓库名称"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="parentCode" label="父编号" name="parentCode"> <a-form-item ref="parentCode" label="父编号" name="parentCode">
<a-input v-model:value="formState.parentCode" placeholder="请输入父编号" /> <a-input
v-model:value="formState.parentCode"
placeholder="请输入父编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="locRelation" label="关联位置" name="locRelation"> <a-form-item ref="locRelation" label="关联位置" name="locRelation">
<a-input v-model:value="formState.locRelation" placeholder="请输入关联位置" /> <a-input
v-model:value="formState.locRelation"
placeholder="请输入关联位置"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="locWcs" label="WCS位置编号" name="locWcs"> <a-form-item ref="locWcs" label="WCS位置编号" name="locWcs">
<a-input v-model:value="formState.locWcs" placeholder="请输入WCS位置编号" /> <a-input
v-model:value="formState.locWcs"
placeholder="请输入WCS位置编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="位置类型" name="locType"> <a-form-item label="位置类型" name="locType">
<a-select v-model:value="formState.locType" placeholder="请选择位置类型" :options="locTypeOption"> <a-select
v-model:value="formState.locType"
placeholder="请选择位置类型"
:options="locTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="货位高矮类型" name="locHighType"> <a-form-item label="货位高矮类型" name="locHighType">
<a-select v-model:value="formState.locHighType" placeholder="请选择货位高矮类型" <a-select
:options="locHighTypeOption"> v-model:value="formState.locHighType"
placeholder="请选择货位高矮类型"
:options="locHighTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item label="货位大小" name="locSizeType"> <a-form-item label="货位大小" name="locSizeType">
<a-select v-model:value="formState.locSizeType" placeholder="请选择货位大小" :options="locSizeTypeOption"> <a-select
v-model:value="formState.locSizeType"
placeholder="请选择货位大小"
:options="locSizeTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="row" label="排" name="row"> <a-form-item ref="row" label="排" name="row">
<a-input v-model:value="formState.row" placeholder="请输入排" /> <a-input v-model:value="formState.row" placeholder="请输入排" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="col" label="列" name="col"> <a-form-item ref="col" label="列" name="col">
<a-input v-model:value="formState.col" placeholder="请输入列" /> <a-input v-model:value="formState.col" placeholder="请输入列" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="layer" label="层" name="layer"> <a-form-item ref="layer" label="层" name="layer">
<a-input v-model:value="formState.layer" placeholder="请输入层" /> <a-input v-model:value="formState.layer" placeholder="请输入层" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="trackCode" label="巷道号" name="trackCode"> <a-form-item ref="trackCode" label="巷道号" name="trackCode">
<a-input v-model:value="formState.trackCode" placeholder="请输入巷道号" /> <a-input
v-model:value="formState.trackCode"
placeholder="请输入巷道号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="channelCode" label="通道号" name="channelCode"> <a-form-item ref="channelCode" label="通道号" name="channelCode">
<a-input v-model:value="formState.channelCode" placeholder="请输入通道号" /> <a-input
v-model:value="formState.channelCode"
placeholder="请输入通道号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="area" label="位置分区" name="area"> <a-form-item ref="area" label="位置分区" name="area">
<a-input v-model:value="formState.area" placeholder="请输入位置分区" /> <a-input
v-model:value="formState.area"
placeholder="请输入位置分区"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="channelType" label="通道类型" name="channelType"> <a-form-item ref="channelType" label="通道类型" name="channelType">
<a-input v-model:value="formState.channelType" placeholder="请输入通道类型" /> <a-input
v-model:value="formState.channelType"
placeholder="请输入通道类型"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="位置状态" name="locStatus"> <a-form-item label="位置状态" name="locStatus">
<a-select v-model:value="formState.locStatus" placeholder="请选择位置状态" :options="locStatusOption"> <a-select
v-model:value="formState.locStatus"
placeholder="请选择位置状态"
:options="locStatusOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item label="存储状态" name="storeStatus"> <a-form-item label="存储状态" name="storeStatus">
<a-select v-model:value="formState.storeStatus" placeholder="请选择存储状态" :options="storeStatusOption"> <a-select
v-model:value="formState.storeStatus"
placeholder="请选择存储状态"
:options="storeStatusOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="优先级" name="priority"> <a-form-item label="优先级" name="priority">
<a-select v-model:value="formState.priority" placeholder="请选择优先级" :options="locPriority"> <a-select
v-model:value="formState.priority"
placeholder="请选择优先级"
:options="locPriority"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="Mes工位号" name="ext1">
<a-input v-model:value="formState.ext1" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark"> <a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" /> <a-textarea v-model:value="formState.remark" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="8">
<a-form-item label="Mes工位号" name="ext1">
<a-input v-model:value="formState.ext1" />
</a-form-item>
</a-col>
</a-row>
</a-col>
</a-row>
</page-layout>
</div>
</a-form> </a-form>
</a-modal> <template #footer>
<a-button @click="cancel"></a-button>
<a-button type="primary" @click="submit"></a-button>
</template>
</a-drawer>
</template> </template>
<script> <script>
import { import { message } from "@hwork/ant-design-vue";
message import { edit } from "@/api/wms/loc";
} from '@hwork/ant-design-vue'; import { defineComponent, reactive, ref, toRaw, watch } from "vue";
import { export default defineComponent({
edit
} from "@/api/wms/loc";
import {
defineComponent,
reactive,
ref,
toRaw,
watch
} from "vue";
export default defineComponent({
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
}, },
record: { record: {
type: Object, type: Object,
} },
}, },
emit: ["close"], emit: ["close"],
setup(props, context) { setup(props, context) {
const formRef = ref(); const formRef = ref();
const formState = reactive({}); const formState = reactive({});
const locTypeOption = ref([{ const locTypeOption = ref([
value: 'Point', {
label: '道路', value: "Point",
}, { label: "道路",
value: 'Loc', },
label: '货位', {
}, { value: "Loc",
value: 'Station', label: "货位",
label: '站台', },
},{ {
value: 'Area', value: "Station",
label: '区域', label: "站台",
}]); },
{
value: "Area",
label: "区域",
},
]);
const locHighTypeOption = ref([{ const locHighTypeOption = ref([
value: 'High', {
label: '高货位', value: "High",
}, { label: "高货位",
value: 'Short', },
label: '矮货位', {
}, { value: "Short",
value: 'None', label: "矮货位",
label: '不区分高矮', },
}]); {
value: "None",
label: "不区分高矮",
},
]);
const locSizeTypeOption = ref([{ const locSizeTypeOption = ref([
value: 'Big', {
label: '大货位', value: "Big",
}, { label: "大货位",
value: 'Small', },
label: '小货位', {
}, { value: "Small",
value: 'None', label: "小货位",
label: '不区分大小', },
}]); {
value: "None",
label: "不区分大小",
},
]);
const locStatusOption = ref([{ const locStatusOption = ref([
value: 'Normal', {
label: '正常', value: "Normal",
}, { label: "正常",
value: 'NoIn', },
label: '禁入', {
}, { value: "NoIn",
value: 'NoOut', label: "禁入",
label: '禁出', },
}, { {
value: 'Freeze', value: "NoOut",
label: '冻结', label: "禁出",
}]); },
{
value: "Freeze",
label: "冻结",
},
]);
const storeStatusOption = ref([{ const storeStatusOption = ref([
value: 'Free', {
label: '空闲', value: "Free",
}, { label: "空闲",
value: 'Load', },
label: '载货', {
}, { value: "Load",
value: 'DoIn', label: "载货",
label: '预入', },
}, { {
value: 'DoOut', value: "DoIn",
label: '预出', label: "预入",
}, { },
value: 'Fault', {
label: '故障', value: "DoOut",
}]); label: "预出",
},
{
value: "Fault",
label: "故障",
},
]);
const locPriority = ref([{ const locPriority = ref([
value: '2', {
label: '高', value: "2",
}, { label: "高",
value: '1', },
label: '中', {
}, { value: "1",
value: '0', label: "中",
label: '低', },
}]); {
value: "0",
label: "低",
},
]);
watch(props, (props) => { watch(props, (props) => {
formState.id = props.record.id formState.id = props.record.id;
formState.locCode = props.record.locCode; formState.locCode = props.record.locCode;
formState.locName = props.record.locName; formState.locName = props.record.locName;
formState.houseCode = props.record.houseCode; formState.houseCode = props.record.houseCode;
@ -275,84 +336,104 @@
formState.locStatus = props.record.locStatus; formState.locStatus = props.record.locStatus;
formState.storeStatus = props.record.storeStatus; formState.storeStatus = props.record.storeStatus;
formState.priority = props.record.priority; formState.priority = props.record.priority;
formState.ext1 =props.record.ext1; formState.ext1 = props.record.ext1;
}) });
const formRules = { const formRules = {
locCode: [{ locCode: [
{
required: true, required: true,
message: '请输入locCode(必填)', message: "请输入locCode(必填)",
trigger: 'blur' trigger: "blur",
}], },
locName: [{ ],
locName: [
{
required: true, required: true,
message: '请输入位置描述(必填)', message: "请输入位置描述(必填)",
trigger: 'blur' trigger: "blur",
}], },
parentCode: [{ ],
parentCode: [
{
required: true, required: true,
message: '请输入父编号(必填)', message: "请输入父编号(必填)",
trigger: 'blur' trigger: "blur",
}], },
locWcs: [{ ],
locWcs: [
{
required: true, required: true,
message: '请输入WCS位置编号(必填)', message: "请输入WCS位置编号(必填)",
trigger: 'blur' trigger: "blur",
}], },
locType: [{ ],
locType: [
{
required: true, required: true,
message: '请输入位置类型(必填)', message: "请输入位置类型(必填)",
trigger: 'blur' trigger: "blur",
}], },
channelType: [{ ],
channelType: [
{
required: true, required: true,
message: '请输入通道类型(必填)', message: "请输入通道类型(必填)",
trigger: 'blur' trigger: "blur",
}], },
locStatus: [{ ],
locStatus: [
{
required: true, required: true,
message: '请输入位置状态(必填)', message: "请输入位置状态(必填)",
trigger: 'blur' trigger: "blur",
}], },
storeStatus: [{ ],
storeStatus: [
{
required: true, required: true,
message: '请输入存储状态(必填)', message: "请输入存储状态(必填)",
trigger: 'blur' trigger: "blur",
}], },
],
}; };
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 => { .catch((error) => {
console.log('error', error); console.log("error", error);
}); });
}; };
@ -362,7 +443,6 @@
}; };
return { return {
submit, submit,
cancel, cancel,
formRef, formRef,
@ -377,12 +457,12 @@
locPriority, locPriority,
labelCol: { labelCol: {
span: 8 span: 8,
}, },
wrapperCol: { wrapperCol: {
span: 12 span: 12,
}, },
}; };
}, },
}); });
</script> </script>

View File

@ -1,164 +1,206 @@
<template> <template>
<a-modal :open="visible" title="新增货位" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel" :width='1200'> <a-drawer
<a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol"> :open="visible"
<div> title="新增货位"
<page-layout> >
<a-row :gutter="[0, 0]"> <a-form
<a-col :span="24"> ref="formRef"
<a-row> :model="formState"
<a-col :span="8"> :rules="formRules"
layout="vertical"
style="padding: 0 8px"
>
<!-- <div> -->
<!-- <page-layout> -->
<a-row :gutter="[16, 0]">
<a-col :span="12">
<a-form-item ref="locCode" label="位置编号" name="locCode"> <a-form-item ref="locCode" label="位置编号" name="locCode">
<a-input v-model:value="formState.locCode" placeholder="请输入位置编号" /> <a-input
v-model:value="formState.locCode"
placeholder="请输入位置编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="locName" label="位置描述" name="locName"> <a-form-item ref="locName" label="位置描述" name="locName">
<a-input v-model:value="formState.locName" placeholder="请输入位置描述" /> <a-input
v-model:value="formState.locName"
placeholder="请输入位置描述"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="houseCode" label="仓库号" name="houseCode"> <a-form-item ref="houseCode" label="仓库号" name="houseCode">
<a-input v-model:value="formState.houseCode" placeholder="请输入仓库号" /> <a-input
v-model:value="formState.houseCode"
placeholder="请输入仓库号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="houseName" label="仓库名称" name="houseName"> <a-form-item ref="houseName" label="仓库名称" name="houseName">
<a-input v-model:value="formState.houseName" placeholder="请输入仓库名称" /> <a-input
v-model:value="formState.houseName"
placeholder="请输入仓库名称"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="parentCode" label="父编号" name="parentCode"> <a-form-item ref="parentCode" label="父编号" name="parentCode">
<a-input v-model:value="formState.parentCode" placeholder="请输入父编号" /> <a-input
v-model:value="formState.parentCode"
placeholder="请输入父编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="locRelation" label="关联位置" name="locRelation"> <a-form-item ref="locRelation" label="关联位置" name="locRelation">
<a-input v-model:value="formState.locRelation" placeholder="请输入关联位置" /> <a-input
v-model:value="formState.locRelation"
placeholder="请输入关联位置"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="locWcs" label="WCS位置编号" name="locWcs"> <a-form-item ref="locWcs" label="WCS位置编号" name="locWcs">
<a-input v-model:value="formState.locWcs" placeholder="请输入WCS位置编号" /> <a-input
v-model:value="formState.locWcs"
placeholder="请输入WCS位置编号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="位置类型" name="locType"> <a-form-item label="位置类型" name="locType">
<a-select v-model:value="formState.locType" placeholder="请选择位置类型" :options="locTypeOption"> <a-select
v-model:value="formState.locType"
placeholder="请选择位置类型"
:options="locTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="货位高矮类型" name="locHighType"> <a-form-item label="货位高矮类型" name="locHighType">
<a-select v-model:value="formState.locHighType" placeholder="请选择货位高矮类型" <a-select
:options="locHighTypeOption"> v-model:value="formState.locHighType"
placeholder="请选择货位高矮类型"
:options="locHighTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item label="货位大小" name="locSizeType"> <a-form-item label="货位大小" name="locSizeType">
<a-select v-model:value="formState.locSizeType" placeholder="请选择货位大小" :options="locSizeTypeOption"> <a-select
v-model:value="formState.locSizeType"
placeholder="请选择货位大小"
:options="locSizeTypeOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="row" label="排" name="row"> <a-form-item ref="row" label="排" name="row">
<a-input v-model:value="formState.row" placeholder="请输入排" /> <a-input v-model:value="formState.row" placeholder="请输入排" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="col" label="列" name="col"> <a-form-item ref="col" label="列" name="col">
<a-input v-model:value="formState.col" placeholder="请输入列" /> <a-input v-model:value="formState.col" placeholder="请输入列" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="layer" label="层" name="layer"> <a-form-item ref="layer" label="层" name="layer">
<a-input v-model:value="formState.layer" placeholder="请输入层" /> <a-input v-model:value="formState.layer" placeholder="请输入层" />
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="trackCode" label="巷道号" name="trackCode"> <a-form-item ref="trackCode" label="巷道号" name="trackCode">
<a-input v-model:value="formState.trackCode" placeholder="请输入巷道号" /> <a-input
v-model:value="formState.trackCode"
placeholder="请输入巷道号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="channelCode" label="通道号" name="channelCode"> <a-form-item ref="channelCode" label="通道号" name="channelCode">
<a-input v-model:value="formState.channelCode" placeholder="请输入通道号" /> <a-input
v-model:value="formState.channelCode"
placeholder="请输入通道号"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item ref="area" label="位置分区" name="area"> <a-form-item ref="area" label="位置分区" name="area">
<a-input v-model:value="formState.area" placeholder="请输入位置分区" /> <a-input
v-model:value="formState.area"
placeholder="请输入位置分区"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item ref="channelType" label="通道类型" name="channelType"> <a-form-item ref="channelType" label="通道类型" name="channelType">
<a-input v-model:value="formState.channelType" placeholder="请输入通道类型" /> <a-input
v-model:value="formState.channelType"
placeholder="请输入通道类型"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="位置状态" name="locStatus"> <a-form-item label="位置状态" name="locStatus">
<a-select v-model:value="formState.locStatus" placeholder="请选择位置状态" :options="locStatusOption"> <a-select
v-model:value="formState.locStatus"
placeholder="请选择位置状态"
:options="locStatusOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> <a-col :span="12">
<a-row>
<a-col :span="8">
<a-form-item label="存储状态" name="storeStatus"> <a-form-item label="存储状态" name="storeStatus">
<a-select v-model:value="formState.storeStatus" placeholder="请选择存储状态" :options="storeStatusOption"> <a-select
v-model:value="formState.storeStatus"
placeholder="请选择存储状态"
:options="storeStatusOption"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="优先级" name="priority"> <a-form-item label="优先级" name="priority">
<a-select v-model:value="formState.priority" placeholder="请选择优先级" :options="locPriority"> <a-select
v-model:value="formState.priority"
placeholder="请选择优先级"
:options="locPriority"
>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="8"> <a-col :span="12">
<a-form-item label="Mes工位号" name="ext1">
<a-input v-model:value="formState.ext1" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark"> <a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" /> <a-textarea v-model:value="formState.remark" />
</a-form-item> </a-form-item>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <!-- </page-layout> -->
<a-col :span="8"> <!-- </div> -->
<a-form-item label="Mes工位号" name="ext1">
<a-input v-model:value="formState.ext1" />
</a-form-item>
</a-col>
</a-row>
</a-col>
</a-row>
</page-layout>
</div>
</a-form> </a-form>
</a-modal> <template #footer>
<a-button @click="cancel"></a-button>
<a-button type="primary" @click="submit"></a-button>
</template>
</a-drawer>
</template> </template>
<script> <script>
import { import { message } from "@hwork/ant-design-vue";
message import { save } from "@/api/wms/loc";
} from '@hwork/ant-design-vue'; import { defineComponent, reactive, ref, toRaw } from "vue";
import { export default defineComponent({
save
} from "@/api/wms/loc";
import {
defineComponent,
reactive,
ref,
toRaw
} from "vue";
export default defineComponent({
props: { props: {
visible: { visible: {
type: Boolean, type: Boolean,
@ -166,163 +208,209 @@
}, },
emit: ["close"], emit: ["close"],
setup(props, context) { setup(props, context) {
const formRef = ref(); const formRef = ref();
const state = reactive({}); const state = reactive({});
const formState = reactive({}); const formState = reactive({});
const locTypeOption = ref([{ const locTypeOption = ref([
value: 'Point', {
label: '货道', value: "Point",
}, { label: "货道",
value: 'Loc', },
label: '货位', {
}, { value: "Loc",
value: 'Area', label: "货位",
label: '区域', },
}]); {
value: "Area",
label: "区域",
},
]);
const locHighTypeOption = ref([{ const locHighTypeOption = ref([
value: 'High', {
label: '高货位', value: "High",
}, { label: "高货位",
value: 'Short', },
label: '矮货位', {
}, { value: "Short",
value: 'None', label: "矮货位",
label: '不区分高矮', },
}]); {
value: "None",
label: "不区分高矮",
},
]);
const locSizeTypeOption = ref([{ const locSizeTypeOption = ref([
value: 'Big', {
label: '大货位', value: "Big",
}, { label: "大货位",
value: 'Small', },
label: '小货位', {
}, { value: "Small",
value: 'None', label: "小货位",
label: '不区分大小', },
}]); {
value: "None",
label: "不区分大小",
},
]);
const locStatusOption = ref([{ const locStatusOption = ref([
value: 'Normal', {
label: '正常', value: "Normal",
}, { label: "正常",
value: 'NoIn', },
label: '禁入', {
}, { value: "NoIn",
value: 'NoOut', label: "禁入",
label: '禁出', },
}, { {
value: 'Freeze', value: "NoOut",
label: '冻结', label: "禁出",
}]); },
{
value: "Freeze",
label: "冻结",
},
]);
const storeStatusOption = ref([{ const storeStatusOption = ref([
value: 'Free', {
label: '空闲', value: "Free",
}, { label: "空闲",
value: 'Load', },
label: '载货', {
}, { value: "Load",
value: 'DoIn', label: "载货",
label: '预入', },
}, { {
value: 'DoOut', value: "DoIn",
label: '预出', label: "预入",
}, { },
value: 'Fault', {
label: '故障', value: "DoOut",
}]); label: "预出",
},
{
value: "Fault",
label: "故障",
},
]);
const locPriority = ref([{ const locPriority = ref([
value: '2', {
label: '高', value: "2",
}, { label: "高",
value: '1', },
label: '中', {
}, { value: "1",
value: '0', label: "中",
label: '低', },
}]); {
value: "0",
label: "低",
},
]);
const formRules = { const formRules = {
locCode: [{ locCode: [
{
required: true, required: true,
message: '请输入locCode(必填)', message: "请输入locCode(必填)",
trigger: 'blur' trigger: "blur",
}], },
locName: [{ ],
locName: [
{
required: true, required: true,
message: '请输入位置描述(必填)', message: "请输入位置描述(必填)",
trigger: 'blur' trigger: "blur",
}], },
parentCode: [{ ],
parentCode: [
{
required: true, required: true,
message: '请输入父编号(必填)', message: "请输入父编号(必填)",
trigger: 'blur' trigger: "blur",
}], },
locDcs: [{ ],
locDcs: [
{
required: true, required: true,
message: '请输入WCS位置编号(必填)', message: "请输入WCS位置编号(必填)",
trigger: 'blur' trigger: "blur",
}], },
locType: [{ ],
locType: [
{
required: true, required: true,
message: '请选择位置类型(必选)', message: "请选择位置类型(必选)",
trigger: 'blur' trigger: "blur",
}], },
channelType: [{ ],
channelType: [
{
required: true, required: true,
message: '请输入通道类型(必填)', message: "请输入通道类型(必填)",
trigger: 'blur' trigger: "blur",
}], },
locStatus: [{ ],
locStatus: [
{
required: true, required: true,
message: '请选择位置状态(必选)', message: "请选择位置状态(必选)",
trigger: 'blur' trigger: "blur",
}], },
storeStatus: [{ ],
storeStatus: [
{
required: true, required: true,
message: '请选择存储状态(必选)', message: "请选择存储状态(必选)",
trigger: 'blur' trigger: "blur",
}], },
],
}; };
const saveKey = "save"; const saveKey = "save";
const submit = (e) => { const submit = (e) => {
message.loading({ message.loading({
content: '提交中...', content: "提交中...",
key: saveKey key: saveKey,
}); });
formRef.value formRef.value
.validate() .validate()
.then(() => { .then(() => {
save(toRaw(formState)).then((response) => { save(toRaw(formState)).then((response) => {
if (response.success) { if (response.success) {
message.success({ message
content: '保存成功', .success({
content: "保存成功",
key: saveKey, key: saveKey,
duration: 1 duration: 1,
}).then(() => { })
.then(() => {
cancel(); cancel();
}); });
} else { } else {
message.error({ message
.error({
content: response.msg, content: response.msg,
key: saveKey, key: saveKey,
duration: 1 duration: 1,
}).then(() => { })
.then(() => {
// cancel(); // cancel();
}); });
} }
}); });
}) })
.catch(error => { .catch((error) => {
console.log('error', error); console.log("error", error);
}); });
}; };
@ -347,12 +435,12 @@
locPriority, locPriority,
labelCol: { labelCol: {
span: 8 span: 8,
}, },
wrapperCol: { wrapperCol: {
span: 12 span: 12,
}, },
}; };
}, },
}); });
</script> </script>