Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
飞鱼0526
ShopXO
提交
d9f8398a
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,发现更多精彩内容 >>
提交
d9f8398a
编写于
6月 02, 2020
作者:
D
devil
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
数据列表优化
上级
89579a91
变更
13
展开全部
隐藏空白更改
内联
并排
Showing
13 changed file
with
535 addition
and
473 deletion
+535
-473
application/admin/controller/Common.php
application/admin/controller/Common.php
+42
-6
application/admin/form/Goods.php
application/admin/form/Goods.php
+20
-89
application/admin/view/default/goods/index.html
application/admin/view/default/goods/index.html
+0
-104
application/admin/view/default/lib/module/category_brand.html
...ication/admin/view/default/lib/module/category_brand.html
+13
-0
application/admin/view/default/lib/module/goods_category.html
...ication/admin/view/default/lib/module/goods_category.html
+7
-7
application/admin/view/default/public/form.html
application/admin/view/default/public/form.html
+244
-244
application/common.php
application/common.php
+39
-0
application/module/FormHandle.php
application/module/FormHandle.php
+144
-0
application/module/ViewInclude.php
application/module/ViewInclude.php
+1
-3
public/static/common/css/common.css
public/static/common/css/common.css
+0
-16
public/static/common/js/common.js
public/static/common/js/common.js
+23
-2
public/static/common/lib/amazeui-chosen/amazeui.chosen.css
public/static/common/lib/amazeui-chosen/amazeui.chosen.css
+1
-1
public/static/common/lib/amazeui-chosen/amazeui.chosen.min.js
...ic/static/common/lib/amazeui-chosen/amazeui.chosen.min.js
+1
-1
未找到文件。
application/admin/controller/Common.php
浏览文件 @
d9f8398a
...
...
@@ -51,6 +51,12 @@ class Common extends Controller
protected
$page
;
protected
$page_size
;
// 动态表格
protected
$form_table
;
protected
$form_where
;
protected
$form_params
;
protected
$form_error
;
/**
* 构造方法
* @author Devil
...
...
@@ -84,6 +90,9 @@ class Common extends Controller
// 视图初始化
$this
->
ViewInit
();
// 动态表格初始化
$this
->
FormTableInit
();
// 公共钩子初始化
$this
->
CommonPluginsInit
();
}
...
...
@@ -226,14 +235,41 @@ class Common extends Controller
// 默认不加载百度地图api
$this
->
assign
(
'is_load_baidu_map_api'
,
0
);
// 动态表格处理
$obj
=
new
\
app\form\GoodsForm
();
$table
=
$obj
->
Table
();
$this
->
assign
(
'form_table'
,
$table
);
//print_r($table);
}
/**
* 动态表格初始化
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-02
* @desc description
*/
public
function
FormTableInit
()
{
// 当前操作名称
$module
=
request
()
->
module
();
$controller
=
request
()
->
controller
();
// 数据处理
$res
=
FormTableLoad
(
$controller
,
$module
,
$this
->
data_request
);
if
(
$res
[
'code'
]
==
0
)
{
$this
->
form_table
=
$res
[
'data'
][
'table'
];
$this
->
form_where
=
$res
[
'data'
][
'where'
];
$this
->
form_params
=
$res
[
'data'
][
'params'
];
$this
->
assign
(
'form_table'
,
$this
->
form_table
);
$this
->
assign
(
'form_params'
,
$this
->
form_params
);
}
else
{
$this
->
form_error
=
$res
[
'msg'
];
$this
->
assign
(
'form_error'
,
$this
->
form_error
);
}
//print_r($this->data_request);die;
}
/**
* [IsPower 是否有权限]
* @author Devil
...
...
application/
form/GoodsForm
.php
→
application/
admin/form/Goods
.php
浏览文件 @
d9f8398a
...
...
@@ -8,7 +8,7 @@
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace
app\form
;
namespace
app\
admin\
form
;
use
think\Db
;
use
app\service\GoodsService
;
...
...
@@ -16,17 +16,17 @@ use app\service\RegionService;
use
app\service\BrandService
;
/**
* 商品表单
* 商品
动态
表单
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-05-16
* @desc description
*/
class
Goods
Form
class
Goods
{
/**
*
表单
*
入口
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
...
...
@@ -34,7 +34,7 @@ class GoodsForm
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Table
(
$params
=
[])
public
function
Run
(
$params
=
[])
{
return
[
// 基础配置
...
...
@@ -42,6 +42,8 @@ class GoodsForm
'key_field'
=>
'id'
,
'status_field'
=>
'is_shelves'
,
'is_search'
=>
1
,
'search_url'
=>
MyUrl
(
'admin/goods/index'
),
],
// 表单配置
'form'
=>
[
...
...
@@ -58,31 +60,9 @@ class GoodsForm
'search_config'
=>
[
'form_type'
=>
'input'
,
'form_name'
=>
'title|simple_desc|seo_title|seo_keywords|seo_keywords'
,
'where_type'
=>
'like'
,
'placeholder'
=>
'请输入名称/简述/SEO信息'
],
// 'search_config' => [
// // input, select, datetime, date, time, section
// 'form_type' => 'select',
// // 表单字段名称
// 'form_name' => 'category_id',
// // 提示信息
// 'placeholder' => '商品分类...',
// // 是否开启占位选择框
// 'is_seat_select' => 1,
// // 选择占位值(默认空)
// 'seat_select_value' => '',
// // 选择占位文本(默认 placeholder 值)
// 'seat_select_text' => '商品分类...',
// // 条件数据
// 'data' => [],
// // 数据 key 字段名称(默认取 id)
// 'data_key' => 'id',
// // 数据 name 字段名称(默认取 name)
// 'data_name' => 'name',
// // 数据默认选中值
// 'default' => '',
// ],
],
[
'label'
=>
'销售价格(元)'
,
...
...
@@ -91,6 +71,7 @@ class GoodsForm
'search_config'
=>
[
'form_type'
=>
'section'
,
'form_name'
=>
'min_price'
,
'is_point'
=>
1
,
],
],
[
...
...
@@ -99,8 +80,9 @@ class GoodsForm
'view_key'
=>
'original_price'
,
'search_config'
=>
[
// 表单字段名称
'form_name'
=>
'min_original_price'
,
'form_type'
=>
'section'
,
'form_name'
=>
'min_original_price'
,
'is_point'
=>
1
,
],
],
[
...
...
@@ -124,6 +106,7 @@ class GoodsForm
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_name'
=>
'is_shelves'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_is_shelves_list'
),
'data_key'
=>
'id'
,
'data_name'
=>
'name'
,
...
...
@@ -140,6 +123,7 @@ class GoodsForm
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_name'
=>
'is_home_recommended'
,
'where_type'
=>
'in'
,
'data'
=>
lang
(
'common_is_text_list'
),
'data_key'
=>
'id'
,
'data_name'
=>
'name'
,
...
...
@@ -153,6 +137,7 @@ class GoodsForm
'search_config'
=>
[
'form_type'
=>
'input'
,
'form_name'
=>
'model'
,
'where_type'
=>
'like'
,
],
],
[
...
...
@@ -161,7 +146,9 @@ class GoodsForm
'view_key'
=>
'category_text'
,
'search_config'
=>
[
'form_type'
=>
'module'
,
'form_name'
=>
'lib/module/goods_category'
,
'template'
=>
'lib/module/goods_category'
,
'form_name'
=>
'category_id'
,
'where_type'
=>
'in'
,
'data'
=>
GoodsService
::
GoodsCategoryAll
(),
],
],
...
...
@@ -170,12 +157,13 @@ class GoodsForm
'view_type'
=>
'field'
,
'view_key'
=>
'brand_name'
,
'search_config'
=>
[
'form_type'
=>
'select'
,
'form_type'
=>
'module'
,
'template'
=>
'lib/module/category_brand'
,
'form_name'
=>
'brand_id'
,
'data'
=>
BrandService
::
CategoryBrand
(),
'data_key'
=>
'id'
,
'data_name'
=>
'name'
,
'
is_seat_select'
=>
1
,
'
where_type'
=>
'in'
,
],
],
[
...
...
@@ -197,61 +185,4 @@ class GoodsForm
],
];
}
/**
* 条件
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-05-16
* @desc description
* @param [array] $params [输入参数]
*/
public
function
Search
(
$params
=
[])
{
return
[
// 基础配置
'base'
=>
[
'url'
=>
MyUrl
(
'admin/goods/index'
),
'method'
=>
'POST'
,
'is_more'
=>
1
,
],
// 大搜索框
'search'
=>
[
'placeholder'
=>
'标题/型号'
,
'submit_text'
=>
'搜索一下'
,
'loading_text'
=>
'搜索中哦...'
,
'form_name'
=>
'keywords'
,
],
// 更多条件
'more'
=>
[
[
// 标题名称
'label'
=>
'分类'
,
// 表单字段名称
'form_name'
=>
'category_id'
,
// select, input
'form_type'
=>
'select'
,
// 提示信息
'placeholder'
=>
'商品分类...'
,
// 是否开启占位选择框
'is_seat_select'
=>
1
,
// 选择占位值
'seat_select_value'
=>
''
,
// 数据
'data'
=>
[],
// 数据 key 字段名称
'data_key'
=>
'id'
,
// 数据 name 字段名称
'data_name'
=>
'name'
,
// 数据默认选中值
'default'
=>
''
,
],
],
];
}
}
\ No newline at end of file
application/admin/view/default/goods/index.html
浏览文件 @
d9f8398a
<!-- 继承公共的 form -->
{{extend name="public/form" /}}
<!-- 搜素条件 -->
{{block name="search_form"}}
<form
class=
"am-form form-validation form-search"
method=
"post"
action=
"{{:MyUrl('admin/goods/index')}}"
request-type=
"form"
>
<div
class=
"thin"
>
<div
class=
"am-input-group am-input-group-sm am-fl so"
>
<input
type=
"text"
autocomplete=
"off"
name=
"keywords"
class=
"am-radius"
placeholder=
"标题/型号"
value=
"{{if !empty($params.keywords)}}{{$params.keywords}}{{/if}}"
/>
<span
class=
"am-input-group-btn"
>
<button
class=
"am-btn am-btn-default am-radius"
type=
"submit"
data-am-loading=
"{spinner:'circle-o-notch', loadingText:'搜索中...'}"
>
搜索
</button>
</span>
</div>
<label
class=
"am-fl thin_sub more-submit"
>
更多筛选条件
{{if isset($params['is_more']) and $params['is_more'] eq 1}}
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
checked
/>
<i
class=
"am-icon-angle-up"
></i>
{{else /}}
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
/>
<i
class=
"am-icon-angle-down"
></i>
{{/if}}
</label>
</div>
<table
class=
"so-list more-where {{if !isset($params['is_more'])}}none{{/if}}"
>
<tbody>
<tr>
<td>
<span>
分类:
</span>
<select
class=
"am-radius chosen-select"
name=
"category_id"
data-placeholder=
"商品分类..."
>
<option
value=
"0"
>
商品分类...
</option>
{{if !empty($goods_category_list)}}
{{foreach $goods_category_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
params
['
category_id
'])
and
$
v
['
id
']
eq
$
params
['
category_id
']}}
selected
{{/
if
}}
>
一级 - {{$v.name}}
</option>
{{if !empty($v['items'])}}
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 30px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
params
['
category_id
'])
and
$
vs
['
id
']
eq
$
params
['
category_id
']}}
selected
{{/
if
}}
>
二级 - {{$vs.name}}
</option>
{{if !empty($vs['items'])}}
{{foreach $vs.items as $vss}}
<option
style=
"padding-left: 60px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
params
['
category_id
'])
and
$
vss
['
id
']
eq
$
params
['
category_id
']}}
selected
{{/
if
}}
>
三级 - {{$vss.name}}
</option>
{{/foreach}}
{{/if}}
{{/foreach}}
{{/if}}
{{/foreach}}
{{/if}}
</select>
</td>
<td>
<span>
品牌:
</span>
<select
name=
"brand_id"
class=
"am-radius chosen-select"
data-placeholder=
"品牌..."
>
{{if !empty($brand_list)}}
<option
value=
"0"
>
品牌...
</option>
{{foreach $brand_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
isset
($
params
['
brand_id
'])
and
$
params
['
brand_id
']
eq
$
vs
['
id
']}}
selected
{{/
if
}}
>
{{$vs.name}}
</option>
{{/foreach}}
{{/if}}
</optgroup>
{{/foreach}}
{{/if}}
</select>
</td>
</tr>
<tr>
<td>
<span>
状态:
</span>
<select
name=
"is_shelves"
class=
"chosen-select"
data-placeholder=
"上下架状态..."
>
<option
value=
"-1"
>
上下架状态...
</option>
{{foreach $common_is_shelves_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
is_shelves
'])
and
$
params
['
is_shelves
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</td>
<td>
<span>
推荐:
</span>
<select
name=
"is_home_recommended"
class=
"chosen-select"
data-placeholder=
"首页推荐..."
>
<option
value=
"-1"
>
首页推荐...
</option>
{{foreach $common_is_text_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
is_home_recommended
'])
and
$
params
['
is_home_recommended
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</td>
</tr>
<tr>
<td
class=
"time"
>
<span>
时间:
</span>
<span>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"am-form-field am-input-sm am-radius Wdate"
placeholder=
"起始时间"
value=
"{{if !empty($params.time_start)}}{{$params.time_start}}{{/if}}"
data-validation-message=
"日期格式有误"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"
autocomplete=
"off"
/><i
class=
"am-icon-calendar"
></i>
</span>
<em
class=
"text-grey"
>
~
</em>
<span>
<input
type=
"text"
autocomplete=
"off"
name=
"time_end"
class=
"am-form-field am-input-sm am-radius Wdate"
placeholder=
"结束时间"
value=
"{{if !empty($params.time_end)}}{{$params.time_end}}{{/if}}"
pattern=
"^[0-9]{4}-[0-9]{2}-[0-9]{2}$"
data-validation-message=
"日期格式有误"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"
autocomplete=
"off"
/><i
class=
"am-icon-calendar"
></i>
</span>
</td>
<td>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius am-btn-xs btn-loading-example"
data-am-loading=
"{spinner:'circle-o-notch', loadingText:'搜索中...'}"
>
搜索
</button>
<a
href=
"{{:MyUrl('admin/goods/index')}}"
class=
"am-btn am-btn-warning am-radius am-btn-sm reset-submit"
>
清除条件
</a>
</td>
</tr>
</tbody>
</table>
</form>
{{/block}}
<!-- 表单顶部操作栏 -->
{{block name="form_operate_top"}}
<a
href=
"{{:MyUrl('admin/goods/saveinfo')}}"
class=
"am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"
>
新增
</a>
...
...
application/admin/view/default/lib/module/category_brand.html
0 → 100644
浏览文件 @
d9f8398a
<!-- 分类下品牌 -->
{{if !empty($module_data['data'])
&&
!empty($module_data['form_name_key'])}}
<select
class=
"am-radius chosen-select"
multiple
name=
"{{$module_data.form_name_key}}"
data-placeholder=
"品牌..."
>
{{foreach $module_data.data as $v}}
<optgroup
label=
"{{$v.name}}"
>
{{if !empty($v['items'])}}
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 15px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
module_data
['
params
'])
and
!
empty
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
is_array
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
in_array
($
vs
['
id
'],
$
module_data
['
params
'][$
module_data
['
form_name_key
']])}}
selected
{{/
if
}}
>
{{$vs.name}}
</option>
{{/foreach}}
{{/if}}
{{/foreach}}
</select>
{{/if}}
\ No newline at end of file
application/admin/view/default/lib/module/goods_category.html
浏览文件 @
d9f8398a
<!-- 商品
基础信息
-->
{{if !empty($module_data)}}
<select
class=
"am-radius chosen-select"
multiple
name=
"
category_id
"
data-placeholder=
"商品分类..."
>
{{foreach $module_data as $v}}
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
module_
params
['
category_id
'])
and
$
v
['
id
']
eq
$
module_params
['
category_id
']
}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
<!-- 商品
分类
-->
{{if !empty($module_data
['data'])
&&
!empty($module_data['form_name_key']
)}}
<select
class=
"am-radius chosen-select"
multiple
name=
"
{{$module_data.form_name_key}}
"
data-placeholder=
"商品分类..."
>
{{foreach $module_data
.data
as $v}}
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
module_
data
['
params
'])
and
!
empty
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
is_array
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
in_array
($
v
['
id
'],
$
module_data
['
params
'][$
module_data
['
form_name_key
']])
}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{if !empty($v['items'])}}
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 15px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
module_
params
['
category_id
'])
and
$
vs
['
id
']
eq
$
module_params
['
category_id
']
}}
selected
{{/
if
}}
>
{{$vs.name}}
</option>
<option
style=
"padding-left: 15px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
module_
data
['
params
'])
and
!
empty
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
is_array
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
in_array
($
vs
['
id
'],
$
module_data
['
params
'][$
module_data
['
form_name_key
']])
}}
selected
{{/
if
}}
>
{{$vs.name}}
</option>
{{if !empty($vs['items'])}}
{{foreach $vs.items as $vss}}
<option
style=
"padding-left: 30px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
module_
params
['
category_id
'])
and
$
vss
['
id
']
eq
$
module_params
['
category_id
']
}}
selected
{{/
if
}}
>
{{$vss.name}}
</option>
<option
style=
"padding-left: 30px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
module_
data
['
params
'])
and
!
empty
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
is_array
($
module_data
['
params
'][$
module_data
['
form_name_key
']])
and
in_array
($
vss
['
id
'],
$
module_data
['
params
'][$
module_data
['
form_name_key
']])
}}
selected
{{/
if
}}
>
{{$vss.name}}
</option>
{{/foreach}}
{{/if}}
{{/foreach}}
...
...
application/admin/view/default/public/form.html
浏览文件 @
d9f8398a
此差异已折叠。
点击以展开。
application/common.php
浏览文件 @
d9f8398a
...
...
@@ -11,6 +11,45 @@
// 应用公共文件
/**
* 模块动态表格加载方法
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-02
* @desc description
* @param [string] $name [模块名称]
* @param [string] $group [模块组(admin,index)]
* @param [mixed] $params [参数数据]
*/
function
FormTableLoad
(
$name
,
$group
=
'admin'
,
$params
=
[])
{
// 模块
$module
=
'\app\\'
.
$group
.
'\form\\'
.
$name
;
if
(
!
class_exists
(
$module
))
{
return
DataReturn
(
'动态表格模块未定义['
.
$module
.
']'
,
-
1
);
}
// 调用方法
$action
=
'Run'
;
$obj
=
new
$module
();
if
(
!
method_exists
(
$obj
,
$action
))
{
return
DataReturn
(
'动态表格方法未定义['
.
$module
.
'->'
.
$action
.
'()]'
,
-
1
);
}
$table
=
$obj
->
$action
(
$params
);
// 处理数据
$res
=
(
new
app\module\FormHandle
())
->
Run
(
$table
,
$params
);
$data
=
[
'table'
=>
$table
,
'where'
=>
$res
[
'where'
],
'params'
=>
$res
[
'params'
],
];
return
DataReturn
(
'success'
,
0
,
$data
);
}
/**
* 模块视图动态加载方法
* @author Devil
...
...
application/module/FormHandle.php
0 → 100644
浏览文件 @
d9f8398a
<?php
// +----------------------------------------------------------------------
// | ShopXO 国内领先企业级B2C免费开源电商系统
// +----------------------------------------------------------------------
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: Devil
// +----------------------------------------------------------------------
namespace
app\module
;
use
think\Controller
;
/**
* 动态表格处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-02
* @desc description
*/
class
FormHandle
{
/**
* 条件处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2020-06-02
* @desc description
* @param [array] $data [动态表格配置信息]
* @param [array] $params [输入参数]
*/
public
function
Run
(
$data
,
$params
=
[])
{
$w
=
[];
$p
=
[];
if
(
!
empty
(
$data
[
'form'
]))
{
foreach
(
$data
[
'form'
]
as
$k
=>
$v
)
{
if
(
isset
(
$v
[
'search_config'
])
&&
!
empty
(
$v
[
'search_config'
][
'form_type'
])
&&
!
empty
(
$v
[
'search_config'
][
'form_name'
]))
{
$key
=
'fp'
.
$k
;
$name
=
$v
[
'search_config'
][
'form_name'
];
$type
=
isset
(
$v
[
'search_config'
][
'where_type'
])
?
$v
[
'search_config'
][
'where_type'
]
:
$v
[
'search_config'
][
'form_type'
];
switch
(
$type
)
{
// 单个值
case
'='
:
case
'<'
:
case
'>'
:
case
'<='
:
case
'>='
:
case
'like'
:
if
(
array_key_exists
(
$key
,
$params
)
&&
$params
[
$key
]
!==
null
&&
$params
[
$key
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key
]);
$p
[
$key
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
$type
,
$value
];
}
break
;
// in
case
'in'
:
if
(
array_key_exists
(
$key
,
$params
)
&&
$params
[
$key
]
!==
null
&&
$params
[
$key
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key
]);
if
(
!
is_array
(
$value
))
{
$value
=
explode
(
','
,
$value
);
}
$p
[
$key
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
$type
,
$value
];
}
break
;
// 区间值
case
'section'
:
$key_min
=
$key
.
'_min'
;
$key_max
=
$key
.
'_max'
;
if
(
array_key_exists
(
$key_min
,
$params
)
&&
$params
[
$key_min
]
!==
null
&&
$params
[
$key_min
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key_min
]);
$p
[
$key_min
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
'>='
,
$value
];
}
if
(
array_key_exists
(
$key_max
,
$params
)
&&
$params
[
$key_max
]
!==
null
&&
$params
[
$key_max
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key_max
]);
$p
[
$key_max
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
'<='
,
$value
];
}
break
;
// 时间
case
'datetime'
:
case
'date'
:
$key_start
=
$key
.
'_start'
;
$key_end
=
$key
.
'_end'
;
if
(
array_key_exists
(
$key_start
,
$params
)
&&
$params
[
$key_start
]
!==
null
&&
$params
[
$key_start
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key_start
]);
$p
[
$key_start
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
'>='
,
strtotime
(
$value
)];
}
if
(
array_key_exists
(
$key_end
,
$params
)
&&
$params
[
$key_end
]
!==
null
&&
$params
[
$key_end
]
!==
''
)
{
// 参数值
$value
=
urldecode
(
$params
[
$key_end
]);
$p
[
$key_end
]
=
$value
;
// 条件
$w
[]
=
[
$name
,
'<='
,
strtotime
(
$value
)];
}
break
;
}
}
}
}
return
[
'where'
=>
$w
,
'params'
=>
$p
,
];
}
}
?>
\ No newline at end of file
application/module/ViewInclude.php
浏览文件 @
d9f8398a
...
...
@@ -45,13 +45,11 @@ class ViewInclude extends Controller
* @desc description
* @param [string] $template [模板地址]
* @param [mixed] $data [请求数据]
* @param [mixed] $params [请求参数]
* @return [string] [模板内容]
*/
public
function
Run
(
$template
,
$data
=
[]
,
$params
=
[]
)
public
function
Run
(
$template
,
$data
=
[])
{
$this
->
assign
(
'module_data'
,
$data
);
$this
->
assign
(
'module_params'
,
$params
);
return
$this
->
fetch
(
$template
);
}
}
...
...
public/static/common/css/common.css
浏览文件 @
d9f8398a
...
...
@@ -527,20 +527,4 @@ button.colorpicker-submit img {
.form-table-search-time
>
i
{
position
:
absolute
;
margin
:
4px
0px
0px
-15px
;
}
/**
* 下拉选择器
*/
.chosen-container-multi
.chosen-choices
li
.search-choice
{
margin
:
3px
3px
3px
0
;
padding
:
2px
13px
1px
2px
;
}
.chosen-container-multi
.chosen-choices
li
.search-field
input
[
type
=
"text"
]
{
margin
:
0
;
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
{
top
:
2px
;
right
:
0px
;
}
\ No newline at end of file
public/static/common/js/common.js
浏览文件 @
d9f8398a
...
...
@@ -364,7 +364,13 @@ function FromInit(form_name)
var
method
=
$form
.
attr
(
'
method
'
)
||
null
;
var
request_type
=
$form
.
attr
(
'
request-type
'
)
||
null
;
var
request_value
=
$form
.
attr
(
'
request-value
'
)
||
null
;
var
ajax_all
=
[
'
ajax-reload
'
,
'
ajax-url
'
,
'
ajax-fun
'
,
'
sync
'
];
// 以 ajax 开头的都会先请求再处理
// ajax-reload 请求完成后刷新页面
// ajax-url 请求完成后调整到指定的请求值
// ajax-fun 请求完成后调用指定方法
// sync 不发起请求、直接同步调用指定的方法
// jump 不发起请求、拼接数据参数跳转到指定 url 地址
var
request_handle
=
[
'
ajax-reload
'
,
'
ajax-url
'
,
'
ajax-fun
'
,
'
sync
'
,
'
jump
'
];
// 是form表单直接通过
if
(
request_type
==
'
form
'
)
...
...
@@ -373,7 +379,7 @@ function FromInit(form_name)
}
// 参数校验
if
(
ajax_all
.
indexOf
(
request_type
)
==
-
1
)
if
(
request_handle
.
indexOf
(
request_type
)
==
-
1
)
{
$button
.
button
(
'
reset
'
);
Prompt
(
'
表单[类型]参数配置有误
'
);
...
...
@@ -401,6 +407,19 @@ function FromInit(form_name)
return
false
;
}
// 拼接参数跳转
if
(
request_type
==
'
jump
'
)
{
var
params
=
GetFormVal
(
form_name
,
true
);
for
(
var
i
in
params
)
{
request_value
=
UrlFieldReplace
(
i
,
encodeURIComponent
(
params
[
i
]),
request_value
)
}
window
.
location
.
href
=
request_value
;
return
false
;
}
// 请求 url http类型
if
(
action
==
null
||
method
==
null
)
{
$button
.
button
(
'
reset
'
);
...
...
@@ -476,6 +495,8 @@ function FromInit(form_name)
}
// 默认初始化一次,默认标签[form.form-validation]
FromInit
(
'
form.form-validation
'
);
// 公共列表 form 搜索条件
FromInit
(
'
form.form-validation-search
'
);
/**
* [FormDataFill 表单数据填充]
...
...
public/static/common/lib/amazeui-chosen/amazeui.chosen.css
浏览文件 @
d9f8398a
.chosen-container
{
position
:
relative
;
display
:
inline-block
;
vertical-align
:
middle
;
font-size
:
14px
;
zoom
:
1
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
}
.chosen-container
.chosen-drop
{
position
:
absolute
;
top
:
100%
;
left
:
-9999px
;
z-index
:
1010
;
width
:
100%
;
border
:
1px
solid
#bbb
;
border-top
:
0
;
background
:
#fff
;
-webkit-box-shadow
:
0
4px
5px
rgba
(
0
,
0
,
0
,
.15
);
box-shadow
:
0
4px
5px
rgba
(
0
,
0
,
0
,
.15
)}
.chosen-container.chosen-with-drop
.chosen-drop
{
left
:
0
}
.chosen-container
a
{
cursor
:
pointer
}
.chosen-container
.search-choice
.group-name
,
.chosen-container
.chosen-single
.group-name
{
margin-right
:
4px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
font-weight
:
400
;
color
:
#999
}
.chosen-container
.search-choice
.group-name
:after
,
.chosen-container
.chosen-single
.group-name
:after
{
content
:
":"
;
padding-left
:
2px
;
vertical-align
:
top
}
.chosen-container-single
.chosen-single
{
position
:
relative
;
display
:
block
;
overflow
:
hidden
;
padding
:
0
0
0
8px
;
height
:
36px
;
border
:
1px
solid
#ddd
;
background-color
:
#fff
;
color
:
#444
;
text-decoration
:
none
;
white-space
:
nowrap
;
line-height
:
35px
}
.chosen-container-single
.chosen-default
{
color
:
#999
}
.chosen-container-single
.chosen-single
span
{
display
:
block
;
overflow
:
hidden
;
margin-right
:
26px
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.chosen-container-single
.chosen-single-with-deselect
span
{
margin-right
:
38px
}
.chosen-container-single
.chosen-single
abbr
{
position
:
absolute
;
top
:
10px
;
right
:
26px
;
display
:
block
;
width
:
12px
;
height
:
12px
;
color
:
#999
}
.chosen-container-single
.chosen-single
abbr
:before
{
position
:
absolute
;
left
:
0
;
top
:
0
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f00d"
}
.chosen-container-single
.chosen-single
abbr
:hover
{
color
:
#666
}
.chosen-container-single
.chosen-single
div
{
position
:
absolute
;
top
:
0
;
right
:
0
;
display
:
block
;
width
:
18px
;
height
:
100%
}
.chosen-container-single
.chosen-single
div
:before
{
color
:
#999
;
content
:
"\f0d7"
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.chosen-container-single
.chosen-search
{
position
:
relative
;
z-index
:
1010
;
margin
:
0
;
padding
:
5px
;
white-space
:
nowrap
}
.chosen-container-single
.chosen-search
:after
{
position
:
absolute
;
right
:
10px
;
top
:
12px
;
color
:
#aaa
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f002"
}
.chosen-container-single
.chosen-search
input
[
type
=
"text"
]
{
margin
:
1px
0
;
padding
:
5px
20px
5px
5px
;
width
:
100%
;
height
:
auto
;
outline
:
0
;
border
:
1px
solid
#ccc
;
font-size
:
1em
;
line-height
:
normal
;
border-radius
:
0
}
.chosen-container-single
.chosen-drop
{
margin-top
:
-1px
;
-webkit-background-clip
:
padding-box
;
background-clip
:
padding-box
}
.chosen-container-single.chosen-container-single-nosearch
.chosen-search
{
position
:
absolute
;
left
:
-9999px
}
.chosen-container
.chosen-results
{
color
:
#444
;
position
:
relative
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
margin
:
0
4px
4px
0
;
padding
:
0
0
0
4px
;
max-height
:
240px
;
-webkit-overflow-scrolling
:
touch
}
.chosen-container
.chosen-results
li
{
display
:
none
;
margin
:
0
;
padding
:
5px
6px
;
list-style
:
none
;
line-height
:
15px
;
word-wrap
:
break-word
;
-webkit-touch-callout
:
none
}
.chosen-container
.chosen-results
li
.active-result
{
display
:
list-item
;
cursor
:
pointer
}
.chosen-container
.chosen-results
li
.disabled-result
{
display
:
list-item
;
color
:
#ccc
;
cursor
:
default
}
.chosen-container
.chosen-results
li
.highlighted
{
background-color
:
#0e90d2
;
color
:
#fff
}
.chosen-container
.chosen-results
li
.no-results
{
color
:
#777
;
display
:
list-item
;
background
:
#f4f4f4
}
.chosen-container
.chosen-results
li
.group-result
{
display
:
list-item
;
font-weight
:
700
;
cursor
:
default
;
color
:
#777
}
.chosen-container
.chosen-results
li
.group-option
{
padding-left
:
18px
}
.chosen-container
.chosen-results
li
.group-option
+
.group-result
{
margin-top
:
10px
}
.chosen-container
.chosen-results
li
em
{
font-style
:
normal
;
text-decoration
:
underline
}
.chosen-container-multi
.chosen-choices
{
position
:
relative
;
overflow
:
hidden
;
margin
:
0
;
padding
:
3px
5px
;
width
:
100%
;
height
:
auto
!important
;
height
:
1%
;
border
:
1px
solid
#ddd
;
background-color
:
#fff
;
cursor
:
text
}
.chosen-container-multi
.chosen-choices
li
{
float
:
left
;
list-style
:
none
}
.chosen-container-multi
.chosen-choices
li
.search-field
{
margin
:
0
;
padding
:
0
;
white-space
:
nowrap
}
.chosen-container-multi
.chosen-choices
li
.search-field
input
[
type
=
"text"
]
{
margin
:
1px
0
;
padding
:
0
;
height
:
25px
;
outline
:
0
;
border
:
0
!important
;
background
:
transparent
!important
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
color
:
#999
;
font-size
:
100%
;
font-family
:
sans-serif
;
line-height
:
normal
;
border-radius
:
0
}
.chosen-container-multi
.chosen-choices
li
.search-choice
{
position
:
relative
;
margin
:
3px
5px
3px
0
;
padding
:
3px
20px
3px
5px
;
border
:
1px
solid
#ccc
;
max-width
:
100%
;
background-color
:
#f2f2f2
;
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#f2f2f2
));
background-image
:
-webkit-linear-gradient
(
top
,
#fff
,
#f2f2f2
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
,
#f2f2f2
);
-webkit-box-shadow
:
0
0
2px
#fff
inset
,
0
1px
0
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
0
0
2px
#fff
inset
,
0
1px
0
rgba
(
0
,
0
,
0
,
.05
);
border-radius
:
1px
;
color
:
#333
;
line-height
:
16px
;
cursor
:
default
}
.chosen-container-multi
.chosen-choices
li
.search-choice
span
{
word-wrap
:
break-word
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
{
position
:
absolute
;
top
:
3px
;
right
:
3px
;
display
:
block
;
width
:
12px
;
height
:
12px
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
:before
{
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f00d"
;
color
:
#999
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
:hover:before
{
color
:
#666
}
.chosen-container-multi
.chosen-choices
li
.search-choice-disabled
{
padding-right
:
5px
;
border
:
1px
solid
#ccc
;
background-color
:
#e4e4e4
;
color
:
#666
}
.chosen-container-multi
.chosen-choices
li
.search-choice-focus
{
background
:
#d4d4d4
}
.chosen-container-multi
.chosen-choices
li
.search-choice-focus
.search-choice-close
{
background-position
:
-42px
-10px
}
.chosen-container-multi
.chosen-results
{
margin
:
0
;
padding
:
0
}
.chosen-container-multi
.chosen-drop
.result-selected
{
display
:
list-item
;
color
:
#ccc
;
cursor
:
default
}
.chosen-container-active
.chosen-single
{
border
:
1px
solid
#3bb4f2
;
-webkit-box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
);
box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
)}
.chosen-container-active.chosen-with-drop
.chosen-single
{
border
:
1px
solid
#bbb
;
-webkit-box-shadow
:
0
1px
0
#fff
inset
;
box-shadow
:
0
1px
0
#fff
inset
}
.chosen-container-active.chosen-with-drop
.chosen-single
div
{
border-left
:
none
;
background
:
0
0
}
.chosen-container-active.chosen-with-drop
.chosen-single
div
:before
{
content
:
"\f0d8"
}
.chosen-container-active
.chosen-choices
{
border
:
1px
solid
#3bb4f2
;
-webkit-box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
);
box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
)}
.chosen-container-active
.chosen-choices
li
.search-field
input
[
type
=
"text"
]
{
color
:
#222
!important
}
.chosen-disabled
{
opacity
:
.5
!important
;
cursor
:
default
}
.chosen-disabled
.chosen-single
,
.chosen-disabled
.chosen-choices
.search-choice
.search-choice-close
{
cursor
:
default
}
\ No newline at end of file
.chosen-container
{
position
:
relative
;
display
:
inline-block
;
vertical-align
:
middle
;
font-size
:
14px
;
zoom
:
1
;
-webkit-user-select
:
none
;
-moz-user-select
:
none
;
-ms-user-select
:
none
;
user-select
:
none
}
.chosen-container
.chosen-drop
{
position
:
absolute
;
top
:
100%
;
left
:
0
;
display
:
none
;
z-index
:
1010
;
width
:
100%
;
border
:
1px
solid
#bbb
;
border-top
:
0
;
background
:
#fff
;
-webkit-box-shadow
:
0
4px
5px
rgba
(
0
,
0
,
0
,
.15
);
box-shadow
:
0
4px
5px
rgba
(
0
,
0
,
0
,
.15
)}
.chosen-container.chosen-with-drop
.chosen-drop
{
display
:
block
;}
.chosen-container
a
{
cursor
:
pointer
}
.chosen-container
.search-choice
.group-name
,
.chosen-container
.chosen-single
.group-name
{
margin-right
:
4px
;
overflow
:
hidden
;
white-space
:
nowrap
;
text-overflow
:
ellipsis
;
font-weight
:
400
;
color
:
#999
}
.chosen-container
.search-choice
.group-name
:after
,
.chosen-container
.chosen-single
.group-name
:after
{
content
:
":"
;
padding-left
:
2px
;
vertical-align
:
top
}
.chosen-container-single
.chosen-single
{
position
:
relative
;
display
:
block
;
overflow
:
hidden
;
padding
:
0
0
0
8px
;
height
:
36px
;
border
:
1px
solid
#ddd
;
background-color
:
#fff
;
color
:
#444
;
text-decoration
:
none
;
white-space
:
nowrap
;
line-height
:
35px
}
.chosen-container-single
.chosen-default
{
color
:
#999
}
.chosen-container-single
.chosen-single
span
{
display
:
block
;
overflow
:
hidden
;
margin-right
:
26px
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
}
.chosen-container-single
.chosen-single-with-deselect
span
{
margin-right
:
38px
}
.chosen-container-single
.chosen-single
abbr
{
position
:
absolute
;
top
:
10px
;
right
:
26px
;
display
:
block
;
width
:
12px
;
height
:
12px
;
color
:
#999
}
.chosen-container-single
.chosen-single
abbr
:before
{
position
:
absolute
;
left
:
0
;
top
:
0
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f00d"
}
.chosen-container-single
.chosen-single
abbr
:hover
{
color
:
#666
}
.chosen-container-single
.chosen-single
div
{
position
:
absolute
;
top
:
0
;
right
:
0
;
display
:
block
;
width
:
18px
;
height
:
100%
}
.chosen-container-single
.chosen-single
div
:before
{
color
:
#999
;
content
:
"\f0d7"
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
}
.chosen-container-single
.chosen-search
{
position
:
relative
;
z-index
:
1010
;
margin
:
0
;
padding
:
5px
;
white-space
:
nowrap
}
.chosen-container-single
.chosen-search
:after
{
position
:
absolute
;
right
:
10px
;
top
:
15px
;
color
:
#aaa
;
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f002"
}
.chosen-container-single
.chosen-search
input
[
type
=
"text"
]
{
margin
:
1px
0
;
padding
:
5px
20px
5px
5px
;
width
:
100%
;
height
:
auto
;
outline
:
0
;
border
:
1px
solid
#ccc
;
font-size
:
1em
;
line-height
:
normal
;
border-radius
:
0
}
.chosen-container-single
.chosen-drop
{
margin-top
:
-1px
;
-webkit-background-clip
:
padding-box
;
background-clip
:
padding-box
}
.chosen-container-single.chosen-container-single-nosearch
.chosen-search
{
position
:
absolute
;
left
:
-9999px
}
.chosen-container
.chosen-results
{
color
:
#444
;
position
:
relative
;
overflow-x
:
hidden
;
overflow-y
:
auto
;
margin
:
0
4px
4px
0
;
padding
:
0
0
0
4px
;
max-height
:
240px
;
-webkit-overflow-scrolling
:
touch
}
.chosen-container
.chosen-results
li
{
display
:
none
;
margin
:
0
;
padding
:
5px
6px
;
list-style
:
none
;
line-height
:
15px
;
word-wrap
:
break-word
;
-webkit-touch-callout
:
none
}
.chosen-container
.chosen-results
li
.active-result
{
display
:
list-item
;
cursor
:
pointer
}
.chosen-container
.chosen-results
li
.disabled-result
{
display
:
list-item
;
color
:
#ccc
;
cursor
:
default
}
.chosen-container
.chosen-results
li
.highlighted
{
background-color
:
#0e90d2
;
color
:
#fff
}
.chosen-container
.chosen-results
li
.no-results
{
color
:
#777
;
display
:
list-item
;
background
:
#f4f4f4
}
.chosen-container
.chosen-results
li
.group-result
{
display
:
list-item
;
font-weight
:
700
;
cursor
:
default
;
color
:
#777
}
.chosen-container
.chosen-results
li
.group-option
{
padding-left
:
18px
}
.chosen-container
.chosen-results
li
.group-option
+
.group-result
{
margin-top
:
10px
}
.chosen-container
.chosen-results
li
em
{
font-style
:
normal
;
text-decoration
:
underline
}
.chosen-container-multi
.chosen-choices
{
position
:
relative
;
overflow
:
hidden
;
margin
:
0
;
padding
:
3px
5px
;
width
:
100%
;
height
:
auto
!important
;
height
:
1%
;
border
:
1px
solid
#ddd
;
background-color
:
#fff
;
cursor
:
text
}
.chosen-container-multi
.chosen-choices
li
{
float
:
left
;
list-style
:
none
}
.chosen-container-multi
.chosen-choices
li
.search-field
{
margin
:
0
;
padding
:
0
;
white-space
:
nowrap
}
.chosen-container-multi
.chosen-choices
li
.search-field
input
[
type
=
"text"
]
{
margin
:
0
;
padding
:
0
;
height
:
25px
;
outline
:
0
;
border
:
0
!important
;
background
:
transparent
!important
;
-webkit-box-shadow
:
none
;
box-shadow
:
none
;
color
:
#999
;
font-size
:
100%
;
font-family
:
sans-serif
;
line-height
:
normal
;
border-radius
:
0
}
.chosen-container-multi
.chosen-choices
li
.search-choice
{
position
:
relative
;
margin
:
3px
3px
3px
0
;
padding
:
2px
13px
1px
2px
;
border
:
1px
solid
#ccc
;
max-width
:
100%
;
background-color
:
#f2f2f2
;
background-image
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#fff
),
to
(
#f2f2f2
));
background-image
:
-webkit-linear-gradient
(
top
,
#fff
,
#f2f2f2
);
background-image
:
linear-gradient
(
to
bottom
,
#fff
,
#f2f2f2
);
-webkit-box-shadow
:
0
0
2px
#fff
inset
,
0
1px
0
rgba
(
0
,
0
,
0
,
.05
);
box-shadow
:
0
0
2px
#fff
inset
,
0
1px
0
rgba
(
0
,
0
,
0
,
.05
);
border-radius
:
1px
;
color
:
#333
;
line-height
:
16px
;
cursor
:
default
}
.chosen-container-multi
.chosen-choices
li
.search-choice
span
{
word-wrap
:
break-word
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
{
position
:
absolute
;
top
:
2px
;
right
:
0px
;
display
:
block
;
width
:
12px
;
height
:
12px
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
:before
{
display
:
inline-block
;
font-family
:
"FontAwesome"
,
sans-serif
;
font-weight
:
400
;
font-style
:
normal
;
vertical-align
:
baseline
;
line-height
:
1
;
-webkit-font-smoothing
:
antialiased
;
-moz-osx-font-smoothing
:
grayscale
;
content
:
"\f00d"
;
color
:
#999
}
.chosen-container-multi
.chosen-choices
li
.search-choice
.search-choice-close
:hover:before
{
color
:
#666
}
.chosen-container-multi
.chosen-choices
li
.search-choice-disabled
{
padding-right
:
5px
;
border
:
1px
solid
#ccc
;
background-color
:
#e4e4e4
;
color
:
#666
}
.chosen-container-multi
.chosen-choices
li
.search-choice-focus
{
background
:
#d4d4d4
}
.chosen-container-multi
.chosen-choices
li
.search-choice-focus
.search-choice-close
{
background-position
:
-42px
-10px
}
.chosen-container-multi
.chosen-results
{
margin
:
0
;
padding
:
0
}
.chosen-container-multi
.chosen-drop
.result-selected
{
display
:
list-item
;
color
:
#ccc
;
cursor
:
default
}
.chosen-container-active
.chosen-single
{
border
:
1px
solid
#3bb4f2
;
-webkit-box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
);
box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
)}
.chosen-container-active.chosen-with-drop
.chosen-single
{
border
:
1px
solid
#bbb
;
-webkit-box-shadow
:
0
1px
0
#fff
inset
;
box-shadow
:
0
1px
0
#fff
inset
}
.chosen-container-active.chosen-with-drop
.chosen-single
div
{
border-left
:
none
;
background
:
0
0
}
.chosen-container-active.chosen-with-drop
.chosen-single
div
:before
{
content
:
"\f0d8"
}
.chosen-container-active
.chosen-choices
{
border
:
1px
solid
#3bb4f2
;
-webkit-box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
);
box-shadow
:
0
0
5px
rgba
(
0
,
0
,
0
,
.3
)}
.chosen-container-active
.chosen-choices
li
.search-field
input
[
type
=
"text"
]
{
color
:
#222
!important
}
.chosen-disabled
{
opacity
:
.5
!important
;
cursor
:
default
}
.chosen-disabled
.chosen-single
,
.chosen-disabled
.chosen-choices
.search-choice
.search-choice-close
{
cursor
:
default
}
\ No newline at end of file
public/static/common/lib/amazeui-chosen/amazeui.chosen.min.js
浏览文件 @
d9f8398a
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录