<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<!-- 本框架基本脚本和样式 -->
|
<script type="text/javascript"
|
th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript"
|
th:src="@{/js/systools/MBase.js}"></script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.config.js}"></script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.all.js}">
|
|
</script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
|
<style>
|
#erpNoDiv {
|
width:200px;
|
display: inline-grid;
|
grid-template-columns: 20% 80%;
|
}
|
</style>
|
</head>
|
<body>
|
<div class="ibox-content">
|
<form class="form-horizontal" id="dataform" onsubmit="javascript:return false;">
|
<input autocomplete="off" type="hidden" name="tokenUrl" th:value="${tokenUrl}">
|
<input autocomplete="off" type="hidden" name="token" th:value="${token}">
|
<input autocomplete="off" type="hidden" name="id" th:value="${obj.id}">
|
<div class="row">
|
<div class="col-sm-12">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">基本信息</div>
|
<div class="panel-body">
|
<div class="form-group">
|
<label class="col-sm-2 control-label">分类ID
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<select class="form-control select2 " size="1" name="categoryId"
|
id="parentId" style="width: 100%">
|
</select>
|
</div>
|
|
<label class="col-sm-2 control-label">产品名称
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="title"
|
maxLength="120" dataType="*"
|
th:value="${obj.title}" nullmsg="产品名称不能为空">
|
</div>
|
</div>
|
<div class="form-group">
|
<label class="col-sm-2 control-label">产品简介
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="briefIntroduction"
|
maxLength="1000" dataType="*"
|
th:value="${obj.briefIntroduction}" nullmsg="产品简介不能为空">
|
</div>
|
|
</div>
|
<div class="form-group">
|
<label class="col-sm-2 control-label">价格
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="price" datatype="/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/"
|
errormsg="请填写数字" th:value="${obj.price}" nullmsg="价格不能为空">
|
</div>
|
<label class="col-sm-2 control-label">展示销量
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="dsVolume"
|
dataType="n" nullmsg="展示销量不能为空"
|
th:value="${obj.dsVolume}" errormsg="请填写数字">
|
</div>
|
<!--<label class="col-sm-2 control-label">运费
|
<span class="text-danger">*</span>
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="carriage"
|
maxLength="250" datatype="*"
|
th:value="${obj.carriage}" nullmsg="运费不能为空">
|
</div>-->
|
</div>
|
<div class="form-group">
|
<label class="col-sm-2 control-label">限购数量
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="buyLimit" dataType="n" ignore="ignore"
|
th:value="${obj.buyLimit}" errormsg="请填写数字">
|
</div>
|
<label class="col-sm-2 control-label">是否上架
|
</label>
|
<div class="col-sm-4">
|
<select th:field="${obj.status}" class="form-control select2 " size="1"
|
name="status"
|
id="status" style="width: 100%">
|
<option value="1" th:selected="${obj.status == '1'}">是</option>
|
<option value="2" th:selected="${obj.status == '2'}">否</option>
|
</option>
|
|
</select>
|
</div>
|
</div>
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">是否为服务项目
|
</label>
|
<div class="col-sm-4">
|
<select th:field="${obj.isService}" class="form-control " size="1"
|
name="isService"
|
id="isService" style="width: 100%">
|
<option value="2" th:selected="${obj.isService == '2'}">否</option>
|
<option value="1" th:selected="${obj.isService == '1'}">是</option>
|
</option>
|
|
</select>
|
</div>
|
|
<label class="col-sm-2 control-label">服务时长
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="serviceTime"
|
maxLength="50"
|
th:value="${obj.serviceTime}" >
|
</div>
|
|
|
</div>
|
|
<!--<div class="form-group">
|
|
<label class="col-sm-2 control-label">真实销量
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="rsVolume"
|
|
th:value="${obj.rsVolume}" errormsg="请填写数字">
|
</div>
|
</div>-->
|
<div class="form-group">
|
<label class="col-sm-2 control-label">属性设置 </label>
|
<input autocomplete="off" name="attrs" id="attrs" type="hidden" >
|
<input autocomplete="off" name="attrValues" id="attrValues" type="hidden"/>
|
<div class="col-sm-4">
|
<select class="select2 form-control"
|
multiple="multiple" id="attrIds">
|
</select>
|
</div>
|
<label class="col-sm-2 control-label">划线价格
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" type="text" class="form-control" name="markedPrice" datatype="/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/"
|
errormsg="请填写数字" ignore="ignore" th:value="${obj.markedPrice}" nullmsg="价格不能为空">
|
</div>
|
|
</div>
|
|
<!-- <label class="col-sm-2 control-label">PC端封面
|
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" th:value="${obj.imgPc}" name="imgPc" id="imgPc"
|
class="form-control upload-input" type="text" /> <a
|
class="btn btn-primary radius upload-a">选择图片
|
</a>
|
</div>-->
|
<div class="form-group">
|
<label class="col-sm-2 control-label">手机端封面
|
|
</label>
|
<div class="col-sm-4">
|
<input autocomplete="off" th:value="${obj.imgMobile}" name="imgMobile" id="imgMobile"
|
class="form-control upload-input" type="text" /> <a
|
class="btn btn-primary radius upload-a">选择图片
|
</a>
|
|
</div>
|
|
<label class="col-sm-2 control-label">选择店铺</label>
|
<div class="col-sm-4">
|
<select class="form-control autoFull select2" dataType="*" multiple="multiple"
|
nullmsg="店铺不能为空" id="shopSelect"
|
th:data-url="@{/admin/shopInfo/findShops}" data-value="id"
|
data-filed="shopName" th:data-def="${obj.shopIds}" name="shopIds">
|
</select>
|
|
</div>
|
|
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
</div>
|
|
<div class="row">
|
<div class="col-sm-12">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">产品规格 <span class="text-danger">*</span></div>
|
<div class="panel-body">
|
<a class="btn btn-default small " style="margin-bottom: 10px;"
|
onclick="addSku()">添加规格</a>
|
<table class="table table-bordered" id="skutable">
|
<tr>
|
<th style="display:none;">id</th>
|
<th>规格名称<span class="text-danger">*</span></th>
|
<th>规格图片地址<span class="text-danger">*</span></th>
|
<th>库存<span class="text-danger">*</span></th>
|
<th>价格<span class="text-danger">*</span></th>
|
<th>积分</th>
|
<th>关联ERP产品</th>
|
<th>排序</th>
|
<th>推广提成</th>
|
<th>邀请提成</th>
|
<th>操作</th>
|
</tr>
|
</table>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="row">
|
<div class="col-sm-6">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">产品参数</div>
|
<div class="panel-body" id="paramvalues" >
|
<div class="form-group" th:each="list,userStat:${valueList}" th:switch="${list.paramType}">
|
<input autocomplete="off" type="hidden" name="paramId" th:value="${list.paramId}">
|
<input autocomplete="off" type="hidden" name="paramName" th:value="${list.paramName}">
|
<input autocomplete="off" type="hidden" name="paramType" th:value="${list.paramType}">
|
<input autocomplete="off" type="hidden" name="sort" th:value="${list.sort}">
|
<label th:text="${list.paramName}" class="col-sm-2 control-label">
|
</label>
|
<div th:id="param+${list.paramId}" class="col-sm-8" th:case="'0'">
|
<input autocomplete="off" type="text" class="form-control" name="paramValue"
|
maxLength="5000" >
|
</div>
|
<div th:id="param+${list.paramId}" class="col-sm-8" th:case="'1'">
|
<select class="form-control " size="1" name="paramValue" >
|
<option value="-">请选择</option>
|
<option th:each="paramValue:${list.valueList}" th:value="${paramValue.paramValue}" th:text="${paramValue.paramValue}"></option>
|
</select>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="col-sm-6">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">产品图片</div>
|
<div class="panel-body">
|
<a class="btn btn-default small " style="margin-bottom: 10px;"
|
onclick="addImgTr()">添加图片</a>
|
<table class="table table-bordered" id="imgtable">
|
<tr>
|
<th>排序</th>
|
<!--<th>选为主图</th>-->
|
<th>图片</th>
|
<th>操作</th>
|
</tr>
|
</table>
|
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<div class="row">
|
<div class="col-sm-12">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">手机端详情</div>
|
<div class="panel-body">
|
<div class="panel-body">
|
<script style="width: 100%; height: 500px" id="mobileDetails"
|
name="mobileDetails" type="text/plain"></script></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
|
<!--<div class="col-sm-6">
|
<div class="ibox-content">
|
<div class="panel panel-default">
|
<div class="panel-heading">PC端详情</div>
|
<div class="panel-body">
|
<div class="panel-body">
|
<script style="width: 100%; height: 500px" id="pcDetails"
|
name="pcDetails" type="text/plain"></script></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
-->
|
</div>
|
|
<div class="navbar navbar-fixed-bottom" style="background:#F5F5F5">
|
<div class="col-sm-12 text-center" style="margin-top:12px;">
|
<a id="saveBut" href="javascript:;" onclick="submit()"
|
class="btn btn-success radius"><i class="fa fa-check"></i> 保存</a> <a
|
class="btn btn-danger radius" href="javascript:;" onclick="MTools.closeForm()"><i
|
class="fa fa-close"></i> 关闭</a>
|
</div>
|
</div>
|
|
<input autocomplete="off" type="hidden" id="shopProductImg" name="shopProductImg" value="" >
|
<input autocomplete="off" type="hidden" id="shopSku" name="shopSku" value="">
|
<input autocomplete="off" type="hidden" id="paramRefs" name="paramRefs" value="" >
|
</form>
|
</div>
|
</body>
|
<script type="text/html" id="imgtemplate">
|
<tr id="trId">
|
<td><input autocomplete="off" type="text" class="form-control" style="width:50px;" name=""></td>
|
<!-- <td><input autocomplete="off" type="radio" value="1" name=""></td>-->
|
<td><input autocomplete="off" name="" id="adImg" class="form-control upload-input" type="text" /><a></a></td>
|
<td><i class="fa fa-trash form-control-static"
|
onclick="delThis('trId')"></i></td>
|
</tr>
|
</script>
|
<script type="text/html" id="template">
|
<tr id="trId">
|
<td style="display:none;"><input autocomplete="off" type="hidden" class="form-control"> </td>
|
<td><input autocomplete="off" type="text" datatype="*1-20" class="form-control" name=""> </td>
|
<td><input autocomplete="off" name="" id="adImg"
|
class="form-control upload-input" type="text" /><a></a></td>
|
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
|
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
|
<td><input autocomplete="off" type="number" class="form-control" name=""></td>
|
<td><div id="erpNoDiv">
|
<button class="btn btn-info" onclick="selectProduct('shopIdValue','skuId')"><i class="fa fa-plus"></i></button>
|
<p class="form-control-static erpGoodsName"></p>
|
<input autocomplete="off" type="hidden" class="form-control" name="erpGoodsCode">
|
</div></td>
|
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
|
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
|
<td><input autocomplete="off" type="text" class="form-control" name=""></td>
|
<td><i class="fa fa-trash form-control-static" onclick="delThis('trId')"></i></td>
|
</tr>
|
</script>
|
|
|
|
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/jquery.serializejson.min.js}"></script>
|
<script th:inline="javascript">
|
MTools.autoFullSelect();
|
$(".select2").select2();
|
MUI.initImgUpload(".upload-input");
|
/*<![CDATA[*/
|
var obj =/*[[${obj}]]*/
|
/*]]>*/
|
var mobileEditor = UE.getEditor('mobileDetails');
|
var pcEditor = UE.getEditor('pcDetails');
|
var invokeUrl = basePath + "/admin/shopProduct/addShopProduct";
|
if (obj.id != null) {
|
invokeUrl = basePath + "/admin/shopProduct/modifyShopProduct";
|
}
|
|
var myForm = MForm.initForm({
|
|
invokeUrl: invokeUrl,
|
afterSubmit: function () {
|
parent.myGrid.serchData();
|
},
|
beforeSubmit:function () {
|
|
},
|
});
|
$(function () {
|
initSeclect("#parentId",[[${obj.categoryId}]]);
|
initAttrSeclect("#attrIds");
|
$("#mobileDetails").html(obj.mobileDetails);
|
$("#pcDetails").html(obj.pcDetails);
|
})
|
|
//获取规格参数值
|
function getParamvalues(){
|
var paramvalues=[];
|
$("#paramvalues").find(".form-group").each(function () {
|
var param = {};
|
var paramId=$(this).find("input[name=paramId]").val();
|
param.paramId = paramId;
|
var paramName =$(this).find("input[name=paramName]").val();
|
param.paramName = paramName;
|
var paramValue =$(this).find("select option:selected").text();
|
if(paramValue =='' || paramValue =='undefined'){
|
paramValue = $(this).find("input[name=paramValue]").val();
|
}
|
param.paramValue=paramValue;
|
var paramType = $(this).find("input[name=paramType]").val();
|
param.paramType = paramType;
|
|
var sort = $(this).find("input[name=sort]").val();
|
param.sort = sort;
|
paramvalues.push(param);
|
|
});
|
|
return paramvalues;
|
|
}
|
|
//初始化相册和sku列表
|
function initAlbumAndSku(){
|
$.AjaxProxy({p:{id:"[[${obj.id}]]"}}).invoke("/admin/shopProduct/getParam",function(loj){
|
var mapInfo=loj.getValue("mapInfo");
|
initAlbum(mapInfo.shopImg);
|
initSku(mapInfo.shopSkus);
|
initAttr(mapInfo.AttrRefs);
|
initParamValues(mapInfo.paramRefValues);
|
});
|
}
|
|
//初始化产品参数
|
function initParamValues(params){
|
for(var i=0;i<params.length;i++){
|
var id = params[i].paramId;
|
if('1'== params[i].paramType ){
|
$("#param"+id).find("select").val(params[i].paramValue);
|
}else{
|
$("#param"+id).find("input").val(params[i].paramValue);
|
}
|
|
}
|
}
|
|
|
//初始化产品属性
|
function initAttr(AttrRefs){
|
var attr=[];
|
for(var i=0 ; i<AttrRefs.length ; i++){
|
attr.push(AttrRefs[i].attrId);
|
}
|
console.log(attr)
|
$("#attrIds").val(attr).trigger("change");
|
}
|
|
//初始化产品图片
|
function initAlbum(shopImg){
|
for(var i=0 ; i < shopImg.length ; i++ ){
|
var imgId = MTools.randomStr();
|
var trId = MTools.randomStr();
|
var isMain="";
|
if(shopImg[i].isMainImg==1){
|
isMain='checked="checked"';
|
}
|
var imgshop = shopImg[i];
|
var sort = imgshop.sort;
|
if(sort == null){
|
sort = "";
|
}
|
var imgPath = imgshop.imgPath;
|
if(imgPath == null){
|
imgPath ="";
|
}
|
var html=
|
'<tr id="'+trId+'">'
|
+'<td><input autocomplete="off" type="text" class="form-control" style="width:50px;" value="'+sort+'" name=""></td>'
|
// +'<td><input autocomplete="off" type="radio" value="1" '+isMain+' name=""></td>'
|
+'<td><input autocomplete="off" name="" id="'+imgId+'" class="form-control upload-input" value="'+imgPath+'" type="text" /><a></a></td>'
|
+'<td><i class="fa fa-trash form-control-static" onclick="delThis(\''+trId+'\')"></i></td>'
|
+'</tr>';
|
$("#imgtable").find("tbody").append(html);
|
MUI.initImgUpload("#" + imgId);
|
}
|
}
|
|
//初始化产品规格
|
function initSku(shopSkus){
|
for(var c=0 ; c<shopSkus.length ; c++){
|
console.log("c",c)
|
var sku=shopSkus[c];
|
console.log(sku);
|
var imgId = MTools.randomStr();
|
var trId = MTools.randomStr();
|
var name = shopSkus[c].name;
|
if(name == null || name ==0){
|
name = "";
|
}
|
var stock = shopSkus[c].stock;
|
if(stock == null){
|
stock = "";
|
}
|
var price = shopSkus[c].price;
|
if(price == null || price==0){
|
price = "";
|
}
|
|
var score = shopSkus[c].score;
|
if(score == null || score==0){
|
score = "";
|
}
|
var sort = shopSkus[c].sort;
|
if(sort == null || sort==0){
|
sort = "";
|
}
|
var stockCode = shopSkus[c].stockCode;
|
if(stockCode == null || typeof stockCode == 'undefined'){
|
stockCode = "";
|
}
|
var goodsName = shopSkus[c].goodsName;
|
if (goodsName == null || typeof stockCode == 'undefined') {
|
goodsName = "";
|
}
|
|
var sealesPrice = shopSkus[c].sealesPrice;
|
if (sealesPrice == null || typeof sealesPrice == 'undefined') {
|
sealesPrice = "";
|
}
|
var invitationPrice = shopSkus[c].invitationPrice;
|
if (invitationPrice == null || typeof invitationPrice == 'undefined') {
|
invitationPrice = "";
|
}
|
|
|
var html=
|
'<tr id="'+trId+'">'
|
+'<td style="display:none;"><input autocomplete="off" type="hidden" class="form-control" value="'+shopSkus[c].id+'" ></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+name+'" name=""></td>'
|
|
+'<td><input autocomplete="off" name="imgPath" id="'+imgId+'" class="form-control upload-input" value="'+shopSkus[c].imgPath+'" type="text" /><a></a></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+stock+'" name=""></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+price+'" name=""></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+score+'" name=""></td>'
|
+'<td><div id="erpNoDiv"><button class="btn btn-info" onclick="selectProduct(\'shopIdValue\',\''+trId+'\')"><i class="fa fa-plus"></i></button>'
|
+'<p class="form-control-static erpGoodsName">'+ goodsName +'</p><input autocomplete="off" class="form-control" type="hidden" value="'+stockCode+'" name="erpGoodsCode"></div></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+sort+'" name=""></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+sealesPrice+'" name=""></td>'
|
+'<td><input autocomplete="off" type="text" class="form-control" value="'+invitationPrice+'" name=""></td>'
|
+'<td><i class="fa fa-trash form-control-static" onclick="delThis(\''+trId+'\')"></i></td>'
|
+'</tr>';
|
$("#skutable").find("tbody").append(html);
|
|
MUI.initImgUpload("#" + imgId);
|
}
|
|
|
}
|
|
var validform = MValidform.validform("#dataform");
|
|
function submit() {
|
// 验证表单
|
if (!validform.check()) {
|
return false;
|
}
|
var skus = getSkus();
|
if(skus.length<1){
|
layer.msg("至少填写一个产品规格",{
|
icon : 2,
|
time : 2000
|
});
|
return false;
|
}
|
var falg = getSkusValues();
|
if(falg){
|
return false;
|
}
|
//获取sku和相册信息
|
$("#shopSku").val(JSON.stringify(skus));
|
$("#shopProductImg").val(JSON.stringify(getAlbums()));
|
$("#paramRefs").val(JSON.stringify(getParamvalues()));
|
|
|
//设置属性值
|
getMultiSelectVal();
|
var data = $("#dataform").serializeJSON();
|
console.log("----->", $("#shopSelect").val());
|
data.shopIds = $("#shopSelect").val().join(",");
|
$.ajax({
|
type : "post",
|
url : invokeUrl,
|
contentType : "application/x-www-form-urlencoded",
|
datatype : "json",
|
data : data,
|
async : true,
|
success : function(result) {
|
// 全局异常处理器发出的错误信息
|
if (result.status == "200") {
|
// 关闭iframe层
|
layer.msg(result.info, {
|
icon : 1,
|
time : 1000,
|
end:function(){
|
parent.myGrid.serchData();
|
MTools.closeForm()
|
}
|
});
|
} else {
|
layer.msg(result.info, {
|
icon : 2,
|
time : 1000,
|
end:function(){
|
parent.myGrid.serchData();
|
MTools.closeForm()
|
}
|
});
|
return null;
|
}
|
}
|
});
|
return false;
|
}
|
|
|
|
//初始化属性下拉选
|
function initAttrSeclect(seler, def) {
|
$.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=productColumn",
|
function (loj) {
|
$(seler).createSelectTree(
|
loj.attr("result").rows,
|
{
|
id: "attrId",
|
parent: "parentId",
|
value: "attrName",
|
append: false,
|
defaultValue: def,
|
defaultHtml: ''
|
});
|
//如果是编辑就设置默认值
|
if(obj.id != null){
|
initAlbumAndSku();
|
}
|
});
|
}
|
|
//初始化分类ID
|
function initSeclect(seler, def) {
|
$.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=cpfl&status=1",
|
function (loj) {
|
$(seler).createSelectTree(
|
loj.attr("result").rows,
|
{
|
id: "attrId",
|
parent: "parentId",
|
value: "attrName",
|
append: false,
|
defaultValue: def,
|
defaultHtml: ''
|
});
|
});
|
}
|
|
//添加图片节点
|
function addImgTr() {
|
var imgId = MTools.randomStr();
|
var trId = MTools.randomStr();
|
$("#imgtable").find("tbody").append(
|
$("#imgtemplate").html().replace("adImg", imgId).replace(
|
"trId", trId).replace("trId", trId));
|
MUI.initImgUpload("#" + imgId);
|
}
|
|
//添加规格节点
|
function addSku() {
|
var imgId = MTools.randomStr();
|
var trId = MTools.randomStr();
|
$("#skutable").find("tbody").append(
|
$("#template").html().replace("adImg", imgId).replace("trId",
|
trId).replace("trId", trId)
|
.replace("skuId", trId));
|
MUI.initImgUpload("#" + imgId);
|
}
|
|
//获取选择属性节点
|
function getMultiSelectVal() {
|
var attrId =[];
|
var attrvalues=[];
|
var obj=document.getElementById('attrIds');
|
//获取所有的option
|
var options=obj.options;
|
for(var i=0;i<options.length;i++){
|
//判断optin是否被选中了
|
var attr = options[i].selected;
|
if(attr){
|
attrId.push(options[i].value);
|
attrvalues.push(options[i].text);
|
|
}
|
}
|
$("#attrs").val(attrId.join(","));
|
$("#attrValues").val(attrvalues.join(","));
|
}
|
|
//删除节点
|
function delThis(node) {
|
$("#" + node).remove();
|
}
|
|
/*获取sku表格中的参数*/
|
function getSkus() {
|
var skus = [];
|
$("#skutable tbody").find("tr").each(function(i) {
|
console.log(i);
|
var sku = {};
|
if (i != 0) {
|
var tds = $(this).find("td");
|
var length = tds.length - 1;
|
var id = tds.eq(length - 10).find("input").val();
|
if(id == null){
|
id ="";
|
}
|
sku.id = id;
|
|
//规格名称
|
var name = tds.eq(length - 9).find("input").val();
|
if(name == null){
|
name = "";
|
}
|
sku.name = name;
|
|
//图片地址
|
var path = tds.eq(length - 8).find("img").attr("src");
|
if(path == null){
|
path = "";
|
}
|
sku.imgPath = path;
|
|
//库存
|
var stock = tds.eq(length - 7).find("input").val();
|
if(stock == ""){
|
stock = 0;
|
}
|
sku.stock = stock;
|
|
//价格
|
var price = tds.eq(length -6).find("input").val();
|
if(price == ""){
|
price =0;
|
}
|
sku.price = price;
|
|
//积分
|
var score = tds.eq(length - 5).find("input").val();
|
if(score == ""){
|
score = 0;
|
}
|
sku.score = score;
|
|
//品种编码
|
var stockCode = tds.eq(length - 4).find("input").val();
|
if(stockCode == null || typeof stockCode == 'undefined'){
|
stockCode = '';
|
}
|
sku.stockCode = stockCode;
|
|
//排序
|
var sort = tds.eq(length - 3).find("input").val();
|
if(sort == ""){
|
sort = 0;
|
}
|
sku.sort = sort;
|
|
//推广提成
|
var sealesPrice = tds.eq(length - 2).find("input").val();
|
sku.sealesPrice = sealesPrice;
|
|
//邀请提成
|
var invitationPrice = tds.eq(length - 1).find("input").val();
|
sku.invitationPrice = invitationPrice;
|
|
skus.push(sku);
|
}
|
});
|
|
return skus;
|
}
|
|
/*验证sku表格中的参数*/
|
function getSkusValues() {
|
var flag = false;
|
var reg = new RegExp("(^[1-9]([0-9]+)?(\\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\\.[0-9]([0-9])?$)");
|
$("#skutable tbody").find("tr").each(function(i) {
|
console.log(i);
|
if (i != 0) {
|
var tds = $(this).find("td");
|
var length = tds.length - 1;
|
var name = tds.eq(length - 9).find("input").val();
|
if(name == ""){
|
layer.msg("请填写规格名称",{
|
icon : 2,
|
time : 2000
|
});
|
flag = true;
|
return false;
|
}
|
if(name.length >= 20){
|
layer.msg("规格名称太长",{
|
icon : 2,
|
time : 2000
|
});
|
flag = true;
|
return false;
|
}
|
|
var stock = tds.eq(length -7).find("input").val();
|
if(stock == ""){
|
layer.msg("请填写库存",{
|
icon : 2,
|
time : 2000
|
});
|
flag = true;
|
return false;
|
}
|
var price = tds.eq(length - 6).find("input").val();
|
if(price == ""){
|
layer.msg("请填写价格",{
|
icon : 2,
|
time : 2000
|
});
|
flag = true;
|
return false;
|
}
|
if(!reg.test(price) ){
|
layer.msg("价格填写错误,只能填写正数",{
|
icon : 2,
|
time : 2000
|
});
|
flag = true;
|
return false;
|
}
|
|
|
|
}
|
});
|
|
return flag;
|
}
|
|
/**
|
获取相册中的图片
|
**/
|
function getAlbums() {
|
var albums = [];
|
$("#imgtable tbody").find("tr").each(function(i) {
|
var images = {};
|
if (i != 0) {
|
var tds = $(this).find("td");
|
var length = tds.length - 1;
|
|
images.sort = tds.eq(0).find("input").val();
|
if(images.sort == ''){
|
images.sort=i;
|
}
|
|
/* images.isMainImg = tds.eq(1).find("input:radio:checked").val();
|
if (images.isMainImg) {
|
images.isMainImg = 1;
|
} else {
|
images.isMainImg = 2;
|
}*/
|
images.imgPath = tds.eq(1).find("img").attr("src");
|
|
albums.push(images);
|
}
|
});
|
|
return albums;
|
}
|
|
|
function selectProduct(value, id) {
|
console.log("123");
|
layer.full(layer.open({
|
type : 2,
|
title : "选择产品",
|
area : [ MUI.SIZE_L, '400px' ],
|
content : [ basePath+'/admin/redirect/shop/select-goods-list?shopId='+value+'&skuId='+id]
|
}));
|
}
|
|
function callback(value, id) {
|
if (value.length === 0) {
|
return;
|
}
|
console.log(value);
|
$("#"+id).find(".erpGoodsName").text(value[0].name);
|
$("#"+id).find("input[name='erpGoodsCode']").val(value[0].id);
|
}
|
|
</script>
|
|
</body>
|
</html>
|