From bd96cc98a4b3b5ed02c01bf7362bc5e515207029 Mon Sep 17 00:00:00 2001 From: 王智 <wz@bronet.cn> Date: Wed, 9 Dec 2020 09:04:46 +0800 Subject: [PATCH] 11 --- application/admin/controller/QuestionBoy.php | 22 ++-------------------- application/admin/controller/QuestionGirl.php | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- application/admin/view/question_boy/index.html | 27 +++++++++++++-------------- application/admin/view/question_girl/edit.html | 5 ++++- application/admin/view/question_girl/index.html | 25 ++++++++++++------------- 5 files changed, 92 insertions(+), 50 deletions(-) diff --git a/application/admin/controller/QuestionBoy.php b/application/admin/controller/QuestionBoy.php index 993afe5..dcd03c6 100644 --- a/application/admin/controller/QuestionBoy.php +++ b/application/admin/controller/QuestionBoy.php @@ -70,9 +70,8 @@ class QuestionBoy extends Backend unset($INPUT['dialog']); unset($INPUT['row']); unset($INPUT['ids']); - $input= array_unique($INPUT); - dump(json_encode($input)); - die; + $input = array_unique($INPUT); + $params['config'] = dump(json_encode($input)); $result = $row->allowField(true)->save($params); Db::commit(); } catch (ValidateException $e) { @@ -97,21 +96,4 @@ class QuestionBoy extends Backend $this->view->assign("row", $row); return $this->view->fetch(); } - - - - function second_array_unique_bykey($arr, $key) - { - $tmp_arr = array(); - foreach ($arr as $k => $v) { - if (in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true - { - unset($arr[$k]); //销毁一个变量 如果$tmp_arr中已存在相同的值就删除该值 - } else { - $tmp_arr[$k] = $v[$key]; //将不同的值放在该数组中保存 - } - } - //ksort($arr); //ksort函数对数组进行排序(保留原键值key) sort为不保留key值 - return $arr; - } } diff --git a/application/admin/controller/QuestionGirl.php b/application/admin/controller/QuestionGirl.php index 609d0d5..1ab4acd 100644 --- a/application/admin/controller/QuestionGirl.php +++ b/application/admin/controller/QuestionGirl.php @@ -3,6 +3,7 @@ namespace app\admin\controller; use app\common\controller\Backend; +use think\Db; /** * 测试题(女) @@ -11,7 +12,7 @@ use app\common\controller\Backend; */ class QuestionGirl extends Backend { - + /** * QuestionGirl模型对象 * @var \app\admin\model\QuestionGirl @@ -35,6 +36,64 @@ class QuestionGirl extends Backend * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 */ - + + /** + * 编辑 + */ + public function edit($ids = null) + { + $row = $this->model->get($ids); + if (!$row) { + $this->error(__('No Results were found')); + } + $adminIds = $this->getDataLimitAdminIds(); + if (is_array($adminIds)) { + if (!in_array($row[$this->dataLimitField], $adminIds)) { + $this->error(__('You have no permission')); + } + } + if ($this->request->isPost()) { + $params = $this->request->post("row/a"); + if ($params) { + $params = $this->preExcludeFields($params); + $result = false; + Db::startTrans(); + try { + //是否采用模型验证 + if ($this->modelValidate) { + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate; + $row->validateFailException(true)->validate($validate); + } + $INPUT = $this->request->param(); + unset($INPUT['dialog']); + unset($INPUT['row']); + unset($INPUT['ids']); + $input = array_unique($INPUT); + $params['config'] = dump(json_encode($input)); + $result = $row->allowField(true)->save($params); + Db::commit(); + } catch (ValidateException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (PDOException $e) { + Db::rollback(); + $this->error($e->getMessage()); + } catch (Exception $e) { + Db::rollback(); + $this->error($e->getMessage()); + } + if ($result !== false) { + $this->success(); + } else { + $this->error(__('No rows were updated')); + } + } + $this->error(__('Parameter %s can not be empty', '')); + } + $row['config'] = json_decode($row['config']); + $this->view->assign("row", $row); + return $this->view->fetch(); + } } diff --git a/application/admin/view/question_boy/index.html b/application/admin/view/question_boy/index.html index 27ea179..fcd60ea 100644 --- a/application/admin/view/question_boy/index.html +++ b/application/admin/view/question_boy/index.html @@ -7,24 +7,23 @@ <div class="widget-body no-padding"> <div id="toolbar" class="toolbar"> <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> - <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_boy/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a> - <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_boy/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a> - <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_boy/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a> - <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_boy/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a> - - <div class="dropdown btn-group {:$auth->check('question_boy/multi')?'':'hide'}"> - <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> - <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> - </ul> - </div> - +<!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_boy/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>--> +<!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_boy/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>--> +<!-- <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_boy/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>--> +<!-- <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_boy/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>--> +<!----> +<!-- <div class="dropdown btn-group {:$auth->check('question_boy/multi')?'':'hide'}">--> +<!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>--> +<!-- <ul class="dropdown-menu text-left" role="menu">--> +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>--> +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>--> +<!-- </ul>--> +<!-- </div>--> +<!----> </div> <table id="table" class="table table-striped table-bordered table-hover table-nowrap" data-operate-edit="{:$auth->check('question_boy/edit')}" - data-operate-del="{:$auth->check('question_boy/del')}" width="100%"> </table> </div> diff --git a/application/admin/view/question_girl/edit.html b/application/admin/view/question_girl/edit.html index b6f5aca..8573623 100644 --- a/application/admin/view/question_girl/edit.html +++ b/application/admin/view/question_girl/edit.html @@ -9,8 +9,11 @@ <div class="form-group"> <label class="control-label col-xs-12 col-sm-2">{:__('Config')}:</label> <div class="col-xs-12 col-sm-8"> - <input id="c-config" class="form-control" name="row[config]" type="text" value="{$row.config|htmlentities}"> + {foreach name="row.config" item="vo" key="key"} + <input id="c-config" class="form-control" name="{$key}" type="text" value="{$vo|htmlentities}"> + {/foreach} </div> + </div> <div class="form-group layer-footer"> <label class="control-label col-xs-12 col-sm-2"></label> diff --git a/application/admin/view/question_girl/index.html b/application/admin/view/question_girl/index.html index b32f716..35714ea 100644 --- a/application/admin/view/question_girl/index.html +++ b/application/admin/view/question_girl/index.html @@ -7,24 +7,23 @@ <div class="widget-body no-padding"> <div id="toolbar" class="toolbar"> <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> - <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_girl/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a> - <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_girl/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a> - <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_girl/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a> - <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_girl/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a> - - <div class="dropdown btn-group {:$auth->check('question_girl/multi')?'':'hide'}"> - <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a> - <ul class="dropdown-menu text-left" role="menu"> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li> - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li> - </ul> - </div> +<!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_girl/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>--> +<!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_girl/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>--> +<!-- <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_girl/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>--> +<!-- <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_girl/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>--> +<!----> +<!-- <div class="dropdown btn-group {:$auth->check('question_girl/multi')?'':'hide'}">--> +<!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>--> +<!-- <ul class="dropdown-menu text-left" role="menu">--> +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>--> +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>--> +<!-- </ul>--> +<!-- </div>--> </div> <table id="table" class="table table-striped table-bordered table-hover table-nowrap" data-operate-edit="{:$auth->check('question_girl/edit')}" - data-operate-del="{:$auth->check('question_girl/del')}" width="100%"> </table> </div> -- libgit2 0.24.0