|
@@ -30,16 +30,22 @@ const formData = reactive({
|
|
|
data: {},
|
|
|
});
|
|
|
const rules = {
|
|
|
- qualifiedCount: [
|
|
|
+ warehouseId: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: proxy.t("inventoryCount.qualityQualifiedCanNotBeEmpty"),
|
|
|
+ message: proxy.t("inventoryCount.inventoryWarehouseCanNotBeEmpty"),
|
|
|
},
|
|
|
],
|
|
|
- noQualifiedCount: [
|
|
|
+ productId: [
|
|
|
{
|
|
|
required: true,
|
|
|
- message: proxy.t("inventoryCount.qualityUnQualifiedCanNotBeEmpty"),
|
|
|
+ message: proxy.t("inventoryCount.goodsNameCanNotBeEmpty"),
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ checkQuantity: [
|
|
|
+ {
|
|
|
+ required: true,
|
|
|
+ message: proxy.t("inventoryCount.inventoryNumberCanNotBeEmpty"),
|
|
|
},
|
|
|
],
|
|
|
};
|
|
@@ -50,6 +56,7 @@ const formOption = reactive({
|
|
|
scroll: true,
|
|
|
labelWidth: "62pk",
|
|
|
submitBtnText: proxy.t("common.submit"),
|
|
|
+ hiddenSubmitBtn: false,
|
|
|
btnConfig: {
|
|
|
isNeed: true,
|
|
|
label: proxy.t("common.details"),
|
|
@@ -69,13 +76,13 @@ const formOption = reactive({
|
|
|
},
|
|
|
data: [],
|
|
|
changeFn: function (option, item, index, currentSonIndex) {
|
|
|
- console.log(option, item, index, currentSonIndex, "ww");
|
|
|
formData.data.list[index][item.prop] = option.selectedOptions[0].id;
|
|
|
formData.data.list[index][item.prop + "Name"] =
|
|
|
option.selectedOptions[0].name;
|
|
|
formDom.value.btnConfigCopy.listConfig[
|
|
|
currentSonIndex
|
|
|
].showPicker = false;
|
|
|
+ getStokeQuantity();
|
|
|
},
|
|
|
},
|
|
|
{
|
|
@@ -89,7 +96,7 @@ const formOption = reactive({
|
|
|
type: "input",
|
|
|
itemType: "number",
|
|
|
label: proxy.t("inventoryCount.inventoryNumber"),
|
|
|
- prop: "quantity",
|
|
|
+ prop: "checkQuantity",
|
|
|
readonly: false,
|
|
|
},
|
|
|
],
|
|
@@ -129,6 +136,7 @@ const formConfig = reactive([
|
|
|
formData.data[item.prop] = option.selectedOptions[0].id;
|
|
|
formData.data[item.prop + "Name"] = option.selectedOptions[0].name;
|
|
|
formConfig[index].showPicker = false;
|
|
|
+ getStokeQuantity();
|
|
|
},
|
|
|
},
|
|
|
]);
|
|
@@ -145,56 +153,59 @@ const getDict = () => {
|
|
|
productData.value = res.data.rows;
|
|
|
});
|
|
|
};
|
|
|
+const getStokeQuantity = () => {
|
|
|
+ if (
|
|
|
+ formData.data.warehouseId &&
|
|
|
+ formData.data.list &&
|
|
|
+ formData.data.list.length > 0
|
|
|
+ ) {
|
|
|
+ let arr = [];
|
|
|
+ arr = formData.data.list.map((x) => x.productId);
|
|
|
+ if (arr.length > 0) {
|
|
|
+ proxy
|
|
|
+ .post("/stock/pageByWarehouse", {
|
|
|
+ id: formData.data.warehouseId,
|
|
|
+ productIds: arr,
|
|
|
+ })
|
|
|
+ .then((res) => {
|
|
|
+ for (let i = 0; i < formData.data.list.length; i++) {
|
|
|
+ const e = formData.data.list[i];
|
|
|
+ const current = res.data.rows.find(
|
|
|
+ (x) => x.productId === e.productId
|
|
|
+ );
|
|
|
+ if (current) {
|
|
|
+ e.quantity = current.quantity;
|
|
|
+ } else {
|
|
|
+ e.quantity = "0";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|
|
|
onMounted(() => {
|
|
|
getDict();
|
|
|
if (route.query && route.query.id) {
|
|
|
+ formOption.hiddenSubmitBtn = true;
|
|
|
+ formOption.btnConfig.isNeed = false;
|
|
|
proxy.post("/stockCheck/detail", { id: route.query.id }).then((res) => {
|
|
|
- console.log(res, "aaa");
|
|
|
+ formData.data = res.data;
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
const onSubmit = () => {
|
|
|
- let data = { ...formData.data };
|
|
|
- if (Number(data.qualifiedCount) + Number(data.noQualifiedCount) > 0) {
|
|
|
- if (
|
|
|
- Number(data.qualifiedCount) +
|
|
|
- Number(data.noQualifiedCount) +
|
|
|
- Number(data.sumQualityCount) >
|
|
|
- Number(data.count)
|
|
|
- ) {
|
|
|
- return showFailToast(
|
|
|
- proxy.t(
|
|
|
- "inventoryCount.qualityInspectionQuantityNotBeGreaterThanArrivalNumber"
|
|
|
- )
|
|
|
- );
|
|
|
- } else {
|
|
|
- let obj = {
|
|
|
- arrivalDetailId: data.arrivalDetailId,
|
|
|
- qualifiedCount: data.qualifiedCount,
|
|
|
- noQualifiedCount: data.noQualifiedCount,
|
|
|
- };
|
|
|
- delete data.arrivalDetailId;
|
|
|
- delete data.qualifiedCount;
|
|
|
- delete data.noQualifiedCount;
|
|
|
- data.qualityDetailList = [obj];
|
|
|
- proxy.post("/quality/add", data).then(
|
|
|
- () => {
|
|
|
- showSuccessToast(proxy.t("common.operationSuccessful"));
|
|
|
- setTimeout(() => {
|
|
|
- onClickLeft();
|
|
|
- }, 500);
|
|
|
- },
|
|
|
- (err) => {
|
|
|
- return showFailToast(err.message);
|
|
|
- }
|
|
|
- );
|
|
|
+ proxy.post("/stockCheck/add", formData.data).then(
|
|
|
+ () => {
|
|
|
+ showSuccessToast(proxy.t("common.operationSuccessful"));
|
|
|
+ setTimeout(() => {
|
|
|
+ onClickLeft();
|
|
|
+ }, 500);
|
|
|
+ },
|
|
|
+ (err) => {
|
|
|
+ return showFailToast(err.message);
|
|
|
}
|
|
|
- } else {
|
|
|
- return showFailToast(
|
|
|
- proxy.t("inventoryCount.qualityInspectionQuantityCannotBeZero")
|
|
|
- );
|
|
|
- }
|
|
|
+ );
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="scss" scoped>
|