corethink功能模块探索开发(十四)后台编辑按钮
效果图:
1.添加下图55&58行代码
2.实现edit方法
位于Equip/Admin/DeviceRepaireAdmin.class.php中
public function edit($id){ if(IS_POST){ //用于保存编辑后的数据 $Equip_Repaire_object = D('equip_report'); $data = $Equip_Repaire_object->create(); if ($data) { if ($Equip_Repaire_object->save($data)) { $this->success('更新成功', U('index')); } else { $this->error('更新失败'); } } else { $this->error($Equip_Repaire_object->getError()); } }else{ //用于填充并显示点击编辑按钮后生成的列表 $info = D('equip_report')->find($id); // 使用FormBuilder快速建立表单页面。 $builder = new \Common\Builder\FormBuilder(); $builder->setMetaTitle('编辑导航') // 设置页面标题 ->setPostUrl(U('edit')) // 设置表单提交地址 ->addFormItem('id', 'hidden', 'ID', 'ID') //设置文本类型的表单项目并用对应的数据库字段填充 ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号') ->addFormItem('report_describe', 'text', '描述', '情况描述') ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip') ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号') ->addFormItem('report_bzu_account', 'text', 'BZU账户') //设置单选按钮、还可以参考实现select下拉选择框 ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理')) ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人') //--TODO-- 更改处理时间 //设置数据关联 ->setFormData($info) ->display(); } }
这样就OK了。
贴出Equip/Admin/DeviceRepaireAdmin.class.php
<?php /** * Created by PhpStorm. * User: pangPython * Date: 16-3-24 * Time: 下午9:34 */ namespace Equip\Admin; use Admin\Controller\AdminController; use Common\Util\Think\Page; class DeviceRepireAdmin extends AdminController{ public function index(){ // 获取所有链接 $p = !empty($_GET["p"]) ? $_GET["p"] : 1; $device_repire_object = D('equip_report');//实例化数据对象 $data_list = $device_repire_object ->page($p, C('ADMIN_PAGE_ROWS')) ->select();//分页查询数据列表 $page = new Page( $device_repire_object->count(), C('ADMIN_PAGE_ROWS') ); // 转换成树状列表 $tree = new \Common\Util\Tree(); $data_list = $tree->toFormatTree($data_list); // 使用Builder快速建立列表页面。 $builder = new \Common\Builder\ListBuilder(); $builder->setMetaTitle('设备报修列表') // 设置页面标题 /* * pangPython * 2016-04-05 * * */ //->addTopButton('self',$attr) // 添加自定义按钮 ->addTopButton('delete',array('model' => 'equip_report')) // 添加删除按钮 ->setSearch('请输入ID/链接标题', U('index')) ->addTableColumn('id', 'ID') ->addTableColumn('report_dormitory_num', '宿舍号') ->addTableColumn('report_describe', '描述') ->addTableColumn('report_ip', 'ip') ->addTableColumn('report_time', '报修时间', 'time') ->addTableColumn('report_tel', '手机号') ->addTableColumn('report_bzu_account', 'BZU账户', 'status') ->addTableColumn('report_deal_or_not', '处理否') ->addTableColumn('report_repaire_person', '处理人') ->addTableColumn('report_repaire_time', '处理时间','time') ->addTableColumn('right_button', '操作', 'btn') ->setTableDataList($data_list) // 数据列表 ->setTableDataPage($page->show()) // 数据列表分页 ->addRightButton('edit') // 添加编辑按钮 // ->addRightButton('forbid') // 添加禁用/启用按钮 // ->addRightButton('delete') // 添加删除按钮 ->display(); } public function edit($id){ if(IS_POST){ //用于保存编辑后的数据 $Equip_Repaire_object = D('equip_report'); $data = $Equip_Repaire_object->create(); if ($data) { if ($Equip_Repaire_object->save($data)) { $this->success('更新成功', U('index')); } else { $this->error('更新失败'); } } else { $this->error($Equip_Repaire_object->getError()); } }else{ //用于填充并显示点击编辑按钮后生成的列表 $info = D('equip_report')->find($id); // 使用FormBuilder快速建立表单页面。 $builder = new \Common\Builder\FormBuilder(); $builder->setMetaTitle('编辑导航') // 设置页面标题 ->setPostUrl(U('edit')) // 设置表单提交地址 ->addFormItem('id', 'hidden', 'ID', 'ID') //设置文本类型的表单项目并用对应的数据库字段填充 ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号') ->addFormItem('report_describe', 'text', '描述', '情况描述') ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip') ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号') ->addFormItem('report_bzu_account', 'text', 'BZU账户') //设置单选按钮、还可以参考实现select下拉选择框 ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理')) ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人') //--TODO-- 更改处理时间 //设置数据关联 ->setFormData($info) ->display(); } } }