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;
 | 
						|
    }
 | 
						|
}
 |