<!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">产品分类 
 | 
                                    <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> 
 | 
                                <label class="col-sm-2 control-label">是否可分销 
 | 
                                    <span class="text-danger">*</span> 
 | 
                                </label> 
 | 
                                <div class="col-sm-4"> 
 | 
                                    <select th:field="${obj.ableSales}" class="form-control select2 " size="1" 
 | 
                                            name="ableSales" 
 | 
                                            id="ableSales" style="width: 100%"> 
 | 
                                        <option value="1" th:selected="${obj.ableSales == '1'}">可分销</option> 
 | 
                                        <option value="2" th:selected="${obj.ableSales == '2'}">不可分销</option> 
 | 
                                        </option> 
 | 
                                    </select> 
 | 
                                </div> 
 | 
                            </div> 
 | 
                            <div class="form-group"> 
 | 
                                <label class="col-sm-2 control-label">是否积分抵 
 | 
                                    <span class="text-danger">*</span> 
 | 
                                </label> 
 | 
                                <div class="col-sm-4"> 
 | 
                                    <select th:field="${obj.ableScorePay}" class="form-control select2 " size="1" 
 | 
                                            name="ableScorePay" 
 | 
                                            id="ableScorePay" style="width: 100%"> 
 | 
                                        <option value="2" th:selected="${obj.ableScorePay == '2'}">不可抵扣</option> 
 | 
                                        <option value="1" th:selected="${obj.ableScorePay == '1'}">可抵扣</option> 
 | 
                                        </option> 
 | 
                                    </select> 
 | 
                                </div> 
 | 
                                <label class="col-sm-2 control-label">积分商城分类 
 | 
                                    <span class="text-danger">*</span> 
 | 
                                </label> 
 | 
                                <div class="col-sm-4"> 
 | 
                                    <select class="form-control select2 " size="1" name="scoreCategoryId" 
 | 
                                            id="scoreCategoryId" style="width: 100%"> 
 | 
                                    </select> 
 | 
                                </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> 
 | 
  
 | 
                            </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> 
 | 
                                <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> 
 | 
                                    <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><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}]]); 
 | 
        initScoreSeclect("#scoreCategoryId",[[${obj.scoreCategoryId}]]); 
 | 
  
 | 
  
 | 
        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 scorePrice = shopSkus[c].scorePrice; 
 | 
            if (scorePrice == null || typeof scorePrice == 'undefined') { 
 | 
                scorePrice = ""; 
 | 
            } 
 | 
 var scoreCount = shopSkus[c].scoreCount; 
 | 
            if (scoreCount == null || typeof scoreCount == 'undefined') { 
 | 
                scoreCount = ""; 
 | 
            } 
 | 
  
 | 
  
 | 
            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><input autocomplete="off"   type="text" class="form-control"  value="'+scorePrice+'" name=""></td>' 
 | 
                +'<td><input autocomplete="off"   type="text" class="form-control"  value="'+scoreCount+'" 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, 
 | 
                    }); 
 | 
                    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: '' 
 | 
                    }); 
 | 
            }); 
 | 
    } 
 | 
    //初始化分积分商城分类ID 
 | 
    function initScoreSeclect(seler, def) { 
 | 
        $.AjaxProxy().invoke(basePath + "/admin/shopProductAttribute/showSonAttribute?attrCode=jfsccpfl&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 - 12).find("input").val(); 
 | 
                if(id == null){ 
 | 
                    id =""; 
 | 
                } 
 | 
                sku.id = id; 
 | 
  
 | 
                //规格名称 
 | 
                var name = tds.eq(length - 11).find("input").val(); 
 | 
                if(name == null){ 
 | 
                    name = ""; 
 | 
                } 
 | 
                sku.name = name; 
 | 
  
 | 
                //图片地址 
 | 
                var path = tds.eq(length - 10).find("img").attr("src"); 
 | 
                if(path == null){ 
 | 
                    path = ""; 
 | 
                } 
 | 
                sku.imgPath = path; 
 | 
  
 | 
                //库存 
 | 
                var stock = tds.eq(length - 9).find("input").val(); 
 | 
                if(stock == ""){ 
 | 
                    stock = 0; 
 | 
                } 
 | 
                sku.stock = stock; 
 | 
  
 | 
                //价格 
 | 
                var price = tds.eq(length -8).find("input").val(); 
 | 
                if(price == ""){ 
 | 
                    price =0; 
 | 
                } 
 | 
                sku.price = price; 
 | 
  
 | 
                //积分 
 | 
                var score = tds.eq(length - 7).find("input").val(); 
 | 
                if(score == ""){ 
 | 
                    score = 0; 
 | 
                } 
 | 
                sku.score = score; 
 | 
  
 | 
                //品种编码 
 | 
                var stockCode = tds.eq(length - 6).find("input").val(); 
 | 
                if(stockCode == null || typeof stockCode == 'undefined'){ 
 | 
                    stockCode = ''; 
 | 
                } 
 | 
                sku.stockCode = stockCode; 
 | 
  
 | 
                //排序 
 | 
                var sort = tds.eq(length - 5).find("input").val(); 
 | 
                if(sort == ""){ 
 | 
                    sort = 0; 
 | 
                } 
 | 
                sku.sort = sort; 
 | 
  
 | 
                //推广提成 
 | 
                var sealesPrice = tds.eq(length - 4).find("input").val(); 
 | 
                sku.sealesPrice = sealesPrice; 
 | 
  
 | 
                //邀请提成 
 | 
                var invitationPrice = tds.eq(length - 3).find("input").val(); 
 | 
                sku.invitationPrice = invitationPrice; 
 | 
  
 | 
                //兑换所需金额 
 | 
                var scorePrice = tds.eq(length - 2).find("input").val(); 
 | 
                sku.scorePrice = scorePrice; 
 | 
                //兑换所需积分 
 | 
                var scoreCount = tds.eq(length - 1).find("input").val(); 
 | 
                sku.scoreCount = scoreCount; 
 | 
  
 | 
                skus.push(sku); 
 | 
            } 
 | 
        }); 
 | 
  
 | 
        return skus; 
 | 
    } 
 | 
  
 | 
  
 | 
    /*验证sku表格中的参数*/ 
 | 
    function getSkusValues() { 
 | 
  
 | 
        var ableScorePay=$("#ableScorePay").val(); 
 | 
        var ableSales=$("#ableSales").val(); 
 | 
  
 | 
  
 | 
        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; 
 | 
  
 | 
                if(ableSales==1){ 
 | 
                    //推广提成 
 | 
                    var sealesPrice = tds.eq(length - 4).find("input").val(); 
 | 
                    //邀请提成 
 | 
                    var invitationPrice = tds.eq(length - 3).find("input").val(); 
 | 
                    if(sealesPrice == ""||invitationPrice==""){ 
 | 
                        layer.msg("请填写推广提成和邀请提成",{ 
 | 
                            icon : 2, 
 | 
                            time : 2000 
 | 
                        }); 
 | 
                        flag = true; 
 | 
                        return false; 
 | 
                    } 
 | 
                } 
 | 
  
 | 
                if(ableScorePay==1){ 
 | 
                    //兑换所需金额 
 | 
                    var scorePrice = tds.eq(length - 2).find("input").val(); 
 | 
                    //兑换所需积分 
 | 
                    var scoreCount = tds.eq(length - 1).find("input").val(); 
 | 
                    if(scorePrice == ""||scoreCount==""){ 
 | 
                        layer.msg("请填写兑换所需金额和积分",{ 
 | 
                            icon : 2, 
 | 
                            time : 2000 
 | 
                        }); 
 | 
                        flag = true; 
 | 
                        return false; 
 | 
                    } 
 | 
                } 
 | 
  
 | 
                var name = tds.eq(length - 11).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 -9).find("input").val(); 
 | 
                if(stock == ""){ 
 | 
                    layer.msg("请填写库存",{ 
 | 
                        icon : 2, 
 | 
                        time : 2000 
 | 
                    }); 
 | 
                    flag = true; 
 | 
                    return false; 
 | 
                } 
 | 
                var price = tds.eq(length - 8 ).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> 
 |