|  |  |  | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <!--                                        <div class="layui-form-item">--> | 
|---|
|  |  |  | <!--                                            <label class="layui-form-label febs-form-item-require">商品详情:</label>--> | 
|---|
|  |  |  | <!--                                            <div class="layui-input-block">--> | 
|---|
|  |  |  | <!--                                                <textarea id="goodsDetailsUpdate" lay-verify="content" name="goodsDetails" class="layui-textarea"></textarea>--> | 
|---|
|  |  |  | <!--<!–                                                <div style="border: 1px solid #ccc;">–>--> | 
|---|
|  |  |  | <!--<!–                                                    <div id="toolbar-container-good-update" style="border-bottom: 1px solid #ccc;"></div>–>--> | 
|---|
|  |  |  | <!--<!–                                                    <div id="editor-container-good-update" style="height: 300px;"></div>–>--> | 
|---|
|  |  |  | <!--<!–                                                </div>–>--> | 
|---|
|  |  |  | <!--                                            </div>--> | 
|---|
|  |  |  | <!--                                        </div>--> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <div class="layui-form-item"> | 
|---|
|  |  |  | <label class="layui-form-label febs-form-item-require">商品详情:</label> | 
|---|
|  |  |  | <div class="layui-input-block"> | 
|---|
|  |  |  | <!--                                                <textarea id="lay_edit" lay-verify="goodsDetails" name="goodsDetails" class="layui-textarea"></textarea>--> | 
|---|
|  |  |  | <!--                                                <textarea id="goodsDetailEditAdd" lay-verify="content" name = "goodsDetails" class="layui-textarea"></textarea>--> | 
|---|
|  |  |  | <div style="border: 1px solid #ccc;"> | 
|---|
|  |  |  | <div id="toolbar-container-good-update" style="border-bottom: 1px solid #ccc;"></div> | 
|---|
|  |  |  | <div id="editor-container-good-update" style="height: 300px;"></div> | 
|---|
|  |  |  | <div id="toolbar-container" class="toolbar"></div> | 
|---|
|  |  |  | <div id="text-container" class="text" style="height: 450px;"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <label class="layui-form-label febs-form-item-require">邮费模板:</label> | 
|---|
|  |  |  | <div class="layui-input-block"> | 
|---|
|  |  |  | <div id="carriage-rule"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <blockquote class="layui-elem-quote blue-border">优惠卷设置</blockquote> | 
|---|
|  |  |  | <div class="layui-form-item coupon-rule"> | 
|---|
|  |  |  | <div class="layui-col-lg6"> | 
|---|
|  |  |  | <label class="layui-form-label">优惠卷:</label> | 
|---|
|  |  |  | <div class="layui-input-block"> | 
|---|
|  |  |  | <div id="coupon-rule"></div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | elem: '#febs-form-group-date' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | formSelects.render(); | 
|---|
|  |  |  | // layedit.set({   //设置图片接口 | 
|---|
|  |  |  | //     uploadImage: { | 
|---|
|  |  |  | //         url: 'admin/goods/uploadFileBase64', //接口url | 
|---|
|  |  |  | //         type: 'post', | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // //创建一个编辑器 | 
|---|
|  |  |  | // var indexUpdate = layedit.build('goodsDetailsUpdate',{ | 
|---|
|  |  |  | //     height: 300 | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | // form.verify({ | 
|---|
|  |  |  | //     //content富文本域中的lay-verify值 | 
|---|
|  |  |  | //     content: function(value) { | 
|---|
|  |  |  | //         return layedit.sync(indexUpdate); | 
|---|
|  |  |  | //     } | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var E = window.wangEditor; | 
|---|
|  |  |  | const editorConfig = { MENU_CONF: {} }; | 
|---|
|  |  |  | editorConfig.MENU_CONF['uploadImage'] = { | 
|---|
|  |  |  | server: '/admin/goods/uploadFileBase64', | 
|---|
|  |  |  | fieldName : "file", | 
|---|
|  |  |  | customInsert(res, insertFn) { | 
|---|
|  |  |  | insertFn(res.data.src, res.data.title, '') | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | } | 
|---|
|  |  |  | formSelects.render(); | 
|---|
|  |  |  | const E = window.wangEditor; | 
|---|
|  |  |  | const editor = new E('#toolbar-container', '#text-container'); // 传入两个元素 | 
|---|
|  |  |  | editor.config.showLinkImg = false; | 
|---|
|  |  |  | editor.config.uploadFileName = 'file'; | 
|---|
|  |  |  | editor.config.customUploadImg = function (files, insertImgFn) { | 
|---|
|  |  |  | // files 是 input 中选中的文件列表 | 
|---|
|  |  |  | // insertImgFn 是获取图片 url 后,插入到编辑器的方法 | 
|---|
|  |  |  | // 上传图片,返回结果,将图片插入到编辑器中 | 
|---|
|  |  |  | for (let i = 0; i < files.length; i++){ | 
|---|
|  |  |  | var form = new FormData(); | 
|---|
|  |  |  | form.append("file", files[0]); | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | url:'/admin/goods/uploadFileBase64', | 
|---|
|  |  |  | type: "post", | 
|---|
|  |  |  | processData: false, | 
|---|
|  |  |  | contentType: false, | 
|---|
|  |  |  | data: form, | 
|---|
|  |  |  | dataType: 'json', | 
|---|
|  |  |  | success(res) { | 
|---|
|  |  |  | // 上传代码返回结果之后,将图片插入到编辑器中 | 
|---|
|  |  |  | insertImgFn(res.data.src, res.data.title, '') | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | editor.create(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // var E = window.wangEditor; | 
|---|
|  |  |  | // const editorConfig = { MENU_CONF: {} }; | 
|---|
|  |  |  | // editorConfig.MENU_CONF['uploadImage'] = { | 
|---|
|  |  |  | //     server: '/admin/goods/uploadFileBase64', | 
|---|
|  |  |  | //     fieldName : "file", | 
|---|
|  |  |  | //     customInsert(res, insertFn) { | 
|---|
|  |  |  | //         insertFn(res.data.src, res.data.title, '') | 
|---|
|  |  |  | //     }, | 
|---|
|  |  |  | // } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var category = xmSelect.render({ | 
|---|
|  |  |  | el: '#goods-category', | 
|---|
|  |  |  | 
|---|
|  |  |  | // initValue(); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var couponRule = xmSelect.render({ | 
|---|
|  |  |  | el: '#coupon-rule', | 
|---|
|  |  |  | language: 'zn', | 
|---|
|  |  |  | prop : { | 
|---|
|  |  |  | value : 'id', | 
|---|
|  |  |  | children : 'child' | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | iconfont: { | 
|---|
|  |  |  | parent: 'hidden', | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | // radio: true, | 
|---|
|  |  |  | clickClose: true, | 
|---|
|  |  |  | tree: { | 
|---|
|  |  |  | show: true, | 
|---|
|  |  |  | //非严格模式 | 
|---|
|  |  |  | strict: false, | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | data: [] | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | febs.get(ctx + 'admin/goods/couponTreeSet', null, function(res) { | 
|---|
|  |  |  | couponRule.update({ | 
|---|
|  |  |  | data : res.data, | 
|---|
|  |  |  | autoRow: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | initValue(); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var carriageRule = xmSelect.render({ | 
|---|
|  |  |  | el: '#carriage-rule', | 
|---|
|  |  |  | language: 'zn', | 
|---|
|  |  |  | 
|---|
|  |  |  | data : res.data, | 
|---|
|  |  |  | autoRow: true, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | initValue(); | 
|---|
|  |  |  | }) | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | var tableSkuData = []; | 
|---|
|  |  |  | var tableIns = table.render({ | 
|---|
|  |  |  | 
|---|
|  |  |  | "carriageAmount": goodsInfo.carriageAmount, | 
|---|
|  |  |  | "goodsWeight": goodsInfo.goodsWeight, | 
|---|
|  |  |  | "orderNumber": goodsInfo.orderNumber, | 
|---|
|  |  |  | "goodsDetails": goodsInfo.goodsDetails, | 
|---|
|  |  |  | "thumbs": thumbs | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | var arrCarriageRule = []; | 
|---|
|  |  |  | arrCarriageRule.push(goodsInfo.carriageRuleId) | 
|---|
|  |  |  | carriageRule.setValue(arrCarriageRule); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | couponRule.setValue(goodsInfo.couponIds); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (goodsInfo.isNormal == 2) { | 
|---|
|  |  |  | $(".tc-set").show(); | 
|---|
|  |  |  | 
|---|
|  |  |  | imgSingleBind(); | 
|---|
|  |  |  | imgMultiBind(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | window.editor = E.createEditor({ | 
|---|
|  |  |  | html: goodsInfo.goodsDetails, | 
|---|
|  |  |  | selector: '#editor-container-good-update', | 
|---|
|  |  |  | config : editorConfig, | 
|---|
|  |  |  | mode: 'default' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | window.toolbar = E.createToolbar({ | 
|---|
|  |  |  | editor, | 
|---|
|  |  |  | selector: '#toolbar-container-good-update', | 
|---|
|  |  |  | mode: 'default' | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // window.editor = E.createEditor({ | 
|---|
|  |  |  | //     html: goodsInfo.goodsDetails, | 
|---|
|  |  |  | //     selector: '#editor-container-good-update', | 
|---|
|  |  |  | //     config : editorConfig, | 
|---|
|  |  |  | //     mode: 'default' | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | // | 
|---|
|  |  |  | // window.toolbar = E.createToolbar({ | 
|---|
|  |  |  | //     editor, | 
|---|
|  |  |  | //     selector: '#toolbar-container-good-update', | 
|---|
|  |  |  | //     mode: 'default' | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (skus) { | 
|---|
|  |  |  | tableSkuData = skus; | 
|---|
|  |  |  | reloadTable(skus); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | editor.txt.html(goodsInfo.goodsDetails); | 
|---|
|  |  |  | // layedit.setContent(indexUpdate,, false); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | form.on('submit(goods-update-form-submit)', function (data) { | 
|---|
|  |  |  | let couponRuleList = couponRule.getValue(); | 
|---|
|  |  |  | if (couponRuleList.length > 0) { | 
|---|
|  |  |  | var couponIds = []; | 
|---|
|  |  |  | layui.each(couponRuleList, function (key, item) { | 
|---|
|  |  |  | couponIds.push(item.id) | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | data.field.couponIds=couponIds; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | data.field.goodsType=1; | 
|---|
|  |  |  | data.field.mailGoodsSkuDto = tableSkuData; | 
|---|
|  |  |  | data.field.delSkuId=delSku; | 
|---|
|  |  |  | data.field.categoryId = category.getValue('valueStr'); | 
|---|
|  |  |  | data.field.carriageRuleId = carriageRule.getValue('valueStr'); | 
|---|
|  |  |  | data.field.goodsDetails = editor.getHtml(); | 
|---|
|  |  |  | // data.field.goodsDetails = editor.getHtml(); | 
|---|
|  |  |  | data.field.goodsDetails = editor.txt.html(); | 
|---|
|  |  |  | $.ajax({ | 
|---|
|  |  |  | 'url': ctx + 'admin/goods/updateMallGoods', | 
|---|
|  |  |  | 'type': 'post', | 
|---|