前端使用HTML实现商城sku效果

引言

在商城业务中经常会遇到商品对规格多属性的情况,由于商品SKU模块算法较为复杂开发难度相对较大,但SKU模块是各个商城间高度可重用的模块,因此开发此插件,可应用与快速合成商品SKU的添加与编辑。

此项目为HTML开发,无需导入其他任何依赖

仓库地址:https://gitee.com/WuHaojavaCode/Product-SKU 记得Star一下哦

实现效果

在这里插入图片描述

使用方法

将源码克隆下载后直接导入之项目目录下即可使用

SKU初始化加载已有属性

所在文件 index.js

data: function() {
		
		//alert(document.getElementById('seach').value)
		
		var specs = [ { "name": "颜色", "value": [ "白色", "黑色", "土豪金" ] }, { "name": "内存", "value": [ "8G", "16G" ] } ];
		
		var parameterValue = [ { "productId": 0, "productSpec": { "颜色": "白色", "内存": "8G" }, "productNo": "PRODUCTNO_0", "productStock": 0, "productPrice": 0 }, { "productId": 0, "productSpec": { "颜色": "白色", "内存": "16G" }, "productNo": "PRODUCTNO_1", "productStock": 0, "productPrice": 0 }, { "productId": 0, "productSpec": { "颜色": "黑色", "内存": "8G" }, "productNo": "PRODUCTNO_2", "productStock": 0, "productPrice": 0 }, { "productId": 0, "productSpec": { "颜色": "黑色", "内存": "16G" }, "productNo": "PRODUCTNO_3", "productStock": 0, "productPrice": 0 }, { "productId": 0, "productSpec": { "颜色": "土豪金", "内存": "8G" }, "productNo": "PRODUCTNO_4", "productStock": 0, "productPrice": 0 }, { "productId": 0, "productSpec": { "颜色": "土豪金", "内存": "16G" }, "productNo": "PRODUCTNO_5", "productStock": 0, "productPrice": 0 } ];
		return {
			specification:specs,
			// 提交数据格式
			productArray: parameterValue,
			// 用来存储要添加的规格属性
			addValues: [],
			// 默认商品编号
			defaultProductNo: 'PRODUCTNO_'
			// 批量设置相关
		};
	}

其中specs为已有规格项目,parameterValue为项目下属性阵列,如果是新增SKU以上JSON为空即可

提交并获取SKU数据

 this.specification;//获取规格项目
 this.productArray; //获取规格阵列

在以下方法中进行SKU获取和其他提交任务

methods: {
		// 提交
		submit: function () {
			
			var specificationdata = this.specification;//获取规格项目
			var productArraydata = this.productArray; //获取规格阵列
			console.log(productArraydata);
			//添加自己的业务方法
		}

上传属性图片

  • 上传图片可以在页面上进行script的编辑
  • 由于是动态生成的代码调用参考如下
<script>
     $(document).on('click', '.uploadFile', function(e) {
        //获取隐藏文本框
        var value = $(this).parents("div").prev().children("input");
        //上传图片操作
        value.val("OK")//上次成功后给文本框赋值
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章