Browse Source

chengx

master
jianglong 3 years ago
parent
commit
f9d1ac2010
  1. 254
      application/admin/controller/Client.php
  2. 3
      application/admin/controller/Common.php
  3. 29
      application/admin/view/auth/admin_list.html
  4. 172
      application/admin/view/client/active_list.html
  5. 94
      application/admin/view/client/active_list_add.html
  6. 95
      application/admin/view/client/active_list_edit.html
  7. 3
      application/admin/view/client/index.html
  8. 171
      application/admin/view/client/point_detail.html
  9. 148
      application/admin/view/client/point_list.html
  10. 89
      application/admin/view/client/take_add.html
  11. 3
      config/app.php
  12. 9
      public/.htaccess
  13. 1
      public/.user.ini

254
application/admin/controller/Client.php

@ -899,4 +899,258 @@ class Client extends Common{
} }
} }
//积分活动
public function activeList(){
if(request()->isPost()){
$page =input('page')?input('page'):1;
$pageSize =input('limit')?input('limit'):config('pageSize');
$list = db('crm_client_active')
->paginate(array('list_rows'=>$pageSize,'page'=>$page))
->toArray();
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$list['data'],'count'=>$list['total'],'rel'=>1];
}
return $this->fetch();
}
//添加积分活动
public function activeAdd(){
if(request()->isPost()){
$data = input();
unset($data['/admin/client/activeadd_html']);
$data['add_time'] = time();
$result = Db::table('crm_client_active')->insert($data);
if ($result){
$msg = ['code' => 0,'msg'=>'添加成功!','data'=>[]];
return json($msg);
}else{
$msg = ['code' => -200,'msg'=>'添加失败!','data'=>[]];
return json($msg);
}
}
return $this->fetch('client/active_list_add');
}
//编辑积分活动
public function activeEdit(){
if (Request::isAjax()){
$data = input();
unset($data['/admin/client/activeedit_html']);
// 获取原状态
$oldstatus = Db::table('crm_client_active')->where(['id'=>$data['id']])->find();
if (!$oldstatus) {
$msg = ['code' => -200,'msg'=>'数据不存在','data'=>[]];
return json($msg);
}else{
$ischange = true;
}
$result = Db::table('crm_client_active')->where(['id'=>$data['id']])->update($data);
if ($result){
$msg = ['code' => 0,'msg'=>'编辑成功!','data'=>[]];
return json($msg);
}else{
$msg = ['code' => -200,'msg'=>'编辑失败!','data'=>[]];
return json($msg);
}
}
$result = Db::table('crm_client_active') ->where(['id' => Request::param('id')])->find();
$this -> assign('result',$result);
return $this -> fetch('client/active_list_edit');
}
//删除积分活动
public function activeDel(){
$id = Request::param('id');
// 获取原状态
$oldstatus = Db::table('crm_client_active')->where(['id'=>$id])->find();
$oldstatusname = $oldstatus['name'];
$result = Db::table('crm_client_active')->where('id',$id)->delete();
if ($result){
$msg = ['code' => 0,'msg'=>'删除成功!','data'=>[]];
return json($msg);
}else{
$msg = ['code' => -200,'msg'=>'删除失败!','data'=>[]];
return json($msg);
}
}
//添加积分活动
public function take(){
if(request()->isPost()){
$data = input();
$weixin_template_0 = config('weixin_template_0');
$admin = Db::table('admin') ->where(['admin_id' => $data['aid']])->find();
if(!$admin){
$msg = ['code' => -200,'msg'=>'经销商不能为空!','data'=>[]];
return json($msg);
}
//先保存提货单数据
$data['add_time'] = time();
$data['take_time'] = strtotime($data['take_time']);
$result = Db::table('admin_take')->insert($data,0,1);
if (!$result){
$msg = ['code' => -200,'msg'=>'添加失败!','data'=>[]];
return json($msg);
}
$activeInfo = Db::table('crm_client_active')->where(['id'=>$data['active_id']])->find();
if(!$activeInfo){
$msg = ['code' => 0,'msg'=>'添加成功!','data'=>[]];
return json($msg);
}
$get_money_point_rate = $activeInfo['get_point']/$activeInfo['get_money'];
$out_mpney_point_rate = $activeInfo['out_point']/$activeInfo['out_money'];
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find();
if(!$admin_point){
$admin_point['aid'] = $data['aid'];
$admin_point['point'] = 0;
$admin_point['in_point'] = 0;
$admin_point['out_point'] = 0;
$admin_point['add_time'] = time();
$admin_point['id'] = Db::table('admin_point')->insert($admin_point,0,1);
}
$pre_point = $admin_point['in_point'];
//再计算抵扣积分 提货金额*0.01 = 可抵扣金额 * (积分/金额比)
$can_out_money = intval(intval($data['take_money'])*0.01);
$out_point = intval($can_out_money*$out_mpney_point_rate);
//如果当前用户的在期积分大于抵扣积分 生成抵扣积分记录 扣除想要的积分值
if($admin_point['in_point']>$out_point){
$out_point_log = [];
$out_point_log['aid'] = $data['aid'];
$out_point_log['take_id'] = $result;
$out_point_log['change'] = -$out_point;
$out_point_log['type'] = 1;
$out_point_log['aid'] = $data['aid'];
$out_point_log['in_point'] = $admin_point['in_point'];
$out_point_log['active_id'] = $data['active_id'];
$out_point_log['active_name'] = $activeInfo['name'];
$out_point_log['money'] = $can_out_money;
$out_point_log['point'] = $out_point;
$out_point_log['remark'] = $activeInfo['content'];
$out_point_log['add_time'] = time();
Db::table('admin_point_log')->insert($out_point_log);
//扣除
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setDec('point',$out_point);
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setDec('in_point',$out_point);
//依次扣除 用户id 要扣除多少分
$this->subAdminPoint($data['aid'],$out_point);
}else{
$out_point = 0;
}
//重新获取最新的数据了
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find();
//再计算提货积分 提货金额 * (积分/金额比)
$in_point = intval(intval($data['take_money'])*$get_money_point_rate);
$out_point_log = [];
$out_point_log['aid'] = $data['aid'];
$out_point_log['take_id'] = $result;
$out_point_log['change'] = $in_point;
$out_point_log['type'] = 0;
$out_point_log['aid'] = $data['aid'];
$out_point_log['in_point'] = $admin_point['in_point'];
$out_point_log['active_id'] = $data['active_id'];
$out_point_log['active_name'] = $activeInfo['name'];
$out_point_log['money'] = intval($data['take_money']);
$out_point_log['point'] = $out_point_log['use_point'] = $in_point;
$out_point_log['remark'] = $activeInfo['content'];
$out_point_log['out_time'] = strtotime(date('Y-m-d',strtotime('+1 years +1 days')));
$out_point_log['add_time'] = time();
Db::table('admin_point_log')->insert($out_point_log);
//加上提货积分
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('point',$in_point);
Db::table('admin_point')->where(['id'=>$admin_point['id']])->setInc('in_point',$in_point);
//重新获取最新的数据了
$admin_point = Db::table('admin_point') ->where(['aid' => $data['aid']])->find();
//再生成积分变动消息
$message = [];
$message['aid'] = $data['aid'];
$message['openid'] = $admin['openid']?$admin['openid']:'';
$message['tempid'] = 0;
$message['take_money'] = intval($data['take_money']);
$message['out_point'] = $out_point;
$message['get_point'] = $in_point;
$message['point'] = $admin_point['point'];
$message['remark'] = str_replace(["{pre_point}","{take_money}","{out_point}","{get_point}","{point}","{active_content}"],[$pre_point,intval($data['take_money']),$out_point,$in_point,$admin_point['point'],$activeInfo['content']],$weixin_template_0);
$message['add_time'] = time();
Db::table('admin_point_message')->insert($message);
$msg = ['code' => 0,'msg'=>'添加成功!','data'=>[]];
return json($msg);
}
$aid = input("id");
$admin = Db::table('admin') ->where(['admin_id' => $aid])->find();
$this -> assign('aid',$aid);
$this -> assign('admin',$admin);
$activeList = Db::table('crm_client_active') ->where(['status' => 1])->select();
$this -> assign('activeList',$activeList);
return $this->fetch('client/take_add');
}
//用户积分列表
public function userPointList(){
if(request()->isPost()){
$page =input('page')?input('page'):1;
$pageSize =input('limit')?input('limit'):config('pageSize');
$list = db('admin')
-> alias("a")
-> join('admin_point b','a.admin_id=b.aid')
->where('a.group_id',11)
->paginate(array('list_rows'=>$pageSize,'page'=>$page))
->toArray();
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$list['data'],'count'=>$list['total'],'rel'=>1];
}
return $this->fetch('client/point_list');
}
//用户积分列表
public function userPointDetail(){
$aid = input("id");
if($this->sys_admin_info['group_id'] == 11){
$aid = $this->sys_admin_info['admin__id'];
}
if(request()->isPost()){
$page =input('page')?input('page'):1;
$pageSize =input('limit')?input('limit'):config('pageSize');
$list = db('admin_point_log')
->field("b.*,a.username")
-> alias("b")
-> join('admin a','a.admin_id=b.aid')
->where('b.aid',$aid)
->order("id desc")
->paginate(array('list_rows'=>$pageSize,'page'=>$page))
->toArray();
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$list['data'],'count'=>$list['total'],'rel'=>1];
}
$this->assign("id",$aid);
return $this->fetch('client/point_detail');
}
// 将扣除的积分指定到每条记录上
public function subAdminPoint($aid=0,$out_point=0){
if($aid ==0 || $out_point==0 ){
return 0;
}
$now_point = $out_point;
//获取用户所有的提货获取的积分且有效的且有剩余可抵扣的积分记录 按时间正序开始
$admin_point_logs = Db::table('admin_point_log')->where(['aid'=>$aid,'type'=>0,'status'=>0])->where('use_point','>',0)->order('add_time','asc')->select();
foreach ($admin_point_logs as $logs){
if($now_point>0){
$use_point = $now_point>=$logs['use_point'] ? 0 : $logs['use_point'] - $now_point;
$update = ['use_point'=>$use_point];
$now_point = $now_point>=$logs['use_point'] ? $now_point-$logs['use_point'] : 0;
Db::table('admin_point_log')->where(['id' => $logs['id']])->update($update);
}else{
break;
}
}
}
} }

