<?php
/**
 * 元数据
 */
$elename = substr(basename(__FILE__),0,-4);
return [
    'pwcode'=>'B800',
    //元数据名称
    'elename'=>$elename,
    //元数据标题
	'cn_name' => "手工通用", 
	'en_name' => lg('手工通用'),
	//
	'table' => "pro_exchange_model_numidx", 
	'key' => "pemn_id", //主键字段
	'order' => "pemn_p_id1,pemn_p_id2", //默认排序
	'caption' => 'pemn_p_id1', //主要显示字段
    'url'=>[
        'css'=> false, //\mvc::$cfg['path']['site'].'/static/css/element/'.$elename.'.css',
        'js'=> \mvc::$cfg['path']['site'].'/static/js/element/'.$elename.'.js',
        'list'=> \mvc::$cfg['path']['site'].'/element/list?elename='.$elename,
        'editCell'=> (\p::has('B800','edit')) ? \mvc::$cfg['path']['site'].'/element/editCell?elename='.$elename: false,
        'detail'=> \mvc::$cfg['path']['site'].'/element/detail?elename='.$elename,
        //'addview'=> \mvc::$cfg['path']['site'].'/element/detail?elename='.$elename,
        'edit'=>  (\p::has('B800','edit')) ? \mvc::$cfg['path']['site'].'/element/edit?elename='.$elename: false,
        'delete'=> (\p::has('B800','delete')) ? \mvc::$cfg['path']['site'].'/element/delete?elename='.$elename: false,
        'deleteRows'=> (\p::has('B800','delete')) ? \mvc::$cfg['path']['site'].'/element/deleteRows?elename='.$elename: false,
        'checkUnique'=> \mvc::$cfg['path']['site'].'/element/checkUnique?elename='.$elename,
        'import'=> '',
        'export'=> true,
    ],
    'viewIsEditCell'=>false, //详情页是否允许字段单个编辑
    'add'=>[
        'function'=> 'openAdd', //按钮调用的 js 函数, openAdd, openAddFull, openAddPage
    ],
    'openDivArea'=> ['600px', '800px'],
    'listcfg' => [
        'editor'=> true,
        'multiselect'=> true,
    ],
    'listButtons' => [],
	'fields'=>[
		'pe_id'=>[
			'field'=>'pemn_id',
			'cn_name'=>'ID', //字段描述
			'en_name'=>lg('ID'),
			'type'=>'int',
			'key'=>true, //是否为主键
			'unique'=>true, //是否唯一
			'scale'=>0, //小数位数
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 40,
                'hidden'=>true, //是否在列表中默认隐藏
    			'search'=>false, //是否参入查询
                //'searchField'=>'snt_number', //使用某个字段来查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text',  //编辑类型,text,checkbox
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'edittype'=>'hidden', //编辑类型 none,hidden,text,select,textarea,checkbox,checkboxgroup
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>10, //最大长度(含有小数长度)
				'minlength'=>0, //最小长度
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断 如邮箱 /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/
			]
		],
		'pemn_p_id1_cate'=>[
			'field'=>'pemn_p_id1_cate',
			'cn_name'=>'型号1小类', //字段描述
			'en_name'=>lg('型号1小类'),
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'pemn_p_id1',
                'caption'=>function($row,$db){
                    $cate = $row['p_cate'];
                    if($cate){
                        $cRow = $db->get('pro_cate',['parent_id','cn_name','en_name'],['id'=>$cate]);
                        $cpRow = $db->get('pro_cate',['parent_id','cn_name','en_name'],['id'=>$cRow['parent_id']]);
                        return $cpRow[cateName()].' · '.$cRow[cateName()];
                    }
                    return '';
                }, 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($objList['cate'])){
                            $objList['cate'] = makeOne(\model\pro\cate::class);
                        }
                        $op = null;
                        $field = 'pemn_p_id1';
                        if($rows = $objList['cate']->likeAndChilds($data,true)){
                            $data = $rows;
                        }else{
                            $data = 0;
                        }
                        $join['[>]pro(p)'] = ['e.pemn_p_id1'=>'p_id'];
                        $joinWhere['p.p_cate'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro(p)'])){
                            $join['[>]pro(p)'] = ['e.pemn_p_id1'=>'p_id'];
                        }
                        return 'p.p_cate';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'scale'=>0, //小数位数
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 200,
                'hidden'=>false, //是否在列表中默认隐藏
                'hidedlg'=>true, //在查询条件中隐藏
    			'search'=>true, //是否参入查询
                //'searchField'=>'snt_number', //使用某个字段来查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text',  //编辑类型,text,checkbox
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'edittype'=>'hidden', //编辑类型 none,hidden,text,select,textarea,checkbox,checkboxgroup
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>10, //最大长度(含有小数长度)
				'minlength'=>0, //最小长度
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断 如邮箱 /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/
			]
		],
		'pemn_p_id1'=>[
			'field'=>'pemn_p_id1',
			'cn_name'=>'型号1', //字段描述
			'en_name'=>lg('型号1'),
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'pemn_p_id1',
                'captionField'=>'p_outnum',
                'caption'=>function($row,$db){
                    return '<a href="javascript:qg.page.open(\''.$row['p_outnum'].'\',\''.HOST.'/pro/detail?tab=base&p_id='.$row['p_id'].'\')">'.$row['p_outnum'].'</a>';
                }, 
            ],
			'formartSearchBegin'=> function(&$field,&$op,&$data){
				$data = explode(',',$data);
			},
            'list'=>[
                'width'=> 120,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
    			'searchoptions'=> "getSearchoptions_numbers('pemn_p_id1')",
            ],
			'isview'=>false, //是否在详情视图中显示
            'view'=>[
    			'editable'=>false, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'digits',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'pemn_p_id2'=>[
			'field'=>'pemn_p_id2',
			'cn_name'=>'型号2', //字段描述
			'en_name'=>lg('型号2'),
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'pemn_p_id2',
                'captionField'=>'p_outnum',
                'caption'=>function($row,$db){
                    return '<a href="javascript:qg.page.open(\''.$row['p_outnum'].'\',\''.HOST.'/pro/detail?tab=base&p_id='.$row['p_id'].'\')">'.$row['p_outnum'].'</a>';
                }, 
            ],
			'formartSearchBegin'=> function(&$field,&$op,&$data){
				$data = explode(',',$data);
			},
            'list'=>[
                'width'=> 120,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
    			'searchoptions'=> "getSearchoptions_numbers('pemn_p_id2')",
            ],
			'isview'=>false, //是否在详情视图中显示
            'view'=>[
    			'editable'=>false, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'digits',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'pemn_p_id2_cate'=>[
			'field'=>'pemn_p_id2_cate',
			'cn_name'=>'型号2小类', //字段描述
			'en_name'=>lg('型号2小类'),
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'pemn_p_id2',
                'caption'=>function($row,$db){
                    $cate = $row['p_cate'];
                    if($cate){
                        $cRow = $db->get('pro_cate',['parent_id','cn_name','en_name'],['id'=>$cate]);
                        $cpRow = $db->get('pro_cate',['parent_id','cn_name','en_name'],['id'=>$cRow['parent_id']]);
                        return $cpRow[cateName()].' · '.$cRow[cateName()];
                    }
                    return '';
                }, 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($objList['cate'])){
                            $objList['cate'] = makeOne(\model\pro\cate::class);
                        }
                        $op = null;
                        $field = 'pemn_p_id2';
                        if($rows = $objList['cate']->likeAndChilds($data,true)){
                            $data = $rows;
                        }else{
                            $data = 0;
                        }
                        $join['[>]pro(p)'] = ['e.pemn_p_id2'=>'p_id'];
                        $joinWhere['p.p_cate'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro(p)'])){
                            $join['[>]pro(p)'] = ['e.pemn_p_id2'=>'p_id'];
                        }
                        return 'p.p_cate';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'scale'=>0, //小数位数
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 200,
                'hidden'=>false, //是否在列表中默认隐藏
                'hidedlg'=>true, //在查询条件中隐藏
    			'search'=>true, //是否参入查询
                //'searchField'=>'snt_number', //使用某个字段来查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text',  //编辑类型,text,checkbox
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'edittype'=>'hidden', //编辑类型 none,hidden,text,select,textarea,checkbox,checkboxgroup
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>10, //最大长度(含有小数长度)
				'minlength'=>0, //最小长度
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断 如邮箱 /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/
			]
		],
		'pemn_remark'=>[
			'field'=>'pemn_remark',
			'cn_name'=>'备注', //字段描述
			'en_name'=>lg('备注'),
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 100,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>false, //是否编辑
    			'edittype'=>'text',  //编辑类型 none,hidden,custom,text,select,textarea,checkboxgroup
                'style'=>'max-width:80px',
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>100, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		//通用方向
		'field_select'=>[
			'field'=>'pemn_frometo',
			'cn_name'=>'通用方向', //字段描述
			'en_name'=>lg('通用方向'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'select', //编辑类型
                'itemsUrl'=> '', 
                'items'=> '"":"","1>2":"1>2","2>1":"2>1"', 
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'select', //编辑类型
                'itemsUrl'=> '', 
                'items'=> '"":"","1>2":"1>2","2>1":"2>1"',  //使用双引号标识字符
                'style'=>'max-width:280px',
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>100, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		
	],
];