移除支付宝生活号管理
parent
5f926928b0
commit
df885e75a3
|
|
@ -1,207 +0,0 @@
|
|||
<?php
|
||||
namespace app\admin\controller;
|
||||
|
||||
use app\service\AlipayLifeService;
|
||||
|
||||
/**
|
||||
* 生活号管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLife extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 生活号列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
|
||||
// 条件
|
||||
$where = AlipayLifeService::AlipayLifeListWhere($params);
|
||||
|
||||
// 获取总数
|
||||
$total = AlipayLifeService::AlipayLifeTotal($where);
|
||||
|
||||
// 分页
|
||||
$page_params = array(
|
||||
'number' => $number,
|
||||
'total' => $total,
|
||||
'where' => $params,
|
||||
'page' => isset($params['page']) ? intval($params['page']) : 1,
|
||||
'url' => url('admin/alipaylife/index'),
|
||||
);
|
||||
$page = new \base\Page($page_params);
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 获取列表
|
||||
$data_params = array(
|
||||
'm' => $page->GetPageStarNumber(),
|
||||
'n' => $number,
|
||||
'where' => $where,
|
||||
'field' => 'a.*',
|
||||
);
|
||||
$data = AlipayLifeService::AlipayLifeList($data_params);
|
||||
$this->assign('data_list', $data['data']);
|
||||
|
||||
// 是否上下架
|
||||
$this->assign('common_goods_is_shelves_list', lang('common_goods_is_shelves_list'));
|
||||
|
||||
// 生活号分类
|
||||
$alipay_life_category = AlipayLifeService::AlipayLifeCategoryList(['field'=>'id,name']);
|
||||
$this->assign('alipay_life_category', $alipay_life_category['data']);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* [SaveInfo 添加/编辑页面]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-14T21:37:02+0800
|
||||
*/
|
||||
public function SaveInfo()
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
|
||||
// 数据
|
||||
if(!empty($params['id']))
|
||||
{
|
||||
// 获取列表
|
||||
$data_params = array(
|
||||
'm' => 0,
|
||||
'n' => 1,
|
||||
'where' => ['a.id'=>intval($params['id'])],
|
||||
'field' => 'a.*',
|
||||
);
|
||||
$data = AlipayLifeService::AlipayLifeList($data_params);
|
||||
|
||||
if(!empty($data['data'][0]))
|
||||
{
|
||||
// 获取分类关联数据
|
||||
$category_ids = AlipayLifeService::AlipayLifeCategoryIds(['where'=>['alipay_life_id'=>$data['data'][0]['id']]]);
|
||||
$data['data'][0]['category_ids'] = $category_ids['data'];
|
||||
|
||||
$this->assign('data', empty($data['data'][0]) ? [] : $data['data'][0]);
|
||||
}
|
||||
}
|
||||
|
||||
// 是否上下架
|
||||
$this->assign('common_goods_is_shelves_list', lang('common_goods_is_shelves_list'));
|
||||
|
||||
// 生活号分类
|
||||
$alipay_life_category = AlipayLifeService::AlipayLifeCategoryList(['field'=>'id,name']);
|
||||
$this->assign('alipay_life_category', $alipay_life_category['data']);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 编辑器文件存放地址
|
||||
$this->assign('editor_path_type', 'alipay_life');
|
||||
|
||||
return $this->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 生活号保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
$ret = AlipayLifeService::AlipayLifeSave($params);
|
||||
return json($ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
$params['user_type'] = 'admin';
|
||||
$ret = AlipayLifeService::AlipayLifeDelete($params);
|
||||
return json($ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* [StatusUpdate 状态更新]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2017-01-12T22:23:06+0800
|
||||
*/
|
||||
public function StatusUpdate()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 开始处理
|
||||
$params = input();
|
||||
$params['alipay_life_id'] = isset($params['id']) ? $params['id'] : 0;
|
||||
if(isset($params['state']))
|
||||
{
|
||||
$params['status'] = $params['state'];
|
||||
}
|
||||
$ret = AlipayLifeService::LifeStatus($params);
|
||||
return json($ret);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,185 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
/**
|
||||
* 生活号分类管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLifeCategory extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 生活号分类列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
$this->assign('common_is_enable_list', lang('common_is_enable_list'));
|
||||
$this->display('Index');
|
||||
}
|
||||
|
||||
/**
|
||||
* [GetNodeSon 获取节点子列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T15:19:45+0800
|
||||
*/
|
||||
public function GetNodeSon()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 获取数据
|
||||
$field = array('id', 'name', 'sort', 'is_enable');
|
||||
$data = db('AlipayLifeCategory')->field($field)->where(array('pid'=>intval(I('id', 0))))->select();
|
||||
if(!empty($data))
|
||||
{
|
||||
foreach($data as $k=>$v)
|
||||
{
|
||||
$data[$k]['is_son'] = $this->IsExistSon($v['id']);
|
||||
$data[$k]['ajax_url'] = url('Admin/AlipayLifeCategory/GetNodeSon', array('id'=>$v['id']));
|
||||
$data[$k]['delete_url'] = url('Admin/AlipayLifeCategory/Delete');
|
||||
$data[$k]['json'] = json_encode($v);
|
||||
}
|
||||
}
|
||||
$msg = empty($data) ? '没有相关数据' : '操作成功';
|
||||
$this->ajaxReturn($msg, 0, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* [IsExistSon 节点是否存在子数据]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T15:22:47+0800
|
||||
* @param [int] $id [节点id]
|
||||
* @return [string] [有数据ok, 则no]
|
||||
*/
|
||||
private function IsExistSon($id)
|
||||
{
|
||||
if(!empty($id))
|
||||
{
|
||||
return (db('AlipayLifeCategory')->where(array('pid'=>$id))->count() > 0) ? 'ok' : 'no';
|
||||
}
|
||||
return 'no';
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 生活号分类保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// id为空则表示是新增
|
||||
$m = D('AlipayLifeCategory');
|
||||
|
||||
// 公共额外数据处理
|
||||
$m->sort = intval(I('sort'));
|
||||
|
||||
// 添加
|
||||
if(empty($_POST['id']))
|
||||
{
|
||||
if($m->create($_POST, 1))
|
||||
{
|
||||
// 额外数据处理
|
||||
$m->add_time = time();
|
||||
$m->name = I('name');
|
||||
|
||||
// 写入数据库
|
||||
if($m->add())
|
||||
{
|
||||
$this->ajaxReturn('新增成功');
|
||||
} else {
|
||||
$this->ajaxReturn('新增失败', -100);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 编辑
|
||||
if($m->create($_POST, 2))
|
||||
{
|
||||
// 额外数据处理
|
||||
$m->name = I('name');
|
||||
$m->upd_time = time();
|
||||
|
||||
// 移除 id
|
||||
unset($m->id);
|
||||
|
||||
// 更新数据库
|
||||
if($m->where(array('id'=>I('id')))->save())
|
||||
{
|
||||
$this->ajaxReturn('编辑成功');
|
||||
} else {
|
||||
$this->ajaxReturn('编辑失败或数据未改变', -100);
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->ajaxReturn($m->getError(), -1);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号分类删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$m = D('AlipayLifeCategory');
|
||||
if($m->create($_POST, 5))
|
||||
{
|
||||
if($m->delete(I('id')))
|
||||
{
|
||||
$this->ajaxReturn('删除成功');
|
||||
} else {
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
} else {
|
||||
$this->ajaxReturn($m->getError(), -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,457 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use Service\AlipayLifeService;
|
||||
|
||||
/**
|
||||
* 生活号菜单管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLifeMenu extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 生活号菜单列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 模型对象
|
||||
$m = db('AlipayLifeMenu');
|
||||
|
||||
// 条件
|
||||
$where = $this->GetIndexWhere();
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
$page_param = array(
|
||||
'number' => $number,
|
||||
'total' => $m->where($where)->count(),
|
||||
'where' => $params,
|
||||
'url' => url('Admin/AlipayLifeMenu/Index'),
|
||||
);
|
||||
$page = new \base\Page($page_param);
|
||||
|
||||
// 获取列表
|
||||
$list = $m->where($where)->limit($page->GetPageStarNumber(), $number)->order('id desc')->select();
|
||||
$list = $this->SetDataHandle($list);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 分页
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 发布状态
|
||||
$this->assign('common_release_status_list', lang('common_release_status_list'));
|
||||
|
||||
// 菜单类型
|
||||
$this->assign('common_alipay_life_menu_type_list', lang('common_alipay_life_menu_type_list'));
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Index');
|
||||
}
|
||||
|
||||
/**
|
||||
* [SetDataHandle 数据处理]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-29T21:27:15+0800
|
||||
* @param [array] $data [轮播图片数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandle($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_release_status_list = lang('common_release_status_list');
|
||||
$common_alipay_life_menu_type_list = lang('common_alipay_life_menu_type_list');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 状态
|
||||
$v['status_name'] = $common_release_status_list[$v['status']]['name'];
|
||||
|
||||
// 类型
|
||||
$v['type_name'] = $common_alipay_life_menu_type_list[$v['type']]['name'];
|
||||
|
||||
// 生活号
|
||||
$v['alipay_life_all'] = empty($v['alipay_life_ids']) ? '' : db('AlipayLife')->where(['id'=>['in', json_decode($v['alipay_life_ids'], true)]])->getField('name', true);
|
||||
|
||||
// 时间
|
||||
$v['startup_time'] = empty($v['startup_time']) ? '' : date('Y-m-d H:i:s', $v['startup_time']);
|
||||
$v['success_time'] = empty($v['success_time']) ? '' : date('Y-m-d H:i:s', $v['success_time']);
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* [GetIndexWhere 列表条件]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-10T22:16:29+0800
|
||||
*/
|
||||
private function GetIndexWhere()
|
||||
{
|
||||
$where = array();
|
||||
|
||||
// 模糊
|
||||
if(!empty($_REQUEST['keyword']))
|
||||
{
|
||||
$where['name'] = array('like', '%'.I('keyword').'%');
|
||||
}
|
||||
|
||||
// 是否更多条件
|
||||
if(I('is_more', 0) == 1)
|
||||
{
|
||||
if(I('status', -1) > -1)
|
||||
{
|
||||
$where['status'] = intval(I('status', 0));
|
||||
}
|
||||
if(I('type', -1) > -1)
|
||||
{
|
||||
$where['type'] = intval(I('type', 0));
|
||||
}
|
||||
|
||||
// 表达式
|
||||
if(!empty($_REQUEST['time_start']))
|
||||
{
|
||||
$where['add_time'][] = array('gt', strtotime(I('time_start')));
|
||||
}
|
||||
if(!empty($_REQUEST['time_end']))
|
||||
{
|
||||
$where['add_time'][] = array('lt', strtotime(I('time_end')));
|
||||
}
|
||||
}
|
||||
return $where;
|
||||
}
|
||||
|
||||
/**
|
||||
* [SaveInfo 添加/编辑页面]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-14T21:37:02+0800
|
||||
*/
|
||||
public function SaveInfo()
|
||||
{
|
||||
// 数据
|
||||
$data = empty($_REQUEST['id']) ? array() : db('AlipayLifeMenu')->find(I('id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 菜单类型
|
||||
$this->assign('common_alipay_life_menu_type_list', lang('common_alipay_life_menu_type_list'));
|
||||
|
||||
// 生活号
|
||||
$alipay_life_list = [];
|
||||
$alipay_life_ids_all = [];
|
||||
if(!empty($_GET['alipay_life_id']))
|
||||
{
|
||||
$alipay_life_ids_all = [intval(I('alipay_life_id'))];
|
||||
}
|
||||
if(!empty($data['alipay_life_ids']))
|
||||
{
|
||||
$alipay_life_ids_all = json_decode($data['alipay_life_ids'], true);
|
||||
}
|
||||
if(!empty($alipay_life_ids_all))
|
||||
{
|
||||
$alipay_life_list = db('AlipayLife')->field('id,name')->where(['id'=>['in', $alipay_life_ids_all]])->select();
|
||||
}
|
||||
$this->assign('alipay_life_ids_all', $alipay_life_ids_all);
|
||||
$this->assign('alipay_life_list', $alipay_life_list);
|
||||
|
||||
// 生活号分类
|
||||
$alipay_life_category = db('AlipayLifeCategory')->where(['is_enable'=>1])->field('id,name')->select();
|
||||
$this->assign('alipay_life_category', $alipay_life_category);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', array_merge($_POST, $_GET));
|
||||
$this->display('SaveInfo');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* [Index 内容列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function ContentIndex()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 条件
|
||||
$where = ['alipay_life_menu_id' => intval($params['menu_id']), 'pid'=>0];
|
||||
|
||||
// 获取列表
|
||||
$list = $this->SetDataHandleContent(db('AlipayLifeMenuContent')->where($where)->order('sort asc')->select());
|
||||
if(!empty($list))
|
||||
{
|
||||
foreach($list as &$v)
|
||||
{
|
||||
$v['items'] = $this->SetDataHandleContent(db('AlipayLifeMenuContent')->where(['pid'=>$v['id']])->order('sort asc')->select());
|
||||
}
|
||||
}
|
||||
|
||||
// 主数据
|
||||
$data = empty($_REQUEST['menu_id']) ? array() : db('AlipayLifeMenu')->find(I('menu_id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->assign('list_count', count($list));
|
||||
$this->display('ContentIndex');
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
* @param [array] $data [数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandleContent($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_alipay_life_menu_action_type_list = lang('common_alipay_life_menu_action_type_list');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 事件类型
|
||||
$v['action_type_name'] = $common_alipay_life_menu_action_type_list[$v['action_type']]['name'];
|
||||
|
||||
// 图标
|
||||
$v['icon'] = empty($v['icon']) ? '' : config('IMAGE_HOST').$v['icon'];
|
||||
|
||||
// 时间
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容添加/编辑页面
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
*/
|
||||
public function ContentSaveInfo()
|
||||
{
|
||||
// 主数据
|
||||
$menu = empty($_REQUEST['menu_id']) ? array() : db('AlipayLifeMenu')->find(I('menu_id'));
|
||||
$this->assign('menu', $menu);
|
||||
|
||||
// 数据
|
||||
$data = empty($_REQUEST['id']) ? array() : db('AlipayLifeMenuContent')->find(I('id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 事件类型
|
||||
$this->assign('common_alipay_life_menu_action_type_list', lang('common_alipay_life_menu_action_type_list'));
|
||||
|
||||
// 获取父级分类
|
||||
$this->assign('alipay_life_menu_list', db('AlipayLifeMenuContent')->field('id,name')->where(['pid'=>0, 'alipay_life_menu_id'=>$menu['id']])->select());
|
||||
|
||||
// 参数
|
||||
$this->assign('params', array_merge($_POST, $_GET));
|
||||
$this->display('ContentSaveInfo');
|
||||
}
|
||||
|
||||
/**
|
||||
* 详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-30
|
||||
* @desc description
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 获取列表
|
||||
$list = AlipayLifeService::MenuDetailList($params);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Detail');
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 生活号菜单保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MenuSave($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* [ContentSave 生活号菜单内容保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function ContentSave()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MenuContentSave($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号菜单删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 删除
|
||||
$id = intval(I('id'));
|
||||
$m = db('AlipayLifeMenu');
|
||||
$m->startTrans();
|
||||
if($m->delete($id) && db('AlipayLifeMenuContent')->where(['alipay_life_message_id'=>$id])->delete())
|
||||
{
|
||||
$m->commit();
|
||||
$this->ajaxReturn('删除成功');
|
||||
}
|
||||
$m->rollback();
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号菜单内容删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function ContentDelete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 删除
|
||||
if(db('AlipayLifeMenuContent')->delete(intval(I('id'))))
|
||||
{
|
||||
$this->ajaxReturn('删除成功');
|
||||
}
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送菜单
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-24
|
||||
* @desc description
|
||||
*/
|
||||
public function Release()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MenuSubmit($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生活号搜索
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
*/
|
||||
public function Search()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::AlipayLifeSearch($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,495 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use Service\AlipayLifeService;
|
||||
|
||||
/**
|
||||
* 生活号消息管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLifeMessage extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 生活号消息列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 模型对象
|
||||
$m = db('AlipayLifeMessage');
|
||||
|
||||
// 条件
|
||||
$where = $this->GetIndexWhere();
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
$page_param = array(
|
||||
'number' => $number,
|
||||
'total' => $m->where($where)->count(),
|
||||
'where' => $params,
|
||||
'url' => url('Admin/AlipayLifeMessage/Index'),
|
||||
);
|
||||
$page = new \base\Page($page_param);
|
||||
|
||||
// 获取列表
|
||||
$list = $m->where($where)->limit($page->GetPageStarNumber(), $number)->order('id desc')->select();
|
||||
$list = $this->SetDataHandle($list);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 分页
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 发送状态
|
||||
$this->assign('common_send_status_list', lang('common_send_status_list'));
|
||||
|
||||
// 消息类型
|
||||
$this->assign('alipay_life_message_msg_type_list', lang('alipay_life_message_msg_type_list'));
|
||||
|
||||
// 发送类型
|
||||
$this->assign('alipay_life_message_send_type_list', lang('alipay_life_message_send_type_list'));
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Index');
|
||||
}
|
||||
|
||||
/**
|
||||
* [SetDataHandle 数据处理]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-29T21:27:15+0800
|
||||
* @param [array] $data [轮播图片数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandle($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_send_status_list = lang('common_send_status_list');
|
||||
$alipay_life_message_msg_type_list = lang('alipay_life_message_msg_type_list');
|
||||
$alipay_life_message_send_type_list = lang('alipay_life_message_send_type_list');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 状态
|
||||
$v['status_name'] = $common_send_status_list[$v['status']]['name'];
|
||||
|
||||
// 消息类型
|
||||
$v['type_name'] = $alipay_life_message_msg_type_list[$v['msg_type']]['name'];
|
||||
|
||||
// 发送类型
|
||||
$v['send_type_name'] = $alipay_life_message_send_type_list[$v['send_type']]['name'];
|
||||
|
||||
// 生活号
|
||||
$v['alipay_life_all'] = empty($v['alipay_life_ids']) ? '' : db('AlipayLife')->where(['id'=>['in', json_decode($v['alipay_life_ids'], true)]])->getField('name', true);
|
||||
|
||||
// 用户
|
||||
$v['alipay_openid'] = empty($v['user_id']) ? '' : db('User')->where(['id'=>$v['user_id']])->getField('alipay_openid');
|
||||
|
||||
// 时间
|
||||
$v['startup_time'] = empty($v['startup_time']) ? '' : date('Y-m-d H:i:s', $v['startup_time']);
|
||||
$v['success_time'] = empty($v['success_time']) ? '' : date('Y-m-d H:i:s', $v['success_time']);
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* [GetIndexWhere 列表条件]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-10T22:16:29+0800
|
||||
*/
|
||||
private function GetIndexWhere()
|
||||
{
|
||||
$where = array();
|
||||
|
||||
// 模糊
|
||||
if(!empty($_REQUEST['keyword']))
|
||||
{
|
||||
$where['title'] = array('like', '%'.I('keyword').'%');
|
||||
}
|
||||
|
||||
// 是否更多条件
|
||||
if(I('is_more', 0) == 1)
|
||||
{
|
||||
if(I('status', -1) > -1)
|
||||
{
|
||||
$where['status'] = intval(I('status', 0));
|
||||
}
|
||||
if(I('type', -1) > -1)
|
||||
{
|
||||
$where['msg_type'] = intval(I('type', 0));
|
||||
}
|
||||
if(I('send_type', -1) > -1)
|
||||
{
|
||||
$where['send_type'] = intval(I('send_type', 0));
|
||||
}
|
||||
|
||||
// 表达式
|
||||
if(!empty($_REQUEST['time_start']))
|
||||
{
|
||||
$where['add_time'][] = array('gt', strtotime(I('time_start')));
|
||||
}
|
||||
if(!empty($_REQUEST['time_end']))
|
||||
{
|
||||
$where['add_time'][] = array('lt', strtotime(I('time_end')));
|
||||
}
|
||||
}
|
||||
return $where;
|
||||
}
|
||||
|
||||
/**
|
||||
* [SaveInfo 添加/编辑页面]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-14T21:37:02+0800
|
||||
*/
|
||||
public function SaveInfo()
|
||||
{
|
||||
// 数据
|
||||
$data = empty($_REQUEST['id']) ? array() : db('AlipayLifeMessage')->find(I('id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 消息类型
|
||||
$this->assign('alipay_life_message_msg_type_list', lang('alipay_life_message_msg_type_list'));
|
||||
|
||||
// 单用户发消息用户信息
|
||||
$alipay_openid = '';
|
||||
$user_id = 0;
|
||||
$alipay_life_user_id = 0;
|
||||
if(!empty($_GET['user_id']))
|
||||
{
|
||||
$user_id = intval(I('user_id'));
|
||||
$alipay_life_user_id = intval(I('alipay_life_user_id'));
|
||||
}
|
||||
if(!empty($data))
|
||||
{
|
||||
$user_id = $data['user_id'];
|
||||
$alipay_life_user_id = $data['alipay_life_user_id'];
|
||||
}
|
||||
if(!empty($user_id))
|
||||
{
|
||||
$alipay_openid = db('User')->where(['id'=>$user_id])->getField('alipay_openid');
|
||||
}
|
||||
$this->assign('user_id', $user_id);
|
||||
$this->assign('alipay_life_user_id', $alipay_life_user_id);
|
||||
$this->assign('alipay_openid', $alipay_openid);
|
||||
|
||||
// 消息发送类型
|
||||
$this->assign('alipay_life_message_send_type_list', lang('alipay_life_message_send_type_list'));
|
||||
$send_type = (isset($data['send_type']) && $data['send_type'] == 0) ? $data['send_type'] : (empty($alipay_openid) ? 1 : 0);
|
||||
$this->assign('send_type', $send_type);
|
||||
|
||||
// 生活号
|
||||
$alipay_life_list = [];
|
||||
$alipay_life_ids_all = [];
|
||||
if(!empty($_GET['alipay_life_id']))
|
||||
{
|
||||
$alipay_life_ids_all = [intval(I('alipay_life_id'))];
|
||||
}
|
||||
if(!empty($data['alipay_life_ids']))
|
||||
{
|
||||
$alipay_life_ids_all = json_decode($data['alipay_life_ids'], true);
|
||||
}
|
||||
if(!empty($alipay_life_ids_all))
|
||||
{
|
||||
$alipay_life_list = db('AlipayLife')->field('id,name')->where(['id'=>['in', $alipay_life_ids_all]])->select();
|
||||
}
|
||||
$this->assign('alipay_life_ids_all', $alipay_life_ids_all);
|
||||
$this->assign('alipay_life_list', $alipay_life_list);
|
||||
|
||||
// 生活号分类
|
||||
if(empty($alipay_openid))
|
||||
{
|
||||
$alipay_life_category = db('AlipayLifeCategory')->where(['is_enable'=>1])->field('id,name')->select();
|
||||
} else {
|
||||
$alipay_life_category = [];
|
||||
}
|
||||
$this->assign('alipay_life_category', $alipay_life_category);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', array_merge($_POST, $_GET));
|
||||
$this->assign('msg_type', I('msg_type', 0));
|
||||
$this->display('SaveInfo');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* [Index 消息内容列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function ContentIndex()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 条件
|
||||
$where = ['alipay_life_message_id' => intval($params['message_id'])];
|
||||
|
||||
// 获取列表
|
||||
$list = db('AlipayLifeMessageContent')->where($where)->order('id desc')->select();
|
||||
$list = $this->SetDataHandleContent($list);
|
||||
|
||||
// 消息主数据
|
||||
$data = empty($_REQUEST['message_id']) ? array() : db('AlipayLifeMessage')->find(I('message_id'));
|
||||
$this->assign('data', $data);
|
||||
$this->assign('msg_type', $data['msg_type']);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->assign('list_count', count($list));
|
||||
$this->display('ContentIndex');
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息内容处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
* @param [array] $data [轮播图片数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandleContent($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_send_status_list = lang('common_send_status_list');
|
||||
$alipay_life_message_msg_type_list = lang('alipay_life_message_msg_type_list');
|
||||
$alipay_life_message_send_type_list = lang('alipay_life_message_send_type_list');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// image_url
|
||||
$v['image_url'] = empty($v['image_url']) ? '' : config('IMAGE_HOST').$v['image_url'];
|
||||
|
||||
// 时间
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 内容添加/编辑页面
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
*/
|
||||
public function ContentSaveInfo()
|
||||
{
|
||||
// 主数据
|
||||
$message = empty($_REQUEST['message_id']) ? array() : db('AlipayLifeMessage')->find(I('message_id'));
|
||||
|
||||
// 数据
|
||||
$data = empty($_REQUEST['id']) ? array() : db('AlipayLifeMessageContent')->find(I('id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 消息类型
|
||||
$this->assign('alipay_life_message_msg_type_list', lang('alipay_life_message_msg_type_list'));
|
||||
$this->assign('msg_type', $message['msg_type']);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', array_merge($_POST, $_GET));
|
||||
$this->display('ContentSaveInfo');
|
||||
}
|
||||
|
||||
/**
|
||||
* 消息详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-30
|
||||
* @desc description
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 获取列表
|
||||
$list = AlipayLifeService::MessageDetailList($params);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Detail');
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 生活号消息保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MessageSave($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* [ContentSave 生活号消息内容保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function ContentSave()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MessageContentSave($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号消息删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 删除
|
||||
$id = intval(I('id'));
|
||||
$m = db('AlipayLifeMessage');
|
||||
$m->startTrans();
|
||||
if($m->delete($id) && db('AlipayLifeMessageContent')->where(['alipay_life_message_id'=>$id])->delete())
|
||||
{
|
||||
$m->commit();
|
||||
$this->ajaxReturn('删除成功');
|
||||
}
|
||||
$m->rollback();
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号消息内容删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function ContentDelete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 删除
|
||||
if(db('AlipayLifeMessageContent')->delete(intval(I('id'))))
|
||||
{
|
||||
$this->ajaxReturn('删除成功');
|
||||
}
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送消息
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-24
|
||||
* @desc description
|
||||
*/
|
||||
public function Send()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::MessageSubmit($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生活号搜索
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
*/
|
||||
public function Search()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::AlipayLifeSearch($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,313 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
use Service\AlipayLifeService;
|
||||
|
||||
/**
|
||||
* 生活号批量上下架管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLifeStatus extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 生活号批量上下架列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 模型对象
|
||||
$m = db('AlipayLifeStatus');
|
||||
|
||||
// 条件
|
||||
$where = $this->GetIndexWhere();
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
$page_param = array(
|
||||
'number' => $number,
|
||||
'total' => $m->where($where)->count(),
|
||||
'where' => $params,
|
||||
'url' => url('Admin/AlipayLifeStatus/Index'),
|
||||
);
|
||||
$page = new \base\Page($page_param);
|
||||
|
||||
// 获取列表
|
||||
$list = $m->where($where)->limit($page->GetPageStarNumber(), $number)->order('id desc')->select();
|
||||
$list = $this->SetDataHandle($list);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 分页
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 处理状态
|
||||
$this->assign('common_handle_status_list', lang('common_handle_status_list'));
|
||||
|
||||
// 上下架
|
||||
$this->assign('common_shelves_select_list', lang('common_shelves_select_list'));
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Index');
|
||||
}
|
||||
|
||||
/**
|
||||
* [SetDataHandle 数据处理]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-29T21:27:15+0800
|
||||
* @param [array] $data [轮播图片数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandle($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_handle_status_list = lang('common_handle_status_list');
|
||||
$common_shelves_select_list = lang('common_shelves_select_list');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 状态
|
||||
$v['status_name'] = $common_handle_status_list[$v['status']]['name'];
|
||||
|
||||
// 上下架
|
||||
$v['is_shelves_name'] = $common_shelves_select_list[$v['is_shelves']]['name'];
|
||||
|
||||
// 生活号
|
||||
$v['alipay_life_all'] = empty($v['alipay_life_ids']) ? '' : db('AlipayLife')->where(['id'=>['in', json_decode($v['alipay_life_ids'], true)]])->getField('name', true);
|
||||
|
||||
// 时间
|
||||
$v['startup_time'] = empty($v['startup_time']) ? '' : date('Y-m-d H:i:s', $v['startup_time']);
|
||||
$v['success_time'] = empty($v['success_time']) ? '' : date('Y-m-d H:i:s', $v['success_time']);
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['upd_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* [GetIndexWhere 列表条件]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-10T22:16:29+0800
|
||||
*/
|
||||
private function GetIndexWhere()
|
||||
{
|
||||
$where = array();
|
||||
|
||||
// 模糊
|
||||
if(!empty($_REQUEST['keyword']))
|
||||
{
|
||||
$where['name'] = array('like', '%'.I('keyword').'%');
|
||||
}
|
||||
|
||||
// 是否更多条件
|
||||
if(I('is_more', 0) == 1)
|
||||
{
|
||||
if(I('status', -1) > -1)
|
||||
{
|
||||
$where['status'] = intval(I('status', 0));
|
||||
}
|
||||
if(I('is_shelves', -1) > -1)
|
||||
{
|
||||
$where['is_shelves'] = intval(I('is_shelves', 0));
|
||||
}
|
||||
|
||||
// 表达式
|
||||
if(!empty($_REQUEST['time_start']))
|
||||
{
|
||||
$where['add_time'][] = array('gt', strtotime(I('time_start')));
|
||||
}
|
||||
if(!empty($_REQUEST['time_end']))
|
||||
{
|
||||
$where['add_time'][] = array('lt', strtotime(I('time_end')));
|
||||
}
|
||||
}
|
||||
return $where;
|
||||
}
|
||||
|
||||
/**
|
||||
* [SaveInfo 添加/编辑页面]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-14T21:37:02+0800
|
||||
*/
|
||||
public function SaveInfo()
|
||||
{
|
||||
// 数据
|
||||
$data = empty($_REQUEST['id']) ? array() : db('AlipayLifeStatus')->find(I('id'));
|
||||
$this->assign('data', $data);
|
||||
|
||||
// 生活号
|
||||
$alipay_life_list = [];
|
||||
$alipay_life_ids_all = [];
|
||||
if(!empty($_GET['alipay_life_id']))
|
||||
{
|
||||
$alipay_life_ids_all = [intval(I('alipay_life_id'))];
|
||||
}
|
||||
if(!empty($data['alipay_life_ids']))
|
||||
{
|
||||
$alipay_life_ids_all = json_decode($data['alipay_life_ids'], true);
|
||||
}
|
||||
if(!empty($alipay_life_ids_all))
|
||||
{
|
||||
$alipay_life_list = db('AlipayLife')->field('id,name')->where(['id'=>['in', $alipay_life_ids_all]])->select();
|
||||
}
|
||||
$this->assign('alipay_life_ids_all', $alipay_life_ids_all);
|
||||
$this->assign('alipay_life_list', $alipay_life_list);
|
||||
|
||||
// 生活号分类
|
||||
$alipay_life_category = db('AlipayLifeCategory')->where(['is_enable'=>1])->field('id,name')->select();
|
||||
$this->assign('alipay_life_category', $alipay_life_category);
|
||||
|
||||
// 上下架
|
||||
$this->assign('common_shelves_select_list', lang('common_shelves_select_list'));
|
||||
|
||||
// 参数
|
||||
$this->assign('params', array_merge($_POST, $_GET));
|
||||
$this->display('SaveInfo');
|
||||
}
|
||||
|
||||
/**
|
||||
* 详情
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-30
|
||||
* @desc description
|
||||
*/
|
||||
public function Detail()
|
||||
{
|
||||
// 参数
|
||||
$params = array_merge($_POST, $_GET);
|
||||
|
||||
// 获取列表
|
||||
$list = AlipayLifeService::StatusDetailList($params);
|
||||
|
||||
// 参数
|
||||
$this->assign('params', $params);
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
$this->display('Detail');
|
||||
}
|
||||
|
||||
/**
|
||||
* [Save 生活号批量上下架保存]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Save()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::LifeStatusSave($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* [Delete 生活号批量上下架删除]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-25T22:36:12+0800
|
||||
*/
|
||||
public function Delete()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
// 删除
|
||||
if(db('AlipayLifeStatus')->delete(intval(I('id'))))
|
||||
{
|
||||
$this->ajaxReturn('删除成功');
|
||||
}
|
||||
$this->ajaxReturn('删除失败或资源不存在', -100);
|
||||
}
|
||||
|
||||
/**
|
||||
* 提交
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-24
|
||||
* @desc description
|
||||
*/
|
||||
public function Submit()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$ret = AlipayLifeService::LifeStatusSubmit($_POST);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
|
||||
/**
|
||||
* 生活号搜索
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-10-29
|
||||
* @desc description
|
||||
*/
|
||||
public function Search()
|
||||
{
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
$this->error('非法访问');
|
||||
}
|
||||
|
||||
$params = $_POST;
|
||||
$params['is_all'] = 1;
|
||||
$ret = AlipayLifeService::AlipayLifeSearch($params);
|
||||
$this->ajaxReturn($ret['msg'], $ret['code'], $ret['data']);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,170 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace app\admin\controller;
|
||||
|
||||
/**
|
||||
* 生活号用户管理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-01T21:51:08+0800
|
||||
*/
|
||||
class AlipayLifeUser extends Common
|
||||
{
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-03T12:39:08+0800
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
// 调用父类前置方法
|
||||
parent::__construct();
|
||||
|
||||
// 登录校验
|
||||
$this->Is_Login();
|
||||
|
||||
// 权限校验
|
||||
$this->Is_Power();
|
||||
}
|
||||
|
||||
/**
|
||||
* [Index 用户列表]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-06T21:31:53+0800
|
||||
*/
|
||||
public function Index()
|
||||
{
|
||||
// 参数
|
||||
$param = array_merge($_POST, $_GET);
|
||||
|
||||
// 条件
|
||||
$where = $this->GetIndexWhere();
|
||||
|
||||
// 模型
|
||||
$m = db('AlipayLifeUser');
|
||||
|
||||
// 分页
|
||||
$number = MyC('admin_page_number', 10, true);
|
||||
$page_param = array(
|
||||
'number' => $number,
|
||||
'total' => $m->alias('au')->where($where)->join('INNER JOIN __USER__ AS u ON u.id=au.user_id')->count(),
|
||||
'where' => $param,
|
||||
'url' => url('Admin/AlipayLifeUser/Index'),
|
||||
);
|
||||
$page = new \base\Page($page_param);
|
||||
|
||||
// 获取列表
|
||||
$field = 'u.*, au.alipay_life_id, au.id AS alipay_life_user_id, au.user_id, au.add_time AS alipay_life_add_time';
|
||||
$list = $this->SetDataHandle($m->alias('au')->where($where)->join('INNER JOIN __USER__ AS u ON u.id=au.user_id')->field($field)->limit($page->GetPageStarNumber(), $number)->order('au.id desc')->select());
|
||||
|
||||
// 性别
|
||||
$this->assign('common_gender_list', lang('common_gender_list'));
|
||||
|
||||
// 参数
|
||||
$this->assign('param', $param);
|
||||
|
||||
// 分页
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 数据列表
|
||||
$this->assign('list', $list);
|
||||
|
||||
$this->display('Index');
|
||||
}
|
||||
|
||||
/**
|
||||
* [SetDataHandle 数据处理]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-29T21:27:15+0800
|
||||
* @param [array] $data [用户数据]
|
||||
* @return [array] [处理好的数据]
|
||||
*/
|
||||
private function SetDataHandle($data)
|
||||
{
|
||||
if(!empty($data))
|
||||
{
|
||||
$common_gender_list = lang('common_gender_list');
|
||||
$life_m = db('AlipayLife');
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 生日
|
||||
if(!empty($v['birthday']))
|
||||
{
|
||||
$v['birthday_text'] = date('Y-m-d', $v['birthday']);
|
||||
} else {
|
||||
$v['birthday_text'] = '';
|
||||
}
|
||||
|
||||
// 注册时间
|
||||
$v['add_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
|
||||
// 关注时间
|
||||
$v['alipay_life_add_time'] = date('Y-m-d H:i:s', $v['alipay_life_add_time']);
|
||||
|
||||
// 更新时间
|
||||
$v['upd_time'] = date('Y-m-d H:i:s', $v['upd_time']);
|
||||
|
||||
// 性别
|
||||
$v['gender_text'] = $common_gender_list[$v['gender']]['name'];
|
||||
|
||||
// 所属生活号
|
||||
$v['alipay_life_name'] = $life_m->where(['id'=>$v['alipay_life_id']])->getField('name');
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* [GetIndexWhere 用户列表条件]
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 0.0.1
|
||||
* @datetime 2016-12-10T22:16:29+0800
|
||||
*/
|
||||
private function GetIndexWhere()
|
||||
{
|
||||
$where = array('is_delete_time'=>0);
|
||||
|
||||
// 模糊
|
||||
if(!empty($_REQUEST['keyword']))
|
||||
{
|
||||
$like_keyword = array('like', '%'.I('keyword').'%');
|
||||
$where[] = array(
|
||||
'u.username' => $like_keyword,
|
||||
'u.nickname' => $like_keyword,
|
||||
'u.mobile' => $like_keyword,
|
||||
'_logic' => 'or',
|
||||
);
|
||||
}
|
||||
|
||||
// 是否更多条件
|
||||
if(I('is_more', 0) == 1)
|
||||
{
|
||||
// 等值
|
||||
if(I('gender', -1) > -1)
|
||||
{
|
||||
$where['u.gender'] = intval(I('gender', 0));
|
||||
}
|
||||
|
||||
// 表达式
|
||||
if(!empty($_REQUEST['time_start']))
|
||||
{
|
||||
$where['au.add_time'][] = array('gt', strtotime(I('time_start')));
|
||||
}
|
||||
if(!empty($_REQUEST['time_end']))
|
||||
{
|
||||
$where['au.add_time'][] = array('lt', strtotime(I('time_end')));
|
||||
}
|
||||
}
|
||||
|
||||
return $where;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -1,112 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- tips start -->
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>接口异步通知地址:{{$Think.__MY_URL__}}alipay_life_notify.php</p>
|
||||
</div>
|
||||
<!-- tips end -->
|
||||
|
||||
<!-- form start -->
|
||||
<form class="am-form view-list" action="{{:url('admin/alipaylife/index')}}" method="POST">
|
||||
<div class="am-g">
|
||||
<input type="text" autocomplete="off" class="am-radius form-keyword" placeholder="名称" name="keywords" {{if !empty($params['keywords'])}} value="{{$params.keywords}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-secondary am-btn-sm am-radius form-submit">查询</button>
|
||||
<label class="fs-12 m-l-5 c-p fw-100 more-submit">
|
||||
更多筛选
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" {{if isset($params['is_more']) and $params['is_more'] eq 1}}checked{{/if}} />
|
||||
<i class="am-icon-angle-down"></i>
|
||||
</label>
|
||||
|
||||
<div class="more-where {{if !isset($params['is_more']) or $params['is_more'] neq 1}}none{{/if}}">
|
||||
<select name="is_shelves" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1">上下架</option>
|
||||
{{foreach $common_goods_is_shelves_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($params['is_shelves']) and $params['is_shelves'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<select name="alipay_life_category_id" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1">生活号分类</option>
|
||||
{{foreach $alipay_life_category as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($params['alipay_life_category_id']) and $params['alipay_life_category_id'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<div class="param-date param-where m-l-5">
|
||||
<input type="text" autocomplete="off" name="time_start" class="Wdate am-radius m-t-10" placeholder="起始时间" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_start'])}}value="{{$params.time_start}}"{{/if}}/>
|
||||
<span>~</span>
|
||||
<input type="text" autocomplete="off" class="Wdate am-radius m-t-10" placeholder="结束时间" name="time_end" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_end'])}}value="{{$params.time_end}}"{{/if}}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
|
||||
<!-- operation start -->
|
||||
<div class="am-g m-t-15">
|
||||
<a href="{{:url('admin/alipaylife/saveinfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-10">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>名称</th>
|
||||
<th class="am-hide-sm-only">LOGO</th>
|
||||
<th>appid</th>
|
||||
<th class="am-hide-sm-only category-row">生活号分类</th>
|
||||
<th>上下架</th>
|
||||
<th class="am-hide-sm-only">创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($data_list)}}
|
||||
{{foreach $data_list as $v}}
|
||||
<tr id="data-list-{{$v.id}}" {{if $v['is_shelves'] eq 0}}class="am-active"{{/if}}>
|
||||
<td>{{$v.name}}</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if !empty($v['logo'])}}
|
||||
<a href="{{$v['logo']}}" target="_blank">
|
||||
<img src="{{$v['logo']}}" class="am-radius" width="100" />
|
||||
</a>
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>{{$v.appid}}</td>
|
||||
<td class="am-hide-sm-only">{{:implode(',', $v['alipay_life_category_text'])}}</td>
|
||||
<td>
|
||||
<a href="javascript:;" class="am-icon-btn am-icon-check submit-state {{if $v['is_shelves'] eq 1}}am-success{{else /}}am-default{{/if}}" data-url="{{:url('admin/alipaylife/statusupdate')}}" data-id="{{$v.id}}" data-state="{{$v['is_shelves']}}" data-is-update-status="1"></a>
|
||||
</td>
|
||||
<td class="am-hide-sm-only">{{$v.add_time_time}}</td>
|
||||
<td class="view-operation">
|
||||
<a href="{{:url('admin/alipaylife/saveinfo', array_merge($params, ['id'=>$v['id']]))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('admin/alipaylife/Delete')}}" data-id="{{$v.id}}"> 删除</button>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="7" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
|
||||
<!-- page start -->
|
||||
{{if !empty($data_list)}}
|
||||
{{$page_html|raw}}
|
||||
{{/if}}
|
||||
<!-- page end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:url('admin/alipaylife/save')}}" method="POST" request-type="ajax-url" request-value="{{:url('admin/alipaylife/index')}}" enctype="multipart/form-data">
|
||||
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
|
||||
<legend>
|
||||
<span class="fs-16">
|
||||
{{if empty($data['id'])}}
|
||||
生活号添加
|
||||
{{else /}}
|
||||
生活号编辑
|
||||
{{/if}}
|
||||
</span>
|
||||
<a href="{{:url('admin/alipaylife/index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
<div class="am-form-group">
|
||||
<label>名称</label>
|
||||
<input type="text" name="name" placeholder="名称" minlength="2" maxlength="30" data-validation-message="名称格式 2~30 个字符" class="am-radius" {{if !empty($data)}} value="{{$data.name}}"{{/if}} required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>生活号分类</label>
|
||||
<select name="alipay_life_category_id" class="am-radius c-p chosen-select" multiple="multiple" data-placeholder="可选择..." data-validation-message="请选择生活号分类" required>
|
||||
{{foreach $alipay_life_category as $v}}
|
||||
<option value="{{$v.id}}" {{if !empty($data['category_ids']) and in_array($v['id'], $data['category_ids'])}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>appid</label>
|
||||
<input type="text" name="appid" placeholder="appid" data-validation-message="appid格式 1~60 个字符" class="am-radius" minlength="1" maxlength="60" {{if !empty($data)}} value="{{$data.appid}}"{{/if}} required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="block">LOGO</label>
|
||||
<ul class="plug-file-upload-view brand-logo-images-view" data-form-name="logo" data-max-number="1" data-dialog-type="images">
|
||||
{{if !empty($data['logo'])}}
|
||||
<li>
|
||||
<input type="text" name="logo" value="{{$data.logo}}" />
|
||||
<img src="{{$data.logo}}" />
|
||||
<i>×</i>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<div class="plug-file-upload-submit" data-view-tag="ul.brand-logo-images-view">+上传图片</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>应用公钥</label>
|
||||
<textarea rows="5" name="rsa_public" class="am-radius" placeholder="应用公钥" data-validation-message="应用公钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.rsa_public}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>应用私钥</label>
|
||||
<textarea rows="5" name="rsa_private" class="am-radius" placeholder="应用私钥" data-validation-message="应用私钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.rsa_private}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>支付宝公钥</label>
|
||||
<textarea rows="5" name="out_rsa_public" class="am-radius" placeholder="支付宝公钥" data-validation-message="支付宝公钥格式 1~2000 个字符" required>{{if !empty($data)}}{{$data.out_rsa_public}}{{/if}}</textarea>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<input type="hidden" name="id" {{if !empty($data)}} value="{{$data.id}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<button class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus tree-submit-add" data-am-modal="{target: '#data-save-win'}"> 新增</button>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- save win start -->
|
||||
<div class="am-popup am-radius" id="data-save-win">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title" data-add-title="生活号分类添加" data-edit-title="生活号分类编辑">生活号分类添加</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation admin-save" action="{{:url('Admin/AlipayLifeCategory/Save')}}" method="POST" request-type="ajax-reload" request-value="">
|
||||
<div class="am-form-group">
|
||||
<label>名称</label>
|
||||
<input type="text" placeholder="名称" name="name" minlength="2" maxlength="16" data-validation-message="名称格式 2~16 个字符" class="am-radius" required />
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>顺序</label>
|
||||
<input type="number" placeholder="顺序" name="sort" min="0" max="255" data-validation-message="顺序 0~255 之间的数值" class="am-radius" value="0" required />
|
||||
</div>
|
||||
<include file="Lib/Enable" />
|
||||
<div class="am-form-group">
|
||||
<input type="hidden" name="id" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- save win end -->
|
||||
|
||||
<!-- list start -->
|
||||
<div id="tree" class="m-t-15)}}
|
||||
<div class="m-t-30 t-c">
|
||||
<img src="__PUBLIC__/Common/Images/loading.gif" />
|
||||
<p>处理中...</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
<script>
|
||||
Tree(0, "{{:url('Admin/AlipayLifeCategory/GetNodeSon')}}", 0);
|
||||
</script>
|
||||
|
|
@ -1,196 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- back nav start -->
|
||||
<legend>
|
||||
<span class="fs-16)}}生活号菜单内容</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
<!-- back nav end -->
|
||||
|
||||
<!-- tips start -->
|
||||
<div class="am-alert am-alert-warning am-radius" data-am-alert>
|
||||
<button type="button" class="am-close">×</button>
|
||||
<p>1.图标菜单图片大小必须 60X60 像数,最大不超过5M<br />2.图标菜单建议不超过8个<br />3.图标菜单不支持二级<br /><br />1.底部一级菜单最多4个,如已开启客服功能则最多3个<br />2.底部二级菜单最多5个</p>
|
||||
</div>
|
||||
<!-- tips end -->
|
||||
|
||||
<!-- operation start -->
|
||||
<div class="am-g">
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/ContentSaveInfo', ['menu_id'=>$params['menu_id']])}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>名称</th>
|
||||
<th>事件类型</th>
|
||||
<th>事件值</th>
|
||||
<th class="am-hide-sm-only">图标</th>
|
||||
<th>更多</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($list)}}
|
||||
<foreach name="list" item="v">
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>
|
||||
{{if empty($v['name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['action_type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_type_name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['action_value'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_value}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if !empty($v['icon'])}}
|
||||
<a href="{{$v['icon']}}" target="_blank">
|
||||
<img src="{{$v['icon']}}" class="am-radius" width="60" />
|
||||
</a>
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>名称</dt>
|
||||
<dd>{{if empty($v['name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.name}}{{/if}}</dd>
|
||||
|
||||
<dt>事件类型</dt>
|
||||
<dd>{{if empty($v['action_type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_type_name}}{{/if}}</dd>
|
||||
|
||||
<dt>事件值</dt>
|
||||
<dd>{{if empty($v['action_value'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_value}}{{/if}}</dd>
|
||||
|
||||
<dt>图标</dt>
|
||||
<dd>
|
||||
{{if !empty($v['icon'])}}
|
||||
<img src="{{$v['icon']}}" class="am-img-thumbnail am-radius" width="60" height="60" />
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$v.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$v.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="view-operation">
|
||||
{{if $v['status'] eq 0)}}
|
||||
{{if in_array($data['status'], [0,4])}}
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/ContentSaveInfo', array('id'=>$v['id'], 'menu_id'=>$params['menu_id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('Admin/AlipayLifeMenu/ContentDelete')}}" data-id="{{$v.id}}"> 删除</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
<notempty name="v.items">
|
||||
<foreach name="v.items" item="vs">
|
||||
<tr id="data-list-{{$vs.id}}">
|
||||
<td class="p-l-3)}}
|
||||
{{if empty($vs['name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($vs['action_type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.action_type_name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($vs['action_value'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.action_value}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if !empty($vs['icon'])}}
|
||||
<a href="{{$vs['icon']}}" target="_blank">
|
||||
<img src="{{$vs['icon']}}" class="am-radius" width="60" />
|
||||
</a>
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$vs.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$vs.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>名称</dt>
|
||||
<dd>{{if empty($vs['name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.name}}{{/if}}</dd>
|
||||
|
||||
<dt>事件类型</dt>
|
||||
<dd>{{if empty($vs['action_type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.action_type_name}}{{/if}}</dd>
|
||||
|
||||
<dt>事件值</dt>
|
||||
<dd>{{if empty($vs['action_value'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$vs.action_value}}{{/if}}</dd>
|
||||
|
||||
<dt>图标</dt>
|
||||
<dd>
|
||||
{{if !empty($vs['icon'])}}
|
||||
<img src="{{$vs['icon']}}" class="am-img-thumbnail am-radius" width="60" height="60" />
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$vs.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$vs.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="view-operation">
|
||||
{{if $v['status'] eq 0)}}
|
||||
{{if in_array($data['status'], [0,4])}}
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/ContentSaveInfo', array('id'=>$vs['id'], 'menu_id'=>$params['menu_id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('Admin/AlipayLifeMenu/ContentDelete')}}" data-id="{{$vs.id}}"> 删除</button>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="20" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:url('Admin/AlipayLifeMenu/ContentSave')}}" method="POST" request-type="ajax-url" request-value="{{:url('Admin/AlipayLifeMenu/ContentIndex', ['menu_id'=>$params['menu_id']])}}" enctype="multipart/form-data">
|
||||
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
|
||||
<legend>
|
||||
<span class="fs-16)}}生活号菜单创建/编辑</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/ContentIndex', ['menu_id'=>$params['menu_id']])}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
{{if $menu['type'] eq 0 and !empty($alipay_life_menu_list)}}
|
||||
<div class="am-form-group">
|
||||
<label>父级</label>
|
||||
<select name="pid" class="am-radius c-p chosen-select" data-placeholder="可选择..." data-validation-message="请选择父级">
|
||||
<option value="">可选择...</option>
|
||||
<foreach name="alipay_life_menu_list" item="v">
|
||||
<option value="{{$v.id}}" {{if isset($data['pid']) and $v['id'] eq $data['pid']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>名称</label>
|
||||
<input type="text" name="name" placeholder="名称" maxlength="5" data-validation-message="名称格式 1~5 个字符" class="am-radius" value="<notempty name="data.name">{{$data.name}}{{/if}}" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>事件类型</label>
|
||||
<select name="action_type" class="am-radius c-p chosen-select" data-placeholder="可选择..." data-validation-message="请选择事件类型" required>
|
||||
<option value="">可选择...</option>
|
||||
<foreach name="common_alipay_life_menu_action_type_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($data['action_type']) and $v['value'] eq $data['action_type']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>事件值</label>
|
||||
<input type="text" name="action_value" placeholder="事件值" maxlength="250" data-validation-message="事件值格式最多 250 个字符" class="am-radius" value="<notempty name="data.action_value">{{$data.action_value}}{{/if}}" />
|
||||
</div>
|
||||
|
||||
{{if $menu['type'] eq 1)}}
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="block">图标</label>
|
||||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
|
||||
<i class="am-icon-cloud-upload"></i> 选择图片</button>
|
||||
<input type="text" name="icon" class="am-radius js-choice-one original-images-url original-icon-images-url" data-choice-one-to='input[name="file_icon"]' data-validation-message="请上传图标" readonly="readonly" value="<notempty name="data.icon">{{$data.icon}}{{/if}}" required />
|
||||
<input type="file" name="file_icon" multiple data-validation-message="请上传图标" accept="image/jpeg,image/jpg,image/png" class="js-choice-one images-file-event file_icon-tag" data-choice-one-to=".original-icon-images-url" data-tips-tag="#form-icon-tips" data-image-tag="#form-img-icon" required />
|
||||
<div id="form-icon-tips" class="m-t-5)}}</div>
|
||||
<notempty name="data.icon">
|
||||
<img src="{{$image_host}}{{$data.icon}}" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="60" height="60" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
|
||||
{{/if}}
|
||||
<empty name="data.icon">
|
||||
<img src="{{$image_host}}/Public/Admin/Default/Images/default-images.png" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="60" height="60" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>顺序</label>
|
||||
<input type="number" placeholder="顺序" name="sort" min="0" max="255" data-validation-message="顺序 0~255 之间的数值" class="am-radius" value="{{if isset($data['sort'])}}{{$data.sort}}{{else /}}0{{/if}}" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<input type="hidden" name="id" value="{{$data.id}}" />
|
||||
<input type="hidden" name="menu_id" value="{{$params.menu_id}}" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- back nav start -->
|
||||
<legend>
|
||||
<span class="fs-16)}}详情</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
<!-- back nav end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>生活号</th>
|
||||
<th>状态</th>
|
||||
<th>发布时间</th>
|
||||
<th>发布描述</th>
|
||||
<th>更多</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($list)}}
|
||||
<foreach name="list" item="v">
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>{{$v.alipay_life_name}}</td>
|
||||
<td>{{$v.status_name}}</td>
|
||||
<td>{{$v.send_time}}</td>
|
||||
<td>{{$v.return_msg}}</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>生活号</dt>
|
||||
<dd>{{if empty($v['alipay_life_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.alipay_life_name}}{{/if}}</dd>
|
||||
|
||||
<dt>状态</dt>
|
||||
<dd>{{if empty($v['status_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.status_name}}{{/if}}</dd>
|
||||
|
||||
<dt>发布时间</dt>
|
||||
<dd>{{$v.send_time}}</dd>
|
||||
|
||||
<dt>发布描述</dt>
|
||||
<dd>{{$v.return_msg}}</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$v.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$v.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="20" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form view-list" action="{{:url('Admin/AlipayLifeMenu/Index')}}" method="POST">
|
||||
<div class="am-g">
|
||||
<input type="text" class="am-radius form-keyword" placeholder="名称" name="keyword" <present name="params['keyword']"> value="{{$params.keyword}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-secondary am-btn-sm am-radius form-submit">查询</button>
|
||||
<label class="fs-12 m-l-5 c-p fw-100 more-submit">
|
||||
更多筛选
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" {{if isset($params['is_more']) and $params['is_more'] eq 1)}}checked{{/if}} />
|
||||
<i class="am-icon-angle-down"></i>
|
||||
</label>
|
||||
|
||||
<div class="more-where {{if !isset($params['is_more']) or $params['is_more'] neq 1)}}none{{/if}}">
|
||||
<select name="status" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1)}}状态</option>
|
||||
<foreach name="common_release_status_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($params['status']) and $params['status'] eq $v['value']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<select name="type" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1)}}菜单类型</option>
|
||||
<foreach name="common_alipay_life_menu_type_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($params['type']) and $params['type'] eq $v['value']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<div class="param-date param-where m-l-5)}}
|
||||
<input type="text" name="time_start" class="Wdate am-radius m-t-10" placeholder="起始时间" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_start'])}}value="{{$params.time_start}}"{{/if}}/>
|
||||
<span>~</span>
|
||||
<input type="text" class="Wdate am-radius m-t-10" placeholder="结束时间" name="time_end" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_end'])}}value="{{$params.time_end}}"{{/if}}/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
|
||||
<!-- operation start -->
|
||||
<div class="am-g m-t-15)}}
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/SaveInfo')}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
||||
</div>
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>名称</th>
|
||||
<th>菜单类型</th>
|
||||
<th class="am-hide-sm-only alipay-life-row">生活号</th>
|
||||
<th>状态</th>
|
||||
<th>更多</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($list)}}
|
||||
<foreach name="list" item="v">
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>{{$v.name}}</td>
|
||||
<td>{{$v.type_name}}</td>
|
||||
<td class="am-hide-sm-only">{{:implode(',', $v['alipay_life_all'])}}</td>
|
||||
<td>{{$v.status_name}}</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>名称</dt>
|
||||
<dd>{{if empty($v['name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.name}}{{/if}}</dd>
|
||||
|
||||
<dt>菜单类型</dt>
|
||||
<dd>{{if empty($v['type_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.type_name}}{{/if}}</dd>
|
||||
|
||||
<dt>生活号</dt>
|
||||
<dd>{{if empty($v['alipay_life_all'])}}<span class="cr-ddd">未填写</span>{{else /}}{{:implode(',', $v['alipay_life_all'])}}{{/if}}</dd>
|
||||
|
||||
<dt>状态</dt>
|
||||
<dd>{{if empty($v['status_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.status_name}}{{/if}}</dd>
|
||||
|
||||
<dt>发布启动时间</dt>
|
||||
<dd>{{$v.startup_time}}</dd>
|
||||
|
||||
<dt>发布完成时间</dt>
|
||||
<dd>{{$v.success_time}}</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$v.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$v.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="view-operation">
|
||||
{{if in_array($v['status'], [0,4])}}
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-send-o submit-ajax" data-url="{{:url('Admin/AlipayLifeMenu/Release')}}" data-id="{{$v.id}}" data-view="reload"> 发布</button>
|
||||
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/SaveInfo', array('id'=>$v['id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('Admin/AlipayLifeMenu/Delete')}}" data-id="{{$v.id}}"> 删除</button>
|
||||
{{/if}}
|
||||
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/ContentIndex', array('menu_id'=>$v['id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-cubes"> 内容</button>
|
||||
</a>
|
||||
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/Detail', array('menu_id'=>$v['id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-align-left"> 详情</button>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="20" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
|
||||
<!-- page start -->
|
||||
{{if !empty($list)}}
|
||||
{{$page_html}}
|
||||
{{/if}}
|
||||
<!-- page end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:url('Admin/AlipayLifeMenu/Save')}}" method="POST" request-type="ajax-url" request-value="{{:url('Admin/AlipayLifeMenu/Index')}}" enctype="multipart/form-data">
|
||||
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
|
||||
<legend>
|
||||
<span class="fs-16)}}生活号菜单创建/编辑</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMenu/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>名称</label>
|
||||
<input type="text" name="name" placeholder="名称" data-validation-message="名称格式 1~30 个字符" class="am-radius" maxlength="30" value="<notempty name="data.name">{{$data.name}}{{/if}}" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>菜单类型</label>
|
||||
<select name="type" class="am-radius c-p chosen-select" data-placeholder="可选择..." data-validation-message="请选择菜单类型" {{if isset($data['status']) and $data['status'] neq 0)}}disabled{{/if}} required>
|
||||
<option value="">可选择...</option>
|
||||
<foreach name="common_alipay_life_menu_type_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($data['type']) and $v['value'] eq $data['type']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- 生活号容器 -->
|
||||
<div class="life-container">
|
||||
<label class="block">生活号</label>
|
||||
<div class="life-form" data-search-url="{{:url('Admin/AlipayLifeMenu/Search')}}">
|
||||
<select class="am-radius c-p chosen-select life-form-category" data-placeholder="可选择..." data-validation-message="{{:lang('alipay_life_menu_category_format')}}">
|
||||
<option value="">可选择...</option>
|
||||
<foreach name="alipay_life_category" item="v">
|
||||
<option value="{{$v.id}}">{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<input type="text" placeholder="名称" class="am-radius life-form-keywords" />
|
||||
<button type="button" class="am-btn am-btn-secondary am-radius am-btn-sm search-submit">搜索</button>
|
||||
</div>
|
||||
<div class="am-form-group life-list">
|
||||
<input type="text" name="alipay_life_ids" value="<notempty name="data.alipay_life_ids">{{:implode(',', json_decode($data['alipay_life_ids'], true))}}{{/if}}" data-validation-message="请选择生活号" required />
|
||||
<div class="life-items am-fl">
|
||||
<div class="title">可选</div>
|
||||
<ul class="life-content am-list ul-left">
|
||||
<div class="table-no">没有相关数据</div>
|
||||
</ul>
|
||||
</div>
|
||||
<button type="button" class="am-btn am-btn-default am-btn-xs selected-all">全选 <i class="am-icon-angle-double-right"></i></button>
|
||||
<div class="life-items am-fr">
|
||||
<div class="title">已选</div>
|
||||
<ul class="life-content am-list ul-right">
|
||||
<div class="table-no <notempty name="data">none{{/if}}">没有相关数据</div>
|
||||
<foreach name="alipay_life_list" item="v">
|
||||
<li class="am-animation-slide-bottom items-li-{{$v.id}}">
|
||||
<span class="name" data-value="{{$v.id}}">{{$v.name}}</span>
|
||||
<i class="am-icon-trash-o am-fr"></i>
|
||||
</li>
|
||||
{{/foreach}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<input type="hidden" name="id" value="<notempty name="params.id">{{$params.id}}{{/if}}" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,123 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- back nav start -->
|
||||
<legend>
|
||||
<span class="fs-16)}}生活号消息内容</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMessage/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
<!-- back nav end -->
|
||||
|
||||
<!-- operation start -->
|
||||
{{if ($msg_type eq 0 and $list_count eq 0) or ($msg_type eq 1 and $list_count lt 10)}}
|
||||
<div class="am-g">
|
||||
<a href="{{:url('Admin/AlipayLifeMessage/ContentSaveInfo', ['message_id'=>$params['message_id']])}}" class="am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"> 新增</a>
|
||||
</div>
|
||||
{{/if}}
|
||||
<!-- operation end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>消息标题</th>
|
||||
<th>内容</th>
|
||||
<th>封面图片</th>
|
||||
<th class="am-hide-sm-only">图文url跳转地址</th>
|
||||
<th class="am-hide-sm-only">链接文字</th>
|
||||
<th>更多</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($list)}}
|
||||
<foreach name="list" item="v">
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>
|
||||
{{if empty($v['title'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.title}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if empty($v['content'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.content}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
{{if !empty($v['image_url'])}}
|
||||
<a href="{{$v['image_url']}}" target="_blank">
|
||||
<img src="{{$v['image_url']}}" class="am-radius" width="100" />
|
||||
</a>
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['url'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.url}}{{/if}}
|
||||
</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if empty($v['action_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_name}}{{/if}}
|
||||
</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>消息标题</dt>
|
||||
<dd>{{if empty($v['title'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.title}}{{/if}}</dd>
|
||||
|
||||
<dt>内容</dt>
|
||||
<dd>{{if empty($v['content'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.content}}{{/if}}</dd>
|
||||
|
||||
<dt>封面图片</dt>
|
||||
<dd>
|
||||
{{if !empty($v['image_url'])}}
|
||||
<img src="{{$v['image_url']}}" class="am-img-thumbnail am-radius" width="100" height="100" />
|
||||
{{else /}}
|
||||
<span class="cr-ddd">暂无图片</span>
|
||||
{{/if}}
|
||||
</dd>
|
||||
|
||||
<dt>图文url跳转地址</dt>
|
||||
<dd>{{if empty($v['url'])}}<span class="cr-ddd">未设置</span>{{else /}}{{$v.url}}{{/if}}</dd>
|
||||
|
||||
<dt>链接文字</dt>
|
||||
<dd>{{if empty($v['action_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.action_name}}{{/if}}</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$v.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$v.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="view-operation">
|
||||
{{if in_array($data['status'], [0,4])}}
|
||||
<a href="{{:url('Admin/AlipayLifeMessage/ContentSaveInfo', array('id'=>$v['id'], 'message_id'=>$params['message_id']))}}">
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-edit"> 编辑</button>
|
||||
</a>
|
||||
|
||||
<button class="am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete" data-url="{{:url('Admin/AlipayLifeMessage/ContentDelete')}}" data-id="{{$v.id}}"> 删除</button>
|
||||
{{/if}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="20" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,65 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation view-save" action="{{:url('Admin/AlipayLifeMessage/ContentSave')}}" method="POST" request-type="ajax-url" request-value="{{:url('Admin/AlipayLifeMessage/ContentIndex', ['message_id'=>$params['message_id']])}}" enctype="multipart/form-data">
|
||||
<input type="hidden" name="max_file_size" value="{{:MyC('home_max_limit_image', 2048000)}}" />
|
||||
<legend>
|
||||
<span class="fs-16)}}生活号消息创建/编辑</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMessage/ContentIndex', ['message_id'=>$params['message_id']])}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
|
||||
{{if $msg_type eq 1)}}
|
||||
<div class="am-form-group">
|
||||
<label>消息标题</label>
|
||||
<input type="text" name="title" placeholder="消息标题" maxlength="80" data-validation-message="消息标题格式 1~80 个字符" class="am-radius" value="<notempty name="data.title">{{$data.title}}{{/if}}" required />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>内容</label>
|
||||
<textarea rows="5" name="content" class="am-radius" placeholder="内容" data-validation-message="消息内容格式 1~250 个字符" maxlength="250" required><notempty name="data.content">{{$data.content}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
{{if $msg_type eq 1)}}
|
||||
<div class="am-form-group am-form-file">
|
||||
<label class="block">封面图片</label>
|
||||
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
|
||||
<i class="am-icon-cloud-upload"></i> 选择图片</button>
|
||||
<input type="text" name="image_url" class="am-radius js-choice-one original-images-url original-icon-images-url" data-choice-one-to='input[name="file_image_url"]' data-validation-message="请上传封面图片" readonly="readonly" value="<notempty name="data.image_url">{{$data.image_url}}{{/if}}" required />
|
||||
<input type="file" name="file_image_url" multiple data-validation-message="请上传封面图片" accept="image/jpeg,image/jpg,image/png" class="js-choice-one images-file-event file_image_url-tag" data-choice-one-to=".original-icon-images-url" data-tips-tag="#form-icon-tips" data-image-tag="#form-img-icon" required />
|
||||
<div id="form-icon-tips" class="m-t-5)}}</div>
|
||||
<notempty name="data.image_url">
|
||||
<img src="{{$image_host}}{{$data.image_url}}" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="100" height="100" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
|
||||
{{/if}}
|
||||
<empty name="data.image_url">
|
||||
<img src="{{$image_host}}/Public/Admin/Default/Images/default-images.png" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="100" height="100" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>图文url跳转地址</label>
|
||||
<input type="text" name="url" placeholder="图文url跳转地址" data-validation-message="图文url跳转地址格式 1~255 个字符" class="am-radius" maxlength="255" value="<notempty name="data.url">{{$data.url}}{{/if}}" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>链接文字</label>
|
||||
<input type="text" name="action_name" placeholder="链接文字" data-validation-message="链接文字格式最多 60 个字符" class="am-radius" maxlength="60" value="<notempty name="data.action_name">{{$data.action_name}}{{/if}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="am-form-group">
|
||||
<input type="hidden" name="id" value="{{$data.id}}" />
|
||||
<input type="hidden" name="message_id" value="{{$params.message_id}}" />
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- form end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,83 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- back nav start -->
|
||||
<legend>
|
||||
<span class="fs-16)}}详情</span>
|
||||
<a href="{{:url('Admin/AlipayLifeMessage/Index')}}" class="fr fs-14 m-t-5 am-icon-mail-reply"> 返回</a>
|
||||
</legend>
|
||||
<!-- back nav end -->
|
||||
|
||||
<!-- list start -->
|
||||
<table class="am-table am-table-striped am-table-hover am-text-middle m-t-1)}}
|
||||
<thead>
|
||||
<tr>
|
||||
<th>生活号</th>
|
||||
<th>给用户发送消息</th>
|
||||
<th>状态</th>
|
||||
<th>发送时间</th>
|
||||
<th>发送描述</th>
|
||||
<th>更多</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{if !empty($list)}}
|
||||
<foreach name="list" item="v">
|
||||
<tr id="data-list-{{$v.id}}">
|
||||
<td>{{$v.alipay_life_name}}</td>
|
||||
<td>{{$v.alipay_openid}}</td>
|
||||
<td>{{$v.status_name}}</td>
|
||||
<td>{{$v.send_time}}</td>
|
||||
<td>{{$v.return_msg}}</td>
|
||||
<td>
|
||||
<span class="am-icon-caret-down c-p" data-am-modal="{target: '#my-popup{{$v.id}}'}"> 查看更多</span>
|
||||
<div class="am-popup am-radius" id="my-popup{{$v.id}}">
|
||||
<div class="am-popup-inner">
|
||||
<div class="am-popup-hd">
|
||||
<h4 class="am-popup-title">详情内容</h4>
|
||||
<span data-am-modal-close class="am-close">×</span>
|
||||
</div>
|
||||
<div class="am-popup-bd">
|
||||
<dl class="dl-content">
|
||||
<dt>生活号</dt>
|
||||
<dd>{{if empty($v['alipay_life_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.alipay_life_name}}{{/if}}</dd>
|
||||
|
||||
<dt>给用户发送消息</dt>
|
||||
<dd>{{if empty($v['alipay_openid'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.alipay_openid}}{{/if}}</dd>
|
||||
|
||||
<dt>状态</dt>
|
||||
<dd>{{if empty($v['status_name'])}}<span class="cr-ddd">未填写</span>{{else /}}{{$v.status_name}}{{/if}}</dd>
|
||||
|
||||
<dt>发送时间</dt>
|
||||
<dd>{{$v.send_time}}</dd>
|
||||
|
||||
<dt>发送描述</dt>
|
||||
<dd>{{$v.return_msg}}</dd>
|
||||
|
||||
<dt>创建时间</dt>
|
||||
<dd>{{$v.add_time}}</dd>
|
||||
|
||||
<dt>更新时间</dt>
|
||||
<dd>{{$v.upd_time}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{else /}}
|
||||
<tr><td colspan="20" class="table-no">没有相关数据</td></tr>
|
||||
{{/if}}
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- list end -->
|
||||
</div>
|
||||
</div>
|
||||
<!-- right content end -->
|
||||
|
||||
<!-- footer start -->
|
||||
{{include file="public/footer" /}}
|
||||
<!-- footer end -->
|
||||
|
|
@ -1,150 +0,0 @@
|
|||
{{include file="public/header" /}}
|
||||
|
||||
<!-- right content start -->
|
||||
<div class="content-right">
|
||||
<div class="content">
|
||||
<!-- form start -->
|
||||
<form class="am-form view-list" action="{{:url('Admin/AlipayLifeMessage/Index')}}" method="POST">
|
||||
<div class="am-g">
|
||||
<input type="text" class="am-radius form-keyword" placeholder="标题" name="keyword" <present name="params['keyword']"> value="{{$params.keyword}}"{{/if}} />
|
||||
<button type="submit" class="am-btn am-btn-secondary am-btn-sm am-radius form-submit">查询</button>
|
||||
<label class="fs-12 m-l-5 c-p fw-100 more-submit">
|
||||
更多筛选
|
||||
<input type="checkbox" name="is_more" value="1" id="is_more" {{if isset($params['is_more']) and $params['is_more'] eq 1)}}checked{{/if}} />
|
||||
<i class="am-icon-angle-down"></i>
|
||||
</label>
|
||||
|
||||
<div class="more-where {{if !isset($params['is_more']) or $params['is_more'] neq 1)}}none{{/if}}">
|
||||
<select name="status" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1)}}状态</option>
|
||||
<foreach name="common_send_status_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($params['status']) and $params['status'] eq $v['value']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<select name="type" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1)}}消息类型</option>
|
||||
<foreach name="alipay_life_message_msg_type_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($params['type']) and $params['type'] eq $v['value']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<select name="send_type" class="am-radius c-p m-t-10 m-l-5 param-where">
|
||||
<option value="-1)}}发送类型</option>
|
||||
<foreach name="alipay_life_message_send_type_list" item="v">
|
||||
<option value="{{$v.value}}" {{if isset($params['send_type']) and $params['send_type'] eq $v['value']">selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
<div class="param-date param-where m-l-5)}}
|
||||
<input type="text" name="time_start" class="Wdate am-radius m-t-10" placeholder="起始时间" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_start'])}}value="{{$params.time_start}}"{{/if}}/>
|
||||
<span>~</span>
|
||||
<input type="text" class="Wdate am-radius m-t-10" placeholder="结束时间" name="time_end" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})" {{if isset($params['time_end'])}}value="{{$params.time_end}}"{{/if | ||||