123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238 |
- <?php
- /**
- * @copyright (C)2016-2099 Hnaoyun Inc.
- * @author XingMeng
- * @email hnxsh@foxmail.com
- * @date 2018年5月28日
- * 自定义表单模型类
- */
- namespace app\admin\model\content;
-
- use core\basic\Model;
-
- class FormModel extends Model
- {
-
- // 获取自定义表单列表
- public function getList()
- {
- return parent::table('ay_form')->page()->select();
- }
-
- // 查找自定义表单
- public function findForm($field, $keyword)
- {
- return parent::table('ay_form')->like($field, $keyword)
- ->page()
- ->select();
- }
-
- // 获取最后一个code
- public function getLastCode()
- {
- return parent::table('ay_form')->order('id DESC')->value('fcode');
- }
-
- // 获取自定义表单详情
- public function getForm($id)
- {
- return parent::table('ay_form')->where("id=$id")->find();
- }
-
- // 获取自定义表单详情
- public function getFormByCode($fcode)
- {
- return parent::table('ay_form')->where("fcode='$fcode'")->find();
- }
-
- // 获取自定义表单表
- public function getFormTable($id)
- {
- return parent::table('ay_form')->where("id=$id")->value('table_name');
- }
-
- // 获取自定义表单表
- public function getFormCode($id)
- {
- return parent::table('ay_form')->where("id=$id")->value('fcode');
- }
-
- // 获取自定义表单表
- public function getFormTableByCode($fcode)
- {
- return parent::table('ay_form')->where("fcode='$fcode'")->value('table_name');
- }
-
- // 添加自定义表单
- public function addForm(array $data)
- {
- return parent::table('ay_form')->autoTime()->insert($data);
- }
-
- // 删除自定义表单
- public function delForm($id)
- {
- $form = parent::table('ay_form')->field('fcode,form_name')
- ->where("id=$id")
- ->find();
-
- // 删除可能存在的菜单
- if (! ! $rs = parent::table('ay_menu')->like('url', '/Form/index/fcode/' . $form->fcode . '/action/showdata')->find()) {
- parent::table('ay_menu')->where("mcode='" . $rs->mcode . "'")->delete();
- $menu = session('menu_tree');
- foreach ($menu as $key => $value) {
- if (! ! $delkey = result_value_search($rs->mcode, $menu[$key]->son, 'mcode')) {
- unset($menu[$key]->son[$delkey]);
- }
- }
- }
- $result = parent::table('ay_form')->where("id=$id")->delete(); // 删除表单
- return $result;
- }
-
- // 修改自定义表单
- public function modForm($id, $data)
- {
- return parent::table('ay_form')->where("id=$id")
- ->autoTime()
- ->update($data);
- }
-
- // 获取表单字段
- public function getFormFieldByCode($fcode)
- {
- return parent::table('ay_form_field')->where("fcode='$fcode'")
- ->order('sorting ASC,id ASC')
- ->select();
- }
-
- // 获取字段详情
- public function getFormField($id)
- {
- return parent::table('ay_form_field')->where("id=$id")->find();
- }
-
- // 检查表单字段
- public function checkFormField($fcode, $name)
- {
- return parent::table('ay_form_field')->where("fcode='$fcode' AND name='$name'")->find();
- }
-
- // 获取表单字段名称
- public function getFormFieldName($id)
- {
- return parent::table('ay_form_field')->where("id=$id")->value('name');
- }
-
- // 新增表单字段
- public function addFormField(array $data)
- {
- return parent::table('ay_form_field')->autoTime()->insert($data);
- }
-
- // 删除表单字段
- public function delFormField($id)
- {
- return parent::table('ay_form_field')->where("id=$id")->delete();
- }
-
- // 删除表单字段
- public function delFormFieldByCode($fcode)
- {
- return parent::table('ay_form_field')->where("fcode='$fcode'")->delete();
- }
-
- // 修改表单字段
- public function modFormField($id, $data)
- {
- return parent::table('ay_form_field')->where("id=$id")
- ->autoTime()
- ->update($data);
- }
-
- // 判断字段是否存在
- public function isExistField($table, $field)
- {
- $fields = parent::tableFields($table);
- if (in_array($field, $fields)) {
- return true;
- } else {
- return false;
- }
- }
-
- // 获取表单数据
- public function getFormData($table, $page = true)
- {
- return parent::table($table)->page($page)
- ->order('id DESC')
- ->select();
- }
-
- // 删除自定义表单数据
- public function delFormData($table, $id)
- {
- return parent::table($table)->where("id=$id")->delete();
- }
-
- // 清空自定义表单数据
- public function clearFormData($table)
- {
- return parent::table($table)->delete();
- }
-
- // 增加表单数据查看到菜单
- public function addFormMenu($id)
- {
- $form = parent::table('ay_form')->field('fcode,form_name')
- ->where("id=$id")
- ->find();
-
- $menus = session('menu_tree');
-
- // 判断是否已经在菜单中
- if (! ! $menu = parent::table('ay_menu')->like('url', '/Form/index/fcode/' . $form->fcode . '/action/showdata')->find()) {
- if ($form->form_name != $menu->name) {
- // 更新缓存菜单
- parent::table('ay_menu')->where('mcode="' . $menu->mcode . '"')->update('name="' . $form->form_name . '"');
- foreach ($menus as $key => $value) {
- if ($value->mcode == 'M157') {
- if (($skey = result_value_search($menu->mcode, $menus[$key]->son, 'mcode')) !== false) {
- $menus[$key]->son[$skey]->name = $form->form_name;
- }
- break;
- }
- }
- }
- return false;
- }
-
- // 构建数据
- $lastmcode = parent::table('ay_menu')->order('mcode DESC')->value('mcode');
- $mcode = get_auto_code($lastmcode);
- $data = array(
- 'mcode' => $mcode,
- 'pcode' => 'M157',
- 'name' => $form->form_name,
- 'url' => '/Form/index/fcode/' . $form->fcode . '/action/showdata',
- 'sorting' => 599,
- 'status' => 1,
- 'shortcut' => 0,
- 'ico' => 'fa-plus-square-o',
- 'create_user' => session('username'),
- 'update_user' => session('username')
- );
-
- // 加入菜单
- foreach ($menus as $key => $value) {
- if ($value->mcode == 'M157') {
- // 未在缓存菜单中才执行添加
- if (result_value_search($mcode, $menus[$key]->son, 'mcode') === false) {
- $menus[$key]->son[] = array_to_object($data);
- return parent::table('ay_menu')->autoTime()->insert($data); // 插入到数据库
- }
- break;
- }
- }
- }
- }
|