fix: 第一版普遍修复完成。
This commit is contained in:
@@ -30,6 +30,7 @@ const removeUrl = "/purchase/purchaseplan/deletePurchasePlan";
|
||||
const getItemsUrl = "/purchase/purchaseplan/getPurchasePlanItemsWithVendorSuggestions";
|
||||
const generateOrderUrl = "/purchase/purchaseplan/generatePurchaseOrder";
|
||||
const getItemUrl = "/purchase/purchaseplan/getPurchasePlanItems";
|
||||
const partNumberExistsUrl = "/warehouse/warehouseitem/existsWarehouseItem";
|
||||
const searchers = [
|
||||
{ name: "searchCode", type: "text" as const, placeholder: $t("_prop.purchase.purchase_plan.searchCode") },
|
||||
];
|
||||
@@ -53,6 +54,28 @@ const rules = reactive<FormRules>({
|
||||
],
|
||||
});
|
||||
const itemArrayName = "planItems";
|
||||
|
||||
/**
|
||||
* 验证物料编号是否存在
|
||||
*/
|
||||
const validatePartNumber = (rule: any, value: string, callback: (error?: Error) => void) => {
|
||||
if (!value) {
|
||||
callback(new Error($t("_message.purchase.purchase_plan_item.input_partNumber")));
|
||||
return;
|
||||
}
|
||||
get(partNumberExistsUrl, { partNumber: value })
|
||||
.then(res => {
|
||||
if (res.data === true) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error($t("_message.warehouse.warehouse_item.not_exist_partNumber")));
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
callback();
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 基本不变通用变量
|
||||
*/
|
||||
@@ -445,8 +468,6 @@ const mappingConfig: FieldMappingConfig = {
|
||||
<BaseSelect
|
||||
v-model="form.vendorId"
|
||||
:url="'/sys/vendor/getVendorList'"
|
||||
name="id"
|
||||
label="vendorName"
|
||||
:placeholder="$t('_message.purchase.purchase_plan.select_vendor')"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -455,9 +476,7 @@ const mappingConfig: FieldMappingConfig = {
|
||||
<el-form-item :label="$t('_prop.purchase.purchase_plan.storeName')" prop="storeNo">
|
||||
<BaseSelect
|
||||
v-model="form.storeNo"
|
||||
:url="'/warehouse/store/getStoreList'"
|
||||
name="storeNo"
|
||||
label="storeName"
|
||||
:url="'/warehouse/warehouse/getWarehouseSelectList'"
|
||||
:placeholder="$t('_message.purchase.purchase_plan.select_store')"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -477,9 +496,7 @@ const mappingConfig: FieldMappingConfig = {
|
||||
<template #default="{ row, $index }">
|
||||
<el-form-item
|
||||
:prop="`${itemArrayName}.${$index}.partNumber`"
|
||||
:rules="[
|
||||
{ required: true, message: $t('_message.purchase.purchase_plan_item.input_partNumber'), trigger: 'blur' },
|
||||
]"
|
||||
:rules="[{ required: true, validator: validatePartNumber, trigger: 'blur' }]"
|
||||
>
|
||||
<el-input v-model="row.partNumber" size="small" />
|
||||
</el-form-item>
|
||||
|
||||
Reference in New Issue
Block a user