<?php
/**
 * 元数据
 */
$elename = substr(basename(__FILE__),0,-4);
return [
    //POWER
    'pwcode'=>'B500',
    //元数据名称
    'elename'=>$elename,
    //元数据标题
	'cn_name' => "国标码", 
	'en_name' => lg("国标码"), 
	//
	'table' => "pro_source_link", 
	'key' => "psl_id", //主键字段
	'order' => "psl_id", //默认排序
	'caption' => "psl_code", //主要显示字段
    'url'=>[
		'js'=>          HOST.'/static/js/element/'.$elename.'.js',
        'list'=> \mvc::$cfg['path']['site'].'/element/list?elename='.$elename.(\mvc::$req['p_id']?'&rules=psl_p_id:'.\mvc::$req['p_id']:''),
        'editCell'=> \mvc::$cfg['path']['site'].'/pro/editElementCell?elename='.$elename,
        'detail'=> \mvc::$cfg['path']['site'].'/element/detail?elename='.$elename,
        // 'addview'=> \mvc::$cfg['path']['site'].'/element/detail?elename='.$elename,
        'edit'=> \mvc::$cfg['path']['site'].'/element/edit?elename='.$elename,
        'delete'=> \mvc::$cfg['path']['site'].'/element/delete?elename='.$elename,
        'deleteRows'=> \mvc::$cfg['path']['site'].'/pro/deleteElementRows?elename='.$elename,
        'checkUnique'=> \mvc::$cfg['path']['site'].'/element/checkUnique?elename='.$elename,
        'import'=> '',
    ],
    'viewIsEditCell'=>false, //详情页是否允许字段单个编辑
    'add'=>[
        'function'=> 'openAdd', //按钮调用的 js 函数, openAdd, openAddFull, openAddPage
    ],
    'openDivArea'=> ['600px', '300px'],
    'listcfg' => [
		'editor'=> true,
        'multiselect'=> true,
    ],
    'listButtons' => [
    ],
	'fields'=>[
		'psl_id'=>[
			'field'=>'psl_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, //是否参入查询
    			'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})$/
			]
		],
		'psl_p_id_brand'=>[
			'field'=>'psl_p_id_brand',
			'cn_name'=>'产品品牌', //字段描述
			'en_name'=>lg('产品品牌'), 
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'psl_p_id',
				'captionField'=>'psl_p_id', //用于查询
                'caption'=>function($row,$db){
					$brand = $row['p_pb_id'];
                    if($brand){
                        $cRow = $db->get('pro_brand',['pb_id','pb_'.LG_NAME],['pb_id'=>$brand]);
                        return $cRow['pb_'.LG_NAME];
                    }
                    return '';
                }, 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
						if(!isset($objList['pro'])){
                            $objList['pro'] = makeOne(\model\pro\pro::class);
                        }
                        $op = null;
                        $field = 'psl_p_id';
                        if($rows = $objList['pro']->getProBrandId($data,true)){
                            $data = $rows;
                        }else{
                            $data = 0;
                        }
                        $join['[>]pro(p)'] = ['e.psl_p_id'=>'p_id'];
                        $joinWhere['p.p_pb_id'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro(p)'])){
                            $join['[>]pro(p)'] = ['e.psl_p_id'=>'p_id'];
                        }
                        return 'p.p_pb_id';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>\mvc::$req['p_id']?false:true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ]
		],
        'psl_p_id'=>[
			'field'=>'psl_p_id',
			'cn_name'=>'物料编码', //字段描述
			'en_name'=>lg('物料编码'), 
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'psl_p_id',
				'caption'=>function($row,$db){
                    return '<a href="javascript:qg.page.open(\''.$row['p_innum'].'\',\''.HOST.'/pro/detail?tab=base&p_id='.$row['p_id'].'\')">'.$row['p_innum'].'</a>';
                },  
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
						$field = 'p_innum';
                        $join['[>]pro(p)'] = ['e.psl_p_id'=>'p_id'];
                        // $joinWhere['p.p_innum'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro(p)'])){
                            $join['[>]pro(p)'] = ['e.psl_p_id'=>'p_id'];
                        }
                        return 'p.p_innum';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>\mvc::$req['p_id']?false:true, //是否在列表中显示
            'list'=>[
                'width'=> 150,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'number', //编辑类型
            ],
		],
		'psl_code'=>[
			'field'=>'psl_code',
			'cn_name'=>'国标码', //字段描述
			'en_name'=>lg('国标码'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 120,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> true, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
        
        'psl_from_id'=>[
			'field'=>'psl_from_id',
			'cn_name'=>'来源ID', //字段描述
			'en_name'=>lg('来源ID'), 
			'type'=>'int',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
		],
        'psl_from'=>[
			'field'=>'psl_from',
			'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'=>'text', //编辑类型
            ],
		],
		'psl_opuser'=>[
			'field'=>'psl_opuser',
			'cn_name'=>'操作人', //字段描述
			'en_name'=>lg('Operator'),
			'islist'=>true, //是否在列表中显示
			'isview'=>false, //是否在详情视图中显示
			'linkOne'=>[ //关联表
                'table'=>'adm_user',
                'field'=>'au_id',
                'myfield'=>'psl_opuser',
                'caption'=>'au_name',
				'captionField'=>'au_id'
            ],
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
				'stype'=>'select', //搜索类型
				'searchoptions'=> "{searchOperMenu:false,sopt:['eq'], dataUrl: HOST+'/element/getAllKeyValues?elename=user&hasFirst=1&firstkey=', buildSelect: function (data){return grid.buildSelect(data, 'psl_opuser');}}",
				'formart'=> 'captions', //显示captions中的内容
            ],
		],
		'psl_create_time'=>[
			'field'=>'psl_create_time',
			'cn_name'=>'创建时间', //字段描述
			'en_name'=>lg('Create Time'), 
			'islist'=>true, //是否在列表中显示
			'isview'=>false, //是否在详情视图中显示
            'list'=>[
                'width'=> 150,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
		],
		'psl_update_time'=>[
			'field'=>'psl_update_time',
			'cn_name'=>'更新时间', //字段描述
			'en_name'=>lg('Update Time'), 
			'islist'=>true, //是否在列表中显示
			'isview'=>false, //是否在详情视图中显示
            'list'=>[
                'width'=> 150,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
		],
	],
];