From fc9d4f1acfb391e826d23a59806d0afa28f72530 Mon Sep 17 00:00:00 2001 From: wxy Date: Wed, 8 May 2024 10:22:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/product/sku.js | 44 ++++ src/views/product/info/index.vue | 66 +++++- src/views/product/sku/index.vue | 360 +++++++++++++++++++++++++++++++ 3 files changed, 460 insertions(+), 10 deletions(-) create mode 100644 src/api/product/sku.js create mode 100644 src/views/product/sku/index.vue diff --git a/src/api/product/sku.js b/src/api/product/sku.js new file mode 100644 index 0000000..5af7b03 --- /dev/null +++ b/src/api/product/sku.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询商品SKU列表 +export function listSku(query) { + return request({ + url: '/product/sku/list', + method: 'get', + params: query + }) +} + +// 查询商品SKU详细 +export function getSku(id) { + return request({ + url: '/product/sku/' + id, + method: 'get' + }) +} + +// 新增商品SKU +export function addSku(data) { + return request({ + url: '/product/sku', + method: 'post', + data: data + }) +} + +// 修改商品SKU +export function updateSku(data) { + return request({ + url: '/product/sku', + method: 'put', + data: data + }) +} + +// 删除商品SKU +export function delSku(id) { + return request({ + url: '/product/sku/' + id, + method: 'delete' + }) +} diff --git a/src/views/product/info/index.vue b/src/views/product/info/index.vue index f313b6c..791864a 100644 --- a/src/views/product/info/index.vue +++ b/src/views/product/info/index.vue @@ -116,13 +116,14 @@ + -
+
@@ -155,12 +156,24 @@
-
+ +
- - + + + +
@@ -175,6 +188,7 @@ 确 定 取 消
+
@@ -185,16 +199,18 @@ import ImageUpload from "@/components/ImageUpload" import { listBrand } from "@/api/product/brand" import { listRule } from "@/api/product/rule" -import log from "@/views/monitor/job/log.vue"; export default { components:{ImageUpload}, name: "Info", data() { return { + tableColumnHeaderTemplate:[], active: 0, rule: [], brandList:[], + ruleList:[], + tableData:[], // 遮罩层 loading: true, // 选中数组 @@ -239,16 +255,46 @@ export default { created() { this.getList(); this.initBrandListInfo(); + this.initRuleListInfo(); }, methods: { - /**查询商品规格**/ - getRule() { - listRule(this.name).then( - response => { - this.rule = response.data + changeRuleInfoListByRuleId(object){ + this.tableColumnHeaderTemplate = []; + let ruleInfo = null + this.ruleList.forEach(item => { + if(object == item.id){ + ruleInfo = item; } + }) + if(null == ruleInfo){ + return; + } + let ruleAttrJson=JSON.parse(ruleInfo.ruleAttr) + ruleAttrJson.forEach(ruleAttr => { + this.tableColumnHeaderTemplate.push({'prop':'xxx','label':ruleAttr.ruleType}) + }) + this.tableColumnHeaderTemplate.push( + {prop:'stock',label:'商品库存'}, + {prop:'price',label:'商品价格'}, + {prop:'purchasePrice',label:'商品进价'}, + {prop:'sellingPrice',label:'商品售价'}, + {prop:'image',label:'商品图片'}, + {prop:'number',label:'编号'}, + {prop:'weight',label:'重量'}, + {prop:'volume',label:'体积'}, ) }, + /**查询商品规格**/ + initRuleListInfo() { + let params = { + status: 0 + }; + listRule(params).then(res =>{ + if(200 == res.code){ + this.ruleList = res.data.list; + } + }); + }, /**查询品牌表**/ initBrandListInfo() { let params = { diff --git a/src/views/product/sku/index.vue b/src/views/product/sku/index.vue new file mode 100644 index 0000000..deda241 --- /dev/null +++ b/src/views/product/sku/index.vue @@ -0,0 +1,360 @@ + + +