Compare commits

..

No commits in common. "cf2d0c8d00bf61cf730f55c092932580bf4b5e5e" and "d92a44e67f195ad2964f584143985e102ac96053" have entirely different histories.

8 changed files with 698 additions and 920 deletions

View File

@ -11,9 +11,9 @@
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
layout="vertical" :label-col="labelCol"
:wrapper-col="wrapperCol"
> >
<a-col :span="24">
<a-form-item ref="name" label="名称" name="name"> <a-form-item ref="name" label="名称" name="name">
<a-input v-model:value="formState.name" /> <a-input v-model:value="formState.name" />
</a-form-item> </a-form-item>
@ -32,7 +32,6 @@
<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-form> </a-form>
</a-modal> </a-modal>
</template> </template>

View File

@ -8,31 +8,30 @@
@cancel="cancel" @cancel="cancel"
> >
<a-form <a-form
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
layout="vertical" :label-col="labelCol"
:wrapper-col="wrapperCol"
> >
<a-col :span="24"> <a-form-item ref="name" label="名称" name="name">
<a-form-item ref="name" label="名称" name="name"> <a-input v-model:value="formState.name" />
<a-input v-model:value="formState.name" /> </a-form-item>
</a-form-item> <a-form-item ref="beanName" label="目标" name="beanName">
<a-form-item ref="beanName" label="目标" name="beanName"> <a-input v-model:value="formState.beanName" />
<a-input v-model:value="formState.beanName" /> </a-form-item>
</a-form-item> <a-form-item ref="param" label="参数" name="param">
<a-form-item ref="param" label="参数" name="param"> <a-input v-model:value="formState.param" />
<a-input v-model:value="formState.param" /> </a-form-item>
</a-form-item> <a-form-item ref="cronExpression" label="cron" name="cronExpression">
<a-form-item ref="cronExpression" label="cron" name="cronExpression"> <a-input v-model:value="formState.cronExpression" />
<a-input v-model:value="formState.cronExpression" /> </a-form-item>
</a-form-item> <a-form-item label="状态" name="enable">
<a-form-item label="状态" name="enable"> <a-switch v-model:checked="formState.enable" />
<a-switch v-model:checked="formState.enable" /> </a-form-item>
</a-form-item> <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-form> </a-form>
</a-modal> </a-modal>
</template> </template>
@ -45,25 +44,26 @@ export default defineComponent({
}, },
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({});
watch(props, (props) => { watch(props, (props) => {
formState.id = props.record.id; formState.id = props.record.id
formState.name = props.record.name; formState.name = props.record.name
formState.beanName = props.record.beanName; formState.beanName = props.record.beanName
formState.param = props.record.param; formState.param = props.record.param
formState.cronExpression = props.record.cronExpression; formState.cronExpression = props.record.cronExpression
formState.remark = props.record.remark; formState.remark = props.record.remark
formState.enable = props.record.enable; formState.enable = props.record.enable
}); })
const formRules = {}; const formRules = { };
const submit = (e) => { const submit = (e) => {
formRef.value.resetFields(); formRef.value.resetFields();

View File

@ -8,109 +8,86 @@
@cancel="cancel" @cancel="cancel"
> >
<a-form <a-form
ref="formRef" ref="formRef"
:model="formState" :model="formState"
:rules="formRules" :rules="formRules"
layout="vertical" :label-col="labelCol"
:wrapper-col="wrapperCol"
> >
<a-row :gutter="[16, 0]"> <a-form-item ref="name" label="名称" name="name">
<a-col :span="24"> <a-input v-model:value="formState.name" />
<a-form-item ref="name" label="名称" name="name"> </a-form-item>
<a-input v-model:value="formState.name" /> <a-form-item ref="beanName" label="目标" name="beanName">
</a-form-item> <a-input v-model:value="formState.beanName" />
</a-col> </a-form-item>
<a-col :span="24"> <a-form-item ref="param" label="参数" name="param">
<a-form-item ref="beanName" label="目标" name="beanName"> <a-input v-model:value="formState.param" />
<a-input v-model:value="formState.beanName" /> </a-form-item>
</a-form-item> <a-form-item ref="cronExpression" label="cron" name="cronExpression">
</a-col> <cron @onChange="(val)=>{formState.cronExpression = val}"/>
<a-col :span="24"> </a-form-item>
<a-form-item ref="param" label="参数" name="param"> <a-form-item label="状态" name="enable">
<a-input v-model:value="formState.param" /> <a-switch v-model:checked="formState.enable" />
</a-form-item> </a-form-item>
</a-col> <a-form-item label="备注" name="remark">
<a-col :span="24"> <a-textarea v-model:value="formState.remark" />
<a-form-item ref="cronExpression" label="cron" name="cronExpression"> </a-form-item>
<cron
@onChange="
(val) => {
formState.cronExpression = val;
}
"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="状态" name="enable">
<a-switch v-model:checked="formState.enable" />
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { message } from "@hwork/ant-design-vue"; import {message} from '@hwork/ant-design-vue';
import { save } from "@/api/module/job"; import {save} from "@/api/module/job";
import { defineComponent, reactive, ref, toRaw } from "vue"; import {defineComponent, reactive, ref, toRaw} from "vue";
import cron from "../cron/index.vue"; import cron from "../cron/index.vue";
export default defineComponent({ export default defineComponent({
components: { components: {
cron, cron
},
props: {
visible: {
type: Boolean,
}, },
}, props: {
emit: ["close"], visible: {
setup(props, context) { type: Boolean,
const formRef = ref(); },
},
emit: ["close"],
setup(props, context) {
const formState = reactive({ const formRef = ref();
enable: true,
cronExpression: "* * * * * ? *",
});
const formRules = { const formState = reactive({
name: [{ required: true, message: "请输入任务名称", trigger: "blur" }], enable: true,
beanName: [ cronExpression: "* * * * * ? *",
{ required: true, message: "请输入任务目标", trigger: "blur" }, });
],
cronExpression: [{ required: true, message: "请输入任务周期" }],
};
const saveKey = "save"; const formRules = {
name: [{required: true, message: '请输入任务名称', trigger: 'blur'}],
beanName: [{required: true, message: '请输入任务目标', trigger: 'blur'}],
cronExpression: [{required: true, message: '请输入任务周期'}]
};
const submit = (e) => { const saveKey = "save";
formRef.value
.validate() const submit = (e) => {
.then(() => {
message.loading({ content: "提交中...", key: saveKey }); formRef.value
save(toRaw(formState)).then((response) => { .validate()
if (response.success) { .then(() => {
message message.loading({content: '提交中...', key: saveKey});
.success({ content: "保存成功", key: saveKey, duration: 1 }) save(toRaw(formState)).then((response) => {
.then(() => { if (response.success) {
message.success({content: '保存成功', key: saveKey, duration: 1}).then(() => {
cancel(); cancel();
}); });
} else { } else {
message message.success({content: '保存失败', key: saveKey, duration: 1}).then(() => {
.success({ content: "保存失败", key: saveKey, duration: 1 })
.then(() => {
cancel(); cancel();
}); });
} }
}); });
}) })
.catch((error) => { .catch(error => {
console.log("error", error); console.log('error', error);
}); });
}; };

View File

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

View File

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

View File

@ -1,179 +1,138 @@
<template> <template>
<a-modal <a-modal :open="visible" title="修改" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel">
:open="visible" <a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol">
title="修改" <a-form-item ref="categoryCode" label="种类编号" name="categoryCode">
cancelText="取消" <a-input v-model:value="formState.categoryCode" placeholder="请输入种类编号"/>
okText="提交" </a-form-item>
@ok="submit" <a-form-item ref="categoryName" label="种类名称" name="categoryName">
@cancel="cancel" <a-input v-model:value="formState.categoryName" placeholder="请输入种类名称"/>
> </a-form-item>
<a-form <a-form-item ref="categoryDesc" label="种类描述" name="categoryDesc">
ref="formRef" <a-input v-model:value="formState.categoryDesc" placeholder="请输入种类描述"/>
:model="formState" </a-form-item>
:rules="formRules" <a-form-item ref="treeLevel" label="树层级" name="treeLevel">
layout="vertical" <a-input v-model:value="formState.treeLevel" placeholder="请输入树层级"/>
> </a-form-item>
<a-row :gutter="[16, 0]"> <a-form-item ref="treeCode" label="树编号" name="treeCode">
<a-col :span="12"> <a-input v-model:value="formState.treeCode" placeholder="请输入树编号"/>
<a-form-item ref="categoryCode" label="种类编号" name="categoryCode"> </a-form-item>
<a-input <a-form-item ref="isActive" label="是否有效" name="isActive">
v-model:value="formState.categoryCode" <a-select v-model:value="formState.isActive" :options="skuCategoryIsActive" laceholder="请选择是否有效"/>
placeholder="请输入种类编号" </a-form-item>
/> <a-form-item label="备注" name="remark">
</a-form-item> <a-textarea v-model:value="formState.remark" />
</a-col> </a-form-item>
<a-col :span="12">
<a-form-item ref="categoryName" label="种类名称" name="categoryName">
<a-input
v-model:value="formState.categoryName"
placeholder="请输入种类名称"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="categoryDesc" label="种类描述" name="categoryDesc">
<a-input
v-model:value="formState.categoryDesc"
placeholder="请输入种类描述"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="treeLevel" label="树层级" name="treeLevel">
<a-input
v-model:value="formState.treeLevel"
placeholder="请输入树层级"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="treeCode" label="树编号" name="treeCode">
<a-input
v-model:value="formState.treeCode"
placeholder="请输入树编号"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="isActive" label="是否有效" name="isActive">
<a-select
v-model:value="formState.isActive"
:options="skuCategoryIsActive"
laceholder="请选择是否有效"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { message } from "@hwork/ant-design-vue"; import {
import { edit } from "@/api/wms/skuCategory"; message
import { defineComponent, reactive, ref, toRaw, watch } from "vue"; } from '@hwork/ant-design-vue';
export default defineComponent({ import {
props: { edit
visible: { } from "@/api/wms/skuCategory";
type: Boolean, import {
}, defineComponent,
record: { reactive,
type: Object, ref,
}, toRaw,
}, watch
emit: ["close"], } from "vue";
setup(props, context) { export default defineComponent({
const formRef = ref(); props: {
visible: {
const formState = reactive({}); type: Boolean,
const skuCategoryIsActive = ref([
{
value: "1",
label: "是",
}, },
{ record: {
value: "0", type: Object,
label: "否", }
}, },
]); emit: ["close"],
setup(props, context) {
watch(props, (props) => { const formRef = ref();
formState.id = props.record.id;
formState.categoryName = props.record.categoryName;
formState.categoryDesc = props.record.categoryDesc;
formState.categoryCode = props.record.categoryCode;
formState.treeLevel = props.record.treeLevel;
formState.treeCode = props.record.treeCode;
formState.fullTreeCode = props.record.fullTreeCode;
formState.isActive = props.record.isActive;
formState.remark = props.record.remark;
});
const formRules = {}; const formState = reactive({});
const skuCategoryIsActive = ref([{
value: '1',
label: '是',
}, {
value: '0',
label: '否',
}, ]);
const editKey = "add"; watch(props, (props) => {
formState.id = props.record.id
formState.categoryName = props.record.categoryName
formState.categoryDesc = props.record.categoryDesc
formState.categoryCode = props.record.categoryCode
formState.treeLevel = props.record.treeLevel
formState.treeCode = props.record.treeCode
formState.fullTreeCode = props.record.fullTreeCode
formState.isActive = props.record.isActive
formState.remark = props.record.remark
})
const submit = (e) => { const formRules = {
message.loading({ };
content: "提交中...",
key: editKey, const editKey = "add";
});
formRef.value const submit = (e) => {
.validate() message.loading({
.then(() => { content: '提交中...',
edit(toRaw(formState)).then((response) => { key: editKey
if (response.success) {
message
.success({
content: "保存成功",
key: editKey,
duration: 1,
})
.then(() => {
cancel();
});
} else {
message
.success({
content: "保存失败",
key: editKey,
duration: 1,
})
.then(() => {
cancel();
});
}
});
})
.catch((error) => {
console.log("error", error);
}); });
}; formRef.value
.validate()
.then(() => {
edit(toRaw(formState)).then((response) => {
if (response.success) {
message.success({
content: '保存成功',
key: editKey,
duration: 1
}).then(() => {
cancel();
});
} else {
message.success({
content: '保存失败',
key: editKey,
duration: 1
}).then(() => {
cancel();
});
}
});
})
.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 {
submit,
cancel,
formRef,
formState,
formRules,
skuCategoryIsActive,
labelCol: { submit,
span: 8, cancel,
}, formRef,
wrapperCol: { formState,
span: 12, formRules,
}, skuCategoryIsActive,
};
}, labelCol: {
}); span: 8
},
wrapperCol: {
span: 12
},
};
},
});
</script> </script>

View File

@ -1,215 +1,157 @@
<template> <template>
<a-modal <a-modal :open="visible" title="新增" cancelText="取消" okText="提交" @ok="submit" @cancel="cancel">
:open="visible" <a-form ref="formRef" :model="formState" :rules="formRules" :label-col="labelCol" :wrapper-col="wrapperCol">
title="新增" <a-form-item ref="categoryCode" label="种类编号" name="categoryCode">
cancelText="取消" <a-input v-model:value="formState.categoryCode" placeholder="请输入种类编号" />
okText="提交" </a-form-item>
@ok="submit" <a-form-item ref="categoryName" label="种类名称" name="categoryName">
@cancel="cancel" <a-input v-model:value="formState.categoryName" placeholder="请输入种类名称" />
> </a-form-item>
<a-form <a-form-item ref="categoryDesc" label="种类描述" name="categoryDesc">
ref="formRef" <a-input v-model:value="formState.categoryDesc" placeholder="请输入种类描述" />
:model="formState" </a-form-item>
:rules="formRules" <a-form-item ref="treeLevel" label="树层级" name="treeLevel">
layout="vertical" <a-input v-model:value="formState.treeLevel" placeholder="请输入树层级" />
> </a-form-item>
<a-row :gutter="[16, 0]"> <a-form-item ref="treeCode" label="树编号" name="treeCode">
<a-col :span="12"> <a-input v-model:value="formState.treeCode" placeholder="请输入树编号" />
<a-form-item ref="categoryCode" label="种类编号" name="categoryCode"> </a-form-item>
<a-input <a-form-item ref="isActive" label="是否有效" name="isActive">
v-model:value="formState.categoryCode" <a-select v-model:value="formState.isActive" :options="skuCategoryIsActive" :disabled="false" placeholder="请选择是否有效" />
placeholder="请输入种类编号" </a-form-item>
/> <a-form-item label="备注" name="remark">
</a-form-item> <a-textarea v-model:value="formState.remark"/>
</a-col> </a-form-item>
<a-col :span="12">
<a-form-item ref="categoryName" label="种类名称" name="categoryName">
<a-input
v-model:value="formState.categoryName"
placeholder="请输入种类名称"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="categoryDesc" label="种类描述" name="categoryDesc">
<a-input
v-model:value="formState.categoryDesc"
placeholder="请输入种类描述"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="treeLevel" label="树层级" name="treeLevel">
<a-input
v-model:value="formState.treeLevel"
placeholder="请输入树层级"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="treeCode" label="树编号" name="treeCode">
<a-input
v-model:value="formState.treeCode"
placeholder="请输入树编号"
/>
</a-form-item>
</a-col>
<a-col :span="12">
<a-form-item ref="isActive" label="是否有效" name="isActive">
<a-select
v-model:value="formState.isActive"
:options="skuCategoryIsActive"
:disabled="false"
placeholder="请选择是否有效"
/>
</a-form-item>
</a-col>
<a-col :span="24">
<a-form-item label="备注" name="remark">
<a-textarea v-model:value="formState.remark" />
</a-form-item>
</a-col>
</a-row>
</a-form> </a-form>
</a-modal> </a-modal>
</template> </template>
<script> <script>
import { message } from "@hwork/ant-design-vue"; import {
import { save } from "@/api/wms/skuCategory"; message
} from '@hwork/ant-design-vue';
import {
save
} from "@/api/wms/skuCategory";
import { defineComponent, reactive, ref, toRaw } from "vue"; import {
export default defineComponent({ defineComponent,
props: { reactive,
visible: { ref,
type: Boolean, toRaw
} from "vue";
export default defineComponent({
props: {
visible: {
type: Boolean,
},
}, },
}, emit: ["close"],
emit: ["close"], setup(props, context) {
setup(props, context) {
const formRef = ref();
const formState = reactive({ const formRef = ref();
isActive: "1",
});
const skuCategoryIsActive = ref([ const formState = reactive({
{ isActive: "1",
value: "1",
label: "是",
},
]);
const formRules = {
categoryCode: [
{
required: true,
message: "请输入种类编号",
trigger: "blur",
},
],
categoryName: [
{
required: true,
message: "请输入种类名称",
trigger: "blur",
},
],
categoryDesc: [
{
required: true,
message: "请输入种类描述",
trigger: "blur",
},
],
treeLevel: [
{
required: true,
message: "请输入树层级",
trigger: "blur",
},
],
treeCode: [
{
required: true,
message: "请输入树编号",
trigger: "blur",
},
],
fullTreeCode: [
{
required: true,
message: "请输入全树编号",
trigger: "blur",
},
],
isActive: [
{
required: true,
message: "是否有效",
trigger: "blur",
},
],
};
const saveKey = "save";
const submit = (e) => {
message.loading({
content: "提交中...",
key: saveKey,
}); });
formRef.value
.validate() const skuCategoryIsActive = ref([{
.then(() => { value: '1',
save(toRaw(formState)).then((response) => { label: '是',
if (response.success) { }]);
message
.success({ const formRules = {
content: "保存成功", categoryCode: [{
key: saveKey, required: true,
duration: 1, message: '请输入种类编号',
}) trigger: 'blur'
.then(() => { }],
cancel(); categoryName: [{
}); required: true,
} else { message: '请输入种类名称',
message trigger: 'blur'
.success({ }],
content: "保存失败", categoryDesc: [{
key: saveKey, required: true,
duration: 1, message: '请输入种类描述',
}) trigger: 'blur'
.then(() => { }],
cancel(); treeLevel: [{
}); required: true,
} message: '请输入树层级',
}); trigger: 'blur'
}) }],
.catch((error) => { treeCode: [{
console.log("error", error); required: true,
message: '请输入树编号',
trigger: 'blur'
}],
fullTreeCode: [{
required: true,
message: '请输入全树编号',
trigger: 'blur'
}],
isActive: [{
required: true,
message: '是否有效',
trigger: 'blur'
}],
};
const saveKey = "save";
const submit = (e) => {
message.loading({
content: '提交中...',
key: saveKey
}); });
}; formRef.value
.validate()
.then(() => {
save(toRaw(formState)).then((response) => {
if (response.success) {
message.success({
content: '保存成功',
key: saveKey,
duration: 1
}).then(() => {
cancel();
});
} else {
message.success({
content: '保存失败',
key: saveKey,
duration: 1
}).then(() => {
cancel();
});
}
});
})
.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 {
submit, submit,
cancel, cancel,
formRef, formRef,
formState, formState,
formRules, formRules,
skuCategoryIsActive, skuCategoryIsActive,
labelCol: { labelCol: {
span: 8, span: 8
}, },
wrapperCol: { wrapperCol: {
span: 12, span: 12
}, },
}; };
}, },
}); });
</script> </script>

View File

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