提交 87590024 编写于 作者: G gongfuxiang

goods category

上级 f65c4efd
......@@ -50,7 +50,7 @@ return array(
'imageUrlPrefix' => '',
// 上传保存路径,可以自定义保存路径和文件名格式
'imagePathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/image/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'imagePathFormat' => __MY_ROOT__.'static/upload/image/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 涂鸦图片上传配置项
......@@ -61,7 +61,7 @@ return array(
'scrawlFieldName' => 'upfile',
// 上传保存路径,可以自定义保存路径和文件名格式
'scrawlPathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/scrawl/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'scrawlPathFormat' => __MY_ROOT__.'static/upload/image/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 上传大小限制,单位B
'scrawlMaxSize' => MyC('home_max_limit_image', 2048000, true),
......@@ -78,7 +78,7 @@ return array(
'snapscreenActionName' => 'uploadimage',
// 上传保存路径,可以自定义保存路径和文件名格式
'snapscreenPathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/screenshot/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'snapscreenPathFormat' => __MY_ROOT__.'static/upload/image/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 图片访问路径前缀
'snapscreenUrlPrefix' => '',
......@@ -98,7 +98,7 @@ return array(
'catcherFieldName' => 'source',
// 上传保存路径,可以自定义保存路径和文件名格式
'catcherPathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/catchimage/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'catcherPathFormat' => __MY_ROOT__.'static/upload/image/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 图片访问路径前缀
'catcherUrlPrefix' => '',
......@@ -118,7 +118,7 @@ return array(
'videoFieldName' => 'upfile',
// 上传保存路径,可以自定义保存路径和文件名格式
'videoPathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/video/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'videoPathFormat' => __MY_ROOT__.'static/upload/video/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 视频访问路径前缀
'videoUrlPrefix' => '',
......@@ -138,7 +138,7 @@ return array(
'fileFieldName' => 'upfile',
// 上传保存路径,可以自定义保存路径和文件名格式
'filePathFormat' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/file/{yyyy}/{mm}/{dd}/{time}{rand:6}',
'filePathFormat' => __MY_ROOT__.'static/upload/file/'.input('path_type', 'other').'/{yyyy}/{mm}/{dd}/{time}{rand:6}',
// 文件访问路径前缀
'fileUrlPrefix' => '',
......@@ -155,7 +155,7 @@ return array(
'imageManagerActionName'=> 'listimage',
// 指定要列出图片的目录
'imageManagerListPath' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/image/',
'imageManagerListPath' => __MY_ROOT__.'static/upload/image/'.input('path_type', 'other').'/',
// 每次列出文件数量
'imageManagerListSize' => 20,
......@@ -175,7 +175,7 @@ return array(
'fileManagerActionName' => 'listfile',
// 指定要列出文件的目录
'fileManagerListPath' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/file/',
'fileManagerListPath' => __MY_ROOT__.'static/upload/file/'.input('path_type', 'other').'/',
// 文件访问路径前缀
'fileManagerUrlPrefix' => '',
......@@ -190,7 +190,7 @@ return array(
'videoManagerActionName' => 'listvideo',
// 指定要列出文件的目录
'videoManagerListPath' => __MY_ROOT__.'static/upload/'.input('path_type', 'other').'/video/',
'videoManagerListPath' => __MY_ROOT__.'static/upload/video/'.input('path_type', 'other').'/',
// 文件访问路径前缀
'videoManagerUrlPrefix' => '',
......
......@@ -55,6 +55,7 @@ class Admin extends Common
'number' => $number,
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => url('admin/admin/index'),
);
$page = new \base\Page($page_params);
......
......@@ -131,6 +131,9 @@ class Goods extends Common
// 参数
$this->assign('params', $params);
// 编辑器文件存放地址
$this->assign('editor_path_type', 'goods');
return $this->fetch();
}
......
<?php
namespace app\admin\controller;
use app\service\GoodsService;
/**
* 分类管理
* @author Devil
......@@ -44,7 +45,11 @@ class GoodsCategory extends Common
// 是否
$this->assign('common_is_text_list', lang('common_is_text_list'));
$this->display('Index');
// 编辑器文件存放地址
$this->assign('editor_path_type', 'goods_category');
return $this->fetch();
}
/**
......@@ -62,43 +67,11 @@ class GoodsCategory extends Common
$this->error(lang('common_unauthorized_access'));
}
// 获取数据
$field = array('id', 'pid', 'icon', 'name', 'sort', 'is_enable', 'bg_color', 'big_images', 'vice_name', 'describe', 'is_home_recommended');
$data = db('GoodsCategory')->field($field)->where(array('pid'=>intval(I('id', 0))))->select();
if(!empty($data))
{
$image_host = config('IMAGE_HOST');
foreach($data as &$v)
{
$v['is_son'] = $this->IsExistSon($v['id']);
$v['ajax_url'] = url('Admin/GoodsCategory/GetNodeSon', array('id'=>$v['id']));
$v['delete_url'] = url('Admin/GoodsCategory/Delete');
$v['icon_url'] = empty($v['icon']) ? '' : $image_host.$v['icon'];
$v['big_images_url'] = empty($v['big_images']) ? '' : $image_host.$v['big_images'];
$v['json'] = json_encode($v);
}
}
$msg = empty($data) ? lang('common_not_data_tips') : lang('common_operation_success');
$this->ajaxReturn($msg, 0, $data);
// 开始操作
$ret = GoodsService::GoodsCategoryNodeSon(input());
return json($ret);
}
/**
* [IsExistSon 节点是否存在子数据]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-25T15:22:47+0800
* @param [int] $id [节点id]
* @return [string] [有数据ok, 则no]
*/
private function IsExistSon($id)
{
if(!empty($id))
{
return (db('GoodsCategory')->where(array('pid'=>$id))->count() > 0) ? 'ok' : 'no';
}
return 'no';
}
/**
* [Save 分类保存]
......@@ -115,62 +88,9 @@ class GoodsCategory extends Common
$this->error(lang('common_unauthorized_access'));
}
// icon
$this->FileSave('icon', 'file_icon', 'goods_category');
// 大图片
$this->FileSave('big_images', 'file_big_images', 'goods_category');
// id为空则表示是新增
$m = D('GoodsCategory');
// 公共额外数据处理
$m->sort = intval(I('sort'));
// 添加
if(empty($_POST['id']))
{
if($m->create($_POST, 1))
{
// 额外数据处理
$m->add_time = time();
$m->name = I('name');
$m->vice_name = I('vice_name');
$m->describe = I('describe');
$m->is_home_recommended = intval(I('is_home_recommended', 0));
// 写入数据库
if($m->add())
{
$this->ajaxReturn(lang('common_operation_add_success'));
} else {
$this->ajaxReturn(lang('common_operation_add_error'), -100);
}
}
} else {
// 编辑
if($m->create($_POST, 2))
{
// 额外数据处理
$m->name = I('name');
$m->upd_time = time();
$m->vice_name = I('vice_name');
$m->describe = I('describe');
$m->is_home_recommended = intval(I('is_home_recommended', 0));
// 移除 id
unset($m->id, $m->pid);
// 更新数据库
if($m->where(array('id'=>I('id')))->save())
{
$this->ajaxReturn(lang('common_operation_edit_success'));
} else {
$this->ajaxReturn(lang('common_operation_edit_error'), -100);
}
}
}
$this->ajaxReturn($m->getError(), -1);
// 开始操作
$ret = GoodsService::GoodsCategorySave(input());
return json($ret);
}
/**
......@@ -192,12 +112,12 @@ class GoodsCategory extends Common
{
if($m->delete(I('id')))
{
$this->ajaxReturn(lang('common_operation_delete_success'));
return json(lang('common_operation_delete_success'));
} else {
$this->ajaxReturn(lang('common_operation_delete_error'), -100);
return json(lang('common_operation_delete_error'), -100);
}
} else {
$this->ajaxReturn($m->getError(), -1);
return json($m->getError(), -1);
}
}
}
......
......@@ -56,6 +56,7 @@ class User extends Common
'number' => $number,
'total' => $total,
'where' => $params,
'page' => isset($params['page']) ? intval($params['page']) : 1,
'url' => url('admin/user/index'),
);
$page = new \base\Page($page_params);
......
......@@ -300,5 +300,20 @@ return array(
'goods_video_text' => '短视频',
'goods_video_tips' => '视频比图文更有具带入感,仅支持 mp4 格式',
// 商品分类
'goods_category_add_name' => '分类添加',
'goods_category_edit_name' => '分类编辑',
'goods_category_big_images_text' => '大图片',
'goods_category_vice_name_text' => '副名称',
'goods_category_vice_name_format' => '副名称最大60个字符',
'goods_category_describe_text' => '描述',
'goods_category_describe_format' => '描述最大200个字符',
'goods_category_home_recommended_text' => '首页推荐',
);
?>
\ No newline at end of file
......@@ -137,7 +137,7 @@
{{/if}}
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.goods-recommended-images-view">+上传图片</div>
</div>
</div>
<div class="am-form-group">
<label class="block">{{:lang('goods_is_deduction_inventory_text')}}<span class="fs-12 fw-100 cr-999">({{:lang('goods_is_deduction_inventory_tips')}})</span></label>
<input name="is_deduction_inventory" value="1" type="checkbox" data-off-text="{{:lang('common_operation_off_is_text')}}" data-on-text="{{:lang('common_operation_on_is_text')}}" data-size="xs" data-on-color="success" data-off-color="default" data-handle-width="50" data-am-switch {{if (isset($data['is_deduction_inventory']) and $data['is_deduction_inventory'] eq 1) or empty($data)}}checked="true"{{/if}} />
......@@ -321,7 +321,7 @@
<div id="goods-nav-web" class="division-block">
<label class="block nav-detail-title">{{:lang('goods_nav_web_name')}}</label>
<div class="am-form-group">
<textarea class="am-radius am-validate" name="content_web" maxlength="105000" id="editor-tag" data-url="{{:url('admin/ueditor/index', ['path_type'=>'goods_pc'])}}" data-validation-message="{{:lang('goods_content_web_format')}}">{{if !empty($data)}}{{$data.content_web}}{{/if}}</textarea>
<textarea class="am-radius am-validate" name="content_web" maxlength="105000" id="editor-tag" data-validation-message="{{:lang('goods_content_web_format')}}">{{if !empty($data)}}{{$data.content_web}}{{/if}}</textarea>
</div>
</div>
......
......@@ -18,32 +18,32 @@
</div>
<div class="am-popup-bd">
<!-- form start -->
<form class="am-form form-validation admin-save" action="{{:url('Admin/GoodsCategory/Save')}}" method="POST" request-type="ajax-reload" request-value="">
<form class="am-form form-validation admin-save" action="{{:url('admin/goodscategory/save')}}" method="POST" request-type="ajax-reload" request-value="">
<div class="am-form-group am-form-file">
<label class="block">{{:lang('common_icon_text')}}</label>
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
<i class="am-icon-cloud-upload"></i> {{:lang('common_select_images_text')}}</button>
<input type="text" name="icon" class="am-radius js-choice-one original-images-url original-icon-images-url" data-choice-one-to='input[name="file_icon"]' value="" data-validation-message="{{:lang('common_select_images_tips')}}" readonly="readonly" />
<i class="am-icon-trash-o am-icon-sm original-images-url-delete" data-input-tag="input.original-icon-images-url" data-image-tag="#form-img-icon" data-tips-tag="#form-icon-tips" data-file-tag="input.file_icon-tag"></i>
<input type="file" name="file_icon" multiple data-validation-message="{{:lang('common_select_images_tips')}}" accept="image/gif,image/jpeg,image/jpg,image/png" class="js-choice-one images-file-event file_icon-tag" data-choice-one-to=".original-icon-images-url" data-tips-tag="#form-icon-tips" data-image-tag="#form-img-icon" />
<div id="form-icon-tips" class="m-t-5)}}</div>
<img src="{{$image_host}}/Public/Admin/Default/Images/default-images.png" id="form-img-icon" class="block m-t-5 am-img-thumbnail am-radius" width="50" height="50" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
<ul class="plug-file-upload-view goods-category-icon-images-view" data-form-name="icon" data-max-number="1" data-dialog-type="images">
<li>
<input type="hidden" name="icon" value="" />
<img class="icon-images-view" src="{{$image_host}}/Public/admin/default/images/default-images.png" />
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.goods-category-icon-images-view">+上传图片</div>
</div>
<div class="am-form-group am-form-file">
<label class="block">{{:lang('goods_category_big_images_text')}}</label>
<button type="button" class="am-btn am-btn-default am-btn-sm am-radius">
<i class="am-icon-cloud-upload"></i> {{:lang('common_select_images_text')}}</button>
<input type="text" name="big_images" class="am-radius js-choice-one original-images-url original-big-images-url" data-choice-one-to='input[name="file_big_images"]' value="" data-validation-message="{{:lang('common_select_images_tips')}}" readonly="readonly" />
<i class="am-icon-trash-o am-icon-sm original-images-url-delete" data-input-tag=".original-big-images-url" data-image-tag="#form-img-big_images" data-tips-tag="#form-big_images-tips" data-file-tag="input.file_big_images-tag"></i>
<input type="file" name="file_big_images" multiple data-validation-message="{{:lang('common_select_images_tips')}}" accept="image/gif,image/jpeg,image/jpg,image/png" class="js-choice-one images-file-event file_big_images-tag" data-choice-one-to=".original-big-images-url" data-tips-tag="#form-big_images-tips" data-image-tag="#form-img-big_images" />
<div id="form-big_images-tips" class="m-t-5)}}</div>
<img src="{{$image_host}}/Public/Admin/Default/Images/default-images.png" id="form-img-big_images" class="block m-t-5 am-img-thumbnail am-radius" width="50" height="50" data-default="{{$image_host}}/Public/Admin/Default/Images/default-images.png" />
<ul class="plug-file-upload-view goods-category-big_images-images-view" data-form-name="big_images" data-max-number="1" data-dialog-type="images">
<li>
<input type="hidden" name="big_images" value="" />
<img class="big_images-images-view" src="{{$image_host}}/Public/admin/default/images/default-images.png" />
</li>
</ul>
<div class="plug-file-upload-submit" data-view-tag="ul.goods-category-big_images-images-view">+上传图片</div>
</div>
<div class="am-form-group">
<label>{{:lang('common_background_color')}}</label>
<input type="hidden" name="bg_color" value="" />
<button class="am-btn am-btn-default colorpicker-submit bg-color-tag am-btn-block bk-cr-white t-r" type="button" data-input-tag="button.bg-color-tag" data-color-tag="input[name='bg_color']" data-color-style="background-color">
<img src="__PUBLIC__/Common/Images/colorpicker.png" />
<img src="{{$image_host}}/static/common/images/colorpicker.png" />
</button>
</div>
<div class="am-form-group">
......@@ -61,8 +61,8 @@
<div class="am-form-group">
<label>{{:lang('goods_category_home_recommended_text')}}</label>
<div>
<foreach name="common_is_text_list" item="v">
<label class="am-radio-inline m-r-1)}}
{{foreach $common_is_text_list as $v}}
<label class="am-radio-inline m-r-10">
<input type="radio" name="is_home_recommended" value="{{$v.id}}" data-am-ucheck /> {{$v.name}}
</label>
{{/foreach}}
......@@ -86,9 +86,9 @@
<!-- save win end -->
<!-- list start -->
<div id="tree" class="m-t-15" data-rank="3" data-additional='[{"field":"bg_color", "value":"", "type":"input"}, {"field":"bg_color", "value":"", "type":"css", "tag":"button.colorpicker-submit", "style":"background-color"}, {"field":"file_icon", "value":"", "type":"file", "tag":"input.file_icon-tag"}, {"field":"icon", "value":"", "type":"input"}, {"field":"icon_url", "value":"{{$image_host}}/Public/Admin/Default/Images/default-images.png", "type":"attr", "tag":"#form-img-icon", "style":"src"}, {"value":"", "type":"html", "tag":"#form-icon-tips"}, {"field":"file_big_images", "value":"", "type":"file", "tag":"input.file_big_images-tag"}, {"field":"big_images", "value":"", "type":"input"}, {"field":"big_images_url", "value":"{{$image_host}}/Public/Admin/Default/Images/default-images.png", "type":"attr", "tag":"#form-img-big_images", "style":"src"}, {"value":"", "type":"html", "tag":"#form-big_images-tips"}, {"field":"vice_name", "value":"", "type":"input"}, {"field":"describe", "value":"", "type":"textarea"}, {"field":"is_home_recommended", "value":"0", "type":"input"}]'>
<div id="tree" class="m-t-15" data-rank="3" data-additional='[{"field":"bg_color", "value":"", "type":"input"}, {"field":"bg_color", "value":"", "type":"css", "tag":"button.colorpicker-submit", "style":"background-color"}, {"field":"icon", "value":"", "type":"input"}, {"field":"icon_url", "value":"{{$image_host}}/static/admin/default/images/default-images.png", "type":"attr", "tag":".icon-images-view", "style":"src"}, {"field":"big_images", "value":"", "type":"input"}, {"field":"big_images_url", "value":"{{$image_host}}/static/admin/default/images/default-images.png", "type":"attr", "tag":".big_images-images-view", "style":"src"}, {"field":"vice_name", "value":"", "type":"input"}, {"field":"describe", "value":"", "type":"textarea"}, {"field":"is_home_recommended", "value":"0", "type":"input"}]'>
<div class="m-t-30 t-c">
<img src="__PUBLIC__/Common/Images/loading.gif" />
<img src="{{$image_host}}/static/common/images/loading.gif" />
<p>{{:lang('common_form_loading_tips')}}</p>
</div>
</div>
......@@ -101,5 +101,5 @@
{{include file="public/footer" /}}
<!-- footer end -->
<script>
Tree(0, "{{:url('Admin/GoodsCategory/GetNodeSon')}}", 0, 1);
Tree(0, "{{:url('admin/goodscategory/getnodeson')}}", 0, 1);
</script>
\ No newline at end of file
<!-- commom html -->
{{include file="public/common" /}}
<textarea id="upload-editor-view" style="display: none;"></textarea>
<textarea id="upload-editor-view" data-url="{{:url('admin/ueditor/index', ['path_type'=>empty($editor_path_type) ? 'common' : $editor_path_type])}}" style="display: none;"></textarea>
</body>
</html>
......
......@@ -965,7 +965,7 @@ class GoodsService
// 其它附件
$data_fields = ['home_recommended_images', 'video'];
$attachment = self::GetGoodsAttachmentParams($params, $data_fields);
$attachment = ResourcesService::AttachmentParams($params, $data_fields);
if($attachment['code'] != 0)
{
return $attachment;
......@@ -1238,30 +1238,6 @@ class GoodsService
return DataReturn('success', 0, $result);
}
/**
* 附件集合处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-08-07
* @desc description
* @param [array] $params [输入参数]
* @param [array] $data [字段列表]
*/
private static function GetGoodsAttachmentParams($params, $data)
{
$result = [];
if(!empty($data))
{
foreach($data as $field)
{
$result[$field] = isset($params[$field]) ? ResourcesService::AttachmentPathHandle($params[$field]) : '';
}
}
return DataReturn('success', 0, $result);
}
/**
* 商品分类添加
* @author Devil
......@@ -1833,5 +1809,117 @@ class GoodsService
}
return DataReturn('没有相关规格类型', -100);
}
/**
* 获取商品分类节点数据
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-12-16T23:54:46+0800
* @param [array] $params [输入参数]
*/
public static function GoodsCategoryNodeSon($params = [])
{
// id
$id = isset($params['id']) ? intval($params['id']) : 0;
// 获取数据
$field = 'id,pid,icon,name,sort,is_enable,bg_color,big_images,vice_name,describe,is_home_recommended';
$data = db('GoodsCategory')->field($field)->where(['pid'=>$id])->select();
if(!empty($data))
{
$image_host = config('IMAGE_HOST');
foreach($data as &$v)
{
$v['is_son'] = (db('GoodsCategory')->where(['pid'=>$v['id']])->count() > 0) ? 'ok' : 'no';
$v['ajax_url'] = url('admin/goodscategory/getnodeson', array('id'=>$v['id']));
$v['delete_url'] = url('admin/goodscategory/delete');
$v['icon_url'] = empty($v['icon']) ? '' : $image_host.$v['icon'];
$v['big_images_url'] = empty($v['big_images']) ? '' : $image_host.$v['big_images'];
$v['json'] = json_encode($v);
}
return DataReturn('操作成功', 0, $data);
}
return DataReturn('没有相关数据', -100);
}
/**
* 商品分类保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-12-17T01:04:03+0800
* @param [array] $params [输入参数]
*/
public static function GoodsCategorySave($params = [])
{
// 请求参数
$p = [
[
'checked_type' => 'length',
'key_name' => 'name',
'checked_data' => '2,16',
'error_msg' => '名称格式 2~16 个字符',
],
[
'checked_type' => 'length',
'key_name' => 'vice_name',
'checked_data' => '60',
'is_checked' => 1,
'error_msg' => '副名称格式 最多30个字符',
],
[
'checked_type' => 'length',
'key_name' => 'describe',
'checked_data' => '200',
'is_checked' => 1,
'error_msg' => '描述格式 最多200个字符',
],
];
$ret = params_checked($params, $p);
if($ret !== true)
{
return DataReturn($ret, -1);
}
// 其它附件
$data_fields = ['icon', 'big_images'];
$attachment = ResourcesService::AttachmentParams($params, $data_fields);
if($attachment['code'] != 0)
{
return $attachment;
}
// 数据
$data = [
'name' => $params['name'],
'pid' => isset($params['pid']) ? intval($params['pid']) : 0,
'vice_name' => isset($params['vice_name']) ? $params['vice_name'] : '',
'describe' => isset($params['describe']) ? $params['describe'] : '',
'bg_color' => isset($params['bg_color']) ? $params['bg_color'] : '',
'is_home_recommended' => isset($params['is_home_recommended']) ? intval($params['is_home_recommended']) : 0,
'sort' => isset($params['sort']) ? intval($params['sort']) : 0,
'icon' => $attachment['data']['icon'],
'big_images' => $attachment['data']['big_images'],
];
// 添加
if(empty($params['id']))
{
$data['add_time'] = time();
if(db('GoodsCategory')->insertGetId($data) > 0)
{
return DataReturn('添加成功', 0);
}
return DataReturn('添加失败', -100);
} else {
$data['upd_time'] = time();
if(db('GoodsCategory')->where(['id'=>intval($params['id'])])->update($data))
{
return DataReturn('编辑成功', 0);
}
return DataReturn('编辑失败', -100);
}
}
}
?>
\ No newline at end of file
......@@ -190,6 +190,30 @@ class ResourcesService
return str_replace([__MY_URL__, __MY_ROOT__], DS, $value);
}
/**
* 附件集合处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-08-07
* @desc description
* @param [array] $params [输入参数]
* @param [array] $data [字段列表]
*/
public static function AttachmentParams($params, $data)
{
$result = [];
if(!empty($data))
{
foreach($data as $field)
{
$result[$field] = isset($params[$field]) ? self::AttachmentPathHandle($params[$field]) : '';
}
}
return DataReturn('success', 0, $result);
}
/**
* APP获取首页导航
* @author Devil
......
......@@ -95,11 +95,11 @@ class SearchService
}
if(!empty($params['min_price']))
{
$where[] = ['g.price', 'EGT', $params['min_price']];
$where[] = ['g.min_price', 'EGT', $params['min_price']];
}
if(!empty($params['max_price']))
{
$where[] = ['g.price', 'LT', $params['max_price']];
$where[] = ['g.min_price', 'LT', $params['max_price']];
}
// 获取商品总数
......
......@@ -108,13 +108,14 @@ class Uploader
return;
}
if (!is_writeable($dirname)) {
$this->stateInfo = $this->getStateInfo("ERROR_DIR_NOT_WRITEABLE");
return;
}
//创建目录失败
if (!is_dir($dirname) && !mkdir($dirname, 0777, true)) {
$this->stateInfo = $this->getStateInfo("ERROR_CREATE_DIR");
return;
} else if (!is_writeable($dirname)) {
$this->stateInfo = $this->getStateInfo("ERROR_DIR_NOT_WRITEABLE");
return;
}
//移动文件
......
......@@ -1166,11 +1166,13 @@ div.edui-box {
word-wrap: break-word;
word-break: normal;
}
#edui_fixedlayer {
z-index: 1200 !important;
}
/* 弹出对话框按钮和对话框大小 */
.edui-default .edui-dialog {
z-index: 2000;
position: absolute;
z-index: 1210 !important;
}
.edui-dialog div{
......@@ -1226,30 +1228,30 @@ div.edui-box {
}
.edui-default .edui-dialog-titlebar {
height: 26px;
height: 30px;
border-bottom: 1px solid #c6c6c6;
/*background: url(../images/dialog-title-bg.png) repeat-x bottom;*/
position: relative;
cursor: move;
background-color: #f5f5f5;
border-top-right-radius: 8px;
border-top-left-radius: 8px;
border-top-right-radius: 3px;
border-top-left-radius: 3px;
}
.edui-default .edui-dialog-caption {
font-weight: bold;
font-size: 12px;
line-height: 26px;
line-height: 30px;
padding-left: 5px;
}
.edui-default .edui-dialog-draghandle {
height: 26px;
height: 30px;
}
.edui-default .edui-dialog-closebutton {
position: absolute !important;
right: 5px;
top: 3px;
top: 5px;
}
.edui-default .edui-dialog-closebutton .edui-button-body {
......@@ -1265,8 +1267,8 @@ div.edui-box {
.edui-default .edui-dialog-foot {
height: 40px;
border-bottom-right-radius: 8px;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 3px;
border-bottom-left-radius: 3px;
}
.edui-default .edui-dialog-buttons {
......@@ -1304,7 +1306,7 @@ div.edui-box {
filter: alpha(opacity = 30);
background-color: #ccc;
position: absolute;
/*z-index: 1999;*/
z-index: 1200 !important;
}
.edui-default .edui-dialog-dragmask {
......
......@@ -24,7 +24,7 @@
/**
* 服务器地址
*/
var SERVER_URL = $('#editor-tag').data('url');
var SERVER_URL = $('#upload-editor-view').data('url');
/**
* 配置项主体。注意,此处所有涉及到路径的配置别遗漏URL变量。
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册