Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
eduline
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
冷斌
eduline
Commits
2dc494e8
Commit
2dc494e8
authored
May 18, 2020
by
陈超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
T
parent
6307058c
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
41 additions
and
248 deletions
+41
-248
addons/theme/stv1/_static_w3g/css/common.css
+6
-0
apps/mall/Lib/Action/GoodsAction.class.php
+11
-1
apps/mall/Tpl/default/Goods/view_w3g.html
+24
-247
No files found.
addons/theme/stv1/_static_w3g/css/common.css
View file @
2dc494e8
...
...
@@ -894,4 +894,9 @@ div::-webkit-scrollbar {
.pay_course_bottom
{
padding
:
0.75rem
;
}
/* Goods Detail */
.goods_detail_top
{
}
\ No newline at end of file
apps/mall/Lib/Action/GoodsAction.class.php
View file @
2dc494e8
...
...
@@ -171,7 +171,17 @@ class GoodsAction extends Action
$split_score
=
model
(
'Xdata'
)
->
get
(
"admin_Config:rechargeIntoConfig"
);
unset
(
$split_score
[
'rechange_default'
]);
$sple_score
=
array_filter
(
explode
(
':'
,
$split_score
[
'sple_score'
]))[
1
]
/
array_filter
(
explode
(
':'
,
$split_score
[
'sple_score'
]))[
0
];
//如果是ajax并且为h5访问 直接输出后边的数据
// if ($this->isAjax() && $this->is_wap && $_GET['api']) {
// echo json_encode(array(
// 'status': 1,
// 'data' => $data,
// 'address' => $address,
// 'goodsOrder' => $goodsOrder['data']
// ));
// }
$this
->
assign
(
'data'
,
$data
);
$this
->
assign
(
'address'
,
$address
);
$this
->
assign
(
'goodsOrder'
,
$goodsOrder
[
'data'
]);
...
...
apps/mall/Tpl/default/Goods/view_w3g.html
View file @
2dc494e8
<include
file=
"__THEME__/public_header_w3g"
/>
<script
src=
"__THEME__/js/core.js"
></script>
<script
src=
"__THEME__/js/common.js"
></script>
<link
rel=
"stylesheet"
href=
"__APP__/css/view_3g.css"
>
<style>
body
{
padding
:
0
!important
;
}
</style>
<div
class=
"body"
>
<div
class=
"malltop clearfix"
>
<img
class=
"bg"
src=
"{:getCover($data['cover_id'],360,360)}"
alt=
"{$data.title}"
/>
<a
class=
"malltop_nav"
href=
"javascript:history.go(-1);"
></a>
<div
class=
"boxcont"
>
<div
class=
"briefIntr"
>
{$data.title}
</div>
<div
class=
"Price_new"
>
<p><if
condition=
"in_array('credpay',$payConfig['pay'])"
>
积分
<else/>
金额
</if>
:
<input
type=
"hidden"
id=
"price"
name=
"price"
value=
"{$data.price}"
/><if
condition=
"in_array('credpay',$payConfig['pay'])"
>
{$data.price}
<else/>
{$data['price']/$sple_score}
</if>
<span>
(快递费:
<if
condition=
"in_array('credpay',$payConfig['pay'])"
>
{$data.fare}积分
<else/>
¥{$data['fare']/$sple_score}
</if>
)
</span></p>
<p>
兑换人数:{$data.goods_count}
</p>
</div>
<div
class=
"portant"
>
<div>
<span
class=
"exchange"
>
兑换数量
</span>
<div>
<a
class=
"adbtn minus"
href=
"javascript:;"
>
-
</a>
<input
id=
"count"
name=
"count"
type=
"text"
value=
"1"
onkeyup=
"formatMoneyWith6digts(this);"
/>
<a
class=
"adbtn add"
href=
"javascript:;"
>
+
</a>
</div>
<if
condition=
"$data.stock heq 0"
>
<span
style=
"color: #FF3C41;"
>
(无货)
</span>
<else/>
<span
style=
"color: #7B7B7B;"
>
(有货)
</span>
</if>
</div>
<div>
<if
condition=
"$data.stock heq 0"
>
<a
class=
"clickhd"
href=
"javascript:;"
style=
'background-color: gray'
>
兑换
</a>
<else
/>
<a
class=
"clickhd"
href=
"javascript:;"
onclick=
"saveGoods();"
>
兑换
</a>
</if>
</div>
</div>
</div>
<!-- <div class="txt">
<div class="info">
<div class="fl">所需<if condition="in_array('credpay',$payConfig['pay'])">积分<else/>金额</if><input type="hidden" id="price" name="price" value="{$data.price}" /><span><if condition="in_array('credpay',$payConfig['pay'])">{$data.price}<else/>{$data['price']/$sple_score}</if></span></div>
<ul class="fr">
<li><p>{$data.stock}</p>仓库剩余</li>
<li><p>{$data.goods_count}</p>兑换人数</li>
</ul>
</div>
<dl>
<dt>配送</dt>
<php>if($address['location']){</php>
<dd id="charge_address">
<em id="old">{$address.location} {$address.address}</em>
</dd>
<php>}else{</php>
<a href="{:U('home/User/address')}" style="color: #188eee;">新增地址</a>
<php>}</php>
<input class="address_id" name="address_id" value="{$address.id}" type="hidden" />
<dt>快递费</dt>
<dd><if condition="in_array('credpay',$payConfig['pay'])">{$data.fare}积分<else/>¥{$data['fare']/$sple_score}</if></dd>
</dl>
<dl>
<dt>简介</dt>
<dd><php>if($data['info']){</php>{$data.info|msubstr=0,87,'utf-8',true}<php>}else{</php>暂时没有该商品的相关简介<php>}</php></dd>
</dl>
<dl class="position">
<dt>数量</dt>
<dd>
<a class="adbtn minus" href="javascript:;">-</a>
<input id="count" name="count" type="text" value="1" onkeyup="formatMoneyWith6digts(this);"/>
<a class="adbtn add" href="javascript:;">+</a><span>件</span>
</dd>
<a class="dh" href="javascript:;" onclick="saveGoods();">兑换</a>
</dl>
</div> -->
</div>
<div
class=
"mallbot"
>
<div
class=
"mallmain-hd"
>
<ul>
<li
class=
"choose on"
><a
href=
"javascript:;"
>
详情
</a></li>
<li
class=
"choose"
><a
href=
"javascript:;"
>
兑换记录
</a></li>
</ul>
</div>
<div
class=
"mallmain-bd goodsInfo"
style=
"display: block;font-size: 13px;"
>
<php>
if(!$data['details']){
</php>
<p>
暂时没有该商品的详情介绍
</p>
<php>
}else{
</php>
{$data.details}
<php>
}
</php>
</div>
<div
class=
"mallmain-bd goodsInfo"
style=
"display: none;"
>
<ul
class=
"mallrecordlist"
>
<php>
if(!$goodsOrder){
</php>
<li><span>
暂时还没有人兑换过该商品
</span></li>
<php>
}else{
</php>
<volist
name=
"goodsOrder"
id=
"re"
offset=
"0"
length=
"6"
>
<li>
<img
src=
"{:getUserFace($re['uid'],'m')}"
alt=
"{$re.uname}"
>
<h3><span>
{$re.ctime}
</span>
{$re.uname}
</h3>
<p><span>
{$re.price}
</span>
积分兑换了{$re.count}个{$re['goods_info'].title}
</p>
</li>
</volist>
<php>
}
</php>
</ul>
</div>
</div>
<div
id=
"app"
>
<div
class=
"layout_v"
>
<div
class=
"goods_detail_top"
>
<van-image
></van-image>
</div>
</div>
</div>
<a
class=
"backtop"
></a>
<script>
$
(
function
(){
$
(
".choose"
).
click
(
function
(){
$
(
this
).
addClass
(
"on"
).
siblings
().
removeClass
();
var
index
=
$
(
this
).
index
();
$
(
".goodsInfo"
).
hide
().
eq
(
index
).
show
();
});
var
total_count
=
'{$data.stock}'
;
if
(
total_count
<
1
){
total_count
=
1
;
}
$
(
".add"
).
click
(
function
(){
var
t
=
$
(
this
).
prev
(
"input"
);
var
num
=
parseInt
(
t
.
val
());
if
(
num
>=
total_count
){
t
.
val
(
total_count
);
}
else
{
t
.
val
(
num
+
1
);
}
});
$
(
".minus"
).
click
(
function
(){
var
inputObj
=
$
(
this
).
next
(
"input"
);
var
t
=
parseInt
(
inputObj
.
val
());
if
(
t
<=
1
){
inputObj
.
val
(
1
);
}
else
{
inputObj
.
val
(
t
-
1
);
}
});
//地址选择操作
$
(
"#charge_address"
).
click
(
function
(){
ui
.
box
.
load
(
U
(
'mall/Goods/getAddress'
),
'选择收货地址'
);
});
});
/*function changeAddress() {
var address_id = $("input[type='radio']:checked").val();
if(!address_id || address_id == '' || address_id == undefined){
ui.error("请选择地址");
return false;
}
$.post(U('mall/Goods/getAddress'),{address_id:address_id},function(msg){
var msg = getResponseData(msg);
if(msg.status == 1){
$(".address_id").val(msg.data['id']);
msg.data = msg.data['location'] + msg.data['address'];
$("#old").html(msg.data);
ui.box.close();
}
});
};*/
// 关闭弹窗
function
cancel
()
{
ui
.
box
.
close
();
}
function
formatMoneyWith6digts
(
obj
){
obj
.
value
=
obj
.
value
.
replace
(
/
\D
/g
,
''
)
var
stock
=
parseInt
(
'{$data.stock}'
);
if
(
obj
.
value
<
1
){
obj
.
value
=
1
;
}
if
(
obj
.
value
>
stock
){
obj
.
value
=
stock
;
}
}
var
uid
=
'{$uid}'
;
var
goods_id
=
"{$data['goods_id']}"
;
function
saveGoods
(){
if
(
uid
<=
0
){
ui
.
confirm
(
'请先登录'
,
{
yes
:
function
()
{
window
.
location
.
href
=
"{:U('basic/Passport/login')}"
;
}
});
return
false
;
}
var
price
=
$
(
"#price"
).
val
();
var
count
=
$
(
"#count"
).
val
();
var
fare
=
'{$data.fare}'
;
var
total
=
price
*
count
;
var
goods_id
=
'{$Think.get.id}'
;
/*var address_id = $(".address_id").val();
if(!address_id){
ui.error("请选择收货地址");
return false;
}*/
$
.
ajax
({
type
:
"POST"
,
url
:
"{:U('mall/Goods/getPayUrl')}"
,
data
:{
count
:
count
,
goods_id
:
goods_id
,
//address_id:address_id,
},
dataType
:
"json"
,
success
:
function
(
res
){
var
res
=
getResponseData
(
res
);
if
(
res
.
status
==
1
){
window
.
location
.
href
=
res
.
data
;
}
else
{
ui
.
error
(
res
.
message
);
return
false
;
}
}
});
/*ui.confirm("确定要花费"+total+"积分兑换"+count+"个{$data.title}?", {
yes: function () {
$.ajax({
type: "POST",
url:"{:U('mall/Goods/doSaveGoods')}",
data:{
count:count,
total:total,
fare:fare,
goods_id:goods_id,
address_id:address_id,
},
dataType:"json",
success:function(res){
var res = getResponseData(res);
if(res.status == 1){
ui.success(res.message);
setTimeout(function(){
location.reload();
},'1500');
}else{
ui.error(res.message);
return false;
}
}
});
}
});*/
}
function
charge_address
(){
ui
.
box
.
load
(
U
(
'mall/Goods/getAddress'
),
'选择收货地址'
);
}
new
Vue
({
el
:
"#app"
,
created
:
function
(){
console
.
log
(
info
)
},
data
:
function
()
{
return
{
info
:
"{$data}"
}
}
})
</script>
<include
file=
"__THEME__/public_footer_w3g"
/>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment