Init Repo

This commit is contained in:
root
2019-09-06 23:53:10 +08:00
commit f0ef89dfbb
7905 changed files with 914138 additions and 0 deletions

View File

@ -0,0 +1,210 @@
var mmg;
function initGrid(){
var h = WST.pageHeight();
var cols = [
{title:'图标', name:'' ,width:50, align:'center', renderer: function(val,item,rowIndex){
var adFile = item['adFile'].split(',');
return'<img src="'+WST.conf.IMGURL+'/'+adFile[0]+'" height="28px" width="100"/>';
}},
{title:'标题', name:'adName', width: 100},
{title:'广告位置', name:'positionName' ,width:80},
{title:'广告网址', name:'adURL' ,width:130},
{title:'广告开始日期', name:'adStartDate' ,width:30},
{title:'广告结束日期', name:'adEndDate' ,width:30},
{title:'点击数', name:'adClickNum' ,width:15},
{title:'排序号', name:'adSort' ,width:15, renderer: function(val,item,rowIndex){
return '<span style="color:blue;cursor:pointer;" ondblclick="changeSort(this,'+item["adId"]+');">'+val+'</span>';
}},
{title:'操作', name:'' ,width:80, align:'center', renderer: function(val,item,rowIndex){
var h = "";
if(WST.GRANT.GGGL_02)h += "<a class='btn btn-blue' href='javascript:toEdit("+item['adId']+")'><i class='fa fa-pencil'></i>修改</a> ";
if(WST.GRANT.GGGL_03)h += "<a class='btn btn-red' href='javascript:toDel(" + item['adId'] + ")'><i class='fa fa-trash-o'></i>删除</a> ";
return h;
}}
];
mmg = $('.mmg').mmGrid({height: h-155,indexCol: true, cols: cols,method:'POST',
url: WST.U('admin/ads/pageQuery'), fullWidthRows: true, autoLoad: true,
plugins: [
$('#pg').mmPaginator({})
]
});
$('#headTip').WSTTips({width:90,height:35,callback:function(v){
if(v){
mmg.resize({height:h-155});
}else{
mmg.resize({height:h-128});
}
}});
}
function toEdit(id){
location.href = WST.U('admin/ads/toedit','id='+id);
}
function toDel(id){
var box = WST.confirm({content:"您确定要删除该记录吗?",yes:function(){
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/Ads/del'),{id:id},function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
layer.close(box);
loadQuery();
}else{
WST.msg(json.msg,{icon:2});
}
});
}});
}
function loadQuery(){
var query = WST.getParams('.query');
query.page = 1;
mmg.load(query);
}
var oldSort;
function changeSort(t,id){
$(t).attr('ondblclick'," ");
var html = "<input type='text' id='sort-"+id+"' style='width:30px;padding:2px;' onblur='doneChange(this,"+id+")' value='"+$(t).html()+"' />";
$(t).html(html);
$('#sort-'+id).focus();
$('#sort-'+id).select();
oldSort = $(t).html();
}
function doneChange(t,id){
var sort = ($(t).val()=='')?0:$(t).val();
if(sort==oldSort){
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
$(t).parent().html(parseInt(sort));
return;
}
$.post(WST.U('admin/ads/changeSort'),{id:id,adSort:sort},function(data){
var json = WST.toAdminJson(data);
if(json.status==1){
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
$(t).parent().html(parseInt(sort));
}
});
}
//查询
function adsQuery(){
var query = WST.getParams('.query');
grid.set('url',WST.U('admin/ads/pageQuery',query));
}
function editInit(){
var laydate = layui.laydate;
form = layui.form;
laydate.render({
elem: '#adStartDate'
});
laydate.render({
elem: '#adEndDate'
});
//文件上传
WST.upload({
pick:'#adFilePicker',
formData: {dir:'adspic'},
compress:false,//默认不对图片进行压缩
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toAdminJson(f);
if(json.status==1){
$('#uploadMsg').empty().hide();
var html = '<img src="'+WST.conf.IMGURL+'/'+json.savePath+json.thumb+'" />';
$('#preview').html(html);
// 图片路径
$('#adFile').val(json.savePath+json.name);
}
},
progress:function(rate){
$('#uploadMsg').show().html('已上传'+rate+"%");
}
});
/* 表单验证 */
$('#adsForm').validator({
fields: {
adPositionId: {
rule:"required",
msg:{required:"请选择广告位置"},
tip:"请选择广告位置",
ok:"验证通过",
},
adName: {
rule:"required;",
msg:{required:"广告标题不能为空"},
tip:"请输入广告标题",
ok:"验证通过",
},
adFile: {
rule:"required;",
msg:{required:"请上传广告图片"},
tip:"请上传广告图片",
ok:"",
},
adStartDate: {
rule:"required;match(lt, adEndDate, date)",
msg:{required:"请选择广告开始时间",match:"必须小于广告结束时间"},
ok:"验证通过",
},
adEndDate: {
rule:"required;match(gt, adStartDate, date)",
msg:{required:"请选择广告结束时间",match:"必须大于广告开始时间"},
ok:"验证通过",
}
},
valid: function(form){
var params = WST.getParams('.ipt');
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/Ads/'+((params.adId==0)?"add":"edit")),params,function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
location.href=WST.U('Admin/Ads/index');
}else{
WST.msg(json.msg,{icon:2});
}
});
}
});
}
var positionInfo;
/*获取地址*/
function addPosition(pType, val, getSize)
{
$.post(WST.U('admin/Adpositions/getPositon'),{'positionType':pType},function(data,textStatus){
positionInfo = data;
var html='<option value="">请选择</option>';
$(data).each(function(k,v){
var selected;
if(v.positionId==val){
selected = 'selected="selected"';
getPhotoSize(v.positionId);
}
html +='<option '+selected+' value="'+v.positionId+'">'+v.positionName+'</option>';
});
$('#adPositionId').html(html);
layui.form.render('select');
})
}
/*获取图片尺寸 以及设置图片显示方式*/
function getPhotoSize(pType)
{
$(positionInfo).each(function(k,v){
if(v.positionId==pType){
$('#img_size').html(v.positionWidth+'x'+v.positionHeight);
if(v.positionWidth>v.positionHeight){
$('.ads-h-list').removeClass('ads-h-list').addClass('ads-w-list');
}
}
});
}

