初始上传
This commit is contained in:
135
addon/fenxiao/shop/view/config/agreement.html
Executable file
135
addon/fenxiao/shop/view/config/agreement.html
Executable file
@@ -0,0 +1,135 @@
|
||||
<div class="layui-form form-wrap">
|
||||
<!-- 基础上传 -->
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">分销商申请设置</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-form-item apply">
|
||||
<label class="layui-form-label">显示申请协议:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_agreement" value="1" lay-filter="level" title="显示" {if $agreement_info.is_agreement == 1} checked {/if}/>
|
||||
<input type="radio" name="is_agreement" value="0" lay-filter="level" title="隐藏" {if $agreement_info.is_agreement != 1} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item apply_img">
|
||||
<label class="layui-form-label">申请页面顶部图片:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="upload-img-block">
|
||||
<div class="upload-img-box {notempty name="$agreement_info['img']"}hover{/notempty}">
|
||||
<div class="upload-default" id="applyImg">
|
||||
{if condition="$agreement_info.img"}
|
||||
<div id="preview_imgUpload" class="preview_img">
|
||||
<img layer-src src="{:img($agreement_info.img)}" class="img_prev"/>
|
||||
</div>
|
||||
{else/}
|
||||
<div class="upload">
|
||||
<i class="iconfont iconshangchuan"></i>
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<div class="operation">
|
||||
<div>
|
||||
<i title="图片预览" class="iconfont iconreview js-preview" style="margin-right: 20px;"></i>
|
||||
<i title="删除图片" class="layui-icon layui-icon-delete js-delete"></i>
|
||||
</div>
|
||||
<div class="replace_img js-replace">点击替换</div>
|
||||
</div>
|
||||
<input type="hidden" name="img" value="{$agreement_info.img}">
|
||||
</div>
|
||||
<!-- <p id="applyImg" class=" {if condition='$agreement_info.img'} replace {else/} no-replace{/if}">替换</p>
|
||||
<input type="hidden" name="img" value="{$agreement_info.img}">
|
||||
<i class="del {if condition="$agreement_info.img"}show{/if}">x</i> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="word-aux">
|
||||
<p>建议尺寸:750*337像素</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">协议设置</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">协议名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="agreement_title" value="{$document.title}" lay-verify="required" class="layui-input len-mid new_pass" maxlength="18">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">协议内容:</label>
|
||||
<div class="layui-input-block">
|
||||
<script id="editor" type="text/plain" class="special-length" style="height:600px;"></script>
|
||||
<input type="hidden" name="agreement_content" id="agreement_content" value="{$document.content}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row" style="margin-top:0;padding-left:20px;">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.config.js?time=20240614"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.all.js?time=20240614"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/lang/zh-cn/zh-cn.js"></script>
|
||||
<script>
|
||||
//实例化富文本
|
||||
var ue = UE.getEditor('editor');
|
||||
if($("#agreement_content").val()){
|
||||
ue.ready(function() {
|
||||
ue.setContent($("#agreement_content").val());
|
||||
});
|
||||
}
|
||||
|
||||
layui.use(['form'], function() {
|
||||
var form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
var upload = new Upload({
|
||||
elem: '#applyImg'
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
var field = data.field;
|
||||
|
||||
// 删除图片
|
||||
if(!field.img) upload.delete();
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("fenxiao://shop/config/agreement"),
|
||||
data: {
|
||||
'is_agreement' : field.is_agreement,
|
||||
'agreement_title' : field.agreement_title,
|
||||
'agreement_content' : ue.getContent(),
|
||||
'img' : field.img,
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
482
addon/fenxiao/shop/view/config/basics.html
Executable file
482
addon/fenxiao/shop/view/config/basics.html
Executable file
@@ -0,0 +1,482 @@
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">分销设置</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否开启分销:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="level_config" value="1" lay-filter="open_distribution" title="开启" {if $basics_info.level > 0} checked {/if}/>
|
||||
<input type="radio" name="level_config" value="0" lay-filter="open_distribution" title="关闭" {if $basics_info.level == 0} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<label class="layui-form-label">分销层级:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="level" value="1" title="一级分销" {if $basics_info.level == 1 || $basics_info.level == 0} checked {/if} lay-filter="level"/>
|
||||
<input type="radio" name="level" value="2" title="二级分销" {if $basics_info.level == 2} checked {/if} lay-filter="level"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<label class="layui-form-label">是否开启自购分佣:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="self_purchase_rebate" value="1" title="开启" {if $basics_info.self_purchase_rebate == 1} checked {/if}/>
|
||||
<input type="radio" name="self_purchase_rebate" value="0" title="关闭" {if $basics_info.self_purchase_rebate != 1} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux ">开启自购,分销商购买自身获得一级佣金<br/>关闭自购,分销商的上级分销商获得一级佣金,自身不再返佣</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<label class="layui-form-label">是否展示商品详情一级佣金:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_commission_money" value="1" title="开启" {if $basics_info.is_commission_money == 1} checked {/if}/>
|
||||
<input type="radio" name="is_commission_money" value="0" title="关闭" {if $basics_info.is_commission_money != 1} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux ">开启后,商品详情显示,关闭后,商品详情不显示</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-card card-common card-brief distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">上下线关系</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">绑定下级条件:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="child_condition" value="1" lay-filter="child_condition" title="首次点击分享链接" checked />
|
||||
<input type="radio" name="child_condition" value="2" lay-filter="child_condition" title="首次下单" {if $relation_info.child_condition == 2} checked {/if}/>
|
||||
<input type="radio" name="child_condition" value="3" lay-filter="child_condition" title="首次付款" {if $relation_info.child_condition == 3} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux" id="child_condition_desc"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card card-common card-brief distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">分销商资格</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-form-item distribution-index">
|
||||
<label class="layui-form-label">分销商申请方式:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_apply" value="0" lay-filter="is_apply" title="人人分销" {if $basics_info.is_apply == 0} checked {/if}/>
|
||||
<input type="radio" name="is_apply" value="1" lay-filter="is_apply" title="申请分销" {if $basics_info.is_apply == 1} checked {/if}/>
|
||||
<input type="radio" name="is_apply" value="2" lay-filter="is_apply" title="手动设置" {if $basics_info.is_apply == 2} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux">人人分销:分销商不需要申请,达到条件自动成为分销商</div>
|
||||
<div class="word-aux">申请分销:会员达到条件需要申请才能成为分销商</div>
|
||||
<div class="word-aux">手动设置:分销商只有在后台进行添加,前台会员无法进行申请</div>
|
||||
</div>
|
||||
|
||||
<div class="fenxiao-condition" {if $basics_info.is_apply == 2}style="display:none;"{/if}>
|
||||
<div class="layui-form-item is-examine {if $basics_info.is_apply == 0}layui-hide{/if}">
|
||||
<label class="layui-form-label">是否需要审核:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="is_examine" value="1" title="开启" {if $basics_info.is_examine == 1} checked {/if}/>
|
||||
<input type="radio" name="is_examine" value="0" title="关闭" {if $basics_info.is_examine != 1} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux ">开启后,分销商申请之后还需要后台审核</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item distributor">
|
||||
<label class="layui-form-label">成为分销商条件:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="fenxiao_condition" value="0" lay-filter="fenxiao_condition" title="无条件" {if $fenxiao_info.fenxiao_condition == 0} checked {/if}/>
|
||||
<!-- <input type="radio" name="fenxiao_condition" value="1" lay-filter="fenxiao_condition" title="申请" {if $fenxiao_info.fenxiao_condition == 1} checked {/if}/>-->
|
||||
<input type="radio" name="fenxiao_condition" value="2" lay-filter="fenxiao_condition" title="消费次数" {if $fenxiao_info.fenxiao_condition == 2} checked {/if}/>
|
||||
<input type="radio" name="fenxiao_condition" value="3" lay-filter="fenxiao_condition" title="消费金额" {if $fenxiao_info.fenxiao_condition == 3} checked {/if}/>
|
||||
<input type="radio" name="fenxiao_condition" value="4" lay-filter="fenxiao_condition" title="购买指定商品" {if $fenxiao_info.fenxiao_condition == 4} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux"></div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide consume_count">
|
||||
<label class="layui-form-label">累计消费次数:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="consume_count" value="{$fenxiao_info.consume_count}" autocomplete="off" class="layui-input" onblur="checkInput(this, 'consume_count')">
|
||||
</div>
|
||||
<div class="layui-form-mid">次</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide consume_money">
|
||||
<label class="layui-form-label">累计消费金额:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="consume_money" value="{$fenxiao_info.consume_money}" autocomplete="off" class="layui-input" onblur="checkInput(this, 'consume_money')">
|
||||
</div>
|
||||
<div class="layui-form-mid">元</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-hide consume_goods">
|
||||
<div class="layui-form-item goods_list">
|
||||
<label class="layui-form-label"></label>
|
||||
<div class="layui-input-block">
|
||||
<table id="selected_sku_list"></table>
|
||||
<input type="hidden" lay-verify="goods_ids" name="goods_ids">
|
||||
<button class="layui-btn" onclick="addGoods()">选择商品</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-hide consume_condition">
|
||||
<label class="layui-form-label">消费条件:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="consume_condition" value="1" title="付款后" checked/>
|
||||
<input type="radio" name="consume_condition" value="2" title="订单完成" {if $fenxiao_info.consume_condition == 2} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-card card-common card-brief distribution-index {if $basics_info.level == 0}layui-hide{/if}">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">默认分销佣金比率</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="fenxiao-rate">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>一级返佣比例:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" name="one_rate" value="{$level.one_rate ?? 0}" lay-verify="level_rate" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="layui-form-mid">%</div>
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>会员购买后给对应分销商的返佣比例</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fenxiao-rate" {$basics_info.level >= 2}style="display:none"{/if}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>二级返佣比例:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" name="two_rate" value="{$level.two_rate ?? 0}" lay-verify="level_rate" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="layui-form-mid">%</div>
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>会员购买后给对应分销商的上级分销商返佣比例</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fenxiao-rate" {$basics_info.level == 3}style="display:none"{/if}>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>三级返佣比例:</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" min="0" name="three_rate" value="{$level.three_rate ?? 0}" lay-verify="level_rate" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="layui-form-mid">%</div>
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>会员购买后给当前等级分销商的上上级分销商返佣比例</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row" style="margin-top:0;padding-left:20px;">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
</div>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="operation">
|
||||
<div class="table-btn">
|
||||
<a class="layui-btn" onclick="delGoods({{d.goods_id}})">删除</a>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var selectedGoodsId = [], goods_id=[] ;
|
||||
var goods_list = {:json_encode($fenxiao_info.goods_list, JSON_UNESCAPED_UNICODE)};
|
||||
if (goods_list.length==0){
|
||||
goods_list = [];
|
||||
}
|
||||
$.each(goods_list, function(index, item) {
|
||||
var id = item.goods_id;
|
||||
selectedGoodsId.push(id);
|
||||
goods_id.push(id);
|
||||
});
|
||||
renderTable(goods_list);
|
||||
$("input[name='goods_ids']").val(goods_id.toString());
|
||||
layui.use(['form'], function() {
|
||||
var form = layui.form,
|
||||
openDistribution = "{$basics_info.level}",
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
renderTable(goods_list); // 初始化表格
|
||||
|
||||
form.verify({
|
||||
goods_ids: function(value){
|
||||
var type = $('[name="fenxiao_condition"]:checked').val();
|
||||
if(type==4){
|
||||
if (!/[\S]+/.test(value)) {
|
||||
return '请选择商品';
|
||||
}
|
||||
}
|
||||
},
|
||||
level_rate: function (value, elem) {
|
||||
var title = $(elem).parents('.layui-form-item').find('.layui-form-label').text().replace('*', '').replace(':', '');
|
||||
if (!$(elem).is(':hidden')) {
|
||||
if (!/[\S]+/.test(value)) {
|
||||
return '请输入' + title;
|
||||
}
|
||||
if (!/^(([0-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/.test(value)) {
|
||||
return title + `格式输入错误`;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
if(!parseInt(openDistribution)){
|
||||
data.field.level = data.field.level_config;
|
||||
}
|
||||
if (data.field.level) {
|
||||
var rate = 0;
|
||||
$('.fenxiao-rate:not(:hidden)').each(function () {
|
||||
var value = parseFloat($(this).find('input').val());
|
||||
if (!isNaN(value)) rate += value;
|
||||
});
|
||||
if (rate > 100) {
|
||||
layer.msg('分销佣金比率之和不能超出100', {icon: 5});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("fenxiao://shop/config/basics"),
|
||||
data: data.field,
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
form.on('radio(open_distribution)', function(data){
|
||||
openDistribution = data.value;
|
||||
if (!parseInt(openDistribution)){
|
||||
$(".distribution-index").addClass('layui-hide');
|
||||
return false;
|
||||
}
|
||||
$(".distribution-index").removeClass('layui-hide');
|
||||
});
|
||||
|
||||
form.on('radio(level)', function (data) {
|
||||
$('.fenxiao-rate').hide();
|
||||
$('.fenxiao-rate:lt('+ data.value +')').show()
|
||||
});
|
||||
|
||||
form.on('radio(is_apply)', function (data) {
|
||||
if (data.value == 0) {
|
||||
$('.is-examine').addClass('layui-hide');
|
||||
$('.fenxiao-condition').show();
|
||||
$('[name="is_examine"][value="0"]').prop('checked', true);
|
||||
} else if (data.value == 1) {
|
||||
$('.is-examine').removeClass('layui-hide');
|
||||
$('.fenxiao-condition').show();
|
||||
} else {
|
||||
$('.fenxiao-condition').hide();
|
||||
}
|
||||
});
|
||||
|
||||
//监听成为分销商条件选择
|
||||
form.on('radio(fenxiao_condition)', function(data){
|
||||
var value = data.value;
|
||||
distributionConditions(value);
|
||||
});
|
||||
|
||||
form.on('radio(child_condition)', function(data){
|
||||
childConditionChange(data.value);
|
||||
});
|
||||
|
||||
function childConditionChange(child_condition){
|
||||
var config = {
|
||||
1 : '非分销商用户在点击分销商的分享链接后即可成为该分销商的下线',
|
||||
2 : '非分销商用户在点击分销商的分享链接后在商城中创建订单即可成为该分销商的下线',
|
||||
3 : '非分销商用户在点击分销商的分享链接后在商城中创建订单并支付成功即可成为该分销商的下线',
|
||||
};
|
||||
$("#child_condition_desc").html(config[child_condition]);
|
||||
}
|
||||
|
||||
//默认选中
|
||||
childConditionChange('{$relation_info.child_condition}');
|
||||
|
||||
distributionConditions("{$fenxiao_info.fenxiao_condition}");
|
||||
function distributionConditions (value){
|
||||
value = parseInt(value);
|
||||
|
||||
$('.consume_count').addClass("layui-hide");
|
||||
$('.consume_money').addClass("layui-hide");
|
||||
$('.consume_goods').addClass("layui-hide");
|
||||
$('.consume_condition').addClass("layui-hide");
|
||||
$('.apply').addClass("layui-hide");
|
||||
|
||||
//无条件
|
||||
if(value == 0){
|
||||
$(".distributor .word-aux").text("不需要任何条件,申请注册即可成为分销商");
|
||||
}
|
||||
//申请
|
||||
if(value == 1){
|
||||
$('.apply').removeClass("layui-hide");
|
||||
$(".distributor .word-aux").text("需申请通过,才可以成为分销商");
|
||||
}
|
||||
//消费次数
|
||||
if(value == 2){
|
||||
$('.consume_count').removeClass("layui-hide");
|
||||
$('.consume_condition').removeClass("layui-hide");
|
||||
|
||||
$(".distributor .word-aux").text("当消费次数达到一定数量并申请通过才可以成为分销商");
|
||||
}
|
||||
//消费金额
|
||||
if(value == 3){
|
||||
$('.consume_money').removeClass("layui-hide");
|
||||
$('.consume_condition').removeClass("layui-hide");
|
||||
|
||||
$(".distributor .word-aux").text("当消费金额达到一定数量并申请通过才可以成为分销商");
|
||||
}
|
||||
//购买指定商品
|
||||
if(value == 4){
|
||||
$('.consume_goods').removeClass("layui-hide");
|
||||
$('.consume_condition').removeClass("layui-hide");
|
||||
|
||||
$(".distributor .word-aux").text("商品任选其-购买即可成为分销商");
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/* 商品 */
|
||||
function addGoods(){
|
||||
goodsSelect(function (data) {
|
||||
|
||||
goods_list = [];
|
||||
goods_id = [];
|
||||
|
||||
for (var key in data) {
|
||||
goods_id.push(data[key].goods_id);
|
||||
goods_list.push(data[key]);
|
||||
}
|
||||
|
||||
renderTable(goods_list);
|
||||
$("input[name='goods_ids']").val(goods_id.toString());
|
||||
selectedGoodsId = goods_id;
|
||||
|
||||
}, selectedGoodsId, {mode: "spu"});
|
||||
}
|
||||
|
||||
// 删除选中商品
|
||||
function delGoods(id) {
|
||||
var i, j;
|
||||
$.each(goods_list, function(index, item) {
|
||||
var goods_id = item.goods_id;
|
||||
|
||||
if (id == Number(goods_id)) {
|
||||
i = index;
|
||||
}
|
||||
});
|
||||
goods_list.splice(i, 1);
|
||||
renderTable(goods_list);
|
||||
|
||||
$.each(selectedGoodsId, function(index, item) {
|
||||
if (id == Number(item)) {
|
||||
j = index;
|
||||
}
|
||||
});
|
||||
selectedGoodsId.splice(j, 1);
|
||||
goods_id = selectedGoodsId;
|
||||
$("input[name='goods_ids']").val(goods_id.toString());
|
||||
}
|
||||
|
||||
// 表格渲染
|
||||
function renderTable(goods_list) {
|
||||
//展示已知数据
|
||||
table = new Table({
|
||||
elem: '#selected_sku_list',
|
||||
page: false,
|
||||
limit: Number.MAX_VALUE,
|
||||
cols: [
|
||||
[{
|
||||
field: 'goods_name',
|
||||
title: '商品名称',
|
||||
unresize: 'false',
|
||||
width: '50%',
|
||||
templet: function(data) {
|
||||
var html = '';
|
||||
html += `
|
||||
<div class="goods-title" style="display:flex;">
|
||||
<div class="goods-img">
|
||||
<img src="${data.goods_image ? ns.img(data.goods_image.split(",")[0],'small') : ''}" alt="">
|
||||
</div>
|
||||
<p class="multi-line-hiding goods-name" style="margin:20px 0 0 10px;">${data.goods_name}</p>
|
||||
</div>
|
||||
`;
|
||||
return html;
|
||||
}
|
||||
}, {
|
||||
field: 'price',
|
||||
title: '商品价格(元)',
|
||||
unresize: 'false',
|
||||
align: 'right',
|
||||
width: '20%',
|
||||
templet: function(data) {
|
||||
return '¥' + data.price;
|
||||
}
|
||||
}, {
|
||||
field: 'goods_stock',
|
||||
title: '库存',
|
||||
unresize: 'false',
|
||||
align: 'center',
|
||||
width: '20%'
|
||||
}, {
|
||||
title: '操作',
|
||||
toolbar: '#operation',
|
||||
unresize: 'false',
|
||||
align:'right'
|
||||
}],
|
||||
],
|
||||
data: goods_list,
|
||||
});
|
||||
}
|
||||
function checkInput(obj, type){
|
||||
if(type == 'consume_money'){
|
||||
$(obj).val(Math.abs($(obj).val()));
|
||||
}
|
||||
if(type == 'consume_count'){
|
||||
$(obj).val(Math.floor(Math.abs($(obj).val())));
|
||||
}
|
||||
}
|
||||
</script>
|
||||
58
addon/fenxiao/shop/view/config/promote_rule.html
Executable file
58
addon/fenxiao/shop/view/config/promote_rule.html
Executable file
@@ -0,0 +1,58 @@
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">推广活动规则设置</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">规则内容:</label>
|
||||
<div class="layui-input-block">
|
||||
<script id="editor" type="text/plain" class="special-length" style="height:600px;"></script>
|
||||
<input type="hidden" name="content" id="content" value="{$document.content}" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.config.js?time=20240614"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.all.js?time=20240614"></script>
|
||||
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/lang/zh-cn/zh-cn.js"></script>
|
||||
|
||||
<script>
|
||||
//实例化富文本
|
||||
var ue = UE.getEditor('editor');
|
||||
if($("#content").val()){
|
||||
ue.ready(function() {
|
||||
ue.setContent($("#content").val());
|
||||
});
|
||||
}
|
||||
|
||||
layui.use(['form'], function() {
|
||||
var form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("fenxiao://shop/config/promoterule"),
|
||||
data: {
|
||||
'content' : ue.getContent(),
|
||||
},
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
144
addon/fenxiao/shop/view/config/settlement.html
Executable file
144
addon/fenxiao/shop/view/config/settlement.html
Executable file
@@ -0,0 +1,144 @@
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-card card-common card-brief">
|
||||
<div class="layui-card-header">
|
||||
<span class="card-title">提现设置</span>
|
||||
</div>
|
||||
<div class="layui-card-body">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">提现审核:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="withdraw_status" value="1" title="手动审核" {if $withdraw_info.withdraw_status == 1} checked {/if} />
|
||||
<input type="radio" name="withdraw_status" value="2" title="自动审核" {if $withdraw_info.withdraw_status == 2} checked {/if}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">自动转账:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="is_auto_transfer" lay-filter="is_auto_transfer" value="1" lay-skin="switch" {if !empty($withdraw_info.is_auto_transfer) && $withdraw_info.is_auto_transfer==1 } checked {/if} >
|
||||
</div>
|
||||
<div class="word-aux">只有微信和支付宝支付支持自动转账</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">佣金提现手续费:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="withdraw_rate" lay-verify="positivEinteger" value="{$withdraw_info.withdraw_rate ?? 0}" autocomplete="off" class="layui-input len-short" >
|
||||
</div>
|
||||
<div class="layui-form-mid">%</div>
|
||||
</div>
|
||||
<div class="word-aux">比率必须为0-100的数且保留两位小数,提现到余额时没有手续费</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">最低提现金额:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="withdraw" id="min" value="{if condition="!empty($withdraw_info.withdraw)"}{$withdraw_info.withdraw ?: 0}{else/}0{/if}" lay-verify="growthMinInteger" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux">最低提现金额必须大于0</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">最高提现额度:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="max" value="{if condition="!empty($withdraw_info.max)"}{$withdraw_info.max ?: 0}{else/}0{/if}" lay-verify="growthMaxInteger" autocomplete="off" class="layui-input len-short">
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux">额度设置为0为不限制</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">转账方式:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
{foreach $transfer_type_list as $k => $v}
|
||||
<input type="checkbox" lay-filter="transfer_type" name="transfer_type[]" title="{$v}" lay-skin="primary" value="{$k}" {if !empty($withdraw_info.transfer_type) && stripos($withdraw_info.transfer_type, $k) !== false}checked{/if}>
|
||||
{/foreach}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['form'], function() {
|
||||
var form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
form.on('submit(save)', function(data) {
|
||||
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("fenxiao://shop/config/settlement"),
|
||||
data: data.field,
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
max_no_fee: function(value){
|
||||
|
||||
var min_no_fee = $('input[name="min_no_fee"]').val();
|
||||
|
||||
if(parseFloat(min_no_fee) > parseFloat(value)){
|
||||
return '免手续费区间输入有误,区间最大值不能小于最小值';
|
||||
}
|
||||
},
|
||||
positivEinteger: function(value){
|
||||
if (parseFloat(value) < 0 || parseFloat(value) > 100) {
|
||||
return '请输入0-100之间的数';
|
||||
}
|
||||
if (value.split(".").length > 1) {
|
||||
var len = value.split(".")[1].length;
|
||||
if (len > 2) {
|
||||
return '门店抽成比率最多两位小数';
|
||||
}
|
||||
}
|
||||
},
|
||||
growthMinInteger: function (value) {
|
||||
if(value <= 0){
|
||||
return '最低提现金额必须大于0';
|
||||
}
|
||||
if (value.split(".").length > 1) {
|
||||
let len = value.split(".")[1].length;
|
||||
if (len > 2) {
|
||||
return '最低提现金额最多保留两位小数';
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
growthMaxInteger: function (value) {
|
||||
var min = $('#min').val();
|
||||
if(parseFloat(value) < 0){
|
||||
return '最高提现额度不可为负数';
|
||||
}
|
||||
|
||||
if(parseInt(min) > 0 && parseInt(value) > 0 && parseInt(value) < parseInt(min)){
|
||||
return '不能小于最低提现额度';
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
96
addon/fenxiao/shop/view/config/words.html
Executable file
96
addon/fenxiao/shop/view/config/words.html
Executable file
@@ -0,0 +1,96 @@
|
||||
<div class="layui-form form-wrap">
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分销概念:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="concept" lay-verify="required" {if condition="isset($config_info.concept)"} value='{$config_info.concept}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改分销概念的名称,在我的分销中心以及申请成为分销商页面,会用新的分销概念名称替换分销概念</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分销商名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="fenxiao_name" lay-verify="required" {if condition="isset($config_info.fenxiao_name)"} value='{$config_info.fenxiao_name}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改分销商的名称,在我的分销中心以及申请成为分销商页面,会用新的分销商名称替换分销商名称</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">提现:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="withdraw" lay-verify="required" {if condition="isset($config_info.withdraw)"} value='{$config_info.withdraw}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改提现名称,在我的分销中心以及申请成为分销商页面,会用新的提现名称替换提现</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">佣金:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="account" lay-verify="required" {if condition="isset($config_info.account)"} value='{$config_info.account}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改佣金名称,在我的分销中心以及申请成为分销商页面,会用新的分佣金名称替换佣金</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">我的团队:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="my_team" lay-verify="required" {if condition="isset($config_info.my_team)"} value='{$config_info.my_team}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改我的团队名称,在我的分销中心以及申请成为分销商页面,会用新的我的团队名称替换我的团队</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">下线:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="child" lay-verify="required" {if condition="isset($config_info.child)"} value='{$config_info.child}' {/if} autocomplete="off" class="layui-input len-mid">
|
||||
</div>
|
||||
<div class="word-aux">
|
||||
<p>更改下线名称,在我的分销中心以及申请成为分销商页面,会用新的下线名称替换下线</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['form'], function() {
|
||||
var form = layui.form,
|
||||
repeat_flag = false;
|
||||
form.render();
|
||||
|
||||
/**
|
||||
* 表单提交
|
||||
*/
|
||||
form.on('submit(save)', function(data){
|
||||
|
||||
if(repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
dataType: 'JSON',
|
||||
url: ns.url("fenxiao://shop/config/words"),
|
||||
data: data.field,
|
||||
async: false,
|
||||
success: function(res){
|
||||
repeat_flag = false;
|
||||
layer.msg(res.message);
|
||||
}
|
||||
})
|
||||
});
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user