corethink功能模塊探索開發(十四)後臺編輯按鈕

效果圖:php

1.添加下圖55&58行代碼數據庫

2.實現edit方法ui

位於Equip/Admin/DeviceRepaireAdmin.class.php中this

    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 spa

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

}
相關文章
相關標籤/搜索