layui升级到2.8.2版本,客户模块支持导入自己的客户。
This commit is contained in:
parent
88658e2fa4
commit
92934482ba
@ -40,6 +40,15 @@ class Index extends BaseController
|
|||||||
if (!empty($param['type'])) {
|
if (!empty($param['type'])) {
|
||||||
$where[] = ['a.intent_status', '=', $param['type']];
|
$where[] = ['a.intent_status', '=', $param['type']];
|
||||||
}
|
}
|
||||||
|
if (!empty($param['follow_time'])) {
|
||||||
|
$follow_time =explode('~', $param['follow_time']);
|
||||||
|
$where[] = ['ct.follow_time', 'between', [strtotime(urldecode($follow_time[0])),strtotime(urldecode($follow_time[1]))]];
|
||||||
|
}
|
||||||
|
if (!empty($param['next_time'])) {
|
||||||
|
$next_time =explode('~', $param['next_time']);
|
||||||
|
$where[] = ['ct.next_time', 'between', [strtotime(urldecode($next_time[0])),strtotime(urldecode($next_time[1]))]];
|
||||||
|
}
|
||||||
|
|
||||||
$where[] = ['a.delete_time', '=', 0];
|
$where[] = ['a.delete_time', '=', 0];
|
||||||
|
|
||||||
$uid = $this->uid;
|
$uid = $this->uid;
|
||||||
@ -95,18 +104,25 @@ class Index extends BaseController
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$ct_sql= Db::name('CustomerTrace')->order('id desc')->buildSql();
|
||||||
|
$orderby = 'a.create_time desc';
|
||||||
|
if(isset($param['orderby'])){
|
||||||
|
$orderby = 'ct.'.$param['orderby'];
|
||||||
|
}
|
||||||
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
|
$rows = empty($param['limit']) ? get_config('app.page_size') : $param['limit'];
|
||||||
$content = CustomerList::where($where)
|
$content = CustomerList::where($where)
|
||||||
->where(function ($query) use($whereOr) {
|
->where(function ($query) use($whereOr) {
|
||||||
$query->whereOr($whereOr);
|
$query->whereOr($whereOr);
|
||||||
})
|
})
|
||||||
->field('a.*,d.title as belong_department,g.title as grade,s.title as source,i.title as industry')
|
->field('a.*,d.title as belong_department,g.title as grade,s.title as source,i.title as industry,ct.follow_time,ct.next_time')
|
||||||
->alias('a')
|
->alias('a')
|
||||||
->join('customer_source s', 'a.source_id = s.id')
|
->join('customer_source s', 'a.source_id = s.id')
|
||||||
->join('customer_grade g', 'a.grade_id = g.id')
|
->join('customer_grade g', 'a.grade_id = g.id')
|
||||||
->join('industry i', 'a.industry_id = i.id')
|
->join('industry i', 'a.industry_id = i.id')
|
||||||
->join('department d', 'a.belong_did = d.id','LEFT')
|
->join('department d', 'a.belong_did = d.id','LEFT')
|
||||||
->order('a.create_time desc')
|
->join($ct_sql.' ct', 'ct.cid = a.id','LEFT')
|
||||||
|
->order($orderby)
|
||||||
|
->group('ct.follow_time') //去重
|
||||||
->paginate($rows, false, ['query' => $param])
|
->paginate($rows, false, ['query' => $param])
|
||||||
->each(function ($item, $key) {
|
->each(function ($item, $key) {
|
||||||
$item->belong_name = Db::name('Admin')->where(['id' => $item->belong_uid])->value('name');
|
$item->belong_name = Db::name('Admin')->where(['id' => $item->belong_uid])->value('name');
|
||||||
@ -133,6 +149,19 @@ class Index extends BaseController
|
|||||||
else{
|
else{
|
||||||
$item->services_name = Db::name('Services')->where(['id' => $item->services_id])->value('title');
|
$item->services_name = Db::name('Services')->where(['id' => $item->services_id])->value('title');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(empty($item->follow_time)){
|
||||||
|
$item->follow_time = '-';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$item->follow_time = date('Y-m-d H:i:s', $item->follow_time);
|
||||||
|
}
|
||||||
|
if(empty($item->next_time)){
|
||||||
|
$item->next_time = '-';
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
$item->next_time = date('Y-m-d H:i:s', $item->next_time);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return table_assign(0, '', $content);
|
return table_assign(0, '', $content);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1,4 +1,13 @@
|
|||||||
{extend name="../../base/view/common/base" /}
|
{extend name="../../base/view/common/base" /}
|
||||||
|
{block name="style"}
|
||||||
|
<style>
|
||||||
|
.gougu-upload-files{background-color: #ffffff; border:1px solid #e4e7ed;color: #c0c4cc;cursor: not-allowed; padding:0 12px; width:180px; box-sizing: border-box; display: inline-block; font-size: inherit; height: 38px; line-height: 35px; margin-right:8px; border-radius:2px;}
|
||||||
|
.gougu-upload-tips{color:#969696}
|
||||||
|
.layui-form-item{margin-bottom:8px;}
|
||||||
|
.layui-input-block{min-height:24px;}
|
||||||
|
.layui-input-inline{padding-bottom:12px;}
|
||||||
|
</style>
|
||||||
|
{/block}
|
||||||
<!-- 主体 -->
|
<!-- 主体 -->
|
||||||
{block name="body"}
|
{block name="body"}
|
||||||
<div class="p-3">
|
<div class="p-3">
|
||||||
@ -13,53 +22,61 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform" id="barsearchform">
|
<form class="layui-form gg-form-bar border-x" lay-filter="barsearchform" id="barsearchform">
|
||||||
<div class="layui-input-inline" style="width:150px;">
|
{eq name="$auth" value="1"}
|
||||||
|
<div class="layui-input-inline" style="width:108px;">
|
||||||
|
<input type="text" name="username" placeholder="选择所属员工" class="layui-input" readonly data-event="select"/>
|
||||||
|
<input type="text" name="uid" value="" style="display:none" />
|
||||||
|
</div>
|
||||||
|
{/eq}
|
||||||
|
<div class="layui-input-inline" style="width:128px;">
|
||||||
<select name="grade_id">
|
<select name="grade_id">
|
||||||
<option value="">请选择客户等级</option>
|
<option value="">选择客户等级</option>
|
||||||
{volist name=":customer_grade()" id="v"}
|
{volist name=":customer_grade()" id="v"}
|
||||||
<option value="{$v.id}">{$v.title}</option>
|
<option value="{$v.id}">{$v.title}</option>
|
||||||
{/volist}
|
{/volist}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline" style="width:150px;">
|
<div class="layui-input-inline" style="width:128px;">
|
||||||
<select name="source_id">
|
<select name="source_id">
|
||||||
<option value="">请选择渠道来源</option>
|
<option value="">选择渠道来源</option>
|
||||||
{volist name=":customer_source()" id="v"}
|
{volist name=":customer_source()" id="v"}
|
||||||
<option value="{$v.id}">{$v.title}</option>
|
<option value="{$v.id}">{$v.title}</option>
|
||||||
{/volist}
|
{/volist}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline" style="width:150px;">
|
<div class="layui-input-inline" style="width:128px;">
|
||||||
<select name="type">
|
<select name="type">
|
||||||
<option value="">请选择客户意向</option>
|
<option value="">选择客户意向</option>
|
||||||
<option value="1">意向不明</option>
|
<option value="1">意向不明</option>
|
||||||
<option value="2">意向模糊</option>
|
<option value="2">意向模糊</option>
|
||||||
<option value="3">意向一般</option>
|
<option value="3">意向一般</option>
|
||||||
<option value="4">意向强烈</option>
|
<option value="4">意向强烈</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="layui-input-inline" style="width:150px;">
|
<div class="layui-input-inline" style="width:128px;">
|
||||||
<select name="status">
|
<select name="status">
|
||||||
<option value="">请选择客户状态</option>
|
<option value="">选择客户状态</option>
|
||||||
<option value="1">新进客户</option>
|
<option value="1">新进客户</option>
|
||||||
<option value="2">跟进客户</option>
|
<option value="2">跟进客户</option>
|
||||||
<option value="3">正式客户</option>
|
<option value="3">正式客户</option>
|
||||||
<option value="4">流失客户</option>
|
<option value="4">流失客户</option>
|
||||||
<option value="5">已成交客户</option>
|
<option value="5">已成交客户</option>
|
||||||
</select>
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="layui-input-inline" style="width:300px;">
|
||||||
|
<input type="text" class="layui-input" id="follow_time" placeholder="最近跟进日期" readonly name="follow_time">
|
||||||
</div>
|
</div>
|
||||||
{eq name="$auth" value="1"}
|
<div class="layui-input-inline" style="width:300px;">
|
||||||
<div class="layui-input-inline" style="width:120px;">
|
<input type="text" class="layui-input" id="next_time" placeholder="下次跟进日期" readonly name="next_time">
|
||||||
<input type="text" name="username" placeholder="选择所属员工" class="layui-input" readonly data-event="select"/>
|
|
||||||
<input type="text" name="uid" value="" style="display:none" />
|
|
||||||
</div>
|
</div>
|
||||||
{/eq}
|
|
||||||
<div class="layui-input-inline" style="width:240px;">
|
<div class="layui-input-inline" style="width:240px;">
|
||||||
<input type="hidden" name="tab" value="0" />
|
<input type="hidden" name="tab" value="0" />
|
||||||
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
<input type="text" name="keywords" placeholder="输入关键字" class="layui-input" autocomplete="off" />
|
||||||
</div>
|
</div>
|
||||||
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
|
<div class="layui-input-inline">
|
||||||
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="clear">清空</button>
|
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">提交搜索</button>
|
||||||
|
<button type="reset" class="layui-btn layui-btn-reset" lay-filter="clear">清空</button>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
<table class="layui-hide" id="test" lay-filter="test"></table>
|
<table class="layui-hide" id="test" lay-filter="test"></table>
|
||||||
</div>
|
</div>
|
||||||
@ -67,6 +84,7 @@
|
|||||||
<script type="text/html" id="toolbarDemo">
|
<script type="text/html" id="toolbarDemo">
|
||||||
<div class="layui-btn-container">
|
<div class="layui-btn-container">
|
||||||
<span class="layui-btn layui-btn-sm" title="添加客户" lay-event="add">+ 添加客户</span>
|
<span class="layui-btn layui-btn-sm" title="添加客户" lay-event="add">+ 添加客户</span>
|
||||||
|
<button class="layui-btn layui-btn-normal layui-btn-sm" lay-event="import"><i class="layui-icon"></i>批量导入</button>
|
||||||
</div>
|
</div>
|
||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
@ -75,9 +93,12 @@
|
|||||||
<!-- 脚本 -->
|
<!-- 脚本 -->
|
||||||
{block name="script"}
|
{block name="script"}
|
||||||
<script>
|
<script>
|
||||||
const moduleInit = ['tool','employeepicker','tablePlus'];
|
const moduleInit = ['tool','employeepicker','tablePlus','laydatePlus'];
|
||||||
function gouguInit() {
|
function gouguInit() {
|
||||||
var table = layui.tablePlus, tool = layui.tool ,form = layui.form, element = layui.element, employeepicker = layui.employeepicker;
|
var table = layui.tablePlus, tool = layui.tool ,form = layui.form, element = layui.element,upload = layui.upload,laydate = layui.laydate, employeepicker = layui.employeepicker,laydatePlus = layui.laydatePlus;
|
||||||
|
|
||||||
|
var follow_time = new laydatePlus({'target':'follow_time'});
|
||||||
|
var next_time = new laydatePlus({'target':'next_time'});
|
||||||
|
|
||||||
layui.pageTable = table.render({
|
layui.pageTable = table.render({
|
||||||
elem: '#test',
|
elem: '#test',
|
||||||
@ -89,13 +110,14 @@
|
|||||||
cellMinWidth: 80,
|
cellMinWidth: 80,
|
||||||
page: true, //开启分页
|
page: true, //开启分页
|
||||||
limit: 20,
|
limit: 20,
|
||||||
|
sort:true,
|
||||||
cols: [
|
cols: [
|
||||||
[ //表头
|
[ //表头
|
||||||
{
|
{
|
||||||
field: 'id',title: '编号',align: 'center',width: 80,templet: function (d) {
|
field: 'id',title: '编号',align: 'center',width: 80,templet: function (d) {
|
||||||
return'C' + d.id;
|
return'C' + d.id;
|
||||||
}
|
}
|
||||||
},{ field: 'status', title: '状态', align: 'center', width: 80, templet: function (d) {
|
},{ field: 'status', title: '状态', align: 'center', width: 90, templet: function (d) {
|
||||||
var html = '<span class="layui-btn layui-btn-xs layui-bg-' + d.status + '">' + d.status_name + '</span>';
|
var html = '<span class="layui-btn layui-btn-xs layui-bg-' + d.status + '">' + d.status_name + '</span>';
|
||||||
return html;
|
return html;
|
||||||
}
|
}
|
||||||
@ -124,25 +146,17 @@
|
|||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100
|
width: 100
|
||||||
},{
|
},{
|
||||||
field: 'qq',
|
field: 'follow_time',
|
||||||
title: 'QQ号码',
|
title: '最近跟进时间',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 100
|
sort: true,
|
||||||
|
width: 150
|
||||||
},{
|
},{
|
||||||
field: 'wechat',
|
field: 'next_time',
|
||||||
title: '微信号',
|
title: '下次跟进时间',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 90
|
sort: true,
|
||||||
},{
|
width: 150
|
||||||
field: 'create_time',
|
|
||||||
title: '创建时间',
|
|
||||||
align: 'center',
|
|
||||||
width: 136
|
|
||||||
},{
|
|
||||||
field: 'update_time',
|
|
||||||
title: '最后编辑时间',
|
|
||||||
align: 'center',
|
|
||||||
width: 136
|
|
||||||
},{
|
},{
|
||||||
field: 'source',
|
field: 'source',
|
||||||
title: '来源渠道',
|
title: '来源渠道',
|
||||||
@ -163,7 +177,12 @@
|
|||||||
title: '所属部门',
|
title: '所属部门',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
width: 90
|
width: 90
|
||||||
}, {
|
},{
|
||||||
|
field: 'create_time',
|
||||||
|
title: '创建时间',
|
||||||
|
align: 'center',
|
||||||
|
width: 136
|
||||||
|
},{
|
||||||
field: 'right',
|
field: 'right',
|
||||||
fixed:'right',
|
fixed:'right',
|
||||||
title: '操作',
|
title: '操作',
|
||||||
@ -185,6 +204,20 @@
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
|
table.on('sort(test)', function(obj){ //注:tool是工具条事件名,test是table原始容器的属性 lay-filter="对应的值"
|
||||||
|
console.log(obj.field); //当前排序的字段名
|
||||||
|
console.log(obj.type); //当前排序类型:desc(降序)、asc(升序)、null(空对象,默认排序)
|
||||||
|
//尽管我们的 table 自带排序功能,但并没有请求服务端。
|
||||||
|
//有些时候,你可能需要根据当前排序的字段,重新向服务端发送请求,从而实现服务端排序,如:
|
||||||
|
let where = form.val("barsearchform");
|
||||||
|
console.log(where);
|
||||||
|
//where['field'] = obj.field;
|
||||||
|
where['orderby'] = obj.field +' '+obj.type;
|
||||||
|
layui.pageTable.reload({
|
||||||
|
where: where
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
element.on('tab(tab)', function(data){
|
element.on('tab(tab)', function(data){
|
||||||
$('[name="tab"]').val(data.index);
|
$('[name="tab"]').val(data.index);
|
||||||
$("#barsearchform")[0].reset();
|
$("#barsearchform")[0].reset();
|
||||||
@ -192,13 +225,6 @@
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
|
|
||||||
//表头工具栏事件
|
|
||||||
table.on('toolbar(test)', function(obj){
|
|
||||||
if (obj.event === 'add') {
|
|
||||||
tool.side("/customer/index/add");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
//监听行工具事件
|
//监听行工具事件
|
||||||
table.on('tool(test)', function(obj) {
|
table.on('tool(test)', function(obj) {
|
||||||
var data = obj.data;
|
var data = obj.data;
|
||||||
@ -243,24 +269,119 @@
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//表头工具栏事件
|
||||||
|
table.on('toolbar(test)', function(obj){
|
||||||
|
if (obj.event === 'add') {
|
||||||
|
tool.side("/customer/index/add");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (obj.event === 'import') {
|
||||||
|
uploadImport();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
let uploadFiles;
|
||||||
|
function clearFile() {
|
||||||
|
for (let x in uploadFiles) {
|
||||||
|
delete uploadFiles[x];
|
||||||
|
}
|
||||||
|
$('#gougu-upload-choosed').html('');
|
||||||
|
}
|
||||||
|
function uploadImport(){
|
||||||
|
layer.open({
|
||||||
|
'title':'批量导入客户',
|
||||||
|
'type':1,
|
||||||
|
'area': ['640px', '320px'],
|
||||||
|
'content':'<div class="layui-form p-3">\
|
||||||
|
<div id="uploadType1">\
|
||||||
|
<div class="layui-form-item">\
|
||||||
|
<label class="layui-form-label">文件:</label>\
|
||||||
|
<div class="layui-input-block">\
|
||||||
|
<span class="gougu-upload-files">.xls,.xlsx</span><button type="button" class="layui-btn layui-btn-normal" id="uploadSelect">选择文件</button><a href="/static/home/file/勾股OA客户导入模板.xlsx" class="layui-btn ml-4">Execl表格模板下载</a>\
|
||||||
|
</div>\
|
||||||
|
</div>\
|
||||||
|
<div class="layui-form-item">\
|
||||||
|
<label class="layui-form-label"></label>\
|
||||||
|
<div class="layui-input-block">\
|
||||||
|
<span class="gougu-upload-tips">1、这里导入的客户是当前登录人员的客户,如果是公海客户,请到公海列表操作;<br>2、只能上传 .xls、.xlsx文件;<br>3、数据请勿放在合并的单元格中;<br>4、文件大小请勿超过2MB,导入数据不能超过3000条</span>\
|
||||||
|
</div>\
|
||||||
|
</div>\
|
||||||
|
<div class="layui-form-item">\
|
||||||
|
<label class="layui-form-label"></label>\
|
||||||
|
<div class="layui-input-block green" id="gougu-upload-choosed"></div>\
|
||||||
|
</div>\
|
||||||
|
<div class="layui-form-item">\
|
||||||
|
<label class="layui-form-label"></label>\
|
||||||
|
<div class="layui-input-block red" id="gougu-upload-note"></div>\
|
||||||
|
</div>\
|
||||||
|
<div class="layui-form-item layui-form-item-sm">\
|
||||||
|
<label class="layui-form-label"></label>\
|
||||||
|
<div class="layui-input-block">\
|
||||||
|
<button type="button" class="layui-btn" id="uploadAjax">上传并导入</button>\
|
||||||
|
</div>\
|
||||||
|
</div>\
|
||||||
|
</div> \
|
||||||
|
</div>',
|
||||||
|
success: function(layero, idx){
|
||||||
|
form.render();
|
||||||
|
//选文件
|
||||||
|
let uploadImport = upload.render({
|
||||||
|
elem: '#uploadSelect'
|
||||||
|
,url: '/api/import/import_customer/type/my'
|
||||||
|
,auto: false
|
||||||
|
,accept: 'file' //普通文件
|
||||||
|
,acceptMime: 'application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' // 此处设置上传的文件格式
|
||||||
|
,exts: 'xls|xlsx' //只允许上传文件格式
|
||||||
|
,bindAction: '#uploadAjax'
|
||||||
|
,choose: function(obj){
|
||||||
|
uploadFiles = obj.pushFile();
|
||||||
|
// 清空,防止多次上传
|
||||||
|
clearFile();
|
||||||
|
obj.preview(function(index, file, result){
|
||||||
|
obj.pushFile();// 再添加
|
||||||
|
$('#gougu-upload-choosed').html('已选择:'+file.name);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
,before: function(obj){
|
||||||
|
}
|
||||||
|
,progress: function(n, elem, e){
|
||||||
|
$('#gougu-upload-note').html('文件上转中...');
|
||||||
|
if(n==100){
|
||||||
|
$('#gougu-upload-note').html('数据导入中...');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function(index, upload){
|
||||||
|
clearFile();
|
||||||
|
$('#gougu-upload-note').html('数据导入失败,请关闭重试');
|
||||||
|
}
|
||||||
|
,done: function(res, index, upload){
|
||||||
|
clearFile();
|
||||||
|
layer.msg(res.msg);
|
||||||
|
$('#gougu-upload-note').html(res.msg);
|
||||||
|
if(res.code==0){
|
||||||
|
layer.close(idx);
|
||||||
|
layui.pageTable.reload();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$('[lay-filter="clear"]').on('click',function(){
|
$('[lay-filter="clear"]').on('click',function(){
|
||||||
|
//$('.layui-table-sort').attr('lay-sort','');
|
||||||
|
//console.log($('.layui-table-sort').attr('lay-sort'));
|
||||||
setTimeout(function(){
|
setTimeout(function(){
|
||||||
$('[lay-filter="webform"]').click();
|
$('[lay-filter="webform"]').click();
|
||||||
},10)
|
},10)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
//监听搜索提交
|
//监听搜索提交
|
||||||
form.on('submit(webform)', function(data) {
|
form.on('submit(webform)', function(data) {
|
||||||
layui.pageTable.reload({
|
layui.pageTable.reload({
|
||||||
where: {
|
where: data.field,
|
||||||
tab: data.field.tab,
|
|
||||||
keywords: data.field.keywords,
|
|
||||||
grade_id: data.field.grade_id,
|
|
||||||
source_id: data.field.source_id,
|
|
||||||
type: data.field.type,
|
|
||||||
status: data.field.status,
|
|
||||||
uid: data.field.uid
|
|
||||||
},
|
|
||||||
page: {
|
page: {
|
||||||
curr: 1
|
curr: 1
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ require __DIR__ . '/../vendor/autoload.php';
|
|||||||
define('CMS_VERSION','4.50.05');
|
define('CMS_VERSION','4.50.05');
|
||||||
|
|
||||||
// 定义Layui版本号
|
// 定义Layui版本号
|
||||||
define('LAYUI_VERSION','2.8.1');
|
define('LAYUI_VERSION','2.8.2');
|
||||||
|
|
||||||
// 定义项目目录
|
// 定义项目目录
|
||||||
define('CMS_ROOT', __DIR__ . '/../');
|
define('CMS_ROOT', __DIR__ . '/../');
|
||||||
|
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -14,6 +14,8 @@
|
|||||||
/>
|
/>
|
||||||
<missing-glyph />
|
<missing-glyph />
|
||||||
|
|
||||||
|
<glyph glyph-name="edge" unicode="" d="M240.185509 821.062741C322.180562 871.479699 415.37494 897.48813 509.969233 895.934224 845.948962 895.934224 1023.938224 648.353161 1023.938224 456.964708c-0.199988-65.396055-25.998431-127.79229-71.795669-174.389479-45.797237-46.397201-107.993485-72.995596-173.389539-73.995536-150.390927 0-182.98896 46.197213-182.98896 63.996139 0 7.599542 2.399855 12.399252 9.599421 18.798866l1.99988 2.399855 0.799951 3.199807c20.998733 22.998612 31.798082 52.396839 31.798082 83.194981 0 157.390504-164.390082 285.382782-367.977799 285.382782-75.075471 0.599964-149.071006-17.798926-215.027027-53.796754 53.996742 115.03306 165.430019 195.188224 182.628981 207.627473 1.599903 1.099934 0.599964 1.679899 0.599964 1.679899z m31.198118-636.081624c-2.799831-59.99638 9.199445-119.992761 32.798021-174.389479 27.198359-52.796815 65.396055-101.993847 112.993183-138.591638-118.992821 22.998612-222.966548 87.794703-298.781974 178.589225C42.237452 143.383627 0 259.176641 0 380.169341c0 102.393822 124.792471 188.78861 271.983591 188.78861 73.195584 1.199928 144.791264-21.798685 203.587717-65.396054l-7.199566-2.399856c-102.993786-35.197876-196.988115-181.389056-196.988115-316.180924zM939.543315 95.986486l-1.399915-0.199987c-23.598576-37.597732-51.796875-70.195765-84.394908-98.994028-61.596284-55.996622-136.191783-90.99451-217.586873-99.793979-37.197756-0.599964-73.59556 6.399614-107.593509 22.798624-51.196911 20.598757-94.194317 59.99638-123.192567 105.993605-28.798263 47.797116-42.197454 103.393762-37.997708 159.190396-1.199928 40.197575 10.799348 80.595138 29.99819 116.392978 27.798323-66.196006 74.995475-122.592604 135.191844-161.590251 60.196368-38.997647 130.992097-58.996441 202.787766-57.196549 61.99626-0.599964 124.192507 13.399192 180.389116 40.997526l3.799771 1.799892c7.799529 4.599722 15.399071 7.799529 23.1986 0 8.999457-9.799409 3.599783-18.39889-2.399855-27.998311-0.399976-0.399976-0.599964-0.99994-0.799952-1.399916z" horiz-adv-x="1024" />
|
||||||
|
|
||||||
<glyph glyph-name="leaf" unicode="" d="M1017.948269 886.876437c-4.863707 5.785251-12.031275 9.113051-19.557222 9.113051l-26.110427 0c-258.032454 0.102394-461.847374 0.153591-611.905533-35.735447-80.635142-19.301237-142.992985-48.432282-190.606116-89.031436-51.401703-43.82456-86.420393-101.216302-107.155144-175.554223-13.77197-49.353826-20.222782-138.487656 6.96278-227.160714 10.034595-32.766026 25.700852-63.688963 46.589193-92.103251-62.255449-97.530124-116.063407-225.983185-116.063407-378.805977 0-14.130349 11.468109-25.598458 25.598458-25.598458s25.598458 11.468109 25.598458 25.598458c0 235.761795 139.665185 410.650458 222.91137 493.845446 59.7468 59.7468 127.275532 110.175762 195.367429 145.808815 63.381781 33.175601 123.947732 51.4529 170.536925 51.4529 14.130349 0 25.598458 11.468109 25.598458 25.598458s-11.468109 25.598458-25.598458 25.598458c-55.497456 0-122.667809-19.813206-194.241097-57.340545-72.597226-38.039308-144.477695-91.591282-207.80828-154.973063-26.72479-26.72479-58.876453-62.357843-90.823328-105.977615-12.389654 19.506025-22.014674 40.189579-28.619076 61.794677-25.598458 83.553366-16.178225 164.034917-6.604402 198.388047 73.211589 262.384191 351.313233 263.049751 855.858835 262.896161-60.156376-321.926204-172.328817-530.29765-333.599101-619.533873-149.597387-82.785412-297.966048-37.629733-354.845821-14.335136-11.980078 4.914904-24.06255 10.95614-35.786644 17.91892-12.133669 7.218765-27.851122 3.225406-35.069887-8.908263s-3.225406-27.851122 8.908263-35.069887c13.925561-8.2939 28.260697-15.461468 42.595834-21.349114 31.844481-13.004017 83.143791-29.694211 146.679163-35.172281 14.027955-1.228726 27.902319-1.791892 41.674289-1.791892 75.208269 0 145.860012 18.072511 210.675307 53.910352 82.375837 45.565255 153.641943 119.749585 211.904033 220.351524 68.296685 118.00889 119.698388 274.51786 152.720399 465.175173 1.279923 7.423553-0.767954 15.051893-5.631661 20.837145z" horiz-adv-x="1025" />
|
<glyph glyph-name="leaf" unicode="" d="M1017.948269 886.876437c-4.863707 5.785251-12.031275 9.113051-19.557222 9.113051l-26.110427 0c-258.032454 0.102394-461.847374 0.153591-611.905533-35.735447-80.635142-19.301237-142.992985-48.432282-190.606116-89.031436-51.401703-43.82456-86.420393-101.216302-107.155144-175.554223-13.77197-49.353826-20.222782-138.487656 6.96278-227.160714 10.034595-32.766026 25.700852-63.688963 46.589193-92.103251-62.255449-97.530124-116.063407-225.983185-116.063407-378.805977 0-14.130349 11.468109-25.598458 25.598458-25.598458s25.598458 11.468109 25.598458 25.598458c0 235.761795 139.665185 410.650458 222.91137 493.845446 59.7468 59.7468 127.275532 110.175762 195.367429 145.808815 63.381781 33.175601 123.947732 51.4529 170.536925 51.4529 14.130349 0 25.598458 11.468109 25.598458 25.598458s-11.468109 25.598458-25.598458 25.598458c-55.497456 0-122.667809-19.813206-194.241097-57.340545-72.597226-38.039308-144.477695-91.591282-207.80828-154.973063-26.72479-26.72479-58.876453-62.357843-90.823328-105.977615-12.389654 19.506025-22.014674 40.189579-28.619076 61.794677-25.598458 83.553366-16.178225 164.034917-6.604402 198.388047 73.211589 262.384191 351.313233 263.049751 855.858835 262.896161-60.156376-321.926204-172.328817-530.29765-333.599101-619.533873-149.597387-82.785412-297.966048-37.629733-354.845821-14.335136-11.980078 4.914904-24.06255 10.95614-35.786644 17.91892-12.133669 7.218765-27.851122 3.225406-35.069887-8.908263s-3.225406-27.851122 8.908263-35.069887c13.925561-8.2939 28.260697-15.461468 42.595834-21.349114 31.844481-13.004017 83.143791-29.694211 146.679163-35.172281 14.027955-1.228726 27.902319-1.791892 41.674289-1.791892 75.208269 0 145.860012 18.072511 210.675307 53.910352 82.375837 45.565255 153.641943 119.749585 211.904033 220.351524 68.296685 118.00889 119.698388 274.51786 152.720399 465.175173 1.279923 7.423553-0.767954 15.051893-5.631661 20.837145z" horiz-adv-x="1025" />
|
||||||
|
|
||||||
<glyph glyph-name="folder" unicode="" d="M970.666667 682.666667H542.173333L429.793333 795.046667A52.986667 52.986667 0 0 1 392.08 810.666667H96a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h874.666667a53.393333 53.393333 0 0 1 53.333333 53.333333V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334zM96 768h296.08a10.573333 10.573333 0 0 0 7.54-3.126667L481.826667 682.666667H96a53.546667 53.546667 0 0 1-10.666667-1.073334V757.333333a10.666667 10.666667 0 0 0 10.666667 10.666667z m885.333333-714.666667a10.666667 10.666667 0 0 0-10.666666-10.666666H96a10.666667 10.666667 0 0 0-10.666667 10.666666V629.333333a10.666667 10.666667 0 0 0 10.666667 10.666667h874.666667a10.666667 10.666667 0 0 0 10.666666-10.666667z" horiz-adv-x="1024" />
|
<glyph glyph-name="folder" unicode="" d="M970.666667 682.666667H542.173333L429.793333 795.046667A52.986667 52.986667 0 0 1 392.08 810.666667H96a53.393333 53.393333 0 0 1-53.333333-53.333334v-704a53.393333 53.393333 0 0 1 53.333333-53.333333h874.666667a53.393333 53.393333 0 0 1 53.333333 53.333333V629.333333a53.393333 53.393333 0 0 1-53.333333 53.333334zM96 768h296.08a10.573333 10.573333 0 0 0 7.54-3.126667L481.826667 682.666667H96a53.546667 53.546667 0 0 1-10.666667-1.073334V757.333333a10.666667 10.666667 0 0 0 10.666667 10.666667z m885.333333-714.666667a10.666667 10.666667 0 0 0-10.666666-10.666666H96a10.666667 10.666667 0 0 0-10.666667 10.666666V629.333333a10.666667 10.666667 0 0 0 10.666667 10.666667h874.666667a10.666667 10.666667 0 0 0 10.666666-10.666667z" horiz-adv-x="1024" />
|
||||||
@ -66,8 +68,6 @@
|
|||||||
|
|
||||||
<glyph glyph-name="chrome" unicode="" d="M515.436 583.685H914.285C840.842 730.955 688.748 832.132 513 832.132c-141.284 0-267.274-65.395-349.42-167.546l151.66-262.682c8.535 102.325 95.704 181.781 200.196 181.781zM514.218 550.803c-91.476 0-165.631-74.155-165.631-165.631s74.155-165.631 165.631-165.631c52.7 0 99.615 24.642 129.95 62.999l1.428 2.474 0.355-0.205c21.252 27.852 33.898 62.624 33.898 100.363 0 84.774-63.702 154.626-145.841 164.413l-6.393 0.632c-4.424 0.354-8.882 0.586-13.397 0.586zM929.561 549.585H627.443c52.209-36.066 86.506-96.297 86.506-164.413 0-45.547-18.268-81.598-41.12-121.192L483.898-63.257c9.624-0.617 19.322-0.966 29.102-0.966 247.521 0 448.177 200.656 448.177 448.177 0 58.508-11.225 114.391-31.616 165.631zM514.218 185.441c-83.583 0-144.927 54.804-185.034 124.651l-0.235-0.136-187.482 324.727C93.081 563.124 64.823 476.84 64.823 383.954c0-225.02 165.839-411.288 381.958-443.298l152.278 263.752c-25.769-12.143-54.518-18.967-84.841-18.967z" horiz-adv-x="1024" />
|
<glyph glyph-name="chrome" unicode="" d="M515.436 583.685H914.285C840.842 730.955 688.748 832.132 513 832.132c-141.284 0-267.274-65.395-349.42-167.546l151.66-262.682c8.535 102.325 95.704 181.781 200.196 181.781zM514.218 550.803c-91.476 0-165.631-74.155-165.631-165.631s74.155-165.631 165.631-165.631c52.7 0 99.615 24.642 129.95 62.999l1.428 2.474 0.355-0.205c21.252 27.852 33.898 62.624 33.898 100.363 0 84.774-63.702 154.626-145.841 164.413l-6.393 0.632c-4.424 0.354-8.882 0.586-13.397 0.586zM929.561 549.585H627.443c52.209-36.066 86.506-96.297 86.506-164.413 0-45.547-18.268-81.598-41.12-121.192L483.898-63.257c9.624-0.617 19.322-0.966 29.102-0.966 247.521 0 448.177 200.656 448.177 448.177 0 58.508-11.225 114.391-31.616 165.631zM514.218 185.441c-83.583 0-144.927 54.804-185.034 124.651l-0.235-0.136-187.482 324.727C93.081 563.124 64.823 476.84 64.823 383.954c0-225.02 165.839-411.288 381.958-443.298l152.278 263.752c-25.769-12.143-54.518-18.967-84.841-18.967z" horiz-adv-x="1024" />
|
||||||
|
|
||||||
<glyph glyph-name="edge" unicode="" d="M854.794 669.297C797.923 743.783 683.626 823.59 548.62 830.822 136.707 852.889 85.742 435.448 85.742 435.448c55.449 53.038 58.01 97.116 163.936 154.293C673.983 818.768 676.394 476.432 676.394 476.432H346.111c-7.232 65.092 62.681 137.417 62.681 137.417-202.509-98.844-216.974-284.477-216.974-284.477s-28.93-279.655 219.385-364.034 452.029 42.189 452.029 42.189V193.16c-59.065-32.546-102.292-54.405-153.087-63.887-361.623-67.503-364.034 188.044-364.034 188.044h585.83c0 0.001 39.075 199.761-77.147 351.98z" horiz-adv-x="1024" />
|
|
||||||
|
|
||||||
<glyph glyph-name="heart" unicode="" d="M512 4.100000000000023c-108.9 0-447.3 277.5-447.3 522.2 0 131 106.6 237.6 237.6 237.6 94.9 0 174.8-50.2 209.7-76.1 34.9 25.9 114.8 76.1 209.7 76.1 131 0 237.6-106.6 237.6-237.6 0-244.7-338.4-522.2-447.3-522.2zM302.3 708c-100.2 0-181.7-81.5-181.7-181.7 0-221 326.8-466.3 391.4-466.3s391.4 245.3 391.4 466.3c0 100.2-81.5 181.7-181.7 181.7-103.9 0-190.2-76-191.1-76.8-10.6-9.5-26.7-9.5-37.3 0-0.8 0.8-87.7 76.8-191 76.8z" horiz-adv-x="1024" />
|
<glyph glyph-name="heart" unicode="" d="M512 4.100000000000023c-108.9 0-447.3 277.5-447.3 522.2 0 131 106.6 237.6 237.6 237.6 94.9 0 174.8-50.2 209.7-76.1 34.9 25.9 114.8 76.1 209.7 76.1 131 0 237.6-106.6 237.6-237.6 0-244.7-338.4-522.2-447.3-522.2zM302.3 708c-100.2 0-181.7-81.5-181.7-181.7 0-221 326.8-466.3 391.4-466.3s391.4 245.3 391.4 466.3c0 100.2-81.5 181.7-181.7 181.7-103.9 0-190.2-76-191.1-76.8-10.6-9.5-26.7-9.5-37.3 0-0.8 0.8-87.7 76.8-191 76.8z" horiz-adv-x="1024" />
|
||||||
|
|
||||||
<glyph glyph-name="key" unicode="" d="M819.2 588.8c0-172.8-140.8-307.2-307.2-307.2-172.8 0-307.2 140.8-307.2 307.2C204.8 755.2 339.2 896 512 896S819.2 755.2 819.2 588.8L819.2 588.8zM512 838.4c-140.8 0-249.6-115.2-249.6-249.6 0-134.4 108.8-256 249.6-256s256 115.2 256 249.6S652.8 838.4 512 838.4L512 838.4zM480 300.79999999999995l64 0L544-128l-64 0L480 300.79999999999995 480 300.79999999999995zM512 192l192 0 0-64L512 128 512 192 512 192zM512 64l192 0 0-64L512 0 512 64 512 64z" horiz-adv-x="1024" />
|
<glyph glyph-name="key" unicode="" d="M819.2 588.8c0-172.8-140.8-307.2-307.2-307.2-172.8 0-307.2 140.8-307.2 307.2C204.8 755.2 339.2 896 512 896S819.2 755.2 819.2 588.8L819.2 588.8zM512 838.4c-140.8 0-249.6-115.2-249.6-249.6 0-134.4 108.8-256 249.6-256s256 115.2 256 249.6S652.8 838.4 512 838.4L512 838.4zM480 300.79999999999995l64 0L544-128l-64 0L480 300.79999999999995 480 300.79999999999995zM512 192l192 0 0-64L512 128 512 192 512 192zM512 64l192 0 0-64L512 0 512 64 512 64z" horiz-adv-x="1024" />
|
||||||
|
Before Width: | Height: | Size: 321 KiB After Width: | Height: | Size: 322 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user