Commit 1e52baeb by mushishixian

tem

parent bc5d4b0e
Showing with 410 additions and 2089 deletions
......@@ -4,10 +4,6 @@ namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Filter\SupplierFilter;
use App\Http\Exporter\SupplierListExporter;
use App\Http\Exporter\SupplierWordExporter;
use App\Http\Services\BlacklistService;
use App\Http\Services\DepartmentService;
use App\Http\Services\LogService;
use App\Http\Services\MessageService;
use App\Http\Services\SupplierAuditService;
......@@ -15,10 +11,9 @@ use App\Http\Services\SupplierService;
use App\Http\Services\SyncSupplierService;
use App\Http\Transformers\SupplierTransformer;
use App\Http\Validators\SupplierValidator;
use App\Model\SupplierBlacklistModel;
use App\Model\RedisModel;
use App\Model\SupplierChannelModel;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
//通用API,比如获取品牌列表,分类列表等
class SupplierApiController extends Controller
......@@ -89,6 +84,7 @@ class SupplierApiController extends Controller
if (!$result) {
$this->response(-1, '操作失败');
}
$this->response(0, '操作成功');
}
......@@ -115,26 +111,30 @@ class SupplierApiController extends Controller
public function GetSupplierList(Request $request)
{
$model = new SupplierChannelModel();
$query = $model;
$query = $model->orderBy('update_time', 'desc');
$filter = new SupplierFilter();
$query = $filter->listFilter($request, $query);
$limit = $request->get('limit', 10);
$list = $query->paginate($limit)->toArray();
$transformer = new SupplierTransformer();
$list['data'] = $transformer->transformList($list['data']);
if (env('LOGIN_DOMAIN') == 'user.liexin.net') {
$list['total'] = $list['total'] > 10 ? 10 : $list['total'];
}
// if (env('LOGIN_DOMAIN') == 'user.liexin.net') {
// $list['total'] = $list['total'] > 10 ? 10 : $list['total'];
// }
$this->response(0, 'ok', $list['data'], $list['total']);
}
public function DisableSupplier($request)
{
//禁用不是直接修改为无法交易,而是改为待审核,然后审核通过后,变成无法交易
$supplierId = $request->get('supplier_id');
$model = new SupplierChannelModel();
$redis = new RedisModel();
//存到redis做数据对比
$redis->hset('audit_disable_supplier_list', $supplierId, 1);
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'status' => $model::STATUS_DISABLE,
'status' => $model::STATUS_IN_REVIEW,
]);
if ($result) {
//发送队列消息同步到金蝶
......
......@@ -6,6 +6,7 @@ namespace App\Http\Controllers\Filter;
use App\Http\Services\AdminUserService;
use App\Http\Services\DepartmentService;
use App\Model\SupplierChannelModel;
use Illuminate\Support\Facades\DB;
class SupplierFilter
......@@ -14,60 +15,10 @@ class SupplierFilter
public function listFilter($request, $query)
{
$map = $request->all();
//判断权限,如果有审核权限的,可以查看所有成员的数据
//超管可以查看所有
$userId = $request->user->userId;
$isLeader = perm($userId, 'LeaderView');
$query = $query->with([
'blacklist'
]);
//先判断获取类型
$sourceType = array_get($map, 'source_type');
switch ($sourceType) {
case "all":
//这个页面会给部门老大查看的,只能看到自己下面的人员申请的供应商
//审核人或者超管,看全部
if ($isLeader) {
$departmentService = new DepartmentService();
//下属用户id
$subordinateUserIds = $departmentService->getSubordinateUserIds($userId);
$query->whereIn('create_uid', $subordinateUserIds);
}
$query->where('status', '!=', -3)->where('status', '!=', -1);
$query->orderBy('supplier_id', 'desc');
break;
case "own":
//自己的供应商,只显示属于自己的(排除黑名单)
$adminUserService = new AdminUserService();
$userCode = $adminUserService->getCodeIdByUserId($userId);
if ($userCode && empty($map['create_uid'])) {
$query->whereRaw(DB::raw("(create_uid = $userId or purchase_uid = $userCode or channel_uid like '%${userCode}%') "));
// $query->whereRaw(DB::raw("(create_uid = $userId or channel_uid like '%${userCode}%') "));
} else {
$query->where('create_uid', $userId);
}
$query->where('status', '!=', -3);
$query->orderBy('supplier_id', 'desc');
break;
case "audited":
//已审核列表只显示 启用,禁用,驳回
$query->whereIn('status', [2, 3, -2]);
$query->orderBy('audit_time', 'desc');
break;
default:
$status = $request->get('status', 0);
$statusArray = explode(',', $status);
if (!empty($statusArray)) {
$query->whereIn('status', $statusArray);
}
$query->orderBy('supplier_id', 'desc');
break;
}
//显示默认的数据(有权限逻辑)
$query = $this->defaultFilter($query, $map['source_type']);
//判断筛选参数
if ($request->user->userId != 1443) {
$query->where('is_type', 0);
}
if (!empty($map['supplier_name'])) {
$query->where('supplier_name', 'like', "%{$map['supplier_name']}%");
......@@ -94,6 +45,15 @@ class SupplierFilter
if (!empty($map['status'])) {
$query->where('status', $map['status']);
}
if (!empty($map['has_sku'])) {
if ($map['has_sku'] == 1) {
$query->where('sku_num', '>', 0);
} else {
$query->where('sku_num', 0);
}
}
if (!empty($map['create_time'])) {
$times = explode('~', $map['create_time']);
$startTime = strtotime($times[0]);
......@@ -111,4 +71,99 @@ class SupplierFilter
return $query;
}
public function defaultFilter($query, $sourceType)
{
$userId = request()->user->userId;
$codeId = request()->user->codeId;
$canViewAllSupplier = checkPerm('ViewAllSupplier');
$canViewSubordinateSupplier = checkPerm('ViewSubordinateSupplier');
if (request()->user->userId != 1443 || !$canViewAllSupplier) {
$query->where('is_type', 0);
}
//默认展示的数据查询
//看全部的权限,优先级最高
if ($canViewAllSupplier) {
//能查看所有的话,限制基本没有
} else {
//如果能看部下的,那需要判断的地方就多了不少
if ($canViewSubordinateSupplier) {
$departmentService = new DepartmentService();
//下属用户id(结果包括自己的id)
$subordinateUserIds = $departmentService->getSubordinateUserIds($userId);
$adminUserService = new AdminUserService();
$subordinateCodeIds = $adminUserService->getCodeIdsByUserIds($subordinateUserIds);
//因为可以查看自己部下相关的采购员,开发员的供应商,所以要构建复杂likeIn语句需要的数据
//注意下面三个条件最外层要用()包围起来,要不然mysql数据会有问题,具体自己查询mysql的and和or的语法注意事项
$likeSqlRaw = implode('|', $subordinateCodeIds);
$inCodeIdSql = implode(',', $subordinateCodeIds);
$inUserIdSql = implode(',', $subordinateUserIds);
$inCodeIdSql = "(" . $inCodeIdSql . ")";
$inUserIdSql = "(" . $inUserIdSql . ")";
$query->whereRaw(DB::raw("(create_uid in $inUserIdSql or purchase_uid in $inCodeIdSql or channel_uid REGEXP '$likeSqlRaw') "));
} else {
//剩下的就只是看自己相关的
$query->whereRaw(DB::raw("(create_uid = $userId or purchase_uid = $codeId or channel_uid like '%${codeId}%') "));
}
}
//先判断获取类型
switch ($sourceType) {
case "all":
break;
case "pending":
//待审核供应商(其实就是没有提交审核申请的,默认是草稿
$query->where('status', SupplierChannelModel::STATUS_PENDING);
break;
case "in_review":
//审核中
$query->where('status', SupplierChannelModel::STATUS_IN_REVIEW);
break;
case "passed":
//已通过
$query->where('status', SupplierChannelModel::STATUS_PASSED);
break;
case "rejected":
//未通过
$query->where('status', SupplierChannelModel::STATUS_REJECT);
break;
case "disable":
//未通过
$query->where('status', SupplierChannelModel::STATUS_DISABLE);
break;
case "no_purchase_uid":
//没有渠道开发
$query->where('status', '!=', SupplierChannelModel::STATUS_DISABLE)
->where('purchase_uid', '');
break;
case "invalid_channel_uid":
//不合理的采购(比如采购离职了)
$adminUserService = new AdminUserService();
$resignedUsers = $adminUserService->getResignedUsers();
$resignedUserCodes = array_column($resignedUsers, 'code_id');
//存在无效(离职)开发员
$query->where('status', '!=', SupplierChannelModel::STATUS_DISABLE)
->whereIn('purchase_uid', $resignedUserCodes);
break;
case "invalid_purchase_uid":
//不合理的渠道开发(比如渠道开发离职了)
$adminUserService = new AdminUserService();
$resignedUsers = $adminUserService->getResignedUsers();
$resignedUserCodes = array_column($resignedUsers, 'code_id');
//存在无效(离职)开发员
$query->where('status', '!=', SupplierChannelModel::STATUS_DISABLE)
->whereIn('purchase_uid', $resignedUserCodes);
break;
case "to_follow_up":
//待跟进
$query->where('to_follow_up', 1);
break;
case "no_sku":
//没有sku
$query->where('sku_num', 0);
break;
}
return $query;
}
}
\ No newline at end of file
......@@ -4,6 +4,8 @@
namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\IntracodeModel;
use App\Model\UserInfoModel;
use Illuminate\Support\Facades\DB;
class AdminUserService
......@@ -11,26 +13,37 @@ class AdminUserService
public function getAdminUserInfoByCodeId($codeId)
{
$adminId = DB::connection()->table('lie_intracode')->where('code_id', $codeId)->value('admin_id');
return DB::connection()->table('user_info')->where('userId', $adminId)->first();
$intracodeModel = new IntracodeModel();
$userInfoModel = new UserInfoModel();
$adminId = $intracodeModel->where('code_id', $codeId)->value('admin_id');
return $userInfoModel->where('userId', $adminId)->first();
}
public function getCodeIdByUserId($userId)
{
return DB::connection()->table('lie_intracode')->where('admin_id', $userId)->value('code_id');
$intracodeModel = new IntracodeModel();
return $intracodeModel->where('admin_id', $userId)->value('code_id');
}
public function getAdminUserInfo($userId)
{
$user = DB::connection()->table('user_info')->where('userId', $userId)->first();
$userInfoModel = new UserInfoModel();
$user = $userInfoModel->where('userId', $userId)->first();
return $user ?: [];
}
//获取离职人员列表
public function getResignedUsers()
{
$user = DB::connection()->table('user_info')->leftJoin('lie_intracode','user_info.userId','=','lie_intracode.admin_id')
->where('user_info.status', 4)->where('lie_intracode.code_id','!=','')->get();
return $user ?: [];
$userInfoModel = new UserInfoModel();
$user = $userInfoModel->leftJoin('lie_intracode', 'user_info.userId', '=', 'lie_intracode.admin_id')
->where('user_info.status', 4)->where('lie_intracode.code_id', '!=', '')->get();
return $user ? $user->toArray() : [];
}
public function getCodeIdsByUserIds($userIds)
{
$intracodeModel = new IntracodeModel();
return $intracodeModel->whereIn('admin_id', $userIds)->pluck('code_id');
}
}
\ No newline at end of file
......@@ -9,6 +9,10 @@ use Illuminate\Support\Facades\DB;
class LogService
{
//供应商不同数据库字段对应的中文,用于日志记录
public $fieldMapToLogContent = [
'supplier_name' => '供应商名称',
];
//添加日志
public function AddLog($supplierId, $type, $action, $content, $remark = '')
{
......
......@@ -89,17 +89,27 @@ class SupplierService
$channel['create_time'] = time();
$supplierId = $model->insertGetId($channel);
$this->saveSupplierCode($supplierId);
$logAction = "新增供应商";
$logContent = '新增供应商';
$logRemark = '';
} else {
$extraFaxService = new SupplierExtraFeeService();
$extraFaxService->saveSupplierExtraFee($extraFax);
$supplierId = $channel['supplier_id'];
$supplierData = $model->where('supplier_id', $supplierId)->first();
$model->where('supplier_id', $supplierId)->update($channel);
$this->saveSupplierCode($supplierId);
$logAction = "更新供应商";
$logContent = "更新供应商";
$logRemark = json_encode($supplierData);
}
//插入系数到redis
$this->saveRatioToRedis($supplierId);
//重新生成外部显示的编码
$supplierSn = $this->generateSupplierSn($supplierId, $channel['supplier_group']);
//保存日志
$logService = new LogService();
$logService->AddLog($supplierId, 1, $logAction, $logContent, $logRemark);
//修改数据
$model->where('supplier_id', $supplierId)->update(['supplier_sn' => $supplierSn]);
// $messageService = new MessageService();
......
......@@ -3,6 +3,7 @@
namespace App\Http\Services;
use App\Http\Controllers\Filter\SupplierFilter;
use App\Model\SupplierChannelModel;
use Illuminate\Support\Facades\DB;
......@@ -11,35 +12,28 @@ class SupplierStatisticsService
//获取供应商列表需要统计的信息
public function getSupplierListStatistics()
{
$model = new SupplierChannelModel();
$total = $model->count();
$total = $this->getStatisticsCount('all');
//待审核,就是以前的草稿
$pending = $model->where('status', $model::STATUS_PENDING)->count();
$pending = $this->getStatisticsCount('pending');
//审核中
$inReview = $model->where('status', $model::STATUS_IN_REVIEW)->count();
$inReview = $this->getStatisticsCount('in_review');
//通过
$passed = $model->where('status', $model::STATUS_PASSED)->count();
$passed = $this->getStatisticsCount('passed');
//未通过
$rejected = $model->where('status', $model::STATUS_REJECT)->count();
$rejected = $this->getStatisticsCount('rejected');
//禁用
$disable = $model->where('status', $model::STATUS_DISABLE)->count();
$disable = $this->getStatisticsCount('disable');
//没有渠道开发员
$noPurchaseUid = $model->where('status', '!=', $model::STATUS_DISABLE)->where('purchase_uid', '=', '')->count();
//没有sku的
$noSku = $model->where('sku_num', '==', 0)->count();
$adminUserService = new AdminUserService();
$resignedUsers = $adminUserService->getResignedUsers();
$resignedUserCodes = array_column($resignedUsers, 'code_id');
//存在无效(离职)开发员
$invalidPurchaseUid = $model->where('status', '!=', $model::STATUS_DISABLE)
->whereIn('purchase_uid', $resignedUserCodes)->count();
//构建likeIn语句需要的数据
$likeSqlRaw = implode('|', $resignedUserCodes);
$noPurchaseUid = $this->getStatisticsCount('no_purchase_uid');
//存在无效(离职)采购员
$invalidChannelUid = $model->where('status', '!=', $model::STATUS_DISABLE)
->whereRaw(DB::raw("channel_uid REGEXP '$likeSqlRaw'"))->count();
//待跟进
$toFollowUp = $model->where('status', '!=', $model::STATUS_DISABLE)->where('to_follow_up', 1)->count();
$invalidChannelUid = $this->getStatisticsCount('invalid_channel_uid');
//存在无效(离职)开发员
$invalidPurchaseUid = $this->getStatisticsCount('invalid_purchase_uid');
//需要跟进的
$toFollowUp = $this->getStatisticsCount('to_follow_up');
//没有sku的
$noSku = $this->getStatisticsCount('no_sku');
$result = [
'total' => $total,
......@@ -59,8 +53,17 @@ class SupplierStatisticsService
$value = '999+';
}
return $value;
},$result);
}, $result);
return $result;
}
private function getStatisticsCount($type)
{
$model = new SupplierChannelModel();
$model = $model->where('supplier_id','>',0);
//显示默认的数据(有权限逻辑)
$filter = new SupplierFilter();
return $filter->defaultFilter($model, $type)->count();
}
}
\ No newline at end of file
<?php
namespace App\Model;
use Illuminate\Database\Eloquent\Model;
class UserInfoModel extends Model
{
protected $table='user_info';
protected $primaryKey = 'userId';
public $timestamps = false;
}
......@@ -6,7 +6,7 @@ namespace App\Presenters\Filter;
class DayTypePresenter
{
public function render($map = [], $linkageName = '')
public function render($relateObjName = '')
{
$unique = "unique_" . mt_rand(1, 100000);
$html = <<<EOF
......
......@@ -27,6 +27,7 @@ class TransformableInputPresenter
</div>
</div>
<script>
$(function() {
layui.use(['form', 'element'], function () {
let form = layui.form;
form.on('select($unique)', function(data){
......@@ -34,6 +35,8 @@ class TransformableInputPresenter
form.render();
});
});
});
</script>
EOF;
return $html;
......
......@@ -29,12 +29,15 @@ class TransformableSelectPresenter
</div>
</div>
<script>
$(function() {
layui.use(['form', 'element'], function () {
let form = layui.form;
form.on('select($unique)', function(data){
data.othis.parent().parent().parent().find('.value_select').attr('name',data.value);
});
});
});
</script>
EOF;
return $html;
......
......@@ -4,16 +4,21 @@
namespace App\Presenters\Filter;
use Carbon\Carbon;
class TransformableTimeIntervalPresenter
{
public function render($map = [])
{
$unique = "unique_" . mt_rand(1, 100000);
$defaultKey = array_keys($map)[0];
$todayTimeInterval = Carbon::now()->startOfDay()->toDateString() . ' ~ ' . Carbon::now()->addDay(1)->toDateString();
$threeDayTimeInterval = Carbon::now()->subDay(3)->toDateString() . ' ~ ' . Carbon::now()->addDay(1)->toDateString();
$thisWeekTimeInterval = Carbon::now()->startOfWeek()->toDateString() . ' ~ ' . Carbon::now()->addDay(1)->toDateString();
$thisMonthTimeInterval = Carbon::now()->startOfMonth()->toDateString() . ' ~ ' . Carbon::now()->addDay(1)->toDateString();
$html = <<<EOF
<div class="layui-row" style="width:268px;margin-bottom: 3px;">
<div class="layui-row" style="margin-bottom: 3px;">
<div class="layui-col-md6">
<div class="layui-col-md5">
<div class="layui-input-inline" style="width: 100px;margin-left: 10px">
<select lay-filter="$unique">
......@@ -21,13 +26,41 @@ class TransformableTimeIntervalPresenter
</select>
</div>
</div>
<div class="layui-col-md7" style="margin-left: -3px">
<div class="layui-col-md7" style="margin-left: -15px">
<div class="layui-input-inline" style="min-width: 150px;width: 158px">
<input type="text" name="$defaultKey" id="$unique" placeholder="请选择时间区间" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-col-md6">
<div style="margin-top: 5px;">
<div class="layui-col-md2" style="margin-left: 5px">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm day_type_button"
dateInterval="$todayTimeInterval"
id="${unique}_today">今日</button>
</div>
<div class="layui-col-md2">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm day_type_button"
dateInterval="$threeDayTimeInterval"
id="${unique}_last_days">近三天</button>
</div>
<div class="layui-col-md2">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm day_type_button" style="margin-left: 11px"
dateInterval="$thisWeekTimeInterval"
id="${unique}_this_week">本周</button>
</div>
<div class="layui-col-md2">
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm day_type_button" style="margin-left: 10px"
dateInterval="$thisMonthTimeInterval"
id="${unique}_this_month">本月</button>
</div>
<div class="layui-col-md3">
</div>
</div>
</div>
</div>
<script>
$(function() {
layui.use(['form', 'element','laydate'], function(){
let laydate = layui.laydate;
let form = layui.form;
......@@ -38,9 +71,23 @@ class TransformableTimeIntervalPresenter
elem: '#$unique'
,type: 'date'
,trigger:'click'
,range: '-' //或 range: '~' 来自定义分割字符
,range: '~' //或 range: '~' 来自定义分割字符
});
$('.day_type_button').click(function() {
$('.day_type_button').attr('class','layui-btn layui-btn-primary layui-btn-sm day_type_button');
$(this).attr('class','layui-btn layui-btn-sm layui-btn-normal day_type_button');
alert($(this).attr('dateInterval'));
laydate.render({
elem: '#$unique'
,type: 'date'
,value: $(this).attr('dateInterval')
,trigger:'click'
,range: '~' //或 range: '~' 来自定义分割字符
});
});
});
})
</script>
EOF;
......
......@@ -7,7 +7,7 @@ layui.config({ // common.js是配置layui扩展模块的目录,每个页面
steps: 'steps/steps',
notice: 'notice/notice',
cascader: 'cascader/cascader',
dropdown: 'dropdown/dropdown',
// dropdown: 'dropdown/dropdown',
fileChoose: 'fileChoose/fileChoose',
Split: 'Split/Split',
Cropper: 'Cropper/Cropper',
......
This diff could not be displayed because it is too large.
/** layui-v2.5.6 MIT License By https://www.layui.com */
blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge,.layui-upload-iframe{position:absolute;width:0;height:0}.layui-edge{border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-upload-iframe{border:0;visibility:hidden}.layui-upload-enter{border:1px solid #009E94;background-color:#009E94;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}@-webkit-keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-left{-webkit-animation-name:layui-m-anim-left;animation-name:layui-m-anim-left}@-webkit-keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-right{-webkit-animation-name:layui-m-anim-right;animation-name:layui-m-anim-right}@-webkit-keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.layui-m-anim-lout{-webkit-animation-name:layui-m-anim-lout;animation-name:layui-m-anim-lout}@-webkit-keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.layui-m-anim-rout{-webkit-animation-name:layui-m-anim-rout;animation-name:layui-m-anim-rout}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
\ No newline at end of file
/** layui-v2.5.6 MIT License By https://www.layui.com */
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
\ No newline at end of file
html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #eee;border-left-width:6px;background-color:#FAFAFA;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:40px;line-height:40px;border-bottom:1px solid #eee}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 10px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view .layui-code-ol li:first-child{padding-top:10px}.layui-code-view .layui-code-ol li:last-child{padding-bottom:10px}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}.layui-code-demo .layui-code{visibility:visible!important;margin:-15px;border-top:none;border-right:none;border-bottom:none}.layui-code-demo .layui-tab-content{padding:15px;border-top:none}
\ No newline at end of file
/** layui-v2.5.6 MIT License By https://www.layui.com */
.laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}
\ No newline at end of file
.laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.2s;animation-duration:.2s;-webkit-animation-fill-mode:both;animation-fill-mode:both;animation-name:laydate-downbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@keyframes laydate-downbit{0%{opacity:.3;transform:translate3d(0,-5px,0)}100%{opacity:1;transform:translate3d(0,0,0)}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content,.layui-laydate-range .laydate-main-list-1 .layui-laydate-header{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#B5FFF8}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eee;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px}
\ No newline at end of file
/** layui-v2.5.6 MIT License By https://www.layui.com */
.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
.layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:50px;line-height:50px;border-bottom:1px solid #F0F0F0;font-size:14px;color:#333;overflow:hidden;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:17px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:300px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:260px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:300px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:51px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
/**
* 树形表格 2.x
* date:2019-11-08 License By http://easyweb.vip
*/
/* 最外层容器 */
.ew-tree-table {
margin: 10px 0;
position: relative;
}
.ew-tree-table .layui-table {
margin: 0;
table-layout: fixed;
}
/* 表格容器 */
.ew-tree-table-group {
position: relative;
}
/* 主体表格容器 */
.ew-tree-table > .ew-tree-table-group > .ew-tree-table-box {
overflow: auto;
position: relative;
box-sizing: border-box;
}
/* 表头表格容器 */
.ew-tree-table > .ew-tree-table-group > .ew-tree-table-head {
overflow: hidden;
position: relative;
box-sizing: border-box;
background-color: #f2f2f2;
}
/* 容器加边框 */
.ew-tree-table .ew-tree-table-border {
position: absolute;
background-color: #e6e6e6;
}
.ew-tree-table .ew-tree-table-border.top {
left: 0;
right: 0;
top: 0;
height: 1px;
}
.ew-tree-table .ew-tree-table-border.left {
top: 0;
left: 0;
bottom: 0;
width: 1px;
}
.ew-tree-table .ew-tree-table-border.right {
top: 0;
right: 0;
bottom: 0;
width: 0.52px;
}
.ew-tree-table .ew-tree-table-border.bottom {
left: 0;
right: 0;
bottom: 0;
height: 0.52px;
}
/* table的loading */
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading {
padding: 10px 0;
text-align: center;
}
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading > i {
color: #999;
font-size: 30px;
}
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading.ew-loading-float {
position: absolute;
left: 0;
right: 0;
top: 0;
}
/* 空数据提示 */
.ew-tree-table .ew-tree-table-box > .ew-tree-table-empty {
color: #666;
font-size: 14px;
text-align: center;
}
/* 折叠箭头 */
.ew-tree-table .ew-tree-table-arrow {
margin-right: 5px;
vertical-align: middle;
}
.ew-tree-table .ew-tree-table-arrow:before {
content: "\e623";
}
.ew-tree-table .ew-tree-table-open .ew-tree-table-arrow:before {
content: "\e625";
}
.ew-tree-table .ew-tree-table-arrow.arrow2 {
font-size: 13px;
font-weight: 600;
line-height: 16px;
height: 16px;
width: 16px;
display: inline-block;
text-align: center;
color: #888;
}
.ew-tree-table .ew-tree-table-arrow.arrow2:before {
content: "\e602";
}
.ew-tree-table .ew-tree-table-open .ew-tree-table-arrow.arrow2:before {
content: "\e61a";
}
/* 箭头隐藏 */
.ew-tree-table-arrow.ew-tree-table-arrow-hide {
visibility: hidden;
}
/* 箭头变加载中状态 */
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow:before {
content: "\e63d" !important;
}
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow {
margin-right: 0;
}
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow + * {
margin-left: 5px;
}
/* tr加载中禁用事件 */
.ew-tree-table tr.ew-tree-table-loading > * {
pointer-events: none !important;
}
/* 图标列 */
.ew-tree-table .ew-tree-pack {
cursor: pointer;
line-height: 16px;
display: inline-block;
vertical-align: middle;
}
.ew-tree-table .ew-tree-pack > span {
height: 16px;
line-height: 16px;
display: inline-block;
vertical-align: middle;
}
/* 折叠行 */
.ew-tree-table .ew-tree-tb-hide {
display: none;
}
/* 缩进 */
.ew-tree-table .ew-tree-table-indent {
margin-right: 5px;
padding-left: 16px;
}
/* 图标 */
.ew-tree-table .ew-tree-icon {
margin-right: 5px;
display: inline-block;
vertical-align: middle;
}
.ew-tree-table .ew-tree-icon-folder, .ew-tree-table .ew-tree-icon-file {
width: 22px;
height: 16px;
line-height: 16px;
position: relative;
}
.ew-tree-table .ew-tree-icon-folder:after, .ew-tree-table .ew-tree-icon-file:after {
content: "";
width: 22px;
height: 22px;
position: absolute;
left: 0;
top: -3px;
background-size: cover;
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzE3MTQ3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIxNTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTE4MSA4MjNoLTMxLjFjLTI4LjYgMC01MS45LTIzLjItNTEuOS01MS45VjI1Mi40YzAtMjguNiAyMy4yLTUxLjkgNTEuOS01MS45SDQzMGw4MyA3Ny44aDMzMmM0NS42IDAgODMgMzUgODMgNzcuOHYzODkuMWMwIDQyLjgtMzcuMyA3Ny44LTgzIDc3LjhIMTgxeiIgcC1pZD0iMjE1OSIgZmlsbD0iI0ZGQTUwMCI+PC9wYXRoPjwvc3ZnPg==")
}
.ew-tree-table tr.ew-tree-table-open > td > .ew-tree-pack .ew-tree-icon-folder:after {
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzA5MDQwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE5NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTMyNi40IDQ2MC4xSDkyOGwtODIuMyAzMjRjLTUuOCAyMy0yNi42IDM5LjEtNTAuMyAzOS4xSDE0OS45Yy0yOC42IDAtNTEuOS0yMy4yLTUxLjktNTEuOVYyNTIuNmMwLTI4LjYgMjMuMi01MS45IDUxLjktNTEuOUg0MTNsMTA1IDEwMy43aDI5MS44YzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45djc3LjhoLTUyN0wyMDMuNCA1NjMuOWg1Mi43bDcwLjMtMTAzLjh6IiBwLWlkPSIxOTc4IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
}
.ew-tree-table .ew-tree-icon-file:after {
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyNTE1MDUxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEzNTE4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ij48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik03NDEuMyAxNjEuNmgtNDIuNGMtMTAuNSAwLTE5LjEgOC42LTE5LjEgMTkuMXM4LjYgMTkuMSAxOS4xIDE5LjFoNDIuNGM0MiAwIDc2LjIgMzQuMiA3Ni4yIDc2LjN2NDc3LjRjMCA0Mi4xLTM0LjMgNzYuMy03Ni40IDc2LjNIMjgyLjljLTQyLjEgMC03Ni4zLTM0LjItNzYuMy03Ni4zVjI3Ni4xYzAtNDIuMSAzNC4yLTc2LjMgNzYuMy03Ni4zaDQ0LjljMTAuNSAwIDE5LjEtOC42IDE5LjEtMTkuMXMtOC42LTE5LjEtMTkuMS0xOS4xaC00NC45Yy02My4xIDAtMTE0LjUgNTEuNC0xMTQuNSAxMTQuNXY0NzcuNGMwIDYzLjEgNTEuNCAxMTQuNSAxMTQuNSAxMTQuNWg0NTguM2M2My4xIDAgMTE0LjUtNTEuNCAxMTQuNS0xMTQuNVYyNzYuMWMtMC4xLTYzLjEtNTEuNC0xMTQuNS0xMTQuNC0xMTQuNXoiIHAtaWQ9IjEzNTE5IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PHBhdGggZD0iTTY4MC42IDUwNS4zSDM0My40Yy0xMi4zIDAtMjIuMyA4LjYtMjIuMyAxOS4xczEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek00MzkuMyAyMTMuM2gxNDQuNmMxOSAwIDM0LjQtMTIuOCAzNC40LTI4LjZzLTE1LjQtMjguNi0zNC40LTI4LjZINDM5LjNjLTE5IDAtMzQuNCAxMi44LTM0LjQgMjguNi0wLjEgMTUuNyAxNS4zIDI4LjYgMzQuNCAyOC42ek02ODAuNiA2NThIMzQzLjRjLTEyLjMgMC0yMi4zIDguNS0yMi4zIDE5LjEgMCAxMC41IDEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek02ODAuNiAzNTIuNUgzNDMuNGMtMTIuMyAwLTIyLjMgOC42LTIyLjMgMTkuMXMxMCAxOS4xIDIyLjMgMTkuMWgzMzcuMmMxMi4zIDAgMjIuMy04LjYgMjIuMy0xOS4xIDAtMTAuNS0xMC0xOS4xLTIyLjMtMTkuMXoiIHAtaWQ9IjEzNTIwIiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
}
/* 序号列调整 */
.ew-tree-table td[data-type="numbers"] {
padding-left: 0;
padding-right: 0;
text-align: center;
}
/* 单元格内表单元素样式调整 */
.ew-tree-table .layui-form-switch {
margin-top: 0;
}
.ew-tree-table .layui-form-radio {
margin: 0;
}
/* checkbox和radio列调整 */
.ew-tree-table-checkbox + .layui-form-checkbox {
padding: 0;
}
.ew-tree-table-checkbox + .layui-form-checkbox > .layui-icon {
color: transparent;
transition: background-color .1s linear;
}
.ew-tree-table-checkbox + .layui-form-checkbox.layui-form-checked > .layui-icon {
color: #fff;
}
.ew-tree-table-radio + .layui-form-radio {
padding: 0;
height: 20px;
line-height: 20px;
}
.ew-tree-table-radio + .layui-form-radio > i {
margin: 0;
height: 20px;
font-size: 20px;
line-height: 20px;
}
/* checkbox半选状态 */
.ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon:before {
content: "";
width: 9px;
height: 2px;
display: inline-block;
background-color: #eee;
vertical-align: middle;
}
.ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon {
line-height: 14px;
}
/* 单元格编辑 */
.ew-tree-table .layui-table td[data-edit] {
cursor: text;
}
.ew-tree-table .ew-tree-table-edit {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
border-radius: 0;
box-shadow: 1px 1px 20px rgba(0, 0, 0, .15);
}
.ew-tree-table .ew-tree-table-edit:focus {
border-color: #5FB878 !important;
}
.ew-tree-table .ew-tree-table-edit.layui-form-danger {
border-color: #FF5722 !important;
}
/* 搜索数据隐藏行 */
.ew-tree-table tr.ew-tree-table-filter-hide {
display: none !important;
}
/* 单元格超出隐藏 */
.ew-tree-table-td-single {
position: relative;
}
.ew-tree-table-td-single > .ew-tree-tips {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.ew-tree-table-td-single > .ew-tree-tips-c {
position: absolute;
right: -10px;
top: -6px;
width: 24px;
height: 24px;
line-height: 24px;
font-size: 18px;
text-align: center;
color: #fff;
border-radius: 50%;
background-color: #666;
cursor: pointer;
display: none;
}
.ew-tree-table table tr:first-child .ew-tree-table-td-single > .ew-tree-tips-c {
top: 2px;
bottom: auto;
right: -12px;
}
.ew-tree-table-td-single.ew-tree-tips-open {
position: absolute;
top: 0;
left: 0;
z-index: 5;
background-color: #fff;
min-height: 100%;
box-sizing: border-box;
box-shadow: 3px 3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table table thead .ew-tree-table-td-single.ew-tree-tips-open {
background-color: #f2f2f2;
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left {
right: 0;
left: auto;
box-shadow: -3px 3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-bottom {
bottom: 0;
top: auto;
box-shadow: 3px -3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left.ew-show-bottom {
box-shadow: -3px -3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open > .ew-tree-tips {
padding: 9px 15px;
overflow: auto;
max-width: 280px;
max-height: 100px;
width: max-content;
white-space: normal;
}
.ew-tree-table-td-single.ew-tree-tips-open > .ew-tree-tips-c {
display: block;
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left > .ew-tree-tips-c {
left: -10px;
right: auto !important;
}
.ew-tree-table td > .layui-table-grid-down {
bottom: 0;
height: auto;
}
/* 辅助样式 */
.pd-tb-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.break-all {
word-break: break-all !important;
}
/* 列宽拖拽调整 */
/*.ew-tree-table .ew-tb-resize {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 10px;
cursor: col-resize;
}*/
/**
* 树形表格 2.x
* date:2019-11-08 License By http://easyweb.vip
*/
layui.define(['layer', 'laytpl', 'form'], function (exports) {
var $ = layui.jquery;
var layer = layui.layer;
var laytpl = layui.laytpl;
var form = layui.form;
var device = layui.device();
var MOD_NAME = 'treeTable'; // 绑定事件的模块名
// 改为同步加载css,避免滚动条补丁首次进入无效
$.ajax({
url: layui.cache.base + 'treeTable/treeTable.css',
async: false,
success: function (res) {
$('head').append('<style id="ew-tree-table-css">' + res + '</style>');
}
});
/** TreeTable类构造方法 */
var TreeTable = function (options) {
// 表格默认参数
var defaultOption = {
elem: undefined, // table容器
data: [], // 数据
cols: [], // 列配置
reqData: undefined, // 异步加载数据的方法
width: undefined, // 容器宽度
height: undefined, // 容器高度
cellMinWidth: 100, // 单元格最小宽度
skin: undefined, // 表格风格
size: undefined, // 表格尺寸
even: undefined, // 是否开启隔行变色
style: undefined, // 容器样式
getThead: function () { // 获取表头
return getThead(this);
},
getAllChooseBox: function () { // 获取全选按钮
return getAllChooseBox(this);
},
getColgroup: function () { // 获取colgroup
return getColgroup(this);
},
getTbWidth: function () { // 计算table的宽度
return getTbWidth(this);
},
tree: {},
text: {}
};
// 默认tree参数
var treeDefaultOption = {
idName: 'id', // id的字段名
pidName: 'pid', // pid的字段名
childName: 'children', // children的字段名
haveChildName: 'haveChild', // 是否有children标识的字段名
openName: 'open', // 是否默认展开的字段名
isPidData: false, // 是否是pid形式的数据
iconIndex: 0, // 图标列的索引
arrowType: undefined, // 箭头类型
onlyIconControl: false, // 仅允许点击图标折叠
getIcon: function (d) { // 自定义图标
return getIcon(d, this);
}
};
// 默认提示文本
var textDefaultOption = {
none: '<div style="padding: 18px 0;">暂无数据</div>' // 空文本提示文字
};
this.options = $.extend(defaultOption, options);
this.options.tree = $.extend(treeDefaultOption, options.tree);
this.options.text = $.extend(textDefaultOption, options.text);
for (var i = 0; i < options.cols.length; i++) {
// 列默认参数
var colDefaultOption = {
field: undefined, // 字段名
title: undefined, // 标题
align: undefined, // 对齐方式
templet: undefined, // 自定义模板
toolbar: undefined, // 工具列
width: undefined, // 宽度
minWidth: undefined, // 最小宽度
type: undefined, // 列类型
style: undefined, // 单元格样式
class: '', // 单元格class
singleLine: true, // 一行显示
fixed: undefined, // 固定列
unresize: false // 关闭拖拽列宽
};
this.options.cols[i] = $.extend(colDefaultOption, options.cols[i]);
}
this.init(); // 初始化表格
this.bindEvents(); // 绑定事件
};
/** 初始化表格 */
TreeTable.prototype.init = function () {
var options = this.options;
var tbFilter = options.elem.substring(1); // 树表格的filter
var $elem = $(options.elem); // 原始表格
// 生成树表格dom
$elem.removeAttr('lay-filter');
$elem.next('.ew-tree-table').remove();
var viewHtml = '<div class="layui-form ew-tree-table" style="' + (options.style || '') + '">';
viewHtml += ' <div class="ew-tree-table-group">';
viewHtml += ' <div class="ew-tree-table-head">';
viewHtml += ' <table class="layui-table"></table>';
viewHtml += ' <div class="ew-tree-table-border bottom"></div>';
viewHtml += ' </div>';
viewHtml += ' <div class="ew-tree-table-box">';
viewHtml += ' <table class="layui-table"></table>';
viewHtml += ' <div class="ew-tree-table-loading"><i class="layui-icon layui-anim layui-anim-rotate layui-anim-loop">&#xe63d;</i></div>';
viewHtml += ' <div class="ew-tree-table-empty" style="display: none;">' + (options.text.none || '') + '</div>';
viewHtml += ' </div>';
viewHtml += ' </div>';
viewHtml += ' <div class="ew-tree-table-border top"></div><div class="ew-tree-table-border left"></div>';
viewHtml += ' <div class="ew-tree-table-border right"></div><div class="ew-tree-table-border bottom"></div>';
viewHtml += ' </div>';
$elem.after(viewHtml);
// 获取各个组件
var components = this.getComponents();
var $view = components.$view; // 容器
$view.attr('lay-filter', tbFilter);
var $group = components.$group; // 表格容器
var $tbBox = components.$tbBox; // 表格主体部分容器
var $table = components.$table; // 主体表格
var $headTb = components.$headTb; // 表头表格
var $tbEmpty = components.$tbEmpty; // 空视图
var $tbLoading = components.$tbLoading; // 空视图
// 基础参数设置
options.skin && $table.attr('lay-skin', options.skin);
options.size && $table.attr('lay-size', options.size);
options.even && $table.attr('lay-even', options.even);
// 容器边框调整
if (device.ie) {
$view.find('.ew-tree-table-border.bottom').css('height', '1px');
$view.find('.ew-tree-table-border.right').css('width', '1px');
}
// 固定宽度
if (options.width) {
$view.css('width', options.width);
$headTb.parent().css('width', options.width);
$tbBox.css('width', options.width);
}
// col最小宽度
var tbWidth = options.getTbWidth();
if (tbWidth.setWidth) {
$table.css('width', tbWidth.minWidth);
$headTb.css('width', tbWidth.minWidth);
} else {
$table.css('min-width', tbWidth.minWidth);
$headTb.css('min-width', tbWidth.minWidth);
}
// 渲染表结构及表头
var colgroupHtmlStr = options.getColgroup();
var headHtmlStr = colgroupHtmlStr + '<thead>' + options.getThead() + '</thead>';
if (options.height) { // 固定表头
$table.html(colgroupHtmlStr + '<tbody></tbody>');
$headTb.html(headHtmlStr);
$table.css('margin-top', '-1px');
if (options.height.indexOf('full-') == 0) { // 差值高度
var h = parseFloat(options.height.substring(5));
var cssStr = '<style>.ew-tree-table > .ew-tree-table-group > .ew-tree-table-box {';
cssStr += ' height: ' + (getPageHeight() - h) + 'px;';
cssStr += ' height: -moz-calc(100vh - ' + h + 'px);';
cssStr += ' height: -webkit-calc(100vh - ' + h + 'px);';
cssStr += ' height: calc(100vh - ' + h + 'px);';
cssStr += ' }</style>';
$tbBox.after(cssStr);
$tbBox.attr('ew-tree-full', h);
} else { // 固定高度
$tbBox.css('height', options.height);
}
} else {
$table.html(headHtmlStr + '<tbody></tbody>');
}
form.render('checkbox', tbFilter); // 渲染表头的表单元素
// 渲染数据
if (options.reqData) { // 异步加载
this.renderBodyAsync();
} else { // 一次性渲染
if (options.data && options.data.length > 0) {
// 处理数据
if (options.tree.isPidData) { // pid形式数据
options.data = treeTb.pidToChildren(options.data, options.tree.idName, options.tree.pidName, options.tree.childName);
} else { // children形式数据
addPidField(options.data, options.tree);
}
$table.children('tbody').html(this.renderBody(options.data));
$tbLoading.hide();
this.renderNumberCol(); // 渲染序号列
form.render(null, tbFilter); // 渲染表单元素
this.checkChooseAllCB(); // 联动全选框
updateFixedTbHead($view);
} else {
$tbLoading.hide();
$tbEmpty.show();
}
}
};
/** 绑定各项事件 */
TreeTable.prototype.bindEvents = function () {
var that = this;
var options = this.options;
var components = this.getComponents();
var $view = components.$view;
var $table = components.$table;
var $tbEmpty = components.$tbEmpty;
var tbFilter = components.tbFilter;
var checkboxFilter = components.checkboxFilter;
var radioFilter = components.radioFilter;
var cbAllFilter = components.cbAllFilter;
var $tbody = $table.children('tbody');
/** 行事件公共返回对象 */
var commonMember = function (ext) {
var $tr = $(this);
if (!$tr.is('tr')) {
var $td_tr = $tr.parent('tr[data-id]');
if ($td_tr.length > 0) {
$tr = $td_tr;
} else {
$tr = $tr.parentsUntil('tr[data-id]').last().parent();
}
}
var id = $tr.data('id');
var data = getDataById(options.data, id, options.tree);
var obj = {
tr: $tr, // 当前行
data: data, //当前行数据
del: function () { // 删除行
var indent = parseInt(this.tr.data('indent'));
this.tr.nextAll('tr').each(function () {
if (parseInt($(this).data('indent')) <= indent) {
return false;
}
$(this).remove();
});
var $parentTr = this.tr.prevAll('tr');
this.tr.remove();
delDataById(options.data, id, options.tree);
if (!options.data || options.data.length <= 0) {
$tbEmpty.show();
}
that.renderNumberCol(); // 渲染序号列
// 联动父级
$parentTr.each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < indent) {
that.checkParentCB($(this));
indent = tInd;
}
});
that.checkChooseAllCB(); // 联动全选框
},
update: function (fields) { // 修改行
data = $.extend(data, fields);
var indent = parseInt(this.tr.data('indent'));
that.renderBodyTr(data, indent, undefined, this.tr);
form.render(null, tbFilter); // 渲染表单元素
that.checkIndeterminateCB(); // 恢复半选框状态
that.checkChooseAllCB(); // 联动全选框
}
};
return $.extend(obj, ext);
};
// 绑定折叠展开事件
$tbody.off('click.fold').on('click.fold', '.ew-tree-pack', function (e) {
layui.stope(e);
var $tr = $(this).parentsUntil('tr').last().parent();
if ($tr.hasClass('ew-tree-table-loading')) { // 已是加载中
return;
}
var haveChild = $tr.data('have-child');
if (haveChild != true && haveChild != 'true') { // 子节点
return;
}
var id = $tr.data('id');
var isOpen = $tr.hasClass('ew-tree-table-open');
var data = getDataById(options.data, id, options.tree);
if (!isOpen && (!data[options.tree.childName] || data[options.tree.childName].length <= 0)) {
that.renderBodyAsync(data, $tr);
} else {
toggleRow($tr);
}
});
// 绑定lay-event事件
$tbody.off('click.tool').on('click.tool', '*[lay-event]', function (e) {
layui.stope(e);
var $this = $(this);
layui.event.call(this, MOD_NAME, 'tool(' + tbFilter + ')', commonMember.call(this, {
event: $this.attr('lay-event')
}));
});
// 绑定单选框事件
form.on('radio(' + radioFilter + ')', function (data) {
var d = getDataById(options.data, data.value, options.tree);
that.removeAllChecked();
d.LAY_CHECKED = true; // 同时更新数据
layui.event.call(this, MOD_NAME, 'checkbox(' + tbFilter + ')', {checked: true, data: d, type: 'one'});
});
// 绑定复选框事件
form.on('checkbox(' + checkboxFilter + ')', function (data) {
var checked = data.elem.checked;
var $cb = $(data.elem);
var $layCb = $cb.next('.layui-form-checkbox');
// 如果是半选状态,点击全选
if (!checked && $layCb.hasClass('ew-form-indeterminate')) {
checked = true;
$cb.prop('checked', checked);
$cb.data('indeterminate', 'false');
$layCb.addClass('layui-form-checked');
$layCb.removeClass('ew-form-indeterminate');
}
var d = getDataById(options.data, data.value, options.tree);
d.LAY_CHECKED = checked; // 同时更新数据
// 联动操作
var $tr = $cb.parentsUntil('tr').last().parent();
if (d[options.tree.childName] && d[options.tree.childName].length > 0) {
that.checkSubCB($tr, checked); // 联动子级
}
var indent = parseInt($tr.data('indent'));
$tr.prevAll('tr').each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < indent) {
that.checkParentCB($(this)); // 联动父级
indent = tInd;
}
});
that.checkChooseAllCB(); // 联动全选框
// 回调事件
layui.event.call(this, MOD_NAME, 'checkbox(' + tbFilter + ')', {
checked: checked,
data: d,
type: 'one'
});
});
// 绑定全选复选框事件
form.on('checkbox(' + cbAllFilter + ')', function (data) {
var checked = data.elem.checked;
var $cb = $(data.elem);
var $layCb = $cb.next('.layui-form-checkbox');
if (!options.data || options.data.length <= 0) { // 如果数据为空
$cb.prop('checked', false);
$cb.data('indeterminate', 'false');
$layCb.removeClass('layui-form-checked ew-form-indeterminate');
return;
}
// 如果是半选状态,点击全选
if (!checked && $layCb.hasClass('ew-form-indeterminate')) {
checked = true;
$cb.prop('checked', checked);
$cb.data('indeterminate', 'false');
$layCb.addClass('layui-form-checked');
$layCb.removeClass('ew-form-indeterminate');
}
layui.event.call(this, MOD_NAME, 'checkbox(' + tbFilter + ')', {
checked: checked,
data: undefined,
type: 'all'
});
that.checkSubCB($table.children('tbody'), checked); // 联动操作
});
// 绑定行单击事件
$tbody.off('click.row').on('click.row', 'tr', function () {
layui.event.call(this, MOD_NAME, 'row(' + tbFilter + ')', commonMember.call(this, {}));
});
// 绑定行双击事件
$tbody.off('dblclick.rowDouble').on('dblclick.rowDouble', 'tr', function () {
layui.event.call(this, MOD_NAME, 'rowDouble(' + tbFilter + ')', commonMember.call(this, {}));
});
// 绑定单元格点击事件
$tbody.off('click.cell').on('click.cell', 'td', function (e) {
var $td = $(this);
var type = $td.data('type');
// 判断是否是复选框、单选框列
if (type == 'checkbox' || type == 'radio') {
layui.stope(e);
return;
}
var edit = $td.data('edit');
var field = $td.data('field');
if (edit) { // 开启了单元格编辑
layui.stope(e);
if ($tbody.find('.ew-tree-table-edit').length > 0) {
return;
}
var index = $td.data('index');
var indentSize = $td.children('.ew-tree-table-indent').length;
var id = $td.parent().data('id');
var d = getDataById(options.data, id, options.tree);
if ('text' == edit || 'number' == edit) { // 文本框
var $input = $('<input type="' + edit + '" class="layui-input ew-tree-table-edit"/>');
$input[0].value = d[field];
$td.append($input);
$input.focus();
$input.blur(function () {
var value = $(this).val();
if (value == d[field]) {
$(this).remove();
return;
}
var rs = layui.event.call(this, MOD_NAME, 'edit(' + tbFilter + ')', commonMember.call(this, {
value: value,
field: field
}));
if (rs == false) {
$(this).addClass('layui-form-danger');
$(this).focus();
} else {
d[field] = value; // 同步更新数据
that.renderBodyTd(d, indentSize, index, $td); // 更新单元格
}
});
} else {
console.error('不支持的单元格编辑类型:' + edit);
}
} else { // 回调单元格点击事件
var rs = layui.event.call(this, MOD_NAME, 'cell(' + tbFilter + ')', commonMember.call(this, {
td: $td,
field: field
}));
if (rs == false) {
layui.stope(e);
}
}
});
// 绑定单元格双击事件
$tbody.off('dblclick.cellDouble').on('dblclick.cellDouble', 'td', function (e) {
var $td = $(this);
var type = $td.data('type');
// 判断是否是复选框、单选框列
if (type == 'checkbox' || type == 'radio') {
layui.stope(e);
return;
}
var edit = $td.data('edit');
var field = $td.data('field');
if (edit) { // 开启了单元格编辑
layui.stope(e);
} else { // 回调单元格双击事件
var rs = layui.event.call(this, MOD_NAME, 'cellDouble(' + tbFilter + ')', commonMember.call(this, {
td: $td,
field: field
}));
if (rs == false) {
layui.stope(e);
}
}
});
// 同步滚动条
components.$tbBox.on('scroll', function () {
var $this = $(this);
var scrollLeft = $this.scrollLeft();
var scrollTop = $this.scrollTop();
components.$headTb.parent().scrollLeft(scrollLeft);
// $headGroup.scrollTop(scrollTop);
});
// 列宽拖拽调整
/*$view.off('mousedown.resize').on('mousedown.resize', '.ew-tb-resize', function (e) {
layui.stope(e);
var index = $(this).parent().data('index');
$(this).data('move', 'true');
$(this).data('x', e.clientX);
var w = $(this).parent().parent().parent().parent().children('colgroup').children('col').eq(index).attr('width');
$(this).data('width', w);
});
$view.off('mousemove.resize').on('mousemove.resize', '.ew-tb-resize', function (e) {
layui.stope(e);
var move = $(this).data('move');
if ('true' == move) {
var x = $(this).data('x');
var w = $(this).data('width');
var index = $(this).parent().data('index');
var nw = parseFloat(w) + e.clientX - parseFloat(x);
$(this).parent().parent().parent().parent().children('colgroup').children('col').eq(index).attr('width', nw);
}
});
$view.off('mouseup.resize').on('mouseup.resize', '.ew-tb-resize', function (e) {
layui.stope(e);
$(this).data('move', 'false');
});
$view.off('mouseleave.resize').on('mouseleave.resize', '.ew-tb-resize', function (e) {
layui.stope(e);
$(this).data('move', 'false');
});*/
};
/** 获取各个组件 */
TreeTable.prototype.getComponents = function () {
var $view = $(this.options.elem).next(); // 容器
var $group = $view.children('.ew-tree-table-group'); // 表格容器
var $tbBox = $group.children('.ew-tree-table-box'); // 表格主体部分容器
var $table = $tbBox.children('.layui-table'); // 主体表格
var $headTb = $group.children('.ew-tree-table-head').children('.layui-table'); // 表头表格
var $tbEmpty = $tbBox.children('.ew-tree-table-empty'); // 空视图
var $tbLoading = $tbBox.children('.ew-tree-table-loading'); // 加载视图
var tbFilter = $view.attr('lay-filter'); // 容器filter
var checkboxFilter = 'ew_tb_checkbox_' + tbFilter; // 复选框filter
var radioFilter = 'ew_tb_radio_' + tbFilter; // 单选框filter
var cbAllFilter = 'ew_tb_choose_all_' + tbFilter; // 全选按钮filter
return {
$view: $view,
$group: $group,
$tbBox: $tbBox,
$table: $table,
$headTb: $headTb,
$tbEmpty: $tbEmpty,
$tbLoading: $tbLoading,
tbFilter: tbFilter,
checkboxFilter: checkboxFilter,
radioFilter: radioFilter,
cbAllFilter: cbAllFilter
};
};
/**
* 递归渲染表格主体部分
* @param data 数据列表
* @param indentSize 缩进大小
* @param isHide 是否默认隐藏
* @returns {string}
*/
TreeTable.prototype.renderBody = function (data, indentSize, isHide) {
var options = this.options;
var treeOption = options.tree;
indentSize || (indentSize = 0);
var htmlStr = '';
for (var i = 0; i < data.length; i++) {
var d = data[i];
htmlStr += this.renderBodyTr(d, indentSize, isHide);
// 递归渲染子集
var children = d[treeOption.childName];
if (children && children.length > 0) {
htmlStr += this.renderBody(children, indentSize + 1, !d[treeOption.openName]);
}
}
return htmlStr;
};
/**
* 渲染一行数据
* @param d 行数据
* @param option 配置
* @param indentSize 缩进大小
* @param isHide 是否隐藏
* @param $tr
* @returns {string}
*/
TreeTable.prototype.renderBodyTr = function (d, indentSize, isHide, $tr) {
var options = this.options;
var cols = options.cols;
var treeOption = options.tree;
indentSize || (indentSize = 0);
var htmlStr = '';
var haveChild = getHaveChild(d, treeOption);
if ($tr) {
$tr.data('pid', d[treeOption.pidName] || '');
$tr.data('have-child', haveChild);
$tr.data('indent', indentSize);
$tr.removeClass('ew-tree-table-loading');
} else {
var classNames = '';
if (haveChild && d[treeOption.openName]) {
classNames += 'ew-tree-table-open';
}
if (isHide) {
classNames += 'ew-tree-tb-hide';
}
htmlStr += '<tr class="' + classNames + '" data-id="' + d[treeOption.idName] + '"';
htmlStr += ' data-pid="' + (d[treeOption.pidName] || '') + '" data-have-child="' + haveChild + '"';
htmlStr += ' data-indent="' + indentSize + '">';
}
for (var j = 0; j < cols.length; j++) {
var $td;
if ($tr) {
$td = $tr.children('td').eq(j);
}
htmlStr += this.renderBodyTd(d, indentSize, j, $td);
}
htmlStr += '</tr>';
return htmlStr;
};
/**
* 渲染每一个单元格数据
* @param d 行数据
* @param indentSize 缩进大小
* @param index 第几列
* @param $td
* @returns {string}
*/
TreeTable.prototype.renderBodyTd = function (d, indentSize, index, $td) {
var options = this.options;
var col = options.cols[index];
var treeOption = options.tree;
var components = this.getComponents();
var checkboxFilter = components.checkboxFilter;
var radioFilter = components.radioFilter;
indentSize || (indentSize = 0);
// 内容填充
var fieldStr = '';
if (col.type == 'numbers') { // 序号列
fieldStr += '<span class="ew-tree-table-numbers"></span>';
col.singleLine = false;
} else if (col.type == 'checkbox') { // 复选框列
var attrStr = 'name="' + checkboxFilter + '" lay-filter="' + checkboxFilter + '" value="' + d[treeOption.idName] + '"';
attrStr += d.LAY_CHECKED ? ' checked="checked"' : '';
fieldStr += '<input type="checkbox" lay-skin="primary" ' + attrStr + ' class="ew-tree-table-checkbox" />';
col.singleLine = false;
} else if (col.type == 'radio') { // 单选框列
var attrStr = 'name="' + radioFilter + '" lay-filter="' + radioFilter + '" value="' + d[treeOption.idName] + '"';
attrStr += d.LAY_CHECKED ? ' checked="checked"' : '';
fieldStr += '<input type="radio" ' + attrStr + ' class="ew-tree-table-radio" />';
col.singleLine = false;
} else if (col.templet) { // 自定义模板
if (typeof col.templet == 'function') {
fieldStr += col.templet(d);
} else if (typeof col.templet == 'string') {
laytpl($(col.templet).html()).render(d, function (html) {
fieldStr += html;
});
}
} else if (col.toolbar) { // 工具列
laytpl($(col.toolbar).html()).render(d, function (html) {
fieldStr += html;
});
} else if (col.field && d[col.field] != undefined && d[col.field] != null) { // 普通字段
fieldStr += d[col.field];
}
var tdStr = '';
// 图标列处理
if (index == treeOption.iconIndex) {
// 缩进
for (var k = 0; k < indentSize; k++) {
tdStr += '<span class="ew-tree-table-indent"></span>';
}
tdStr += '<span class="ew-tree-pack">';
// 加箭头
var haveChild = getHaveChild(d, treeOption);
tdStr += ('<i class="layui-icon ew-tree-table-arrow ' + (haveChild ? '' : 'ew-tree-table-arrow-hide') + ' ' + (options.tree.arrowType || '') + '"></i>');
// 加图标
tdStr += treeOption.getIcon(d);
if (options.tree.onlyIconControl) {
tdStr += '</span>';
tdStr += ('<span>' + fieldStr + '</span>');
} else {
tdStr += ('<span>' + fieldStr + '</span>');
tdStr += '</span>';
}
} else {
tdStr += fieldStr;
}
if ($td && col.type != 'numbers') {
$td.html(tdStr);
}
var htmlStr = '<td data-index="' + index + '" ';
col.field && (htmlStr += (' data-field="' + col.field + '"'));
col.edit && (htmlStr += (' data-edit="' + col.edit + '"'));
col.type && (htmlStr += (' data-type="' + col.type + '"'));
col.align && (htmlStr += (' align="' + col.align + '"')); // 对齐方式
col.style && (htmlStr += (' style="' + col.style + '"')); // 单元格样式
col.class && (htmlStr += (' class="' + col.class + '"')); // 单元格样式
htmlStr += '>';
if (col.singleLine) {
htmlStr += ('<div class="ew-tree-table-td-single"><i class="layui-icon layui-icon-close ew-tree-tips-c"></i><div class="ew-tree-tips">' + tdStr + '</div></div>');
} else {
htmlStr += tdStr;
}
htmlStr += '</td>';
return htmlStr;
};
/**
* 异步加载渲染
* @param data 父级数据
* @param $tr 父级dom
*/
TreeTable.prototype.renderBodyAsync = function (d, $tr) {
var that = this;
var options = this.options;
var components = this.getComponents();
var $tbEmpty = components.$tbEmpty;
var $tbLoading = components.$tbLoading;
// 显示loading
if ($tr) {
$tr.addClass('ew-tree-table-loading');
$tr.children('td').find('.ew-tree-pack').children('.ew-tree-table-arrow').addClass('layui-anim layui-anim-rotate layui-anim-loop');
} else {
if (options.data && options.data.length > 0) {
$tbLoading.addClass('ew-loading-float');
}
$tbLoading.show();
$tbEmpty.hide();
}
// 请求数据
options.reqData(d, function (res) {
if (options.tree.isPidData) {
res = treeTb.pidToChildren(res, options.tree.idName, options.tree.pidName, options.tree.childName);
}
that.renderBodyData(res, d, $tr); // 渲染内容
// 移除loading
if ($tr) {
$tr.removeClass('ew-tree-table-loading');
$tr.children('td').find('.ew-tree-pack').children('.ew-tree-table-arrow').removeClass('layui-anim layui-anim-rotate layui-anim-loop');
} else {
$tbLoading.hide();
$tbLoading.removeClass('ew-loading-float');
// 是否为空
if (!res || res.length == 0) {
$tbEmpty.show();
} else {
$tbEmpty.hide();
}
}
});
};
/**
* 根据数据渲染body
* @param data 数据集合
* @param option 配置项
* @param d 父级数据
* @param $tr 父级dom
*/
TreeTable.prototype.renderBodyData = function (data, d, $tr) {
var that = this;
var options = this.options;
var components = this.getComponents();
var $view = components.$view;
var $table = components.$table;
var tbFilter = components.tbFilter;
addPidField(data, options.tree, d); // 补充pid字段
// 更新到数据
if (d == undefined) {
options.data = data;
} else {
d[options.tree.childName] = data;
}
var indent;
if ($tr) {
indent = parseInt($tr.data('indent')) + 1;
}
var htmlStr = this.renderBody(data, indent);
if ($tr) {
// 移除旧dom
$tr.nextAll('tr').each(function () {
if (parseInt($(this).data('indent')) <= (indent - 1)) {
return false;
}
$(this).remove();
});
// 渲染新dom
$tr.after(htmlStr);
$tr.addClass('ew-tree-table-open');
} else {
$table.children('tbody').html(htmlStr);
}
form.render(null, tbFilter); // 渲染表单元素
this.renderNumberCol(); // 渲染序号列
this.checkIndeterminateCB(); // 恢复复选框半选状态
if ($tr) {
// 更新父级复选框状态
this.checkParentCB($tr);
$tr.prevAll('tr').each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < (indent - 1)) {
that.checkParentCB($(this));
indent = tInd + 1;
}
});
}
this.checkChooseAllCB(); // 联动全选框
updateFixedTbHead($view);
};
/**
* 联动子级复选框状态
* @param $tr 当前tr的dom
* @param checked
*/
TreeTable.prototype.checkSubCB = function ($tr, checked) {
var that = this;
var components = this.getComponents();
var cbFilter = components.checkboxFilter;
var indent = -1, $trList;
if ($tr.is('tbody')) {
$trList = $tr.children('tr');
} else {
indent = parseInt($tr.data('indent'));
$trList = $tr.nextAll('tr')
}
$trList.each(function () {
if (parseInt($(this).data('indent')) <= indent) {
return false;
}
var $cb = $(this).children('td').find('input[name="' + cbFilter + '"]');
$cb.prop('checked', checked);
if (checked) {
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').addClass('layui-form-checked');
$cb.next('.layui-form-checkbox').removeClass('ew-form-indeterminate');
} else {
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').removeClass('layui-form-checked ew-form-indeterminate');
}
that.update($(this).data('id'), {LAY_CHECKED: checked}); // 同步更新数据
});
};
/**
* 联动父级复选框状态
* @param $tr 父级的dom
*/
TreeTable.prototype.checkParentCB = function ($tr) {
var that = this;
var components = this.getComponents();
var cbFilter = components.checkboxFilter;
var indent = parseInt($tr.data('indent'));
var ckNum = 0, unCkNum = 0;
$tr.nextAll('tr').each(function () {
if (parseInt($(this).data('indent')) <= indent) {
return false;
}
var $cb = $(this).children('td').find('input[name="' + cbFilter + '"]');
if ($cb.prop('checked')) {
ckNum++;
} else {
unCkNum++;
}
});
var $cb = $tr.children('td').find('input[name="' + cbFilter + '"]');
if (ckNum > 0 && unCkNum == 0) { // 全选
$cb.prop('checked', true);
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').addClass('layui-form-checked');
$cb.next('.layui-form-checkbox').removeClass('ew-form-indeterminate');
that.update($tr.data('id'), {LAY_CHECKED: true}); // 同步更新数据
} else if (ckNum == 0 && unCkNum > 0) { // 全不选
$cb.prop('checked', false);
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').removeClass('layui-form-checked ew-form-indeterminate');
that.update($tr.data('id'), {LAY_CHECKED: false}); // 同步更新数据
} else if (ckNum > 0 && unCkNum > 0) { // 半选
$cb.prop('checked', true);
$cb.data('indeterminate', 'true');
$cb.next('.layui-form-checkbox').addClass('layui-form-checked ew-form-indeterminate');
that.update($tr.data('id'), {LAY_CHECKED: true}); // 同步更新数据
}
};
/** 联动全选复选框 */
TreeTable.prototype.checkChooseAllCB = function () {
var components = this.getComponents();
var cbAllFilter = components.cbAllFilter;
var cbFilter = components.checkboxFilter;
var $tbody = components.$table.children('tbody');
var ckNum = 0, unCkNum = 0;
$tbody.children('tr').each(function () {
var $cb = $(this).children('td').find('input[name="' + cbFilter + '"]');
if ($cb.prop('checked')) {
ckNum++;
} else {
unCkNum++;
}
});
var $cb = $('input[lay-filter="' + cbAllFilter + '"]');
if (ckNum > 0 && unCkNum == 0) { // 全选
$cb.prop('checked', true);
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').addClass('layui-form-checked');
$cb.next('.layui-form-checkbox').removeClass('ew-form-indeterminate');
} else if ((ckNum == 0 && unCkNum > 0) || (ckNum == 0 && unCkNum == 0)) { // 全不选
$cb.prop('checked', false);
$cb.data('indeterminate', 'false');
$cb.next('.layui-form-checkbox').removeClass('layui-form-checked ew-form-indeterminate');
} else if (ckNum > 0 && unCkNum > 0) { // 半选
$cb.prop('checked', true);
$cb.data('indeterminate', 'true');
$cb.next('.layui-form-checkbox').addClass('layui-form-checked ew-form-indeterminate');
}
};
/** 填充序号列 */
TreeTable.prototype.renderNumberCol = function () {
var components = this.getComponents();
var $tbody = components.$table.children('tbody');
$tbody.children('tr').each(function (index) {
$(this).children('td').find('.ew-tree-table-numbers').text(index + 1);
});
};
/* 解决form.render之后半选框被重置的问题 */
TreeTable.prototype.checkIndeterminateCB = function () {
var components = this.getComponents();
var cbFilter = components.checkboxFilter;
$('input[lay-filter="' + cbFilter + '"]').each(function () {
var $cb = $(this);
if ($cb.data('indeterminate') == 'true' && $cb.prop('checked')) {
$cb.next('.layui-form-checkbox').addClass('ew-form-indeterminate');
}
});
};
/**
* 搜索数据
* @param ids 关键字或数据id集合
*/
TreeTable.prototype.filterData = function (ids) {
var components = this.getComponents();
var $trList = components.$table.children('tbody').children('tr');
if (typeof ids == 'string') { // 关键字
var keyword = ids;
ids = [];
$trList.each(function () {
var id = $(this).data('id');
$(this).children('td').each(function () {
if ($(this).text().indexOf(keyword) != -1) {
ids.push(id);
return false;
}
});
});
}
$trList.addClass('ew-tree-table-filter-hide');
for (var i = 0; i < ids.length; i++) {
var $tr = $trList.filter('[data-id="' + ids[i] + '"]');
$tr.removeClass('ew-tree-table-filter-hide');
// 联动父级
var indent = parseInt($tr.data('indent'));
$tr.prevAll('tr').each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < indent) {
$(this).removeClass('ew-tree-table-filter-hide'); // 联动父级
if (!$(this).hasClass('ew-tree-table-open')) {
toggleRow($(this));
}
indent = tInd;
}
});
}
};
/** 重置搜索 */
TreeTable.prototype.clearFilter = function () {
var components = this.getComponents();
var $trList = components.$table.children('tbody').children('tr');
$trList.removeClass('ew-tree-table-filter-hide');
};
/** 展开指定行 */
TreeTable.prototype.expand = function (id, cascade) {
var components = this.getComponents();
var $tr = components.$table.children('tbody').children('tr[data-id="' + id + '"]');
if (!$tr.hasClass('ew-tree-table-open')) {
$tr.children('td').find('.ew-tree-pack').trigger('click');
}
if (cascade == false) {
return;
}
// 联动父级
var indent = parseInt($tr.data('indent'));
$tr.prevAll('tr').each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < indent) {
if (!$(this).hasClass('ew-tree-table-open')) {
$(this).children('td').find('.ew-tree-pack').trigger('click');
}
indent = tInd;
}
});
};
/** 折叠指定行 */
TreeTable.prototype.fold = function (id, cascade) {
var components = this.getComponents();
var $tr = components.$table.children('tbody').children('tr[data-id="' + id + '"]');
if ($tr.hasClass('ew-tree-table-open')) {
$tr.children('td').find('.ew-tree-pack').trigger('click');
}
if (cascade == false) {
return;
}
// 联动父级
var indent = parseInt($tr.data('indent'));
$tr.prevAll('tr').each(function () {
var tInd = parseInt($(this).data('indent'));
if (tInd < indent) {
if ($(this).hasClass('ew-tree-table-open')) {
$(this).children('td').find('.ew-tree-pack').trigger('click');
}
indent = tInd;
}
});
};
/** 全部展开 */
TreeTable.prototype.expandAll = function () {
var that = this;
var components = this.getComponents();
var $trList = components.$table.children('tbody').children('tr');
$trList.each(function () {
that.expand($(this).data('id'), false);
});
};
/** 全部折叠 */
TreeTable.prototype.foldAll = function () {
var that = this;
var components = this.getComponents();
var $trList = components.$table.children('tbody').children('tr');
$trList.each(function () {
that.fold($(this).data('id'), false);
});
};
/** 获取当前数据 */
TreeTable.prototype.getData = function () {
return this.options.data;
};
/** 重载表格 */
TreeTable.prototype.reload = function (opt) {
treeTb.render($.extend(this.options, opt));
};
/** 根据id更新数据 */
TreeTable.prototype.update = function (id, fields) {
var data = getDataById(this.getData(), id, this.options.tree);
$.extend(data, fields);
};
/** 根据id删除数据 */
TreeTable.prototype.del = function (id) {
delDataById(this.getData(), id, this.options.tree);
};
/** 获取当前选中行 */
TreeTable.prototype.checkStatus = function (needIndeterminate) {
(needIndeterminate == undefined) && (needIndeterminate = true);
var that = this;
var components = this.getComponents();
var $table = components.$table;
var checkboxFilter = components.checkboxFilter;
var radioFilter = components.radioFilter;
var list = [];
// 获取单选框选中数据
var $radio = $table.find('input[name="' + radioFilter + '"]');
if ($radio.length > 0) {
var id = $radio.filter(':checked').val();
var d = getDataById(this.getData(), id, this.options.tree);
if (d) {
list.push(d);
}
} else { // 获取复选框数据
$table.find('input[name="' + checkboxFilter + '"]:checked').each(function () {
var id = $(this).val();
var isIndeterminate = $(this).next('.layui-form-checkbox').hasClass('ew-form-indeterminate');
if (needIndeterminate || !isIndeterminate) {
var d = getDataById(that.getData(), id, that.options.tree);
if (d) {
d.isIndeterminate = isIndeterminate;
list.push(d);
}
}
});
}
return list;
};
/** 设置复/单选框选中 */
TreeTable.prototype.setChecked = function (ids) {
var components = this.getComponents();
var $table = components.$table;
var checkboxFilter = components.checkboxFilter;
var radioFilter = components.radioFilter;
var $radio = $table.find('input[name="' + radioFilter + '"]');
if ($radio.length > 0) { // 开启了单选框
$radio.each(function () {
if (ids[ids.length - 1] == $(this).val()) {
$(this).next('.layui-form-radio').trigger('click');
return false;
}
});
} else { // 开启了复选框
$table.find('input[name="' + checkboxFilter + '"]').each(function () {
var $cb = $(this);
var value = $cb.val();
var $layCb = $cb.next('.layui-form-checkbox');
for (var i = 0; i < ids.length; i++) {
if (value == ids[i]) {
var checked = $cb.prop('checked');
var indeterminate = $layCb.hasClass('ew-form-indeterminate');
if (!checked || indeterminate) {
$layCb.trigger('click');
}
}
}
});
}
};
/** 移除全部选中 */
TreeTable.prototype.removeAllChecked = function () {
var components = this.getComponents();
var $table = components.$table;
var checkboxFilter = components.checkboxFilter;
this.checkSubCB($table.children('tbody'), false);
};
/**
* 刷新指定父级下的节点
* @param id 父级id,空则全部刷新
* @param data 非异步模式替换的数据
*/
TreeTable.prototype.refresh = function (id, data) {
if (isClass(id) == 'Array') {
data = id;
id = undefined;
}
var components = this.getComponents();
var $table = components.$table;
var d, $tr;
if (id != undefined) {
d = getDataById(this.getData(), id, this.options.tree);
$tr = $table.children('tbody').children('tr[data-id="' + id + '"]');
}
if (data) { // 数据模式
components.$tbLoading.addClass('ew-loading-float');
components.$tbLoading.show();
this.renderBodyData(data, d, $tr);
components.$tbLoading.hide();
components.$tbLoading.removeClass('ew-loading-float');
if (data && data.length > 0) {
components.$tbEmpty.hide();
} else {
components.$tbEmpty.show();
}
} else { // 异步模式
this.renderBodyAsync(d, $tr);
}
};
/** 生成表头 */
function getThead(options) {
var htmlStr = '<tr>';
for (var i = 0; i < options.cols.length; i++) {
var col = options.cols[i];
htmlStr += '<td data-index="' + i + '" ';
col.align && (htmlStr += ' align="' + col.align + '"'); // 对齐方式
htmlStr += ' >';
if (col.singleLine && col.type != 'checkbox') { // 单行显示
htmlStr += '<div class="ew-tree-table-td-single"><i class="layui-icon layui-icon-close ew-tree-tips-c"></i><div class="ew-tree-tips">';
}
// 标题
if (col.type == 'checkbox') {
htmlStr += options.getAllChooseBox();
} else {
htmlStr += (col.title || '');
}
// 列宽拖拽
if (!col.unresize && 'checkbox' != col.type && 'radio' != col.type && 'numbers' != col.type && 'space' != col.type) {
htmlStr += '<span class="ew-tb-resize"></span>';
}
if (col.singleLine) { // 单行显示
htmlStr += '</div></div>';
}
htmlStr += '</td>';
}
htmlStr += '</tr>';
return htmlStr;
}
/** 生成colgroup */
function getColgroup(options) {
var htmlStr = '<colgroup>';
for (var i = 0; i < options.cols.length; i++) {
var col = options.cols[i];
htmlStr += '<col ';
// 设置宽度
if (col.width) {
htmlStr += 'width="' + col.width + '"'
} else if (col.type == 'space') { // 空列
htmlStr += 'width="15"'
} else if (col.type == 'numbers') { // 序号列
htmlStr += 'width="40"'
} else if (col.type == 'checkbox' || col.type == 'radio') { // 复/单选框列
htmlStr += 'width="48"'
}
htmlStr += ' />';
}
htmlStr += '</colgroup>';
return htmlStr;
}
/** 计算table宽度 */
function getTbWidth(options) {
var minWidth = 0, setWidth = true;
for (var i = 0; i < options.cols.length; i++) {
var col = options.cols[i];
if (col.type == 'space') { // 空列
minWidth += 15;
} else if (col.type == 'numbers') { // 序号列
minWidth += 40;
} else if (col.type == 'checkbox' || col.type == 'radio') { // 复/单选框列
minWidth += 48;
} else if (!col.width || /\d+%$/.test(col.width)) { // 列未固定宽度
setWidth = false;
if (col.minWidth) {
minWidth += col.minWidth;
} else if (options.cellMinWidth) {
minWidth += options.cellMinWidth;
}
} else { // 列固定宽度
minWidth += col.width;
}
}
return {minWidth: minWidth, setWidth: setWidth};
}
/** 生成全选按钮 */
function getAllChooseBox(options) {
var tbFilter = $(options.elem).next().attr('lay-filter');
var cbAllFilter = 'ew_tb_choose_all_' + tbFilter;
return '<input type="checkbox" lay-filter="' + cbAllFilter + '" lay-skin="primary" class="ew-tree-table-checkbox"/>';
}
/** 获取列图标 */
function getIcon(d, treeOption) {
if (getHaveChild(d, treeOption)) {
return '<i class="ew-tree-icon layui-icon layui-icon-layer"></i>';
} else {
return '<i class="ew-tree-icon layui-icon layui-icon-file"></i>';
}
}
/** 折叠/展开行 */
function toggleRow($tr) {
var indent = parseInt($tr.data('indent'));
var isOpen = $tr.hasClass('ew-tree-table-open');
if (isOpen) { // 折叠
$tr.removeClass('ew-tree-table-open');
$tr.nextAll('tr').each(function () {
if (parseInt($(this).data('indent')) <= indent) {
return false;
}
$(this).addClass('ew-tree-tb-hide');
});
} else { // 展开
$tr.addClass('ew-tree-table-open');
var hideInd;
$tr.nextAll('tr').each(function () {
var ind = parseInt($(this).data('indent'));
if (ind <= indent) {
return false;
}
if (hideInd != undefined && ind > hideInd) {
return true;
}
$(this).removeClass('ew-tree-tb-hide');
if (!$(this).hasClass('ew-tree-table-open')) {
hideInd = parseInt($(this).data('indent'));
} else {
hideInd = undefined;
}
});
}
updateFixedTbHead($tr.parent().parent().parent().parent().parent());
}
/** 固定表头滚动条补丁 */
function updateFixedTbHead($view) {
var $group = $view.children('.ew-tree-table-group');
var $headBox = $group.children('.ew-tree-table-head');
var $tbBox = $group.children('.ew-tree-table-box');
var sWidth = $tbBox.width() - $tbBox.prop('clientWidth');
if (sWidth > 0) {
$headBox.css('border-right', sWidth + 'px solid #f2f2f2');
} else {
$headBox.css('border-right', 'none');
}
}
// 监听窗口大小改变
$(window).resize(function () {
$('.ew-tree-table').each(function () {
updateFixedTbHead($(this));
var $tbBox = $(this).children('.ew-tree-table-group').children('.ew-tree-table-box');
var full = $tbBox.attr('ew-tree-full');
if (full && device.ie && device.ie < 10) {
$tbBox.css('height', getPageHeight() - full);
}
});
});
// 表格溢出点击展开功能
$(document).on('mouseenter', '.ew-tree-table td', function () {
var $tdSingle = $(this).children('.ew-tree-table-td-single');
var $content = $tdSingle.children('.ew-tree-tips');
if ($tdSingle.length > 0 && $content.prop('scrollWidth') > $content.outerWidth()) {
$(this).append('<div class="layui-table-grid-down"><i class="layui-icon layui-icon-down"></i></div>');
}
}).on('mouseleave', '.ew-tree-table td', function () {
$(this).children('.layui-table-grid-down').remove();
});
// 点击箭头展开
$(document).on('click', '.ew-tree-table td>.layui-table-grid-down', function (e) {
hideAllTdTips();
var $tdSingle = $(this).parent().children('.ew-tree-table-td-single');
$tdSingle.addClass('ew-tree-tips-open');
var $box = $tdSingle.parents().filter('.ew-tree-table-box');
if ($box.length <= 0) {
$box = $tdSingle.parents().filter('.ew-tree-table-head');
}
if (($tdSingle.outerWidth() + $tdSingle.parent().offset().left) > $box.offset().left + $box.outerWidth()) {
$tdSingle.addClass('ew-show-left');
}
if (($tdSingle.outerHeight() + $tdSingle.parent().offset().top) > $box.offset().top + $box.outerHeight()) {
$tdSingle.addClass('ew-show-bottom');
}
e.stopPropagation();
});
// 点击关闭按钮关闭
$(document).on('click', '.ew-tree-table .ew-tree-tips-c', function (e) {
hideAllTdTips();
});
// 点击空白部分关闭
$(document).on('click', function () {
hideAllTdTips();
});
$(document).on('click', '.ew-tree-table-td-single.ew-tree-tips-open', function (e) {
e.stopPropagation();
});
/* 关闭所有单元格溢出提示框 */
function hideAllTdTips() {
var $single = $('.ew-tree-table-td-single');
$single.removeClass('ew-tree-tips-open');
$single.removeClass('ew-show-left');
}
/** 判断是否还有子节点 */
function getHaveChild(d, treeOption) {
var haveChild = false;
if (d[treeOption.haveChildName] != undefined) {
haveChild = d[treeOption.haveChildName];
haveChild = haveChild == true || haveChild == 'true';
} else if (d[treeOption.childName]) {
haveChild = d[treeOption.childName].length > 0;
}
return haveChild;
}
/** 补充pid字段 */
function addPidField(data, treeOption, parent) {
for (var i = 0; i < data.length; i++) {
if (parent) {
data[i][treeOption.pidName] = parent[treeOption.idName];
}
if (data[i][treeOption.childName] && data[i][treeOption.childName].length > 0) {
addPidField(data[i][treeOption.childName], treeOption, data[i]);
}
}
}
/** 根据id获取数据 */
function getDataById(data, id, treeOption) {
for (var i = 0; i < data.length; i++) {
if (data[i][treeOption.idName] == id) {
return data[i];
}
if (data[i][treeOption.childName] && data[i][treeOption.childName].length > 0) {
var d = getDataById(data[i][treeOption.childName], id, treeOption);
if (d != undefined) {
return d;
}
}
}
}
/** 根据id删除数据 */
function delDataById(data, id, treeOption) {
for (var i = 0; i < data.length; i++) {
if (data[i][treeOption.idName] == id) {
data.splice(i, 1);
return true;
}
if (data[i][treeOption.childName] && data[i][treeOption.childName].length > 0) {
var rs = delDataById(data[i][treeOption.childName], id, treeOption);
if (rs) {
return true;
}
}
}
}
/** 获取顶级的pId */
function getPids(list, idName, pidName) {
var pids = [];
for (var i = 0; i < list.length; i++) {
var hasPid = false;
for (var j = 0; j < list.length; j++) {
if (i != j && list[j][idName] == list[i][pidName]) {
hasPid = true;
}
}
if (!hasPid) {
pids.push(list[i][pidName]);
}
}
return pids;
}
/** 判断pId是否相等 */
function pidEquals(pId, pIds) {
if (isClass(pIds) == 'Array') {
for (var i = 0; i < pIds.length; i++) {
if (pId == pIds[i]) {
return true;
}
}
} else {
return pId == pIds;
}
return false;
}
/** 获取变量类型 */
function isClass(o) {
if (o === null)
return 'Null';
if (o === undefined)
return 'Undefined';
return Object.prototype.toString.call(o).slice(8, -1);
}
/* 获取浏览器高度 */
function getPageHeight() {
return document.documentElement.clientHeight || document.body.clientHeight;
}
/* 获取浏览器宽度 */
function getPageWidth() {
return document.documentElement.clientWidth || document.body.clientWidth;
}
/** 对外提供的方法 */
var treeTb = {
/* 渲染 */
render: function (options) {
return new TreeTable(options);
},
/* 事件监听 */
on: function (events, callback) {
return layui.onevent.call(this, MOD_NAME, events, callback);
},
/* pid转children形式 */
pidToChildren: function (data, idName, pidName, childName, pId) {
childName || (childName = 'children');
var newList = [];
for (var i = 0; i < data.length; i++) {
(pId == undefined) && (pId = getPids(data, idName, pidName));
if (pidEquals(data[i][pidName], pId)) {
var children = this.pidToChildren(data, idName, pidName, childName, data[i][idName]);
(children.length > 0) && (data[i][childName] = children);
newList.push(data[i]);
}
}
return newList;
}
};
exports('treeTable', treeTb);
});
<!DOCTYPE html><html><head><link rel="preload" href="./xm-select.js" as="script"><link rel="preload" href="./static/docs.js" as="script"><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><title>xm-select</title><link rel="stylesheet" href="https://www.layuicdn.com/layui-v2.5.5/css/layui.css"><script src="https://www.layuicdn.com/layui-v2.5.5/layui.all.js"></script><script src="https://unpkg.com/axios/dist/axios.min.js"></script></head><body><div id="app"></div><script type="text/javascript" src="./xm-select.js"></script><script type="text/javascript" src="./static/docs.js"></script></body></html>
\ No newline at end of file
This diff could not be displayed because it is too large.
(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{362:function(e,a,t){var n=t(364);"string"==typeof n&&(n=[[e.i,n,""]]);var i={hmr:!0,transform:void 0,insertInto:void 0};t(3)(n,i);n.locals&&(e.exports=n.locals)},363:function(e,a,t){"use strict";var n=t(362);t.n(n).a},364:function(e,a,t){(e.exports=t(2)(!1)).push([e.i,".page-changelog {\n padding-bottom: 100px;\n}\n.page-changelog .fr {\n float: right;\n padding: 0;\n}\n.page-changelog .fr.el-button {\n transform: translateY(-3px);\n}\n.page-changelog .fr a {\n display: block;\n padding: 10px 15px;\n color: #333;\n}\n.page-changelog .fr:hover a {\n color: #409EFF;\n}\n.page-changelog .heading {\n font-size: 24px;\n margin-bottom: 60px;\n color: #333;\n}\n.page-changelog .timeline {\n padding: 0;\n padding-bottom: 10px;\n position: relative;\n color: #5e6d82;\n}\n.page-changelog .timeline > li {\n position: relative;\n padding-bottom: 15px;\n list-style: none;\n line-height: 1.8;\n border: 1px solid #ddd;\n border-radius: 4px;\n}\n.page-changelog .timeline > li:not(:last-child) {\n margin-bottom: 50px;\n}\n.page-changelog .timeline ul {\n padding: 30px 30px 15px;\n}\n.page-changelog .timeline ul ul {\n padding: 0;\n padding-top: 5px;\n padding-left: 27px;\n}\n.page-changelog .timeline ul ul li {\n padding-left: 0;\n color: #555;\n word-break: normal;\n}\n.page-changelog .timeline ul ul li::before {\n content: '';\n circle: 4px #fff;\n border: solid 1px #333;\n margin-right: -12px;\n display: inline-block;\n vertical-align: middle;\n}\n.page-changelog .timeline li li {\n font-size: 16px;\n list-style: none;\n padding-left: 20px;\n padding-bottom: 5px;\n color: #333;\n word-break: break-all;\n}\n.page-changelog .timeline li li:before {\n content: '';\n circle: 6px #333;\n transform: translateX(-20px);\n display: inline-block;\n vertical-align: middle;\n}\n.page-changelog .timeline i {\n padding: 0 20px;\n display: inline-block;\n}\n.page-changelog .timeline h3 {\n margin: 0;\n padding: 15px 30px;\n border-bottom: 1px solid #ddd;\n font-size: 20px;\n color: #333;\n font-weight: bold;\n}\n.page-changelog .timeline h3 a {\n opacity: 1;\n font-size: 20px;\n float: none;\n margin-left: 0;\n color: #333;\n}\n.page-changelog .timeline h4 {\n margin: 0;\n margin-bottom: -10px;\n font-size: 18px;\n padding-left: 54px;\n padding-top: 30px;\n font-weight: bold;\n}\n.page-changelog .timeline p {\n margin: 0;\n}\n.page-changelog .timeline em {\n position: absolute;\n right: 30px;\n font-style: normal;\n top: 23px;\n font-size: 16px;\n color: #666;\n}\n",""])},366:function(e,a,t){"use strict";t.r(a);var n=function(){var e=this.$createElement,a=this._self._c||e;return a("div",{staticClass:"page-changelog"},[a("div",{staticClass:"heading"},[a("el-button",{staticClass:"fr"},[a("a",{attrs:{href:"https://gitee.com/maplemei/xm-select",target:"_blank"}},[this._v("Gitee")])]),this._v("\n 更新日志\n ")],1),a("ul",{ref:"timeline",staticClass:"timeline"}),a("change-log",{ref:"changeLog"})],1)};n._withStripped=!0;var i=function(){var e=this.$createElement;this._self._c;return this._m(0)};i._withStripped=!0;var r=t(4),l=Object(r.a)({},i,[function(){var e=this,a=e.$createElement,t=e._self._c||a;return t("section",{staticClass:"content element-doc"},[t("h2",{attrs:{id:"geng-xin-ri-zhi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#geng-xin-ri-zhi","aria-hidden":"true"}},[e._v("¶")]),e._v(" 更新日志")]),t("h3",{attrs:{id:"1.0.10"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.10","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.10")]),t("p",[t("em",[e._v("2019-10-20")])]),t("h4",{attrs:{id:"xin-zeng"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增"),t("code",[e._v("content")]),e._v("配置, 可自定义下拉框HTML, 具体见 "),t("a",{attrs:{href:"https://maplemei.gitee.io/xm-select/#/example-plugin/ZP01"}},[e._v("下拉自定义")])]),t("li",[e._v("方法"),t("code",[e._v("setValue")]),e._v("新增参数"),t("code",[e._v("listenOn")]),e._v(", 可以设置是否通过"),t("code",[e._v("on")]),e._v("监听")])]),t("h4",{attrs:{id:"bug-fixes"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复初始化渲染也会被"),t("code",[e._v("on")]),e._v("监听的bug")]),t("li",[e._v("修复分组模式下, 搜索后分组显示错误")]),t("li",[e._v("调整分组模式下也可以使用分页, 选项控制")])]),t("h3",{attrs:{id:"1.0.9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.9","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.9")]),t("p",[t("em",[e._v("2019-10-17")])]),t("h4",{attrs:{id:"xin-zeng-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-2","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增"),t("code",[e._v("size")]),e._v("尺寸设置, "),t("code",[e._v("large")]),e._v(", "),t("code",[e._v("medium")]),e._v(", "),t("code",[e._v("small")]),e._v(", "),t("code",[e._v("mini")])]),t("li",[e._v("新增"),t("code",[e._v("warning")]),e._v("方法, 可以闪烁边框提示")]),t("li",[e._v("新增搜索完成回调参数, "),t("code",[e._v("list")]),e._v(":当前过滤后的数据")])]),t("h4",{attrs:{id:"bug-fixes-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-2","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复远程搜索模式下 搜索完成回调错误")])]),t("h3",{attrs:{id:"1.0.8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.8","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.8")]),t("p",[t("em",[e._v("2019-10-16")])]),t("h4",{attrs:{id:"jian-rong-ti-shi"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#jian-rong-ti-shi","aria-hidden":"true"}},[e._v("¶")]),e._v(" 兼容提示")]),t("ul",[t("li",[e._v("此版本的on方法结构调整, 升级请注意")])]),t("h4",{attrs:{id:"xin-zeng-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-3","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增分组单击事件 click, 可选值 "),t("code",[e._v("SELECT")]),e._v(", "),t("code",[e._v("CLEAR")]),e._v(", "),t("code",[e._v("AUTO")]),e._v(", "),t("code",[e._v("自定义")])]),t("li",[e._v("新增"),t("code",[e._v("append")]),e._v("方法追加赋值, "),t("code",[e._v("delete")]),e._v("方法删除赋值")]),t("li",[e._v("新增搜索完成回调"),t("code",[e._v("filterDone")])])]),t("h4",{attrs:{id:"bug-fixes-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-3","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复全选和请空不走on监听的问题")]),t("li",[e._v("修复"),t("code",[e._v("autoRow")]),e._v("模式下, 无选项时的css样式错误")]),t("li",[e._v("修复"),t("code",[e._v("update")]),e._v("后, 下拉框显示状态被重置为隐藏")]),t("li",[e._v("优化"),t("code",[e._v("setValue")]),e._v("方法, 可自行判断下拉框的显示状态")]),t("li",[e._v("修复文档错误, 实例没有"),t("code",[e._v("render")]),e._v("方法")])]),t("h3",{attrs:{id:"1.0.7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.7","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.7")]),t("p",[t("em",[e._v("2019-10-16")])]),t("h4",{attrs:{id:"xin-zeng-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-4","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增"),t("code",[e._v("autoRow")]),e._v("配置, 可以开启自动换行")]),t("li",[e._v("新增是否显示icon配置, 隐藏图标后将变换背景色显示")])]),t("h3",{attrs:{id:"1.0.6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.6","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.6")]),t("p",[t("em",[e._v("2019-10-14")])]),t("h4",{attrs:{id:"xin-zeng-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-5","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增"),t("code",[e._v("showCount")]),e._v("配置, 可以控制选项的数量, 提高渲染性能")]),t("li",[e._v("新增分组模式, 可以在选项中使用"),t("code",[e._v("optgroup")]),e._v("或"),t("code",[e._v("children")]),e._v("来开启, 分组时不建议开启分页模式")]),t("li",[e._v("远程搜索中新增"),t("code",[e._v("show")]),e._v("参数, 可以查看当前下拉框是否显示")])]),t("h4",{attrs:{id:"bug-fixes-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-4","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复工具条中"),t("code",[e._v("全选")]),e._v("和"),t("code",[e._v("清空")]),e._v("还可以操作禁用选项的问题")]),t("li",[e._v("修复远程搜索中"),t("code",[e._v("selected")]),e._v("不回显的问题")])]),t("h3",{attrs:{id:"1.0.5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.5","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.5")]),t("p",[t("em",[e._v("2019-10-10")])]),t("h4",{attrs:{id:"bug-fixes-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-5","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复本地搜索模式下多次重复触发过滤方法, 优化搜索性能")]),t("li",[e._v("修复选项过多时, 可以使用鼠标进行横向滚动")])]),t("h3",{attrs:{id:"1.0.4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.4","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.4")]),t("p",[t("em",[e._v("2019-09-27")])]),t("h4",{attrs:{id:"xin-zeng-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-6","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("新增多选上限设置, 可以设置多选选中上限")]),t("li",[e._v("新增工具条, 可以全选, 清空, 自定义")]),t("li",[e._v("新增name设置, 可以表单提交, 隐藏input实现, 值为value逗号分隔")]),t("li",[e._v("新增getValue参数, 可以获取不同类型的值")])]),t("h4",{attrs:{id:"bug-fixes-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-6","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("修复搜索模式下输入中文不显示的问题")]),t("li",[e._v("修改render不能及时渲染, 需要二次渲染的问题")]),t("li",[e._v("修改IE下输入循环触发input事件的问题, IE 慎入")])]),t("h3",{attrs:{id:"1.0.3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.3","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.3")]),t("p",[t("em",[e._v("2019-09-25")])]),t("h4",{attrs:{id:"bug-fixes-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-7","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("借鉴"),t("a",{attrs:{href:"https://element.eleme.cn/#/zh-CN"}},[e._v("ElementUI")]),e._v("的文档编写方式, 重新编辑使用文档")]),t("li",[e._v("修改on监听时已选中数据不对的问题")]),t("li",[e._v("修改显示模式也支持html方式")]),t("li",[e._v("存在layui时, 同样也能直接使用xmSelect, 不用必须layui.xmSelect")])]),t("h3",{attrs:{id:"1.0.2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.2","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.2")]),t("p",[t("em",[e._v("2019-09-23")])]),t("h4",{attrs:{id:"bug-fixes-8"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-8","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("搜索时输入中文延迟后才进行回显")]),t("li",[e._v("远程搜索时, loading状态也能进行输入的问题")]),t("li",[e._v("单选模式下, 前面的图标变成圆形")]),t("li",[e._v("修正Windows下的一些样式错乱, 兼容IE10以上")]),t("li",[e._v("启动分页, 当搜索时, 如果搜索总页码为0, 再次搜索有页码时, 当前页面为0的问题")]),t("li",[e._v("当底部空间不足时, 再次判断顶部空间是否充足, 优化展开方向")])]),t("h3",{attrs:{id:"1.0.1"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#1.0.1","aria-hidden":"true"}},[e._v("¶")]),e._v(" 1.0.1")]),t("p",[t("em",[e._v("2019-09-22")])]),t("h4",{attrs:{id:"xin-zeng-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#xin-zeng-7","aria-hidden":"true"}},[e._v("¶")]),e._v(" 新增")]),t("ul",[t("li",[e._v("物理分页配置")]),t("li",[e._v("自定义搜索模式(远程搜索)")]),t("li",[e._v("下拉选高度配置")])]),t("h4",{attrs:{id:"bug-fixes-9"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#bug-fixes-9","aria-hidden":"true"}},[e._v("¶")]),e._v(" Bug fixes")]),t("ul",[t("li",[e._v("调整布局为flex布局")]),t("li",[e._v("展开下拉选时, 自动聚焦搜索框")])])])}],!1,null,null,null);l.options.__file="CHANGELOG.md";var s={components:{ChangeLog:l.exports},data:function(){return{count:3}},mounted:function(){var e=this.$refs.changeLog,a=e.$el.children,t=a[1].querySelector("a");t&&t.remove();for(var n=a[1].textContent.trim(),i='<li><h3><a href="javascript:;">'.concat(n,"</a></h3>"),r=a.length,l=2;l<r;l++){var s=a[l];(t=a[l].querySelector("a"))&&"header-anchor"===t.getAttribute("class")&&t.remove(),"H3"!==s.tagName?i+=a[l].outerHTML:(n=a[l].textContent.trim(),i+='</li><li><h3><a href="javascript:;">'.concat(n,"</a></h3>"))}this.$refs.timeline.innerHTML="".concat(i,"</li>"),e.$el.remove()}},o=(t(363),Object(r.a)(s,n,[],!1,null,null,null));o.options.__file="docs/pages/changelog.vue";a.default=o.exports},404:function(e,a,t){var n={"./pages/changelog.vue":366};function i(e){var a=r(e);return t(a)}function r(e){if(!t.o(n,e)){var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}return n[e]}i.keys=function(){return Object.keys(n)},i.resolve=r,e.exports=i,i.id=404}}]);
\ No newline at end of file
This diff could not be displayed because it is too large.
!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="./",n(n.s=84)}({16:function(e){e.exports={a:"xm-select",b:"1.0.10"}},2:function(e,t,n){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",o=e[3];if(!o)return n;if(t&&"function"==typeof btoa){var r=(l=o,a=btoa(unescape(encodeURIComponent(JSON.stringify(l)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(a),"/*# ".concat(s," */")),i=o.sources.map(function(e){return"/*# sourceURL=".concat(o.sourceRoot).concat(e," */")});return[n].concat(i).concat([r]).join("\n")}var l,a,s;return[n].join("\n")}(t,e);return t[2]?"@media ".concat(t[2],"{").concat(n,"}"):n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var o={},r=0;r<this.length;r++){var i=this[r][0];null!=i&&(o[i]=!0)}for(var l=0;l<e.length;l++){var a=e[l];null!=a[0]&&o[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="(".concat(a[2],") and (").concat(n,")")),t.push(a))}},t}},3:function(e,t,n){var o,r,i={},l=(o=function(){return window&&document&&document.all&&!window.atob},function(){return void 0===r&&(r=o.apply(this,arguments)),r}),a=function(e){var t={};return function(e,n){if("function"==typeof e)return e();if(void 0===t[e]){var o=function(e,t){return t?t.querySelector(e):document.querySelector(e)}.call(this,e,n);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}t[e]=o}return t[e]}}(),s=null,c=0,u=[],p=n(37);function f(e,t){for(var n=0;n<e.length;n++){var o=e[n],r=i[o.id];if(r){r.refs++;for(var l=0;l<r.parts.length;l++)r.parts[l](o.parts[l]);for(;l<o.parts.length;l++)r.parts.push(x(o.parts[l],t))}else{var a=[];for(l=0;l<o.parts.length;l++)a.push(x(o.parts[l],t));i[o.id]={id:o.id,refs:1,parts:a}}}}function d(e,t){for(var n=[],o={},r=0;r<e.length;r++){var i=e[r],l=t.base?i[0]+t.base:i[0],a={css:i[1],media:i[2],sourceMap:i[3]};o[l]?o[l].parts.push(a):n.push(o[l]={id:l,parts:[a]})}return n}function h(e,t){var n=a(e.insertInto);if(!n)throw new Error("Couldn't find a style target. This probably means that the value for the 'insertInto' parameter is invalid.");var o=u[u.length-1];if("top"===e.insertAt)o?o.nextSibling?n.insertBefore(t,o.nextSibling):n.appendChild(t):n.insertBefore(t,n.firstChild),u.push(t);else if("bottom"===e.insertAt)n.appendChild(t);else{if("object"!=typeof e.insertAt||!e.insertAt.before)throw new Error("[Style Loader]\n\n Invalid value for parameter 'insertAt' ('options.insertAt') found.\n Must be 'top', 'bottom', or Object.\n (https://github.com/webpack-contrib/style-loader#insertat)\n");var r=a(e.insertAt.before,n);n.insertBefore(t,r)}}function m(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e);var t=u.indexOf(e);t>=0&&u.splice(t,1)}function b(e){var t=document.createElement("style");if(void 0===e.attrs.type&&(e.attrs.type="text/css"),void 0===e.attrs.nonce){var o=function(){0;return n.nc}();o&&(e.attrs.nonce=o)}return y(t,e.attrs),h(e,t),t}function y(e,t){Object.keys(t).forEach(function(n){e.setAttribute(n,t[n])})}function x(e,t){var n,o,r,i;if(t.transform&&e.css){if(!(i="function"==typeof t.transform?t.transform(e.css):t.transform.default(e.css)))return function(){};e.css=i}if(t.singleton){var l=c++;n=s||(s=b(t)),o=A.bind(null,n,l,!1),r=A.bind(null,n,l,!0)}else e.sourceMap&&"function"==typeof URL&&"function"==typeof URL.createObjectURL&&"function"==typeof URL.revokeObjectURL&&"function"==typeof Blob&&"function"==typeof btoa?(n=function(e){var t=document.createElement("link");return void 0===e.attrs.type&&(e.attrs.type="text/css"),e.attrs.rel="stylesheet",y(t,e.attrs),h(e,t),t}(t),o=function(e,t,n){var o=n.css,r=n.sourceMap,i=void 0===t.convertToAbsoluteUrls&&r;(t.convertToAbsoluteUrls||i)&&(o=p(o));r&&(o+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(r))))+" */");var l=new Blob([o],{type:"text/css"}),a=e.href;e.href=URL.createObjectURL(l),a&&URL.revokeObjectURL(a)}.bind(null,n,t),r=function(){m(n),n.href&&URL.revokeObjectURL(n.href)}):(n=b(t),o=function(e,t){var n=t.css,o=t.media;o&&e.setAttribute("media",o);if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,n),r=function(){m(n)});return o(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;o(e=t)}else r()}}e.exports=function(e,t){if("undefined"!=typeof DEBUG&&DEBUG&&"object"!=typeof document)throw new Error("The style-loader cannot be used in a non-browser environment");(t=t||{}).attrs="object"==typeof t.attrs?t.attrs:{},t.singleton||"boolean"==typeof t.singleton||(t.singleton=l()),t.insertInto||(t.insertInto="head"),t.insertAt||(t.insertAt="bottom");var n=d(e,t);return f(n,t),function(e){for(var o=[],r=0;r<n.length;r++){var l=n[r];(a=i[l.id]).refs--,o.push(a)}e&&f(d(e,t),t);for(r=0;r<o.length;r++){var a;if(0===(a=o[r]).refs){for(var s=0;s<a.parts.length;s++)a.parts[s]();delete i[a.id]}}}};var v,g=(v=[],function(e,t){return v[e]=t,v.filter(Boolean).join("\n")});function A(e,t,n,o){var r=n?"":o.css;if(e.styleSheet)e.styleSheet.cssText=g(t,r);else{var i=document.createTextNode(r),l=e.childNodes;l[t]&&e.removeChild(l[t]),l.length?e.insertBefore(i,l[t]):e.appendChild(i)}}},37:function(e,t){e.exports=function(e){var t="undefined"!=typeof window&&window.location;if(!t)throw new Error("fixUrls requires window.location");if(!e||"string"!=typeof e)return e;var n=t.protocol+"//"+t.host,o=n+t.pathname.replace(/\/[^\/]*$/,"/");return e.replace(/url\s*\(((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*)\)/gi,function(e,t){var r,i=t.trim().replace(/^"(.*)"$/,function(e,t){return t}).replace(/^'(.*)'$/,function(e,t){return t});return/^(#|data:|http:\/\/|https:\/\/|file:\/\/\/|\s*$)/i.test(i)?e:(r=0===i.indexOf("//")?i:0===i.indexOf("/")?n+i:o+i.replace(/^\.\//,""),"url("+JSON.stringify(r)+")")})}},82:function(e,t,n){"use strict";function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r=function(){},i={},l=[],a=[];function s(e,t){var n,o,i,s,c=arguments,u=a;for(s=arguments.length;s-- >2;)l.push(c[s]);for(t&&null!=t.children&&(l.length||l.push(t.children),delete t.children);l.length;)if((o=l.pop())&&void 0!==o.pop)for(s=o.length;s--;)l.push(o[s]);else"boolean"==typeof o&&(o=null),(i="function"!=typeof e)&&(null==o?o="":"number"==typeof o?o=String(o):"string"!=typeof o&&(i=!1)),i&&n?u[u.length-1]+=o:u===a?u=[o]:u.push(o),n=i;var p=new r;return p.nodeName=e,p.children=u,p.attributes=null==t?void 0:t,p.key=null==t?void 0:t.key,p}function c(e,t){for(var n in t)e[n]=t[n];return e}function u(e,t){null!=e&&("function"==typeof e?e(t):e.current=t)}var p="function"==typeof Promise?Promise.resolve().then.bind(Promise.resolve()):setTimeout,f=/acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i,d=[];function h(e){!e._dirty&&(e._dirty=!0)&&1==d.push(e)&&p(m)}function m(){for(var e;e=d.pop();)e._dirty&&B(e)}function b(e,t){return e.normalizedNodeName===t||e.nodeName.toLowerCase()===t.toLowerCase()}function y(e){var t=c({},e.attributes);t.children=e.children;var n=e.nodeName.defaultProps;if(void 0!==n)for(var o in n)void 0===t[o]&&(t[o]=n[o]);return t}function x(e){var t=e.parentNode;t&&t.removeChild(e)}function v(e,t,n,r,i){if("className"===t&&(t="class"),"key"===t);else if("ref"===t)u(n,null),u(r,e);else if("class"!==t||i)if("style"===t){if(r&&"string"!=typeof r&&"string"!=typeof n||(e.style.cssText=r||""),r&&"object"==o(r)){if("string"!=typeof n)for(var l in n)l in r||(e.style[l]="");for(var l in r)e.style[l]="number"==typeof r[l]&&!1===f.test(l)?r[l]+"px":r[l]}}else if("dangerouslySetInnerHTML"===t)r&&(e.innerHTML=r.__html||"");else if("o"==t[0]&&"n"==t[1]){var a=t!==(t=t.replace(/Capture$/,""));t=t.toLowerCase().substring(2),r?n||e.addEventListener(t,g,a):e.removeEventListener(t,g,a),(e._listeners||(e._listeners={}))[t]=r}else if("list"!==t&&"type"!==t&&!i&&t in e){try{e[t]=null==r?"":r}catch(e){}null!=r&&!1!==r||"spellcheck"==t||e.removeAttribute(t)}else{var s=i&&t!==(t=t.replace(/^xlink:?/,""));null==r||!1===r?s?e.removeAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase()):e.removeAttribute(t):"function"!=typeof r&&(s?e.setAttributeNS("http://www.w3.org/1999/xlink",t.toLowerCase(),r):e.setAttribute(t,r))}else e.className=r||""}function g(e){return this._listeners[e.type](e)}var A=[],w=0,k=!1,C=!1;function S(){for(var e;e=A.shift();)e.componentDidMount&&e.componentDidMount()}function O(e,t,n,o,r,i){w++||(k=null!=r&&void 0!==r.ownerSVGElement,C=null!=e&&!("__preactattr_"in e));var l=function e(t,n,o,r,i){var l=t,a=k;if(null!=n&&"boolean"!=typeof n||(n=""),"string"==typeof n||"number"==typeof n)return t&&void 0!==t.splitText&&t.parentNode&&(!t._component||i)?t.nodeValue!=n&&(t.nodeValue=n):(l=document.createTextNode(n),t&&(t.parentNode&&t.parentNode.replaceChild(l,t),j(t,!0))),l.__preactattr_=!0,l;var s,c,u=n.nodeName;if("function"==typeof u)return function(e,t,n,o){for(var r=e&&e._component,i=r,l=e,a=r&&e._componentConstructor===t.nodeName,s=a,c=y(t);r&&!s&&(r=r._parentComponent);)s=r.constructor===t.nodeName;return r&&s&&(!o||r._component)?(I(r,c,3,n,o),e=r.base):(i&&!a&&(V(i),e=l=null),r=E(t.nodeName,c,n),e&&!r.nextBase&&(r.nextBase=e,l=null),I(r,c,1,n,o),e=r.base,l&&e!==l&&(l._component=null,j(l,!1))),e}(t,n,o,r);if(k="svg"===u||"foreignObject"!==u&&k,u=String(u),(!t||!b(t,u))&&(s=u,(c=k?document.createElementNS("http://www.w3.org/2000/svg",s):document.createElement(s)).normalizedNodeName=s,l=c,t)){for(;t.firstChild;)l.appendChild(t.firstChild);t.parentNode&&t.parentNode.replaceChild(l,t),j(t,!0)}var p=l.firstChild,f=l.__preactattr_,d=n.children;if(null==f){f=l.__preactattr_={};for(var h=l.attributes,m=h.length;m--;)f[h[m].name]=h[m].value}return!C&&d&&1===d.length&&"string"==typeof d[0]&&null!=p&&void 0!==p.splitText&&null==p.nextSibling?p.nodeValue!=d[0]&&(p.nodeValue=d[0]):(d&&d.length||null!=p)&&function(t,n,o,r,i){var l,a,s,c,u,p,f,d,h=t.childNodes,m=[],y={},v=0,g=0,A=h.length,w=0,k=n?n.length:0;if(0!==A)for(var C=0;C<A;C++){var S=h[C],O=S.__preactattr_;null!=(_=k&&O?S._component?S._component.__key:O.key:null)?(v++,y[_]=S):(O||(void 0!==S.splitText?!i||S.nodeValue.trim():i))&&(m[w++]=S)}if(0!==k)for(C=0;C<k;C++){var _;if(u=null,null!=(_=(c=n[C]).key))v&&void 0!==y[_]&&(u=y[_],y[_]=void 0,v--);else if(g<w)for(l=g;l<w;l++)if(void 0!==m[l]&&(p=a=m[l],d=i,"string"==typeof(f=c)||"number"==typeof f?void 0!==p.splitText:"string"==typeof f.nodeName?!p._componentConstructor&&b(p,f.nodeName):d||p._componentConstructor===f.nodeName)){u=a,m[l]=void 0,l===w-1&&w--,l===g&&g++;break}u=e(u,c,o,r),s=h[C],u&&u!==t&&u!==s&&(null==s?t.appendChild(u):u===s.nextSibling?x(s):t.insertBefore(u,s))}if(v)for(var C in y)void 0!==y[C]&&j(y[C],!1);for(;g<=w;)void 0!==(u=m[w--])&&j(u,!1)}(l,d,o,r,C||null!=f.dangerouslySetInnerHTML),function(e,t,n){var o;for(o in n)t&&null!=t[o]||null==n[o]||v(e,o,n[o],n[o]=void 0,k);for(o in t)"children"===o||"innerHTML"===o||o in n&&t[o]===("value"===o||"checked"===o?e[o]:n[o])||v(e,o,n[o],n[o]=t[o],k)}(l,n.attributes,f),k=a,l}(e,t,n,o,i);return r&&l.parentNode!==r&&r.appendChild(l),--w||(C=!1,i||S()),l}function j(e,t){var n=e._component;n?V(n):(null!=e.__preactattr_&&u(e.__preactattr_.ref,null),!1!==t&&null!=e.__preactattr_||x(e),_(e))}function _(e){for(e=e.lastChild;e;){var t=e.previousSibling;j(e,!0),e=t}}var R=[];function E(e,t,n){var o,r=R.length;for(e.prototype&&e.prototype.render?(o=new e(t,n),T.call(o,t,n)):((o=new T(t,n)).constructor=e,o.render=P);r--;)if(R[r].constructor===e)return o.nextBase=R[r].nextBase,R.splice(r,1),o;return o}function P(e,t,n){return this.constructor(e,n)}function I(e,t,n,o,r){e._disable||(e._disable=!0,e.__ref=t.ref,e.__key=t.key,delete t.ref,delete t.key,void 0===e.constructor.getDerivedStateFromProps&&(!e.base||r?e.componentWillMount&&e.componentWillMount():e.componentWillReceiveProps&&e.componentWillReceiveProps(t,o)),o&&o!==e.context&&(e.prevContext||(e.prevContext=e.context),e.context=o),e.prevProps||(e.prevProps=e.props),e.props=t,e._disable=!1,0!==n&&(1!==n&&!1===i.syncComponentUpdates&&e.base?h(e):B(e,1,r)),u(e.__ref,e))}function B(e,t,n,o){if(!e._disable){var r,i,l,a=e.props,s=e.state,u=e.context,p=e.prevProps||a,f=e.prevState||s,d=e.prevContext||u,h=e.base,m=e.nextBase,b=h||m,x=e._component,v=!1,g=d;if(e.constructor.getDerivedStateFromProps&&(s=c(c({},s),e.constructor.getDerivedStateFromProps(a,s)),e.state=s),h&&(e.props=p,e.state=f,e.context=d,2!==t&&e.shouldComponentUpdate&&!1===e.shouldComponentUpdate(a,s,u)?v=!0:e.componentWillUpdate&&e.componentWillUpdate(a,s,u),e.props=a,e.state=s,e.context=u),e.prevProps=e.prevState=e.prevContext=e.nextBase=null,e._dirty=!1,!v){r=e.render(a,s,u),e.getChildContext&&(u=c(c({},u),e.getChildContext())),h&&e.getSnapshotBeforeUpdate&&(g=e.getSnapshotBeforeUpdate(p,f));var k,C,_=r&&r.nodeName;if("function"==typeof _){var R=y(r);(i=x)&&i.constructor===_&&R.key==i.__key?I(i,R,1,u,!1):(k=i,e._component=i=E(_,R,u),i.nextBase=i.nextBase||m,i._parentComponent=e,I(i,R,0,u,!1),B(i,1,n,!0)),C=i.base}else l=b,(k=x)&&(l=e._component=null),(b||1===t)&&(l&&(l._component=null),C=O(l,r,u,n||!h,b&&b.parentNode,!0));if(b&&C!==b&&i!==x){var P=b.parentNode;P&&C!==P&&(P.replaceChild(C,b),k||(b._component=null,j(b,!1)))}if(k&&V(k),e.base=C,C&&!o){for(var T=e,M=e;M=M._parentComponent;)(T=M).base=C;C._component=T,C._componentConstructor=T.constructor}}for(!h||n?A.push(e):v||e.componentDidUpdate&&e.componentDidUpdate(p,f,g);e._renderCallbacks.length;)e._renderCallbacks.pop().call(e);w||o||S()}}function V(e){var t=e.base;e._disable=!0,e.componentWillUnmount&&e.componentWillUnmount(),e.base=null;var n=e._component;n?V(n):t&&(null!=t.__preactattr_&&u(t.__preactattr_.ref,null),e.nextBase=t,x(t),R.push(e),_(t)),u(e.__ref,null)}function T(e,t){this._dirty=!0,this.context=t,this.props=e,this.state=this.state||{},this._renderCallbacks=[]}c(T.prototype,{setState:function(e,t){this.prevState||(this.prevState=this.state),this.state=c(c({},this.state),"function"==typeof e?e(this.state,this.props):e),t&&this._renderCallbacks.push(t),h(this)},forceUpdate:function(e){e&&this._renderCallbacks.push(e),B(this,2)},render:function(){}});var M=function(e){for(var t,n,o=1,r="",i="",l=[0],a=function(e){1===o&&(e||(r=r.replace(/^\s*\n\s*|\s*\n\s*$/g,"")))?l.push(e||r,0):3===o&&(e||r)?(l.push(e||r,1),o=2):2===o&&"..."===r&&e?l.push(e,3):2===o&&r&&!e?l.push(!0,2,r):4===o&&n&&(l.push(e||r,2,n),n=""),r=""},s=0;s<e.length;s++){s&&(1===o&&a(),a(s));for(var c=0;c<e[s].length;c++)t=e[s][c],1===o?"<"===t?(a(),l=[l],o=3):r+=t:i?t===i?i="":r+=t:'"'===t||"'"===t?i=t:">"===t?(a(),o=1):o&&("="===t?(o=4,n=r,r=""):"/"===t?(a(),3===o&&(l=l[0]),o=l,(l=l[0]).push(o,4),o=0):" "===t||"\t"===t||"\n"===t||"\r"===t?(a(),o=2):r+=t)}return a(),l},z="function"==typeof Map,L=z?new Map:{},U=z?function(e){var t=L.get(e);return t||L.set(e,t=M(e)),t}:function(e){for(var t="",n=0;n<e.length;n++)t+=e[n].length+"-"+e[n];return L[t]||(L[t]=M(e))};(function(e){var t=function e(t,n,o,r){for(var i=1;i<n.length;i++){var l=n[i++],a="number"==typeof l?o[l]:l;1===n[i]?r[0]=a:2===n[i]?(r[1]=r[1]||{})[n[++i]]=a:3===n[i]?r[1]=Object.assign(r[1]||{},a):r.push(n[i]?t.apply(null,e(t,a,o,["",null])):a)}return r}(this,U(e),arguments,[]);return t.length>1?t:t[0]}).bind(s);function D(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function F(){for(var e=[],t=0;t<arguments.length;t++)e.push("".concat(t+1,". ").concat(arguments[t]));console.warn(e.join("\n"))}function N(e){return"[object Array]"==Object.prototype.toString.call(e)}function q(e){return"[object Function]"==Object.prototype.toString.call(e)}function J(e,t){var n;for(n in t)e[n]=e[n]&&"[object Object]"===e[n].toString()&&t[n]&&"[object Object]"===t[n].toString()?J(e[n],t[n]):e[n]=t[n];return e}function G(e,t,n){var o=n.value,r=D(t),i=function(n){var i=e[n];t.find(function(e){return e[o]==i[o]})||r.push(i)};for(var l in e)i(l);return r}function H(e){return(H="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Y(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function X(e,t){return!t||"object"!==H(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function K(e){return(K=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Q(e,t){return(Q=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var W=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),X(this,K(t).call(this,e))}var n,o,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Q(e,t)}(t,T),n=t,(o=[{key:"render",value:function(e){var t=e.tips;return s("div",{class:e.show?"xm-tips":"xm-tips dis"},t)}}])&&Y(n.prototype,o),r&&Y(n,r),t}();function Z(e){return(Z="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function ee(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function te(e,t){return!t||"object"!==Z(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ne(e){return(ne=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oe(e,t){return(oe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var re=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),te(this,ne(t).call(this,e))}var n,o,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oe(e,t)}(t,T),n=t,(o=[{key:"iconClick",value:function(e,t,n,o){this.props.ck(e,t,n,!0),o.stopPropagation()}},{key:"scrollFunc",value:function(e){if(0==e.wheelDeltaX){for(var t=this.labelRef.getElementsByClassName("xm-label-block"),n=10,o=0;o<t.length;o++)n+=t[o].getBoundingClientRect().width+5;var r=this.labelRef.getBoundingClientRect().width,i=n>r?n-r:r,l=this.labelRef.scrollLeft+e.deltaY;l<0&&(l=0),l>i&&(l=i),this.labelRef.scrollLeft=l}}},{key:"componentDidMount",value:function(){this.labelRef.addEventListener&&this.labelRef.addEventListener("DOMMouseScroll",this.scrollFunc.bind(this),!1),this.labelRef.attachEvent&&this.labelRef.attachEvent("onmousewheel",this.scrollFunc.bind(this)),this.labelRef.onmousewheel=this.scrollFunc.bind(this)}},{key:"render",value:function(e){var t=this,n=e.data,o=e.prop,r=e.theme,i=e.model,l=e.sels,a=e.autoRow,c=o.name,u=o.disabled,p=i.label,f=p.type,d=p[f],h="",m=!0;if("text"===f)h=l.map(function(e){return"".concat(d.left).concat(e[c]).concat(d.right)}).join(d.separator);else if("block"===f){m=!1;var b=$(l),y={backgroundColor:r.color},x=d.showCount<=0?b.length:d.showCount;h=b.splice(0,x).map(function(e){var n={width:d.showIcon?"calc(100% - 20px)":"100%"};return s("div",{class:["xm-label-block",e[u]?"disabled":""].join(" "),style:y},s("span",{style:n},e[c]),d.showIcon&&s("i",{class:"xm-iconfont xm-icon-close",onClick:t.iconClick.bind(t,e,!0,e[u])}))}),b.length&&h.push(s("div",{class:"xm-label-block",style:y},"+ ",b.length))}else h=l.length&&d&&d.template?d.template(n,l):l.map(function(e){return e[c]}).join(",");return s("div",{class:["xm-label",a?"auto-row":"single-row"].join(" ")},s("div",{class:"scroll",ref:function(e){return t.labelRef=e}},m?s("div",{class:"label-content",dangerouslySetInnerHTML:{__html:h}}):s("div",{class:"label-content"},h)))}}])&&ee(n.prototype,o),r&&ee(n,r),t}();function ie(e){return(ie="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function le(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function ae(e,t){return!t||"object"!==ie(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function se(e){return(se=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ce(e,t){return(ce=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ue=function(e){function t(e){var n;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(n=ae(this,se(t).call(this,e))).setState({filterValue:"",remote:!0,loading:!1,pageIndex:1,pageSize:10}),n.searchCid=0,n.inputOver=!0,n.__value="",n}var n,o,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ce(e,t)}(t,T),n=t,(o=[{key:"optionClick",value:function(e,t,n,o){this.props.ck(e,t,n),this.blockClick(o)}},{key:"groupClick",value:function(e,t){var n=this.props.prop,o=n.click,r=n.children,i=n.disabled,l=e[o],a=e[r].filter(function(e){return!e[i]});"SELECT"===l?this.props.onReset(a,"append"):"CLEAR"===l?this.props.onReset(a,"delete"):"AUTO"===l?this.props.onReset(a,"auto"):q(l)&&l(e),this.blockClick(t)}},{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"pagePrevClick",value:function(e){var t=this.state.pageIndex;t<=1||this.changePageIndex(t-1)}},{key:"pageNextClick",value:function(e,t){var n=this.state.pageIndex;n>=t||this.changePageIndex(n+1)}},{key:"changePageIndex",value:function(e){this.setState({pageIndex:e})}},{key:"searchInput",value:function(e){var t=this,n=e.target.value;n!==this.__value&&(clearTimeout(this.searchCid),this.inputOver&&(this.__value=n,this.searchCid=setTimeout(function(){t.callback=!0,t.setState({filterValue:t.__value,remote:!0})},this.props.delay)))}},{key:"focus",value:function(){this.searchInputRef&&this.searchInputRef.focus()}},{key:"blur",value:function(){this.searchInputRef&&this.searchInputRef.blur()}},{key:"handleComposition",value:function(e){var t=e.type;"compositionstart"===t?(this.inputOver=!1,clearTimeout(this.searchCid)):"compositionend"===t&&(this.inputOver=!0,this.searchInput(e))}},{key:"componentWillReceiveProps",value:function(e){var t=this;this.props.show!=e.show&&(e.show?setTimeout(function(){return t.focus()},0):(this.setState({filterValue:""}),this.__value="",this.searchInputRef&&(this.searchInputRef.value="")))}},{key:"componentDidUpdate",value:function(){if(this.callback){this.callback=!1;var e=this.props.filterDone;q(e)&&e(this.state.filterValue,this.tempData||[])}}},{key:"render",value:function(e){var t=this,n=e.data,o=e.prop,r=e.template,i=e.theme,l=e.radio,a=e.sels,c=e.empty,u=e.filterable,p=e.filterMethod,f=e.remoteSearch,d=e.remoteMethod,h=(e.delay,e.searchTips),m=o.name,b=o.value,y=o.disabled,x=o.children,v=o.optgroup,g=J([],n);if(u)if(f)this.state.remote&&(this.callback=!1,this.setState({loading:!0,remote:!1}),this.blur(),d(this.state.filterValue,function(e){t.focus(),t.callback=!0,t.setState({loading:!1}),t.props.onReset(e,"data")},this.props.show));else{g=g.filter(function(e,n){return e[v]?(delete e.__del,!0):p(t.state.filterValue,e,n,o)});for(var A=0;A<g.length-1;A++){var w=g[A],k=g[A+1];w[v]&&k[v]&&(g[A].__del=!0)}g.length&&g[g.length-1][v]&&(g[g.length-1].__del=!0),g=g.filter(function(e){return!e.__del})}var C=s("div",{class:"xm-search"},s("i",{class:"xm-iconfont xm-icon-sousuo"}),s("input",{type:"text",class:"xm-input xm-search-input",placeholder:h,ref:function(e){return t.searchInputRef=e},onClick:this.blockClick.bind(this),onInput:this.searchInput.bind(this),onCompositionStart:this.handleComposition.bind(this),onCompositionUpdate:this.handleComposition.bind(this),onCompositionEnd:this.handleComposition.bind(this)})),S={};g.filter(function(e){return e[v]}).forEach(function(e){e[x].forEach(function(t){return S[t[b]]=e})}),g=g.filter(function(e){return!e[v]});var O="";if(e.paging){var j=Math.floor((g.length-1)/e.pageSize)+1;this.state.pageIndex>j&&this.changePageIndex(j),j>0&&this.state.pageIndex<=0&&this.changePageIndex(1);var _=(this.state.pageIndex-1)*e.pageSize,R=_+e.pageSize;g=g.slice(_,R);var E={cursor:"no-drop",color:"#d2d2d2"},P={},I={};this.state.pageIndex<=1&&(P=E),this.state.pageIndex==j&&(I=E),O=s("div",{class:"xm-paging"},s("span",{style:P,onClick:this.pagePrevClick.bind(this)},"上一页"),s("span",null,this.state.pageIndex," / ",j),s("span",{style:I,onClick:function(e){return t.pageNextClick.bind(t,e,j)()}},"下一页"))}else e.showCount>0&&(g=g.slice(0,e.showCount));var B,V=[];g.forEach(function(e){var t=S[e[b]];t!=B&&(B=t,V.push(B)),V.push(e)});var T=J([],g=V);this.tempData=T;var M=s("div",{class:"xm-toolbar"},e.toolbar.list.map(function(n){var r;r="ALL"===n?{icon:"xm-iconfont xm-icon-quanxuan",name:"全选",method:function(e){var n=o.optgroup,r=o.disabled,i=e.filter(function(e){return!e[n]}).filter(function(e){return!e[r]});t.props.onReset(G(i,a,o),"sels")}}:"CLEAR"===n?{icon:"xm-iconfont xm-icon-qingkong",name:"清空",method:function(e){t.props.onReset(a.filter(function(e){return e[o.disabled]}),"sels")}}:n;var l=function(e){"mouseenter"===e.type&&(e.target.style.color=i.color),"mouseleave"===e.type&&(e.target.style.color="")};return s("div",{class:"toolbar-tag",onClick:function(){q(r.method)&&r.method(T)},onMouseEnter:l,onMouseLeave:l},e.toolbar.showIcon&&s("i",{class:r.icon}),s("span",null,r.name))}).filter(function(e){return e})),z="hidden"!=e.model.icon;return(g=g.map(function(e){return e[v]?s("div",{class:"xm-group"},s("div",{class:"xm-group-item",onClick:t.groupClick.bind(t,e)},e[m])):function(e){var o=!!a.find(function(t){return t[b]==e[b]}),c=o?{color:i.color,border:"none"}:{borderColor:i.color},u={};!z&&o&&(u.backgroundColor=i.color,e[y]&&(u.backgroundColor="#C2C2C2"));var p=["xm-option",e[y]?" disabled":"",o?" selected":"",z?"show-icon":"hide-icon"].join(" "),f=["xm-option-icon xm-iconfont",l?"xm-icon-danx":"xm-icon-duox"].join(" ");return s("div",{class:p,style:u,value:e[b],onClick:t.optionClick.bind(t,e,o,e[y])},z&&s("i",{class:f,style:c}),s("div",{class:"xm-option-content",dangerouslySetInnerHTML:{__html:r({data:n,item:e,arr:a,name:e[m],value:e[b]})}}))}(e)})).length||g.push(s("div",{class:"xm-select-empty"},c)),s("div",{onClick:this.blockClick},s("div",null,e.toolbar.show&&M,u&&C,s("div",{class:"scroll-body",style:{maxHeight:e.height}},g),e.paging&&O),this.state.loading&&s("div",{class:"loading"},s("span",{class:"loader"})))}}])&&le(n.prototype,o),r&&le(n,r),t}();function pe(e){return(pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fe(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function de(e,t){return!t||"object"!==pe(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function he(e){return(he=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function me(e,t){return(me=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var be=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),de(this,he(t).call(this,e))}var n,o,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&me(e,t)}(t,T),n=t,(o=[{key:"blockClick",value:function(e){e.stopPropagation()}},{key:"shouldComponentUpdate",value:function(){return!this.already}},{key:"render",value:function(e){return this.already=!0,s("div",{onClick:this.blockClick,class:"xm-body-custom",dangerouslySetInnerHTML:{__html:e.content}})}}])&&fe(n.prototype,o),r&&fe(n,r),t}();function ye(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function xe(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){ve(e,t,n[t])})}return e}function ve(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ge(e){return(ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ae(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}function we(e){return(we=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ke(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ce(e,t){return(Ce=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Se=function(e){function t(e){var n,o,r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),o=this,(n=!(r=we(t).call(this,e))||"object"!==ge(r)&&"function"!=typeof r?ke(o):r).reset(n.props),n.props.onRef(ke(n)),n.bodyView=null,n}var n,o,r;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ce(e,t)}(t,T),n=t,(o=[{key:"reset",value:function(e){this.updateBorderColor(""),this.resetDate(e.data),this.value(e.initValue?e.initValue:this.findValue(this.state.data),!!this.state.show)}},{key:"findValue",value:function(e){var t=this.props.prop.selected;return e.filter(function(e){return!0===e[t]})}},{key:"resetSelectValue",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2?arguments[2]:void 0,o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=this.props.on;q(r)&&this.prepare&&o&&r({arr:e,change:t,isAdd:n}),this.setState({sels:e})}},{key:"resetDate",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];this.setState({data:e})}},{key:"value",value:function(e,t,n){!1!==t&&!0!==t&&(t=this.state.show);var o=this.exchangeValue(e);this.resetSelectValue(o,o,!0,n),this.setState({show:t})}},{key:"exchangeValue",value:function(e){var t=this.props.prop,n=t.optgroup,o=t.value,r=this.state.data.filter(function(e){return!e[n]});return e.map(function(e){return"object"===ge(e)?e[o]:e}).map(function(e){return r.find(function(t){return t[o]==e})}).filter(function(e){return e})}},{key:"append",value:function(e){var t=this.exchangeValue(e);this.resetSelectValue(G(t,this.state.sels,this.props.prop),t,!0)}},{key:"del",value:function(e){var t=this.props.prop.value,n=this.state.sels;(e=this.exchangeValue(e)).forEach(function(e){var o=n.findIndex(function(n){return n[t]===e[t]});-1!=o&&n.splice(o,1)}),this.resetSelectValue(n,e,!1)}},{key:"auto",value:function(e){var t=this,n=this.props.prop.value;e.filter(function(e){return-1!=t.state.sels.findIndex(function(t){return t[n]===e[n]})}).length==e.length?this.del(e):this.append(e)}},{key:"updateBorderColor",value:function(e){this.setState({tmpColor:e})}},{key:"onReset",value:function(e,t){if("data"===t){var n=this.findValue(e);this.resetSelectValue(G(n,this.state.sels,this.props.prop),n,!0),this.setState({data:e})}else"sels"===t?this.resetSelectValue(e,e,!0):"append"===t?this.append(e):"delete"===t?this.del(e):"auto"===t&&this.auto(e)}},{key:"onClick",value:function(e){var t=!this.state.show;if(t){if(this.props.show&&0==this.props.show())return;this.props.onClose(this.props.el)}else{if(this.props.hide&&0==this.props.hide())return;this.bodyView.scroll&&this.bodyView.scroll(0,0)}this.setState({show:t}),e&&e.stopPropagation()}},{key:"componentWillReceiveProps",value:function(e){this.reset(e)}},{key:"componentDidUpdate",value:function(){var e=this.props.direction,t=this.base.getBoundingClientRect();if("auto"===e){this.bodyView.style.display="block",this.bodyView.style.visibility="hidden";var n=this.bodyView.getBoundingClientRect().height;this.bodyView.style.display="",this.bodyView.style.visibility="";var o=document.documentElement.clientHeight-(t.y||t.top)-t.height-20;e=o>n||(t.y||t.top)<o?"down":"up"}"down"==e?(this.bodyView.style.top=t.height+4+"px",this.bodyView.style.bottom="auto"):(this.bodyView.style.top="auto",this.bodyView.style.bottom=t.height+4+"px")}},{key:"componentDidMount",value:function(){this.prepare=!0}},{key:"render",value:function(e,t){var n=this,o=t.sels,r=t.show,i=e.tips,l=e.theme,a=e.prop,c=e.style,u=e.radio,p=e.repeat,f=e.clickClose,d=(e.on,e.max),h=e.maxMethod,m={borderColor:l.color},b={style:xe({},c,r?m:{}),onClick:this.onClick.bind(this),ua:-1!=navigator.userAgent.indexOf("Mac OS")?"mac":"win",size:e.size};this.state.tmpColor&&(b.style.borderColor=this.state.tmpColor,setTimeout(function(){b.style.borderColor="",n.updateBorderColor("")},300));var y=r?"xm-icon xm-icon-expand":"xm-icon",x={tips:i,show:!o.length},v=a.value,g=function(e,t,r,i){if(!r){if(!t||p&&!i){var a=(c=d,c-=0,isNaN(c)&&(c=0),c);if(a>0&&o.length>=a)return n.updateBorderColor(l.maxColor),void(h&&q(h)&&h(o,e));u?n.resetSelectValue([e],[e],!t):n.resetSelectValue([].concat(ye(o),[e]),[e],!t)}else{var s=o.findIndex(function(t){return t[v]==e[v]});-1!=s&&(o.splice(s,1),n.resetSelectValue(o,[e],!t))}var c;f&&!i&&n.onClick()}},A=s("input",{class:"xm-select-default",name:e.name,value:o.map(function(e){return e[a.value]}).join(",")}),w=xe({},e,{data:this.state.data,sels:o,ck:g,title:o.map(function(e){return e[a.name]}).join(",")}),k=xe({},e,{data:this.state.data,sels:o,ck:g,show:r,onReset:this.onReset.bind(this)}),C=["xm-body",r?"":"dis"].join(" ");return s("xm-select",b,A,s("i",{class:y}),s(W,x),s(re,w),s("div",{class:C,ref:function(e){return n.bodyView=e}},e.content?s(be,{content:e.content}):s(ue,k)))}}])&&Ae(n.prototype,o),r&&Ae(n,r),t}(),Oe={tips:"请选择",empty:"暂无数据",searchTips:"请选择"},je={zn:Oe,en:{tips:"please selected",empty:"no data",searchTips:"please search"}},_e=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"zn",t=je[e]||Oe;return{data:[],content:"",name:"select",size:"medium",initValue:null,tips:t.tips,empty:t.empty,delay:500,searchTips:t.searchTips,filterable:!1,filterMethod:function(e,t,n,o){return!e||-1!=t[o.name].indexOf(e)},remoteSearch:!1,remoteMethod:function(e,t){t([])},direction:"auto",style:{},height:"200px",autoRow:!1,paging:!1,pageSize:10,radio:!1,repeat:!1,clickClose:!1,max:0,maxMethod:function(e,t){},showCount:0,toolbar:{show:!1,showIcon:!0,list:["ALL","CLEAR"]},prop:{name:"name",value:"value",selected:"selected",disabled:"disabled",children:"children",optgroup:"optgroup",click:"click"},theme:{color:"#009688",maxColor:"#e54d42"},model:{label:{type:"block",text:{left:"",right:"",separator:", "},block:{showCount:0,showIcon:!0},count:{template:function(e,t){return"已选中 ".concat(t.length," 项, 共 ").concat(e.length," 项")}}},icon:"show"},show:function(){},hide:function(){},template:function(e){e.item,e.sels;var t=e.name;e.value;return t},on:function(e){e.arr,e.item,e.selected}}};function Re(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ee(){return(Ee=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function Pe(e){return(Pe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ie(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,o.key,o)}}var Be,Ve={},Te={},Me=function(e){return Object.keys(Te).filter(function(t){return t!=e}).forEach(function(e){return Te[e].closed()})};Be=Me,window.addEventListener("click",function(e){return Be(e)});var ze={},Le=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),Ve[t.el]=t,this.options=_e(t.language),this.update(t)}var t,n,o;return t=e,(n=[{key:"update",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=J(this.options,t);var n,o=(n=this.options.el,document.querySelector(n));if(o){var r=this.options.data||[];if("function"==typeof r&&(r=r(),this.options.data=r),N(r)){this.options.data=function(e,t){for(var n,o=t.prop,r=(o.disabled,o.children),i=o.optgroup,l=(o.value,[]),a=0;a<e.length;a++){var s=e[a];if(l.push(s),s[i])n=s,s[r]=[];else{var c=s[r];N(c)?(n=null,s[i]=!0,c.forEach(function(e){return l.push(e)})):n&&n[r].push(s)}}return l}(r,this.options);var i,l,a;return i=s(Se,Ee({},this.options,{onClose:Me,onRef:function(t){return ze[e.options.el]=t}})),a=l=o,O(l.firstElementChild,i,{},!1,a,!1),Te[this.options.el]=this,this}F("data数据必须为数组类型, 不能是".concat(Pe(Te),"类型"))}else F("没有找到渲染对象: ".concat(t.el,", 请检查"))}},{key:"reset",value:function(){var e=this.options;return this.options=_e(e.language),this.update(function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),o.forEach(function(t){Re(e,t,n[t])})}return e}({},Ve[e.el])),ze[this.options.el].reset(),this}},{key:"opened",value:function(){var e=ze[this.options.el];return!e.state.show&&e.onClick(),this}},{key:"closed",value:function(){var e=ze[this.options.el];return e.state.show&&e.onClick(),this}},{key:"getValue",value:function(e){var t=this,n=J([],ze[this.options.el].state.sels);return"name"===e?n.map(function(e){return e[t.options.prop.name]}):"nameStr"===e?n.map(function(e){return e[t.options.prop.name]}).join(","):"value"===e?n.map(function(e){return e[t.options.prop.value]}):"valueStr"===e?n.map(function(e){return e[t.options.prop.value]}).join(","):n}},{key:"setValue",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(N(e))return ze[this.options.el].value(e,t,n),this;F("请传入数组结构...")}},{key:"append",value:function(e){if(N(e))return ze[this.options.el].append(e),this;F("请传入数组结构...")}},{key:"delete",value:function(e){if(N(e))return ze[this.options.el].del(e),this;F("请传入数组结构...")}},{key:"warning",value:function(e){return ze[this.options.el].updateBorderColor(e||this.options.theme.maxColor),this}}])&&Ie(t.prototype,n),o&&Ie(t,o),e}();t.a=Le},84:function(e,t,n){"use strict";n.r(t),function(e){var t=n(16),o=(n(86),n(82)),r=(n(87),n(89),{name:t.a,version:t.b,render:function(e){return new o.a(e)}});"object"===("undefined"==typeof exports?"undefined":_typeof(exports))?e.exports=r:"function"==typeof define&&n(91)?define(r):window.layui&&layui.define&&layui.define(function(e){e("xmSelect",r)}),window.xmSelect=r}.call(this,n(85)(e))},85:function(e,t){e.exports=function(e){if(!e.webpackPolyfill){var t=Object.create(e);t.children||(t.children=[]),Object.defineProperty(t,"loaded",{enumerable:!0,get:function(){return t.l}}),Object.defineProperty(t,"id",{enumerable:!0,get:function(){return t.i}}),Object.defineProperty(t,"exports",{enumerable:!0}),t.webpackPolyfill=1}return t}},86:function(e,t){Array.prototype.map||(Array.prototype.map=function(e,t){var n,o,r,i=Object(this),l=i.length>>>0;for(t&&(n=t),o=new Array(l),r=0;r<l;){var a,s;r in i&&(a=i[r],s=e.call(n,a,r,i),o[r]=s),r++}return o}),Array.prototype.forEach||(Array.prototype.forEach=function(e,t){var n,o;if(null==this)throw new TypeError("this is null or not defined");var r=Object(this),i=r.length>>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(n=t),o=0;o<i;){var l;o in r&&(l=r[o],e.call(n,l,o,r)),o++}}),Array.prototype.filter||(Array.prototype.filter=function(e){if(null==this)throw new TypeError;var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var o=[],r=arguments[1],i=0;i<n;i++)if(i in t){var l=t[i];e.call(r,l,i,t)&&o.push(l)}return o}),Array.prototype.find||(Array.prototype.find=function(e){return e&&(this.filter(e)||[])[0]}),Array.prototype.findIndex||(Array.prototype.findIndex=function(e){for(var t,n=Object(this),o=n.length>>>0,r=arguments[1],i=0;i<o;i++)if(t=n[i],e.call(r,t,i,n))return i;return-1})},87:function(e,t,n){var o=n(88);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(3)(o,r);o.locals&&(e.exports=o.locals)},88:function(e,t,n){(e.exports=n(2)(!1)).push([e.i,"@-webkit-keyframes xm-upbit {\n from {\n -webkit-transform: translate3d(0, 30px, 0);\n opacity: 0.3;\n }\n to {\n -webkit-transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n}\n@keyframes xm-upbit {\n from {\n transform: translate3d(0, 30px, 0);\n opacity: 0.3;\n }\n to {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n}\n@-webkit-keyframes loader {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\n@keyframes loader {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n}\nxm-select {\n background-color: #FFF;\n position: relative;\n border: 1px solid #E6E6E6;\n border-radius: 2px;\n display: block;\n width: 100%;\n cursor: pointer;\n}\nxm-select * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-size: 14px;\n font-weight: 400;\n text-overflow: ellipsis;\n user-select: none;\n -ms-user-select: none;\n -moz-user-select: none;\n -webkit-user-select: none;\n}\nxm-select:hover {\n border-color: #C0C4CC;\n}\nxm-select > .xm-tips {\n color: #999999;\n padding: 0 10px;\n position: absolute;\n display: flex;\n height: 100%;\n align-items: center;\n}\nxm-select > .xm-icon {\n display: inline-block;\n overflow: hidden;\n position: absolute;\n width: 0;\n height: 0;\n right: 10px;\n top: 50%;\n margin-top: -3px;\n cursor: pointer;\n border: 6px dashed transparent;\n border-top-color: #C2C2C2;\n border-top-style: solid;\n transition: all 0.3s;\n -webkit-transition: all 0.3s;\n}\nxm-select > .xm-icon-expand {\n margin-top: -9px;\n transform: rotate(180deg);\n}\nxm-select > .xm-label.single-row {\n position: absolute;\n top: 0;\n bottom: 0px;\n left: 0px;\n right: 30px;\n overflow: auto hidden;\n}\nxm-select > .xm-label.single-row .scroll {\n overflow-y: hidden;\n}\nxm-select > .xm-label.single-row .label-content {\n flex-wrap: nowrap;\n}\nxm-select > .xm-label.auto-row .label-content {\n flex-wrap: wrap;\n}\nxm-select > .xm-label .scroll .label-content {\n display: flex;\n padding: 3px 30px 3px 10px;\n}\nxm-select > .xm-label .xm-label-block {\n display: flex;\n position: relative;\n padding: 0px 5px;\n margin: 2px 5px 2px 0;\n border-radius: 3px;\n align-items: baseline;\n color: #FFF;\n}\nxm-select > .xm-label .xm-label-block > span {\n display: flex;\n color: #FFF;\n white-space: nowrap;\n}\nxm-select > .xm-label .xm-label-block > i {\n color: #FFF;\n margin-left: 8px;\n font-size: 12px;\n cursor: pointer;\n display: flex;\n}\nxm-select > .xm-label .xm-label-block.disabled {\n background-color: #C2C2C2 !important;\n cursor: no-drop !important;\n}\nxm-select > .xm-label .xm-label-block.disabled > i {\n cursor: no-drop !important;\n}\nxm-select > .xm-body {\n position: absolute;\n left: 0;\n top: 42px;\n padding: 5px 0;\n z-index: 999;\n width: 100%;\n border: 1px solid #E6E6E6;\n background-color: #fff;\n border-radius: 2px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);\n animation-name: xm-upbit;\n animation-duration: 0.3s;\n animation-fill-mode: both;\n}\nxm-select > .xm-body .scroll-body {\n overflow: auto;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar {\n width: 8px;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-track {\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n -ms-border-radius: 2em;\n border-radius: 2em;\n background-color: #FFF;\n}\nxm-select > .xm-body .scroll-body::-webkit-scrollbar-thumb {\n -webkit-border-radius: 2em;\n -moz-border-radius: 2em;\n -ms-border-radius: 2em;\n border-radius: 2em;\n background-color: #C2C2C2;\n}\nxm-select > .xm-body.up {\n top: auto;\n bottom: 42px;\n}\nxm-select > .xm-body .xm-group {\n cursor: default;\n}\nxm-select > .xm-body .xm-group-item {\n display: inline-block;\n cursor: pointer;\n padding: 0 10px;\n color: #999;\n font-size: 12px;\n}\nxm-select > .xm-body .xm-option {\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 10px;\n cursor: pointer;\n}\nxm-select > .xm-body .xm-option:hover {\n background-color: #f2f2f2;\n}\nxm-select > .xm-body .xm-option-icon {\n color: transparent;\n display: flex;\n border: 1px solid #E6E6E6;\n border-radius: 3px;\n justify-content: center;\n align-items: center;\n}\nxm-select > .xm-body .xm-option-icon.xm-icon-danx {\n border-radius: 100%;\n}\nxm-select > .xm-body .xm-option-content {\n display: flex;\n position: relative;\n padding-left: 15px;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #666;\n width: calc(100% - 20px);\n}\nxm-select > .xm-body .xm-option.hide-icon .xm-option-content {\n padding-left: 0;\n}\nxm-select > .xm-body .xm-option.selected.hide-icon .xm-option-content {\n color: #FFF !important;\n}\nxm-select > .xm-body .xm-select-empty {\n text-align: center;\n color: #999;\n}\nxm-select > .xm-body .disabled {\n cursor: no-drop;\n}\nxm-select > .xm-body .disabled:hover {\n background-color: #FFF;\n}\nxm-select > .xm-body .disabled .xm-option-icon {\n border-color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled .xm-option-content {\n color: #C2C2C2 !important;\n}\nxm-select > .xm-body .disabled.selected > .xm-option-icon {\n color: #C2C2C2 !important;\n}\nxm-select > .xm-body .xm-search {\n background-color: #FFF !important;\n position: relative;\n padding: 0 10px;\n margin-bottom: 5px;\n cursor: pointer;\n}\nxm-select > .xm-body .xm-search > i {\n position: absolute;\n color: #666;\n}\nxm-select > .xm-body .xm-search-input {\n border: none;\n border-bottom: 1px solid #E6E6E6;\n padding-left: 27px;\n cursor: text;\n}\nxm-select > .xm-body .xm-paging {\n padding: 0 10px;\n display: flex;\n margin-top: 5px;\n}\nxm-select > .xm-body .xm-paging > span:first-child {\n border-radius: 2px 0 0 2px;\n}\nxm-select > .xm-body .xm-paging > span:last-child {\n border-radius: 0 2px 2px 0;\n}\nxm-select > .xm-body .xm-paging > span {\n display: flex;\n flex: auto;\n justify-content: center;\n vertical-align: middle;\n padding: 0 15px;\n margin: 0 -1px 0 0;\n background-color: #fff;\n color: #333;\n font-size: 12px;\n border: 1px solid #e2e2e2;\n}\nxm-select > .xm-body .xm-toolbar {\n padding: 0 10px;\n display: flex;\n margin: -3px 0;\n cursor: default;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag {\n cursor: pointer;\n display: flex;\n margin-right: 20px;\n color: #666;\n align-items: baseline;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:hover {\n opacity: 0.8;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:active {\n opacity: 1;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag > i {\n margin-right: 2px;\n font-size: 14px;\n}\nxm-select > .xm-body .xm-toolbar .toolbar-tag:last-child {\n margin-right: 0;\n}\nxm-select > .xm-body .xm-body-custom {\n line-height: initial;\n cursor: default;\n}\nxm-select > .xm-body .xm-body-custom * {\n box-sizing: initial;\n}\nxm-select .xm-input {\n cursor: pointer;\n border-radius: 2px;\n border-width: 1px;\n border-style: solid;\n border-color: #E6E6E6;\n display: block;\n width: 100%;\n box-sizing: border-box;\n background-color: #FFF;\n line-height: 1.3;\n padding-left: 10px;\n outline: 0;\n}\nxm-select .dis {\n display: none;\n}\nxm-select .loading {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: rgba(255, 255, 255, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n}\nxm-select .loading .loader {\n border: 0.2em dotted currentcolor;\n border-radius: 50%;\n -webkit-animation: 1s loader linear infinite;\n animation: 1s loader linear infinite;\n display: inline-block;\n width: 1em;\n height: 1em;\n color: inherit;\n vertical-align: middle;\n pointer-events: none;\n}\nxm-select .xm-select-default {\n display: none !important;\n}\nxm-select[size='large'] {\n min-height: 40px;\n line-height: 40px;\n}\nxm-select[size='large'] .xm-input {\n height: 40px;\n}\nxm-select[size='large'] .xm-label .scroll .label-content {\n line-height: 34px;\n}\nxm-select[size='large'] .xm-label .xm-label-block {\n height: 30px;\n line-height: 30px;\n}\nxm-select[size='large'] .xm-body .xm-option .xm-option-icon {\n height: 20px;\n width: 20px;\n font-size: 20px;\n}\nxm-select[size='large'] .xm-paging > span {\n height: 34px;\n line-height: 34px;\n}\nxm-select {\n min-height: 36px;\n line-height: 36px;\n}\nxm-select .xm-input {\n height: 36px;\n}\nxm-select .xm-label .scroll .label-content {\n line-height: 30px;\n}\nxm-select .xm-label .xm-label-block {\n height: 26px;\n line-height: 26px;\n}\nxm-select .xm-body .xm-option .xm-option-icon {\n height: 18px;\n width: 18px;\n font-size: 18px;\n}\nxm-select .xm-paging > span {\n height: 30px;\n line-height: 30px;\n}\nxm-select[size='small'] {\n min-height: 32px;\n line-height: 32px;\n}\nxm-select[size='small'] .xm-input {\n height: 32px;\n}\nxm-select[size='small'] .xm-label .scroll .label-content {\n line-height: 26px;\n}\nxm-select[size='small'] .xm-label .xm-label-block {\n height: 22px;\n line-height: 22px;\n}\nxm-select[size='small'] .xm-body .xm-option .xm-option-icon {\n height: 16px;\n width: 16px;\n font-size: 16px;\n}\nxm-select[size='small'] .xm-paging > span {\n height: 26px;\n line-height: 26px;\n}\nxm-select[size='mini'] {\n min-height: 28px;\n line-height: 28px;\n}\nxm-select[size='mini'] .xm-input {\n height: 28px;\n}\nxm-select[size='mini'] .xm-label .scroll .label-content {\n line-height: 22px;\n}\nxm-select[size='mini'] .xm-label .xm-label-block {\n height: 18px;\n line-height: 18px;\n}\nxm-select[size='mini'] .xm-body .xm-option .xm-option-icon {\n height: 14px;\n width: 14px;\n font-size: 14px;\n}\nxm-select[size='mini'] .xm-paging > span {\n height: 22px;\n line-height: 22px;\n}\n.layui-form-pane xm-select {\n margin: -1px -1px -1px 0;\n}\n",""])},89:function(e,t,n){var o=n(90);"string"==typeof o&&(o=[[e.i,o,""]]);var r={hmr:!0,transform:void 0,insertInto:void 0};n(3)(o,r);o.locals&&(e.exports=o.locals)},90:function(e,t,n){(e.exports=n(2)(!1)).push([e.i,'/* 阿里巴巴矢量图标库 */\n@font-face {\n font-family: "xm-iconfont";\n src: url(\'//at.alicdn.com/t/font_792691_qxv28s6g1l9.eot?t=1534240067831\');\n /* IE9*/\n src: url(\'//at.alicdn.com/t/font_792691_qxv28s6g1l9.eot?t=1534240067831#iefix\') format(\'embedded-opentype\'), /* IE6-IE8 */ url(\'data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAsYAAsAAAAAEQwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY8ukovY21hcAAAAYAAAACrAAACPBtV6wxnbHlmAAACLAAABnEAAAmMovtEvWhlYWQAAAigAAAAMQAAADYSctBCaGhlYQAACNQAAAAgAAAAJAgBA69obXR4AAAI9AAAABsAAAAwMCX//WxvY2EAAAkQAAAAGgAAABoN8gwubWF4cAAACSwAAAAeAAAAIAEiAM9uYW1lAAAJTAAAAUUAAAJtPlT+fXBvc3QAAAqUAAAAhAAAALJ1LunfeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWacwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeMbwwZ27438AQw9zMcAQozAiSAwDk4AxmeJzlks0JwzAMhZ8bN/1xD4GU0h2Se26BbJMJOkkn6KmTPbJF8mT5UGg3qMRn0EPIRs8A9gAq0YsIhDcCLF5SQ9YrnLMe8VB9RSMlMjCxYcueIyfOy7CuAFHU7lP9iqApt5L3ksBJbzlgZ9PVkXDUvbWa6x8T/i0u+XyWKtmmHW0NDI55yeRok2DjaKdg65jX7Bzzm71jXnN08vzJkQvg7Ng/WAYH9Qb3wzM/AHicjVVvbFzFEd/Zfbv7/vn9uXf33vl8Pt/dO99BHOzEZ9/DKTImRS0KjUoLDUFCjtpCMGkT1D9qldQmhkiUSv2G1BBB1VYqilGREOIDViWEGzttqkpI/cAXqyL5gFRALVIF+VCJe9fZd+fEpR/o6d3s7G9mZ2dmZ3aJIKR3h0ZYmVgkIjGZJV8mDxECtenOTDOu1UU+hJoD+TCqzcNMk2V8O5OCbDVRPgZhEt4JCNTZ/4HA3+DfuWIxl8pcFFErG3K7oD7fvev8UaMUmEu259lrRjBsfs6cLhYbRfzSbSjGRVAkfQYihUXsyPkHTVyyZDNmXzSHg3Tl+aPKxpJFqbWGdtLl8w8iYDxuDTQIx7yc1YCdIx7Jk3HSwbwQwGBcyMKZVtG0ZCuJxjFJBb+foMSfhJaPOSr4FYgwSwqIx2MHJALtAdBi/7xcSMJL+fxmmBS2guD61tZm96X02mgcj0J1NAaIR9UMmhXIV24FuLUC71+r1AEmK1AYrQHUK/Tly/m8MrOZz2+FSf7jzc3NK9XR9F2lVq+gmRp0r+HK9B+VJmR263Rgd7ALwR/FOFfx/FeJS0YxQh9drakgMJhaBVizkwgqWxLD6eQ0Qo8f7p44fJziSH9x+PjLZUO+/jZ9+K35X37ljn/Rv+yW4Ziuf2nl4PfS5/LrP47OHTsFJULYjf369UZAEBmSqEOSJmG4Me6LeznA0BFkcDoJlGynVzmH2vY21DhPr25v9DjvbfTp2TXG1s5mlK0q4S7lT++6obbRox/s6CHF2LMEsHvoFfSFQIKnKQMZJVFCD6WH0p0PVvvcRx8uph8eUks0jOFNtskOkpDsJ18k9+NqVRg3qqMCSSerjyRuYUi1/vFH7YIqikGVcD+ehFl/pqPSPKZ6DG6mHisljFhBFvU/PoRkSNd/JHO6Ja5JOXcfwIGJbm/igBq/hn8Kfb57YbYUxyX4cwkLKH1u4gD9GVSL6USxCjjCO2p8VdcvH9XRYIQWqUblu3pR/v2BvXMAc3tTmJiDAQ895B9NL0C9BFdKqqRKczDX/Whg7O1irVbcqZ8/sbfYBOZwihC+6wSDzszUf+dF7rRO1O+fKaDO+nXOr6+vf8L5J44Qe4UvnlyRntwrxMoKzpFdeRJBNb9dGyiur1+nE59R+uwi9M1G395jb9KP0bcK2YM9nJB5cojcS75OFskxclzdc+pW699z8iYbtf14BGKf77ruZNyXKC0e50OEBI+V/Aug5Dex/9WjJfipuqnS00gfybjXbNe1f762tXmRPp3Bdl/l6g5JXyqXR0bK8J3PR+jvwYs8/GBnTM+kr8FX4ZknwC16XtG9iH9QfNn1vDHPe2GAj3ieV3XdF2+IPdeteh62Ra+HfQrsKWKSBtlHSOBgM7KkKQBLWnZoq1mVwotCLRGhOtSkMzMuqq2ml3SqUehdnZtynbtPLB88/Dy9dDrYVzoy/MTT6Svnlpd/AHueon5wpnGsEae/PZm+d3Jp6SSUTy7R3xw4f9/B5RN3O+5t3VNncjm6Cnt+uLx8DpedGj4yvD84HceNxTcG6ku4VPmZ9n6nNdj95BHyB3IJKxBPsKm6rpn4QopmqzlFm1MwqdxO5rPGnIc7aSfCGg1Vqyo6nUlQhnh7WiFhXzgGhVC4qjPRki9xdGCc4zXeSWb9BG1ktlqz2Q5Y7S2sIJfivkpVKCCDpyCWdbQzECj76qMVqvyJ/LxyI2rTv1bTC25lSM9xAUJ4Lc+U0wXTsKXDmaA8tHX+hvDt4Wa9IHLcMUBz9VwpL4xi2aGasAPPKNUbbmD/2jAtk0uXY4eJx8zRgj9iAnVNt5X+BL5vlHTOaiOmG7g6+7ZBNUOaefNXuJF3u25RjVvBLeW8E4wV7ZJBpbAXXGnqrwgupWVTAKqZjq5HbW44fMguNJhgwmw8oOk8GCqE8F3GhLB0uS/UDVt4lgjtqGxK/rpwuaDAqKHZNuWmJjVKuWUxbpg2B9DtoRdN3TKF9B0hw4p41C5i3CI9w4civP3aQLlmLMK3wpJpaI7BvmlhPtH3nPWCKQAdE2hK9zyuUeAm921qCA2kvqY8N1yDMq4beJlG+4XQqHDCQnqPlJIyyN579S4tIGcRv/82BbFfK9SgnVHkZzMeaSQjqR5/fP5XF2Chh+sW0g0gn27snqXv3/bsszsfJbCAIiTdjRTVCBL6jV0K5D8H/8xVAAAAeJxjYGRgYADi16c/vIvnt/nKwM3CAALXZxxzhtH///23YVFhbgZyORiYQKIAm34OJQAAAHicY2BkYGBu+N/AEMOi/P/f//8sKgxAERTAAwCmuAa3eJxjYWBgYAFhRiiNFf//z6L8/x+IDQAkCQRQAAAAAAAAjAEAATgBfgGaAiACbgMMA2AEhATGAAB4nGNgZGBg4GE4DMQgwATEXEDIwPAfzGcAAB2tAfIAAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nG2L3QqCQBCFZ9RWU7sOfAeh8IFi3N10EHYUG1p8+gSjqz44F+cPEjgo4T81Jphihic0mGOBZyyxwhovUCxKIe4ylthRuDqV+I22UcLQ6+QH4ubWdZZkU3m4o/0tUqtSvT33TPLits12fzc+zhRcvoquo0o281OLhcMw7Q+AD8sULE0=\') format(\'woff\'), url(\'//at.alicdn.com/t/font_792691_qxv28s6g1l9.ttf?t=1534240067831\') format(\'truetype\'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ url(\'//at.alicdn.com/t/font_792691_qxv28s6g1l9.svg?t=1534240067831#iconfont\') format(\'svg\');\n /* iOS 4.1- */\n}\n.xm-iconfont {\n font-family: "xm-iconfont" !important;\n font-size: 16px;\n font-style: normal;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.xm-icon-quanxuan:before {\n content: "\\e62c";\n}\n.xm-icon-caidan:before {\n content: "\\e610";\n}\n.xm-icon-fanxuan:before {\n content: "\\e837";\n}\n.xm-icon-pifu:before {\n content: "\\e668";\n}\n.xm-icon-qingkong:before {\n content: "\\e63e";\n}\n.xm-icon-sousuo:before {\n content: "\\e600";\n}\n.xm-icon-danx:before {\n content: "\\e62b";\n}\n.xm-icon-duox:before {\n content: "\\e613";\n}\n.xm-icon-close:before {\n content: "\\e601";\n}\n.xm-icon-expand:before {\n content: "\\e641";\n}\n',""])},91:function(e,t){(function(t){e.exports=t}).call(this,{})}});
\ No newline at end of file
/** EasyWeb iframe v3.1.8 date:2020-05-04 License By http://easyweb.vip */
layui.config({ // common.js是配置layui扩展模块的目录,每个页面都需要引入
version: '318', // 更新组件缓存,设为true不缓存,也可以设一个固定值
base: getProjectUrl() + 'assets/module/',
closeFooter: true,
}).extend({
steps: 'steps/steps',
notice: 'notice/notice',
cascader: 'cascader/cascader',
// dropdown: 'dropdown/dropdown',
fileChoose: 'fileChoose/fileChoose',
Split: 'Split/Split',
Cropper: 'Cropper/Cropper',
tagsInput: 'tagsInput/tagsInput',
citypicker: 'city-picker/city-picker',
introJs: 'introJs/introJs',
zTree: 'zTree/zTree',
xmSelect: 'xmSelect/xm-select'
}).use(['layer', 'admin'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var admin = layui.admin;
});
/** 获取当前项目的根路径,通过获取layui.js全路径截取assets之前的地址 */
function getProjectUrl() {
var layuiDir = layui.cache.dir;
if (!layuiDir) {
var js = document.scripts, last = js.length - 1, src;
for (var i = last; i > 0; i--) {
if (js[i].readyState === 'interactive') {
src = js[i].src;
break;
}
}
var jsPath = src || js[last].src;
layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
}
return layuiDir.substring(0, layuiDir.indexOf('assets'));
}
function getQueryVariable(variable) {
let query = window.location.search.substring(1);
let vars = query.split("&");
for (let i = 0; i < vars.length; i++) {
let pair = vars[i].split("=");
if (pair[0] == variable) {
return pair[1];
}
}
return '';
}
function ajax(url,data){
layer.msg('加载中', {
icon: 16
,shade: 0.01
});
var result=false;
$.ajax({
url:url,
type:'post',
data:data,
async: false,
dataType:'json',
timeout:10000,
success:function (resp) {
if(resp){
result=resp;
}
}
})
layer.closeAll();
return result;
}
\ No newline at end of file
......@@ -25,5 +25,11 @@
}
openLogView();
//判断是否要切换tab
let tab = '{{request()->get('tab')}}';
if (tab) {
$('#' + tab).click();
}
});
</script>
\ No newline at end of file
......@@ -2,12 +2,28 @@
layui.use(['table', 'form', 'element', 'layer', 'Split', 'admin'], function () {
let $ = layui.jquery;
let Split = layui.Split;
let admin = layui.admin;
// 水平分割,需要分割的元素(id)、默认大小(百分比)、最小值(单位px)
Split(['#s1', '#s2', '#s3', '#s4', '#s5'], {sizes: [7, 9, 9, 9, 63], minSize: 70});
let whereCondition = {source_type: 'all'};
let table = layui.table;
let form = layui.form;
let whereCondition = {source_type: 'all'};
let type = 'all';
//点击罗盘筛选
$('.main_filter').click(function () {
$('.main_filter').attr('class', 'main_filter');
$(this).attr('class', 'main_filter layui-badge layui-bg-green');
type = $(this).attr('id');
whereCondition.source_type = type
table.reload('list', {
page: {
curr: 1
}
, where: whereCondition
});
});
table.render({
elem: '#list'
, url: '/api/supplier/GetSupplierList'
......@@ -37,7 +53,8 @@
},
{
field: 'contact_num', title: '联系人', align: 'center', width: 80, templet: function (data) {
return "<a title='点击跳转查看联系人列表'>" + data.contact_num + "</a>"
return "<a ew-href='/supplier/SupplierDetail?view=iframe&tab=contact&supplier_id=" + data.supplier_id +
"' style='color: dodgerblue' ew-title='供应商详情' title='点击跳转查看联系人列表'>" + data.contact_num + "</a>"
}
},
......@@ -107,6 +124,8 @@
if (!data.length) {
layer.msg('请先选择要操作的供应商', {icon: 5})
} else {
const status = data[0].status;
if ((status === 3 || status === 2 || status === -3)) {
let supplierId = data[0].supplier_id;
layer.open({
type: 2,
......@@ -117,6 +136,11 @@
table.reload('list');
}
});
} else {
layer.msg('只能对已通过/未通过/禁用状态的供应商进行渠道员分配', {icon: 5})
return false;
}
}
})
......@@ -148,36 +172,17 @@
});
form.on('submit(load)', function (data) {
// console.log(data.field)
let map = data.field
// form.render();
// console.log(map)
let whereData = $.extend(false, whereCondition, data.field);
//执行重载
table.reload('list', {
page: {
curr: 1
}
, where: map
, where: whereData
});
return false;
});
table.on('tool(list)', function (obj) {
let data = obj.data;
let layEvent = obj.event;
let datas = {
group_id: data.group_id,
id: data.id
};
if (layEvent === 'edit') {
window.location = '/supplier'
} else if (layEvent === 'Del') {
datas.status = 3;
up_status(datas, '删除');
}
});
form.on('submit(export)', function (data) {
data.field.source_type = 'all';
let urlWithParams = convertObjToUrlParams(data.field);
......@@ -185,23 +190,6 @@
return false;
});
function up_status(data, info) {
layer.confirm('确定' + info + '组成员吗', {
title: info + '组成员'
, btn: ['确定', '取消']
}, function () {
layer.closeAll('dialog'); // 确定时关闭弹框
let res = ajax('/api/save_group_user', data);
if (!res) {
return layer.msg('禁用失败', {icon: 6});
} else {
layer.msg(res.errmsg, {icon: 6});
$('.load').click();
}
}, function () {
layer.close();
});
}
});
</script>
\ No newline at end of file
......@@ -91,9 +91,10 @@
</div>
<div class="layui-row" style="width: 700px">
@foreach($supplier['qualification_photos'] as $name=>$file)
@if(!empty($file['file_name']))
@if(!empty($file['url']))
<div class="layui-col-md6">
{{array_get(config('fixed.FileNameMapping'),$name)}} :<a style="color: dodgerblue" href="{{$file['url']}}" target="_blank">
{{array_get(config('fixed.FileNameMapping'),$name)}} :<a
style="color: dodgerblue" href="{{$file['url']}}" target="_blank">
{{$file['file_name']}}</a>
</div>
@endif
......@@ -164,6 +165,7 @@
<hr/>
</div>
</div>
</div>
<div class="layui-tab-item">
@include('web.supplier.SupplierContact')
</div>
......@@ -238,4 +240,4 @@
</div>
</div>
</div>
</div>
\ No newline at end of file
</div>
\ No newline at end of file
<blockquote class="layui-elem-quote layui-text">
<b>基本信息</b>
</blockquote>
@if($operate=='add')
<form class="layui-form" action="">
@endif
<div class="layui-form-item">
<label class="layui-form-label"><span class="require">*</span>供应商名称 : </label>
<div class="layui-input-block">
......@@ -32,7 +35,7 @@
<div class="layui-row">
<div class="layui-col-md4">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('region','所在区域',array_get($supplier,'region',''),
{!! $statusPresenter->render('region','所在区域',!empty($supplier)?array_get($supplier,'region',''):'',
config('fixed.Region'),['required'=>true,'width'=>'150px']) !!}
</div>
<div class="layui-col-md8">
......@@ -108,7 +111,7 @@
<div class="layui-row">
<div class="layui-col-md4">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('supplier_group','公司性质',array_get($supplier,'supplier_group',null),
{!! $statusPresenter->render('supplier_group','公司性质',!empty($supplier)?array_get($supplier,'supplier_group',null):'',
config('fixed.SupplierGroup'),['required'=>true,'width'=>'150px']) !!}
</div>
</div>
......@@ -142,3 +145,6 @@
</div>
@endif
@include('script.supplier.SupplierBaseScript')
@if($operate=='add')
</form>
@endif
\ No newline at end of file
......@@ -3,51 +3,51 @@
<div class="layui-card-body" style="padding: 0;">
<div class="split-group" style="height: 130px;">
<div class="split-item" id="s1">
<a href="/supplier/SupplierList?view=iframe&type=all" id="all">全部({{$statistics['total']}})</a>
<a class="main_filter layui-badge layui-bg-green" id="all">全部({{$statistics['total']}})</a>
</div>
<div class="split-item" id="s2" style="text-align: center">
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=pending" id="pending">
<a class="main_filter" id="pending">
待审核({{$statistics['pending']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=in_review" id="in_review">
<a class="main_filter" id="in_review">
审核中({{$statistics['in_review']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=passed" id="passed">
<a class="main_filter" id="passed">
已通过({{$statistics['passed']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=rejected" id="rejected">
<a class="main_filter" id="rejected">
未通过({{$statistics['rejected']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=disable" id="disable">
<a class="main_filter" id="disable">
禁止交易({{$statistics['disable']}})</a>
</div>
</div>
<div class="split-item" id="s3" style="text-align: center">
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=no_purchase_uid" id="no_purchase_uid">
<a class="main_filter" id="no_purchase_uid">
渠道未分配({{$statistics['no_purchase_uid']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=invalid_channel_uid" id="invalid_channel_uid">
<a class="main_filter" id="invalid_channel_uid">
无效采购员({{$statistics['invalid_channel_uid']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=invalid_purchase_uid"
id="invalid_purchase_uid"> 无效渠道员({{$statistics['invalid_purchase_uid']}}</a>
<a class="main_filter" id="invalid_purchase_uid"> 无效渠道员({{$statistics['invalid_purchase_uid']}}
</a>
</div>
</div>
<div class="split-item" id="s4" style="text-align: center">
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=to_follow_up" id="to_follow_up">
<a class="main_filter" id="to_follow_up">
待跟进({{$statistics['to_follow_up']}})</a>
</div>
<div class="layui-row">
<a href="/supplier/SupplierList?view=iframe&type=no_sku" id="no_sku">
<a class="main_filter" id="no_sku">
无sku({{$statistics['no_sku']}})</a>
</div>
......@@ -72,7 +72,7 @@
</div>
<div class="layui-inline">
@inject('transformableInputPresenter','App\Presenters\Filter\TransformableInputPresenter')
{!! $transformableInputPresenter->render(['supplier_name'=>'供应商名称','supplier_code'=>'供应商编码']) !!}
{!! $transformableInputPresenter->render(['supplier_name'=>'供应商名称','supplier_code'=>'供应商编码','supplier_id'=>'供应商ID']) !!}
</div>
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
......@@ -91,31 +91,24 @@
<div class="layui-row">
<div class="layui-inline">
@inject('statusPresenter','App\Presenters\StatusPresenter')
{!! $statusPresenter->render('has_sku','SKU上传','',[0=>'否',1=>'是']) !!}
{!! $statusPresenter->render('has_sku','SKU上传','',[-1=>'否',1=>'是']) !!}
</div>
<div class="layui-inline">
<div class="layui-inline" style="width: 600px">
@inject('transformableTimeIntervalPresenter','App\Presenters\Filter\TransformableTimeIntervalPresenter')
{!! $transformableTimeIntervalPresenter->render(['update_time'=>'更新时间','create_time'=>'创建时间'],true) !!}
</div>
<div class="layui-inline">
@inject('dayTypePresent','App\Presenters\Filter\DayTypePresenter')
{!! $dayTypePresent->render() !!}
{!! $transformableTimeIntervalPresenter->render(['update_time'=>'更新时间','create_time'=>'创建时间']) !!}
</div>
</div>
<div class="layui-row" style="margin-top:10px;margin-bottom: 10px;margin-left: 20px;">
<button class="layui-btn layui-btn-sm layui-btn-normal load" lay-submit="" lay-filter="load">查询</button>
<a class="layui-btn layui-btn-sm layui-btn-normal " href="">重置</a>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal hide_filter_type">隐藏罗盘</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-normal show_filter_type"
<button class="layui-btn layui-btn-sm layui-btn load" lay-submit="" lay-filter="load">查询</button>
<a class="layui-btn layui-btn-sm layui-btn " href="">重置</a>
<button type="button" class="layui-btn layui-btn-sm layui-btn hide_filter_type">隐藏罗盘</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn show_filter_type"
style="display: none">显示罗盘
</button>
</div>
</form>
</div>
<script>
let type = "{{request()->get('type','all')}}";
$('#' + type).attr('class', 'layui-badge layui-bg-green');
//罗盘隐藏
$('.hide_filter_type').click(function () {
$(this).hide();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment