<?php
/**
 * 元数据
 */
$elename = substr(basename(__FILE__),0,-4);
$pwcode = 'B300';
$req = \mvc::$req;
if($req['pwcode']){
	$pwcode = $req['pwcode'];
}
$brands = \p::areas($pwcode);
$where = [];
if(!\p::isAdmin() && $brands){
	$where['AND #rule_brand'] = ['pb_id'=>explode(',',$brands)];
}
if($req['exclude']){
	$where['AND #rule_brand2'] = ['pb_id[!]'=>explode(',',$req['exclude'])];
}
$arr = [
	'pwcode'=>'B300',
    //元数据名称
    'elename'=>$elename,
    //元数据标题
	'cn_name' => "产品品牌", 
	'en_name' => lg('产品品牌'), 
	//
	'table' => "pro_brand", 
	'key' => "pb_id", //主键字段
	'order' => "pb_id", //默认排序
	'caption' => "pb_cn_name", //主要显示字段
    'url'=>[
		'js'=>          HOST.'/static/js/element/'.$elename.'.js',
        'list'=> \mvc::$cfg['path']['site'].'/element/list?elename='.$elename.'&rules=pb_id[!]:1',
        'editCell'=> \mvc::$cfg['path']['site'].'/element/editCell?elename='.$elename,
        'detail'=> \mvc::$cfg['path']['site'].'/pbrand/detail?elename='.$elename,
        'addview'=> \mvc::$cfg['path']['site'].'/pbrand/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/deleteRowsByChk?elename='.$elename,
        'checkUnique'=> \mvc::$cfg['path']['site'].'/element/checkUnique?elename='.$elename,
        'import'=> '',
		'export'=>true
    ],
	'where'=>$where,
    'viewIsEditCell'=>false, //详情页是否允许字段单个编辑
    'add'=>[
        'function'=> 'openAdd', //按钮调用的 js 函数, openAdd, openAddFull, openAddPage
    ],
    'openDivArea'=> ['600px', '450px'],
    'listcfg' => [
		'editor'=> true, //是否允许列表编辑
        'multiselect'=> true,
    ],
    'listButtons' => [
        [
            'cn_name'=>'详情',
            'en_name'=>lg('Details'),
            'title'=>[
                'cn_name'=>'详情',
                'en_name'=>lg('Details'),
            ],
            'class'=>'fa fa-list-alt',
            'width'=> 50,
            'colmenu'=> true,
            'function'=>"openDetail", //按钮调用的 js 函数, openDetail, openDetailFull, openDetailPage
        ],
    ],
	'fields'=>[
		'pb_id'=>[
			'field'=>'pb_id',
			'cn_name'=>'ID', //字段描述
			'en_name'=>lg('ID'),
			'type'=>'int',
			'key'=>true, //是否为主键
			'unique'=>true, //是否唯一
			'scale'=>0, //小数位数
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 40,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>false, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'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})$/
			]
		],
	],
];

$othFields = [
	'pb_company'=>[
		'field'=>'pb_company',
		'cn_name'=>'所属公司', //字段描述
		'en_name'=>lg('所属公司'),
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'unique'=>false, //是否唯一
		'islist'=>true, //是否在列表中显示
		'linkOne'=>[ //关联表
			'table'=>'company',
			'field'=>'com_id',
			'caption'=>'com_cn_name',
		],
		'list'=>[
			'width'=> 200,
			'hidden'=>false, //是否在列表中默认隐藏
			'search'=>true, //是否参入查询
			'editable'=>true, //是否编辑
			'order'=>true, //是否参入排序
			'edittype'=>'select', //编辑类型
			'itemsUrl'=> HOST.'/element/getAllKeyValues?elename=company&hasFirst=1&firstkey=',
			'valuetype'=>'key',
		],
		'isview'=>true, //是否在详情视图中显示
		'view'=>[
			'editable'=>true, //是否编辑
			'edittype'=>'select', //编辑类型 none,hidden,text,select,textarea
			'itemsUrl'=>  HOST.'/element/getAllKeyValues?elename=company',
		],
		'editor'=> [
			'required'=> false, //是否为必须项
			'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
			'maxlength'=>100, //长度
			'minlength'=>1,
			'scale'=>0, //小数位数
			'preg'=>'', //正则表达式判断
		]
	],
	'pb_code_rule'=>[
		'field'=>'pb_code_rule',
		'cn_name'=>'品牌标识', //字段描述
		'en_name'=>lg('品牌标识'), 
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'unique'=>true, //是否唯一
		'islist'=>true, //是否在列表中显示
		'list'=>[
			'width'=> 60,
			'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'=>'', //正则表达式判断
		]
	],
	'pb_from_id'=>[
		'field'=>'pb_from_id',
		'cn_name'=>'源ID', //字段描述
		'en_name'=>lg('源ID'), 
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'unique'=>false, //是否唯一
		'islist'=>true, //是否在列表中显示
		'list'=>[
			'width'=> 60,
			'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'=>'', //正则表达式判断
		]
	],
	'pb_rules'=>[
		'field'=>'pb_rules',
		'cn_name'=>'编码规则', //字段描述
		'en_name'=>lg('编码规则'), 
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'islist'=>true, //是否在列表中显示
		'formartCaption'=> function(&$rowCaptions,$filed,$value,&$row,$db){
			$arr = ['B'=>'商品品牌', 'M'=>'汽车品牌', 'C'=>'小类','S'=>'流水号'];
			$valArr = explode('@',$value);
			$temp = [];
			foreach ($valArr as $val) {
				$temp[] = $arr[$val];
			}
			$rowCaptions[$filed] = implode(',',$temp);
			return false;
		},
		'list'=>[
			'width'=> 180,
			'hidden'=>false, //是否在列表中默认隐藏
			'search'=>false, //是否参入查询
			'editable'=>false, //是否编辑
			'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'=>'', //正则表达式判断
		]
	],
	'pb_prourl'=>[
		'field'=>'pb_prourl',
		'cn_name'=>'商品二维码链接', //字段描述
		'en_name'=>lg('商品二维码链接'), 
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'unique'=>true, //是否唯一
		'islist'=>true, //是否在列表中显示
		'list'=>[
			'width'=> 200,
			'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'=>300, //长度
			'minlength'=>0,
			'scale'=>0, //小数位数
			'preg'=>'', //正则表达式判断
		]
	],
	'pb_opuser'=>[
		'field'=>'opuser',
		'cn_name'=>'操作人', //字段描述
		'en_name'=>lg('Operator'), 
		'islist'=>false, //是否在列表中显示
		'isview'=>false, //是否在详情视图中显示
		'auto'=>'opuser'
	],
	'pb_create_time'=>[
		'field'=>'create_time',
		'cn_name'=>'创建时间', //字段描述
		'en_name'=>lg('Create Time'), 
		'islist'=>false, //是否在列表中显示
		'isview'=>false, //是否在详情视图中显示
		'auto'=>'create_time'
	],
	'pb_update_time'=>[
		'field'=>'update_time',
		'cn_name'=>'更新时间', //字段描述
		'en_name'=>lg('Update Time'), 
		'islist'=>false, //是否在列表中显示
		'isview'=>false, //是否在详情视图中显示
		'auto'=>'update_time'
	],
];
foreach(\mvc::$cfg['LANGS'] as $lk=>$lv){
	$arr['fields']['pb_'.$lv['field']]=[
		'field'=>'pb_'.$lv['field'],
		'cn_name'=>$lv['name'].'名称', //字段描述
		'en_name'=>lg($lv['name'].'名称'), 
		'type'=>'varchar',
		'key'=>false, //是否为主键
		'unique'=>true, //是否唯一
		'islist'=>true, //是否在列表中显示
		'list'=>[
			'width'=> 150,
			'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'=>'', //正则表达式判断
		]
	];
}
$arr['fields'] = array_merge($arr['fields'],$othFields);
return $arr;