modified 细节优化,完成数据更新操作

This commit is contained in:
zhaoxiang 2016-11-09 23:49:31 +08:00
parent 21cc5142f2
commit b19f11264a
3 changed files with 48 additions and 29 deletions

View File

@ -1,5 +1,6 @@
<?php
namespace app\admin\controller;
use think\Validate;
/**
* 菜单管理控制器
@ -122,7 +123,7 @@ class Menu extends Base {
[
'name' => 'require',
],[
'name.require' => '名称必须',
'name.require' => '菜单名称不能为空',
]
)->save($this->request->post());
if(false === $result){
@ -250,17 +251,17 @@ class Menu extends Base {
public function edit(){
if( $this->request->isPut() ){
$menuModel = new \app\admin\model\Menu();
$result = $menuModel->allowField(true)->validate(
[
'name' => 'require',
],[
'name.require' => '名称必须',
]
)->update($this->request->put());
if(false === $result){
$this->error($menuModel->getError());
$data = $this->request->put();
$validate = new Validate([
'name' => 'require',
],[
'name.require' => '菜单名称不能为空',
]);
if(!$validate->check($data)){
$this->error($validate->getError());
}else{
$menuModel = new \app\admin\model\Menu();
$menuModel->allowField(true)->update($data);
$this->success('操作成功!', url('Menu/index'));
}
}else{
@ -269,8 +270,8 @@ class Menu extends Base {
$form = [
'tempType' => 'edit',
'formAttr' => [
'target' => url('Menu/add'),
'formId' => 'add-menu-form',
'target' => url('Menu/edit'),
'formId' => 'edit-menu-form',
'backUrl' => url('Menu/index'),
],
'formList' => [
@ -284,6 +285,16 @@ class Menu extends Base {
'placeholder' => ''
]
],
[
'module' => 'hidden',
'description' => '',
'info' => '',
'attr' => [
'name' => 'id',
'value' => $detail['id'],
'placeholder' => ''
]
],
[
'module' => 'select',
'description' => '',

View File

@ -30,7 +30,8 @@
* @param msg
* @param wait 等待时间毫秒
*/
$.alertMsg = function( msg, wait = 2800 ){
$.alertMsg = function( msg, wait ){
wait = wait ? wait : 2800;
var dialog = bootbox.dialog({
message: '<p class="text-center">'+msg+'</p>',
closeButton: false
@ -45,7 +46,8 @@
* @param url
* @param urlData
*/
$.refresh = function ( url, urlData = '' ) {
$.refresh = function ( url, urlData ) {
urlData = urlData ? urlData : '';
$.ajax({
type: "GET",
url: url,
@ -98,7 +100,7 @@
};
/**
* Ajax Post 表单提交()
* Ajax Post 表单提交() *
*/
bodyDom.on('click', '.ajax-post', function() {
var message,query,form,target;
@ -139,7 +141,7 @@
});
/**
* Ajax Put 表单提交()
* Ajax Put 表单提交() *
*/
bodyDom.on('click', '.ajax-put', function() {
var message,query,form,target;
@ -162,18 +164,11 @@
$.alertMsg(message);
setTimeout(function() {
if (data.url) {
location.href = data.url;
} else {
location.reload();
$.refresh(data.url);
}
}, wait);
} else {
$.alertMsg(data.msg);
setTimeout(function() {
if (data.url) {
location.href = data.url;
}
}, wait);
}
});
return false;

View File

@ -8,7 +8,7 @@
* @returns {string}
*/
$.buildAddForm = function ( formObj ) {
return buildForm(formObj, 'box-success');
return buildForm(formObj, 'box-success', 'ajax-post');
};
/**
@ -17,16 +17,17 @@
* @returns {string}
*/
$.buildEditForm = function ( formObj ) {
return buildForm(formObj, 'box-warning');
return buildForm(formObj, 'box-warning', 'ajax-put');
};
/**
* 根据规则创建表单
* @param formObj 表单数据对象
* @param boxType box样式
* @param method 数据提交方式
* @returns {string}
*/
function buildForm( formObj, boxType ) {
function buildForm( formObj, boxType, method ) {
var formHtml = '<div class="box '+ boxType +'" id="formBox"><div class="box-body">';
formHtml += '<div class="box-header with-border"><h3 class="box-title">新增菜单</h3></div>';
formHtml += '<form id="'+ formObj.formAttr.formId +'" action="'+ formObj.formAttr.target +'"><div class="box-body">';
@ -41,10 +42,13 @@
case 'radio':
formHtml += buildRadio(value);
break;
case 'hidden':
formHtml += buildHidden(value);
break;
}
});
formHtml += '</div><div class="box-footer">';
formHtml += '<button type="submit" target-form="'+ formObj.formAttr.formId +'" class="btn btn-primary ajax-post">确认提交</button>';
formHtml += '<button type="submit" target-form="'+ formObj.formAttr.formId +'" class="btn btn-primary '+ method +'">确认提交</button>';
formHtml += ' <a class="btn btn-default refresh" url="'+ formObj.formAttr.backUrl +'" >放弃返回</a></div></form></div></div>';
return formHtml;
}
@ -96,6 +100,15 @@
formHtml += '</div></div>';
return formHtml;
}
/**
* 创建隐藏表单
* @param hiddenObj
* @returns {string}
*/
function buildHidden( hiddenObj ) {
return '<input type="hidden" class="form-control" value="'+ hiddenObj.attr.value +'" name="'+ hiddenObj.attr.name +'">';
}
function buildTextarea( textareaObj ) {