init
This commit is contained in:
238
apps/admin/model/content/FormModel.php
Normal file
238
apps/admin/model/content/FormModel.php
Normal file
@@ -0,0 +1,238 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user