Commit 359d2412 by mushishixian

temp

parent d64e4a57
Showing with 394 additions and 24 deletions
......@@ -285,6 +285,27 @@ class SupplierApiController extends Controller
$this->response(0, '分配渠道开发员成功');
}
//分配采购员(支持批量操作)
public function AllocateChannelUser($request)
{
$purchaseUid = $request->get('channel_uid');
$supplierId = $request->get('supplier_id');
if (empty($purchaseUid)) {
$this->response(-1, '采购员不能为空');
}
$adminService = new AdminUserService();
$check = $adminService->checkIsResignedByCodeId($purchaseUid);
if ($check) {
$this->response(-1, '该采购员已经离职,请选择其他人员');
}
$service = new SupplierService();
$result = $service->allocatePurchaseUser($supplierId, $purchaseUid);
if (!$result) {
$this->response(-1, '分配采购员失败');
}
$this->response(0, '分配采购员成功');
}
//转正供应商
public function ChangeSupplierIsType($request)
{
......
......@@ -4,6 +4,7 @@ namespace App\Http\Controllers;
use App\Http\Services\AdminUserService;
use App\Http\Services\LogService;
use App\Http\Services\RegionService;
use App\Http\Services\RoleService;
use App\Http\Services\SupplierContactService;
use App\Http\Services\SupplierService;
......@@ -110,6 +111,9 @@ class SupplierController extends Controller
];
}
$this->data['operate'] = 'add';
//省市区数据放到script模板
$regionService = new RegionService();
$this->data['region_data'] = $regionService->getCityRegionData();
//编辑
if (!empty($supplierId)) {
$this->data['title'] = '编辑供应商';
......@@ -195,6 +199,25 @@ class SupplierController extends Controller
return $this->view('审核供应商');
}
//分配采购员
public function AllocateChannelUser($request)
{
$supplierId = $request->get('supplier_id');
$model = new SupplierChannelModel();
$supplier = $model->where('supplier_id', $supplierId)->first();
$supplier = $supplier ? $supplier->toArray() : [];
$transformer = new SupplierTransformer();
$supplier = $transformer->transformInfo($supplier);
$this->data['supplier'] = $supplier;
$intracodeModel = new IntracodeModel();
$this->data['userCodes'] = $intracodeModel->getChannelUsersEncode();
$logModel = new LogModel();
$this->data['logs'] = $logModel->where('supplier_id', $supplierId)
->where('action', '分配渠道开发员')->orderBy('id', 'desc')
->limit(10)->get();
return $this->view('审核供应商');
}
//操作日志列表
public function LogList($request, $data)
{
......
<?php
namespace App\Http\Services;
//后台用户相关信息服务
use App\Model\RedisModel;
use App\Model\RegionModel;
use Illuminate\Support\Facades\DB;
//用于判断是否已经查看的服务
class RegionService
{
public function getCityRegionData()
{
$regionModel = new RegionModel();
$data = $regionModel->whereIn('region_type', [1,2])->get()->toArray();
$regionData = [];
foreach ($data as $region) {
$regionData[] = [
'id' => $region['region_id'],
'title' => $region['region_name'],
'pid' => $region['parent_id'] == 1 ? 0 : $region['parent_id'],
];
}
return $regionData;
}
}
\ No newline at end of file
......@@ -57,6 +57,19 @@ class SupplierAuditService
return $result;
}
//判断是否是可以由当前用户审核
//要判断审核供应商的最后修改人,是不是属于当前审批人的部门或者部下,是才能让他审核
public function CheckCanAuditSupplier($supplierId)
{
$auditUserId = request()->user->userId;
$logModel = new LogModel();
$log = $logModel->where('supplier_id', $supplierId)
->where('type', LogModel::UPDATE_OPERATE)->orderBy('id', 'desc')->first();
$supplier['last_update_'] = $log['admin_name'] ?: '无';
$lastUpdateUserId = $log['admin_id'];
}
//判断是否为待跟进供应商
public function checkIsNeedToFollowUpSupplier($supplierId)
{
......@@ -68,7 +81,7 @@ class SupplierAuditService
//如果全部必填字段都有了,就返回false(不需要跟进)
if ($this->checkHasAllRequireField($supplier)) {
return false;
}else{
} else {
return true;
}
}
......
......@@ -72,6 +72,12 @@ class SupplierService
$channel['qualification_photos'] = $this->getPhotosData($channel['upload_file']);
unset($channel['upload_file']);
$channel['established_time'] = strtotime($channel['established_time']);
//判断所在区域,如果不是中国,则要把省市去掉
if ($channel['region'] != 2) {
$channel['province_id'] = $channel['city_id'] = 0;
}
$skuUploadRulerService = new SupplierSkuUploadRulerService();
$channel['sku_upload_ruler'] = $skuUploadRulerService->getSkuUploadRulerForDB($channel['sku_upload_ruler']);
$logService = new LogService();
......@@ -296,6 +302,43 @@ class SupplierService
return $result;
}
//分配采购员
public function allocateChannelUser($supplierId, $purchaseUid)
{
$model = new SupplierChannelModel();
$supplier = $model->where('supplier_id', $supplierId)->first();
$supplier = $supplier ? $supplier->toArray() : [];
$prePurchaseUid = $supplier['purchase_uid'];
$result = $model->where('supplier_id', $supplierId)->update([
'update_time' => time(),
'purchase_uid' => $purchaseUid,
]);
if ($result) {
//重新分配渠道开发并且开发人员有变更的时候,就去检查是否需要跟进
if ($supplier['purchase_uid'] != $purchaseUid) {
$auditService = new SupplierAuditService();
//还要判断是否为待跟进供应商
if ($auditService->checkIsNeedToFollowUpSupplier($supplierId)) {
$model->where('supplier_id', $supplierId)->update([
'to_follow_up' => 1,
]);
}
}
//还要去记录日志
$adminUserService = new AdminUserService();
$prePurchaseUser = $adminUserService->getAdminUserInfoByCodeId($prePurchaseUid);
$prePurchaseUserName = array_get($prePurchaseUser, 'name', ' ');
$purchaseUser = $adminUserService->getAdminUserInfoByCodeId($purchaseUid);
$purchaseUserName = array_get($purchaseUser, 'name', '');
$logService = new LogService();
$content = "将渠道开发员由 [${prePurchaseUserName}] 改为 [${purchaseUserName}]";
$logService->AddLog($supplierId, LogModel::UPDATE_OPERATE, '分配渠道开发员', $content);
}
return $result;
}
//判断并且修改待跟进
private function updateIsFollowUp($supplierId)
{
......
......@@ -15,29 +15,25 @@ class RegionSelectorPresenter
$text
</label>
<div class="layui-input-inline" style="width: 400px">
<input type="text" autocomplete="on" class="layui-input" id="city-picker" name="city-picker" readonly="readonly"
data-toggle="city-picker" placeholder="请选择">
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
<select name="city" lay-verify="">
<option value="">请选择一个城市</option>
<option value="010">北京</option>
<option value="021">上海</option>
<option value="0571">杭州</option>
</select>
</div>
<script src="/js/web/layui/exts/city-picker/city-picker.data.js"></script>
<link href="/js/web/layui/exts/city-picker/city-picker.css" rel="stylesheet" />
<script>
layui.config({
base: '/js/web/layui/exts' //静态资源所在路径
}).extend({
citypicker: 'city-picker/city-picker'
}).use(['jquery', 'index', 'table', 'citypicker'], function () {
var $ = layui.$
, table = layui.table
, form = layui.form
, cityPicker = layui.citypicker;
var currentPicker = new cityPicker("#city-picker", {
provincename:"provinceId",
cityname:"cityId",
districtname: "districtId",
level: 'districtId',// 级别
});
currentPicker.setValue("河南省/信阳市/新县");
layui.use(['form'], function () {
let $ = layui.$;
let form = layui.form;
});
</script>
EOF;
......
......@@ -87,7 +87,7 @@ return [
'SupplierStatus' => [
-3 => '已拉黑',
// -3 => '已拉黑',
-2 => '禁止交易',
-1 => '待审核',
1 => '审核中',
......
......@@ -16,7 +16,8 @@ layui.config({ // common.js是配置layui扩展模块的目录,每个页面
citypicker: 'city-picker/city-picker',
introJs: 'introJs/introJs',
zTree: 'zTree/zTree',
xmSelect: 'xmSelect'
xmSelect: 'xmSelect',
interact: 'interact/js/interact',
}).use(['layer', 'admin'], function () {
var $ = layui.jquery;
var layer = layui.layer;
......
html,body{height: 100%;overflow-y:hidden;}
.system-top .layui-nav{height: 60px;display: inline-block;}
.top-left{padding-left: 0;}
.top-left .iconfont{font-size: 25px;}
.top-left .layui-this:after{width: 0;}
.top-right{position: absolute;right: 0;}
.logo{background-color: #009688;height:60px;line-height:60px;font-size:18px;text-align:center;color:#fff;}
.logo .layui-nav-img{margin-right: 0;}
.system-left{height: 100%;position: fixed;z-index: 1;top: 0px;}
.system-left .layui-nav .layui-nav-item{border-bottom: 1px solid #414d5c;}
/** 左侧菜单展开模式 **/
.left-full .system-left,.left-full .logo{width: 200px;}
.left-full .system-top,.left-full .system-content{padding-left:210px;}
.left-full .text{display: block;}.left-full .image{display: none;}
/** 左侧菜单收起(迷你)模式 **/
.left-mini .system-left,.left-mini .system-left .layui-nav{width: 56px;}
.left-mini .system-top,.left-mini .system-content{padding-left: 66px;}
.left-mini .system-left .layui-nav-item>a .title{display: none;}
.left-mini .system-left dd span{display: none;}
.left-mini .system-left .layui-nav-tree .layui-nav-more{right: 22px;}
.left-mini .layui-nav-child dd{position: relative;}
.left-mini .left-tips{position: absolute;left: 60px;top: 0;padding:0 10px;border-radius:2px;background-color: #000;}
.left-mini .left-tips i{position: absolute;left: -8px;top: 5px;width: 0;height: 0;border-width: 8px;border-color: transparent;border-style: dashed;border-bottom-style: solid;border-bottom-color: #000;}
.left-mini .logo .text{display: none;}.left-mini .logo .image{display: block;}
.system-content .layui-tab-card{margin-bottom: 0;border: 0;}
.system-content .layui-tab-card .layui-tab-title{border-top-left-radius: 15px;border-top-right-radius: 15px;position: absolute;z-index: 9;width: 100%;bottom: 0;height: 35px;}
.system-content .layui-tab-card .layui-tab-title li{background: #f2f2f2;height: 35px;line-height: 35px;border-top-left-radius: 15px;border-top-right-radius: 15px;border-left: 1px solid #e2e2e2;border: 1px solid #e2e2e2;margin-right: 4px;}
.system-content .layui-tab-card .layui-tab-title li .layui-tab-close{border: 1px solid #c2c2c2;border-radius: 50%;}
.system-content .layui-tab-card .layui-tab-title li:first-child .layui-tab-close{display:none;}
.system-content .layui-tab-card .layui-tab-title .layui-this{background-color: #009688;color: #fff;}
.system-content .layui-tab-card .layui-tab-title .layui-this:after{border-style: none;}
.system-content .layui-tab-card .layui-tab-title .layui-this .layui-tab-close{color:#fff;border: 1px solid #fff;}
.system-content .layui-tab-card .layui-tab-content{padding: 0;}
.system-content .layui-tab-card .layui-tab-content .layui-table-view{margin:0;}
.hide{display: none;}
.top-title{margin-bottom: 10px;position: relative;}
.top-title .layui-form-select{display: inline-block;}
.top-title .layui-btn-group{display: inline-block;position: absolute;right: 10px;top: 7px;font-size: 14px;}
.top-title .layui-btn-group .layui-btn{margin-top: -4px;height: 36px;}
.top-title .layui-form-select .layui-input{background: #009688;color:#fff;}
.top-title .layui-form-select .layui-input::-webkit-input-placeholder{color:#fff;}
.layui-table-page{text-align: center;}
.layui-table-view{margin-bottom: 0;}
.table-search-form{padding:10px;}
.table-search-form .layui-form-item{margin-bottom:10px;}
.table-search-form .layui-layer-btn a{width: 100%;margin: 5px 0;padding: 0;}
td[data-field=action] .layui-table-cell{overflow: unset;padding: 0;}
td[data-field=action] .layui-form-select{position: absolute;width: 120px;margin-left: 7px;}
td[data-field=action] .layui-form-select .layui-input{height:30px;border: 0;background-color: #009688;color: #fff;}
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="layui/css/layui.css"/>
<style>body{padding:20px;}</style>
</head>
<body>
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item"></div>
<div class="layui-form-item test"></div>
<div class="layui-form-item test1" lay-filter="test1"></div>
<div class="layui-form-item test2"></div>
<div class="layui-form-item test3"></div>
</form>
<script type="text/javascript" src="layui/layui.js"></script>
<script type="text/javascript">
layui.config({
base: 'js/',
})
layui.use(['interact'],function(){
var interact = layui.interact;
var data=[{"id":1,"pid":0,"title":"1-1"},{"id":2,"pid":0,"title":"1-2"},{"id":3,"pid":0,"title":"1-3"},{"id":4,"pid":1,"title":"1-1-1"},{"id":5,"pid":1,"title":"1-1-2"},{"id":6,"pid":2,"title":"1-2-1"},{"id":7,"pid":2,"title":"1-2-3"},{"id":8,"pid":3,"title":"1-3-1"},{"id":9,"pid":3,"title":"1-3-2"},{"id":10,"pid":4,"title":"1-1-1-1"},{"id":11,"pid":4,"title":"1-1-1-2"}];
interact.render({
elem : '.test',
title : '选择联动',
data : data,
name : 'region',
});
interact.render({
elem : '.test1',
title : '选择省市区',
data : data,
name : 'region1',
hint : ['请选择省份','请选择城市','请选择县/区'],
});
interact.render({
elem : '.test2',
title : '选择联动',
data : data,
name : 'region2',
hint : ['第一级','第二级','第三级'],
});
interact.render({
elem : '.test3',
title : '选择联动',
data : data,
name : 'region3',
selected : [1,4,11],
hint : ['第一级','第二级','第三级'],
});
interact.on('interact(test1)',function(data){
console.dir(data);
})
})
</script>
</body>
</html>
layui.define("form", function(exports) {
var MOD_NAME = "interact",
o = layui.jquery,
form = layui.form,
elems = [],
hints = [],
datas = [],
events = [],
interact = function() {};
interact.prototype.on = function(event, callback) {
events.push(event);
return layui.onevent.call(this, MOD_NAME, event, callback)
};
interact.prototype.render = function(e) {
datas.push(this.data(e.data));
elems.push(e.elem);
hints.push(e.hint ? e.hint : "");
this.template(e)
};
interact.prototype.template = function(e) {
var t = this,
arr = ['<label class="layui-form-label">' + e.title + "</label>"],
hint = e.hint ? e.hint : ["请选择"];
if(e.selected) {
t.selected(e, arr, hint)
} else {
o.each(hint, function(idx, value) {
var options = (idx == 0 ? t.options(e, 0).join("") : "");
arr.push('<div class="layui-input-inline"><select name="' + e.name + '[]"><option value="">' + value + "</option>" + options + "</select></div>")
})
}
o(e.elem).html(arr.join(""));
t.refresh(e)
};
interact.prototype.select = function(e, obj, value) {
var t = this,
index = t.curr_idx(obj),
otl = obj.parents(".layui-input-inline"),
ot = otl.next();
if(value !== "" && (!datas[t.curr_idx(obj)][value] || !datas[index][value].length)) {
otl.nextAll().remove();
return false
}
ot.length && otl.nextAll().find("select option:not(option:first)").remove();
if(value !== "") {
var i = otl.index();
if(!ot || !ot.length) {
ot = otl.after('<div class="layui-input-inline"><select name="' + e.name + '[]"><option value="">' + (hints[index] && hints[index][i] ? hints[index][i] : "请选择") + "</option></select></div>").next()
}
var options = [ot.find("option:first").prop("outerHTML")];
ot.find("select").html(t.options(e, value, options, obj).join(""))
}
t.refresh(e)
};
interact.prototype.selected = function(e, arr, hint) {
var t = this;
e.selected.unshift(0);
o.each(e.selected, function(idx, value) {
if(idx < e.selected.length - 1) {
var options = "";
o.each(t.data(e.data)[value], function(index, item) {
options += '<option value="' + item.id + '" ' + (item.id == e.selected[idx + 1] ? "selected" : "") + ">" + item.title + "</option>"
});
arr.push('<div class="layui-input-inline"><select name="' + e.name + '[]"><option value="">' + (hint[idx] ? hint[idx] : "请选择") + "</option>" + options + "</select></div>")
}
});
return arr
};
interact.prototype.options = function(e, value, arr, obj) {
var t = this;
arr = arr ? arr : [];
o.each(datas[t.curr_idx(obj)][value], function(idx, item) {
arr.push('<option value="' + item.id + '">' + item.title + "</option>")
});
return arr
};
interact.prototype.refresh = function(e) {
var t = this;
form.render();
o(elems.join(",")).find(".layui-anim dd").click(function() {
var obj = o(this),
value = obj.attr("lay-value"),
filter = obj.parents("[lay-filter]");
t.select(e, obj, value);
return filter ? layui.event.call(this, MOD_NAME, "interact(" + filter.attr("lay-filter") + ")", {
elem: obj.parents(".layui-input-inline").find("select option[value=" + value + "]"),
othis: obj,
value: value,
text: obj.text()
}) : ""
})
};
interact.prototype.curr_idx = function(obj) {
var idx = 0;
if(obj) {
var cls = obj.parents(".layui-form-item").attr("class").replace("layui-form-item ", "");
idx = elems.findIndex(function(val) {
return val == "." + cls
})
}
return idx
};
interact.prototype.data = function(data) {
var arr = [];
o.each(data, function(index, item) {
if(!arr[item.pid]) {
arr[item.pid] = []
}
arr[item.pid].push(item)
});
return arr
};
exports(MOD_NAME, new interact())
});
\ No newline at end of file
/** layui-v2.4.3 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.4.3 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
/** layui-v2.4.3 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
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
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