Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
飞鱼0526
ShopXO
提交
85dab636
ShopXO
项目概览
飞鱼0526
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
85dab636
编写于
3月 22, 2019
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
运费设置应用新增支付方式免运费
上级
1b4efcc8
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
115 addition
and
72 deletion
+115
-72
application/index/view/default/buy/index.html
application/index/view/default/buy/index.html
+2
-2
application/plugins/freightfee/Admin.php
application/plugins/freightfee/Admin.php
+35
-19
application/plugins/freightfee/Hook.php
application/plugins/freightfee/Hook.php
+36
-16
application/plugins/view/freightfee/admin/index.html
application/plugins/view/freightfee/admin/index.html
+11
-0
application/plugins/view/freightfee/admin/saveinfo.html
application/plugins/view/freightfee/admin/saveinfo.html
+11
-1
public/static/index/default/css/buy.css
public/static/index/default/css/buy.css
+16
-7
public/static/index/default/js/buy.js
public/static/index/default/js/buy.js
+4
-27
未找到文件。
application/index/view/default/buy/index.html
浏览文件 @
85dab636
...
...
@@ -70,12 +70,12 @@
</div>
<!-- 支付方式 -->
<div
class=
"business-item payment"
data-
type=
"payment
"
>
<div
class=
"business-item payment"
data-
field=
"payment_id
"
>
<h3>
选择支付
</h3>
{{if !empty($payment_list)}}
<ul
class=
"payment-list"
>
{{foreach $payment_list as $payment}}
<li
data-value=
"{{$payment.id}}"
>
<li
data-value=
"{{$payment.id}}"
class=
"{{if isset($params['payment_id']) and $params['payment_id'] eq $payment['id']}}selected{{/if}}"
>
{{if !empty($payment.logo)}}
<img
src=
"{{$payment.logo}}"
/>
{{/if}}
...
...
application/plugins/freightfee/Admin.php
浏览文件 @
85dab636
...
...
@@ -14,6 +14,7 @@ use think\Db;
use
think\Controller
;
use
app\service\PluginsService
;
use
app\service\RegionService
;
use
app\service\PaymentService
;
/**
* 运费设置 - 管理
...
...
@@ -37,16 +38,7 @@ class Admin extends Controller
$ret
=
PluginsService
::
PluginsData
(
'freightfee'
);
if
(
$ret
[
'code'
]
==
0
)
{
// 数据处理
if
(
!
empty
(
$ret
[
'data'
][
'data'
]))
{
foreach
(
$ret
[
'data'
][
'data'
]
as
&
$v
)
{
$v
[
'region_names'
]
=
empty
(
$v
[
'region_show'
])
?
''
:
implode
(
'、'
,
Db
::
name
(
'Region'
)
->
where
(
'id'
,
'in'
,
explode
(
'-'
,
$v
[
'region_show'
]))
->
column
(
'name'
));
}
}
$this
->
assign
(
'data'
,
$ret
[
'data'
]);
$this
->
assign
(
'data'
,
$this
->
DataHandle
(
$ret
[
'data'
]));
return
$this
->
fetch
(
'../../../plugins/view/freightfee/admin/index'
);
}
else
{
return
$ret
[
'msg'
];
...
...
@@ -83,24 +75,48 @@ class Admin extends Controller
},
$region
);
}
// 数据处理
if
(
!
empty
(
$ret
[
'data'
][
'data'
]))
{
foreach
(
$ret
[
'data'
][
'data'
]
as
&
$v
)
{
$v
[
'region_names'
]
=
empty
(
$v
[
'region_show'
])
?
''
:
implode
(
'、'
,
Db
::
name
(
'Region'
)
->
where
(
'id'
,
'in'
,
explode
(
'-'
,
$v
[
'region_show'
]))
->
column
(
'name'
));
}
}
// 支付方式
$this
->
assign
(
'payment_list'
,
PaymentService
::
PaymentList
([
'is_enable'
=>
1
,
'is_open_user'
=>
1
]));
$this
->
assign
(
'region_list'
,
$region
);
$this
->
assign
(
'is_whether_list'
,
$is_whether_list
);
$this
->
assign
(
'data'
,
$
ret
[
'data'
]
);
$this
->
assign
(
'data'
,
$
this
->
DataHandle
(
$ret
[
'data'
])
);
return
$this
->
fetch
(
'../../../plugins/view/freightfee/admin/saveinfo'
);
}
else
{
return
$ret
[
'msg'
];
}
}
/**
* 数据处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2019-03-22
* @desc description
* @param [array] $data [应用数据]
*/
private
function
DataHandle
(
$data
)
{
if
(
!
empty
(
$data
[
'data'
]))
{
if
(
empty
(
$data
[
'payment'
]))
{
$data
[
'payment'
]
=
[];
$data
[
'payment_names'
]
=
''
;
}
else
{
$data
[
'payment'
]
=
explode
(
','
,
$data
[
'payment'
]);
$data
[
'payment_names'
]
=
implode
(
'、'
,
array_map
(
function
(
$v
){
return
mb_substr
(
$v
,
strrpos
(
$v
,
'-'
)
+
1
,
null
,
'utf-8'
);},
$data
[
'payment'
]));
}
foreach
(
$data
[
'data'
]
as
&
$v
)
{
$v
[
'region_names'
]
=
empty
(
$v
[
'region_show'
])
?
''
:
implode
(
'、'
,
Db
::
name
(
'Region'
)
->
where
(
'id'
,
'in'
,
explode
(
'-'
,
$v
[
'region_show'
]))
->
column
(
'name'
));
}
}
return
$data
;
}
/**
* 数据保存
* @author Devil
...
...
application/plugins/freightfee/Hook.php
浏览文件 @
85dab636
...
...
@@ -61,8 +61,29 @@ class Hook
$ret
=
PluginsService
::
PluginsData
(
'freightfee'
);
if
(
$ret
[
'code'
]
==
0
)
{
// 默认运费
$price
=
0
;
// 支付方式免运费
$is_payment
=
true
;
if
(
!
empty
(
$ret
[
'data'
][
'payment'
])
&&
!
empty
(
$params
[
'params'
][
'payment_id'
]))
{
$payment
=
array_map
(
function
(
$v
){
return
explode
(
'-'
,
$v
);},
explode
(
','
,
$ret
[
'data'
][
'payment'
]));
if
(
!
empty
(
$payment
)
&&
is_array
(
$payment
))
{
foreach
(
$payment
as
$v
)
{
if
(
isset
(
$v
[
0
])
&&
$v
[
0
]
==
$params
[
'params'
][
'payment_id'
])
{
$is_payment
=
false
;
break
;
}
}
}
}
// 是否设置运费数据
if
(
!
empty
(
$ret
[
'data'
][
'data'
][
0
]))
if
(
$is_payment
===
true
&&
!
empty
(
$ret
[
'data'
][
'data'
][
0
]))
{
// 规则
$rules
=
$this
->
RulesHandle
(
$ret
[
'data'
][
'data'
],
$params
[
'data'
][
'base'
][
'address'
]);
...
...
@@ -70,7 +91,6 @@ class Hook
// 计费方式
if
(
!
empty
(
$rules
))
{
$price
=
0
;
switch
(
$ret
[
'data'
][
'valuation'
])
{
// 按件
...
...
@@ -83,22 +103,22 @@ class Hook
$price
=
$this
->
QuantityCalculate
(
$rules
,
$params
[
'data'
]);
break
;
}
// 扩展展示数据
$show_name
=
empty
(
$ret
[
'data'
][
'show_name'
])
?
'运费'
:
$ret
[
'data'
][
'show_name'
];
$params
[
'data'
][
'extension_data'
][]
=
[
'name'
=>
$show_name
,
'price'
=>
$price
,
'type'
=>
0
,
'tips'
=>
'+¥'
.
$price
.
'元'
,
];
// 金额
$params
[
'data'
][
'base'
][
'increase_price'
]
+=
$price
;
$params
[
'data'
][
'base'
][
'actual_price'
]
+=
$price
;
}
return
DataReturn
(
'处理成功'
,
0
);
}
// 扩展展示数据
$show_name
=
empty
(
$ret
[
'data'
][
'show_name'
])
?
'运费'
:
$ret
[
'data'
][
'show_name'
];
$params
[
'data'
][
'extension_data'
][]
=
[
'name'
=>
$show_name
,
'price'
=>
$price
,
'type'
=>
0
,
'tips'
=>
'+¥'
.
$price
.
'元'
,
];
// 金额
$params
[
'data'
][
'base'
][
'increase_price'
]
+=
$price
;
$params
[
'data'
][
'base'
][
'actual_price'
]
+=
$price
;
return
DataReturn
(
'无需处理'
,
0
);
}
else
{
return
$ret
[
'msg'
];
...
...
application/plugins/view/freightfee/admin/index.html
浏览文件 @
85dab636
...
...
@@ -20,6 +20,17 @@
</div>
</div>
<div
class=
"items"
>
<label>
免运费支付方式
</label>
<div>
{{if empty($data['payment_names'])}}
未设置
{{else /}}
{{$data.payment_names}}
{{/if}}
</div>
</div>
<div
class=
"items"
>
<label>
计价方式
</label>
<div>
...
...
application/plugins/view/freightfee/admin/saveinfo.html
浏览文件 @
85dab636
...
...
@@ -10,11 +10,20 @@
<a
href=
"{{:PluginsAdminUrl('freightfee', 'admin', 'index')}}"
class=
"fr fs-14 m-t-5 am-icon-mail-reply"
>
返回
</a>
</legend>
<div
class=
"
business-form-block
am-form-group"
>
<div
class=
"am-form-group"
>
<label>
展示名称
<span
class=
"am-form-group-label-tips"
>
默认 运费
</span></label>
<input
type=
"text"
name=
"show_name"
placeholder=
"展示名称"
maxlength=
"16"
data-validation-message=
"展示名称格式最多 16 个字符"
class=
"am-radius"
value=
"{{if !empty($data['show_name'])}}{{$data.show_name}}{{else /}}运费{{/if}}"
/>
</div>
<div
class=
"am-form-group"
>
<label>
免运费支付方式
</label>
<select
name=
"payment"
class=
"am-radius c-p chosen-select"
multiple=
"multiple"
data-placeholder=
"可选择..."
data-validation-message=
"请选择一个免运费支付方式"
>
{{foreach $payment_list as $v}}
<option
value=
"{{$v.id}}-{{$v.payment}}-{{$v.name}}"
{{
if
isset
($
data
['
payment
'])
and
in_array
($
v
['
id
'].'
-
'.$
v
['
payment
'].'
-
'.$
v
['
name
'],
$
data
['
payment
'])}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
<div
class=
"business-form-block am-form-group"
>
<label>
计价方式
</label>
<div>
...
...
@@ -27,6 +36,7 @@
</div>
<div
class=
"business-form-block freightfee-rules"
>
<label>
运费模板
</label>
<table
class=
"am-table am-table-striped"
>
{{if empty($data['data'])}}
<thead>
...
...
public/static/index/default/css/buy.css
浏览文件 @
85dab636
...
...
@@ -13,8 +13,8 @@ ul.address-list li .user-base {font-size: 14px; font-weight: 700; margin-bottom:
.address-default
{
display
:
block
!important
;}
/* 物流/支付 */
.business-item
ul
li
{
border
:
1px
solid
transparent
;
overflow
:
hidden
;
float
:
left
;
cursor
:
pointer
;
padding
:
5px
;
border
:
1px
solid
#e
ee
;
margin
:
0
10px
10px
0
;
}
ul
.logistics-list
li
.selected
,
ul
.payment-list
li
.selected
{
border-color
:
#d2364c
;
position
:
relative
;}
.business-item
ul
li
{
border
:
1px
solid
transparent
;
overflow
:
hidden
;
float
:
left
;
cursor
:
pointer
;
padding
:
5px
;
border
:
1px
solid
#e
5e5e5
;
margin
:
0
10px
10px
0
;
}
ul
.logistics-list
li
.selected
,
ul
.payment-list
li
.selected
{
border-color
:
#d2364c
;
position
:
relative
;
box-shadow
:
0px
0
0px
1px
#d2364c
;}
ul
.logistics-list
li
.selected
i
.icon-active
,
ul
.payment-list
li
.selected
i
.icon-active
{
position
:
absolute
;
width
:
10px
;
...
...
@@ -28,6 +28,14 @@ ul.logistics-list li.selected i.icon-active, ul.payment-list li.selected i.icon-
.business-item
ul
{
padding
:
10px
3px
5px
5px
;}
ul
.logistics-list
li
img
,
ul
.payment-list
li
img
{
width
:
36px
;
height
:
36px
;
}
.business-item
ul
li
,
ul
.address-list
li
{
-webkit-transition
:
border-color
.2s
ease-in
;
-moz-transition
:
border-color
.2s
ease-in
;
-ms-transition
:
border-color
.2s
ease-in
;
-o-transition
:
border-color
.2s
ease-in
;
transition
:
border-color
.2s
ease-in
;
}
/*运费、留言、扩展数据*/
.buy-message
{
padding
:
0px
5px
}
.td.td-oplist
.pay-logis
,
.td.td-bonus
select
{
position
:
absolute
;
top
:
6px
;
right
:
0
;}
...
...
@@ -75,9 +83,10 @@ ul.address-list, .business-item ul { overflow: hidden; }
.link-list
{
margin
:
10px
;
}
.link-list
h3
{
padding-bottom
:
5px
;}
/*
物流
*/
/*
业务
*/
.business-item
ul
li
{
width
:
calc
(
25%
-
8px
);
}
.business-item
ul
li
:nth-child
(
4
n
)
{
margin-right
:
0
;
}
.business-item
ul
li
:hover
,
ul
.address-list
li
:hover
{
border
:
1px
solid
#d2364c
;
box-shadow
:
0px
0
0px
1px
#d2364c
;
}
/*留言*/
.buy-message
{
border
:
1px
solid
#eee
;
overflow
:
hidden
;
padding
:
10px
;
margin
:
0
5px
;}
...
...
@@ -100,9 +109,9 @@ ul.address-list, .business-item ul { overflow: hidden; }
.order-nav
.buy-footer-address
.buy-line-title
{
color
:
#404040
;
font-weight
:
700
;}
.link-list
{
margin
:
0px
auto
;}
/*地址管理*/
.address
ul
{
margin-top
:
10px
;}
ul
.address-list
li
{
display
:
block
;
width
:
calc
(
33%
-
5px
);
height
:
130px
;
float
:
left
;
background-image
:
url(../images/peraddbg.png)
;
background-repeat
:
no-repeat
;
background-size
:
100%
100%
;
margin
:
0
10px
10px
0
;
padding
:
10px
;}
ul
.address-list
li
.address-default
{
background-image
:
url(../images/peraddressbg.png)
;}
.address
ul
{
margin-top
:
10px
;
padding
:
1px
;}
ul
.address-list
li
{
display
:
block
;
width
:
calc
(
33%
-
5px
);
height
:
130px
;
float
:
left
;
margin
:
0
10px
10px
0
;
padding
:
10px
;
border
:
1px
solid
#e5e5e5
;}
ul
.address-list
li
.address-default
{
background-image
:
url(../images/peraddressbg.png)
;
background-repeat
:
no-repeat
;
background-size
:
100%
100%
;
border
:
0
;
box-shadow
:
none
;
}
ul
.address-list
li
:nth-child
(
3
n
)
{
margin-right
:
0
;
}
.address-left
{
width
:
100%
;
position
:
relative
;}
.th
.td-inner
{
padding-left
:
0
;}
...
...
@@ -122,7 +131,7 @@ ul.address-list, .business-item ul { overflow: hidden; }
.business-item
ul
li
{
width
:
calc
(
20%
-
8px
);
}
.business-item
ul
li
:nth-child
(
5
n
)
{
margin-right
:
0
;
}
.business-item
ul
li
:nth-child
(
4
n
)
{
margin-right
:
10px
;
}
.business-item
ul
{
padding
:
10px
0
0
0
;
}
.business-item
ul
{
padding
:
10px
1px
0
1px
;
}
.link-list
h3
{
padding
:
0
0
5px
0
;
}
.buy-message
{
margin
:
0
;
}
.buy-point-discharge
{
padding
:
10px
0px
;
}
...
...
public/static/index/default/js/buy.js
浏览文件 @
85dab636
...
...
@@ -2,7 +2,6 @@ if(store.enabled)
{
// 选择缓存key
var
store_use_new_address_status_key
=
'
store-buy-use-new-address-status-count
'
;
var
store_payment_key
=
'
store-buy-payment-selected-index
'
;
}
$
(
function
()
...
...
@@ -21,13 +20,6 @@ $(function()
window
.
location
.
href
=
UrlFieldReplace
(
'
address_id
'
,
$
(
'
ul.address-list li:first
'
).
data
(
'
value
'
));
}
}
// 支付方式
var
store_payment_value
=
store
.
get
(
store_payment_key
);
if
(
store_payment_value
!==
undefined
)
{
$
(
'
ul.payment-list li
'
).
eq
(
store_payment_value
).
addClass
(
'
selected
'
);
}
}
// 地址选择
...
...
@@ -63,26 +55,11 @@ $(function()
// 混合列表选择
$
(
'
.business-item ul li
'
).
on
(
'
click
'
,
function
()
{
var
type
=
$
(
this
).
parents
(
'
.business-item
'
).
data
(
'
type
'
)
||
null
;
var
temp_store_key
=
null
;
switch
(
type
)
var
field
=
$
(
this
).
parents
(
'
.business-item
'
).
data
(
'
field
'
)
||
null
;
var
value
=
$
(
this
).
data
(
'
value
'
)
||
null
;
if
(
field
!=
null
&&
value
!=
null
)
{
case
'
payment
'
:
temp_store_key
=
store_payment_key
;
break
;
}
if
(
$
(
this
).
hasClass
(
'
selected
'
))
{
$
(
this
).
removeClass
(
'
selected
'
);
if
(
temp_store_key
!=
null
)
{
store
.
remove
(
temp_store_key
);
}
}
else
{
$
(
this
).
addClass
(
'
selected
'
).
siblings
(
'
li
'
).
removeClass
(
'
selected
'
);
if
(
temp_store_key
!=
null
)
{
store
.
set
(
temp_store_key
,
$
(
this
).
index
());
}
window
.
location
.
href
=
UrlFieldReplace
(
field
,
value
);
}
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录