189
hyhproject/admin/view/ads/ads.js Executable file
View File

@ -0,0 +1,189 @@
var grid;
function initGrid(){
grid = $("#maingrid").ligerGrid({
url:WST.U('admin/Ads/pageQuery'),
pageSize:WST.pageSize,
pageSizeOptions:WST.pageSizeOptions,
height:'99%',
width:'100%',
minColToggle:6,
rownumbers:true,
columns: [
{ display: '标题', name: 'adName', isSort: false},
{ display: '广告位置', name: 'adPositionId', isSort: false,render:function(rowdata, rowindex, value){
return rowdata['positionName'];
}},
{ display: '广告网址', name: 'adURL', isSort: false},
{ display: '广告开始日期', name: 'adStartDate', isSort: false},
{ display: '广告结束日期', name: 'adEndDate', isSort: false},
{ display: '图标', name: 'adFile', height: '300', isSort: false,render:function(rowdata, rowindex, value){
var adFile = rowdata['adFile'].split(',');
return'<img src="'+WST.conf.IMGURL+'/'+adFile[0]+'" height="28px" />';
}},
{ display: '点击数', name: 'adClickNum', isSort: false},
{ display: '排序号', name: 'adSort', isSort: false,render:function(rowdata, rowindex, value){
return '<span style="cursor:pointer;" ondblclick="changeSort(this,'+rowdata["adId"]+');">'+value+'</span>';
}},
{ display: '操作', name: 'op',isSort: false,render: function (rowdata, rowindex, value){
var h = "";
if(WST.GRANT.GGGL_02)h += "<a href='"+WST.U('admin/Ads/toEdit','id='+rowdata['adId'])+"'>修改</a> ";
if(WST.GRANT.GGGL_03)h += "<a href='javascript:toDel(" + rowdata['adId'] + ")'>删除</a> ";
return h;
}}
]
});
}
function toDel(id){
var box = WST.confirm({content:"您确定要删除该记录吗?",yes:function(){
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/Ads/del'),{id:id},function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
layer.close(box);
grid.reload();
}else{
WST.msg(json.msg,{icon:2});
}
});
}});
}
var oldSort;
function changeSort(t,id){
$(t).attr('ondblclick'," ");
var html = "<input type='text' id='sort-"+id+"' style='width:30px;' onblur='doneChange(this,"+id+")' value='"+$(t).html()+"' />";
$(t).html(html);
$('#sort-'+id).focus();
$('#sort-'+id).select();
oldSort = $(t).html();
}
function doneChange(t,id){
var sort = ($(t).val()=='')?0:$(t).val();
if(sort==oldSort){
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
$(t).parent().html(parseInt(sort));
return;
}
$.post(WST.U('admin/ads/changeSort'),{id:id,adSort:sort},function(data){
var json = WST.toAdminJson(data);
if(json.status==1){
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
$(t).parent().html(parseInt(sort));
}
});
}
//查询
function adsQuery(){
var query = WST.getParams('.query');
grid.set('url',WST.U('admin/ads/pageQuery',query));
}
function editInit(){
//文件上传
WST.upload({
pick:'#adFilePicker',
formData: {dir:'adspic'},
compress:false,//默认不对图片进行压缩
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toAdminJson(f);
if(json.status==1){
$('#uploadMsg').empty().hide();
var html = '<img src="'+WST.conf.IMGURL+'/'+json.savePath+json.thumb+'" />';
$('#preview').html(html);
// 图片路径
$('#adFile').val(json.savePath+json.name);
}
},
progress:function(rate){
$('#uploadMsg').show().html('已上传'+rate+"%");
}
});
/* 表单验证 */
$('#adsForm').validator({
fields: {
adPositionId: {
rule:"required",
msg:{required:"请选择广告位置"},
tip:"请选择广告位置",
ok:"验证通过",
},
adName: {
rule:"required;",
msg:{required:"广告标题不能为空"},
tip:"请输入广告标题",
ok:"验证通过",
},
adFile: {
rule:"required;",
msg:{required:"请上传广告图片"},
tip:"请上传广告图片",
ok:"",
},
adStartDate: {
rule:"required;match(lt, adEndDate, date)",
msg:{required:"请选择广告开始时间",match:"必须小于广告结束时间"},
ok:"验证通过",
},
adEndDate: {
rule:"required;match(gt, adStartDate, date)",
msg:{required:"请选择广告结束时间",match:"必须大于广告开始时间"},
ok:"验证通过",
}
},
valid: function(form){
var params = WST.getParams('.ipt');
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('admin/Ads/'+((params.adId==0)?"add":"edit")),params,function(data,textStatus){
layer.close(loading);
var json = WST.toAdminJson(data);
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
location.href=WST.U('Admin/Ads/index');
}else{
WST.msg(json.msg,{icon:2});
}
});
}
});
}
var positionInfo;
/*获取地址*/
function addPosition(pType, val, getSize)
{
$.post(WST.U('admin/Adpositions/getPositon'),{'positionType':pType},function(data,textStatus){
positionInfo = data;
var html='<option value="">请选择</option>';
$(data).each(function(k,v){
var selected;
if(v.positionId==val){
selected = 'selected="selected"';
getPhotoSize(v.positionId);
}
html +='<option '+selected+' value="'+v.positionId+'">'+v.positionName+'</option>';
});
$('#adPositionId').html(html);
})
}
/*获取图片尺寸 以及设置图片显示方式*/
function getPhotoSize(pType)
{
$(positionInfo).each(function(k,v){
if(v.positionId==pType){
$('#img_size').html(v.positionWidth+'x'+v.positionHeight);
if(v.positionWidth>v.positionHeight){
$('.ads-h-list').removeClass('ads-h-list').addClass('ads-w-list');
}
}
});
}

