You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
9.1 KiB
214 lines
9.1 KiB
{template 'header'}
|
|
<style>
|
|
table{font-size:16px;}
|
|
select{padding:5px;}
|
|
.t_r {font-size:16px;}
|
|
.f_gray{font-size:14px;}
|
|
.cart-step{font-size:14px;}
|
|
</style>
|
|
{if $action == 'show'}
|
|
<div class="m">
|
|
<div class="nav">
|
|
<a href="{$MODULE[1][linkurl]}">首页</a> <i>></i> <a href="{$MOD[linkurl]}">{$MOD[name]}</a> <i>></i> <a href="?mid={$mid}">购物车</a>
|
|
</div>
|
|
{if $code > 0}
|
|
<div class="cart-msg"><img src="image/ok.gif" alt="" align="absmiddle"/> 商品已成功加入购物车!
|
|
<a href="{DT_PATH}api/redirect.php?mid={$moduleid}&itemid={$code}" class="b">返回商品</a> <a href="?mid={$mid}" class="b">去购物车结算</a></div>
|
|
{else}
|
|
<div class="cart-msg">
|
|
<img src="image/ko.gif" alt="" align="absmiddle"/>
|
|
添加失败!
|
|
{if $code == -1}
|
|
商品已经下架
|
|
{elseif $code == -2}
|
|
商品由您自己发布
|
|
{elseif $code == -5}
|
|
商品库存不足
|
|
{else}
|
|
商品已经下架或由您自己发布
|
|
{/if}
|
|
<a href="{if $code == -1}{$MOD[linkurl]}{else}{DT_PATH}api/redirect.php?mid={$moduleid}&itemid={$id}{/if}" class="b">重新挑选</a>
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
{else}
|
|
<script type="text/javascript">var errimg = '{DT_SKIN}image/nopic50.gif';</script>
|
|
<div class="m">
|
|
<div class="{if $lists}nav nav-b{else}nav{/if}">
|
|
{if $lists}<div><a href="?mid={$mid}&action=clear" onclick="return confirm('确定要清空购物车吗?');" class="b">清空</a></div>{/if}
|
|
<a href="{$MODULE[1][linkurl]}">首页</a> <i>></i> <a href="{$MOD[linkurl]}">{$MOD[name]}</a> <i>></i> <a href="?mid={$mid}">购物车</a>
|
|
</div>
|
|
{if $lists}
|
|
<form method="post" action="buy.php" onsubmit="return Mcheck();" style="border: 1px solid #ddd;">
|
|
<input type="hidden" name="from" value="cart"/>
|
|
<input type="hidden" name="mid" value="{$mid}"/>
|
|
<table cellpadding="16" cellspacing="0" class="tb">
|
|
<tr>
|
|
<th width="20"><input type="checkbox" checked="checked" id="check-all" onclick="Ccheck();calculate();"/></th>
|
|
<th width="50">图片</th>
|
|
<th>商品</th>
|
|
<th width="60">库存</th>
|
|
<th width="60">单价</th>
|
|
<th width="100">数量</th>
|
|
<th width="100">金额</th>
|
|
<th width="60">删除</th>
|
|
</tr>
|
|
{loop $lists $tags}
|
|
{loop $tags $i $t}
|
|
{if $i == 0}
|
|
<tr align="center" bgcolor="#FAFAFA">
|
|
<td><input type="checkbox" checked="checked" id="check-{$t[username]}" onclick="Ccheck('{$t[username]}');calculate();" data-check="{$t[username]}"/></td>
|
|
<td align="left" colspan="3">
|
|
{if $t[vip]}<img src="{DT_SKIN}image/vip_{$t[vip]}.gif" alt="{VIP}" title="{VIP}:{$t[vip]}级" align="absmiddle"/> {/if}<a href="{userurl($t[username])}" target="_blank">{$t[company]}</a>
|
|
{if $DT[im_web]}{im_web($t[username].'&mid='.$t[mid].'&itemid='.$t[itemid])} {/if}
|
|
{if $t[qq] && $DT[im_qq]}{im_qq($t[qq])} {/if}
|
|
{if $t[wx] && $DT[im_wx]}{im_wx($t[wx], $t[username])} {/if}
|
|
{if $t[ali] && $DT[im_ali]}{im_ali($t[ali])} {/if}
|
|
{if $t[skype] && $DT[im_skype]}{im_skype($t[skype])}</a> {/if}
|
|
</td>
|
|
<td>
|
|
{php $promos = get_promos($t[username]);}
|
|
{if $promos}
|
|
<a href="{$MODULE[2][linkurl]}coupon.php?username={$t[username]}" target="_blank"><div class="cart-promo">优惠券</div></a>
|
|
{/if}
|
|
</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
{/if}
|
|
<tr align="center" id="tr_{$t[key]}" class="f_gray">
|
|
<td>
|
|
<input type="checkbox" name="cart[]" value="{$t[key]}"{if $t[valid]} checked="checked" onclick="calculate()"{else}disabled{/if} id="check_{$t[key]}" data-check="{$t[username]}"/>
|
|
<input type="hidden" id="a1_{$t[key]}" value="{$t[a1]}"/>
|
|
<input type="hidden" id="a2_{$t[key]}" value="{$t[a2]}"/>
|
|
<input type="hidden" id="a3_{$t[key]}" value="{$t[a3]}"/>
|
|
<input type="hidden" id="p1_{$t[key]}" value="{$t[p1]}"/>
|
|
<input type="hidden" id="p2_{$t[key]}" value="{$t[p2]}"/>
|
|
<input type="hidden" id="p3_{$t[key]}" value="{$t[p3]}"/>
|
|
<input type="hidden" id="amount_{$t[key]}" value="{$t[amount]}"/>
|
|
</td>
|
|
<td><a href="{$t[linkurl]}" target="_blank"><img src="{$t[thumb]}" width="50" alt="{$t[alt]}" onerror="this.src=errimg;"/></a></td>
|
|
<td align="left" style="line-height:24px;color:#666666;"><a href="{$t[linkurl]}" target="_blank" class="b" title="{$t[alt]}">{$t[title]}</a><br/>
|
|
{if $t[m1]}{$t[n1]}:{$t[m1]} {/if}{if $t[m2]}{$t[n2]}:{$t[m2]} {/if}{if $t[m3]}{$t[n3]}:{$t[m3]} {/if}
|
|
</td>
|
|
<td>{if $t[amount]>0}{$t[amount]}{else}<span class="f_red">库存不足</span>{/if}</td>
|
|
<td title="{if $t[a2]}{$t[a1]}-{$t[a2]}{$t[unit]} {$DT[money_sign]}{$t[p1]} {if $t[a3]}{$t[a2]+1}-{$t[a3]}{$t[unit]} {$DT[money_sign]}{$t[p2]} {$t[a3]}{$t[unit]}以上 {$DT[money_sign]}{$t[p3]}{else}{$t[a2]+1}{$t[unit]}以上 {$DT[money_sign]}{$t[p2]}{/if}{else}{$DT[money_sign]}{$t[p1]}{/if}"><span class="f_b" id="price_{$t[key]}">{$t[price]}</span></td>
|
|
<td class="f_gray">{if $t[valid]}<img src="{DT_SKIN}image/arrow_l.gif" width="16" height="8" alt="减少" class="c_p" onclick="alter('{$t[key]}', '-');"/><input type="text" name="amounts[{$t[key]}]" value="{$t[a]}" id="number_{$t[key]}" size="3" onblur="calculate();" class="cc_inp" style="padding:5px"/> <img src="{DT_SKIN}image/arrow_r.gif" width="16" height="8" alt="增加" class="c_p" onclick="alter('{$t[key]}', '+');"/>{else}失效{/if}</td>
|
|
<td><span class="f_price" id="total_{$t[key]}" total-{$t[username]}="1">{$t[price]}</span></td>
|
|
<td class="c_p" onclick="if(confirm('确定要删除此商品吗?')) move('{$t[key]}');">删除</a></td>
|
|
</tr>
|
|
{/loop}
|
|
{/loop}
|
|
</table>
|
|
<div class="cart-foot">
|
|
<table cellpadding="0" cellspacing="0" width="100%">
|
|
<tr>
|
|
<td><a href="javascript:;" onclick="move_muti();">删除选中商品</a></td>
|
|
<td><p>已选商品 <span class="f_red f_b px16" id="total_good"></span> 件 合计(不含运费): <span class="f_red f_b px16" id="total_amount"></span> 元</p></td>
|
|
<td width="96"><input type="submit" value="结算"/></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</form>
|
|
{else}
|
|
<div class="cart-msg"><img src="{DT_SKIN}image/cart_empty.png" width="57" height="49" alt="" align="absmiddle"/>
|
|
{if $action == 'guest'}
|
|
您还没有登录,请先 <a href="{$DT[file_login]}" class="b">登录</a> 或 <a href="{$DT[file_register]}" class="b">注册</a>
|
|
{elseif $action == 'close'}
|
|
购物车功能未开放
|
|
{else}
|
|
您的 <span class="f_orange">购物车</span> 还是空的,赶快行动吧!马上去 <a href="{$MOD[linkurl]}" class="b">挑选商品</a>
|
|
{/if}
|
|
</div>
|
|
{/if}
|
|
</div>
|
|
{/if}
|
|
<script type="text/javascript">
|
|
function Ccheck(key) {
|
|
$(key ? '[data-check="'+key+'"]' : '[data-check]').each(function(){
|
|
$(this).prop('checked', $('#check-'+(key ? key : 'all')).prop('checked') ? true : false);
|
|
});
|
|
}
|
|
function Mcheck() {
|
|
if(Dd('total_good').innerHTML == '0') {
|
|
alert('最少需要挑选1件商品');
|
|
window.scroll(0, 0);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
function move_muti() {
|
|
if(Dd('total_good').innerHTML == '0') {
|
|
alert('未选择商品');
|
|
return;
|
|
}
|
|
if(confirm('确定要删除选中商品吗?')) {
|
|
var par = 'action=delete&mid={$mid}&ajax=1';
|
|
$(':checked').each(function(i) {
|
|
if($(this).attr('id').indexOf('check_') != -1) {
|
|
par += '&key[]='+$(this).val();
|
|
}
|
|
});
|
|
$.post('?', par, function(data) {
|
|
Go('?mid={$mid}&rand={$DT_TIME}');
|
|
});
|
|
}
|
|
}
|
|
function move(i) {
|
|
Dd('check_'+i).checked = false;
|
|
Dd('check_'+i).disabled = true;
|
|
Dh('tr_'+i);
|
|
calculate();
|
|
$.post('?', 'action=delete&mid={$mid}&ajax=1&key='+i, function(data) {
|
|
var cart_num = get_cart();
|
|
$('#destoon_cart').html(cart_num > 0 ? '<strong>'+cart_num+'</strong>' : '0');
|
|
if(data == 1 && Dd('total_good').innerHTML == '0') Go('?mid={$mid}&rand={$DT_TIME}');
|
|
});
|
|
}
|
|
function alter(i, t) {
|
|
if(t == '+') {
|
|
var maxa = parseFloat(Dd('amount_'+i).value);
|
|
if(maxa && Dd('number_'+i).value >= maxa) return;
|
|
Dd('number_'+i).value = parseInt(Dd('number_'+i).value) + 1;
|
|
} else {
|
|
var mina = parseFloat(Dd('a1_'+i).value);
|
|
if(Dd('number_'+i).value <= mina) return;
|
|
Dd('number_'+i).value = parseInt(Dd('number_'+i).value) - 1;
|
|
}
|
|
calculate();
|
|
}
|
|
function get_price(i) {
|
|
if(Dd('a2_'+i).value > 0) {
|
|
if(Dd('a3_'+i).value > 1 && parseInt(Dd('number_'+i).value) > parseInt(Dd('a3_'+i).value)) return Dd('p3_'+i).value;
|
|
if(Dd('a2_'+i).value > 1 && parseInt(Dd('number_'+i).value) > parseInt(Dd('a2_'+i).value)) return Dd('p2_'+i).value;
|
|
return Dd('p1_'+i).value;
|
|
}
|
|
return Dd('p1_'+i).value
|
|
}
|
|
function calculate() {
|
|
var _good = _amount = _total = 0;
|
|
$(':checked').each(function(i) {
|
|
if($(this).attr('id').indexOf('check_') != -1) {
|
|
var key = $(this).val();
|
|
var num, good, maxa, mina, price;
|
|
num = parseInt(Dd('number_'+key).value);
|
|
maxa = parseInt(Dd('amount_'+key).value);
|
|
mina = parseInt(Dd('a1_'+key).value);
|
|
if(num < mina) Dd('number_'+key).value = num = mina;
|
|
if(num > maxa) Dd('number_'+key).value = num = maxa;
|
|
if(isNaN(num) || num < 0) Dd('number_'+key).value = num = mina;
|
|
_good++;
|
|
price = parseFloat(get_price(key));
|
|
_total = price*num;
|
|
_amount += _total;
|
|
Dd('price_'+key).innerHTML = price.toFixed(2);
|
|
Dd('total_'+key).innerHTML = _total.toFixed(2);
|
|
}
|
|
});
|
|
Dd('total_good').innerHTML = _good;
|
|
Dd('total_amount').innerHTML = _amount.toFixed(2);
|
|
}
|
|
{if $lists}$(function(){calculate();});{/if}
|
|
</script>
|
|
{template 'footer'}
|