初始上传
This commit is contained in:
242
addon/pc/shop/view/adv/add_adv.html
Executable file
242
addon/pc/shop/view/adv/add_adv.html
Executable file
@@ -0,0 +1,242 @@
|
||||
<style>
|
||||
.adv-url-show{margin-right: 10px;}
|
||||
.layui-colorpicker-main-input div.layui-inline{margin-right: 0;}
|
||||
.layui-colorpicker-main-input input.layui-input{width: 130px;height: 34px;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="adv_title" type="text" lay-verify="required" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{notempty name="$adv_position_list"}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属广告位:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="ap_id" lay-filter="ap_id">
|
||||
{foreach $adv_position_list as $adv_position_k => $adv_position_v}
|
||||
<option value="{$adv_position_v.ap_id}" {if $ap_id == $adv_position_v.ap_id}selected{/if} data-type="{$adv_position_v.type}" data-width="{$adv_position_v.ap_width}" data-height="{$adv_position_v.ap_height}">{$adv_position_v.ap_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" data-type="1" {if $adv_position_list[0]['type'] == 2}style="display: none"{/if}>
|
||||
<label class="layui-form-label">PC端广告链接:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="pc_link" lay-filter="pc_link">
|
||||
<option value="">请选择</option>
|
||||
{foreach $pc_link as $k => $v}
|
||||
<option value="{$v.url}">{$v.title}</option>
|
||||
{/foreach}
|
||||
<option value="diy">自定义</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" data-type="2" {if $adv_position_list[0]['type'] == 1}style="display: none"{/if}>
|
||||
<label class="layui-form-label">移动端广告链接:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<span class="adv-url-show"></span>
|
||||
<button class="layui-btn layui-btn-primary sm" onclick="selectedLink()">选择链接</button>
|
||||
</div>
|
||||
</div>
|
||||
<input name="adv_url" type="hidden" />
|
||||
{/notempty}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告图片:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="upload-img-block img-upload">
|
||||
<div class="upload-img-box">
|
||||
<div class="upload-default" id="adv_image">
|
||||
<div class="upload">
|
||||
<i class="iconfont iconshangchuan"></i>
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
</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="adv_image" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux">建议宽度<span class="pic_width">{$adv_position_list[0]['ap_width']}</span>px 建议高度<span class="pic_height">{$adv_position_list[0]['ap_height']}</span>px</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="slide_sort" value="0" type="number" placeholder="排序" lay-verify="num" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">排序值必须为整数</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="display: none">
|
||||
<label class="layui-form-label">广告价格:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="price" value="0.00" type="number" placeholder="广告价格" lay-verify="flo" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">广告价格 / 月</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">背景色:</label>
|
||||
<div class="layui-input-inline">
|
||||
<div id="bg_color"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否启用:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" checked />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backPcAdvList()">返回</button>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="background" id="ap_background_color" value="#FFFFFF" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'colorpicker'], function () {
|
||||
var form = layui.form,
|
||||
colorpicker = layui.colorpicker,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
form.on('select(ap_id)', function(data){
|
||||
var type = $(data.elem).find("option:selected").attr("data-type");
|
||||
var width = $(data.elem).find("option:selected").attr("data-width");
|
||||
var height = $(data.elem).find("option:selected").attr("data-height");
|
||||
$(".pic_width").text(width);
|
||||
$(".pic_height").text(height);
|
||||
$("[data-type]").hide();
|
||||
$("[data-type='"+ type+"']").show();
|
||||
});
|
||||
|
||||
form.on('select(pc_link)', function(data){
|
||||
var title = $(data.elem).find("option:selected").text();
|
||||
|
||||
if(data.value != 'diy'){
|
||||
$("input[name='adv_url']").val(JSON.stringify({
|
||||
"title": title,
|
||||
"url": data.value
|
||||
}));
|
||||
}else{
|
||||
layer.prompt({
|
||||
formType: 2,
|
||||
value :$("input[name='adv_url']").val() ? JSON.parse($("input[name='adv_url']").val()).url : '',
|
||||
title: '自定义链接地址',
|
||||
area: ['450px', '100px'],
|
||||
cancel : function () {
|
||||
$("input[name='adv_url']").val("");
|
||||
}
|
||||
}, function(value, index, elem){
|
||||
$("input[name='adv_url']").val(JSON.stringify({
|
||||
"title": title,
|
||||
"url": value
|
||||
}));
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
colorpicker.render({
|
||||
elem: '#bg_color', //绑定元素
|
||||
color: "#FFFFFF",
|
||||
done: function(color) {
|
||||
$(".tdrag-name").css("color", color);
|
||||
$("#ap_background_color").val(color);
|
||||
}
|
||||
});
|
||||
|
||||
// 广告图片
|
||||
var logo_upload = new Upload({
|
||||
elem: '#adv_image'
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听提交
|
||||
*/
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/addAdv"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('添加成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续添加'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("pc://shop/adv/lists", {ap_id: '{$ap_id}'})
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
listenerHash(); // 刷新页面
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
num: function (value) {
|
||||
let reg = ns.getRegexp('>=0num');
|
||||
if (value !== '' && !reg.test(value)) {
|
||||
return '排序数值必须为大于或等于0的整数'
|
||||
}
|
||||
},
|
||||
flo: function (value) {
|
||||
let reg = ns.getRegexp('>=0float2');
|
||||
if (value !== '' && !reg.test(value)) {
|
||||
return '价格必须大于或等于0,最多保留两位小数'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backPcAdvList() {
|
||||
location.hash = ns.hash("pc://shop/adv/lists", {ap_id : '{$ap_id}'})
|
||||
}
|
||||
|
||||
function selectedLink() {
|
||||
ns.select_link('', function (data) {
|
||||
for (var o in data) {
|
||||
if (data[o] == null) delete data[o];
|
||||
}
|
||||
|
||||
$("input[name='adv_url']").val(JSON.stringify(data));
|
||||
$(".adv-url-show").text(data.title);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
146
addon/pc/shop/view/adv/add_position.html
Executable file
146
addon/pc/shop/view/adv/add_position.html
Executable file
@@ -0,0 +1,146 @@
|
||||
<style>
|
||||
.layui-colorpicker-main-input div.layui-inline{margin-right: 0;}
|
||||
.layui-colorpicker-main-input input.layui-input{width: 130px;height: 34px;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告位置名:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_name" type="text" lay-verify="required" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告关键字:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="keyword" type="text" lay-verify="required" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告位简介:</label>
|
||||
<div class="layui-input-block len-long">
|
||||
<textarea name="ap_intro" class="layui-textarea" maxlength="150"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">建议广告图片宽度:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_width" value="1920" type="number" lay-verify="int" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">单位:px 宽度值不能小于0(例:首页轮播图一般为1920px * 400px)</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">建议广告图片高度:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_height" value="400" type="number" lay-verify="int" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">单位:px 高度值不能小于0(例:首页轮播图一般为1920px * 400px)</div>
|
||||
</div>
|
||||
|
||||
<!--<div class="layui-form-item">-->
|
||||
<!--<label class="layui-form-label">广告位类型:</label>-->
|
||||
<!--<div class="layui-input-inline" id="type">-->
|
||||
<!--<input type="radio" name="type" lay-filter="type" value="1" title="电脑端" checked>-->
|
||||
<!--<input type="radio" name="type" lay-filter="type" value="2" title="手机端" >-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告位背景色:</label>
|
||||
<div class="layui-input-inline">
|
||||
<div id="bg_color"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否启用:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" checked/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backPcAdvIndex()">返回</button>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="ap_background_color" id="ap_background_color" value="#FFFFFF" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'colorpicker'], function () {
|
||||
var form = layui.form,
|
||||
colorpicker = layui.colorpicker,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
colorpicker.render({
|
||||
elem: '#bg_color', //绑定元素
|
||||
color: "#FFFFFF",
|
||||
done: function(color) {
|
||||
$(".tdrag-name").css("color", color);
|
||||
$("#ap_background_color").val(color);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听提交
|
||||
*/
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/addPosition"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('添加成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续添加'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("pc://shop/adv/index")
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
listenerHash(); // 刷新页面
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
int: function (value) {
|
||||
if (value == '') {
|
||||
return;
|
||||
}
|
||||
if (value < 0 || value%1 != 0) {
|
||||
return '请输入0或正整数!'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backPcAdvIndex() {
|
||||
location.hash = ns.hash("pc://shop/adv/index")
|
||||
}
|
||||
</script>
|
||||
268
addon/pc/shop/view/adv/edit_adv.html
Executable file
268
addon/pc/shop/view/adv/edit_adv.html
Executable file
@@ -0,0 +1,268 @@
|
||||
<style>
|
||||
.adv-url-show{margin-right: 10px;}
|
||||
.layui-colorpicker-main-input div.layui-inline{margin-right: 0;}
|
||||
.layui-colorpicker-main-input input.layui-input{width: 130px;height: 34px;}
|
||||
.iconreview{margin-right: 20px;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告名称:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="adv_title" type="text" value="{$adv_info.adv_title}" lay-verify="required" class="layui-input len-long">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{notempty name="$adv_position_list"}
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属广告位:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="ap_id" lay-filter="ap_id">
|
||||
{foreach $adv_position_list as $adv_position_k => $adv_position_v}
|
||||
<option value="{$adv_position_v.ap_id}" data-type="{$adv_position_v.type}" data-width="{$adv_position_v.ap_width}" data-height="{$adv_position_v.ap_height}" {if condition="$adv_position_v.ap_id == $adv_info.ap_id"}selected{/if} >{$adv_position_v.ap_name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" data-type="1" {if $type == 2}style="display: none"{/if}>
|
||||
<label class="layui-form-label">PC端广告链接:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<select name="pc_link" lay-filter="pc_link">
|
||||
<option value="">请选择</option>
|
||||
{foreach $pc_link as $k => $v}
|
||||
<option value="{$v.url}" {if $adv_info.adv_url && (json_decode($adv_info.adv_url,true)['url'] ?? '') == $v.url}selected{/if}>{$v.title}</option>
|
||||
{/foreach}
|
||||
<option value="diy"{if $adv_info.adv_url && (json_decode($adv_info.adv_url,true)['title'] ?? '') == '自定义'}selected{/if}>自定义</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" data-type="2" {if $type == 1}style="display: none"{/if}>
|
||||
<label class="layui-form-label">移动端广告链接:</label>
|
||||
<div class="layui-input-block len-mid">
|
||||
<span class="adv-url-show"></span>
|
||||
<button class="layui-btn layui-btn-primary sm" onclick="selectedLink()">选择链接</button>
|
||||
</div>
|
||||
</div>
|
||||
<input name="adv_url" type="hidden" value="{$adv_info.adv_url}" />
|
||||
{/notempty}
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告图片:</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="upload-img-block img-upload">
|
||||
<div class="upload-img-box {notempty name="$adv_info['adv_image']"}hover{/notempty}">
|
||||
<div class="upload-default" id="adv_image">
|
||||
{if condition="$adv_info.adv_image"}
|
||||
<div id="preview_adv_image" class="preview_img">
|
||||
<img layer-src src="{:img($adv_info.adv_image)}" 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" ></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="adv_image" value="{$adv_info.adv_image}">
|
||||
</div>
|
||||
<!-- <div class="upload-img-box icon">
|
||||
{if condition="$adv_info.adv_image"}
|
||||
<img layer-src src="{:img($adv_info.adv_image)}" />
|
||||
{else/}
|
||||
<div class="upload-default">
|
||||
<i class="iconfont iconshangchuan"></i>
|
||||
<p>点击上传</p>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
<p id="adv_image" class=" {if condition="$adv_info.adv_image"} replace {else/} no-replace{/if}">替换</p>
|
||||
<input type="hidden" name="adv_image" value="{$adv_info.adv_image}">
|
||||
<i class="del {if condition="$adv_info.adv_image"}show{/if}">x</i> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="word-aux">建议宽度<span class="pic_width">{$adv_info['ap_width']}</span>px 建议高度<span class="pic_height">{$adv_info['ap_height']}</span>px</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="slide_sort" value="{$adv_info.slide_sort}" type="number" placeholder="排序" lay-verify="num" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">排序值必须为整数</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item" style="display: none">
|
||||
<label class="layui-form-label">广告价格:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="price" value="{$adv_info.price}" type="number" placeholder="广告价格" lay-verify="flo" class="layui-input len-short">
|
||||
</div>
|
||||
<div class="word-aux">单位:元 价格不能小于0,可以保留两位小数</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">背景色:</label>
|
||||
<div class="layui-input-inline">
|
||||
<div id="bg_color"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否启用:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" {if condition="$adv_info.state == 1"} checked {/if} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backPcAdvList()">返回</button>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="background" id="background" value="{$adv_info.background}" />
|
||||
<input type="hidden" name="adv_id" value="{$adv_info.adv_id}" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var color = $("#background").val();
|
||||
var adv_url_json = $("input[name='adv_url']").val();
|
||||
var ap_id = '{$ap_id}';
|
||||
if(adv_url_json) adv_url_json = JSON.parse(adv_url_json);
|
||||
$(".adv-url-show").text(adv_url_json.title);
|
||||
|
||||
layui.use(['form', 'colorpicker'], function () {
|
||||
var form = layui.form,
|
||||
colorpicker = layui.colorpicker,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
form.on('select(ap_id)', function(data){
|
||||
var type = $(data.elem).find("option:selected").attr("data-type");
|
||||
var width = $(data.elem).find("option:selected").attr("data-width");
|
||||
var height = $(data.elem).find("option:selected").attr("data-height");
|
||||
$(".pic_width").text(width);
|
||||
$(".pic_height").text(height);
|
||||
$("[data-type]").hide();
|
||||
$("[data-type='"+ type+"']").show();
|
||||
});
|
||||
|
||||
form.on('select(pc_link)', function(data){
|
||||
var title = $(data.elem).find("option:selected").text();
|
||||
|
||||
if(data.value != 'diy'){
|
||||
$("input[name='adv_url']").val(JSON.stringify({
|
||||
"title": title,
|
||||
"url": data.value
|
||||
}));
|
||||
}else{
|
||||
layer.prompt({
|
||||
formType: 2,
|
||||
value :$("input[name='adv_url']").val() ? JSON.parse($("input[name='adv_url']").val()).url : '',
|
||||
title: '自定义链接地址',
|
||||
area: ['450px', '100px'],
|
||||
cancel : function () {
|
||||
$("input[name='url']").val("");
|
||||
}
|
||||
}, function(value, index, elem){
|
||||
$("input[name='adv_url']").val(JSON.stringify({
|
||||
"title": title,
|
||||
"url": value
|
||||
}));
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
colorpicker.render({
|
||||
elem: '#bg_color', //绑定元素
|
||||
color: color,
|
||||
done: function(color) {
|
||||
$(".tdrag-name").css("color", color);
|
||||
$("#background").val(color);
|
||||
}
|
||||
});
|
||||
|
||||
// 广告图片
|
||||
var logo_upload = new Upload({
|
||||
elem: '#adv_image'
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听提交
|
||||
*/
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/editAdv"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续操作'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("pc://shop/adv/lists", {ap_id:ap_id})
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
num: function (value) {
|
||||
let reg = ns.getRegexp('>=0num');
|
||||
if (value !== '' && !reg.test(value)) {
|
||||
return '排序数值必须为大于或等于0的整数'
|
||||
}
|
||||
},
|
||||
flo: function (value) {
|
||||
let reg = ns.getRegexp('>=0float2');
|
||||
if (value !== '' && !reg.test(value)) {
|
||||
return '价格必须大于或等于0,最多保留两位小数'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backPcAdvList() {
|
||||
location.hash = ns.hash("pc://shop/adv/lists", {ap_id:ap_id})
|
||||
}
|
||||
|
||||
function selectedLink() {
|
||||
ns.select_link(adv_url_json, function (data) {
|
||||
for (var o in data) {
|
||||
if (data[o] == null) delete data[o];
|
||||
}
|
||||
|
||||
$("input[name='adv_url']").val(JSON.stringify(data));
|
||||
$(".adv-url-show").text(data.title);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
148
addon/pc/shop/view/adv/edit_position.html
Executable file
148
addon/pc/shop/view/adv/edit_position.html
Executable file
@@ -0,0 +1,148 @@
|
||||
<style>
|
||||
.layui-colorpicker-main-input div.layui-inline{margin-right: 0;}
|
||||
.layui-colorpicker-main-input input.layui-input{width: 130px;height: 34px;}
|
||||
</style>
|
||||
|
||||
<div class="layui-form form-wrap">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告位置名:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_name" type="text" value="{$info.ap_name}" lay-verify="required" class="layui-input len-long {if condition="$info.is_system == 1"}layui-btn-disabled{/if}" {if condition="$info.is_system == 1"}disabled{/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label"><span class="required">*</span>广告关键字:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="keyword" value='{$info.keyword}'type="text" lay-verify="required" class="layui-input len-long {if condition="$info.is_system == 1"}layui-btn-disabled{/if}" {if condition="$info.is_system == 1"}disabled{/if}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告位简介:</label>
|
||||
<div class="layui-input-block len-long">
|
||||
<textarea name="ap_intro" maxlength="150" class="layui-textarea {if condition="$info.is_system == 1"}layui-btn-disabled{/if}" {if condition="$info.is_system == 1"}disabled{/if}>{$info.ap_intro}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">建议广告图片宽度:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_width" value="{$info.ap_width}" type="number" lay-verify="int" class="layui-input len-short {if condition="$info.is_system == 1"}layui-btn-disabled{/if}" {if condition="$info.is_system == 1"}disabled{/if}>
|
||||
</div>
|
||||
<div class="word-aux">单位:px 宽度值不能小于0(例:首页轮播图一般为1920px * 400px)</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">建议广告图片高度:</label>
|
||||
<div class="layui-input-block">
|
||||
<input name="ap_height" value="{$info.ap_height}" type="number" lay-verify="int" class="layui-input len-short {if condition="$info.is_system == 1"}layui-btn-disabled{/if}" {if condition="$info.is_system == 1"}disabled{/if}>
|
||||
</div>
|
||||
<div class="word-aux">单位:px 高度值不能小于0(例:首页轮播图一般为1920px * 400px)</div>
|
||||
</div>
|
||||
|
||||
<!--<div class="layui-form-item">-->
|
||||
<!--<label class="layui-form-label">广告位类型:</label>-->
|
||||
<!--<div class="layui-input-inline" id="type">-->
|
||||
<!--<input type="radio" name="type" lay-filter="type" value="1" title="电脑端" {if condition="$info.type == 1"}checked{/if}>-->
|
||||
<!--<input type="radio" name="type" lay-filter="type" value="2" title="手机端" {if condition="$info.type == 2"}checked{/if}>-->
|
||||
<!--</div>-->
|
||||
<!--</div>-->
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">广告位背景色:</label>
|
||||
<div class="layui-input-inline">
|
||||
<div id="font_color"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">是否启用:</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" {if condition="$info.state == 1"} checked {/if} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
|
||||
<button class="layui-btn layui-btn-primary" onclick="backPcAdvIndex()">返回</button>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="ap_id" value="{$info.ap_id}" />
|
||||
<input type="hidden" name="ap_background_color" id="ap_background_color" value="{$info.ap_background_color}" />
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var colorN = $("#ap_background_color").val();
|
||||
|
||||
layui.use(['form', 'colorpicker'], function () {
|
||||
var form = layui.form,
|
||||
colorpicker = layui.colorpicker,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
/**
|
||||
* 颜色
|
||||
*/
|
||||
colorpicker.render({
|
||||
elem: '#font_color', //绑定元素
|
||||
color: colorN,
|
||||
done: function(color) {
|
||||
$(".tdrag-name").css("color", color);
|
||||
$("#ap_background_color").val(color);
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听提交
|
||||
*/
|
||||
form.on('submit(save)', function(data) {
|
||||
if (repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/editPosition"),
|
||||
data: data.field,
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
layer.confirm('编辑成功', {
|
||||
title:'操作提示',
|
||||
btn: ['返回列表', '继续操作'],
|
||||
yes: function(index, layero) {
|
||||
location.hash = ns.hash("pc://shop/adv/index")
|
||||
layer.close(index);
|
||||
},
|
||||
btn2: function(index, layero) {
|
||||
layer.close(index);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.msg(res.message);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 表单验证
|
||||
*/
|
||||
form.verify({
|
||||
int: function (value) {
|
||||
if (value == '') {
|
||||
return;
|
||||
}
|
||||
if (value < 0 || value%1 != 0) {
|
||||
return '请输入0或正整数!'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function backPcAdvIndex() {
|
||||
location.hash = ns.hash("pc://shop/adv/index")
|
||||
}
|
||||
</script>
|
||||
243
addon/pc/shop/view/adv/index.html
Executable file
243
addon/pc/shop/view/adv/index.html
Executable file
@@ -0,0 +1,243 @@
|
||||
<div class="single-filter-box">
|
||||
<div>
|
||||
<!--<button class="layui-btn" onclick="add()">添加广告位</button>-->
|
||||
</div>
|
||||
<div class="layui-form" style="margin-left: unset">
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_text" placeholder="请输入广告位置" class="layui-input">
|
||||
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
|
||||
<i class="layui-icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 列表 -->
|
||||
<table id="adv_position" lay-filter="adv_position"></table>
|
||||
|
||||
<!-- 广告位宽度 -->
|
||||
<script type="text/html" id="ap_width">
|
||||
<input name="ap_width" type="number" onchange="editPosition({{d.ap_id}}, 'ap_width', this)" value="{{d.ap_width}}" class="layui-input sort-len">
|
||||
</script>
|
||||
|
||||
<!-- 广告位高度 -->
|
||||
<script type="text/html" id="ap_height">
|
||||
<input name="ap_height" type="number" onchange="editPosition({{d.ap_id}}, 'ap_height', this)" value="{{d.ap_height}}" class="layui-input sort-len">
|
||||
</script>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="action">
|
||||
<div class="table-btn">
|
||||
<a class="layui-btn" lay-event="manager">管理广告</a>
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<!-- <a class="layui-btn" lay-event="delete">删除</a>-->
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 批量删除 -->
|
||||
<script type="text/html" id="toolbarOperation">
|
||||
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
|
||||
</script>
|
||||
<!-- 批量删除 -->
|
||||
<script type="text/html" id="batchOperation">
|
||||
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var table, form,
|
||||
repeat_flag = false; //防重复标识
|
||||
|
||||
layui.use('form', function() {
|
||||
form = layui.form;
|
||||
form.render();
|
||||
|
||||
form.on('switch(state)', function(data){
|
||||
let state = data.elem.checked ? 1 : 0;
|
||||
let ap_id = $(data.elem).attr('data-ap-id');
|
||||
|
||||
if(repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/alterAdvPositionState"),
|
||||
data: {
|
||||
ap_id : ap_id,
|
||||
state : state,
|
||||
},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
table = new Table({
|
||||
elem: '#adv_position',
|
||||
url: ns.url("pc://shop/adv/index"),
|
||||
cols: [
|
||||
[
|
||||
// {
|
||||
// width: '3%',
|
||||
// type: 'checkbox',
|
||||
// unresize: 'false'
|
||||
// },
|
||||
{
|
||||
field: 'ap_name',
|
||||
title: '广告位置名',
|
||||
unresize: 'false',
|
||||
width: '30%',
|
||||
}, {
|
||||
field: 'keyword',
|
||||
title: '广告关键字',
|
||||
unresize: 'false',
|
||||
width: '30%',
|
||||
},{
|
||||
title: '是否是系统',
|
||||
unresize: 'false',
|
||||
templet: function(data) {
|
||||
return data.is_system == 0 ? "否" : "是";
|
||||
},
|
||||
width: '10%',
|
||||
},{
|
||||
title: '是否启用',
|
||||
unresize: 'false',
|
||||
templet: function(data) {
|
||||
return '<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" data-ap-id="'+ data.ap_id +'" '+ (data.state == 1 ? 'checked' : '') +' />';
|
||||
},
|
||||
width: '10%',
|
||||
}, {
|
||||
title: '操作',
|
||||
toolbar: '#action',
|
||||
unresize: 'false',
|
||||
align : 'right'
|
||||
}]
|
||||
],
|
||||
// toolbar: "#toolbarOperation",
|
||||
// bottomToolbar: "#batchOperation"
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'manager': //管理
|
||||
location.hash = ns.hash("pc://shop/adv/lists?ap_id=" + data.ap_id);
|
||||
break;
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("pc://shop/adv/editPosition?ap_id=" + data.ap_id);
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deletePosition(data.ap_id);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 批量操作
|
||||
*/
|
||||
table.toolbar(function(obj) {
|
||||
if (obj.data.length < 1) {
|
||||
layer.msg('请选择要操作的数据');
|
||||
return;
|
||||
}
|
||||
|
||||
switch (obj.event) {
|
||||
case "del":
|
||||
var id_array = new Array();
|
||||
for (i in obj.data) id_array.push(obj.data[i].ap_id);
|
||||
deletePosition(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
table.bottomToolbar(function(obj) {
|
||||
if (obj.data.length < 1) {
|
||||
layer.msg('请选择要操作的数据');
|
||||
return;
|
||||
}
|
||||
|
||||
switch (obj.event) {
|
||||
case "del":
|
||||
var id_array = new Array();
|
||||
for (i in obj.data) id_array.push(obj.data[i].ap_id);
|
||||
deletePosition(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deletePosition(ap_ids) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
|
||||
layer.confirm('删除将会影响广告位的使用,确定要删除吗?', function(index) {
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/deletePosition"),
|
||||
data: {'ap_ids': ap_ids},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}, function() {
|
||||
layer.close();
|
||||
repeat_flag = false;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听搜索
|
||||
*/
|
||||
form.on('submit(search)', function(data) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 监听单元格编辑--编辑宽度
|
||||
function editPosition(id, type, event) {
|
||||
var value = $(event).val();
|
||||
|
||||
if (!new RegExp("^\\d+$").test(value)) {
|
||||
layer.msg("广告位宽高必须为大于等于0的整数");
|
||||
return;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: ns.url("pc://shop/adv/editPositionField"),
|
||||
data: {
|
||||
'type': type,
|
||||
'value': value,
|
||||
'ap_id': id
|
||||
},
|
||||
dataType: 'JSON',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function add() {
|
||||
location.hash = ns.hash("pc://shop/adv/addPosition");
|
||||
}
|
||||
</script>
|
||||
294
addon/pc/shop/view/adv/lists.html
Executable file
294
addon/pc/shop/view/adv/lists.html
Executable file
@@ -0,0 +1,294 @@
|
||||
<div>
|
||||
<button class="layui-btn" onclick="add()">添加广告</button>
|
||||
|
||||
<div class="layui-form" style="display:none;">
|
||||
<div class="layui-input-inline">
|
||||
<select name="ap_id">
|
||||
<option value="">所属广告位</option>
|
||||
{notempty name="adv_position"}
|
||||
{foreach name="adv_position" item="vo"}
|
||||
<option value="{$vo.ap_id}" {if $ap_id == $vo.ap_id}selected{/if}>{$vo.ap_name}</option>
|
||||
{/foreach}
|
||||
{/notempty}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="layui-input-inline len-mid">
|
||||
<input type="text" name="search_text" placeholder="请输入广告名称" class="layui-input">
|
||||
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
|
||||
<i class="layui-icon"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 列表 -->
|
||||
<table id="adv_list" lay-filter="adv_list"></table>
|
||||
|
||||
<!-- 广告图片 -->
|
||||
<script type="text/html" id="adv_image">
|
||||
<div class="img-box">
|
||||
<img layer-src src="{{ns.img(d.adv_image)}}" />
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 排序 -->
|
||||
<script type="text/html" id="slide_sort">
|
||||
<input name="slide_sort" type="number" onchange="editSort({{d.adv_id}},'slide_sort', this)" value="{{d.slide_sort}}" class="layui-input sort-len">
|
||||
</script>
|
||||
|
||||
<!-- 广告链接 -->
|
||||
<script type="text/html" id="adv_url">
|
||||
<a href="{{d.adv_url}}">{{d.adv_url}}</a>
|
||||
</script>
|
||||
|
||||
<!-- 操作 -->
|
||||
<script type="text/html" id="action">
|
||||
<div class="table-btn">
|
||||
<a class="layui-btn" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn" lay-event="delete">删除</a>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<!-- 批量删除 -->
|
||||
<script type="text/html" id="toolbarOperation">
|
||||
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
|
||||
</script>
|
||||
|
||||
<!-- 批量删除 -->
|
||||
<script type="text/html" id="batchOperation">
|
||||
<button class="layui-btn layui-btn-primary" lay-event="del">批量删除</button>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
var ap_id = '{$ap_id}';
|
||||
layui.use('form', function () {
|
||||
var table,
|
||||
form = layui.form,
|
||||
repeat_flag = false; //防重复标识
|
||||
form.render();
|
||||
|
||||
form.on('switch(state)', function(data){
|
||||
let state = data.elem.checked ? 1 : 0;
|
||||
let adv_id = $(data.elem).attr('data-adv-id');
|
||||
|
||||
if(repeat_flag) return;
|
||||
repeat_flag = true;
|
||||
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/alterAdvState"),
|
||||
data: {
|
||||
adv_id : adv_id,
|
||||
state : state,
|
||||
},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
table = new Table({
|
||||
elem: '#adv_list',
|
||||
url: ns.url("pc://shop/adv/lists"),
|
||||
where: {
|
||||
'ap_id': '{$ap_id}'
|
||||
},
|
||||
cols: [
|
||||
[{
|
||||
width: '3%',
|
||||
type: 'checkbox',
|
||||
unresize: 'false',
|
||||
}, {
|
||||
field: 'adv_title',
|
||||
title: '广告名称',
|
||||
unresize: 'false',
|
||||
width: '15%'
|
||||
}, {
|
||||
title: '广告链接',
|
||||
unresize: 'false',
|
||||
width: '15%',
|
||||
templet: function(data) {
|
||||
var adv_url = data.adv_url;
|
||||
if(adv_url){
|
||||
adv_url = JSON.parse(data.adv_url);
|
||||
return adv_url.title ? adv_url.title : '';
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
}, {
|
||||
field: 'ap_name',
|
||||
title: '所属广告位',
|
||||
unresize: 'false',
|
||||
templet:'#ap_posi',
|
||||
width: '15%'
|
||||
}, {
|
||||
title: '广告图片',
|
||||
unresize: 'false',
|
||||
templet: '#adv_image',
|
||||
width: '15%'
|
||||
}, {
|
||||
field: 'slide_sort',
|
||||
title: '排序',
|
||||
unresize: 'false',
|
||||
templet: '#slide_sort',
|
||||
width: '12%',
|
||||
sort: true
|
||||
}, {
|
||||
title: '是否启用',
|
||||
unresize: 'false',
|
||||
templet: function(data) {
|
||||
return '<input type="checkbox" name="state" value="1" lay-skin="switch" lay-filter="state" data-adv-id="'+ data.adv_id +'" '+ (data.state == 1 ? 'checked' : '') +' />';
|
||||
},
|
||||
width: '10%',
|
||||
},{
|
||||
title: '操作',
|
||||
toolbar: '#action',
|
||||
unresize: 'false',
|
||||
align:'right'
|
||||
}]
|
||||
],
|
||||
bottomToolbar: "#batchOperation",
|
||||
toolbar: "#toolbarOperation"
|
||||
});
|
||||
|
||||
/**
|
||||
* 监听工具栏操作
|
||||
*/
|
||||
table.tool(function(obj) {
|
||||
var data = obj.data;
|
||||
switch (obj.event) {
|
||||
case 'edit': //编辑
|
||||
location.hash = ns.hash("pc://shop/adv/editadv",{"adv_id":data.adv_id, ap_id:ap_id});
|
||||
break;
|
||||
case 'delete': //删除
|
||||
deleteAdv(data.adv_id);
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 批量操作
|
||||
*/
|
||||
table.bottomToolbar(function(obj) {
|
||||
if (obj.data.length < 1) {
|
||||
layer.msg('请选择要操作的数据');
|
||||
return;
|
||||
}
|
||||
|
||||
switch (obj.event) {
|
||||
case "del":
|
||||
var id_array = new Array();
|
||||
for (i in obj.data) id_array.push(obj.data[i].adv_id);
|
||||
deleteAdv(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
table.on("sort",function (obj) {
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: {
|
||||
order:obj.field,
|
||||
sort:obj.type
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
* 批量操作
|
||||
*/
|
||||
table.toolbar(function(obj) {
|
||||
if (obj.data.length < 1) {
|
||||
layer.msg('请选择要操作的数据');
|
||||
return;
|
||||
}
|
||||
|
||||
switch (obj.event) {
|
||||
case "del":
|
||||
var id_array = new Array();
|
||||
for (i in obj.data) id_array.push(obj.data[i].adv_id);
|
||||
deleteAdv(id_array.toString());
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*/
|
||||
function deleteAdv(adv_ids) {
|
||||
if (repeat_flag) return false;
|
||||
repeat_flag = true;
|
||||
|
||||
layer.confirm('确定要删除该广告吗?', function(index) {
|
||||
layer.close(index);
|
||||
$.ajax({
|
||||
url: ns.url("pc://shop/adv/deleteAdv"),
|
||||
data: {'adv_ids': adv_ids},
|
||||
dataType: 'JSON',
|
||||
type: 'POST',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
repeat_flag = false;
|
||||
|
||||
if (res.code == 0) {
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}, function () {
|
||||
layer.close();
|
||||
repeat_flag = false;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听搜索
|
||||
*/
|
||||
form.on('submit(search)', function(data){
|
||||
ap_id = $("select[name='ap_id']").val();
|
||||
table.reload({
|
||||
page: {
|
||||
curr: 1
|
||||
},
|
||||
where: data.field
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// 监听单元格编辑
|
||||
function editSort(adv_id, type, event){
|
||||
var value = $(event).val();
|
||||
|
||||
if(!new RegExp("^-?[1-9]\\d*$").test(value)){
|
||||
layer.msg("排序号只能是整数");
|
||||
return ;
|
||||
}
|
||||
if(value<0){
|
||||
layer.msg("排序号必须大于0");
|
||||
return ;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: ns.url("pc://shop/adv/editAdvField"),
|
||||
data: {'type': type, 'value': value, 'adv_id': adv_id},
|
||||
dataType: 'JSON',
|
||||
success: function(res) {
|
||||
layer.msg(res.message);
|
||||
if(res.code==0){
|
||||
table.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function add() {
|
||||
location.hash = ns.hash("pc://shop/adv/addAdv", {ap_id : ap_id});
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user