From 9253427bccf5af66590047053488accb4e0b5284 Mon Sep 17 00:00:00 2001
From: liushiwei <499672082@qq.com>
Date: Sat, 25 May 2024 10:12:50 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/index.js | 5 +
src/utils/product.js | 169 +++++++++++++++
src/view/Home.vue | 1 +
src/view/product/Draft.vue | 347 +++++++++++++++++++++++++++++++
src/view/shipping/WaitCreate.vue | 6 +-
5 files changed, 525 insertions(+), 3 deletions(-)
create mode 100644 src/view/product/Draft.vue
diff --git a/src/router/index.js b/src/router/index.js
index a2a0605..129195e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -85,6 +85,11 @@ const router = new VueRouter({
name: 'copyProduct',
component: () => import('../view/product/CopyProduct.vue')
},
+ {
+ path: 'draft',
+ name: 'draft',
+ component: () => import('../view/product/Draft.vue')
+ },
{
path: 'copyProductShein',
name: 'copyProductShein',
diff --git a/src/utils/product.js b/src/utils/product.js
index 380ecf6..c2f19b1 100644
--- a/src/utils/product.js
+++ b/src/utils/product.js
@@ -139,6 +139,175 @@ export function transform(leftData) {
return JSON.stringify(rightData);
}
+export function transformSubmitForHalf(leftData, config, draftId) {
+ let rightData = {};
+ // 分类
+ let leftCategory = leftData.categories;
+ rightData.cat1Id = leftCategory.cat1.catId;
+ rightData.cat2Id = leftCategory.cat2.catId;
+ rightData.cat3Id = leftCategory.cat3.catId;
+ rightData.cat4Id = leftCategory.cat4.catId;
+ rightData.cat5Id = leftCategory.cat5.catId;
+ rightData.cat6Id = leftCategory.cat6.catId;
+ rightData.cat7Id = leftCategory.cat7.catId;
+ rightData.cat8Id = leftCategory.cat8.catId;
+ rightData.cat9Id = leftCategory.cat9.catId;
+ rightData.cat10Id = leftCategory.cat10.catId;
+
+ // 普通属性
+ rightData.productName = leftData.productName;
+ rightData.materialMultiLanguages = leftData.productLocalExtAttr.materialMultiLanguages;
+ rightData.productI18nReqs = leftData.productI18nList;
+ rightData.productPropertyReqs = [];
+ for (let i = 0; i < leftData.productPropertyList.length; i++) {
+ rightData.productPropertyReqs.push({
+ valueUnit: leftData.productPropertyList[i].valueUnit,
+ propValue: leftData.productPropertyList[i].propValue,
+ propName: leftData.productPropertyList[i].propName,
+ refPid: leftData.productPropertyList[i].refPid,
+ vid: leftData.productPropertyList[i].vid,
+ controlType: 1,
+ pid: leftData.productPropertyList[i].pid,
+ templatePid: leftData.productPropertyList[i].templatePid,
+ valueExtendInfo: leftData.productPropertyList[i].valueExtendInfo
+ });
+ }
+
+ // SKC
+ let rightSkc = [];
+ let leftSkc = leftData.productSkcList;
+
+ let productSpecPropertyReqs = [];
+ for(let i = 0; i < leftSkc.length; i++) {
+ let rightSkcItem = {};
+ rightSkcItem.previewImgUrls = leftSkc[i].previewImgUrls;
+ rightSkcItem.productSkcCarouselImageI18nReqs = leftSkc[i].productSkcCarouselImageI18nVOList;
+ rightSkcItem.extCode = leftSkc[i].extCode;
+ rightSkcItem.mainProductSkuSpecReqs = [
+ {
+ "parentSpecId": 0,
+ "parentSpecName": "",
+ "specId": 0,
+ "specName": ""
+ }
+ ];
+ rightSkcItem.productSkuReqs = [];
+ for(let j = 0; j < leftSkc[i].productSkuList.length; j++) {
+ let leftSkuItem = leftSkc[i].productSkuList[j];
+ let rightSkuItem = {};
+
+ rightSkuItem.thumbUrl = leftSkuItem.thumbUrl;
+ rightSkuItem.productSkuThumbUrlI18nReqs = leftSkuItem.productSkuThumbUrlI18nVOList;
+ rightSkuItem.extCode = leftSkuItem.extCode;
+ rightSkuItem.supplierPrice = leftSkuItem.supplierPrice;
+ rightSkuItem.currencyType = leftSkuItem.currencyType;
+ rightSkuItem.productSkuSpecReqs = leftSkuItem.productSkuSpecList;
+ productSpecPropertyReqs.push({
+ "parentSpecId": leftSkuItem.productSkuSpecList[0].parentSpecId,
+ "parentSpecName": leftSkuItem.productSkuSpecList[0].parentSpecName,
+ "specId": leftSkuItem.productSkuSpecList[0].specId,
+ "specName": leftSkuItem.productSkuSpecList[0].specName,
+ "refPid": 0,
+ "pid": 0,
+ "templatePid": 0,
+ "propName": leftSkuItem.productSkuSpecList[0].specName,
+ "vid": 0,
+ "propValue": leftSkuItem.productSkuSpecList[0].specName,
+ "valueUnit": "",
+ "valueGroupId": 0,
+ "valueGroupName": "",
+ "valueExtendInfo": ""
+ });
+ rightSkuItem.productSkuId = 0;
+ rightSkuItem.productSkuWhExtAttrReq = {
+ "productSkuVolumeReq": leftSkuItem.productSkuWhExtAttr.productSkuVolume,
+ "productSkuWeightReq": leftSkuItem.productSkuWhExtAttr.productSkuWeight,
+ "productSkuBarCodeReqs": leftSkuItem.productSkuWhExtAttr.productSkuBarCodes,
+ "productSkuSensitiveAttrReq": {
+ "isSensitive": leftSkuItem.productSkuWhExtAttr.productSkuSensitiveAttr.isSensitive,
+ "sensitiveList": leftSkuItem.productSkuWhExtAttr.productSkuSensitiveAttr.sensitiveList},
+ "productSkuSensitiveLimitReq": leftSkuItem.productSkuWhExtAttr.productSkuSensitiveLimit,
+ };
+ let warehouseStockQuantityReqs = []
+ for (let k = 0; k < config.wareHouseList.length; k++) {
+ warehouseStockQuantityReqs.push({
+ warehouseId: config.wareHouseList[k],
+ targetStockAvailable: config.stockNumber
+ })
+ }
+ let productSkuStockQuantityReq = {
+ warehouseStockQuantityReqs: warehouseStockQuantityReqs
+ }
+ rightSkuItem.productSkuStockQuantityReq = productSkuStockQuantityReq
+ rightSkuItem.currencyType = leftSkuItem.currencyType;
+
+ rightSkcItem.productSkuReqs.push(rightSkuItem);
+ }
+ rightSkcItem.productSkcId = 0;
+
+ rightSkc.push(rightSkcItem);
+ }
+ rightData.productSkcReqs = rightSkc;
+
+ // Spec
+ rightData.productSpecPropertyReqs = productSpecPropertyReqs;
+ rightData.carouselImageUrls = leftData.carouselImageUrls;
+ rightData.carouselImageI18nReqs = leftData.carouselImageI18nVOList;
+ rightData.materialImgUrl = leftData.materialImgUrl;
+ rightData.goodsLayerDecorationReqs = leftData.goodsLayerDecorationVOList;
+ rightData.sizeTemplateIds = !leftData.sizeTemplateIds ? []: leftData.sizeTemplateIds;
+ rightData.showSizeTemplateIds = !leftData.showSizeTemplateIds ? []: leftData.showSizeTemplateIds;
+ rightData.goodsModelReqs = !leftData.goodsModelList ? []: leftData.goodsModelList;
+ rightData.productWhExtAttrReq = {
+ outerGoodsUrl: leftData.productWhExtAttr.outerGoodsUrl,
+ productOrigin: {
+ countryShortName: leftData.productWhExtAttr.productOrigin ? leftData.productWhExtAttr.productOrigin.countryShortName: 'CN'
+ }
+ };
+ rightData.productCarouseVideoReqList = leftData.carouseVideoVOList;
+ rightData.goodsAdvantageLabelTypes = leftData.goodsAdvantageLabelVOList;
+ rightData.productDetailVideoReqList = leftData.detailVideoVOList;
+ rightData.productOuterPackageImageReqs = [];
+ for (let i = 0;i < leftData.outerPackageImages.length; i++) {
+ rightData.productOuterPackageImageReqs.push({
+ imageUrl: leftData.outerPackageImages[i].imageUrl
+ })
+ }
+ if (leftData.productGuideFileI18nList) {
+ rightData.productGuideFileI18nReqs = leftData.productGuideFileI18nList.map(item => {
+ return {fileName: item.fileName,
+ fileUrl: item.fileUrl,
+ language: item.language,
+ languages: item.languages}
+ });
+ } else {
+ rightData.productGuideFileI18nReqs = []
+ }
+ rightData.productOuterPackageReq = leftData.productWhExtAttr.productOuterPackage;
+ rightData.sensitiveTransNormalFileReqs = leftData.productWhExtAttr.sensitiveTransNormalFiles;
+ rightData.productSaleExtAttrReq = {};
+ rightData.productShipmentReq = {
+ freightTemplateId: config.freightTemplateId,
+ shipmentLimitSecond: config.sendGoodsSecond
+ }
+ rightData.productSemiManagedReq = {
+ bindSiteIds: config.siteList
+ }
+ let targetRouteList = []
+ for (let m = 0; m < config.wareHouseList.length; m++) {
+ targetRouteList.push({
+ warehouseId: config.wareHouseList[m],
+ siteIdList: config.siteList
+ })
+ }
+ rightData.productWarehouseRouteReq = {
+ targetRouteList: targetRouteList
+ }
+ rightData.productDraftId = draftId;
+
+ return rightData;
+}
+
export function transformAliExpress(content) {
let template = {
cat1Id: 0,
diff --git a/src/view/Home.vue b/src/view/Home.vue
index bf13c72..6d6e1eb 100644
--- a/src/view/Home.vue
+++ b/src/view/Home.vue
@@ -70,6 +70,7 @@
商品列表
商品复制
+ 草稿箱管理
商品复制(希音)
diff --git a/src/view/product/Draft.vue b/src/view/product/Draft.vue
new file mode 100644
index 0000000..e0e9b1c
--- /dev/null
+++ b/src/view/product/Draft.vue
@@ -0,0 +1,347 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ 批量提交
+
+
+
+
+ 查询
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/view/shipping/WaitCreate.vue b/src/view/shipping/WaitCreate.vue
index c5868a0..18ea625 100644
--- a/src/view/shipping/WaitCreate.vue
+++ b/src/view/shipping/WaitCreate.vue
@@ -19,7 +19,7 @@
- 开始创建
+ 开始创建
{{ `结束创建(${choosedList.length}/${createTotal})` }}
@@ -68,7 +68,7 @@
- 移除
+ 移除
@@ -344,7 +344,7 @@
this.isBegin = true;
this.choosedList.map((data, index) => {
- let deliverOrderDetailInfos = data.orderDetailVOList.map(item => {
+ let deliverOrderDetailInfos = data.skuQuantityDetailList.map(item => {
if (this.robForm.isModifyMaxNum) {
return {
productSkuId: item.productSkuId,