3
application/admin/controller/Common.php

@ -5,6 +5,7 @@ use think\Controller;
class Common extends Controller class Common extends Controller
{ {
protected $mod,$role,$system,$nav,$menudata,$cache_model,$categorys,$module,$moduleid,$adminRules,$HrefId; protected $mod,$role,$system,$nav,$menudata,$cache_model,$categorys,$module,$moduleid,$adminRules,$HrefId;
public $sys_admin_info;
public function initialize() public function initialize()
{ {
//判断管理员是否登录 //判断管理员是否登录
@ -13,6 +14,8 @@ class Common extends Controller
} }
define('MODULE_NAME',strtolower(request()->controller())); define('MODULE_NAME',strtolower(request()->controller()));
define('ACTION_NAME',strtolower(request()->action())); define('ACTION_NAME',strtolower(request()->action()));
//获取管理员信息
$this->sys_admin_info = Db::table('admin') ->where(['admin_id' => session('aid')])->find();
//权限管理 //权限管理
//当前操作权限ID //当前操作权限ID
if(session('aid')!=1){ if(session('aid')!=1){

29
application/admin/view/auth/admin_list.html

@ -8,13 +8,21 @@
{include file="common/foot"/} {include file="common/foot"/}
<script type="text/html" id="barDemo"> <script type="text/html" id="barDemo">
{{# if(d.group_id==11){ }}
<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="take"><i class="layui-icon">&#xe60e;</i>提货</a>
{{# } }}
<a href="{:url('adminEdit')}?admin_id={{d.admin_id}}" class="layui-btn layui-btn-xs">{:lang('edit')}</a> <a href="{:url('adminEdit')}?admin_id={{d.admin_id}}" class="layui-btn layui-btn-xs">{:lang('edit')}</a>
{{# if(d.admin_id==1){ }} {{# if(d.admin_id==1){ }}
<a href="#" class="layui-btn layui-btn-xs layui-btn-disabled">{:lang('del')}</a> <a href="#" class="layui-btn layui-btn-xs layui-btn-disabled">{:lang('del')}</a>
{{# }else{ }} {{# }else{ }}
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">{:lang('del')}</a> <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">{:lang('del')}</a>
{{# } }} {{# } }}
</script> </script>
<script type="text/html" id="open"> <script type="text/html" id="open">
{{# if(d.admin_id==1){ }} {{# if(d.admin_id==1){ }}
<input type="checkbox" disabled name="is_open" value="{{d.admin_id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="open" checked> <input type="checkbox" disabled name="is_open" value="{{d.admin_id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="open" checked>
@ -47,7 +55,7 @@
,{field:'tel', title: '{:lang("tel")}', width:150} ,{field:'tel', title: '{:lang("tel")}', width:150}
,{field:'ip', title: '{:lang("ip")}',width:150,hide:true} ,{field:'ip', title: '{:lang("ip")}',width:150,hide:true}
,{field:'is_open', title: '{:lang("status")}',width:150,toolbar: '#open'} ,{field:'is_open', title: '{:lang("status")}',width:150,toolbar: '#open'}
,{width:160, align:'center', toolbar: '#barDemo'} ,{width:180, align:'right', toolbar: '#barDemo'}
]] ]]
}); });
form.on('switch(open)', function(obj){ form.on('switch(open)', function(obj){
@ -78,10 +86,29 @@
}); });
layer.close(index); layer.close(index);
}); });
}else if(obj.event === 'take'){
layer_add("提货","{:url('Client/take')}?id="+data.admin_id);
} }
}); });
}); });
</script> </script>
<script>
/*添加*/
function layer_add(title,url){
var indexOpen = layer.open({
type: 2,
title: title,
closeBtn: 1, //是否显示关闭按钮
area: ['100%','80%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: true, //开启最大化最小化按钮
content:[url],
});
}
</script>
</body> </body>
</html> </html>

172
application/admin/view/client/active_list.html

@ -0,0 +1,172 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{:config('sys_name')}后台管理</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="/static/plugins/layui/css/layui.css" media="all" />
<link rel="stylesheet" href="/static/admin/css/global.css" media="all">
<link rel="stylesheet" href="/static/common/css/font.css" media="all">
<style>
.filtrate-warp{
margin-bottom: 10px;
}
.filtrate-warp .title{
padding: 5px 12px 7px 12px;
font-size: 14px;
font-weight: normal;
text-align: left;
cursor: pointer;
width: 90px;
background-color: transparent!important;
color: black!important;
}
.filtrate-warp .title:hover{
color: black;
}
.filtrate-warp .flag{
padding: 6px 12px 6px 12px;
cursor: pointer;
}
.filtrate-warp .flag:hover{
color: black;
}
.filtrate-warp .layui-badge:hover{
color: white!important;
}
</style>
</head>
<body class="skin-<?php if(!empty($_COOKIE['skin'])){echo $_COOKIE['skin'];}else{echo '0';setcookie('skin','0');}?>">
<div class="admin-main layui-anim layui-anim-upbit">
<table class="layui-table" id="table-list" lay-filter="table-list"></table>
</div>
<script type="text/html" id="action">
<a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon">&#xe642;</i>编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i class="layui-icon">&#xe640;</i>删除</a>
</script>
<script type="text/html" id="topBtn">
<button type="button" class="layui-btn layui-btn-primary layui-btn-radius layui-btn-sm" id="add"><i class="layui-icon">&#xe608;</i>添加积分活动</button>
</script>
<script type="text/html" id="status">
<input type="checkbox" name="status" value="{{d.status}}" disabled="disabled" lay-skin="switch" lay-text="开启|关闭" lay-filter="open" {{ d.status == 1 ? 'checked' : '' }}>
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form','upload','util','laydate'], function() {
var table = layui.table,form = layui.form,laydate = layui.laydate, $ = layui.jquery,upload = layui.upload,util = layui.util;
var tableIn = table.render({
elem: '#table-list',
url: '{:url("activeList")}',
method: 'post',
toolbar: '#topBtn',
page: true,
cols: [[
{checkbox:true,fixed: true},
{field: 'id', title: 'ID', width: 120, fixed: true},
{field: 'name', title: '活动名称', },
{field: 'get_money', title:'提货积分',templet:function (res) {
return res.get_money+"元赠送"+res.get_point+"积分";
}},
{field: 'out_money', title:'抵扣积分',templet:function (res) {
return res.out_point+"积分抵扣"+res.get_point+"元";
}},
{field:'status', title: '{:lang("status")}',width:150,toolbar: '#status'},
{field: 'add_time', title:'创建时间',templet:function (res) {
return util.toDateString(res.add_time = (res.add_time * 1000));
}},
{title:'操作',width: 260, align: 'center', toolbar: '#action'}
]],
limit: 10 //每页默认显示的数量
});
table.on('tool(table-list)', function(obj) {
var data = obj.data;
if (obj.event === 'del') {
layer.confirm('您确定要删除吗?', function(index){
var loading = layer.load(1, {shade: [0.1, '#fff']});
$.post("{:url('activeDel')}",{id:data.id},function(res){
layer.close(loading);
if(res.code===0){
layer.msg(res.msg,{time:1000,icon:1});
tableIn.reload();
}else{
layer.msg('操作失败!',{time:1000,icon:2});
}
});
layer.close(index);
});
}else if(obj.event === 'edit'){
layer_add("编辑积分活动","{:url('Client/activeEdit')}?id="+data.id);
}
});
$('body').on('click','#add',function() {
var indexOpen = layer.open({
type: 2,
title: '添加积分活动',
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: false, //开启最大化最小化按钮
content: ["{:url('Client/activeAdd')}"]
});
})
});
</script>
<script>
/*添加*/
function layer_add(title,url){
var index = layer.open({
type: 2,
title: title,
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: true, //开启最大化最小化按钮
content: [url,'no']
});
}
</script>
</body>
</html>

94
application/admin/view/client/active_list_add.html

@ -0,0 +1,94 @@
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
<form class="layui-form layui-form-pane">
<div class="layui-form-item">
<label class="layui-form-label">活动名称</label>
<div class="layui-input-4">
<input type="text" id="name" name="name" lay-verify="required" placeholder="请输入活动名称" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">提货积分</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="get_money" lay-verify="required" placeholder="金额" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">元-赠送-</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="get_point" lay-verify="required" placeholder="积分" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">积分</div>
<div class="layui-form-mid layui-word-aux">例如:提货1元赠送2积分就是1:2</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">抵扣积分</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="out_point" lay-verify="required" placeholder="积分" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">积分-抵扣-</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="out_money" lay-verify="required" placeholder="金额" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid"></div>
<div class="layui-form-mid layui-word-aux">例如:100积分抵扣1元就是100:1</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-4">
<select name="status" id="status">
<option value="1">开启</option>
<option value="0">关闭</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">活动内容</label>
<div class="layui-input-4">
<textarea placeholder="请输入活动内容" class="layui-textarea" name="content"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit">提交保存</button>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script>
layui.use(['form', 'layer'], function () {
var form = layui.form, layer = layui.layer,$= layui.jquery;
//监听提交
form.on('submit(submit)', function(data){
/* layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
return false;*/
$.post("{:url('Client/activeAdd')}",data.field,function (res) {
if (res.code == 0){
layer.msg(res.msg,{time:2000});
layer.close(layer.index);
window.parent.location.reload();
}else {
layer.msg(res.msg,{time:2000});
}
},'json')
return false;
});
});
</script>
</body>
</html>

