corethink功能模块探索开发(十四)后台编辑按钮

效果图:

corethink功能模块探索开发(十四)后台编辑按钮_第1张图片

corethink功能模块探索开发(十四)后台编辑按钮_第2张图片

1.添加下图55&58行代码

corethink功能模块探索开发(十四)后台编辑按钮_第3张图片

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();
        }
    }

}


你可能感兴趣的:(corethink,opencmf)