feat(recordInbound): 完善入库记录表单验证和字段配置

- 替换物料编码输入组件为禁用状态的文本输入框
- 为表单添加验证规则和字段名配置
- 添加提交按钮并实现表单验证功能
- 清理无用代码和注释
This commit is contained in:
Tom
2026-01-17 10:24:14 +08:00
parent 1510688772
commit 1d5c8878e1

View File

@@ -14,18 +14,24 @@
<uni-forms
ref="baseForm"
:modelValue="baseFormData"
:rules="valiFormData"
label-position="top"
label-width="120"
>
<uni-forms-item label="物料编码" required>
<uni-combox
<uni-forms-item label="物料编码" name="materialCode" required>
<!-- <uni-combox
:candidates="candidates"
placeholder="请选择物料编码"
v-model="baseFormData.materialCode"
></uni-combox>
></uni-combox> -->
<uni-easyinput
v-model="baseFormData.materialName"
placeholder="请输入物料编码"
:disabled="true"
/>
</uni-forms-item>
<uni-forms-item label="物料名称" required>
<uni-forms-item label="物料名称" name="materialName">
<uni-easyinput
v-model="baseFormData.materialName"
placeholder="请输入物料名称"
@@ -33,15 +39,15 @@
/>
</uni-forms-item>
<uni-forms-item label="标号" required>
<uni-forms-item label="标号" name="type">
<uni-easyinput
v-model="baseFormData.label"
v-model="baseFormData.type"
placeholder="请输入标号"
:disabled="true"
/>
</uni-forms-item>
<uni-forms-item label="供应商名称" required>
<uni-forms-item label="供应商名称" name="supplierName">
<uni-easyinput
v-model="baseFormData.supplierName"
placeholder="请输入供应商名称"
@@ -49,14 +55,14 @@
/>
</uni-forms-item>
<uni-forms-item label="库位编码" required>
<uni-forms-item label="库位编码" name="locationCode" required>
<uni-easyinput
v-model="baseFormData.locationCode"
placeholder="请输入库位编码"
/>
</uni-forms-item>
<uni-forms-item label="库位名称" required>
<uni-forms-item label="库位名称" name="locationName">
<uni-easyinput
v-model="baseFormData.locationName"
placeholder="请输入库位名称"
@@ -64,7 +70,7 @@
/>
</uni-forms-item>
<uni-forms-item label="仓库编码" required>
<uni-forms-item label="仓库编码" name="warehouseCode" required>
<uni-easyinput
v-model="baseFormData.warehouseCode"
placeholder="请输入仓库编码"
@@ -72,41 +78,42 @@
/>
</uni-forms-item>
<uni-forms-item label="入库类型" required>
<uni-forms-item label="入库类型" name="transportType" required>
<uni-easyinput
v-model="baseFormData.transportType"
placeholder="请输入入库类型"
/>
</uni-forms-item>
<uni-forms-item label="入库数量" required>
<uni-forms-item label="入库数量" name="quantity" required>
<uni-easyinput
v-model="baseFormData.quantity"
placeholder="请输入入库数量"
/>
</uni-forms-item>
<uni-forms-item label="批次号" required>
<uni-forms-item label="批次号" name="batchNo" required>
<uni-easyinput
v-model="baseFormData.batchNo"
placeholder="请输入批次号"
/>
</uni-forms-item>
<uni-forms-item label="炉号" required>
<uni-forms-item label="炉号" name="ovenNo">
<uni-easyinput
v-model="baseFormData.ovenNo"
placeholder="请输入炉号"
/>
</uni-forms-item>
<uni-forms-item label="操作员" required>
<uni-forms-item label="操作员" name="operator">
<uni-easyinput
v-model="baseFormData.operator"
placeholder="请输入操作员"
/>
</uni-forms-item>
</uni-forms>
<button type="primary" @click="submit('customForm')">提交</button>
</view>
</uni-section>
</view>
@@ -119,88 +126,100 @@ export default {
return {
// 基础表单数据
baseFormData: {
name: "",
age: "",
introduction: "",
sex: 2,
hobby: [5],
datetimesingle: 1627529992399,
materialCode: "",
materialName: "",
type: "",
transportType: "",
supplierName: "",
locationCode: "",
locationName: "",
warehouseCode: "",
quantity: null,
batchNo: "",
stoveCode: "",
operator: "",
},
// 校验表单数据
valiFormData: {
name: "",
age: "",
introduction: "",
materialCode: "",
locationCode: "",
warehouseCode: "",
transportType: "",
quantity: "",
batchNo: "",
},
// 校验规则
rules: {
name: {
materialCode: {
rules: [
{
required: true,
errorMessage: "姓名不能为空",
errorMessage: "物料编码不能为空",
},
],
},
age: {
locationCode: {
rules: [
{
required: true,
errorMessage: "年龄不能为空",
errorMessage: "库位编码不能为空",
},
],
},
warehouseCode: {
rules: [
{
required: true,
errorMessage: "仓库编码不能为空",
},
],
},
transportType: {
rules: [
{
required: true,
errorMessage: "入库类型不能为空",
},
],
},
quantity: {
rules: [
{
required: true,
errorMessage: "入库数量不能为空",
},
{
format: "number",
errorMessage: "年龄只能输入数字",
errorMessage: "入库数量只能输入数字",
},
],
},
batchNo: {
rules: [
{
required: true,
errorMessage: "批次号不能为空",
},
],
},
},
candidates: ['北京', '南京', '东京', '武汉', '天津', '上海', '海口'],
// candidates: ['北京', '南京', '东京', '武汉', '天津', '上海', '海口'],
};
},
computed: {
// 处理表单排列切换
alignment() {
if (this.current === 0) return "left";
if (this.current === 1) return "top";
return "left";
},
},
computed: {},
onLoad() {},
onReady() {},
methods: {
onClickItem(e) {
console.log(e);
this.current = e.currentIndex;
},
add() {
this.dynamicLists.push({
label: "域名",
rules: [
{
required: true,
errorMessage: "域名项必填",
},
],
id: Date.now(),
});
},
del(id) {
let index = this.dynamicLists.findIndex((v) => v.id === id);
this.dynamicLists.splice(index, 1);
},
// 提交表单
submit(ref) {
this.$refs[ref]
this.$refs.baseForm
.validate()
.then((res) => {
console.log("success", res);
uni.showToast({
title: `校验通过`,
});
console.log("表单数据信息:", res);
})
.catch((err) => {
console.log("err", err);
console.log("表单错误信息:", err);
});
},
},