64 lines
1.7 KiB
PHP
64 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace app\model;
|
|
|
|
use Exception;
|
|
use think\Collection;
|
|
use think\db\exception\DataNotFoundException;
|
|
use think\db\exception\DbException;
|
|
use think\db\exception\ModelNotFoundException;
|
|
use think\exception\ValidateException;
|
|
|
|
class Tag extends Base
|
|
{
|
|
/**
|
|
* 根据父级ID 获取病种列表
|
|
*
|
|
* @param int $pid
|
|
* @param string[] $fields
|
|
* @return Disease[]|array|Collection
|
|
* @throws DataNotFoundException
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
*/
|
|
public static function getListByPid(int $pid = 0, array $fields = ['pid', 'name', 'id'])
|
|
{
|
|
return self::where('pid', $pid)->order('id', 'desc')->field($fields)->select();
|
|
}
|
|
|
|
/**
|
|
* 获取全部列表
|
|
*
|
|
* @return Disease[]|array|Collection
|
|
* @throws DataNotFoundException
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
*/
|
|
public static function getList()
|
|
{
|
|
return self::field('id,pid,name')->order('id', 'desc')->order('id')->select();
|
|
}
|
|
|
|
/**
|
|
* 病种 xmSelect json数据
|
|
*
|
|
* @param int $pid
|
|
* @param array $selected
|
|
* @param array $disabled
|
|
* @return array|Disease[]|Collection
|
|
* @throws DataNotFoundException
|
|
* @throws DbException
|
|
* @throws ModelNotFoundException
|
|
*/
|
|
public static function diseaseXmJson(int $pid = 0, array $selected = [], array $disabled = [])
|
|
{
|
|
$list = self::getListByPid($pid);
|
|
foreach ($list as $k => $m) {
|
|
$list[$k]['selected'] = in_array($m['id'], $selected);
|
|
$list[$k]['disabled'] = in_array($m['id'], $disabled);
|
|
}
|
|
|
|
return $list;
|
|
}
|
|
}
|