作者 lihan

渲染订单、购物车

... ... @@ -8,6 +8,7 @@
namespace app\cart\controller;
use app\cart\model\CartModel;
use cmf\controller\HomeBaseController;
use think\Db;
class CartController extends HomeBaseController
{
... ... @@ -47,4 +48,36 @@ class CartController extends HomeBaseController
}
}
//检查购物车中勾选的商品一级大分类是否相同
public function checkCartGoods()
{
$request = request();
if ($request->isAjax()) {
$str = $request->param('id');
$cid = Db::name('zj_cart')->alias('c')
->join('zj_goods g', 'c.gid=g.id')
->join('zj_category t', 't.id=g.cid')
->field('t.cid')
->where(['c.id' => ['in', $str]])
->select()
->toArray();
$temp = $cid[0]['cid'];
$status = true;
foreach ($cid as $k => $v) {
if ($k != 0) {
if ($temp != $v['cid']) {
$status = false;
break;
}
}
}
if ($status === true) {
session('cart.id', $str);
$this->success('成功', url('cart/Cart/confirm'), $status);
} else {
$this->success('请购买同分类的商品', null, $status);
}
}
}
}
\ No newline at end of file
... ...
... ... @@ -18,51 +18,110 @@ class ZjCartController extends HomeBaseController
/**
* 购物车
*/
public function cart(){
public function cart()
{
// $id=session('user.id');
$id=8;
$all=Db::name('zj_cart')->alias('c')->join('zj_goods g','c.gid=g.id')->join('zj_category ca','g.cid=ca.id')
->where('c.uid',$id)->where(['g.is_sta'=>'1','g.delete_time'=>'0'])->field('c.id as cartid,c.gid,c.num,g.*,ca.cid as caid')->select();
if (empty($all[0])){
$you=1;
}else{
$you=2;
$id = 8;
$all = Db::name('zj_cart')->alias('c')->join('zj_goods g', 'c.gid=g.id')->join('zj_category ca', 'g.cid=ca.id')
->where('c.uid', $id)->where(['g.is_sta' => '1', 'g.delete_time' => '0'])->field('c.id as cartid,c.gid,c.num,g.*,ca.cid as caid')->select();
if (empty($all[0])) {
$you = 1;
} else {
$you = 2;
}
$this->assign('you',$you);
$this->assign('all',$all);
$this->assign('you', $you);
$this->assign('all', $all);
return $this->fetch();
}
/**
* 商品数量更改
*/
public function num(){
if ($this->request->isAjax()){
$param=input('param.');
if ($param['state']==1){
$jia=Db::name('zj_cart')->where('id',$param['id'])->setDec('num','1');
}else{
$jia=Db::name('zj_cart')->where('id',$param['id'])->setInc('num','1');
public function num()
{
if ($this->request->isAjax()) {
$param = input('param.');
if ($param['state'] == 1) {
$jia = Db::name('zj_cart')->where('id', $param['id'])->setDec('num', '1');
} else {
$jia = Db::name('zj_cart')->where('id', $param['id'])->setInc('num', '1');
}
if (empty($jia)){
if (empty($jia)) {
$this->error('NO');
}else{
} else {
$this->success('OK');
}
}
}
/**
* 删除选中商品
*/
public function del(){
if ($this->request->isAjax()){
$param=input('param.');
$del=Db::name('zj_cart')->where('id','in',$param['id'])->delete();
if (empty($del)){
public function del()
{
if ($this->request->isAjax()) {
$param = input('param.');
$del = Db::name('zj_cart')->where('id', 'in', $param['id'])->delete();
if (empty($del)) {
$this->error('NO');
}else{
} else {
$this->success('OK');
}
}
}
//检查购物车中勾选的商品一级大分类是否相同
public function checkCartGoods()
{
$request = request();
if ($request->isAjax()) {
$str = $request->param('id');
$cid = Db::name('zj_cart')->alias('c')
->join('zj_goods g', 'c.gid=g.id')
->join('zj_category t', 't.id=g.cid')
->field('t.cid')
->where(['c.uid' => session('user.id'), 'c.id' => ['in', $str]])
->select()
->toArray();
$temp = $cid[0]['cid'];
$status = true;
foreach ($cid as $k => $v) {
if ($k != 0) {
if ($temp != $v['cid']) {
$status = false;
break;
}
}
}
if ($status === true) {
session('cart.id', $str);
$this->success('成功', url('cart/ZjCart/orderConfirm'), $status);
} else {
$this->success('请购买同分类的商品', null, $status);
}
}
}
//订单确认页
public function orderConfirm()
{
$data = Db::name('zj_cart')->alias('c')
->join('zj_goods g', 'c.gid=g.id')
->join('zj_category t', 't.id=g.cid')
->field('c.num,g.name,g.price,g.price_num,g.price_cash,g.thumb,g.is_type,g.intro,t.cid as caid')
->where(['c.uid' => session('user.id'), 'c.id' => ['in', session('cart.id')]])
->select();
foreach ($data as $k => $item) {
if ($item['caid'] == 1) {
$item['integral'] = '购买可获得' . $item['price'] * 2 . '积分';
} else {
$item['integral'] = '该商品无积分奖励';
}
$data[$k] = $item;
}
return $this->fetch('order_confirm', [
'data' => $data
]);
}
}
\ No newline at end of file
... ...
... ... @@ -10,7 +10,7 @@
// [ 入口文件 ]
// 调试模式开关
define("APP_DEBUG", false);
define("APP_DEBUG", true);
// 定义CMF根目录,可更改此目录
define('CMF_ROOT', __DIR__ . '/../');
... ...
... ... @@ -48,6 +48,25 @@
</div>
</div>
<!--警告-->
<div class="deletewrap" style="display:none" id="warning">
<div class="deletepop">
<p class="suredelete">您好,不同专区的商品</p>
<p class="certainornot">不可混合支付请重新选择</p>
<div class="certain">
<p class="cancel"><font color="red">确认</font></p>
</div>
</div>
</div>
<script>
$(".cancel").click(function () {
$("#waring").hide();
})
</script>
<div class="container">
<!--购物车为空-->
<div class="nogood" style="display:none">
... ... @@ -278,9 +297,23 @@
var ii=one.eq(i).attr('data-id')
data+=ii+',';
}
data=data.substr(0,data.length-1)
window.location.href="/cart/zj_cart/cart/id/"+ data +".html"
$.ajax({
url:"{:url('cart/ZjCart/checkCartGoods')}",
data:{
id:data
},
type:"POST",
dataType:"JSON",
success: function (data) {
if(data.data === true) {
window.location.href=data.url;
} else {
$("#warning").show();
}
}
})
}
})
$(".see").click(function(){
... ...
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" href="https://at.alicdn.com/t/font_834805_0ml90wdq5hzm.css">
<link rel="stylesheet" href="__INDEX__/css/base.css">
<link rel="stylesheet" href="__INDEX__/css/order.css">
<link rel="stylesheet" href="__INDEX__/css/swiper.min.css">
<script type="text/javascript" src="__INDEX__/js/base.js" charset="utf-8"></script>
<title>确认订单</title>
<style>
.entermoney{
width:3rem;
border:none;
outline:none;
height:0.3rem;
line-height: 0.3rem;
vertical-align: middle;
padding-top: 0.05rem;
}
</style>
</head>
<body>
<!--确认订单积分-->
<div class="wrapper" style="display:none">
<div class="pop">
<p class="weixin">微信+积分支付</p>
<div class="buy_order_money">
<p class="buyorder">订单金额:</p>
<div class="ordermoney">
<input type="text" placeholder="500" class="entermoney">
</div>
</div>
<div class="buy_order_money">
<p class="buyorder">订单积分:</p>
<div class="integrate">
2000000积分
</div>
</div>
<div class="surepay">确认支付</div>
</div>
</div>
<!--确认支付-->
<div class="paywrapper" style="display:none">
<div class="paypop">
<p>您还剩余2000积分</p>
<p>您将扣除1000积分购买此物品</p>
<p>并无法获得平台赠送积分</p>
<div class="pay_line"></div>
<div class="paycertain">确认支付</div>
</div>
</div>
<div class="container">
<div class="people_info">
<div class="people_info_list">
<p class="people_name">向昱筱</p>
<p class="people_phone">13252648165</p>
</div>
<p class="iconfont icon-jinru row"> </p>
<p class="people_place">天津市和平区气象台路1088号中环公寓</p>
</div>
<!--订单信息-->
<div class="order_info">
<p class="orderinfo">订单信息</p>
<volist name="data" id="vo">
<div class="orderlist">
<p class="order_img">
<img src="{$vo.thumb}" alt="">
</p>
<div class="good_list">
<p class="good_name">
{$vo.name}
</p>
<div class="good_tast">
<p class="good_kilo">{$vo.intro}</p>
<P class="good_num">x{$vo.num}</P>
</div>
<div class="people">
<p class="peoplecoupon">
{$vo.integral}
</p>
<P class="people_price">¥{$vo.price}</P>
</div>
</div>
</div>
</volist>
</div>
<!--配送方式-->
<div class=" dispatch">
<div class="dispatch_num">
<p class="buy_num">购买数量</p>
<p class="num">x2</p>
</div>
<div class="dispatch_type">
<p class="type">配送方式</p>
<p class="type_name">快递包邮</p>
</div>
</div>
<!--支付方式-->
<div class="payment_type">
<p class="pay_type">支付方式</p>
<div class="pay_line"></div>
<div>
<div class="pay_type_list">
<p class="pay_name">微信支付</p>
<p class="iconfont icon-xuanzhong"></p>
<p class="iconfont icon-not_Selected-copy" style="display:none"></p>
</div>
<div class="pay_type_list">
<p class="pay_name">组合支付(现金金额不少于500)</p>
<p class="iconfont icon-xuanzhong" style="display: none;"></p>
<p class="iconfont icon-not_Selected-copy"></p>
</div>
<div class="pay_type_list">
<p class="pay_name">积分(2000积分)</p>
<p class="iconfont icon-xuanzhong" style="display: none;"></p>
<p class="iconfont icon-not_Selected-copy"></p>
</div>
</div>
</div>
<!--合计-->
<div class="total">
<div class="totalcalcute">
<p class="totalsum">合计</p>
<p class="totalmoney">¥60</p>
</div>
</div>
<!--买家留言-->
<div class="buymessage">
<p class="buysend">买家留言</p>
<div class="pay_line"></div>
<textarea name="" id="" cols="30" rows="10" class="message" placeholder="请填写留言"></textarea>
</div>
<div class="foot">
<div class="buytotal">
<p class="buy_total_price">合计</p>
<p class="buy_total_money">¥800</p>
</div>
<p class="payorder">支付订单</p>
</div>
</div>
</body>
<script src="__INDEX__/js/jquery.min.js"></script>
<script>
$(".icon-not_Selected-copy").click(function(){
$(this).hide();
$(this).siblings(".icon-xuanzhong").show();
$(this).parents(".pay_type_list").siblings(".pay_type_list").children(".icon-xuanzhong").hide();
$(this).parents(".pay_type_list").siblings(".pay_type_list").children(".icon-not_Selected-copy").show();
})
$(".payorder").click(function(){
$(".wrapper").css("display","block")
})
//确认支付
$(".paywrapper").click(function(){
$(this).css("display","none")
})
$(".wrapper").click(function(){
$(this).css("display","none")
})
</script>
</html>
... ...
... ... @@ -106,7 +106,7 @@
<div class="foot">
<div class="cartnum">
<p class="goodcart">
<img src="__INDEX__/img/goodcart.png" alt="">
<a href="{:url('cart/ZjCart/cart')}"><img src="__INDEX__/img/goodcart.png" alt=""></a>
<p class="num">{$total}</p>
</p>
</div>
... ...