| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label febs-form-item-require">商品品类</label> |
| | | <div class="layui-input-block"> |
| | | <select name="isUnreal" class="goods-type"> |
| | | <option value="1">【虚拟产品】。即购买结束,订单自动完成。</option> |
| | | <option value="2">【实物】。需要收到发货,客户确认。</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item febs-hide class-set"> |
| | | <label class="layui-form-label">课程视频:</label> |
| | | <div class="layui-input-block"> |
| | | <button type="button" class="layui-btn upload" id="uploadVideo" style="margin-bottom: 2px">上传文件</button> |
| | | <input type="text" name="videoUrl" autocomplete="off" value="" id="videoUrl" class="layui-input" readonly> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-form-item febs-hide house-set"> |
| | | <label class="layui-form-label">酒店名称:</label> |
| | |
| | | </label> |
| | | </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> |
| | | <!-- <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>–>--> |
| | | <!-- <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> |
| | | <div class="layui-tab-item"> |
| | | <blockquote class="layui-elem-quote blue-border">价格设置</blockquote> |
| | |
| | | }); |
| | | |
| | | formSelects.render(); |
| | | |
| | | 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, '') |
| | | }, |
| | | } |
| | | 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', |
| | |
| | | }); |
| | | }) |
| | | } |
| | | upload.render({ |
| | | elem: '#uploadVideo' |
| | | ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 |
| | | ,accept: 'file' |
| | | ,before: function(obj){ |
| | | layer.msg('上传中', {icon: 16, time: 0}); |
| | | } |
| | | ,done: function(res){ |
| | | var item = this.item; |
| | | //如果上传失败 |
| | | if(res.code !== 0){ |
| | | return layer.msg('上传失败'); |
| | | } |
| | | |
| | | // $(item).parent().prev().find('input').val(res.data[0]); |
| | | $("#videoUrl").val(res.data.src); |
| | | layer.msg('上传完毕', {icon: 1}); |
| | | } |
| | | ,error: function(err){ |
| | | return layer.msg('上传失败'); |
| | | } |
| | | }); |
| | | |
| | | function initValue() { |
| | | var images = goodsInfo.images; |
| | |
| | | "levelOnePrice": goodsInfo.levelOnePrice, |
| | | "levelTwoPrice": goodsInfo.levelTwoPrice, |
| | | "levelThreePrice": goodsInfo.levelThreePrice, |
| | | "videoUrl": goodsInfo.videoUrl, |
| | | "houseName": goodsInfo.houseName, |
| | | "houseAddress": goodsInfo.houseAddress, |
| | | "isUnreal": goodsInfo.isUnreal, |
| | | "costPrice": goodsInfo.costPrice, |
| | | "isSku": goodsInfo.isSku, |
| | | "thumb": goodsInfo.thumb, |
| | |
| | | "carriageAmount": goodsInfo.carriageAmount, |
| | | "goodsWeight": goodsInfo.goodsWeight, |
| | | "orderNumber": goodsInfo.orderNumber, |
| | | "goodsDetails": goodsInfo.goodsDetails, |
| | | "thumbs": thumbs |
| | | }); |
| | | |
| | |
| | | |
| | | if (goodsInfo.isNormal == 5) { |
| | | $(".house-set").show(); |
| | | } |
| | | |
| | | if (goodsInfo.isNormal == 4) { |
| | | $(".class-set").show(); |
| | | } |
| | | |
| | | if (goodsInfo.levelTwoPrice == 1) { |
| | |
| | | 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); |
| | | |
| | | } |
| | | |
| | | form.on('submit(goods-update-form-submit)', function (data) { |
| | |
| | | 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', |
| | |
| | | $(this).hide(); |
| | | } |
| | | }) |
| | | $('.class-set').each(function() { |
| | | if (data.value == 4) { |
| | | $(this).show(); |
| | | } else { |
| | | $(this).hide(); |
| | | } |
| | | }) |
| | | }); |
| | | |
| | | form.on('radio(hasRoll)', function(data){ |