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();
- }
- }
- }
corethink功能模块探索开发(十四)后台编辑按钮的更多相关文章
- corethink功能模块探索开发(四)让这个模块跑起来
让这个模块跑起来,太费劲了,多半原因是自己太粗心,opencmf.php中“uid”写成了“pid”,de了好几天的bug也没有搞出来,又加上最近发生了些事(brokenhearted)... 上报错 ...
- corethink功能模块探索开发(十六)后台搜索功能
效果图: 代码很简单,就是添加搜索框,搜索字段,在初始化页面查询的时候添加查询条件. 1.添加搜索框 添加到删除按钮后边. ->setSearch('请输入设备名称/MAC/宿舍号', U('i ...
- corethink功能模块探索开发(十五)后台新增按钮
效果图: 1.首先添加数据列表上的新增按钮,让按钮显示出来 ->addTopButton('addnew') 2.让这个按钮行动起来,实现add方法 public function add(){ ...
- corethink功能模块探索开发(十八)前台页面插入jit前端数据可视化库
效果图: 1.静态文件放入View目录中 在View目录下新建Public目录,在Public目录下新建js.css目录. 把jit的资源放入对应目录中 2.在html中引入jit Applicati ...
- corethink功能模块探索开发(一)根据已有模块推测目录结构
corethink是opencmf的一个开源版本,如果自己要进行二次开发,开发模块等,需要在官方开一个中级会员(50大洋吧),官网的一个“一键生成demo”就能给你最基础的目录结构,从而可以在此基础上 ...
- corethink功能模块探索开发(三)让这个模块可见
感觉corethink把thinkphp的思想复用到淋漓尽致. 1.把opencmf.php文件配置好了后台该模块的菜单就能在安装后自动读取(分析好父子关系,否则页面死循环,apache资源占用率10 ...
- corethink功能模块探索开发(二)让这个模块可安装
要想让这个模块可安装,只需要在opcmf.php文件中写一些配置数据就行 随便写点 Equip/opencmf.php <?php // 模块信息配置 return array( // 模块信息 ...
- corethink功能模块探索开发(十七)opencmf.php 配置文件
图样: opencmf.php存在于每个模块的根目录,是模块配置文件. 能进行持久化配置参数保存,一开始我以为是写文件或者做缓存,后来在数据库中发现admin_module表,存储了每个模块的配置参数 ...
- corethink功能模块探索开发(六)让这个模块在前台显示
效果图:(注意右上角) 实现模块的前台显示只需要在模块目录中的Controller目录建立IndexController.class.php,实现index方法.继承HomeController.就能 ...
随机推荐
- c# 常用操作保留
RanDom如何提高生成随机数的随机性 一个在线考试系统的项目,需要从题库中随机抽取试题,但是如果直接 Random ran=new Randon(),ran.Next(nummin,nummax); ...
- go context 讲解
控制并发有两种经典的方式,一种是WaitGroup,另外一种就是Context,今天我就谈谈Context. 什么是WaitGroup WaitGroup以前我们在并发的时候介绍过,它是一种控制并发的 ...
- PHP——上传头像(1)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- yii2 RESTful API 405 Method Not Allowed
关于 Yii2 中 RESTful API 的开发,可以参考另一篇随笔 http://www.cnblogs.com/ganiks/p/yii2-restful-api-dev.html 测试的过程中 ...
- apply 判定变量类型
js 数据类型 6大类:object ,undefined,boolean,string,number,null,但是有时候我们经常要更准确的判断,比如,是数组,还是单例... 那么就用apply吧, ...
- 大数据处理-Trie树
大数据处理--Trie树 1.1.什么是Trie树 Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被 ...
- linux引导模式两种
https://www.ibm.com/developerworks/cn/linux/l-bootload.html
- pom打包参数选择
pom.xml配置 <profiles> <profile> <id>dev</id> <properties> <token> ...
- linux常用指令--防火墙
centos7 iptables : 如果你想使用iptables静态路由规则,那么就禁用centos7默认的firewalld,并安装ipteables-services, 启用iptables和 ...
- 拉格朗日乘子法(Lagrange multiplier)和KKT条件
拉格朗日乘子法: KKT条件: