Commit d94e3f48092d58944427e381504d80a3c585288b

Authored by teemitop
1 parent 50fd3b8d

套餐管理

<?php
namespace app\admin\controller;
use think\Db;
use think\facade\Request;
class Package extends Common
{
/**
* 商家菜品套餐-套餐列表
*/
public function list(){
if(Request::isAjax()){
$data = Request::except('file');
$where = ' 1=1 and ';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' re.type_id in (1,2,3)' : " re.type_id in ($channel)";
$where .= $data['key'] ? ' and s.sellername like "%'.$data['key'].'%"' : "";
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//套餐信息
$rs = Db::query("SELECT
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_food_set AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid
WHERE ".$where." order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['cdate'] = date("Y年m月d日",$value['cdate']);
}
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_food_set AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid
WHERE ".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','套餐列表');
return $this->fetch();
}
/**
* 创建套餐-商家列表
*/
public function sellerlist(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' re.type_id in (1,2,3)' : " re.type_id in ($channel)";
$where .= $data['key'] ? ' and s.sellername like "%'.$data['key'].'%"' : "";
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//商家基本数据
$rs = Db::query("SELECT
s.id,
s.sellername
FROM
`xt-member-two-LINE`.xt_seller AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
s.isopen_dc = 1
AND ".$where." GROUP BY s.id order by s.id".$limit);
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_seller AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
s.isopen_dc = 1
AND ".$where."
GROUP BY
s.id");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
return $this->fetch();
}
/**
* 创建菜品套餐-完成创建
*/
public function add_foodset(){
$data = Request::except('file');
if(Request::isAjax()){
$arr = [];
$arr['sid'] = $data['seller_id'] ? $data['seller_id'] : 0;
$arr['sellername'] = $data['seller_name'] ? $data['seller_name'] : '';
$arr['name'] = $data['name'];
$arr['market_price'] = $data['market_price'];
$arr['sale_price'] = $data['sale_price'];
$arr['cost_price'] = $data['cost_price'];
$arr['discount'] = bcdiv($data['sale_price'], $data['market_price'], 1);//折扣 = 现价【销售价】 / 原价【市场价】
$arr['service'] = isset($data['server']) ? implode(',', $data['server']) : '';
$arr['main_url'] = $data['upload_main_val'];
$arr['detail_url'] = $data['upload_detail_val'];
$time = $data['date'] ? explode(' - ', $data['date']) : '';
$arr['eff_time_start'] = $time ? strtotime(date($time[0],time())) : 0;
$arr['eff_time_end'] = $time ? strtotime(date($time[1],time())) : 0;
$arr['use_time'] = $data['usetime'];
$arr['use_notice'] = $data['usenotice'];
$arr['status'] = $data['status'];
$arr['cdate'] = time();
$arr['founder'] = $_SESSION['think']['username'];
//有新加参数 需在此后追加。。。
$keys = implode(',',array_keys($arr));
$sql = "INSERT INTO `xt-member-two-LINE`.xt_dc_dz_seller_food_set ($keys) VALUES (";
foreach ($arr as $key => $value) {
$sql .= '"'.$value.'",';
}
$sql = substr( $sql,0, strlen($sql)-1 );
$sql .=")";
$res = Db::query($sql);
if(!$res){
$result = ['code'=>1,'msg'=>'添加成功!','rel'=>1];
}else{
$result = ['code'=>0,'msg'=>'添加失败!','rel'=>1];
}
return $result;
}
return $this->fetch();
}
/**
* 优惠券-卡券详情
*/
public function footsetdetail(){
//print_r(Request::except('file'));die;
$data = Request::except('file');
//获取套餐详情
$rs = Db::query("SELECT
*
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_food_set
WHERE id = ".$data['id']."
");
switch ($rs[0]['status']) {
case '0':
$rs[0]['status'] = '已上架';
break;
case '1':
$rs[0]['status'] = '已下架';
break;
default:
# code...
break;
}
$rs[0]['eff_time_end'] = $rs[0]['eff_time_end'] ? date("Y年m月d日",$rs[0]['eff_time_end']) : '';
$rs[0]['eff_time_start'] = $rs[0]['eff_time_start'] ? date("Y年m月d日",$rs[0]['eff_time_start']) : '';
$rs[0]['lasttime'] = $rs[0]['lasttime'] ? date("Y年m月d日",$rs[0]['lasttime']) : '';
$rs[0]['cdate'] = $rs[0]['cdate'] ? date("Y年m月d日",$rs[0]['cdate']) : '';
$rs[0]['off_time'] = $rs[0]['off_time'] ? date("Y年m月d日",$rs[0]['off_time']) : '';
$rs[0]['on_time'] = $rs[0]['on_time'] ? date("Y年m月d日",$rs[0]['on_time']) : '';
$this->assign ('rs',$rs[0]);
$this->assign ( 'title','套餐详情');
return $this->fetch();
}
/**
* 创建套餐-选择商户
*/
public function selectseller(){
$this->assign ( 'title','创建套餐');
return $this->fetch();
}
/**
* 菜品套餐 上架/下架
*/
public function foodState(){
$id=input('post.id');
$status=input('post.status');
if (empty($id)){
$result['status'] = 0;
$result['info'] = '套餐不存在!';
$result['url'] = url('list');
return $result;
}
if($status==1)
$strtime = ' ,on_time = '.time();
else
$strtime = ' ,off_time = '.time();
$sql = "UPDATE `xt-member-two-LINE`.xt_dc_dz_seller_food_set set status = ".$status.",lasttime = ".time().", operator = '".$_SESSION['think']['username']."' $strtime where id = ".$id;
$ups = Db::query($sql);
if(!$ups){
$result['code'] = 1;
$result['info'] = '变更成功!';
$result['url'] = url('list');
}else{
$result['code'] = 0;
$result['info'] = '变更失败,请联系管理员!';
$result['url'] = url('list');
}
return $result;
}
/**
* 创建优惠券-卡券类型选择
*/
public function cardtypelist(){
if(Request::isAjax()){
//商家基本数据
$rs = Db::query("SELECT
*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_base ");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'rel'=>2];
}
return $this->fetch();
}
/**
* 商家卡券-卡券投放-卡券列表
*/
public function cardput(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' re.type_id in (1,2,3)' : " re.type_id in ($channel)";
$where .= $data['key'] ? ' and s.sellername like "%'.$data['key'].'%"' : "";
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid
WHERE s.owner = 2 AND
".$where." order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
$rs[$key]['contributor_time'] = $value['contributor_time'] ? date("Y年m月d日",$value['contributor_time']) : '';
switch ($value['status']) {
case '1':
$rs[$key]['status_msg'] = '已投放';
break;
case '2':
$rs[$key]['status_msg'] = '未投放';
break;
case '3':
$rs[$key]['status_msg'] = '停止投放';
break;
default:
# code...
break;
}
}
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.sid
WHERE s.owner = 2 AND
".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','商家卡券');
return $this->fetch();
}
/**
* 商家卡券-卡券投放- 停止投放
*/
public function cardstop(){
if(Request::isAjax()){
$data = Request::except('file');
$ups = Db::query("UPDATE `xt-member-two-LINE`.xt_dc_dz_card_info set status = 3 where id = ".$data['id']);
if(!$ups){
$result['code'] = 1;
$result['msg'] = '该卡券已停止投放!';
}else{
$result['code'] = 0;
$result['msg'] = '请求错误,请联系管理员!';
}
return $result;
}
return view();
}
/**
* 商家卡券-卡券投放- 投放-弹层
*/
public function cardputin(){
$id = Request::except('file');
if(request()->isPost()){
$data = input('post.');
//商家基本数据
$end_time = Db::query("SELECT
end_time
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info
WHERE id=".$data['cid']);
$arr = [];
$time = $data['date'] ? explode(' - ', $data['date']) : '';
$arr['receive_start_time'] = $time ? strtotime(date($time[0],time())) : '';
$arr['receive_end_time'] = $time ? strtotime(date($time[1],time())) : '';
$arr['total_limit'] = $data['total_limit']=='on' ? 1 : 0;
$arr['total'] = $data['total'] ? intval($data['total']) : 0;
$arr['totals'] = $data['total'] ? intval($data['total']) : 0;
$arr['receive_condition'] = $data['receive_condition'] ? intval($data['receive_condition']) : 0;
$arr['order_price'] = $data['order_price'] ? $data['order_price'] : 0;
$arr['contributor'] = $_SESSION['think']['username'];
$arr['contributor_time'] = time();
$arr['status'] = 1;
if(($end_time[0]['end_time']!=0) && ($end_time[0]['end_time'] < $arr['receive_end_time'])) {
$result['code'] = 0;
$result['msg'] = '领取期限必须在卡券有效期内!';
return $result;
}
$sql = "UPDATE `xt-member-two-LINE`.xt_dc_dz_card_info SET ";
foreach ($arr as $key=>$val){
$sql .= "".$key."='".$val."',";
}
$sql = substr( $sql,0, strlen($sql)-1 );
$sql .= ' where id = '.$data['cid'];
$ups = Db::query($sql);
if(!$ups){
$result['code'] = 1;
$result['msg'] = '已成功投放!';
}else{
$result['code'] = 0;
$result['msg'] = '请求错误,请联系管理员!';
}
return $result;
}
//商家基本数据
$rs = Db::query("SELECT
id,
sellername,
card_title,
end_time
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info
WHERE id=".$id['id']);
$this->assign ( 'rs',$rs[0]);
$this->assign ( 'title','卡券投放');
return $this->fetch();
}
/**
* 平台卡券-优惠券-卡券列表
*/
public function platformcard(){
if(Request::isAjax()){
$data = Request::except('file');
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1 order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
switch ($value['status']) {
case '1':
$rs[$key]['status'] = '已投放';
break;
case '2':
$rs[$key]['status'] = '未投放';
break;
case '3':
$rs[$key]['status'] = '停止投放';
break;
default:
# code...
break;
}
}
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','平台卡券');
return $this->fetch();
}
/**
* 创建优惠券-选择商户
*/
public function selectplatform(){
$this->assign ( 'title','创建卡券');
return $this->fetch();
}
/**
* 平台卡券-卡券投放-卡券列表
*/
public function cardputforplat(){
if(Request::isAjax()){
$data = Request::except('file');
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
s.*
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1 order by s.sid".$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['create_time'] = date("Y年m月d日",$value['create_time']);
$rs[$key]['contributor_time'] = $value['contributor_time'] ? date("Y年m月d日",$value['contributor_time']) : '';
switch ($value['status']) {
case '1':
$rs[$key]['status_msg'] = '已投放';
break;
case '2':
$rs[$key]['status_msg'] = '未投放';
break;
case '3':
$rs[$key]['status_msg'] = '停止投放';
break;
default:
# code...
break;
}
}
//获取总条数
$total = Db::query("SELECT
s.id
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS s
WHERE s.owner = 1");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','平台卡券');
return $this->fetch();
}
/**
* 商家卡券-数据统计-统计列表
*/
public function sellercarddatalist(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' AND rel.type_id in (1,2,3)' : " AND rel.type_id in ($channel)";
$where .= $data['key'] ? ' AND s.sellername like "%'.$data['key'].'%"' : "";
//日期
$time = $data['time'] ? explode(' - ', $data['time']) : '';
$start = $time ? strtotime(date($time[0],time())) : 0;
$end = $time ? strtotime(date($time[1],time())) : 0;
$where .= $data['time'] ? ' AND i.contributor_time BETWEEN '.$start.' AND '.$end : '';
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
i.*,
s.sellername
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS i
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON i.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel as rel ON rel.sid = s.id
WHERE
i.`owner` = 2
AND i.STATUS IN (1,3)
".$where.$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['contributor_time'] = date("Y年m月d日",$value['contributor_time']);
switch ($value['status']) {
case '1':
$rs[$key]['status'] = '已投放';
break;
case '2':
$rs[$key]['status'] = '未投放';
break;
case '3':
$rs[$key]['status'] = '停止投放';
break;
default:
# code...
break;
}
//领取人数
$receive_people_number = Db::query("SELECT
count(
DISTINCT ( openid )) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
cid = ".$value['id']);
$rs[$key]['receive_people_number'] = $receive_people_number[0]['total'];
//领取次数
$receive_frequency = Db::query("SELECT
count(1) as total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
cid = ".$value['id']);
$rs[$key]['receive_frequency'] = $receive_frequency[0]['total'];
//核销人数
$write_off_people_number = Db::query("SELECT
count(
DISTINCT ( openid )) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
status = 1 and cid = ".$value['id']);
$rs[$key]['write_off_people_number'] = $write_off_people_number[0]['total'];
//核销次数
$write_off_people_frequency = Db::query("SELECT
count(1) as total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
status = 1 and cid = ".$value['id']);
$rs[$key]['write_off_people_frequency'] = $write_off_people_frequency[0]['total'];
//应收金额: 需要先查询出该卡券都在哪些账单中核销,并计算该卡券所牵扯账单的总的应收金额
$amount_receivable = Db::query("SELECT
SUM(should_price) as should_price,
SUM(actual_price) as actual_price
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_flowing_log
WHERE
rid IN (
SELECT
rid
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
STATUS = 1
AND cid = ".$value['id'].")");
$rs[$key]['amount_receivable'] = $amount_receivable[0]['should_price'];
$rs[$key]['paid_in_amount'] = $amount_receivable[0]['actual_price'];
}
//获取总条数
$total = Db::query("SELECT
i.*,
s.sellername
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS i
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON i.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel as rel ON rel.sid = s.id
WHERE
i.`owner` = 2
AND i.STATUS IN (1,3)
".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','商家卡券信息统计');
return $this->fetch();
}
/**
* 商家卡券-数据统计-某个商家订单详情
*/
public function sellercarddatalog(){
$data = Request::except('file');
if(Request::isAjax()){
$where = '';
//证明是需要根据名称搜索,忽略隐藏域商家ID
$where .= ' AND s.id = '.$data['seller_id'].'';
//如果flag==1 则是查看平台红包
$where .= $data['flag']==1 ? ' AND i.owner = 1' : ' AND i.owner = 2';
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//订单信息
$rs = Db::query("SELECT
r.id,
r.sid,
r.tableinfo,
r.ddate,
r.ddate_solt,
r.rname,
r.sex,
s.sellername,
data_rel.cid,
data_rel.oid
FROM
`xt-member-two-LINE`.xt_dc_reserve AS r
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel AS data_rel ON data_rel.rid = r.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info AS i ON data_rel.cid = i.id
WHERE
data_rel.oid IS NOT NULL and data_rel.status = 1".$where.$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['rname'] = $value['sex']==1 ? $value['rname'].'先生' : ($value['sex']==2 ? $value['rname'].'女士' : $value['rname']);
$rs[$key]['ddate'] = date("Y年m月d日",$value['ddate']);
if($value['tableinfo']){
$tableinfo = json_decode($value['tableinfo'],true);
$tableinfo = array_column($tableinfo, 'name');
$rs[$key]['tableinfo'] = implode('、', $tableinfo);
}else{
$rs[$key]['tableinfo'] = '';
}
switch ($value['ddate_solt']) {
case '1':
$rs[$key]['ddate_solt'] = '早餐';
break;
case '2':
$rs[$key]['ddate_solt'] = '午餐';
break;
case '3':
$rs[$key]['ddate_solt'] = '晚餐';
break;
default:
# code...
break;
}
//查询账单所牵扯的卡券
if($value['oid']) {
$card_title = Db::query("SELECT
i.card_title
FROM
`xt-member-two-LINE`.xt_dc_dz_discount_act act
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel rel ON act.cid = rel.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info i ON rel.cid = i.id
WHERE
orderid = ".$value['oid']);
$rs[$key]['card_title'] = implode("<br/>", array_column($card_title, 'card_title'));
//查询提前买单账单金额
$price = Db::query("SELECT
should_price,
actual_price
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_flowing_log
WHERE
rid = ".$value['id']);
$rs[$key]['should_price'] = $price ? $price[0]['should_price'] : '';
$rs[$key]['actual_price'] = $price ? $price[0]['actual_price'] : '';
}
}
//获取总条数
$total = Db::query("SELECT
r.id,
r.sid,
r.tableinfo,
r.ddate,
r.ddate_solt,
r.rname,
r.sex,
s.sellername,
data_rel.cid,
data_rel.oid
FROM
`xt-member-two-LINE`.xt_dc_reserve AS r
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON r.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_data_rel AS data_rel ON data_rel.rid = r.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info AS i ON data_rel.cid = i.id
WHERE
data_rel.oid IS NOT NULL and data_rel.status = 1 ".$where);
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$msgs = $data['flag'] == 1 ? '平台卡券信息统计' : '商家卡券信息统计';
$this->assign ( 'sid',$data['id']);
$this->assign ( 'flag',$data['flag']);
$this->assign ( 'title',$msgs);
return $this->fetch();
}
/**
* 平台卡券-数据统计-统计列表
*/
public function platcarddatalist(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
//日期
$time = $data['time'] ? explode(' - ', $data['time']) : '';
$start = $time ? strtotime(date($time[0],time())) : 0;
$end = $time ? strtotime(date($time[1],time())) : 0;
$where .= $data['time'] ? ' AND i.contributor_time BETWEEN '.$start.' AND '.$end : '';
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
i.*,
s.sellername
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS i
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON i.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel as rel ON rel.sid = s.id
WHERE
i.`owner` = 1
AND i.STATUS IN (1,3)
".$where.$limit);
//格式化数据
foreach ($rs as $key => $value) {
$rs[$key]['contributor_time'] = date("Y年m月d日",$value['contributor_time']);
switch ($value['status']) {
case '1':
$rs[$key]['status'] = '已投放';
break;
case '2':
$rs[$key]['status'] = '未投放';
break;
case '3':
$rs[$key]['status'] = '停止投放';
break;
default:
# code...
break;
}
//领取人数
$receive_people_number = Db::query("SELECT
count(
DISTINCT ( openid )) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
cid = ".$value['id']);
$rs[$key]['receive_people_number'] = $receive_people_number[0]['total'];
//领取次数
$receive_frequency = Db::query("SELECT
count(1) as total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
cid = ".$value['id']);
$rs[$key]['receive_frequency'] = $receive_frequency[0]['total'];
//核销人数
$write_off_people_number = Db::query("SELECT
count(
DISTINCT ( openid )) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
status = 1 and cid = ".$value['id']);
$rs[$key]['write_off_people_number'] = $write_off_people_number[0]['total'];
//核销次数
$write_off_people_frequency = Db::query("SELECT
count(1) as total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
status = 1 and cid = ".$value['id']);
$rs[$key]['write_off_people_frequency'] = $write_off_people_frequency[0]['total'];
//应收金额: 需要先查询出该卡券都在哪些账单中核销,并计算该卡券所牵扯账单的总的应收金额
$amount_receivable = Db::query("SELECT
SUM(should_price) as should_price,
SUM(actual_price) as actual_price
FROM
`xt-member-two-LINE`.xt_dc_dz_seller_flowing_log
WHERE
rid IN (
SELECT
rid
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel
WHERE
STATUS = 1
AND cid = ".$value['id'].")");
$rs[$key]['amount_receivable'] = $amount_receivable[0]['should_price'];
$rs[$key]['paid_in_amount'] = $amount_receivable[0]['actual_price'];
//总金额:查询该卡券所牵扯的账单总金额
$price = Db::query("SELECT
sum(price) as price
FROM
`xt-member-two-LINE`.xt_dc_dz_advance_order
WHERE
id IN (
SELECT
orderid
FROM
`xt-member-two-LINE`.xt_dc_dz_discount_act
WHERE
cid IN ( SELECT id FROM `xt-member-two-LINE`.xt_dc_dz_card_data_rel WHERE cid = ".$value['id']." ))");
$rs[$key]['order_price_total'] = $price ? $price[0]['price'] : '';
}
//获取总条数
$total = Db::query("SELECT
i.*,
s.sellername
FROM
`xt-member-two-LINE`.xt_dc_dz_card_info AS i
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON i.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel as rel ON rel.sid = s.id
WHERE
i.`owner` = 1
AND i.STATUS IN (1,3)
".$where."");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','平台卡券信息统计');
return $this->fetch();
}
/**
* 商家卡券-数据统计-统计列表
*/
public function platcarddatalog(){
if(Request::isAjax()){
$data = Request::except('file');
$where = '';
$channel = $data['channel'] ? $data['channel'] : 1;
$where .= ($channel && $channel==4) ? ' AND re.type_id in (1,2,3)' : " AND re.type_id in ($channel)";
$where .= $data['key'] ? ' AND s.sellername like "%'.$data['key'].'%"' : "";
//日期
$time = $data['time'] ? explode(' - ', $data['time']) : '';
$start = $time ? strtotime(date($time[0],time())) : 0;
$end = $time ? strtotime(date($time[1],time())) : 0;
$where .= $data['time'] ? ' AND i.contributor_time BETWEEN '.$start.' AND '.$end : '';
$offset = ($data["page"] - 1) * $data["limit"];
$limit = " LIMIT $offset,".$data['limit'];
//卡券信息
$rs = Db::query("SELECT
i.id,
i.price,
o.sid,
o.sellername,
i.card_title,
rel.oid
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel AS rel
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info AS i ON rel.cid = i.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_advance_order AS o ON rel.oid = o.id
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON o.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
i.`owner` = 1
AND rel.oid != 0
".$where."GROUP BY o.sid,i.id ".$limit);
//格式化数据
foreach ($rs as $key => $value) {
//核销人数
$write_off_people_number = Db::query("SELECT
count(
DISTINCT ( rel.openid )) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel AS rel
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_advance_order AS o ON rel.oid = o.id
WHERE
rel.STATUS = 1
AND rel.cid = ".$value['id']."
AND o.sid = ".$value['sid']);
$rs[$key]['write_off_people_number'] = $write_off_people_number[0]['total'];
//核销次数
$write_off_people_frequency = Db::query("SELECT
count( 1 ) AS total
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel AS rel
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_advance_order AS o ON rel.oid = o.id
WHERE
rel.STATUS = 1
AND rel.cid = ".$value['id']."
AND o.sid = ".$value['sid']);
$rs[$key]['write_off_people_frequency'] = $write_off_people_frequency[0]['total'];
//订单总金额/红包总金额
$card_order_price = Db::query("SELECT
SUM(o.price) as order_price,
SUM(i.price) as card_price
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel AS rel
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_advance_order AS o ON rel.oid = o.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info as i ON rel.cid = i.id
WHERE
rel.STATUS = 1
AND rel.cid = ".$value['id']."
AND o.sid = ".$value['sid']);
$rs[$key]['order_price_total'] = $card_order_price[0]['order_price'];
$rs[$key]['card_price_total'] = $card_order_price[0]['card_price'];
}
//获取总条数
$total = Db::query("SELECT
i.id,
i.price,
o.sid,
o.sellername,
i.card_title,
rel.oid
FROM
`xt-member-two-LINE`.xt_dc_dz_card_data_rel AS rel
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_card_info AS i ON rel.cid = i.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_advance_order AS o ON rel.oid = o.id
LEFT JOIN `xt-member-two-LINE`.xt_seller AS s ON o.sid = s.id
LEFT JOIN `xt-member-two-LINE`.xt_dc_dz_seller_type_rel AS re ON re.sid = s.id
WHERE
i.`owner` = 1
AND rel.oid != 0
".$where."GROUP BY o.sid,i.id ");
return $result = ['code'=>0,'msg'=>'获取成功!','data'=>$rs,'count'=>count($total),'rel'=>1];
}
$this->assign ( 'title','平台卡券信息统计');
return $this->fetch();
}
}
... ...
... ... @@ -106,6 +106,60 @@ class UpFiles extends Common
return $result;
}
}
//传到共有七牛存储库
public function uploadQn(){
// 获取上传文件表单字段名
$fileKey = array_keys(request()->file());
// 获取表单上传文件
$file = request()->file($fileKey['0']);
$obj = $file->getInfo();
$rs = array('code' => 0, 'url' => '');
$tmpName = $obj['tmp_name'];
$name = md5($obj['name'] . $_SERVER['REQUEST_TIME']);
$ext = strrchr($obj['name'], '.');
$uploadFolder = sprintf('%s/uploads/temp/',$_SERVER['DOCUMENT_ROOT']);
if (!is_dir($uploadFolder)) {
mkdir($uploadFolder);
chmod($uploadFolder,0777);
}
$imgPath = $uploadFolder . $name . $ext;
//移动到临时目录
if (move_uploaded_file($tmpName, $imgPath)) {
$accessKey = 'uva-aaonM8dukeR6phc9yuPBrOXk9brrNW_PxLD7';
$secretKey = 'oZMMVN6phk49lG0J1xwmi1Ju0ETT15EnAEWcU9Cs';
$auth = new Auth($accessKey, $secretKey);
$bucket = 'colorcun-attr';
$key = date('YmdHis',time()).'_'.$name . $ext; //七牛云存储名称
// 生成上传Token
$token = $auth->uploadToken($bucket);
// 构建 UploadManager 对象
$uploadMgr = new UploadManager();
$backUrl = "http://qn.colorcun.com"; //返回图片在七牛的路径
//压缩处理
//$image = new Compression($imgPath);
//$imgPath = $image->getThumb();
list($ret, $err) = $uploadMgr->putFile($token,$key,$imgPath);
$rs['url'] = $backUrl."/".$key;
}
if($rs['url']){
//上传成功之后删除服务器文件
$this->deldir($uploadFolder);
$result['code'] = 1;
$result['info'] = '图片上传成功!';
$path=str_replace('\\','/',$rs['url']);
$result['url'] = $path;
$key = substr($key,0,strrpos($key,"."));
$result['picname'] = $key;
return $result;
}else{
// 上传失败获取错误信息
$result['code'] =0;
$result['info'] = $file->getError();
$result['url'] = '';
return $result;
}
}
//菜品库
public function vegetabledata(){
// 获取上传文件表单字段名
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<form class="layui-form layui-form-pane" action="" lay-filter="card_info">
<div class="layui-tab layui-tab-card" lay-filter="demo">
<input type="hidden" value="" id="seller_id" name="seller_id" lay-filter="seller_id">
<input type="hidden" value="" id="seller_name" name="seller_name" lay-filter="seller_name">
<ul class="layui-tab-title" >
<li>套餐信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div class="layui-form-item">
<label class="layui-form-label">套餐名称</label>
<div class="layui-input-inline">
<input type="text" name="name" lay-verify="required" lay-reqtext="套餐名称是必填项,岂能为空?" id="name" autocomplete="off" placeholder="{$rs.name}" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">C端展示的名字</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐金额</label>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="market_price" id="market_price" lay-verify="number" lay-verify="required" placeholder="{$rs.market_price}" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="sale_price" id="sale_price" lay-verify="number" lay-verify="required" placeholder="{$rs.sale_price}" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="cost_price" id="cost_price" lay-verify="number" lay-verify="required" placeholder="{$rs.cost_price}" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">CNY 折扣:{$rs.discount}</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐主图</label>
<div class="layui-upload-drag" id="upload_main">
<img src="{$rs.main_url}" alt="上传成功后渲染" style="max-width: 196px">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐详情</label>
<div class="layui-upload-drag" id="upload_detail">
<img src="{$rs.detail_url}" alt="上传成功后渲染" style="max-width: 196px">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">服务项目</label>
<div class="layui-input-block">
<input type="text" lay-verify="required" placeholder="{$rs.service}" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐有效期</label>
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="date" id="date" lay-verify="required" readonly placeholder="{$rs.eff_time_start} - {$rs.eff_time_end}" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">该期间内可以消费使用</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">使用时间</label>
<div class="layui-input-inline">
<input type="text" name="usetime" lay-verify="required" id="usetime" autocomplete="off" placeholder="{$rs.use_time}" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">类似格式: 10:30—14:00,17:00—22:00</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">使用须知</label>
<div class="layui-input-block">
<textarea placeholder="{$rs.use_notice}" lay-verify="required" name="usenotice" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">是否上架</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" lay-skin="primary" title="是" {if $rs.total_limit eq 1} checked=""{/if}>
<input type="radio" name="status" value="0" lay-skin="primary" title="否" {if $rs.total_limit eq 0} checked=""{/if}>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script>
layui.use('form', function(){
var form = layui.form;
//各种基于事件的操作,下面会有进一步介绍
//form.render('组件名','lay-filter名')
});
</script>
\ No newline at end of file
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<fieldset class="layui-elem-field layui-field-title">
<legend>{:$title}</legend>
</fieldset>
<div class="demoTable">
商家名称:<div class="layui-inline">
<input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
</div>
商家来源:
<div class="layui-input-inline layui-form">
<div class="layui-input-8">
<select name="class" id="channel" lay-filter="myselect">
<option value="4">全部</option>
<option value="1" selected>合作</option>
<option value="2">推广</option>
<option value="3">测试</option>
</select>
</div>
</div>
<button class="layui-btn" id="search" data-type="reload">搜索</button> <button class="layui-btn" style="float:right;" id="addfoodsed">新建套餐</button>
</div>
<table class="layui-table" id="list" lay-filter="list"></table>
</div>
<script type="text/html" id="switchTpl">
<input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="上架|下架" lay-filter="switchTpl" {{ d.status == 1 ? 'checked' : '' }}>
</script>
{include file="common/foot"/}
<script>
layui.use(['table','form'], function() {
var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer;
var tableIn = table.render({
elem: '#list',
url: '{:url("list")}',
method: 'post',
title: '卡券列表',
toolbar: '#toolbarDemo',
cols: [[
{field: 'id', title: '商家卡券编号',hide:true, fixed: true},
{field: 'sid', title: '商家编号', fixed: true},
{field: 'sellername', title: '商家名称'},
{field: 'name', title: '卡券名称'},
{field: 'market_price', align: 'center',title: '金额'},
{field: 'cdate', align: 'center', title: '创建日期'},
{field: 'founder', align: 'center', title: '创建人'},
{field: 'status', align: 'center', templet: '#switchTpl',title: '状态'}
]]
,id: 'cardReload'
,page: true
});
//监听单元格,上架/下架
form.on('switch(switchTpl)', function(obj){
loading =layer.load(1, {shade: [0.1,'#fff']});
var id = this.value;
var status = obj.elem.checked===true?1:0;
$.post('{:url("foodState")}',{'id':id,'status':status},function (res) {
layer.close(loading);
if (res.code==1) {
tableIn.reload();
}else{
layer.msg(res.msg,{time:1000,icon:2});
return false;
}
})
});
//监听行双击事件
table.on('rowDouble(list)', function(obj){
//table.on('row(list)', function(obj){ 双击事件
//console.log(obj.tr) //得到当前行元素对象
console.log(obj.data) //得到当前行数据
layer.open({
type: 2,
title: obj.data.sellername,
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("footsetdetail")}?id='+obj.data.id //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
});
//搜索
$('#search').on('click', function() {
//关键字
var key = $('#key').val();
var channel = $('#channel').val();
//传参
tableIn.reload({ page: {page: 1},where: {key: key,channel: channel}});
});
var $ = layui.$, active = {
reload: function(){
var channel = $('#channel');
var key = $('#key');
//执行重载
table.reload('cardReload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: key.val(),
channel: channel.val()
}
}
});
}
};
//新建卡券
$('#addfoodsed').on('click', function() {
layer.open({
type: 2,
title: '创建套餐',
shadeClose: true,
shade: 0.8,
area: ['90%', '90%'],
content: '{:url("selectseller")}' //iframe的url
/*success:function(dom){
let $iframeDom=$(dom[0]).find("iframe").eq(0).contents();
$iframeDom.find("#test").html("我是从父级传来的值哟……")
}*/
});
});
})
</script>
\ No newline at end of file
... ...
{include file="common/head"/}
<div class="admin-main layui-anim layui-anim-upbit">
<form class="layui-form layui-form-pane" action="" lay-filter="card_info">
<div class="layui-tab layui-tab-card" lay-filter="demo">
<input type="hidden" value="" id="seller_id" name="seller_id" lay-filter="seller_id">
<input type="hidden" value="" id="seller_name" name="seller_name" lay-filter="seller_name">
<ul class="layui-tab-title" >
<li class="layui-this" lay-id="1">1.选择商户</li>
<li lay-id="2">2.填写套餐信息</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show" id="seller_list_div">
<div class="demoTable">
商家名称:<div class="layui-inline">
<input class="layui-input" name="key" id="key" placeholder="{:lang('pleaseEnter')}店铺名称" autocomplete="off">
</div>
商家来源:
<div class="layui-input-inline layui-form">
<div class="layui-input-8">
<select name="channel" id="channel" lay-filter="myselect">
<option value="4">全部</option>
<option value="1" selected>合作</option>
<option value="2">推广</option>
<option value="3">测试</option>
</select>
</div>
</div>
<button class="layui-btn" type="button" id="search" data-type="reload">搜索</button>
</div>
<table class="layui-table" id="list" lay-filter="list"></table>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" style="float:right;" onclick="opentab(2)">下一步</button>
</div>
</div>
</div>
<div class="layui-tab-item">
<div class="layui-form-item">
<label class="layui-form-label">套餐名称</label>
<div class="layui-input-inline">
<input type="text" name="name" lay-verify="required" lay-reqtext="套餐名称是必填项,岂能为空?" id="name" autocomplete="off" placeholder="请输入套餐名称" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">C端展示的名字</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐金额</label>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="market_price" id="market_price" lay-verify="number" lay-verify="required" placeholder="原价【市场价】" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="sale_price" id="sale_price" lay-verify="number" lay-verify="required" placeholder="现价【销售价】" autocomplete="off" class="layui-input">
</div>
<div class="layui-input-inline" style="width: 150px;">
<input type="text" name="cost_price" id="cost_price" lay-verify="number" lay-verify="required" placeholder="成本价【进货价】" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">CNY</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐主图</label>
<div class="layui-upload-drag" id="upload_main">
<i class="layui-icon"></i>
<p>点击上传,或将文件拖拽到此处</p>
<div class="layui-hide" id="uploadDemoViewMain">
<hr>
<img src="" alt="上传成功后渲染" style="max-width: 196px">
<input type="hidden" value="" id="upload_main_val" name="upload_main_val" lay-filter="upload_main_val">
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐详情</label>
<div class="layui-upload-drag" id="upload_detail">
<i class="layui-icon"></i>
<p>点击上传,或将文件拖拽到此处</p>
<div class="layui-hide" id="uploadDemoViewDetail">
<hr>
<img src="" alt="上传成功后渲染" style="max-width: 196px">
<input type="hidden" value="" id="upload_detail_val" name="upload_detail_val" lay-filter="upload_detail_val">
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">服务项目</label>
<div class="layui-input-block">
<input type="checkbox" name="server" value="随时退" lay-skin="primary" title="随时退">
<input type="checkbox" name="server" value="免预约" lay-skin="primary" title="免预约">
<input type="checkbox" name="server" value="包间可用" lay-skin="primary" title="包间可用">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">套餐有效期</label>
<div class="layui-input-inline" style="width: 300px;">
<input type="text" name="date" id="date" lay-verify="required" readonly placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">该期间内可以消费使用</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">使用时间</label>
<div class="layui-input-inline">
<input type="text" name="usetime" lay-verify="required" id="usetime" autocomplete="off" placeholder="请输入使用时间" class="layui-input">
</div>
<div class="layui-form-mid layui-word-aux">类似格式: 10:30—14:00,17:00—22:00</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">使用须知</label>
<div class="layui-input-block">
<textarea placeholder="请输入使用须知" lay-verify="required" name="usenotice" class="layui-textarea"></textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">是否上架</label>
<div class="layui-input-block">
<input type="radio" name="status" value="1" lay-skin="primary" title="是">
<input type="radio" name="status" value="0" lay-skin="primary" title="否" checked>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="button" class="layui-btn" lay-submit="" lay-filter="submit_add_foodset">完成创建</button>
<button type="reset" class="layui-btn layui-btn-primary">重新填写</button>
<button type="button" class="layui-btn" onclick="opentab(1)">返回</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
{include file="common/foot"/}
<script type="text/html" id="sTpl">
{{# if(d.card_id == 1){ }}
<span style="color: #0000C6;">{{ d.card_name }}</span>
{{# } else { }}
{{ d.card_name }}
{{# } }}
</script>
<script>
layui.use(['table','form','element','laydate','upload'], function() {
var table = layui.table,laydate = layui.laydate,form = layui.form,$ = layui.jquery,layer = layui.layer,element = layui.element,upload = layui.upload;
form.render(); //更新全部
var tableIn = table.render({
elem: '#list',
url: '{:url("sellerlist")}',
method: 'post',
cols: [[
{field: 'id', title: '商家编号', align: 'center'},
{field: 'sellername', title: '商家名称', align: 'center'},
{type:'radio', title: '选择店铺',field:'id', align: 'center',width:100}
]]
,id: 'reload'
,page: true
,done: function(res, curr, count){
return;
}
});
//套餐主图 拖拽上传
upload.render({
elem: '#upload_main'
,url: '{:url("UpFiles/uploadQn")}' //上传接口
,done: function(res){
layer.msg('上传成功');
layui.$('#uploadDemoViewMain').removeClass('layui-hide').find('img').attr('src', res.url);
layui.$('#upload_main_val').val(res.url);
console.log(res)
}
});
//套餐详情 拖拽上传
upload.render({
elem: '#upload_detail'
,url: '{:url("UpFiles/uploadQn")}' //上传接口
,done: function(res){
layer.msg('上传成功');
layui.$('#uploadDemoViewDetail').removeClass('layui-hide').find('img').attr('src', res.url);
layui.$('#upload_detail_val').val(res.url);
console.log(res)
}
});
//添加套餐
form.on('submit(submit_add_foodset)', function (data) {
if(data.field.seller_id==''){
layer.msg('请勾选商家!', {time: 1800, icon: 2});return;
}
if(data.field.upload_main_val==''){
layer.msg('请上传套餐主图图片!', {time: 1800, icon: 2});return;
}
if(data.field.upload_detail_val==''){
layer.msg('请上传套餐详情图片!', {time: 1800, icon: 2});return;
}
//将页面全部复选框选中的值或者单选按钮选中的值拼接到一个数组中
var val_box = [];
$('input[type=checkbox]:checked').each(function() {
val_box.push($(this).val());
});
data.field.server = val_box;
var loading = layer.load(1, {shade: [0.1, '#fff']});
$.post("{:url('add_foodset')}", data.field, function (res) {
layer.close(loading);
if (res.code == 1) {
layer.msg(res.msg, {time: 1000, icon: 1}, function () {
window.parent.location.reload();
});
} else {
layer.msg(res.msg, {time: 1000, icon: 2});
}
});
})
//触发单选按钮时赋值
table.on('row(list)', function(obj) {
$('#seller_id').val(obj.data.id);
$('#seller_name').val(obj.data.sellername);
});
//日期时间范围
laydate.render({
elem: '#date'
,type: 'datetime'
,range: true
,min: 0
,trigger:'click'
});
//搜索
$('#search').on('click', function() {
//关键字
var key = $('#key').val();
var channel = $('#channel').val();
//传参
tableIn.reload({ page: {page: 1},where: {key: key,channel: channel}});
});
var $ = layui.$, active = {
reload: function(){
var channel = $('#channel');
var key = $('#key');
//执行重载
table.reload('reload', {
page: {
curr: 1 //重新从第 1 页开始
}
,where: {
key: {
id: key.val(),
channel: channel.val()
}
}
});
}
};
})
//下一步
function opentab(id){
layui.use(['element'], function() {
var element = layui.element;
element.tabChange('demo', id);
})
}
</script>
\ No newline at end of file
... ...