后台菜单优化、搜索记录新增开关
parent
13eb1ddd44
commit
c1445a493e
|
|
@ -109,8 +109,8 @@ class Common extends BaseController
|
|||
$this->admin = AdminService::LoginInfo();
|
||||
|
||||
// 权限菜单
|
||||
AdminPowerService::PowerMenuInit($this->admin);
|
||||
$this->left_menu = AdminPowerService::MenuData($this->admin);
|
||||
$menu = AdminPowerService::PowerMenuInit($this->admin);
|
||||
$this->left_menu = $menu['admin_left_menu'];
|
||||
|
||||
// 视图初始化
|
||||
$this->ViewInit();
|
||||
|
|
|
|||
|
|
@ -13,6 +13,14 @@
|
|||
|
||||
<!-- form start -->
|
||||
<form class="am-form form-validation" action="{{:MyUrl('admin/site/save')}}" method="POST" request-type="ajax-url" request-value="{{:MyUrl('admin/site/index', ['nav_type'=>$nav_type, 'view_type'=>$view_type])}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_search_history_record.name}}<span class="am-form-group-label-tips">{{$data.home_search_history_record.describe}}</span></label>
|
||||
<select name="{{$data.home_search_history_record.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.home_search_history_record.error_tips}}" required>
|
||||
{{foreach $common_is_text_list as $v}}
|
||||
<option value="{{$v.id}}" {{if isset($data['home_search_history_record']['value']) and $data['home_search_history_record']['value'] eq $v['id']}}selected{{/if}}>{{$v.name}}</option>
|
||||
{{/foreach}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="am-form-group">
|
||||
<label>{{$data.home_search_keywords_type.name}}</label>
|
||||
<select name="{{$data.home_search_keywords_type.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.home_search_keywords_type.error_tips}}">
|
||||
|
|
|
|||
|
|
@ -314,35 +314,24 @@ class AdminPowerService
|
|||
MyCache(SystemService::CacheKey('shopxo.cache_admin_power_key').$admin_id, $admin_power);
|
||||
MyCache(SystemService::CacheKey('shopxo.cache_admin_power_plugins_key').$admin_id, $admin_plugins);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取菜单数据
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2022-05-16
|
||||
* @desc description
|
||||
* @param [array] $admin [管理员信息]
|
||||
*/
|
||||
public static function MenuData($admin)
|
||||
{
|
||||
if(!empty($admin['id']))
|
||||
{
|
||||
$data = MyCache(SystemService::CacheKey('shopxo.cache_admin_left_menu_key').$admin['id']);
|
||||
}
|
||||
|
||||
// 后台左侧菜单钩子
|
||||
$hook_name = 'plugins_service_admin_menu_data';
|
||||
MyEventTrigger($hook_name, [
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'admin' => $admin,
|
||||
'data' => &$data,
|
||||
'hook_name' => $hook_name,
|
||||
'is_backend' => true,
|
||||
'admin' => $admin,
|
||||
'admin_left_menu' => &$admin_left_menu,
|
||||
'admin_power' => &$admin_power,
|
||||
'admin_plugins' => &$admin_plugins,
|
||||
]);
|
||||
|
||||
return empty($data) ? [] : $data;
|
||||
// 返回菜单和权限数据
|
||||
return [
|
||||
'admin_left_menu' => $admin_left_menu,
|
||||
'admin_power' => $admin_power,
|
||||
'admin_plugins' => $admin_plugins,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -508,70 +508,73 @@ class SearchService
|
|||
*/
|
||||
public static function SearchAdd($params = [])
|
||||
{
|
||||
// 排序
|
||||
$ov_arr = empty($params['ov']) ? '' : explode('-', $params['ov']);
|
||||
if(empty($ov_arr) && !empty($params['order_by_type']) && !empty($params['order_by_field']))
|
||||
// 是否增加搜索记录
|
||||
if(MyC('home_search_history_record', 0) == 1)
|
||||
{
|
||||
$ov_arr = [$params['order_by_field'], $params['order_by_type']];
|
||||
}
|
||||
|
||||
// 结果仅保留商品id
|
||||
if(!empty($params['search_result_data']) && is_array($params['search_result_data']) && !empty($params['search_result_data']['data']))
|
||||
{
|
||||
$params['search_result_data']['data'] = array_column($params['search_result_data']['data'], 'id');
|
||||
}
|
||||
|
||||
// 日志数据
|
||||
$data = [
|
||||
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
|
||||
'keywords' => empty($params['wd']) ? '' : $params['wd'],
|
||||
'order_by_field' => empty($ov_arr) ? '' : $ov_arr[0],
|
||||
'order_by_type' => empty($ov_arr) ? '' : $ov_arr[1],
|
||||
'search_result' => empty($params['search_result_data']) ? '' : json_encode($params['search_result_data'], JSON_UNESCAPED_UNICODE),
|
||||
'ymd' => date('Ymd'),
|
||||
'add_time' => time(),
|
||||
];
|
||||
|
||||
// 参数处理
|
||||
$field_arr = [
|
||||
'brand_ids' => ['brand_ids', 'brand', 'bid'],
|
||||
'category_ids' => ['category_ids', 'category_id', 'cid'],
|
||||
'screening_price_values'=> ['screening_price_values', 'peid'],
|
||||
'goods_params_values' => ['goods_params_values', 'psid'],
|
||||
'goods_spec_values' => ['goods_spec_values', 'scid'],
|
||||
];
|
||||
foreach($field_arr as $k=>$v)
|
||||
{
|
||||
$item = [];
|
||||
foreach($v as $vs)
|
||||
// 排序
|
||||
$ov_arr = empty($params['ov']) ? '' : explode('-', $params['ov']);
|
||||
if(empty($ov_arr) && !empty($params['order_by_type']) && !empty($params['order_by_field']))
|
||||
{
|
||||
if(!empty($params[$vs]))
|
||||
$ov_arr = [$params['order_by_field'], $params['order_by_type']];
|
||||
}
|
||||
|
||||
// 结果仅保留商品id
|
||||
if(!empty($params['search_result_data']) && is_array($params['search_result_data']) && !empty($params['search_result_data']['data']))
|
||||
{
|
||||
$params['search_result_data']['data'] = array_column($params['search_result_data']['data'], 'id');
|
||||
}
|
||||
|
||||
// 日志数据
|
||||
$data = [
|
||||
'user_id' => isset($params['user_id']) ? intval($params['user_id']) : 0,
|
||||
'keywords' => empty($params['wd']) ? '' : $params['wd'],
|
||||
'order_by_field' => empty($ov_arr) ? '' : $ov_arr[0],
|
||||
'order_by_type' => empty($ov_arr) ? '' : $ov_arr[1],
|
||||
'search_result' => empty($params['search_result_data']) ? '' : json_encode($params['search_result_data'], JSON_UNESCAPED_UNICODE),
|
||||
'ymd' => date('Ymd'),
|
||||
'add_time' => time(),
|
||||
];
|
||||
|
||||
// 参数处理
|
||||
$field_arr = [
|
||||
'brand_ids' => ['brand_ids', 'brand', 'bid'],
|
||||
'category_ids' => ['category_ids', 'category_id', 'cid'],
|
||||
'screening_price_values'=> ['screening_price_values', 'peid'],
|
||||
'goods_params_values' => ['goods_params_values', 'psid'],
|
||||
'goods_spec_values' => ['goods_spec_values', 'scid'],
|
||||
];
|
||||
foreach($field_arr as $k=>$v)
|
||||
{
|
||||
$item = [];
|
||||
foreach($v as $vs)
|
||||
{
|
||||
// 价格区间
|
||||
if($vs == 'peid')
|
||||
if(!empty($params[$vs]))
|
||||
{
|
||||
$temp_price = Db::name('ScreeningPrice')->where(['is_enable'=>1, 'id'=>intval($params[$vs])])->field('min_price,max_price')->find();
|
||||
$params[$vs] = empty($temp_price) ? '' : implode('-', $temp_price);
|
||||
}
|
||||
// 价格区间
|
||||
if($vs == 'peid')
|
||||
{
|
||||
$temp_price = Db::name('ScreeningPrice')->where(['is_enable'=>1, 'id'=>intval($params[$vs])])->field('min_price,max_price')->find();
|
||||
$params[$vs] = empty($temp_price) ? '' : implode('-', $temp_price);
|
||||
}
|
||||
|
||||
// Ascii处理
|
||||
if(in_array($vs, ['psid', 'scid']))
|
||||
{
|
||||
$params[$vs] = AsciiToStr($params[$vs]);
|
||||
}
|
||||
// Ascii处理
|
||||
if(in_array($vs, ['psid', 'scid']))
|
||||
{
|
||||
$params[$vs] = AsciiToStr($params[$vs]);
|
||||
}
|
||||
|
||||
// 合并参数
|
||||
$tv = (substr($params[$vs], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params[$vs]), true) : $params[$vs];
|
||||
if($tv !== '' && $tv !== null)
|
||||
{
|
||||
$item = array_merge($item, is_array($tv) ? $tv : [$tv]);
|
||||
// 合并参数
|
||||
$tv = (substr($params[$vs], 0, 1) == '{') ? json_decode(htmlspecialchars_decode($params[$vs]), true) : $params[$vs];
|
||||
if($tv !== '' && $tv !== null)
|
||||
{
|
||||
$item = array_merge($item, is_array($tv) ? $tv : [$tv]);
|
||||
}
|
||||
}
|
||||
}
|
||||
$data[$k] = empty($item) ? '' : (is_array($item) ? json_encode($item, JSON_UNESCAPED_UNICODE) : $item);
|
||||
}
|
||||
$data[$k] = empty($item) ? '' : (is_array($item) ? json_encode($item, JSON_UNESCAPED_UNICODE) : $item);
|
||||
Db::name('SearchHistory')->insert($data);
|
||||
}
|
||||
|
||||
Db::name('SearchHistory')->insert($data);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -9,9 +9,10 @@ html,body {
|
|||
.am-table-striped > tbody > tr:nth-child(odd) > th {
|
||||
background-color: #1d1d1d;
|
||||
}
|
||||
pre,
|
||||
.am-table-hover > tbody > tr:hover > td,
|
||||
.am-table-hover > tbody > tr:hover > th {
|
||||
background-color: #181818;
|
||||
background-color: #202020;
|
||||
}
|
||||
.am-table-bordered > thead > tr > th,
|
||||
.am-table-bordered > tbody > tr > th,
|
||||
|
|
@ -77,7 +78,7 @@ html,body {
|
|||
background: transparent;
|
||||
}
|
||||
.dl-content dt:hover, .dl-content dd:hover, .data-avg-text-list li:hover {
|
||||
background: #202020;
|
||||
background: #1a1a1a;
|
||||
}
|
||||
.data-avg-text-list li:hover .data-avg-text-list-content {
|
||||
color: #e9e9e9;
|
||||
|
|
@ -410,7 +411,7 @@ iframe,
|
|||
.am-list-bordered > li > a:hover,
|
||||
.am-list-border > li > a:focus,
|
||||
.am-list-bordered > li > a:focus {
|
||||
background-color: #262727;
|
||||
background-color: #181818;
|
||||
}
|
||||
.am-table > thead > tr > td.am-primary,
|
||||
.am-table > tbody > tr > td.am-primary,
|
||||
|
|
@ -590,6 +591,9 @@ fieldset[disabled] .am-form-field {
|
|||
.plugins-data-list ul li .submit-state.am-success {
|
||||
color: #fff !important;
|
||||
}
|
||||
.am-ucheck-checkbox:disabled + .am-ucheck-icons, .am-ucheck-radio:disabled + .am-ucheck-icons {
|
||||
color: #252525;
|
||||
}
|
||||
header {
|
||||
background-color: #19222c !important;
|
||||
border-color: #151d26 !important;
|
||||
|
|
@ -664,6 +668,9 @@ ul.plug-file-upload-view li {
|
|||
#modal-plugins-multilingual-select-container .am-modal-bd ul {
|
||||
border: 1px solid #2b2b2b;
|
||||
}
|
||||
.data-avg-text-list, .data-avg-text-list li {
|
||||
border-color: #232323;
|
||||
}
|
||||
|
||||
/**
|
||||
* 编辑器还是使用白底色
|
||||
|
|
@ -672,6 +679,35 @@ ul.plug-file-upload-view li {
|
|||
background: transparent !important;
|
||||
}
|
||||
|
||||
/**
|
||||
* 打印模板
|
||||
*/
|
||||
.hiprint-printPaper.design {
|
||||
background: -webkit-linear-gradient(top, transparent 15px, #181818 15px, #181818 16px, transparent 16px, transparent 31px, #181818 31px, #181818 32px, transparent 32px, transparent 47px, #181818 47px, #181818 48px, transparent 48px, transparent 63px, #1c1c1c 63px, #1c1c1c 63px), -webkit-linear-gradient( left, transparent 15px, #181818 15px, #181818 16px, transparent 16px, transparent 31px, #181818 31px, #181818 32px, transparent 32px, transparent 47px, #181818 47px, #181818 48px, transparent 48px, transparent 63px, #1c1c1c 63px, #1c1c1c 63px);
|
||||
background-size: 64px 64px;
|
||||
background-repeat: repeat;
|
||||
}
|
||||
.right-option-setting {
|
||||
background: rgb(28 28 28 / 70%);
|
||||
}
|
||||
.hiprint-option-items .hiprint-option-item-field input, .hiprint-option-items .hiprint-option-item-field select, .hiprint-option-items .hiprint-option-item-field textarea {
|
||||
border-color: rgb(47 47 47);
|
||||
}
|
||||
|
||||
.hiprint-printElement-table thead {
|
||||
background: #2d2d2d;
|
||||
}
|
||||
.hiprint-printElement-table td {
|
||||
color: #666;
|
||||
border-color: #242424;
|
||||
}
|
||||
.hitable .selected {
|
||||
background: #3d3d3d;
|
||||
}
|
||||
.drag-list li .item a {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
/**
|
||||
* 进销存
|
||||
*/
|
||||
|
|
@ -746,6 +782,9 @@ ul.plug-file-upload-view li {
|
|||
.header-menu-open-pages-list ul li a:hover {
|
||||
color: #802c12;
|
||||
}
|
||||
.list-find li .item-content:hover {
|
||||
border-color: #454545;
|
||||
}
|
||||
.product-unit-table thead tr > th:last-child, .product-unit-table tbody tr > td:last-child {
|
||||
background: rgb(30 30 30);
|
||||
box-shadow: rgb(136 136 136 / 10%) -5px 0px 8px;
|
||||
|
|
@ -801,7 +840,7 @@ ul.plug-file-upload-view li {
|
|||
}
|
||||
::-webkit-scrollbar-corner,
|
||||
::-webkit-scrollbar-corner:vertical {
|
||||
background-color: #f9f9f9;
|
||||
background-color: #353535;
|
||||
}
|
||||
::-webkit-scrollbar-resizer,
|
||||
::-webkit-scrollbar-resizer:vertical {
|
||||
|
|
|
|||
Loading…
Reference in New Issue