Files
orico-officialWebsite-ts-admin/src/views/webManagement/commodity/utils/edit/submit.ts

79 lines
2.2 KiB
TypeScript

import { useMsg } from "@/hooks/useMsg";
import { getProductEditUpApi } from "@/api/modules/productList";
import { cloneDeep } from "lodash-es";
const WARN: any = {
name: "产品名称不能为空 !",
spu: "型号不能为空 !",
category_id: "产品分类不能为空 !",
sort: "产品排序不能为空 !"
};
//警告
const warnFunction = (data: any) => {
if (!data.name) {
useMsg("warning", WARN["name"]);
return false;
}
if (!data.spu) {
useMsg("warning", WARN["spu"]);
return false;
}
if (!data.category_id) {
useMsg("warning", WARN["category_id"]);
return false;
}
if (!data.name) {
useMsg("warning", WARN["sort"]);
return false;
}
return true;
};
//更新
const getProductEditUp = async (params: any) => {
const result: any = await getProductEditUpApi(params);
if (result?.code === 0) {
useMsg("success", result?.msg);
// montageImg(imgInfoRef);
}
};
export const handleSubmit = async (infoRef: any, imgInfoRef: any, dataStore: any) => {
let is = await warnFunction(infoRef.ruleForm);
if (!is) {
return false;
}
//相关信息及下载(过滤掉没有id的对象)
let relatedData = dataStore.relatedTableData.filter((item: any) => {
return item.related_product_id;
});
const { video_img, video_url, cover_image, skus } = imgInfoRef.data;
//不要直接去修改skus的数据类型,这里的skus是和表格绑定的
let skusClone = cloneDeep(skus);
skusClone.forEach((item: any) => {
let arr: any = [];
item.photo_album_clone.forEach((it: any) => {
arr.push(it.url);
});
item.photo_album = arr;
item.attrs = item.attrs;
// delete item.photo_albumClone;
});
console.log(skusClone, "=skusClone=");
let skusCloneStr = JSON.stringify(skusClone);
console.log(typeof skusCloneStr);
const params = {
...infoRef.ruleForm,
cover_image,
video_url,
video_img,
skus: skusCloneStr,
detail: dataStore.detail,
related: JSON.stringify(relatedData) || []
};
console.log(params, "===========params=============");
getProductEditUp(params);
};