diff --git a/application/admin/controller/article/Article.php b/application/admin/controller/article/Article.php
index 3c184ee3..f1b9436e 100644
--- a/application/admin/controller/article/Article.php
+++ b/application/admin/controller/article/Article.php
@@ -34,13 +34,19 @@ class Article extends AuthController
$where['merchant'] = 0;//区分是管理员添加的图文显示 0 还是 商户添加的图文显示 1
$catlist = ArticleCategoryModel::where('is_del',0)->select()->toArray();
//获取分类列表
- $tree = Phptree::makeTreeForHtml($catlist);
- $this->assign(compact('tree'));
- if($pid){
- $pids = Util::getChildrenPid($tree,$pid);
- $where['cid'] = ltrim($pid.$pids);
+ if($catlist){
+ $tree = Phptree::makeTreeForHtml($catlist);
+ $this->assign(compact('tree'));
+ if($pid){
+ $pids = Util::getChildrenPid($tree,$pid);
+ $where['cid'] = ltrim($pid.$pids);
+ }
+ }else{
+ $tree = [];
+ $this->assign(compact('tree'));
}
+
$this->assign('cate',ArticleCategoryModel::getTierList());
$this->assign(ArticleModel::getAll($where));
return $this->fetch();
diff --git a/application/admin/controller/setting/SystemConfig.php b/application/admin/controller/setting/SystemConfig.php
index a21a8c8c..8ba46bda 100644
--- a/application/admin/controller/setting/SystemConfig.php
+++ b/application/admin/controller/setting/SystemConfig.php
@@ -1 +1 @@
-assign('tab_id',$tab_id);
$list = ConfigModel::getAll($tab_id);
if($type==3){//其它分类
$config_tab = null;
}else{
$config_tab = ConfigModel::getConfigTabAll($type);
foreach ($config_tab as $kk=>$vv){
$arr = ConfigModel::getAll($vv['value'])->toArray();
if(empty($arr)){
unset($config_tab[$kk]);
}
}
}
foreach ($list as $k=>$v){
if(!is_null(json_decode($v['value'])))
$list[$k]['value'] = json_decode($v['value'],true);
if($v['type'] == 'upload' && !empty($v['value'])){
if($v['upload_type'] == 1 || $v['upload_type'] == 3) $list[$k]['value'] = explode(',',$v['value']);
}
}
$this->assign('config_tab',$config_tab);
$this->assign('list',$list);
return $this->fetch();
}
/**
* 基础配置 单个
* @return mixed|void
*/
public function index_alone(){
$tab_id = input('tab_id');
if(!$tab_id) return $this->failed('参数错误,请重新打开');
$this->assign('tab_id',$tab_id);
$list = ConfigModel::getAll($tab_id);
foreach ($list as $k=>$v){
if(!is_null(json_decode($v['value'])))
$list[$k]['value'] = json_decode($v['value'],true);
if($v['type'] == 'upload' && !empty($v['value'])){
if($v['upload_type'] == 1 || $v['upload_type'] == 3) $list[$k]['value'] = explode(',',$v['value']);
}
}
$this->assign('list',$list);
return $this->fetch();
}
/**
* 添加字段
* */
public function create(Request $request){
$data = Util::getMore(['type',],$request);//接收参数
$tab_id = !empty($request->param('tab_id'))?$request->param('tab_id'):1;
$formbuider = array();
switch ($data['type']){
case 0://文本框
$formbuider = ConfigModel::createInputRule($tab_id);
break;
case 1://多行文本框
$formbuider = ConfigModel::createTextAreaRule($tab_id);
break;
case 2://单选框
$formbuider = ConfigModel::createRadioRule($tab_id);
break;
case 3://文件上传
$formbuider = ConfigModel::createUploadRule($tab_id);
break;
case 4://多选框
$formbuider = ConfigModel::createCheckboxRule($tab_id);
break;
}
$form = Form::make_post_form('添加字段',$formbuider,Url::build('save'));
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
}
/**
* 保存字段
* */
public function save(Request $request){
$data = Util::postMore([
'menu_name',
'type',
'config_tab_id',
'parameter',
'upload_type',
'required',
'width',
'high',
'value',
'info',
'desc',
'sort',
'status',],$request);
if(!$data['info']) return Json::fail('请输入配置名称');
if(!$data['menu_name']) return Json::fail('请输入字段名称');
if($data['menu_name']){
$oneConfig = ConfigModel::getOneConfig('menu_name',$data['menu_name']);
if(!empty($oneConfig)) return Json::fail('请重新输入字段名称,之前的已经使用过了');
}
if(!$data['desc']) return Json::fail('请输入配置简介');
if($data['sort'] < 0){
$data['sort'] = 0;
}
if($data['type'] == 'text'){
if(!ConfigModel::valiDateTextRole($data)) return Json::fail(ConfigModel::getErrorInfo());
}
if($data['type'] == 'textarea'){
if(!ConfigModel::valiDateTextareaRole($data)) return Json::fail(ConfigModel::getErrorInfo());
}
if($data['type'] == 'radio' || $data['type'] == 'checkbox' ){
if(!$data['parameter']) return Json::fail('请输入配置参数');
if(!ConfigModel::valiDateRadioAndCheckbox($data)) return Json::fail(ConfigModel::getErrorInfo());
$data['value'] = json_encode($data['value']);
}
ConfigModel::set($data);
return Json::successful('添加菜单成功!');
}
/**
* @param Request $request
* @param $id
* @return \think\response\Json
*/
public function update_config(Request $request, $id)
{
$type = $request->post('type');
if($type =='text' || $type =='textarea'|| $type == 'radio' || ($type == 'upload' && ($request->post('upload_type') == 1 || $request->post('upload_type') == 3))){
$value = $request->post('value');
}else{
$value = $request->post('value/a');
}
$data = Util::postMore(['status','info','desc','sort','config_tab_id','required','parameter',['value',$value],'upload_type'],$request);
$data['value'] = json_encode($data['value']);
if(!ConfigModel::get($id)) return Json::fail('编辑的记录不存在!');
ConfigModel::edit($data,$id);
return Json::successful('修改成功!');
}
/**
* 修改是否显示子子段
* @param $id
* @return mixed
*/
public function edit_cinfig($id){
$menu = ConfigModel::get($id)->getData();
if(!$menu) return Json::fail('数据不存在!');
$formbuider = array();
$formbuider[] = Form::input('menu_name','字段变量',$menu['menu_name'])->disabled(1);
// $formbuider[] = Form::input('type','字段类型',$menu['type'])->disabled(1);
$formbuider[] = Form::hidden('type',$menu['type']);
$formbuider[] = Form::select('config_tab_id','分类',(string)$menu['config_tab_id'])->setOptions(ConfigModel::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称',$menu['info'])->autofocus(1);
$formbuider[] = Form::input('desc','配置简介',$menu['desc']);
switch ($menu['type']){
case 'text':
$menu['value'] = json_decode($menu['value'],true);
//输入框验证规则
$formbuider[] = Form::input('value','默认值',$menu['value']);
if(!empty($menu['required'])){
$formbuider[] = Form::number('width','文本框宽(%)',$menu['width']);
$formbuider[] = Form::input('required','验证规则',$menu['required'])->placeholder('多个请用,隔开例如:required:true,url:true');
}
break;
case 'textarea':
$menu['value'] = json_decode($menu['value'],true);
//多行文本
if(!empty($menu['high'])){
$formbuider[] = Form::textarea('value','默认值',$menu['value'])->rows(5);
$formbuider[] = Form::number('width','文本框宽(%)',$menu['width']);
$formbuider[] = Form::number('high','多行文本框高(%)',$menu['high']);
}else{
$formbuider[] = Form::input('value','默认值',$menu['value']);
}
break;
case 'radio':
$menu['value'] = json_decode($menu['value'],true);
$parameter = explode("\n",$menu['parameter']);
$options = [];
if($parameter){
foreach ($parameter as $v){
$data = explode("=",$v);
$options[] = ['label'=>$data[1],'value'=>$data[0]];
}
$formbuider[] = Form::radio('value','默认值',$menu['value'])->options($options);
}
//单选和多选参数配置
if(!empty($menu['parameter'])){
$formbuider[] = Form::textarea('parameter','配置参数',$menu['parameter'])->placeholder("参数方式例如:\n1=白色\n2=红色\n3=黑色");
}
break;
case 'checkbox':
$menu['value'] = json_decode($menu['value'],true)?:[];
$parameter = explode("\n",$menu['parameter']);
$options = [];
if($parameter) {
foreach ($parameter as $v) {
$data = explode("=", $v);
$options[] = ['label' => $data[1], 'value' => $data[0]];
}
$formbuider[] = Form::checkbox('value', '默认值', $menu['value'])->options($options);
}
//单选和多选参数配置
if(!empty($menu['parameter'])){
$formbuider[] = Form::textarea('parameter','配置参数',$menu['parameter'])->placeholder("参数方式例如:\n1=白色\n2=红色\n3=黑色");
}
break;
case 'upload':
if($menu['upload_type'] == 1 ){
$menu['value'] = json_decode($menu['value'],true);
$formbuider[] = Form::frameImageOne('value','图片',Url::build('admin/widget.images/index',array('fodder'=>'value')),(string)$menu['value'])->icon('image')->width('100%')->height('550px');
}elseif ($menu['upload_type'] == 2 ){
$menu['value'] = json_decode($menu['value'],true)?:[];
$formbuider[] = Form::frameImages('value','多图片',Url::build('admin/widget.images/index',array('fodder'=>'value')),$menu['value'])->maxLength(5)->icon('images')->width('100%')->height('550px')->spin(0);
}else{
$menu['value'] = json_decode($menu['value'],true);
$formbuider[] = Form::uploadFileOne('value','文件',Url::build('file_upload'))->name('file');
}
//上传类型选择
if(!empty($menu['upload_type'])){
$formbuider[] = Form::radio('upload_type','上传类型',$menu['upload_type'])->options([['value'=>1,'label'=>'单图'],['value'=>2,'label'=>'多图'],['value'=>3,'label'=>'文件']]);
}
break;
}
$formbuider[] = Form::number('sort','排序',$menu['sort']);
$formbuider[] = Form::radio('status','状态',$menu['status'])->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
$form = Form::make_post_form('编辑字段',$formbuider,Url::build('update_config',array('id'=>$id)));
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
}
/**
* 删除子字段
* @return \think\response\Json
*/
public function delete_cinfig(){
$id = input('id');
if(!ConfigModel::del($id))
return Json::fail(ConfigModel::getErrorInfo('删除失败,请稍候再试!'));
else
return Json::successful('删除成功!');
}
/**
* 保存数据 true
* */
public function save_basics(){
$request = Request::instance();
if($request->isPost()){
$post = $request->post();
$tab_id = $post['tab_id'];
unset($post['tab_id']);
foreach ($post as $k=>$v){
if(is_array($v)){
$res = ConfigModel::where('menu_name',$k)->column('type,upload_type');
foreach ($res as $kk=>$vv){
if($kk == 'upload'){
if($vv == 1 || $vv == 3){
$post[$k] = $v[0];
}
}
}
}
}
foreach ($post as $k=>$v){
ConfigModel::edit(['value' => json_encode($v)],$k,'menu_name');
}
return $this->successfulNotice('修改成功');
}
}
/**
* 模板表单提交
* */
public function view_upload(){
if($_POST['type'] == 3){
$res = Upload::file($_POST['file'],'config/file');
}else{
$res = Upload::Image($_POST['file'],'config/image');
}
if(!$res->status) return Json::fail($res->error);
return Json::successful('上传成功!',['url'=>$res->filePath]);
}
/**
* 文件上传
* */
public function file_upload(){
$res = Upload::file($_POST['file'],'config/file');
if(!$res->status) return Json::fail($res->error);
return Json::successful('上传成功!',['url'=>$res->filePath]);
}
/**
* 获取文件名
* */
public function getImageName(){
$request = Request::instance();
$post = $request->post();
$src = $post['src'];
$data['name'] = basename($src);
exit(json_encode($data));
}
}
\ No newline at end of file
+assign('tab_id',$tab_id);
$list = ConfigModel::getAll($tab_id);
if($type==3){//其它分类
$config_tab = null;
}else{
$config_tab = ConfigModel::getConfigTabAll($type);
foreach ($config_tab as $kk=>$vv){
$arr = ConfigModel::getAll($vv['value'])->toArray();
if(empty($arr)){
unset($config_tab[$kk]);
}
}
}
foreach ($list as $k=>$v){
if(!is_null(json_decode($v['value'])))
$list[$k]['value'] = json_decode($v['value'],true);
if($v['type'] == 'upload' && !empty($v['value'])){
if($v['upload_type'] == 1 || $v['upload_type'] == 3) $list[$k]['value'] = explode(',',$v['value']);
}
}
$this->assign('config_tab',$config_tab);
$this->assign('list',$list);
return $this->fetch();
}
/**
* 基础配置 单个
* @return mixed|void
*/
public function index_alone(){
$tab_id = input('tab_id');
if(!$tab_id) return $this->failed('参数错误,请重新打开');
$this->assign('tab_id',$tab_id);
$list = ConfigModel::getAll($tab_id);
foreach ($list as $k=>$v){
if(!is_null(json_decode($v['value'])))
$list[$k]['value'] = json_decode($v['value'],true);
if($v['type'] == 'upload' && !empty($v['value'])){
if($v['upload_type'] == 1 || $v['upload_type'] == 3) $list[$k]['value'] = explode(',',$v['value']);
}
}
$this->assign('list',$list);
return $this->fetch();
}
/**
* 添加字段
* */
public function create(Request $request){
$data = Util::getMore(['type',],$request);//接收参数
$tab_id = !empty($request->param('tab_id'))?$request->param('tab_id'):1;
$formbuider = array();
switch ($data['type']){
case 0://文本框
$formbuider = ConfigModel::createInputRule($tab_id);
break;
case 1://多行文本框
$formbuider = ConfigModel::createTextAreaRule($tab_id);
break;
case 2://单选框
$formbuider = ConfigModel::createRadioRule($tab_id);
break;
case 3://文件上传
$formbuider = ConfigModel::createUploadRule($tab_id);
break;
case 4://多选框
$formbuider = ConfigModel::createCheckboxRule($tab_id);
break;
}
$form = Form::make_post_form('添加字段',$formbuider,Url::build('save'));
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
}
/**
* 保存字段
* */
public function save(Request $request){
$data = Util::postMore([
'menu_name',
'type',
'config_tab_id',
'parameter',
'upload_type',
'required',
'width',
'high',
'value',
'info',
'desc',
'sort',
'status',],$request);
if(!$data['info']) return Json::fail('请输入配置名称');
if(!$data['menu_name']) return Json::fail('请输入字段名称');
if($data['menu_name']){
$oneConfig = ConfigModel::getOneConfig('menu_name',$data['menu_name']);
if(!empty($oneConfig)) return Json::fail('请重新输入字段名称,之前的已经使用过了');
}
if(!$data['desc']) return Json::fail('请输入配置简介');
if($data['sort'] < 0){
$data['sort'] = 0;
}
if($data['type'] == 'text'){
if(!ConfigModel::valiDateTextRole($data)) return Json::fail(ConfigModel::getErrorInfo());
}
if($data['type'] == 'textarea'){
if(!ConfigModel::valiDateTextareaRole($data)) return Json::fail(ConfigModel::getErrorInfo());
}
if($data['type'] == 'radio' || $data['type'] == 'checkbox' ){
if(!$data['parameter']) return Json::fail('请输入配置参数');
if(!ConfigModel::valiDateRadioAndCheckbox($data)) return Json::fail(ConfigModel::getErrorInfo());
$data['value'] = json_encode($data['value']);
}
ConfigModel::set($data);
return Json::successful('添加菜单成功!');
}
/**
* @param Request $request
* @param $id
* @return \think\response\Json
*/
public function update_config(Request $request, $id)
{
$type = $request->post('type');
if($type =='text' || $type =='textarea'|| $type == 'radio' || ($type == 'upload' && ($request->post('upload_type') == 1 || $request->post('upload_type') == 3))){
$value = $request->post('value');
}else{
$value = $request->post('value/a');
}
$data = Util::postMore(['status','info','desc','sort','config_tab_id','required','parameter',['value',$value],'upload_type'],$request);
$data['value'] = json_encode($data['value']);
if(!ConfigModel::get($id)) return Json::fail('编辑的记录不存在!');
ConfigModel::edit($data,$id);
return Json::successful('修改成功!');
}
/**
* 修改是否显示子子段
* @param $id
* @return mixed
*/
public function edit_cinfig($id){
$menu = ConfigModel::get($id)->getData();
if(!$menu) return Json::fail('数据不存在!');
$formbuider = array();
$formbuider[] = Form::input('menu_name','字段变量',$menu['menu_name'])->disabled(1);
// $formbuider[] = Form::input('type','字段类型',$menu['type'])->disabled(1);
$formbuider[] = Form::hidden('type',$menu['type']);
$formbuider[] = Form::select('config_tab_id','分类',(string)$menu['config_tab_id'])->setOptions(ConfigModel::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称',$menu['info'])->autofocus(1);
$formbuider[] = Form::input('desc','配置简介',$menu['desc']);
switch ($menu['type']){
case 'text':
$menu['value'] = json_decode($menu['value'],true);
//输入框验证规则
$formbuider[] = Form::input('value','默认值',$menu['value']);
if(!empty($menu['required'])){
$formbuider[] = Form::number('width','文本框宽(%)',$menu['width']);
$formbuider[] = Form::input('required','验证规则',$menu['required'])->placeholder('多个请用,隔开例如:required:true,url:true');
}
break;
case 'textarea':
$menu['value'] = json_decode($menu['value'],true);
//多行文本
if(!empty($menu['high'])){
$formbuider[] = Form::textarea('value','默认值',$menu['value'])->rows(5);
$formbuider[] = Form::number('width','文本框宽(%)',$menu['width']);
$formbuider[] = Form::number('high','多行文本框高(%)',$menu['high']);
}else{
$formbuider[] = Form::input('value','默认值',$menu['value']);
}
break;
case 'radio':
$menu['value'] = json_decode($menu['value'],true);
$parameter = explode("\n",$menu['parameter']);
$options = [];
if($parameter){
foreach ($parameter as $v){
$data = explode("=>",$v);
$options[] = ['label'=>$data[1],'value'=>$data[0]];
}
$formbuider[] = Form::radio('value','默认值',$menu['value'])->options($options);
}
//单选和多选参数配置
if(!empty($menu['parameter'])){
$formbuider[] = Form::textarea('parameter','配置参数',$menu['parameter'])->placeholder("参数方式例如:\n1=白色\n2=红色\n3=黑色");
}
break;
case 'checkbox':
$menu['value'] = json_decode($menu['value'],true)?:[];
$parameter = explode("\n",$menu['parameter']);
$options = [];
if($parameter) {
foreach ($parameter as $v) {
$data = explode("=>", $v);
$options[] = ['label' => $data[1], 'value' => $data[0]];
}
$formbuider[] = Form::checkbox('value', '默认值', $menu['value'])->options($options);
}
//单选和多选参数配置
if(!empty($menu['parameter'])){
$formbuider[] = Form::textarea('parameter','配置参数',$menu['parameter'])->placeholder("参数方式例如:\n1=白色\n2=红色\n3=黑色");
}
break;
case 'upload':
if($menu['upload_type'] == 1 ){
$menu['value'] = json_decode($menu['value'],true);
$formbuider[] = Form::frameImageOne('value','图片',Url::build('admin/widget.images/index',array('fodder'=>'value')),(string)$menu['value'])->icon('image')->width('100%')->height('550px');
}elseif ($menu['upload_type'] == 2 ){
$menu['value'] = json_decode($menu['value'],true)?:[];
$formbuider[] = Form::frameImages('value','多图片',Url::build('admin/widget.images/index',array('fodder'=>'value')),$menu['value'])->maxLength(5)->icon('images')->width('100%')->height('550px')->spin(0);
}else{
$menu['value'] = json_decode($menu['value'],true);
$formbuider[] = Form::uploadFileOne('value','文件',Url::build('file_upload'))->name('file');
}
//上传类型选择
if(!empty($menu['upload_type'])){
$formbuider[] = Form::radio('upload_type','上传类型',$menu['upload_type'])->options([['value'=>1,'label'=>'单图'],['value'=>2,'label'=>'多图'],['value'=>3,'label'=>'文件']]);
}
break;
}
$formbuider[] = Form::number('sort','排序',$menu['sort']);
$formbuider[] = Form::radio('status','状态',$menu['status'])->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
$form = Form::make_post_form('编辑字段',$formbuider,Url::build('update_config',array('id'=>$id)));
$this->assign(compact('form'));
return $this->fetch('public/form-builder');
}
/**
* 删除子字段
* @return \think\response\Json
*/
public function delete_cinfig(){
$id = input('id');
if(!ConfigModel::del($id))
return Json::fail(ConfigModel::getErrorInfo('删除失败,请稍候再试!'));
else
return Json::successful('删除成功!');
}
/**
* 保存数据 true
* */
public function save_basics(){
$request = Request::instance();
if($request->isPost()){
$post = $request->post();
$tab_id = $post['tab_id'];
unset($post['tab_id']);
foreach ($post as $k=>$v){
if(is_array($v)){
$res = ConfigModel::where('menu_name',$k)->column('type,upload_type');
foreach ($res as $kk=>$vv){
if($kk == 'upload'){
if($vv == 1 || $vv == 3){
$post[$k] = $v[0];
}
}
}
}
}
foreach ($post as $k=>$v){
ConfigModel::edit(['value' => json_encode($v)],$k,'menu_name');
}
return $this->successfulNotice('修改成功');
}
}
/**
* 模板表单提交
* */
public function view_upload(){
if($_POST['type'] == 3){
$res = Upload::file($_POST['file'],'config/file');
}else{
$res = Upload::Image($_POST['file'],'config/image');
}
if(!$res->status) return Json::fail($res->error);
return Json::successful('上传成功!',['url'=>$res->filePath]);
}
/**
* 文件上传
* */
public function file_upload(){
$res = Upload::file($_POST['file'],'config/file');
if(!$res->status) return Json::fail($res->error);
return Json::successful('上传成功!',['url'=>$res->filePath]);
}
/**
* 获取文件名
* */
public function getImageName(){
$request = Request::instance();
$post = $request->post();
$src = $post['src'];
$data['name'] = basename($src);
exit(json_encode($data));
}
}
\ No newline at end of file
diff --git a/application/admin/controller/setting/SystemGroupData.php b/application/admin/controller/setting/SystemGroupData.php
index 227ebffd..67e5d5ad 100644
--- a/application/admin/controller/setting/SystemGroupData.php
+++ b/application/admin/controller/setting/SystemGroupData.php
@@ -52,7 +52,7 @@ class SystemGroupData extends AuthController
$params = explode("\n",$value["param"]);
if(is_array($params) && !empty($params)){
foreach ($params as $index => $v) {
- $vl = explode('=',$v);
+ $vl = explode('=>',$v);
if(!empty($vl[0]) && !empty($vl[1])){
$info[$index]["value"] = $vl[0];
$info[$index]["label"] = $vl[1];
@@ -154,7 +154,7 @@ class SystemGroupData extends AuthController
$params = explode("\n",$value["param"]);
if(is_array($params) && !empty($params)){
foreach ($params as $index => $v) {
- $vl = explode('=',$v);
+ $vl = explode('=>',$v);
if(!empty($vl[0]) && !empty($vl[1])){
$info[$index]["value"] = $vl[0];
$info[$index]["label"] = $vl[1];
diff --git a/application/admin/controller/ump/StoreCombination.php b/application/admin/controller/ump/StoreCombination.php
index b35db39d..b88f6df3 100644
--- a/application/admin/controller/ump/StoreCombination.php
+++ b/application/admin/controller/ump/StoreCombination.php
@@ -15,7 +15,7 @@ use app\admin\model\ump\StoreCombinationAttrResult;
use app\admin\model\ump\StoreCombination as StoreCombinationModel;
use think\Url;
use app\admin\model\system\SystemAttachment;
-use app\wap\model\store\StorePink;
+use app\admin\model\ump\StorePink;
/**
* 拼团管理
diff --git a/application/admin/controller/ump/StoreSeckill.php b/application/admin/controller/ump/StoreSeckill.php
index 5dfd45f8..0e58be25 100644
--- a/application/admin/controller/ump/StoreSeckill.php
+++ b/application/admin/controller/ump/StoreSeckill.php
@@ -65,6 +65,9 @@ class StoreSeckill extends AuthController
return Json::successlayui(['count'=>$seckillList['list']['total'],'data'=>$data]);
}
+ public function get_seckill_id(){
+ return Json::successlayui(StoreSeckillModel::getSeckillIdAll());
+ }
/**
* 添加秒杀产品
* @return form-builder
@@ -221,7 +224,7 @@ class StoreSeckill extends AuthController
$f[] = Form::frameImageOne('image','产品主图片(305*305px)',Url::build('admin/widget.images/index',array('fodder'=>'image')),$product->getData('image'))->icon('image');
$f[] = Form::frameImages('images','产品轮播图(640*640px)',Url::build('admin/widget.images/index',array('fodder'=>'images')),json_decode($product->getData('images')))->maxLength(5)->icon('images');
$f[] = Form::number('price','秒杀价',$product->getData('price'))->min(0)->col(12);
- $f[] = Form::number('ot_price','原价',$product->getData('price'))->min(0)->col(12);
+ $f[] = Form::number('ot_price','原价',$product->getData('ot_price'))->min(0)->col(12);
$f[] = Form::number('cost','成本价',$product->getData('cost'))->min(0)->col(12);
$f[] = Form::number('stock','库存',$product->getData('stock'))->min(0)->precision(0)->col(12);
$f[] = Form::number('sales','销量',$product->getData('sales'))->min(0)->precision(0)->col(12);
diff --git a/application/admin/controller/wechat/Reply.php b/application/admin/controller/wechat/Reply.php
index e5151fdc..888e0252 100644
--- a/application/admin/controller/wechat/Reply.php
+++ b/application/admin/controller/wechat/Reply.php
@@ -16,14 +16,15 @@ use think\Request;
*/
class Reply extends AuthController
{
+ /**关注回复
+ * @return mixed|void
+ */
public function index()
{
if(empty(input('key'))) return $this->failed('请输入参数key');
if(empty(input('title'))) return $this->failed('请输入参数title');
- $replay = WechatReply::where('key',input('key'))->find();
- $replay_arr =!empty($replay) ? $replay->toArray() : [];
- $replay_arr['data'] = json_decode(isset($replay_arr['data']) ? $replay_arr['data'] : '',true);
- $this->assign('replay_arr',json_encode($replay_arr));
+ $replay = WechatReply::getDataByKey(input('key'));
+ $this->assign('replay_arr',json_encode($replay));
$this->assign('key',input('key'));
$this->assign('title',input('title'));
return $this->fetch();
@@ -36,10 +37,8 @@ class Reply extends AuthController
],$this->request);
// dump($where);
// exit();
- if(!empty($where['key'])) $replay = WechatReply::where('key',$where['key'])->find();
- $replay_arr = $replay->toArray();
+ if(!empty($where['key'])) $replay_arr = WechatReply::getDataByKey($where['key']);
$replay_arr['code'] = 200;
- $replay_arr['data'] = json_decode($replay_arr['data'],true);
if(empty($replay_arr)) {
$replay_arr['code'] = 0;
}
@@ -117,10 +116,8 @@ class Reply extends AuthController
public function info_keyword(){
$key = input('key');
if(empty($key)) return $this->failed('参数错误,请重新修改');
- $replay = WechatReply::where('key',$key)->find();
- $replay_arr = $replay->toArray();
- $replay_arr['data'] = json_decode($replay_arr['data'],true);
- $this->assign('replay_arr',json_encode($replay_arr));
+ $replay = WechatReply::getDataByKey($key);
+ $this->assign('replay_arr',json_encode($replay));
$this->assign('key',$key);
$this->assign('dis',2);
return $this->fetch('add_keyword');
diff --git a/application/admin/model/order/StoreOrder.php b/application/admin/model/order/StoreOrder.php
index d30c8f22..bfbd1214 100644
--- a/application/admin/model/order/StoreOrder.php
+++ b/application/admin/model/order/StoreOrder.php
@@ -89,7 +89,7 @@ class StoreOrder extends ModelBasic
$item['pay_type_name']='微信支付';
break;
case 'yue':
- $item['pay_type_name']='微信支付';
+ $item['pay_type_name']='余额支付';
break;
case 'offline':
$item['pay_type_name']='线下支付';
@@ -118,7 +118,7 @@ class StoreOrder extends ModelBasic
}else if($item['paid']==1 && $item['status']==2 && $item['refund_status']==0){
$item['status_name']='待评价';
}else if($item['paid']==1 && $item['status']==3 && $item['refund_status']==0){
- $item['status_name']='待评价';
+ $item['status_name']='已完成';
}else if($item['paid']==1 && $item['refund_status']==1){
$item['status_name']=<<申请退款
diff --git a/application/admin/model/system/SystemConfig.php b/application/admin/model/system/SystemConfig.php
index ddbfcef7..b1219d55 100644
--- a/application/admin/model/system/SystemConfig.php
+++ b/application/admin/model/system/SystemConfig.php
@@ -1 +1 @@
-
* @day: 2017/11/02
*/
namespace app\admin\model\system;
use basic\ModelBasic;
use service\FormBuilder as Form;
use traits\ModelTrait;
use \app\admin\model\system\SystemConfigTab;
class SystemConfig extends ModelBasic {
use ModelTrait;
/**
* 修改单个配置
* */
public static function setValue($menu,$value){
if(empty($menu) || !($config_one = self::get(['menu_name'=>$menu]))) return self::setErrorInfo('字段名称错误');
if($config_one['type'] == 'radio' || $config_one['type'] == 'checkbox'){
$parameter = array();
$option = array();
$parameter = explode(',',$config_one['parameter']);
foreach ($parameter as $k=>$v){
if(isset($v) && !empty($v)){
$option[$k] = explode('-',$v);
}
}
$value_arr = array();//选项的值
foreach ($option as $k=>$v){
foreach ($v as $kk=>$vv)
if(!$kk){
$value_arr[$k] = $vv;
}
}
$i = 0;//
if(is_array($value)){
foreach ($value as $value_v){
if(in_array($value_v,$value_arr)){
$i++;
}
}
if(count($value) != $i) return self::setErrorInfo('输入的值不属于选项中的参数');
}else{
if(in_array($value,$value_arr)){
$i++;
}
if(!$i) return self::setErrorInfo('输入的值不属于选项中的参数');
}
if($config_one['type'] == 'radio' && is_array($value)) return self::setErrorInfo('单选按钮的值是字符串不是数组');
}
$bool = self::edit(['value' => json_encode($value)],$menu,'menu_name');
return $bool;
}
/**
* 获取单个参数配置
* */
public static function getValue($menu){
if(empty($menu) || !($config_one = self::get(['menu_name'=>$menu]))) return false;
return json_decode($config_one['value'],true);
}
/**
* 获得多个参数
* @param $menus
* @return array
*/
public static function getMore($menus)
{
$menus = is_array($menus) ? implode(',',$menus) : $menus;
$list = self::where('menu_name','IN',$menus)->column('value','menu_name')?:[];
foreach ($list as $menu => $value){
$list[$menu] = json_decode($value,true);
}
return $list;
}
public static function getAllConfig()
{
$list = self::column('value','menu_name')?:[];
foreach ($list as $menu => $value){
$list[$menu] = json_decode($value,true);
}
return $list;
}
/**
* text 判断
* */
public static function valiDateTextRole($data){
if (!$data['width']) return self::setErrorInfo('请输入文本框的宽度');
if ($data['width'] <= 0) return self::setErrorInfo('请输入正确的文本框的宽度');
return true;
}
/**
* radio 和 checkbox规则的判断
* */
public static function valiDateRadioAndCheckbox($data){
$parameter = array();
$option = array();
$option_new = array();
$data['parameter'] = str_replace("\r\n","\n",$data['parameter']);//防止不兼容
$parameter = explode("\n",$data['parameter']);
if(count($parameter) < 2)return self::setErrorInfo('请输入正确格式的配置参数');
foreach ($parameter as $k=>$v){
if(isset($v) && !empty($v)){
$option[$k] = explode('=',$v);
}
}
if(count($option) < 2)return self::setErrorInfo('请输入正确格式的配置参数');
$bool = 1;
foreach ($option as $k=>$v){
$option_new[$k] = $option[$k][0];
foreach ($v as $kk=>$vv){
$vv_num = strlen($vv);
if(!$vv_num){
$bool = 0;
}
}
}
// dump($option);
if(!$bool)return self::setErrorInfo('请输入正确格式的配置参数');
$num1 = count($option_new);//提取该数组的数目
$arr2 = array_unique($option_new);//合并相同的元素
$num2 = count($arr2);//提取合并后数组个数
if($num1>$num2)return self::setErrorInfo('请输入正确格式的配置参数');
return true;
}
/**
* textarea 判断
* */
public static function valiDateTextareaRole($data){
if (!$data['width']) return self::setErrorInfo('请输入多行文本框的宽度');
if (!$data['high']) return self::setErrorInfo('请输入多行文本框的高度');
if ($data['width'] < 0) return self::setErrorInfo('请输入正确的多行文本框的宽度');
if ($data['high'] < 0) return self::setErrorInfo('请输入正确的多行文本框的宽度');
return true;
}
/**
* 获取一数据
* */
public static function getOneConfig($filed,$value){
$where[$filed] = $value;
return self::where($where)->find();
}
/**
* 获取配置分类
* */
public static function getAll($id){
$where['config_tab_id'] = $id;
$where['status'] = 1;
return self::where($where)->order('sort desc,id asc')->select();
}
/**
* 获取所有配置分类
* */
public static function getConfigTabAll($type=0){
$configAll = SystemConfigTab::getAll($type);
$config_tab = array();
foreach ($configAll as $k=>$v){
if(!$v['info']){
$config_tab[$k]['value'] = $v['id'];
$config_tab[$k]['label'] = $v['title'];
$config_tab[$k]['icon'] = $v['icon'];
$config_tab[$k]['type'] = $v['type'];
}
}
return $config_tab;
}
/**
* 选择类型
* */
public static function radiotype($type='text'){
return [
['value'=>'text','label'=>'文本框','disabled'=>1]
,['value'=>'textarea','label'=>'多行文本框','disabled'=>1]
,['value'=>'radio','label'=>'单选按钮','disabled'=>1]
,['value'=>'upload','label'=>'文件上传','disabled'=>1]
,['value'=>'checkbox','label'=>'多选按钮','disabled'=>1]
];
}
/**
* 文本框
* */
public static function createInputRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','text')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('width','文本框宽(%)',100);
$formbuider[] = Form::input('required','验证规则')->placeholder('多个请用,隔开例如:required:true,url:true');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 多行文本框
* */
public static function createTextAreaRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','textarea')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('value','默认值');
$formbuider[] = Form::number('width','文本框宽(%)',100);
$formbuider[] = Form::number('high','多行文本框高(%)',5);
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 单选按钮
* */
public static function createRadioRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','radio')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('parameter','配置参数')->placeholder("参数方式例如:\n1=男\n2=女\n3=保密");
$formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 文件上传
* */
public static function createUploadRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','upload')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::radio('upload_type','上传类型',1)->options([['value'=>1,'label'=>'单图'],['value'=>2,'label'=>'多图'],['value'=>3,'label'=>'文件']]);
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 多选框
* */
public static function createCheckboxRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','checkbox')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('parameter','配置参数')->placeholder("参数方式例如:\n1=白色\n2=红色\n3=黑色");
// $formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 插入数据到数据库
* */
public static function set($data)
{
return self::create($data);
}
}
\ No newline at end of file
+
* @day: 2017/11/02
*/
namespace app\admin\model\system;
use basic\ModelBasic;
use service\FormBuilder as Form;
use traits\ModelTrait;
use \app\admin\model\system\SystemConfigTab;
class SystemConfig extends ModelBasic {
use ModelTrait;
/**
* 修改单个配置
* */
public static function setValue($menu,$value){
if(empty($menu) || !($config_one = self::get(['menu_name'=>$menu]))) return self::setErrorInfo('字段名称错误');
if($config_one['type'] == 'radio' || $config_one['type'] == 'checkbox'){
$parameter = array();
$option = array();
$parameter = explode(',',$config_one['parameter']);
foreach ($parameter as $k=>$v){
if(isset($v) && !empty($v)){
$option[$k] = explode('-',$v);
}
}
$value_arr = array();//选项的值
foreach ($option as $k=>$v){
foreach ($v as $kk=>$vv)
if(!$kk){
$value_arr[$k] = $vv;
}
}
$i = 0;//
if(is_array($value)){
foreach ($value as $value_v){
if(in_array($value_v,$value_arr)){
$i++;
}
}
if(count($value) != $i) return self::setErrorInfo('输入的值不属于选项中的参数');
}else{
if(in_array($value,$value_arr)){
$i++;
}
if(!$i) return self::setErrorInfo('输入的值不属于选项中的参数');
}
if($config_one['type'] == 'radio' && is_array($value)) return self::setErrorInfo('单选按钮的值是字符串不是数组');
}
$bool = self::edit(['value' => json_encode($value)],$menu,'menu_name');
return $bool;
}
/**
* 获取单个参数配置
* */
public static function getValue($menu){
if(empty($menu) || !($config_one = self::get(['menu_name'=>$menu]))) return false;
return json_decode($config_one['value'],true);
}
/**
* 获得多个参数
* @param $menus
* @return array
*/
public static function getMore($menus)
{
$menus = is_array($menus) ? implode(',',$menus) : $menus;
$list = self::where('menu_name','IN',$menus)->column('value','menu_name')?:[];
foreach ($list as $menu => $value){
$list[$menu] = json_decode($value,true);
}
return $list;
}
public static function getAllConfig()
{
$list = self::column('value','menu_name')?:[];
foreach ($list as $menu => $value){
$list[$menu] = json_decode($value,true);
}
return $list;
}
/**
* text 判断
* */
public static function valiDateTextRole($data){
if (!$data['width']) return self::setErrorInfo('请输入文本框的宽度');
if ($data['width'] <= 0) return self::setErrorInfo('请输入正确的文本框的宽度');
return true;
}
/**
* radio 和 checkbox规则的判断
* */
public static function valiDateRadioAndCheckbox($data){
$parameter = array();
$option = array();
$option_new = array();
$data['parameter'] = str_replace("\r\n","\n",$data['parameter']);//防止不兼容
$parameter = explode("\n",$data['parameter']);
if(count($parameter) < 2)return self::setErrorInfo('请输入正确格式的配置参数');
foreach ($parameter as $k=>$v){
if(isset($v) && !empty($v)){
$option[$k] = explode('=>',$v);
}
}
if(count($option) < 2)return self::setErrorInfo('请输入正确格式的配置参数');
$bool = 1;
foreach ($option as $k=>$v){
$option_new[$k] = $option[$k][0];
foreach ($v as $kk=>$vv){
$vv_num = strlen($vv);
if(!$vv_num){
$bool = 0;
}
}
}
// dump($option);
if(!$bool)return self::setErrorInfo('请输入正确格式的配置参数');
$num1 = count($option_new);//提取该数组的数目
$arr2 = array_unique($option_new);//合并相同的元素
$num2 = count($arr2);//提取合并后数组个数
if($num1>$num2)return self::setErrorInfo('请输入正确格式的配置参数');
return true;
}
/**
* textarea 判断
* */
public static function valiDateTextareaRole($data){
if (!$data['width']) return self::setErrorInfo('请输入多行文本框的宽度');
if (!$data['high']) return self::setErrorInfo('请输入多行文本框的高度');
if ($data['width'] < 0) return self::setErrorInfo('请输入正确的多行文本框的宽度');
if ($data['high'] < 0) return self::setErrorInfo('请输入正确的多行文本框的宽度');
return true;
}
/**
* 获取一数据
* */
public static function getOneConfig($filed,$value){
$where[$filed] = $value;
return self::where($where)->find();
}
/**
* 获取配置分类
* */
public static function getAll($id){
$where['config_tab_id'] = $id;
$where['status'] = 1;
return self::where($where)->order('sort desc,id asc')->select();
}
/**
* 获取所有配置分类
* */
public static function getConfigTabAll($type=0){
$configAll = SystemConfigTab::getAll($type);
$config_tab = array();
foreach ($configAll as $k=>$v){
if(!$v['info']){
$config_tab[$k]['value'] = $v['id'];
$config_tab[$k]['label'] = $v['title'];
$config_tab[$k]['icon'] = $v['icon'];
$config_tab[$k]['type'] = $v['type'];
}
}
return $config_tab;
}
/**
* 选择类型
* */
public static function radiotype($type='text'){
return [
['value'=>'text','label'=>'文本框','disabled'=>1]
,['value'=>'textarea','label'=>'多行文本框','disabled'=>1]
,['value'=>'radio','label'=>'单选按钮','disabled'=>1]
,['value'=>'upload','label'=>'文件上传','disabled'=>1]
,['value'=>'checkbox','label'=>'多选按钮','disabled'=>1]
];
}
/**
* 文本框
* */
public static function createInputRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','text')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('width','文本框宽(%)',100);
$formbuider[] = Form::input('required','验证规则')->placeholder('多个请用,隔开例如:required:true,url:true');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 多行文本框
* */
public static function createTextAreaRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','textarea')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('value','默认值');
$formbuider[] = Form::number('width','文本框宽(%)',100);
$formbuider[] = Form::number('high','多行文本框高(%)',5);
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 单选按钮
* */
public static function createRadioRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','radio')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('parameter','配置参数')->placeholder("参数方式例如:\n1=>男\n2=>女\n3=>保密");
$formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 文件上传
* */
public static function createUploadRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','upload')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::radio('upload_type','上传类型',1)->options([['value'=>1,'label'=>'单图'],['value'=>2,'label'=>'多图'],['value'=>3,'label'=>'文件']]);
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 多选框
* */
public static function createCheckboxRule($tab_id){
$formbuider = array();
$formbuider[] = Form::radio('type','类型','checkbox')->options(self::radiotype());
$formbuider[] = Form::select('config_tab_id','分类',$tab_id)->setOptions(SystemConfig::getConfigTabAll(-1));
$formbuider[] = Form::input('info','配置名称')->autofocus(1);
$formbuider[] = Form::input('menu_name','字段变量')->placeholder('例如:site_url');
$formbuider[] = Form::input('desc','配置简介');
$formbuider[] = Form::textarea('parameter','配置参数')->placeholder("参数方式例如:\n1=>白色\n2=>红色\n3=>黑色");
// $formbuider[] = Form::input('value','默认值');
$formbuider[] = Form::number('sort','排序');
$formbuider[] = Form::radio('status','状态',1)->options([['value'=>1,'label'=>'显示'],['value'=>2,'label'=>'隐藏']]);
return $formbuider;
}
/**
* 插入数据到数据库
* */
public static function set($data)
{
return self::create($data);
}
}
\ No newline at end of file
diff --git a/application/admin/model/system/SystemConfigTab.php b/application/admin/model/system/SystemConfigTab.php
index 975f9a38..5c47e760 100644
--- a/application/admin/model/system/SystemConfigTab.php
+++ b/application/admin/model/system/SystemConfigTab.php
@@ -1 +1 @@
-
* @day: 2017/11/02
*/
namespace app\admin\model\system;
use traits\ModelTrait;
use basic\ModelBasic;
use think\Db;
/**
* 配置分类model
*
* Class SystemConfigTab
* @package app\admin\model\system
*/
class SystemConfigTab extends ModelBasic {
use ModelTrait;
/**
* 获取单选按钮或者多选按钮的显示值
* */
public static function getRadioOrCheckboxValueInfo($menu_name,$value){
$parameter = array();
$option = array();
$config_one = SystemConfig::getOneConfig('menu_name',$menu_name);
$parameter = explode("\n",$config_one['parameter']);
foreach ($parameter as $k=>$v){
if(isset($v) && strlen($v)>0){
$data = explode('=',$v);
$option[$data[0]] = $data[1];
}
}
$str = '';
if(is_array($value)){
foreach ($value as $v){
$str .= $option[$v].',';
}
}else{
$str .= !empty($value)?$option[$value]:$option[0];
}
return $str;
}
/**
* 插入数据到数据库
* */
public static function set($data)
{
return self::create($data);
}
/**
* 获取全部
* */
public static function getAll($type = 0){
$where['status'] = 1;
if($type>-1)$where['type'] = $type;
return Db::name('SystemConfigTab')->where($where)->select();
}
/**
* 获取配置分类
* */
public static function getSystemConfigTabPage($where = array())
{
$model = new self;
if($where['title'] != '') $model = $model->where('title','LIKE',"%$where[title]%");
if($where['status'] != '') $model = $model->where('status',$where['status']);
return self::page($model,$where);
}
public static function edit($data,$id,$field='id')
{
return self::update($data,[$field=>$id]);
}
/**
* 更新数据
* @access public
* @param array $data 数据数组
* @param array $where 更新条件
* @param array|true $field 允许字段
* @return $this
*/
public static function update($data = [], $where = [], $field = null)
{
$model = new static();
if (!empty($field)) {
$model->allowField($field);
}
$result = $model->isUpdate(true)->save($data, $where);
return $model;
}
}
\ No newline at end of file
+
* @day: 2017/11/02
*/
namespace app\admin\model\system;
use traits\ModelTrait;
use basic\ModelBasic;
use think\Db;
/**
* 配置分类model
*
* Class SystemConfigTab
* @package app\admin\model\system
*/
class SystemConfigTab extends ModelBasic {
use ModelTrait;
/**
* 获取单选按钮或者多选按钮的显示值
* */
public static function getRadioOrCheckboxValueInfo($menu_name,$value){
$parameter = array();
$option = array();
$config_one = SystemConfig::getOneConfig('menu_name',$menu_name);
$parameter = explode("\n",$config_one['parameter']);
foreach ($parameter as $k=>$v){
if(isset($v) && strlen($v)>0){
$data = explode('=>',$v);
$option[$data[0]] = $data[1];
}
}
$str = '';
if(is_array($value)){
foreach ($value as $v){
$str .= $option[$v].',';
}
}else{
$str .= !empty($value)?$option[$value]:$option[0];
}
return $str;
}
/**
* 插入数据到数据库
* */
public static function set($data)
{
return self::create($data);
}
/**
* 获取全部
* */
public static function getAll($type = 0){
$where['status'] = 1;
if($type>-1)$where['type'] = $type;
return Db::name('SystemConfigTab')->where($where)->select();
}
/**
* 获取配置分类
* */
public static function getSystemConfigTabPage($where = array())
{
$model = new self;
if($where['title'] != '') $model = $model->where('title','LIKE',"%$where[title]%");
if($where['status'] != '') $model = $model->where('status',$where['status']);
return self::page($model,$where);
}
public static function edit($data,$id,$field='id')
{
return self::update($data,[$field=>$id]);
}
/**
* 更新数据
* @access public
* @param array $data 数据数组
* @param array $where 更新条件
* @param array|true $field 允许字段
* @return $this
*/
public static function update($data = [], $where = [], $field = null)
{
$model = new static();
if (!empty($field)) {
$model->allowField($field);
}
$result = $model->isUpdate(true)->save($data, $where);
return $model;
}
}
\ No newline at end of file
diff --git a/application/admin/model/wechat/WechatReply.php b/application/admin/model/wechat/WechatReply.php
index 66ce3cf9..4a82d2c7 100644
--- a/application/admin/model/wechat/WechatReply.php
+++ b/application/admin/model/wechat/WechatReply.php
@@ -26,6 +26,15 @@ class WechatReply extends ModelBasic
public static $reply_type = ['text','image','news','voice'];
+ /**根据关键字查询一条
+ * @param $key
+ */
+ public static function getDataByKey($key){
+ $resdata = [];
+ $resdata = self::where('key',$key)->find();
+ $resdata['data'] = json_decode($resdata['data'],true);
+ return $resdata;
+ }
public function getUrlAttr($value,$data)
{
return $value == '' ? \think\Url::build('index/index/news',['id'=>$data['id']]) : $value;
@@ -194,4 +203,5 @@ class WechatReply extends ModelBasic
}
+
}
\ No newline at end of file
diff --git a/application/admin/view/public/form-builder.php b/application/admin/view/public/form-builder.php
index 16f3c077..9e3f10fa 100644
--- a/application/admin/view/public/form-builder.php
+++ b/application/admin/view/public/form-builder.php
@@ -8,6 +8,7 @@
/*弹框样式修改*/
.ivu-modal-body{padding: 5;}
.ivu-modal-confirm-footer{display: none;}
+ .ivu-date-picker {display: inline-block;line-height: normal;width: 280px;}