95
application/admin/view/client/active_list_edit.html

@ -0,0 +1,95 @@
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
<form class="layui-form layui-form-pane">
<input type="hidden" id="id" name="id" lay-verify="required" value="{$result.id}" class="layui-input">
<div class="layui-form-item">
<label class="layui-form-label">活动名称</label>
<div class="layui-input-4">
<input type="text" id="name" name="name" value="{$result.name}" lay-verify="required" placeholder="请输入活动名称" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">提货积分</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="get_money" lay-verify="required" value="{$result.get_money}" placeholder="金额" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">元-赠送-</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="get_point" lay-verify="required" value="{$result.get_point}" placeholder="积分" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">积分</div>
<div class="layui-form-mid layui-word-aux">例如:提货1元赠送2积分就是1:2</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">抵扣积分</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="out_point" lay-verify="required" value="{$result.out_point}" placeholder="积分" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid">积分-抵扣-</div>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="out_money" lay-verify="required" value="{$result.out_money}" placeholder="金额" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid"></div>
<div class="layui-form-mid layui-word-aux">例如:100积分抵扣1元就是100:1</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-4">
<select name="status" id="status" >
<option {in name="$result.status" value="1"} selected {/in} value="1">开启</option>
<option {in name="$result.status" value="0"} selected {/in} value="0">关闭</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">活动内容</label>
<div class="layui-input-4">
<textarea placeholder="请输入活动内容" class="layui-textarea" name="content">{$result.content}</textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit">提交保存</button>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script>
layui.use(['form', 'layer'], function () {
var form = layui.form, layer = layui.layer,$= layui.jquery;
//监听提交
form.on('submit(submit)', function(data){
/* layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
return false;*/
$.post("{:url('Client/activeEdit')}",data.field,function (res) {
if (res.code == 0){
layer.msg(res.msg,{time:2000});
layer.close(layer.index);
window.parent.location.reload();
}else {
layer.msg(res.msg,{time:2000});
}
},'json')
return false;
});
});
</script>
</body>
</html>

