效果图:

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

2.实现edit方法

位于Equip/Admin/DeviceRepaireAdmin.class.php中

  1. public function edit($id){
  2. if(IS_POST){
  3. //用于保存编辑后的数据
  4. $Equip_Repaire_object = D('equip_report');
  5. $data = $Equip_Repaire_object->create();
  6. if ($data) {
  7. if ($Equip_Repaire_object->save($data)) {
  8. $this->success('更新成功', U('index'));
  9. } else {
  10. $this->error('更新失败');
  11. }
  12. } else {
  13. $this->error($Equip_Repaire_object->getError());
  14. }
  15. }else{
  16.  
  17. //用于填充并显示点击编辑按钮后生成的列表
  18.  
  19. $info = D('equip_report')->find($id);
  20. // 使用FormBuilder快速建立表单页面。
  21. $builder = new \Common\Builder\FormBuilder();
  22. $builder->setMetaTitle('编辑导航') // 设置页面标题
  23. ->setPostUrl(U('edit')) // 设置表单提交地址
  24. ->addFormItem('id', 'hidden', 'ID', 'ID')
  25. //设置文本类型的表单项目并用对应的数据库字段填充
  26. ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号')
  27. ->addFormItem('report_describe', 'text', '描述', '情况描述')
  28. ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip')
  29. ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号')
  30. ->addFormItem('report_bzu_account', 'text', 'BZU账户')
  31. //设置单选按钮、还可以参考实现select下拉选择框
  32. ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理'))
  33. ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人')
  34. //--TODO-- 更改处理时间
  35. //设置数据关联
  36. ->setFormData($info)
  37. ->display();
  38. }
  39. }

  这样就OK了。
贴出Equip/Admin/DeviceRepaireAdmin.class.php

  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: pangPython
  5. * Date: 16-3-24
  6. * Time: 下午9:34
  7. */
  8. namespace Equip\Admin;
  9.  
  10. use Admin\Controller\AdminController;
  11. use Common\Util\Think\Page;
  12.  
  13. class DeviceRepireAdmin extends AdminController{
  14. public function index(){
  15. // 获取所有链接
  16. $p = !empty($_GET["p"]) ? $_GET["p"] : 1;
  17. $device_repire_object = D('equip_report');//实例化数据对象
  18. $data_list = $device_repire_object
  19. ->page($p, C('ADMIN_PAGE_ROWS'))
  20. ->select();//分页查询数据列表
  21. $page = new Page(
  22. $device_repire_object->count(),
  23. C('ADMIN_PAGE_ROWS')
  24. );
  25.  
  26. // 转换成树状列表
  27. $tree = new \Common\Util\Tree();
  28. $data_list = $tree->toFormatTree($data_list);
  29.  
  30. // 使用Builder快速建立列表页面。
  31. $builder = new \Common\Builder\ListBuilder();
  32. $builder->setMetaTitle('设备报修列表') // 设置页面标题
  33.  
  34. /*
  35. * pangPython
  36. * 2016-04-05
  37. *
  38. * */
  39.  
  40. //->addTopButton('self',$attr) // 添加自定义按钮
  41.  
  42. ->addTopButton('delete',array('model' => 'equip_report')) // 添加删除按钮
  43. ->setSearch('请输入ID/链接标题', U('index'))
  44. ->addTableColumn('id', 'ID')
  45. ->addTableColumn('report_dormitory_num', '宿舍号')
  46. ->addTableColumn('report_describe', '描述')
  47. ->addTableColumn('report_ip', 'ip')
  48. ->addTableColumn('report_time', '报修时间', 'time')
  49. ->addTableColumn('report_tel', '手机号')
  50. ->addTableColumn('report_bzu_account', 'BZU账户', 'status')
  51. ->addTableColumn('report_deal_or_not', '处理否')
  52. ->addTableColumn('report_repaire_person', '处理人')
  53. ->addTableColumn('report_repaire_time', '处理时间','time')
  54. ->addTableColumn('right_button', '操作', 'btn')
  55. ->setTableDataList($data_list) // 数据列表
  56. ->setTableDataPage($page->show()) // 数据列表分页
  57. ->addRightButton('edit') // 添加编辑按钮
  58. // ->addRightButton('forbid') // 添加禁用/启用按钮
  59. // ->addRightButton('delete') // 添加删除按钮
  60. ->display();
  61. }
  62.  
  63. public function edit($id){
  64. if(IS_POST){
  65. //用于保存编辑后的数据
  66. $Equip_Repaire_object = D('equip_report');
  67. $data = $Equip_Repaire_object->create();
  68. if ($data) {
  69. if ($Equip_Repaire_object->save($data)) {
  70. $this->success('更新成功', U('index'));
  71. } else {
  72. $this->error('更新失败');
  73. }
  74. } else {
  75. $this->error($Equip_Repaire_object->getError());
  76. }
  77. }else{
  78.  
  79. //用于填充并显示点击编辑按钮后生成的列表
  80.  
  81. $info = D('equip_report')->find($id);
  82. // 使用FormBuilder快速建立表单页面。
  83. $builder = new \Common\Builder\FormBuilder();
  84. $builder->setMetaTitle('编辑导航') // 设置页面标题
  85. ->setPostUrl(U('edit')) // 设置表单提交地址
  86. ->addFormItem('id', 'hidden', 'ID', 'ID')
  87. //设置文本类型的表单项目并用对应的数据库字段填充
  88. ->addFormItem('report_dormitory_num', 'text', '宿舍号', '报修的宿舍号')
  89. ->addFormItem('report_describe', 'text', '描述', '情况描述')
  90. ->addFormItem('report_ip', 'text', 'IP地址', '报修人的ip')
  91. ->addFormItem('report_tel', 'text', '手机号', '报修人的手机号')
  92. ->addFormItem('report_bzu_account', 'text', 'BZU账户')
  93. //设置单选按钮、还可以参考实现select下拉选择框
  94. ->addFormItem('report_deal_or_not', 'radio', '处理状态', '用于显示的顺序',array('0' => '未处理', '1' => '已处理'))
  95. ->addFormItem('report_repaire_person', 'text', '处理人', '本次报修的处理人')
  96. //--TODO-- 更改处理时间
  97. //设置数据关联
  98. ->setFormData($info)
  99. ->display();
  100. }
  101. }
  102.  
  103. }

  

