79 lines
2.2 KiB
TypeScript
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);
|
|
};
|