3
application/admin/view/client/index.html

@ -215,6 +215,7 @@
var tableIn = table.render({ var tableIn = table.render({
elem: '#table-list', elem: '#table-list',
url: '{:url("index")}', url: '{:url("index")}',
method: 'post', method: 'post',
toolbar: '#topBtn', toolbar: '#topBtn',
defaultToolbar:['filter','print','exports'], defaultToolbar:['filter','print','exports'],
@ -384,7 +385,7 @@
}); });
//监听搜索 //监听搜索
form.on('submit(LAY-app-contlist-search)', function(data){ form.on('submit(LAY-app-contlist-search)', function(data){
var field = data.field; var field = data.field;

171
application/admin/view/client/point_detail.html

@ -0,0 +1,171 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{:config('sys_name')}后台管理</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="/static/plugins/layui/css/layui.css" media="all" />
<link rel="stylesheet" href="/static/admin/css/global.css" media="all">
<link rel="stylesheet" href="/static/common/css/font.css" media="all">
<style>
.filtrate-warp{
margin-bottom: 10px;
}
.filtrate-warp .title{
padding: 5px 12px 7px 12px;
font-size: 14px;
font-weight: normal;
text-align: left;
cursor: pointer;
width: 90px;
background-color: transparent!important;
color: black!important;
}
.filtrate-warp .title:hover{
color: black;
}
.filtrate-warp .flag{
padding: 6px 12px 6px 12px;
cursor: pointer;
}
.filtrate-warp .flag:hover{
color: black;
}
.filtrate-warp .layui-badge:hover{
color: white!important;
}
</style>
</head>
<body class="skin-<?php if(!empty($_COOKIE['skin'])){echo $_COOKIE['skin'];}else{echo '0';setcookie('skin','0');}?>">
<div class="admin-main layui-anim layui-anim-upbit">
<table class="layui-table" id="table-list" lay-filter="table-list"></table>
</div>
<script type="text/html" id="action">
<a lay-event="detail" class="layui-btn-primary layui-btn layui-btn-xs"><i class="layui-icon">&#xe60e;</i>查看详情</a>
</script>
<script type="text/html" id="status">
{{# if(d.type==0){ }}
<lable class="green">提货</lable>
{{# }else { if(d.type==1){ }}
<lable class="red">抵扣</lable>
{{# }else{ }}
<lable class="gray">积分到期</lable>
{{# } } }}
</script>
<script type="text/html" id="money">
{{# if(d.type==0){ }}
<lable >提货{{d.money}}元</lable>
{{# }else{ if(d.type==1){ }}
<lable >{{d.money}}元抵扣{{d.point}}积分</lable>
{{# }else{ }}
<lable >{{d.remark}}</lable>
{{# } } }}
</script>
<script type="text/html" id="active_info">
{{# if((d.type==0 || d.type==1) && d.active_id >0){ }}
<lable >{{d.active_name}}</lable>
{{# }else{ if((d.type==0 || d.type==1) && d.active_id == 0){ }}
<lable >默认无活动</lable>
{{# }else{ }}
<lable ></lable>
{{# } } }}
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form','upload','util','laydate'], function() {
var table = layui.table,form = layui.form,laydate = layui.laydate, $ = layui.jquery,upload = layui.upload,util = layui.util;
var tableIn = table.render({
elem: '#table-list',
url: '{:url("userPointDetail")}',
where: {
id: '{:$id}'
},
method: 'post',
toolbar: '#topBtn',
page: true,
cols: [[
{checkbox:true,fixed: true},
{field: 'username', title: '经销商名称', },
{field: 'in_point', title:'有效积分'},
{field: 'change', title:'变动积分'},
{field:'type', title: '变动类型',toolbar: '#status'},
{field:'money', title: '提货/抵扣',toolbar: '#money'},
{field:'remark', title: '活动规则',toolbar: '#active_info'},
{field: 'add_time', title:'创建时间',templet:function (res) {
return util.toDateString(res.add_time = (res.add_time * 1000));
}},
// {title:'操作',width: 260, align: 'center', toolbar: '#action'}
]],
limit: 10 //每页默认显示的数量
});
table.on('tool(table-list)', function(obj) {
var data = obj.data;
});
$('body').on('click','#add',function() {
var indexOpen = layer.open({
type: 2,
title: '添加积分活动',
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: false, //开启最大化最小化按钮
content: ["{:url('Client/activeAdd')}"]
});
})
});
</script>
<script>
/*添加*/
function layer_add(title,url){
var index = layer.open({
type: 2,
title: title,
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: true, //开启最大化最小化按钮
content: [url,'no']
});
}
</script>
</body>
</html>

148
application/admin/view/client/point_list.html

@ -0,0 +1,148 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{:config('sys_name')}后台管理</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="/static/plugins/layui/css/layui.css" media="all" />
<link rel="stylesheet" href="/static/admin/css/global.css" media="all">
<link rel="stylesheet" href="/static/common/css/font.css" media="all">
<style>
.filtrate-warp{
margin-bottom: 10px;
}
.filtrate-warp .title{
padding: 5px 12px 7px 12px;
font-size: 14px;
font-weight: normal;
text-align: left;
cursor: pointer;
width: 90px;
background-color: transparent!important;
color: black!important;
}
.filtrate-warp .title:hover{
color: black;
}
.filtrate-warp .flag{
padding: 6px 12px 6px 12px;
cursor: pointer;
}
.filtrate-warp .flag:hover{
color: black;
}
.filtrate-warp .layui-badge:hover{
color: white!important;
}
</style>
</head>
<body class="skin-<?php if(!empty($_COOKIE['skin'])){echo $_COOKIE['skin'];}else{echo '0';setcookie('skin','0');}?>">
<div class="admin-main layui-anim layui-anim-upbit">
<table class="layui-table" id="table-list" lay-filter="table-list"></table>
</div>
<script type="text/html" id="action">
<a href="{:url('client/userPointDetail')}?id={{d.aid}}" class="layui-btn-primary layui-btn layui-btn-xs"><i class="layui-icon">&#xe60e;</i>积分详情</a>
</script>
<script type="text/html" id="status">
{{# if(d.type==0){ }}
<input type="text" disabled value="{{d.admin_id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="open" checked>
{{# }else{ }}
<input type="checkbox" name="is_open" value="{{d.admin_id}}" lay-skin="switch" lay-text="开启|关闭" lay-filter="open" {{ d.is_open == 1 ? 'checked' : '' }}>
{{# } }}
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form','upload','util','laydate'], function() {
var table = layui.table,form = layui.form,laydate = layui.laydate, $ = layui.jquery,upload = layui.upload,util = layui.util;
var tableIn = table.render({
elem: '#table-list',
url: '{:url("userPointlist")}',
method: 'post',
toolbar: '#topBtn',
page: true,
cols: [[
{checkbox:true,fixed: true},
{field: 'username', title: '经销商名称', },
{field: 'in_point', title:'有效积分'},
{field: 'out_point', title:'过期积分'},
{field:'tel', title: '联系号码'},
{field: 'add_time', title:'创建时间',templet:function (res) {
return util.toDateString(res.add_time = (res.add_time * 1000));
}},
{title:'操作',width: 260, align: 'center', toolbar: '#action'}
]],
limit: 10 //每页默认显示的数量
});
table.on('tool(table-list)', function(obj) {
var data = obj.data;
});
$('body').on('click','#add',function() {
var indexOpen = layer.open({
type: 2,
title: '添加积分活动',
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: false, //开启最大化最小化按钮
content: ["{:url('Client/activeAdd')}"]
});
})
});
</script>
<script>
/*添加*/
function layer_add(title,url){
var index = layer.open({
type: 2,
title: title,
closeBtn: 1, //是否显示关闭按钮
area: ['100%','86%'],
anim: 2, //动画
shadeClose: false, //点击空白处是否关闭
maxmin: true, //开启最大化最小化按钮
content: [url,'no']
});
}
</script>
</body>
</html>

89
application/admin/view/client/take_add.html

@ -0,0 +1,89 @@
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit" ng-app="hd" ng-controller="ctrl">
<form class="layui-form layui-form-pane">
<div class="layui-form-item">
<label class="layui-form-label">客户名称</label>
<div class="layui-input-4">
<input type="hidden" value="{$admin.admin_id}" name="aid">
<input type="text" disabled value="{$admin.username}" placeholder="请选择客户名称" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">提货金额</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" name="take_money" lay-verify="required" placeholder="请输入提货金额,请保留整数" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">提货时间</label>
<div class="layui-input-inline" style="width: 200px;">
<input type="text" class="layui-input" autocomplete="off" name="take_time" id="take_time" placeholder="提货时间">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">积分规则</label>
<div class="layui-input-4">
<select name="active_id" id="active_id">
{volist name='activeList' id='vo'}
<option value="{$vo.id}">{$vo.name}</option>
{/volist}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">备注</label>
<div class="layui-input-4">
<textarea placeholder="请输入备注" class="layui-textarea" name="remark"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit">提交保存</button>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script>
layui.use(['form', 'layer','laydate'], function () {
var form = layui.form,laydate = layui.laydate, layer = layui.layer,$= layui.jquery;
//监听提交
form.on('submit(submit)', function(data){
/* layer.alert(JSON.stringify(data.field), {
title: '最终的提交信息'
})
return false;*/
$.post("{:url('Client/take')}",data.field,function (res) {
if (res.code == 0){
console.log(res.code,11111)
layer.msg("添加成功",{time:2000},function (){
layer.close(layer.index);
window.parent.location.reload();
});
}else {
layer.msg(res.msg,{time:2000});
}
},'json')
return false;
});
laydate.render({
elem: '#take_time'
});
});
</script>
</body>
</html>

3
config/app.php

@ -165,5 +165,6 @@ return [
//文件上传 //文件上传
'addwater'=>false, 'addwater'=>false,
'watertext'=>'Meyoo', 'watertext'=>'Meyoo',
'version'=>'6.0' 'version'=>'6.0',
'weixin_template_0' => "您之前剩余积分{pre_point}分,本次提货金额{take_money}元,可使{out_point},本次新增积分{get_point}分,账户累计剩余有效积分为{point}分.请及时使用! (积分使用规则:{active_content})",
]; ];

9
public/.htaccess

@ -1,7 +1,10 @@
<IfModule mod_rewrite.c> <IfModule mod_rewrite.c>
RewriteEngine on Options +FollowSymlinks -Multiviews
RewriteBase / RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L] # RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule> </IfModule>

1
public/.user.ini

@ -1 +0,0 @@
open_basedir=/www/wwwroot/wrs.365xunxibao.com/:/tmp/
Loading…
Cancel
Save