corethink功能模块探索开发(十四)后台编辑按钮的更多相关文章

  1. corethink功能模块探索开发(四)让这个模块跑起来

    让这个模块跑起来,太费劲了,多半原因是自己太粗心,opencmf.php中“uid”写成了“pid”,de了好几天的bug也没有搞出来,又加上最近发生了些事(brokenhearted)... 上报错 ...

  2. corethink功能模块探索开发(十六)后台搜索功能

    效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...

  3. corethink功能模块探索开发(十五)后台新增按钮

    效果图: 1.首先添加数据列表上的新增按钮,让按钮显示出来 ->addTopButton('addnew') 2.让这个按钮行动起来,实现add方法 public function add(){ ...

  4. corethink功能模块探索开发(十八)前台页面插入jit前端数据可视化库

    效果图: 1.静态文件放入View目录中 在View目录下新建Public目录,在Public目录下新建js.css目录. 把jit的资源放入对应目录中 2.在html中引入jit Applicati ...

  5. corethink功能模块探索开发(一)根据已有模块推测目录结构

    corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个“一键生成demo”就能给你最基础的目录结构,从而可以在此基础上 ...

  6. corethink功能模块探索开发(三)让这个模块可见

    感觉corethink把thinkphp的思想复用到淋漓尽致. 1.把opencmf.php文件配置好了后台该模块的菜单就能在安装后自动读取(分析好父子关系,否则页面死循环,apache资源占用率10 ...

  7. corethink功能模块探索开发(二)让这个模块可安装

    要想让这个模块可安装,只需要在opcmf.php文件中写一些配置数据就行 随便写点 Equip/opencmf.php <?php // 模块信息配置 return array( // 模块信息 ...

  8. corethink功能模块探索开发(十七)opencmf.php 配置文件

    图样: opencmf.php存在于每个模块的根目录,是模块配置文件. 能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数 ...

  9. corethink功能模块探索开发(六)让这个模块在前台显示

    效果图:(注意右上角) 实现模块的前台显示只需要在模块目录中的Controller目录建立IndexController.class.php,实现index方法.继承HomeController.就能 ...

随机推荐

  1. c# 常用操作保留

    RanDom如何提高生成随机数的随机性 一个在线考试系统的项目,需要从题库中随机抽取试题,但是如果直接 Random ran=new Randon(),ran.Next(nummin,nummax); ...

  2. go context 讲解

    控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context,今天我就谈谈Context. 什么是WaitGroup WaitGroup以前我们在并发的时候介绍过,它是一种控制并发的 ...

  3. PHP——上传头像(1)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. yii2 RESTful API 405 Method Not Allowed

    关于 Yii2 中 RESTful API 的开发,可以参考另一篇随笔 http://www.cnblogs.com/ganiks/p/yii2-restful-api-dev.html 测试的过程中 ...

  5. apply 判定变量类型

    js 数据类型 6大类:object ,undefined,boolean,string,number,null,但是有时候我们经常要更准确的判断,比如,是数组,还是单例... 那么就用apply吧, ...

  6. 大数据处理-Trie树

    大数据处理--Trie树 1.1.什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被 ...

  7. linux引导模式两种

    https://www.ibm.com/developerworks/cn/linux/l-bootload.html

  8. pom打包参数选择

    pom.xml配置 <profiles> <profile> <id>dev</id> <properties> <token> ...

  9. linux常用指令--防火墙

    centos7 iptables :  如果你想使用iptables静态路由规则,那么就禁用centos7默认的firewalld,并安装ipteables-services, 启用iptables和 ...

  10. 拉格朗日乘子法(Lagrange multiplier)和KKT条件

    拉格朗日乘子法: KKT条件: