Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
u011369184
ShopXO
提交
22c37242
ShopXO
项目概览
u011369184
/
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,发现更多精彩内容 >>
提交
22c37242
编写于
6月 13, 2019
作者:
G
gongfuxiang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
细节优化
上级
13146f43
变更
28
隐藏空白更改
内联
并排
Showing
28 changed file
with
473 addition
and
159 deletion
+473
-159
application/admin/controller/Order.php
application/admin/controller/Order.php
+1
-0
application/admin/view/default/goods/save_info.html
application/admin/view/default/goods/save_info.html
+11
-12
application/admin/view/default/order/index.html
application/admin/view/default/order/index.html
+34
-5
application/admin/view/default/pluginsadmin/index.html
application/admin/view/default/pluginsadmin/index.html
+23
-4
application/index/view/default/goods/index.html
application/index/view/default/goods/index.html
+3
-1
application/plugins/answers/install.sql
application/plugins/answers/install.sql
+4
-4
application/plugins/answers/uninstall.sql
application/plugins/answers/uninstall.sql
+2
-2
application/plugins/membershiplevel/Hook.php
application/plugins/membershiplevel/Hook.php
+11
-4
application/plugins/share/Hook.php
application/plugins/share/Hook.php
+16
-10
application/plugins/share/admin/Admin.php
application/plugins/share/admin/Admin.php
+12
-0
application/plugins/view/share/admin/admin/index.html
application/plugins/view/share/admin/admin/index.html
+11
-0
application/plugins/view/share/admin/admin/saveinfo.html
application/plugins/view/share/admin/admin/saveinfo.html
+11
-0
application/plugins/view/wallet/index/cash/index.html
application/plugins/view/wallet/index/cash/index.html
+51
-5
application/plugins/view/wallet/index/recharge/index.html
application/plugins/view/wallet/index/recharge/index.html
+57
-8
application/plugins/view/wallet/index/wallet/index.html
application/plugins/view/wallet/index/wallet/index.html
+63
-4
application/plugins/wallet/Hook.php
application/plugins/wallet/Hook.php
+1
-1
application/plugins/wallet/install.sql
application/plugins/wallet/install.sql
+8
-8
application/plugins/wallet/uninstall.sql
application/plugins/wallet/uninstall.sql
+4
-4
application/plugins/weixinwebauthorization/install.sql
application/plugins/weixinwebauthorization/install.sql
+1
-1
application/plugins/weixinwebauthorization/uninstall.sql
application/plugins/weixinwebauthorization/uninstall.sql
+1
-1
application/service/OrderService.php
application/service/OrderService.php
+9
-0
application/service/PluginsAdminService.php
application/service/PluginsAdminService.php
+20
-10
application/service/SqlconsoleService.php
application/service/SqlconsoleService.php
+5
-1
public/static/admin/default/css/order.css
public/static/admin/default/css/order.css
+14
-0
public/static/admin/default/css/pluginsadmin.css
public/static/admin/default/css/pluginsadmin.css
+18
-1
public/static/admin/default/js/pluginsadmin.js
public/static/admin/default/js/pluginsadmin.js
+9
-0
public/static/common/js/common.js
public/static/common/js/common.js
+71
-71
public/static/index/default/css/goods.css
public/static/index/default/css/goods.css
+2
-2
未找到文件。
application/admin/controller/Order.php
浏览文件 @
22c37242
...
...
@@ -81,6 +81,7 @@ class Order extends Common
'm'
=>
$page
->
GetPageStarNumber
(),
'n'
=>
$number
,
'where'
=>
$where
,
'is_public'
=>
0
,
);
$data
=
OrderService
::
OrderList
(
$data_params
);
$this
->
assign
(
'data_list'
,
$data
[
'data'
]);
...
...
application/admin/view/default/goods/save_info.html
浏览文件 @
22c37242
...
...
@@ -67,18 +67,17 @@
<select
name=
"category_id"
class=
"am-radius chosen-select c-p"
multiple=
"multiple"
minchecked=
"1"
data-placeholder=
"请选择..."
data-validation-message=
"请至少选择一个商品分类"
required
>
{{if !empty($category_list)}}
{{foreach $category_list as $v}}
<optgroup
label=
"{{$v.name}}"
>
{{if !empty($v['items'])}}
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 30px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vs
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
二级-{{$vs.name}}
</option>
{{if !empty($vs['items'])}}
{{foreach $vs.items as $vss}}
<option
style=
"padding-left: 60px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vss
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
三级-{{$vss.name}}
</option>
{{/foreach}}
{{/if}}
{{/foreach}}
{{/if}}
</optgroup>
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
v
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
一级 - {{$v.name}}
</option>
{{if !empty($v['items'])}}
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 30px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vs
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
二级-{{$vs.name}}
</option>
{{if !empty($vs['items'])}}
{{foreach $vs.items as $vss}}
<option
style=
"padding-left: 60px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vss
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
三级-{{$vss.name}}
</option>
{{/foreach}}
{{/if}}
{{/foreach}}
{{/if}}
{{/foreach}}
{{/if}}
</select>
...
...
application/admin/view/default/order/index.html
浏览文件 @
22c37242
...
...
@@ -111,11 +111,12 @@
<thead>
<tr>
<th
class=
"am-hide-sm-only th-goods"
>
基础信息
</th>
<th
class=
"am-hide-md-down"
>
用户信息
</th>
<th
class=
"am-hide-sm-only th-receive-address"
>
收件信息
</th>
<th
class=
"am-hide-
sm-only
"
>
快递信息
</th>
<th
class=
"am-hide-
md-down
"
>
快递信息
</th>
<th>
订单状态
</th>
<th>
订单金额(元)
</th>
<th>
扩展数据
</th>
<th
class=
"am-hide-sm-only"
>
扩展数据
</th>
<th>
更多
</th>
<th>
操作
</th>
</tr>
...
...
@@ -123,7 +124,7 @@
<tbody>
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
>
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
pay_status
']
eq
1
and
$
v
['
total_price
']
gt
$
v
['
pay_price
']}}
class=
"am-danger"
{{/
if
}}
>
<td
class=
"am-hide-sm-only"
>
<div
class=
"order-no"
>
{{$v.order_no}}
</div>
{{foreach $v.items as $vs}}
...
...
@@ -149,6 +150,19 @@
{{/foreach}}
<div
class=
"goods-item"
>
{{$v.describe}}
</div>
</td>
<td
class=
"user-info am-hide-md-down"
>
{{if !empty($v['user'])}}
<img
src=
"{{$v.user.avatar}}"
alt=
"{{$v.user.user_name_view}}"
class=
"am-img-thumbnail am-radius am-align-left"
/>
<ul
class=
"user-base"
>
<li>
名称:{{if empty($v['user']['username'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.username}}{{/if}}
</li>
<li>
昵称:{{if empty($v['user']['nickname'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.nickname}}{{/if}}
</li>
<li>
手机:{{if empty($v['user']['mobile'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.mobile}}{{/if}}
</li>
<li>
邮箱:{{if empty($v['user']['email'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.email}}{{/if}}
</li>
</ul>
{{else /}}
用户信息异常
{{/if}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.receive_name}}
<br
/>
{{$v.receive_tel}}
<br
/>
...
...
@@ -157,7 +171,7 @@
{{$v.receive_county_name}}
<br
/>
{{$v.receive_address}}
</td>
<td
class=
"am-hide-
sm-only
"
>
<td
class=
"am-hide-
md-down
"
>
{{if empty($v['express_name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}
...
...
@@ -186,7 +200,7 @@
支付:{{$v.pay_price}}
<br
/>
退款:{{if $v['refund_price'] gt 0}}
<span
class=
"am-text-danger"
>
{{$v.refund_price}}
</span>
{{else /}}{{$v.refund_price}}{{/if}}
</td>
<td>
<td
class=
"am-hide-sm-only"
>
{{if empty($v['extension_data'])}}
<span
class=
"cr-ddd"
>
无
</span>
{{else /}}
...
...
@@ -242,6 +256,21 @@
<div
class=
"goods-item"
>
{{$v.describe}}
</div>
</dd>
<dt>
用户信息
</dt>
<dd
class=
"user-info"
>
{{if !empty($v['user'])}}
<img
src=
"{{$v.user.avatar}}"
alt=
"{{$v.user.user_name_view}}"
class=
"am-img-thumbnail am-radius am-align-left"
/>
<ul
class=
"user-base"
>
<li>
名称:{{if empty($v['user']['username'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.username}}{{/if}}
</li>
<li>
昵称:{{if empty($v['user']['nickname'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.nickname}}{{/if}}
</li>
<li>
手机:{{if empty($v['user']['mobile'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.mobile}}{{/if}}
</li>
<li>
邮箱:{{if empty($v['user']['email'])}}
<span
class=
"cr-ccc"
>
未填写
</span>
{{else /}}{{$v.user.email}}{{/if}}
</li>
</ul>
{{else /}}
用户信息异常
{{/if}}
</dd>
<dt>
收件信息
</dt>
<dd>
{{if empty($v['receive_address'])}}
...
...
application/admin/view/default/pluginsadmin/index.html
浏览文件 @
22c37242
...
...
@@ -16,7 +16,7 @@
<!-- operation end -->
{{if !empty($data_list)}}
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-
2 am-avg-md-3 am-avg-lg-4
am-gallery-bordered"
data-am-gallery=
"{}"
>
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-
1 am-avg-md-2 am-avg-lg-3
am-gallery-bordered"
data-am-gallery=
"{}"
>
{{foreach $data_list as $v}}
<li>
<div
id=
"data-list-{{$v.id}}"
class=
"am-gallery-item {{if $v['is_enable'] neq 1}}am-active{{/if}}"
>
...
...
@@ -35,9 +35,7 @@
{{/if}}
<a
href=
"{{:PluginsAdminUrl($v['plugins'], 'admin', 'index')}}"
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-gear"
title=
"设置"
></a>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-remove submit-ajax"
data-url=
"{{:MyUrl('admin/pluginsadmin/delete')}}"
data-id=
"{{$v.id}}"
data-view=
"reload"
data-msg=
"删除后不可恢复、确认操作吗?"
title=
"删除"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-remove submit-delete-modal"
data-url=
"{{:MyUrl('admin/pluginsadmin/delete')}}"
data-id=
"{{$v.id}}"
title=
"删除"
></button>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:MyUrl('admin/pluginsadmin/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_enable']}}"
data-is-update-status=
"1"
title=
"状态"
></a>
{{if isset($v['is_home']) and $v['is_home'] eq true}}
...
...
@@ -54,6 +52,27 @@
{{$page_html|raw}}
{{/if}}
<!-- page end -->
<div
class=
"am-modal am-modal-no-btn"
tabindex=
"-1"
id=
"plugins-delete-modal"
>
<div
class=
"am-modal-dialog"
>
<div
class=
"am-modal-hd"
>
<a
href=
"javascript: void(0)"
class=
"am-close am-close-spin"
data-am-modal-close
>
×
</a>
</div>
<div
class=
"am-modal-bd am-margin-top-sm"
>
<div
class=
"am-alert am-text-left"
data-am-alert
>
<p>
1. 仅删除应用
<span
class=
"am-text-warning"
>
(仅删除应用代码,保留应用数据)
</span></p>
<p>
2. 删除应用并删除数据
<span
class=
"am-text-warning"
>
(将删除应用代码和应用数据)
</span></p>
</div>
<p
class=
"am-text-danger am-margin-top"
>
PS:以下操作后均不可恢复,请谨慎操作!
</p>
<div
class=
"am-margin-top-sm"
>
<button
class=
"am-btn am-btn-danger am-btn-xs am-radius am-icon-circle-o submit-ajax"
data-url=
"{{:MyUrl('admin/pluginsadmin/delete')}}"
data-id=
"0"
data-value=
"1"
data-view=
"reload"
data-msg=
"删除后不可恢复、确认操作吗?"
title=
"删除"
>
删除应用和数据
</button>
<button
class=
"am-btn am-btn-warning am-btn-xs am-radius am-icon-remove submit-ajax"
data-url=
"{{:MyUrl('admin/pluginsadmin/delete')}}"
data-id=
"0"
data-value=
"0"
data-view=
"reload"
data-msg=
"删除后不可恢复、确认操作吗?"
title=
"删除"
>
仅删除应用
</button>
<button
class=
"am-btn am-btn-success am-btn-xs am-radius am-icon-reply"
data-am-modal-close
>
再考虑一下
</button>
</div>
</div>
</div>
</div>
{{else /}}
<div
colspan=
"20"
class=
"table-no"
>
还没有相关应用
<div>
{{/if}}
...
...
application/index/view/default/goods/index.html
浏览文件 @
22c37242
...
...
@@ -481,7 +481,9 @@
<a
href=
"{{:$v['goods_url']}}"
>
<img
alt=
"{{$v.title}}"
src=
"{{$v.home_recommended_images}}"
/>
</a>
<p
class=
"am-text-truncate"
{{
if
!
empty
($
v.title_color
)}}
style=
"color:{{$v.title_color}};"
{{/
if
}}
>
{{$v.title}}
</p>
<a
href=
"{{:$v['goods_url']}}"
>
<p
class=
"am-text-truncate"
{{
if
!
empty
($
v.title_color
)}}
style=
"color:{{$v.title_color}};"
{{/
if
}}
>
{{$v.title}}
</p>
</a>
<p
class=
"price fl"
>
<strong>
¥{{$v.price}}
</strong>
</p>
...
...
application/plugins/answers/install.sql
浏览文件 @
22c37242
#
问答系统商品
-
应用
CREATE
TABLE
`
s_
plugins_answers_goods`
(
CREATE
TABLE
`
{PREFIX}
plugins_answers_goods`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`goods_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'商品id'
,
`add_time`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'添加时间'
,
PRIMARY
KEY
(
`id`
),
KEY
`goods_id`
(
`goods_id`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'问答系统商品 - 应用'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'问答系统商品 - 应用'
;
#
问答系统轮播图
-
应用
CREATE
TABLE
`
s_
plugins_answers_slide`
(
CREATE
TABLE
`
{PREFIX}
plugins_answers_slide`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`name`
char
(
60
)
NOT
NULL
DEFAULT
''
COMMENT
'别名'
,
`images_url`
char
(
255
)
NOT
NULL
DEFAULT
''
COMMENT
'图片地址'
,
...
...
@@ -20,4 +20,4 @@ CREATE TABLE `s_plugins_answers_slide` (
PRIMARY
KEY
(
`id`
),
KEY
`is_enable`
(
`is_enable`
),
KEY
`sort`
(
`sort`
)
)
ENGINE
=
InnoDB
AUTO_INCREMENT
=
1
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'问答系统轮播图 - 应用'
;
\ No newline at end of file
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'问答系统轮播图 - 应用'
;
\ No newline at end of file
application/plugins/answers/uninstall.sql
浏览文件 @
22c37242
#
问答系统商品
-
应用
DROP
TABLE
`
s_
plugins_answers_goods`
;
DROP
TABLE
`
{PREFIX}
plugins_answers_goods`
;
#
问答系统轮播图
-
应用
DROP
TABLE
`s_plugins_answers_slide`
;
\ No newline at end of file
DROP
TABLE
`{PREFIX}plugins_answers_slide`
;
\ No newline at end of file
application/plugins/membershiplevel/Hook.php
浏览文件 @
22c37242
...
...
@@ -58,10 +58,7 @@ class Hook extends Controller
// 商品数据处理后
case
'plugins_service_goods_handle_end'
:
if
(
!
empty
(
$params
[
'goods'
][
'id'
])
&&
!
empty
(
$input
[
'id'
])
&&
$params
[
'goods'
][
'id'
]
==
$input
[
'id'
]
&&
$module_name
.
$controller_name
.
$action_name
==
'indexgoodsindex'
)
{
$this
->
GoodsHandleEnd
(
$params
[
'goods'
]);
}
$this
->
GoodsHandleEnd
(
$params
[
'goods'
]);
break
;
// 商品规格基础数据
...
...
@@ -165,6 +162,16 @@ class Hook extends Controller
$goods
[
'price'
]
=
Service
::
PriceCalculate
(
$goods
[
'price'
],
$level
[
'discount_rate'
],
0
);
$price_title
=
empty
(
$level
[
'name'
])
?
'会员价'
:
$level
[
'name'
];
$goods
[
'show_field_price_text'
]
=
'<span class="plugins-membershiplevel-goods-price-icon" title="'
.
$price_title
.
'">'
.
$price_title
.
'</span>'
;
// 最低价最高价
if
(
isset
(
$goods
[
'min_price'
]))
{
$goods
[
'min_price'
]
=
Service
::
PriceCalculate
(
$goods
[
'min_price'
],
$level
[
'discount_rate'
],
0
);
}
if
(
isset
(
$goods
[
'max_price'
]))
{
$goods
[
'max_price'
]
=
Service
::
PriceCalculate
(
$goods
[
'max_price'
],
$level
[
'discount_rate'
],
0
);
}
}
}
...
...
application/plugins/share/Hook.php
浏览文件 @
22c37242
...
...
@@ -70,18 +70,24 @@ class Hook extends Controller
*/
private
function
GoodsPhotoBottom
(
$params
=
[])
{
// html
$html
=
'<div class="am-dropdown plugins-goods-share-view" data-am-dropdown>'
;
$html
.
=
'<a href="javascript:;" class="am-dropdown-toggle am-icon-share-alt" data-am-dropdown-toggle> 分享</a>'
;
$html
.
=
'<div class="am-dropdown-content plugins-share-view"'
;
// 默认图片
if
(
!
empty
(
$params
[
'goods'
][
'photo'
][
0
][
'images'
]))
// 获取应用数据
$ret
=
PluginsService
::
PluginsData
(
'share'
,
[
'pic'
]);
if
(
$ret
[
'code'
]
==
0
&&
isset
(
$ret
[
'data'
][
'is_goods_detail'
])
&&
$ret
[
'data'
][
'is_goods_detail'
]
==
1
)
{
$html
.
=
' data-pic="'
.
$params
[
'goods'
][
'photo'
][
0
][
'images'
]
.
'"'
;
}
// html
$html
=
'<div class="am-dropdown plugins-goods-share-view" data-am-dropdown>'
;
$html
.
=
'<a href="javascript:;" class="am-dropdown-toggle am-icon-share-alt" data-am-dropdown-toggle> 分享</a>'
;
$html
.
=
'<div class="am-dropdown-content plugins-share-view"'
;
return
$html
.
'></div></div>'
;
// 默认图片
if
(
!
empty
(
$params
[
'goods'
][
'photo'
][
0
][
'images'
]))
{
$html
.
=
' data-pic="'
.
$params
[
'goods'
][
'photo'
][
0
][
'images'
]
.
'"'
;
}
return
$html
.
'></div></div>'
;
}
return
''
;
}
/**
...
...
application/plugins/share/admin/Admin.php
浏览文件 @
22c37242
...
...
@@ -22,6 +22,12 @@ use app\service\PluginsService;
*/
class
Admin
extends
Controller
{
// 是否开启
private
$share_is_enable_list
=
[
0
=>
[
'value'
=>
0
,
'name'
=>
'关闭'
,
'checked'
=>
true
],
1
=>
[
'value'
=>
1
,
'name'
=>
'开启'
],
];
/**
* 首页
* @author Devil
...
...
@@ -35,6 +41,9 @@ class Admin extends Controller
$ret
=
PluginsService
::
PluginsData
(
'share'
,
[
'pic'
]);
if
(
$ret
[
'code'
]
==
0
)
{
// 是否开启
$this
->
assign
(
'share_is_enable_list'
,
$this
->
share_is_enable_list
);
$this
->
assign
(
'data'
,
$ret
[
'data'
]);
return
$this
->
fetch
(
'../../../plugins/view/share/admin/admin/index'
);
}
else
{
...
...
@@ -55,6 +64,9 @@ class Admin extends Controller
$ret
=
PluginsService
::
PluginsData
(
'share'
,
[
'pic'
]);
if
(
$ret
[
'code'
]
==
0
)
{
// 是否开启
$this
->
assign
(
'share_is_enable_list'
,
$this
->
share_is_enable_list
);
$this
->
assign
(
'data'
,
$ret
[
'data'
]);
return
$this
->
fetch
(
'../../../plugins/view/share/admin/admin/saveinfo'
);
}
else
{
...
...
application/plugins/view/share/admin/admin/index.html
浏览文件 @
22c37242
...
...
@@ -71,6 +71,17 @@
</div>
</div>
<div
class=
"items am-padding-sm"
>
<label>
商品详情页面展示分享
</label>
<div>
{{if isset($data['is_goods_detail']) and isset($share_is_enable_list[$data['is_goods_detail']])}}
{{$share_is_enable_list[$data['is_goods_detail']]['name']}}
{{else /}}
未设置,默认[ 关闭 ]
{{/if}}
</div>
</div>
<a
href=
"{{:PluginsAdminUrl('share', 'admin', 'saveinfo')}}"
class=
"am-btn am-btn-secondary am-radius btn-loading-example am-btn-sm am-btn-block edit-submit"
>
编辑
</a>
</div>
</div>
...
...
application/plugins/view/share/admin/admin/saveinfo.html
浏览文件 @
22c37242
...
...
@@ -47,6 +47,17 @@
<div
class=
"plug-file-upload-submit"
data-view-tag=
"ul.plugins-pic-view"
>
+上传图片
</div>
</div>
<div
class=
"am-form-group"
>
<label>
商品详情页面展示分享
<span
class=
"am-form-group-label-tips"
>
开启后商品详情左侧相册下将展示分享功能,默认关闭
</span></label>
<div>
{{foreach $share_is_enable_list as $v}}
<label
class=
"am-radio-inline m-r-10"
>
<input
type=
"radio"
name=
"is_goods_detail"
value=
"{{$v.value}}"
{{
if
isset
($
data
['
is_goods_detail
'])
and
$
data
['
is_goods_detail
']
eq
$
v
['
value
']}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_goods_detail
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
</div>
<div
class=
"am-form-group am-form-group-refreshing"
>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block"
data-am-loading=
"{loadingText:'处理中...'}"
>
保存
</button>
</div>
...
...
application/plugins/view/wallet/index/cash/index.html
浏览文件 @
22c37242
...
...
@@ -78,8 +78,9 @@
<th
class=
"am-hide-sm-only"
>
提现信息
</th>
<th>
收款信息
</th>
<th>
打款信息
</th>
<th
class=
"am-hide-sm-only"
>
备注
</th>
<th
class=
"am-hide-sm-only"
>
申请时间
</th>
<th
class=
"am-hide-md-down"
>
备注
</th>
<th
class=
"am-hide-md-down"
>
申请时间
</th>
<th>
更多
</th>
</tr>
</thead>
<tbody>
...
...
@@ -93,7 +94,7 @@
<td>
银行:{{$v.bank_name}}
<br
/>
账号:{{$v.bank_accounts}}
<br
/>
姓名:{{$v.bank_username}}
<br
/>
姓名:{{$v.bank_username}}
</td>
<td>
{{$v.status_text}}
<br
/>
...
...
@@ -104,8 +105,53 @@
时间:{{$v.pay_time_text}}
{{/if}}
</td>
<td
class=
"am-hide-sm-only operation-msg"
>
{{$v.msg}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time_text}}
</td>
<td
class=
"am-hide-md-down operation-msg"
>
{{$v.msg}}
</td>
<td
class=
"am-hide-md-down"
>
{{$v.add_time_text}}
</td>
<td>
<span
class=
"am-icon-caret-down c-p"
data-am-modal=
"{target: '#my-popup{{$v.id}}'}"
>
查看更多
</span>
<div
class=
"am-popup am-radius"
id=
"my-popup{{$v.id}}"
>
<div
class=
"am-popup-inner"
>
<div
class=
"am-popup-hd"
>
<h4
class=
"am-popup-title"
>
详情内容
</h4>
<span
data-am-modal-close
class=
"am-close"
>
×
</span>
</div>
<div
class=
"am-popup-bd"
>
<dl
class=
"dl-content"
>
<dt>
提现信息
</dt>
<dd>
单号:{{$v.cash_no}}
<br
/>
金额:
<span
class=
"money-bold cash-money"
>
{{$v.money}}
</span>
元
</dd>
<dt>
收款信息
</dt>
<dd>
银行:{{$v.bank_name}}
<br
/>
账号:{{$v.bank_accounts}}
<br
/>
姓名:{{$v.bank_username}}
</dd>
<dt>
打款信息
</dt>
<dd>
{{$v.status_text}}
<br
/>
{{if $v['pay_money'] gt 0}}
金额:
<span
class=
"money-bold money"
>
{{$v.pay_money}}
</span>
元
<br
/>
{{/if}}
{{if !empty($v['pay_time_text'])}}
时间:{{$v.pay_time_text}}
{{/if}}
</dd>
<dt>
备注
</dt>
<dd>
{{$v.msg}}
</dd>
<dt>
申请时间
</dt>
<dd>
{{$v.add_time_text}}
</dd>
</dl>
</div>
</div>
</div>
</td>
</tr>
{{/foreach}}
{{/if}}
...
...
application/plugins/view/wallet/index/recharge/index.html
浏览文件 @
22c37242
...
...
@@ -42,13 +42,14 @@
<table
class=
"am-table am-table-striped"
>
<thead>
<tr>
<th
class=
"am-hide-
sm-only
"
>
充值单号
</th>
<th
class=
"am-hide-
md-down
"
>
充值单号
</th>
<th>
充值金额(元)
</th>
<th
class=
"am-hide-sm-only"
>
支付金额(元)
</th>
<th>
状态
</th>
<th
class=
"am-hide-sm-only"
>
支付方式
</th>
<th
class=
"am-hide-sm-only"
>
支付时间
</th>
<th
class=
"am-hide-sm-only"
>
创建时间
</th>
<th
class=
"am-hide-md-down"
>
支付时间
</th>
<th
class=
"am-hide-md-down"
>
创建时间
</th>
<th>
更多
</th>
<th>
操作
</th>
</tr>
</thead>
...
...
@@ -56,13 +57,61 @@
{{if !empty($data_list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
>
<td
class=
"am-hide-sm-only"
>
{{$v.recharge_no}}
</td>
<td
class=
"money-bold"
>
{{$v.money}}
</td>
<td
class=
"am-hide-sm-only money-bold money"
>
{{if $v['pay_money'] gt 0}}{{$v.pay_money}}{{/if}}
</td>
<td
class=
"am-hide-md-down"
>
{{$v.recharge_no}}
</td>
<td>
<span
class=
"money-bold"
>
{{$v.money}}
</span>
</td>
<td
class=
"am-hide-sm-only"
>
{{if $v['pay_money'] gt 0}}
<span
class=
"money-bold money"
>
{{$v.pay_money}}
</span>
{{/if}}
</td>
<td>
{{$v.status_text}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.payment_name}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.pay_time_text}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time_text}}
</td>
<td
class=
"am-hide-md-down"
>
{{$v.pay_time_text}}
</td>
<td
class=
"am-hide-md-down"
>
{{$v.add_time_text}}
</td>
<td>
<span
class=
"am-icon-caret-down c-p"
data-am-modal=
"{target: '#my-popup{{$v.id}}'}"
>
查看更多
</span>
<div
class=
"am-popup am-radius"
id=
"my-popup{{$v.id}}"
>
<div
class=
"am-popup-inner"
>
<div
class=
"am-popup-hd"
>
<h4
class=
"am-popup-title"
>
详情内容
</h4>
<span
data-am-modal-close
class=
"am-close"
>
×
</span>
</div>
<div
class=
"am-popup-bd"
>
<dl
class=
"dl-content"
>
<dt>
充值单号
</dt>
<dd>
{{$v.recharge_no}}
</dd>
<dt>
充值金额(元)
</dt>
<dd>
<span
class=
"money-bold"
>
{{$v.money}}
</span>
</dd>
<dt>
支付金额(元)
</dt>
<dd>
{{if $v['pay_money'] gt 0}}
<span
class=
"money-bold money"
>
{{$v.pay_money}}
</span>
{{/if}}
</dd>
<dt>
状态
</dt>
<dd>
{{$v.status_text}}
</dd>
<dt>
支付方式
</dt>
<dd>
{{$v.payment_name}}
</dd>
<dt>
支付时间
</dt>
<dd>
{{$v.pay_time_text}}
</dd>
<dt>
创建时间
</dt>
<dd>
{{$v.add_time_text}}
</dd>
</dl>
</div>
</div>
</div>
</td>
<td>
{{if $v['status'] eq 0}}
<button
class=
"am-btn am-btn-success am-btn-xs am-radius am-icon-shield recharge-submit"
data-value=
"{{$v.id}}"
data-recharge-no=
"{{$v.recharge_no}}"
data-money=
"{{$v.money}}"
>
支付
</button>
...
...
application/plugins/view/wallet/index/wallet/index.html
浏览文件 @
22c37242
...
...
@@ -87,8 +87,9 @@
<th>
操作金额(元)
</th>
<th
class=
"am-hide-sm-only"
>
原始金额(元)
</th>
<th>
最新金额(元)
</th>
<th
class=
"am-hide-sm-only"
>
变更说明
</th>
<th
class=
"am-hide-sm-only"
>
操作时间
</th>
<th
class=
"am-hide-md-down"
>
变更说明
</th>
<th
class=
"am-hide-md-down"
>
操作时间
</th>
<th>
更多
</th>
</tr>
</thead>
<tbody>
...
...
@@ -118,8 +119,66 @@
<td>
<span
class=
"money-bold"
>
{{$v.latest_money}}
</span>
</td>
<td
class=
"am-hide-sm-only operation-msg"
>
{{$v.msg|raw}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time_text}}
</td>
<td
class=
"am-hide-md-down operation-msg"
>
{{$v.msg|raw}}
</td>
<td
class=
"am-hide-md-down"
>
{{$v.add_time_text}}
</td>
<td>
<span
class=
"am-icon-caret-down c-p"
data-am-modal=
"{target: '#my-popup{{$v.id}}'}"
>
查看更多
</span>
<div
class=
"am-popup am-radius"
id=
"my-popup{{$v.id}}"
>
<div
class=
"am-popup-inner"
>
<div
class=
"am-popup-hd"
>
<h4
class=
"am-popup-title"
>
详情内容
</h4>
<span
data-am-modal-close
class=
"am-close"
>
×
</span>
</div>
<div
class=
"am-popup-bd"
>
<dl
class=
"dl-content"
>
<dt>
业务类型
</dt>
<dd>
{{$v.business_type_text}}
</dd>
<dt>
操作类型
</dt>
<dd>
{{if $v['operation_type'] eq 0}}
<span
class=
"operation-reduce-icon"
>
{{$v.operation_type_text}}
</span>
{{elseif $v['operation_type'] eq 1}}
<span
class=
"operation-increase-icon"
>
{{$v.operation_type_text}}
</span>
{{/if}}
</dd>
<dt>
金额类型
</dt>
<dd>
{{$v.money_type_text}}
</dd>
<dt>
操作金额(元)
</dt>
<dd>
{{if $v['operation_type'] eq 0}}
<span
class=
"operation-reduce-icon"
>
-
</span>
{{elseif $v['operation_type'] eq 1}}
<span
class=
"operation-increase-icon"
>
+
</span>
{{/if}}
<span
class=
"money-bold money"
>
{{$v.operation_money}}
</span>
</dd>
<dt>
原始金额(元)
</dt>
<dd>
<span
class=
"money-bold"
>
{{$v.original_money}}
</span>
</dd>
<dt>
最新金额(元)
</dt>
<dd>
<span
class=
"money-bold"
>
{{$v.latest_money}}
</span>
</dd>
<dt>
变更说明
</dt>
<dd>
{{$v.msg|raw}}
</dd>
<dt>
操作时间
</dt>
<dd>
{{$v.add_time_text}}
</dd>
</dl>
</div>
</div>
</div>
</td>
</tr>
{{/foreach}}
{{/if}}
...
...
application/plugins/wallet/Hook.php
浏览文件 @
22c37242
...
...
@@ -67,7 +67,7 @@ class Hook extends Controller
$params
[
'data'
][
'property'
][
'item'
][]
=
[
'name'
=>
'我的钱包'
,
'url'
=>
PluginsHomeUrl
(
'wallet'
,
'wallet'
,
'index'
),
'contains'
=>
[
'walletindex'
,
'rechargeindex'
,
'cashindex'
],
'contains'
=>
[
'walletindex'
,
'rechargeindex'
,
'cashindex'
,
'cashauthinfo'
,
'cashcreateinfo'
],
'is_show'
=>
1
,
'icon'
=>
'am-icon-google-wallet'
,
];
...
...
application/plugins/wallet/install.sql
浏览文件 @
22c37242
#
钱包
CREATE
TABLE
`
s_
plugins_wallet`
(
CREATE
TABLE
`
{PREFIX}
plugins_wallet`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`user_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'用户id'
,
`status`
tinyint
(
2
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'状态(0正常, 1异常, 2已注销)'
,
...
...
@@ -11,10 +11,10 @@ CREATE TABLE `s_plugins_wallet` (
PRIMARY
KEY
(
`id`
),
KEY
`status`
(
`status`
),
KEY
`user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包 - 应用'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包 - 应用'
;
#
钱包日志
CREATE
TABLE
`
s_
plugins_wallet_log`
(
CREATE
TABLE
`
{PREFIX}
plugins_wallet_log`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`user_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'用户id'
,
`wallet_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'钱包id'
,
...
...
@@ -29,10 +29,10 @@ CREATE TABLE `s_plugins_wallet_log` (
PRIMARY
KEY
(
`id`
),
KEY
`wallet_id`
(
`wallet_id`
),
KEY
`user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包日志 - 应用'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包日志 - 应用'
;
#
充值
CREATE
TABLE
`
s_
plugins_wallet_recharge`
(
CREATE
TABLE
`
{PREFIX}
plugins_wallet_recharge`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`user_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'用户id'
,
`wallet_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'钱包id'
,
...
...
@@ -49,10 +49,10 @@ CREATE TABLE `s_plugins_wallet_recharge` (
UNIQUE
KEY
`recharge_no`
(
`recharge_no`
),
KEY
`status`
(
`status`
),
KEY
`user_id`
(
`user_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包充值 - 应用'
;
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包充值 - 应用'
;
#
钱包提现
CREATE
TABLE
`
s_
plugins_wallet_cash`
(
CREATE
TABLE
`
{PREFIX}
plugins_wallet_cash`
(
`id`
int
(
11
)
unsigned
NOT
NULL
AUTO_INCREMENT
COMMENT
'自增id'
,
`user_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'用户id'
,
`wallet_id`
int
(
11
)
unsigned
NOT
NULL
DEFAULT
'0'
COMMENT
'钱包id'
,
...
...
@@ -72,4 +72,4 @@ CREATE TABLE `s_plugins_wallet_cash` (
KEY
`status`
(
`status`
),
KEY
`user_id`
(
`user_id`
),
KEY
`wallet_id`
(
`wallet_id`
)
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
utf8mb4
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包提现 - 应用'
;
\ No newline at end of file
)
ENGINE
=
InnoDB
DEFAULT
CHARSET
=
{
CHARSET
}
ROW_FORMAT
=
DYNAMIC
COMMENT
=
'钱包提现 - 应用'
;
\ No newline at end of file
application/plugins/wallet/uninstall.sql
浏览文件 @
22c37242
#
钱包
-
应用
DROP
TABLE
`
s_
plugins_wallet`
;
DROP
TABLE
`
{PREFIX}
plugins_wallet`
;
#
充值
-
应用
DROP
TABLE
`
s_
plugins_wallet_recharge`
;
DROP
TABLE
`
{PREFIX}
plugins_wallet_recharge`
;
#
钱包日志
-
应用
DROP
TABLE
`
s_
plugins_wallet_log`
;
DROP
TABLE
`
{PREFIX}
plugins_wallet_log`
;
#
钱包提现
-
应用
DROP
TABLE
`s_plugins_wallet_cash`
;
\ No newline at end of file
DROP
TABLE
`{PREFIX}plugins_wallet_cash`
;
\ No newline at end of file
application/plugins/weixinwebauthorization/install.sql
浏览文件 @
22c37242
#
用户
ALTER
TABLE
`s_user`
add
`weixin_web_openid`
char
(
60
)
NOT
NULL
DEFAULT
''
COMMENT
'微信web用户openid'
after
`weixin_openid`
;
\ No newline at end of file
ALTER
TABLE
`{PREFIX}user`
add
`weixin_web_openid`
char
(
60
)
NOT
NULL
DEFAULT
''
COMMENT
'微信web用户openid'
after
`weixin_openid`
;
\ No newline at end of file
application/plugins/weixinwebauthorization/uninstall.sql
浏览文件 @
22c37242
#
用户
-
微信
web
用户
openid
ALTER
TABLE
`s_user`
drop
`weixin_web_openid`
;
\ No newline at end of file
ALTER
TABLE
`{PREFIX}user`
drop
`weixin_web_openid`
;
\ No newline at end of file
application/service/OrderService.php
浏览文件 @
22c37242
...
...
@@ -656,6 +656,15 @@ class OrderService
return
$ret
;
}
// 用户信息
if
(
isset
(
$v
[
'user_id'
]))
{
if
(
isset
(
$params
[
'is_public'
])
&&
$params
[
'is_public'
]
==
0
)
{
$v
[
'user'
]
=
UserService
::
GetUserViewInfo
(
$v
[
'user_id'
]);
}
}
// 客户端
$v
[
'client_type_name'
]
=
isset
(
$common_platform_type
[
$v
[
'client_type'
]])
?
$common_platform_type
[
$v
[
'client_type'
]][
'name'
]
:
''
;
...
...
application/service/PluginsAdminService.php
浏览文件 @
22c37242
...
...
@@ -312,15 +312,19 @@ class PluginsAdminService
$ret
=
self
::
PluginsHookDeployment
();
if
(
$ret
[
'code'
]
==
0
)
{
// sql运行
$
uninstall_sql
=
APP_PATH
.
'plugins'
.
DS
.
$plugins
.
DS
.
'uninstall.sql'
;
if
(
file_exists
(
$uninstall_sql
)
)
//
是否需要删除应用数据,
sql运行
$
is_delete_static
=
(
isset
(
$params
[
'value'
])
&&
$params
[
'value'
]
==
1
)
;
if
(
$is_delete_static
===
true
)
{
SqlconsoleService
::
Implement
([
'sql'
=>
file_get_contents
(
$uninstall_sql
)]);
$uninstall_sql
=
APP_PATH
.
'plugins'
.
DS
.
$plugins
.
DS
.
'uninstall.sql'
;
if
(
file_exists
(
$uninstall_sql
))
{
SqlconsoleService
::
Implement
([
'sql'
=>
file_get_contents
(
$uninstall_sql
)]);
}
}
// 删除应用文件
self
::
PluginsResourcesDelete
(
$plugins
);
self
::
PluginsResourcesDelete
(
$plugins
,
$is_delete_static
);
// 提交事务
Db
::
commit
();
...
...
@@ -342,18 +346,24 @@ class PluginsAdminService
* @version 1.0.0
* @date 2019-02-13
* @desc description
* @param [string] $plugins [唯一标记]
* @param [string] $plugins [唯一标记]
* @param [boolean] $is_delete_static [是否删除应用数据]
*/
private
static
function
PluginsResourcesDelete
(
$plugins
)
private
static
function
PluginsResourcesDelete
(
$plugins
,
$is_delete_static
=
false
)
{
\
base\FileUtil
::
UnlinkDir
(
APP_PATH
.
'plugins'
.
DS
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
APP_PATH
.
'plugins'
.
DS
.
'view'
.
DS
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'plugins'
.
DS
.
'css'
.
DS
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'plugins'
.
DS
.
'js'
.
DS
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'plugins'
.
DS
.
'images'
.
DS
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'images'
.
DS
.
'plugins_'
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'video'
.
DS
.
'plugins_'
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'file'
.
DS
.
'plugins_'
.
$plugins
);
// 是否需要删除应用数据
if
(
$is_delete_static
===
true
)
{
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'images'
.
DS
.
'plugins_'
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'video'
.
DS
.
'plugins_'
.
$plugins
);
\
base\FileUtil
::
UnlinkDir
(
ROOT
.
'public'
.
DS
.
'static'
.
DS
.
'upload'
.
DS
.
'file'
.
DS
.
'plugins_'
.
$plugins
);
}
}
/**
...
...
application/service/SqlconsoleService.php
浏览文件 @
22c37242
...
...
@@ -46,8 +46,12 @@ class SqlconsoleService
return
DataReturn
(
$ret
,
-
1
);
}
// 表前缀,编码替换
$sql
=
str_replace
(
'{PREFIX}'
,
config
(
'database.prefix'
),
$params
[
'sql'
]);
$sql
=
str_replace
(
'{CHARSET}'
,
config
(
'database.charset'
),
$sql
);
// 转为数组
$sql_all
=
preg_split
(
"/;[
\r\n
]+/"
,
$
params
[
'sql'
]
);
$sql_all
=
preg_split
(
"/;[
\r\n
]+/"
,
$
sql
);
$success
=
0
;
$failure
=
0
;
...
...
public/static/admin/default/css/order.css
浏览文件 @
22c37242
...
...
@@ -48,4 +48,18 @@ form.am-form .am-form-group { padding-right: 5px; }
@media
only
screen
and
(
max-width
:
640px
)
{
.business-item
ul
li
{
width
:
calc
(
50%
-
5px
);
}
.business-item
ul
li
:nth-child
(
2
n
)
{
margin-right
:
0
;
}
}
/**
* 用户信息
*/
.content-right
.user-info
img
{
max-width
:
35px
;
max-height
:
35px
;
margin
:
0
5px
2px
0
;
}
.content-right
ul
{
list-style
:
none
;
padding
:
0
;
margin
:
0
;
}
\ No newline at end of file
public/static/admin/default/css/pluginsadmin.css
浏览文件 @
22c37242
...
...
@@ -75,6 +75,7 @@
height
:
28px
;
border-radius
:
2px
;
font-size
:
12px
;
line-height
:
28px
;
}
.content
ul
.am-gallery-bordered
li
.submit-state.am-default
{
background-color
:
#e6e6e6
;
...
...
@@ -101,4 +102,20 @@
* 安装
*/
input
[
name
=
"file"
]
{
width
:
105px
!important
;
height
:
32px
;
}
input
.file-event
{
margin-top
:
0
!important
;
}
\ No newline at end of file
input
.file-event
{
margin-top
:
0
!important
;
}
/**
* 删除modal
*/
@media
only
screen
and
(
min-width
:
641px
)
{
#plugins-delete-modal
.am-modal-bd
button
.submit-ajax
{
margin-right
:
10px
;
}
}
@media
only
screen
and
(
max-width
:
641px
)
{
#plugins-delete-modal
.am-modal-bd
.am-btn
{
width
:
100%
;
display
:
block
;
margin-top
:
10px
;
}
}
\ No newline at end of file
public/static/admin/default/js/pluginsadmin.js
0 → 100644
浏览文件 @
22c37242
$
(
function
()
{
$
(
'
.submit-delete-modal
'
).
on
(
'
click
'
,
function
()
{
var
$modal
=
$
(
'
#plugins-delete-modal
'
);
$modal
.
find
(
'
button.submit-ajax
'
).
attr
(
'
data-id
'
,
$
(
this
).
data
(
'
id
'
));
$modal
.
modal
(
'
open
'
);
});
});
\ No newline at end of file
public/static/common/js/common.js
浏览文件 @
22c37242
...
...
@@ -241,7 +241,7 @@ function FromInit(form_name)
// 二选一校验
if
(
$
(
validity
.
field
).
is
(
'
.js-choice-one
'
))
{
var
tag
=
$
(
validity
.
field
).
data
(
'
choice-one-to
'
);
var
tag
=
$
(
validity
.
field
).
attr
(
'
data-
choice-one-to
'
);
if
(
typeof
(
$
(
validity
.
field
).
attr
(
'
required
'
))
==
'
undefined
'
&&
typeof
(
$
(
tag
).
attr
(
'
required
'
))
==
'
undefined
'
)
{
validity
.
valid
=
true
;
...
...
@@ -258,7 +258,7 @@ function FromInit(form_name)
{
// 错误信息
var
$field
=
$
(
validity
.
field
);
var
msg
=
$field
.
data
(
'
validationMessage
'
)
||
this
.
getValidationMessage
(
validity
);
var
msg
=
$field
.
attr
(
'
data-
validationMessage
'
)
||
this
.
getValidationMessage
(
validity
);
Prompt
(
msg
);
},
...
...
@@ -277,7 +277,7 @@ function FromInit(form_name)
editor
.
focus
();
// 错误信息
var
msg
=
$editor_tag
.
data
(
'
validationMessage
'
)
||
$editor_tag
.
getValidationMessage
(
validity
);
var
msg
=
$editor_tag
.
attr
(
'
data-
validationMessage
'
)
||
$editor_tag
.
getValidationMessage
(
validity
);
Prompt
(
msg
);
}
}
...
...
@@ -514,7 +514,7 @@ function Tree(id, url, level, is_add_node, is_delete_all)
{
html
=
(
id
!=
0
)
?
''
:
'
<table class="am-table am-table-striped am-table-hover">
'
;
is_add_node
=
is_add_node
||
0
;
var
is_astrict_rank
=
parseInt
(
$
(
'
#tree
'
).
data
(
'
rank
'
))
||
0
;
var
is_astrict_rank
=
parseInt
(
$
(
'
#tree
'
).
attr
(
'
data-
rank
'
))
||
0
;
for
(
var
i
in
result
.
data
)
{
// 获取class
...
...
@@ -608,7 +608,7 @@ function ImageFileUploadShow(class_name, show_img, default_images)
{
$
(
document
).
on
(
"
change
"
,
class_name
,
function
(
imgFile
)
{
show_img
=
$
(
this
).
data
(
'
image-tag
'
)
||
null
;
show_img
=
$
(
this
).
attr
(
'
data-
image-tag
'
)
||
null
;
var
status
=
false
;
if
((
imgFile
.
target
.
value
||
null
)
!=
null
)
{
...
...
@@ -632,7 +632,7 @@ function ImageFileUploadShow(class_name, show_img, default_images)
}
}
}
var
default_img
=
$
(
show_img
).
data
(
'
default
'
)
||
null
;
var
default_img
=
$
(
show_img
).
attr
(
'
data-
default
'
)
||
null
;
if
(
status
==
false
&&
((
default_images
||
null
)
!=
null
||
default_img
!=
null
))
{
$
(
show_img
).
attr
(
'
src
'
,
default_images
||
default_img
);
...
...
@@ -650,7 +650,7 @@ function VideoFileUploadShow(class_name, show_video, default_video)
{
$
(
document
).
on
(
"
change
"
,
class_name
,
function
(
imgFile
)
{
show_video
=
$
(
this
).
data
(
'
video-tag
'
)
||
null
;
show_video
=
$
(
this
).
attr
(
'
data-
video-tag
'
)
||
null
;
var
status
=
false
;
if
((
imgFile
.
target
.
value
||
null
)
!=
null
)
{
...
...
@@ -674,7 +674,7 @@ function VideoFileUploadShow(class_name, show_video, default_video)
}
}
}
var
default_video
=
$
(
show_video
).
data
(
'
default
'
)
||
null
;
var
default_video
=
$
(
show_video
).
attr
(
'
data-
default
'
)
||
null
;
if
(
status
==
false
&&
((
default_video
||
null
)
!=
null
||
default_video
!=
null
))
{
$
(
show_video
).
attr
(
'
src
'
,
default_video
||
default_video
);
...
...
@@ -789,11 +789,11 @@ function FomatFloat(value, pos)
*/
function
DataDelete
(
e
)
{
var
id
=
e
.
data
(
'
id
'
);
var
url
=
e
.
data
(
'
url
'
);
var
view
=
e
.
data
(
'
view
'
)
||
'
delete
'
;
var
value
=
e
.
data
(
'
value
'
)
||
null
;
var
ext_delete_tag
=
e
.
data
(
'
ext-delete-tag
'
)
||
null
;
var
id
=
e
.
attr
(
'
data-
id
'
);
var
url
=
e
.
attr
(
'
data-
url
'
);
var
view
=
e
.
attr
(
'
data-
view
'
)
||
'
delete
'
;
var
value
=
e
.
attr
(
'
data-
value
'
)
||
null
;
var
ext_delete_tag
=
e
.
attr
(
'
data-
ext-delete-tag
'
)
||
null
;
if
((
id
||
null
)
==
null
||
(
url
||
null
)
==
null
)
{
...
...
@@ -885,9 +885,9 @@ function DataDelete(e)
*/
function
ConfirmDataDelete
(
e
)
{
var
title
=
e
.
data
(
'
title
'
)
||
'
温馨提示
'
;
var
msg
=
e
.
data
(
'
msg
'
)
||
'
删除后不可恢复、确认操作吗?
'
;
var
is_confirm
=
(
e
.
data
(
'
is-confirm
'
)
==
undefined
||
e
.
data
(
'
is-confirm
'
)
==
1
)
?
1
:
0
;
var
title
=
e
.
attr
(
'
data-
title
'
)
||
'
温馨提示
'
;
var
msg
=
e
.
attr
(
'
data-
msg
'
)
||
'
删除后不可恢复、确认操作吗?
'
;
var
is_confirm
=
(
e
.
attr
(
'
data-is-confirm
'
)
==
undefined
||
e
.
attr
(
'
data-
is-confirm
'
)
==
1
)
?
1
:
0
;
if
(
is_confirm
==
1
)
{
...
...
@@ -915,11 +915,11 @@ function ConfirmDataDelete(e)
*/
function
AjaxRequest
(
e
)
{
var
id
=
e
.
data
(
'
id
'
);
var
field
=
e
.
data
(
'
field
'
)
||
''
;
var
value
=
e
.
data
(
'
value
'
)
||
''
;
var
url
=
e
.
data
(
'
url
'
);
var
view
=
e
.
data
(
'
view
'
)
||
''
;
var
id
=
e
.
attr
(
'
data-
id
'
);
var
field
=
e
.
attr
(
'
data-
field
'
)
||
''
;
var
value
=
e
.
attr
(
'
data-
value
'
)
||
''
;
var
url
=
e
.
attr
(
'
data-
url
'
);
var
view
=
e
.
attr
(
'
data-
view
'
)
||
''
;
// ajax
$
.
ajax
({
...
...
@@ -984,8 +984,8 @@ function AjaxRequest(e)
*/
function
ConfirmNetworkAjax
(
e
)
{
var
title
=
e
.
data
(
'
title
'
)
||
'
温馨提示
'
;
var
msg
=
e
.
data
(
'
msg
'
)
||
'
操作后不可恢复、确认继续吗?
'
;
var
title
=
e
.
attr
(
'
data-
title
'
)
||
'
温馨提示
'
;
var
msg
=
e
.
attr
(
'
data-
msg
'
)
||
'
操作后不可恢复、确认继续吗?
'
;
AMUI
.
dialog
.
confirm
({
title
:
title
,
...
...
@@ -1072,7 +1072,7 @@ function FullscreenEscEvent()
var
$fullscreen
=
$
(
'
.fullscreen-event
'
);
if
((
$fullscreen
.
attr
(
'
data-status
'
)
||
0
)
==
1
)
{
$fullscreen
.
find
(
'
.fullscreen-text
'
).
text
(
$fullscreen
.
data
(
'
fulltext-open
'
)
||
'
开启全屏
'
);
$fullscreen
.
find
(
'
.fullscreen-text
'
).
text
(
$fullscreen
.
attr
(
'
data-
fulltext-open
'
)
||
'
开启全屏
'
);
$fullscreen
.
attr
(
'
data-status
'
,
0
);
}
}
...
...
@@ -1263,12 +1263,12 @@ $(function()
{
if
(
FullscreenOpen
())
{
$
(
this
).
find
(
'
.fullscreen-text
'
).
text
(
$
(
this
).
data
(
'
fulltext-exit
'
)
||
'
退出全屏
'
);
$
(
this
).
find
(
'
.fullscreen-text
'
).
text
(
$
(
this
).
attr
(
'
data-
fulltext-exit
'
)
||
'
退出全屏
'
);
}
}
else
{
if
(
FullscreenExit
())
{
$
(
this
).
find
(
'
.fullscreen-text
'
).
text
(
$
(
this
).
data
(
'
fulltext-open
'
)
||
'
开启全屏
'
);
$
(
this
).
find
(
'
.fullscreen-text
'
).
text
(
$
(
this
).
attr
(
'
data-
fulltext-open
'
)
||
'
开启全屏
'
);
}
}
$
(
this
).
attr
(
'
data-status
'
,
status
==
0
?
1
:
0
);
...
...
@@ -1337,11 +1337,11 @@ $(function()
{
// 获取参数
var
$tag
=
$
(
this
);
var
id
=
$tag
.
data
(
'
id
'
);
var
state
=
(
$tag
.
data
(
'
state
'
)
==
1
)
?
0
:
1
;
var
url
=
$tag
.
data
(
'
url
'
);
var
field
=
$tag
.
data
(
'
field
'
)
||
''
;
var
is_update_status
=
$tag
.
data
(
'
is-update-status
'
)
||
0
;
var
id
=
$tag
.
attr
(
'
data-
id
'
);
var
state
=
(
$tag
.
attr
(
'
data-
state
'
)
==
1
)
?
0
:
1
;
var
url
=
$tag
.
attr
(
'
data-
url
'
);
var
field
=
$tag
.
attr
(
'
field
'
)
||
''
;
var
is_update_status
=
$tag
.
attr
(
'
data-
is-update-status
'
)
||
0
;
if
(
id
==
undefined
||
url
==
undefined
)
{
Prompt
(
'
参数配置有误
'
);
...
...
@@ -1384,7 +1384,7 @@ $(function()
}
}
}
$tag
.
data
(
'
state
'
,
state
);
$tag
.
attr
(
'
data-
state
'
,
state
);
}
else
{
Prompt
(
result
.
msg
);
}
...
...
@@ -1412,7 +1412,7 @@ $(function()
// 额外处理数据
if
(
$
(
'
#tree
'
).
length
>
0
)
{
var
additional
=
$
(
'
#tree
'
).
data
(
'
additional
'
)
||
null
;
var
additional
=
$
(
'
#tree
'
).
attr
(
'
data-
additional
'
)
||
null
;
if
(
additional
!=
null
)
{
for
(
var
i
in
additional
)
...
...
@@ -1470,17 +1470,17 @@ $(function()
$
(
document
).
on
(
'
click
'
,
'
.submit-edit
'
,
function
()
{
// 窗口标签
var
tag
=
$
(
this
).
data
(
'
tag
'
)
||
'
data-save-win
'
;
var
tag
=
$
(
this
).
attr
(
'
data-
tag
'
)
||
'
data-save-win
'
;
// 更改窗口名称
if
(
$
(
'
#
'
+
tag
).
length
>
0
)
{
$title
=
$
(
'
#
'
+
tag
).
find
(
'
.am-popup-title
'
);
$title
.
text
(
$title
.
data
(
'
edit-title
'
));
$title
.
text
(
$title
.
attr
(
'
data-
edit-title
'
));
}
// 填充数据
var
data
=
FunSaveWinAdditional
(
$
(
this
).
data
(
'
json
'
),
'
edit
'
);
var
data
=
FunSaveWinAdditional
(
$
(
this
).
attr
(
'
data-
json
'
),
'
edit
'
);
// 开始填充数据
FormDataFill
(
data
,
'
#
'
+
tag
);
...
...
@@ -1499,7 +1499,7 @@ $(function()
TreeFormInit
();
// 父节点赋值
var
id
=
parseInt
(
$
(
this
).
data
(
'
id
'
))
||
0
;
var
id
=
parseInt
(
$
(
this
).
attr
(
'
data-
id
'
))
||
0
;
$
(
'
#data-save-win
'
).
find
(
'
input[name="pid"], select[name="pid"]
'
).
val
(
id
);
// 多选插件事件更新
...
...
@@ -1518,7 +1518,7 @@ $(function()
*/
$
(
'
#tree
'
).
on
(
'
click
'
,
'
.tree-submit
'
,
function
()
{
var
id
=
parseInt
(
$
(
this
).
data
(
'
id
'
))
||
0
;
var
id
=
parseInt
(
$
(
this
).
attr
(
'
data-
id
'
))
||
0
;
// 状态
if
(
$
(
'
#data-list-
'
+
id
).
find
(
'
.tree-submit
'
).
attr
(
'
state
'
)
==
'
ok
'
)
{
...
...
@@ -1533,10 +1533,10 @@ $(function()
$
(
'
.tree-pid-
'
+
id
).
css
(
'
display
'
,
'
none
'
);
}
}
else
{
var
url
=
$
(
this
).
data
(
'
url
'
)
||
''
;
var
level
=
parseInt
(
$
(
this
).
data
(
'
level
'
))
||
0
;
var
is_add_node
=
parseInt
(
$
(
this
).
data
(
'
is_add_node
'
))
||
0
;
var
is_delete_all
=
parseInt
(
$
(
this
).
data
(
'
is_delete_all
'
))
||
0
;
var
url
=
$
(
this
).
attr
(
'
data-
url
'
)
||
''
;
var
level
=
parseInt
(
$
(
this
).
attr
(
'
data-
level
'
))
||
0
;
var
is_add_node
=
parseInt
(
$
(
this
).
attr
(
'
data-
is_add_node
'
))
||
0
;
var
is_delete_all
=
parseInt
(
$
(
this
).
attr
(
'
data-
is_delete_all
'
))
||
0
;
if
(
id
>
0
&&
url
!=
''
)
{
Tree
(
id
,
url
,
level
,
is_add_node
,
is_delete_all
);
...
...
@@ -1570,7 +1570,7 @@ $(function()
{
// 更改窗口名称
$title
=
$
(
'
#data-save-win
'
).
find
(
'
.am-popup-title
'
);
$title
.
text
(
$title
.
data
(
'
add-title
'
));
$title
.
text
(
$title
.
attr
(
'
data-
add-title
'
));
// 填充数据
var
data
=
{
"
id
"
:
""
,
"
pid
"
:
0
,
"
name
"
:
""
,
"
sort
"
:
0
,
"
is_enable
"
:
1
,
"
icon
"
:
""
};
...
...
@@ -1609,7 +1609,7 @@ $(function()
*/
$
(
document
).
on
(
'
click
'
,
'
.submit-ajax
'
,
function
()
{
var
is_confirm
=
$
(
this
).
data
(
'
is-confirm
'
);
var
is_confirm
=
$
(
this
).
attr
(
'
data-
is-confirm
'
);
if
(
is_confirm
==
undefined
||
is_confirm
==
1
)
{
ConfirmNetworkAjax
(
$
(
this
));
...
...
@@ -1633,7 +1633,7 @@ $(function()
if
(
value
!=
null
)
{
$
.
ajax
({
url
:
$
(
'
.region-linkage
'
).
data
(
'
url
'
),
url
:
$
(
'
.region-linkage
'
).
attr
(
'
data-
url
'
),
type
:
'
POST
'
,
data
:{
"
pid
"
:
value
},
dataType
:
'
json
'
,
...
...
@@ -1643,7 +1643,7 @@ $(function()
{
/* html拼接 */
var
html
=
''
;
var
value
=
$
(
'
.region-linkage select[name=
'
+
next_name
+
'
]
'
).
data
(
'
value
'
)
||
0
;
var
value
=
$
(
'
.region-linkage select[name=
'
+
next_name
+
'
]
'
).
attr
(
'
data-
value
'
)
||
0
;
for
(
var
i
in
result
.
data
)
{
html
+=
'
<option value="
'
+
result
.
data
[
i
][
'
id
'
]
+
'
"
'
;
...
...
@@ -1704,14 +1704,14 @@ $(function()
RegionNodeData
(
0
,
'
province
'
,
'
province
'
);
// 市初始化
var
value
=
$
(
'
.region-linkage select[name=province]
'
).
data
(
'
value
'
)
||
0
;
var
value
=
$
(
'
.region-linkage select[name=province]
'
).
attr
(
'
data-
value
'
)
||
0
;
if
(
value
!=
0
)
{
RegionNodeData
(
value
,
'
city
'
,
'
city
'
);
}
// 区/县初始化
var
value
=
$
(
'
.region-linkage select[name=city]
'
).
data
(
'
value
'
)
||
0
;
var
value
=
$
(
'
.region-linkage select[name=city]
'
).
attr
(
'
data-
value
'
)
||
0
;
if
(
value
!=
0
)
{
RegionNodeData
(
value
,
'
county
'
,
'
county
'
);
...
...
@@ -1738,7 +1738,7 @@ $(function()
var
map
=
new
BMap
.
Map
(
"
map
"
,
{
enableMapClick
:
false
});
var
point
=
new
BMap
.
Point
(
116.331398
,
39.897445
);
var
level
=
$
(
'
#map
'
).
data
(
'
level
'
)
||
16
;
var
level
=
$
(
'
#map
'
).
attr
(
'
data-
level
'
)
||
16
;
map
.
centerAndZoom
(
point
,
level
);
// 创建地址解析器实例
...
...
@@ -1791,10 +1791,10 @@ $(function()
{
fileNames
+=
'
<span class="am-badge">
'
+
this
.
name
+
'
</span>
'
;
});
$
(
$
(
this
).
data
(
'
tips-tag
'
)).
html
(
fileNames
);
$
(
$
(
this
).
attr
(
'
data-
tips-tag
'
)).
html
(
fileNames
);
// 触发配合显示input地址事件
var
input_tag
=
$
(
this
).
data
(
'
choice-one-to
'
)
||
null
;
var
input_tag
=
$
(
this
).
attr
(
'
data-
choice-one-to
'
)
||
null
;
if
(
input_tag
!=
null
)
{
$
(
input_tag
).
trigger
(
'
blur
'
);
...
...
@@ -1816,10 +1816,10 @@ $(function()
{
fileNames
+=
'
<span class="am-badge">
'
+
this
.
name
+
'
</span>
'
;
});
$
(
$
(
this
).
data
(
'
tips-tag
'
)).
html
(
fileNames
);
$
(
$
(
this
).
attr
(
'
data-
tips-tag
'
)).
html
(
fileNames
);
// 触发配合显示input地址事件
var
input_tag
=
$
(
this
).
data
(
'
choice-one-to
'
)
||
null
;
var
input_tag
=
$
(
this
).
attr
(
'
data-
choice-one-to
'
)
||
null
;
if
(
input_tag
!=
null
)
{
$
(
input_tag
).
trigger
(
'
blur
'
);
...
...
@@ -1866,10 +1866,10 @@ $(function()
if
(
result
.
length
>
0
)
{
var
$tag
=
$
(
$
(
'
body
'
).
attr
(
'
view-tag
'
));
var
max_number
=
$tag
.
data
(
'
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
data
(
'
delete
'
)
==
undefined
)
?
1
:
$tag
.
data
(
'
delete
'
);
var
form_name
=
$tag
.
data
(
'
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
data
(
'
is-attr
'
)
||
null
;
var
max_number
=
$tag
.
attr
(
'
data-
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
attr
(
'
data-delete
'
)
==
undefined
)
?
1
:
$tag
.
attr
(
'
data-
delete
'
);
var
form_name
=
$tag
.
attr
(
'
data-
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
attr
(
'
data-
is-attr
'
)
||
null
;
// 只限制一条
if
(
max_number
<=
1
)
...
...
@@ -1914,10 +1914,10 @@ $(function()
if
(
result
.
length
>
0
)
{
var
$tag
=
$
(
$
(
'
body
'
).
attr
(
'
view-tag
'
));
var
max_number
=
$tag
.
data
(
'
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
data
(
'
delete
'
)
==
undefined
)
?
1
:
$tag
.
data
(
'
delete
'
);
var
form_name
=
$tag
.
data
(
'
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
data
(
'
is-attr
'
)
||
null
;
var
max_number
=
$tag
.
attr
(
'
data-
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
attr
(
'
data-delete
'
)
==
undefined
)
?
1
:
$tag
.
attr
(
'
data-
delete
'
);
var
form_name
=
$tag
.
attr
(
'
data-
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
attr
(
'
data-
is-attr
'
)
||
null
;
// 只限制一条
if
(
max_number
<=
1
)
...
...
@@ -1969,10 +1969,10 @@ $(function()
if
(
result
.
length
>
0
)
{
var
$tag
=
$
(
$
(
'
body
'
).
attr
(
'
view-tag
'
));
var
max_number
=
$tag
.
data
(
'
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
data
(
'
delete
'
)
==
undefined
)
?
1
:
$tag
.
data
(
'
delete
'
);
var
form_name
=
$tag
.
data
(
'
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
data
(
'
is-attr
'
)
||
null
;
var
max_number
=
$tag
.
attr
(
'
data-
max-number
'
)
||
0
;
var
is_delete
=
(
$tag
.
attr
(
'
data-delete
'
)
==
undefined
)
?
1
:
$tag
.
attr
(
'
data-
delete
'
);
var
form_name
=
$tag
.
attr
(
'
data-
form-name
'
)
||
''
;
var
is_attr
=
$tag
.
attr
(
'
data-
is-attr
'
)
||
null
;
// 只限制一条
if
(
max_number
<=
1
)
...
...
@@ -2025,18 +2025,18 @@ $(function()
}
// 容器是否指定
if
((
$
(
this
).
data
(
'
view-tag
'
)
||
null
)
==
null
)
if
((
$
(
this
).
attr
(
'
data-
view-tag
'
)
||
null
)
==
null
)
{
Prompt
(
'
未指定容器
'
);
return
false
;
}
// 容器
var
$view_tag
=
$
(
$
(
this
).
data
(
'
view-tag
'
));
var
$view_tag
=
$
(
$
(
this
).
attr
(
'
data-
view-tag
'
));
// 加载组建类型
var
dialog_type
=
null
;
switch
(
$view_tag
.
data
(
'
dialog-type
'
))
switch
(
$view_tag
.
attr
(
'
data-
dialog-type
'
))
{
// 视频
case
'
video
'
:
...
...
@@ -2060,7 +2060,7 @@ $(function()
}
// 是否指定form名称
if
((
$view_tag
.
data
(
'
form-name
'
)
||
null
)
==
null
)
if
((
$view_tag
.
attr
(
'
data-
form-name
'
)
||
null
)
==
null
)
{
Prompt
(
'
未指定表单name名称
'
);
return
false
;
...
...
@@ -2072,7 +2072,7 @@ $(function()
dialog
.
open
();
// 赋值参数
$
(
'
body
'
).
attr
(
'
view-tag
'
,
$
(
this
).
data
(
'
view-tag
'
));
$
(
'
body
'
).
attr
(
'
view-tag
'
,
$
(
this
).
attr
(
'
data-
view-tag
'
));
});
// 删除容器中的内容
...
...
@@ -2085,7 +2085,7 @@ $(function()
$
(
this
).
parent
().
remove
();
// 数据处理
var
max_number
=
$tag
.
data
(
'
max-number
'
)
||
0
;
var
max_number
=
$tag
.
attr
(
'
data-
max-number
'
)
||
0
;
if
(
max_number
>
0
)
{
if
(
$tag
.
find
(
'
li
'
).
length
<
max_number
)
...
...
public/static/index/default/css/goods.css
浏览文件 @
22c37242
...
...
@@ -87,7 +87,6 @@ input{font-size:12px;font-size:100%;outline:none;line-height:normal;color:#444;}
.theme-popover
{
box-shadow
:
0
0
10px
#666
;
position
:
fixed
;
top
:
20%
;
left
:
calc
(
50%
-
250px
);
width
:
500px
;
bottom
:
auto
;
border
:
solid
6px
#d3d3d3
;
border-radius
:
3px
;}
.theme-poptit
{
display
:
none
;}
/*商品规格*/
.theme-signin-left
{
padding-top
:
10px
;
float
:
left
;
max-height
:
none
;
overflow
:
visible
;}
.theme-options
.cart-title
{
margin-top
:
5px
;}
...
...
@@ -291,13 +290,14 @@ ul.detail-attr li {height: 26px;overflow: hidden;line-height: 26px;vertical-alig
.clearfix-right
{
float
:
left
;
width
:
55%
;
min-height
:
270px
;}
.iteminfo_parameter.freight
{
display
:
block
;
margin-top
:
10px
;
margin-bottom
:
10px
;}
.iteminfo_parameter.freight
dt
{
margin-left
:
-70px
;
float
:
left
;
margin-right
:
10px
;
padding-top
:
5px
;
padding-bottom
:
20px
;}
.buy-nav
{
position
:
static
;}
.buy-nav
{
position
:
static
;
margin-top
:
20px
;
}
ul
.am-avg-sm-4.am-tabs-nav.am-nav.am-nav-tabs
{
width
:
auto
;}
ul
.detail-attr
li
{
display
:
inline
;
float
:
left
;
width
:
33.33%
;}
/*可选规格*/
.buy-event
.cart-title
{
border
:
none
;
margin-left
:
-60px
;
position
:
relative
;
padding
:
10px
0px
5px
10px
;}
.buy-event
.cart-title
.am-icon-angle-right
{
position
:
absolute
;
right
:
-50px
;}
.iteminfo_parameter
{
border-bottom
:
0
;
}
/*销量*/
.tm-ind-panel
{
border-width
:
1px
0px
;
margin
:
-1px
0px
0px
0px
;
padding
:
10px
0px
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录