View File

@ -0,0 +1,117 @@
{extend name="base" /}
{block name="css"}
<style>
#preview img{max-width: 600px;max-height:150px;}
</style>
<link rel="stylesheet" type="text/css" href="__STATIC__/plugins/webuploader/webuploader.css?v={$v}" />
{/block}
{block name="js"}
<script type='text/javascript' src='__STATIC__/plugins/webuploader/webuploader.js?v={$v}'></script>
<script src="__ADMIN__/ads/admgrs.js?v={$v}" type="text/javascript"></script>
{/block}
{block name="main"}
<form id="adsForm">
<table class='wst-form wst-box-top'>
<tr>
<th width='150'>位置类型<font color='red'>*</font></th>
<td>
<select id="positionType" name="positionType" class='ipt' maxLength='20' onchange='javascript:addPosition(this.value);'>
<option value=''>请选择</option>
{volist name=":WSTDatas('ADS_TYPE')" id='vo'}
<option {if $data['positionType'] == $vo['dataVal']}selected{/if} value="{$vo['dataVal']}">{$vo['dataName']}</option>
{/volist}
</select>
</td>
</tr>
<tr>
<th>广告位置<font color='red'>*</font></th>
<td>
<select id="adPositionId" name="adPositionId" class='ipt' maxLength='20' onchange='javascript:getPhotoSize(this.value);'>
<option value="">-请选择-</option>
</select>
</td>
</tr>
<tr>
<!--添加链接类型-->
<th width='150'>链接类型<font color='red'>*</font></th>
<td>
<select id="targetType" name="targetType" class='ipt' maxLength='20'>
<option {if $data['targetType'] == 1}selected{/if} value="1">商品</option>
<option {if $data['targetType'] == 2}selected{/if} value="2">店铺</option>
<option {if $data['targetType'] == 3}selected{/if} value="3">活动</option>
</select>
</td>
</tr>
<!--添加链接类型结束-->
<tr>
<tr>
<th>广告标题<font color='red'>*</font></th>
<td><input type='text' id='adName' name="adName" value='{$data['adName']}' class='ipt' maxLength='20'/></td>
</tr>
<tr>
<th>广告图片<font color='red'>*</font></th>
<td><div id='adFilePicker'>上传广告图</div><span id='uploadMsg'></span>
<div>
图片大小:<span id="img_size">300x300</span>(px),格式为 gif, jpg, jpeg, png
</div>
</td>
</tr>
<tr>
<th>预览图<font color='red'> </font></th>
<td>
<div id="preview" style="min-height:30px;">
{if ($data['adFile']!='')}
<img src="__IMGURL__/{$data['adFile']}">
{/if}
</div>
<input type="hidden" name="adFile" id="adFile" class="ipt" value="{$data['adFile']}" />
</td>
</tr>
<tr>
<th>广告网址<font color='red'> </font></th>
<td>
<input type="text" id="adURL" class="ipt" maxLength="200" value='{$data['adURL']}' />
</td>
</tr>
<tr>
<th >广告开始时间<font color='red'>*</font></th>
<td>
<input type="text" style="margin:0px;vertical-align:baseline;" id="adStartDate" name="adStartDate" class="laydate-icon ipt" maxLength="20" value='{$data['adStartDate']}' />
</td>
</tr>
<tr>
<th>广告结束时间<font color='red'>*</font></th>
<td>
<input type="text" style="margin:0px;vertical-align:baseline;" id="adEndDate" name="adEndDate" class="laydate-icon ipt" maxLength="20" value='{$data['adEndDate']}' />
</td>
</tr>
<tr>
<th>广告排序号:</th>
<td>
<input type="text" id="adSort" class="ipt" maxLength="20" value='{$data['adSort']}' />
</td>
</tr>
<tr>
<td colspan='2' align='center' class='wst-bottombar'>
<input type="hidden" name="id" id="adId" class="ipt" value="{$data['adId']+0}" />
<button type="submit" class="btn btn-primary btn-mright" ><i class="fa fa-check"></i>提交</button>
<button type="button" class="btn" onclick="javascript:history.go(-1)"><i class="fa fa-angle-double-left"></i>返回</button>
</td>
</tr>
</table>
</form>
<script>
$(function(){
editInit();
//初始化位置类型
addPosition("{$data['positionType']}","{$data['adPositionId']}");
});
</script>
{/block}

View File

@ -0,0 +1,42 @@
{extend name="base" /}
{block name="css"}
<link rel="stylesheet" type="text/css" href="__ADMIN__/js/mmgrid/mmGrid.css?v={$v}" />
{/block}
{block name="js"}
<script src="__ADMIN__/js/mmgrid/mmGrid.js?v={$v}" type="text/javascript"></script>
<script src="__ADMIN__/ads/admgrs.js?v={$v}" type="text/javascript"></script>
{/block}
{block name="main"}
<div id='alertTips' class='alert alert-success alert-tips fade in'>
<div id='headTip' class='head'><i class='fa fa-lightbulb-o'></i>操作说明</div>
<ul class='body'>
<li>广告位置类型主要用于确定广告在商城里的位置,调用时把广告代码放入相应位置即可显示广告</li>
</ul>
</div>
<form autocomplete="off" >
<div class="wst-toolbar">
<select name="positionType" id="positionType" class="query" onchange='javascript:addPosition(this.value);'>
<option value="">请选择广告位置类型</option>
{volist name=":WSTDatas('ADS_TYPE')" id='vo'}
<option value="{$vo['dataVal']}">{$vo['dataName']}</option>
{/volist}
</select>
<select name="adPositionId" id="adPositionId" class="query" >
<option value="">请选择</option>
</select>
<button class="btn btn-primary" type='button' onclick="javascript:loadQuery()"><i class='fa fa-search'></i>查询</button>
{if WSTGrant('GGGL_01')}
<button class="btn btn-success f-right btn-fixtop" type='button' onclick="javascript:location.href='<?=url("admin/ads/toEdit")?>'"><i class='fa fa-plus'></i>新增</button>
{/if}
<div style="clear:both"></div>
</div>
</form>
<div class='wst-grid'>
<div id="mmg" class="mmg"></div>
<div id="pg" style="text-align: right;"></div>
</div>
<script>
$(function(){initGrid()});
</script>
{/block}