<?php
/**
 * 元数据
 */
$elename = substr(basename(__FILE__),0,-4);
return [
    //元数据名称
    'elename'=>$elename,
    //元数据标题
	'cn_name' => "商品供应商", 
	'en_name' => lg('商品供应商'), 
	//
	'table' => "pro_supplier", 
	'key' => "psu_id", //主键字段
	'order' => "psu_id", //默认排序
	'caption' => "psu_id", //主要显示字段
    'url'=>[
		'js'=>          HOST.'/static/js/element/'.$elename.'.js',
        'list'=> \mvc::$cfg['path']['site'].'/element/list?elename='.$elename.(\mvc::$req['p_id']?'&rules=psu_spr_id:'.\mvc::$req['spr_id']:''),
        'editCell'=> \mvc::$cfg['path']['site'].'/proSupplier/editCell?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'].'/proSupplier/edit?elename='.$elename,
        'delete'=> \mvc::$cfg['path']['site'].'/element/delete?elename='.$elename,
        'deleteRows'=> \mvc::$cfg['path']['site'].'/proSupplier/deleteRows?elename='.$elename,
        'checkUnique'=> \mvc::$cfg['path']['site'].'/element/checkUnique?elename='.$elename,
        'import'=> false,
		'export'=>true
    ],
    'viewIsEditCell'=>false, //详情页是否允许字段单个编辑
    'add'=>[
		'function'=> 'openAdd', //按钮调用的 js 函数, openAdd, openAddFull, openAddPage	
    ],
    'openDivArea'=> ['600px', '90%'],
    'listcfg' => [
		'editor'=> false, //是否允许列表编辑
        'multiselect'=> true,
    ],
	'rules'=>[ //自定义规则查询
        'numbers'=> function(&$rules,&$field,&$value,&$join,&$joinWhere,&$group){
            if($field=='numbers'){
				$join['[>]pro'] = ['e.psu_p_id'=>'p_id'];
				$rules['OR'] = [
					"p_innum".($rules['numlike']? '[~]': '') => $value,	
					"p_innum_format".($rules['numlike']? '[~]': '') => formatNums(implode(',',$value)),	
					"psu_pb_p_innum".($rules['numlike']? '[~]': '') => $value,	
					"psu_pb_p_innum".($rules['numlike']? '[~]': '') => formatNums(implode(',',$value)),	
				];

    		    unset($rules['numlike']);
    		    unset($rules['numbers']);
    		    unset($rules['numberFormats']);
            }
        },
		
		'supplier'=>function(&$rules,&$field,&$value,&$join,&$joinWhere,&$group){
			if($rules['supplier']){
				$rules['psu_sup_id'] = $rules['supplier'];
				unset($rules['supplier']);
			}
        },
		'ver'=>function(&$rules,&$field,&$value,&$join,&$joinWhere,&$group){
			if($rules['ver']){
				$join["[><]tags_link(tl)"] = ["e.psu_id" => "tl_value_id"];
				$joinWhere['tl_type'] = 'prosup';
				$joinWhere['tl_t_id[>]'] = raw(sprintf("tl_t_id ^ %d",$rules['ver']));
				unset($rules['ver']);
			}
			
		}
    ],
    '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'=>[
		'psu_id'=>[
			'field'=>'psu_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', //编辑类型
            ],
			'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})$/
			]
		],
		'psu_sup_id'=>[
			'field'=>'psu_sup_id',
			'cn_name'=>'供应商', //字段描述
			'en_name'=>lg('供应商'), 
			'linkOne'=>[ //关联表
                'table'=>'supplier',
                'field'=>'sup_id',
                'myfield'=>'psu_sup_id',
                'caption'=>'sup_name', 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
                        $field = 'sup_name';
                        $join['[>]supplier(s)'] = ['e.spr_sup_id'=>'sup_id'];
                        // $joinWhere['s.sup_name'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]supplier(s)'])){
                            $join['[>]supplier(s)'] = ['e.spr_sup_id'=>'sup_id'];
                        }
                        return 's.sup_name';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 180,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'autocompleter', //编辑类型 none,hidden,text,select,textarea
                'itemsUrl'=>HOST_LG.'/element/getAllKeyValues?elename=supplier'
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'sup_code'=>[
			'field'=>'sup_code',
			'cn_name'=>'供应商编码', //字段描述
			'en_name'=>lg('供应商编码'), 
			'linkOne'=>[ //关联表
                'table'=>'supplier',
                'field'=>'sup_id',
                'myfield'=>'psu_sup_id',
                'caption'=>'sup_code', 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
						$op = null;
                        $join['[>]supplier(s)'] = ['e.psu_sup_id'=>'sup_id'];
                        $joinWhere['s.sup_code[~]'] = $data;
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]supplier(s)'])){
                            $join['[>]supplier(s)'] = ['e.psu_sup_id'=>'sup_id'];
                        }
                        return 's.sup_code';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>false, //是否在详情视图中显示
            'view'=>[
    			'editable'=>false, //是否编辑
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'p_cate'=>[
			'field'=>'p_cate',
			'cn_name'=>'小类', //字段描述
			'en_name'=>lg('小类'), 
			'linkOne'=>[ //关联表
                'table'=>'pro',
				'join'=>['[><]pro_cate(cate)'=>['pro.p_cate'=>'id']],
                'field'=>'p_id',
                'myfield'=>'psu_p_id',
				'captionField'=>'psu_p_id', //用于查询
                'caption'=>LG_NAME, 
                '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 = 'p_cate';
                        if($rows = $objList['cate']->likeAndChilds($data,true)){
                            $data = $rows;
                        }else{
                            $data = 0;
                        }
                        $join['[>]pro(p)'] = ['e.psu_p_id'=>'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.psu_p_id'=>'p_id'];
                        }
                        return 'p.p_cate';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, 
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>false, //是否在详情视图中显示
            
		],
		'psu_p_id'=>[
			'field'=>'psu_p_id',
			'cn_name'=>'商品', //字段描述
			'en_name'=>lg('商品'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'linkOne'=>[ //关联表
				'table'=>'pro',
				'field'=>'p_id',
				'myfield'=>'psu_p_id',
				'caption'=>'p_innum', 
				'search'=>[
					'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
						$join['[>]pro(p)'] = ['e.psu_p_id'=>'p_id'];
						$joinWhere['p.p_innum_format'] = formatNum($data);
						$op=null;
					}
				],
				'order'=>[
					'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
						if(!isset($this->join['[>]pro(p)'])){
							$join['[>]pro(p)'] = ['e.psu_p_id'=>'p_id'];
						}
						return 'p.p_innum_format';
					}
				]
			],
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 120,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
				'formart'=><<<EOF
					function (cellvalue, options, row) {
						return '<a href="javascript:qg.page.open(\''+cellvalue+'\',\''+HOST+'/pro/detail?p_id='+row['captionsValues']['psu_p_id']+'\')" title="查看详情" >'+cellvalue+'</a>';
						
					}
				EOF,
            ],
			'isview'=>true, //是否在详情视图中显示
			'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'autocompleter', //编辑类型 none,hidden,text,select,textarea
				'itemsCfg'=>'{"search":true,"empty":true}',
				'itemsUrl'=> HOST_LG.'/pro/getInnum'
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_pb_id'=>[
			'field'=>'psu_pb_id',
			'cn_name'=>'商品品牌', //字段描述
			'en_name'=>lg('商品品牌'),
			'linkOne'=>[ //关联表
                'table'=>'pro_brand',
                'field'=>'pb_id',
                'myfield'=>'psu_pb_id',
                'caption'=>'pb_'.LG_NAME, 
                'search'=>[
                    'function'=>function(&$field,&$op,&$data,&$join,&$joinWhere,&$group,&$objList,$db){
						$field = 'pb_'.LG_NAME;
                        $join['[>]pro_brand(pb)'] = ['e.psu_pb_id'=>'pb_id'];
                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro_brand(pb)'])){
                            $join['[>]pro_brand(pb)'] = ['e.psu_pb_id'=>'pb_id'];
                        }
                        return 'pb.pb_'.LG_NAME;
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 90,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'select', //编辑类型 none,hidden,text,select,textarea
                'itemsUrl'=>HOST_LG.'/element/getAllKeyValues?elename=pro_brand'
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>10, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_pb_p_innum'=>[
			'field'=>'psu_pb_p_innum',
			'cn_name'=>'品牌号码', //字段描述
			'en_name'=>lg('品牌号码'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 90,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'tags'=>[
			'field'=>'tags',
			'cn_name'=>'数据标签', //字段描述
			'en_name'=>lg('数据标签'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
			'linkMore'=>[ //关联表
				'function'=>function(&$rows,$linkMoreCache,$db){ //rows 当前页的所有数据
					$values = array_column($rows,'psu_id');
					$tags = makeOne(\model\tags::class);
					$values = array_unique(array_filter($values));
					$verArr = $tags->getTypeValTags('prosup', $values);
					$verArr =array_column($verArr, 'tags', 'tl_value_id');
					foreach ($rows as $key => &$v) {
						$v['tags'] = empty($verArr[$v['psu_id']]) ? '': implode(',', array_column($verArr[$v['psu_id']], 't_id'));
						$v['captions']['tags']=empty($verArr[$v['psu_id']]) ? '': implode(',', array_column($verArr[$v['psu_id']], LG_NAME));
					}
					unset($val);
				}
			],
			'formartSearch'=> function(&$field,&$op,&$data){
				$orgdata = $data;
				if(!empty($data)){
					if($op == 'ne'){
						$data= raw(sprintf("psu_id not in (select tl_value_id from tags_link where tl_type='prosup' and tl_t_id > tl_t_id ^ %d)", $data));
					}else{
						$data= raw(sprintf("psu_id in (select tl_value_id from tags_link where tl_type='prosup' and tl_t_id > tl_t_id ^ %d)", $data));
					}
				}else{
					if($op == 'ne'){
						$data= raw(sprintf("psu_id in (select tl_value_id from tags_link where tl_type='prosup')"));
					}else{
						$data= raw(sprintf("psu_id not in (select tl_value_id from tags_link where tl_type='prosup')"));
					}
				}
				$op = 'RAW_'.$field.$op.$orgdata;	
			},
            'list'=>[
                'width'=> 120,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>false, //是否参入排序
    			'stype'=>'select', //搜索类型
				'searchoptions'=> "{searchOperMenu:false,sopt:['eq','ne'],dataUrl: HOST+'/element/getAllKeyValues?elename=tags&hasFirst=1&firstkey=', buildSelect: function (data){ return grid.buildSelect(data,'tags');}}",
				'formart'=> 'captions', //显示captions中的内容
            ],
			'isview'=>false, //是否在详情视图中显示
		],
		//关联组织
		'psu_orgcode'=>[
			'field'=>'psu_orgcode',
			'cn_name'=>'关联组织', //字段描述
			'en_name'=>lg('关联组织'), 
			'type'=>'string',
			'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'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		//包装方式
		'psu_pack_style'=>[
			'field'=>'psu_pack_style',
			'cn_name'=>'包装方式', //字段描述
			'en_name'=>lg('包装方式'), 
			'type'=>'string',
			'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'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		//
		'psu_gckz'=>[
			'field'=>'psu_gckz',
			'cn_name'=>'工厂刻字',
			'en_name'=>lg('工厂刻字'),
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
				'stype'=>'select', //搜索类型
				'searchoptions'=> "{searchhidden:true, sopt:['eq'],searchOperMenu:false,value : ':;0:是;1:否'}",
    			'edittype'=>'select', //编辑类型
                'itemsUrl'=> '',
                'items'=> '"":"",0:"是",1:"否"', 
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'select', //编辑类型
                'itemsUrl'=> '', 
                'items'=> '0:"是",1:"否"', 
				'style'=>'max-width:60px',
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'digits',//string,number(含有小数),digits(整数)
    			'maxlength'=>100, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_inbox_count'=>[
			'field'=>'psu_inbox_count',
			'cn_name'=>'内盒数量', //字段描述
			'en_name'=>lg('内盒数量'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 60,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'formartValue'=> function($value,&$row,$db){
				return (empty($value)) ? '' : $value;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_inbox_size'=>[
			'field'=>'psu_inbox_size',
			'cn_name'=>'内盒尺寸', //字段描述
			'en_name'=>lg('内盒尺寸'), 
			'type'=>'string',
			'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'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_weight_net'=>[
			'field'=>'psu_weight_net',
			'cn_name'=>'产品净重', //字段描述
			'en_name'=>lg('产品净重'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 60,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_weight_gross'=>[
			'field'=>'psu_weight_gross',
			'cn_name'=>'产品净重', //字段描述
			'en_name'=>lg('产品净重'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 60,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_outbox_count'=>[
			'field'=>'psu_outbox_count',
			'cn_name'=>'外箱数量', //字段描述
			'en_name'=>lg('外箱数量'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 60,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_outbox_size'=>[
			'field'=>'psu_outbox_size',
			'cn_name'=>'外箱尺寸', //字段描述
			'en_name'=>lg('外箱尺寸'), 
			'type'=>'string',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>true, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_zhibao'=>[
			'field'=>'psu_zhibao',
			'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', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		
		'psu_zjm'=>[
			'field'=>'psu_zjm',
			'cn_name'=>'助记码', //字段描述
			'en_name'=>lg('助记码'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'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'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],

		
		'psu_jhjq'=>[
			'field'=>'psu_jhjq',
			'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', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
				'style'=>'max-width:60px',
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'digits',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'psu_minbuy'=>[
			'field'=>'psu_minbuy',
			'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', //编辑类型
            ],
			'formartValue'=> function($value, &$row, $db) {
				
				if (empty($value)) {
					return '';
				}
				// 去除小数点后的零，并判断是否为 0
				$trimmedValue = rtrim(rtrim($value, '0'), '.');
				return $trimmedValue === '' || $trimmedValue == '0' ? '' : $trimmedValue;
			},
			'isview'=>true, //是否在详情视图中显示
            'view'=>[
    			'editable'=>true, //是否编辑
    			'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
				'style'=>'max-width:60px',
            ],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'digits',//string,number(含有小数),digits(整数)
    			'maxlength'=>50, //长度
				'minlength'=>0,
                'scale'=>0, //小数位数
                'preg'=>'', //正则表达式判断
			]
		],
		'change_log'=>[
			'field'=>'change_log',
			'cn_name'=>'变更历史', //字段描述
			'en_name'=>lg('变更历史'),
			'linkMore'=>[ //关联表
				'function'=>function(&$rows,$linkMoreCache,$db){ //rows 当前页的所有数据
					$values = array_column($rows,'psu_id');
					$values = array_unique(array_filter($values));
					$cntArr = $db->select('change_log',['cl_dataid','counts'=>raw('count(cl_id)')],['cl_dataid'=>$values,'cl_type'=>'prosup','GROUP'=>'cl_dataid']);
					$cntArr = array_column($cntArr, 'counts', 'cl_dataid');
					foreach ($rows as $key => &$v) {
						$v['logcount'] = empty($cntArr[$v['psu_id']]) ? '': $cntArr[$v['psu_id']];
					}
					unset($val);
				}
			],
			'formartCaption'=> function(&$rowCaptions,$filed,$value,&$row,$db){
				$rowCaptions[$filed] = '';
			
				if($row['logcount'])
				{
					$rowCaptions[$filed] = '<ul class="sup-list">';
					
					$rowCaptions[$filed] .= '<li> <a href="javascript:openPsuLogList('.$row['psu_id'].');"><i class="fa fa-list-alt"></i></a></li>';
					
					$rowCaptions[$filed] .= '</ul>';
				}
				return false;
			},
			'formartSearch'=>function(&$field,&$op,&$data){
				$op = 'RAW_'.$field;
				if($data != 'Y'){
					$data = raw(" psu_id not in (
						SELECT DISTINCT cl_dataid FROM change_log
						JOIN pro_supplier ON cl_dataid=psu_id
					)");
				}else{
					$data = raw(" psu_id in (
						SELECT DISTINCT cl_dataid FROM change_log
						JOIN pro_supplier ON cl_dataid=psu_id
					)");
				}
			},
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
			'list'=>[
				'width'=> 100,
				'hidden'=>false, //是否在列表中默认隐藏
				'search'=>true, //是否参入查询
				'editable'=>false, //是否编辑
				'order'=>false, //是否参入排序
				'valuetype'=>'key', //查询值的类型 key,text
				'stype'=>'select', //搜索类型
				'searchoptions'=> "{searchhidden:true, sopt:['eq'],searchOperMenu:false,value : ':;Y:Y;N:N'}",
			],
			'isview'=>false, //是否在详情视图中显示
			'view'=>[
			],
			'editor'=> [
				'required'=> false, //是否为必须项
				'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
				'maxlength'=>512, //长度
				'minlength'=>0,
				'scale'=>0, //小数位数
				'preg'=>'', //正则表达式判断
			]
		],
		// 'psu_kpmc1'=>[
		// 	'field'=>'psu_kpmc1',
		// 	'cn_name'=>'开票名称1', //字段描述
		// 	'en_name'=>lg('开票名称1'), 
		// 	'type'=>'varchar',
		// 	'key'=>false, //是否为主键
		// 	'unique'=>false, //是否唯一
		// 	'islist'=>true, //是否在列表中显示
        //     'list'=>[
        //         'width'=> 180,
        //         'hidden'=>false, //是否在列表中默认隐藏
    	// 		'search'=>true, //是否参入查询
    	// 		'editable'=>true, //是否编辑
    	// 		'order'=>true, //是否参入排序
    	// 		'edittype'=>'text', //编辑类型
        //     ],
		// 	'isview'=>true, //是否在详情视图中显示
        //     'view'=>[
    	// 		'editable'=>true, //是否编辑
    	// 		'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
        //     ],
		// 	'editor'=> [
		// 		'required'=> false, //是否为必须项
		// 		'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    	// 		'maxlength'=>50, //长度
		// 		'minlength'=>0,
        //         'scale'=>0, //小数位数
        //         'preg'=>'', //正则表达式判断
		// 	]
		// ],

		// 'psu_gdhyd'=>[
		// 	'field'=>'psu_gdhyd',
		// 	'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', //编辑类型
        //     ],
		// 	'isview'=>true, //是否在详情视图中显示
        //     'view'=>[
    	// 		'editable'=>true, //是否编辑
    	// 		'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
        //     ],
		// 	'editor'=> [
		// 		'required'=> false, //是否为必须项
		// 		'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    	// 		'maxlength'=>50, //长度
		// 		'minlength'=>0,
        //         'scale'=>0, //小数位数
        //         'preg'=>'', //正则表达式判断
		// 	]
		// ],
		// 'psu_hsbm'=>[
		// 	'field'=>'psu_hsbm',
		// 	'cn_name'=>'HS编码', //字段描述
		// 	'en_name'=>lg('HS编码'), 
		// 	'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'=>true, //是否编辑
    	// 		'edittype'=>'text', //编辑类型 none,hidden,text,select,textarea
        //     ],
		// 	'editor'=> [
		// 		'required'=> false, //是否为必须项
		// 		'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    	// 		'maxlength'=>50, //长度
		// 		'minlength'=>0,
        //         'scale'=>0, //小数位数
        //         'preg'=>'', //正则表达式判断
		// 	]
		// ],
		// 'psu_bgdw'=>[
		// 	'field'=>'psu_bgdw',
		// 	'cn_name'=>'报关单位', //字段描述
		// 	'en_name'=>lg('报关单位'),
		// 	'linkOne'=>[ //关联表
        //         'table'=>'object',
        //         'field'=>'o_id',
        //         'myfield'=>'psu_bgdw',
		// 		'captionField'=>'o_id',
        //         'caption'=>LG_NAME, 
        //     ],
		// 	'type'=>'varchar',
		// 	'key'=>false, //是否为主键
		// 	'unique'=>false, //是否唯一
		// 	'islist'=>true, //是否在列表中显示
        //     'list'=>[
        //         'width'=> 80,
        //         'hidden'=>false, //是否在列表中默认隐藏
    	// 		'search'=>true, //是否参入查询
    	// 		'editable'=>true, //是否编辑
    	// 		'order'=>true, //是否参入排序
		// 		'edittype'=>'select', //编辑类型
		// 		'itemsUrl'=> HOST.'/collocation/getItems?id=2&firstkey=&hasFirst=1',
        //     ],
		// 	'isview'=>true, //是否在详情视图中显示
        //     'view'=>[
    	// 		'editable'=>true, //是否编辑
    	// 		'edittype'=>'select',  //编辑类型 none,hidden,custom,text,select,textarea,checkboxgroup
        //         'itemsUrl'=> HOST.'/collocation/getItems?id=2',
		// 		'style'=>'max-width:80px',
        //     ],
		// 	'editor'=> [
		// 		'required'=> false, //是否为必须项
		// 		'fieldtype'=> 'string',//string,number(含有小数),digits(整数)
    	// 		'maxlength'=>100, //长度
		// 		'minlength'=>0,
        //         'scale'=>0, //小数位数
        //         'preg'=>'', //正则表达式判断
		// 	]
		// ],
		'opuser'=>[
			'field'=>'psu_opuser',
			'cn_name'=>'操作人', //字段描述
			'en_name'=>lg('Operator'), 
			'islist'=>true, //是否在列表中显示
			'isview'=>false, //是否在详情视图中显示
			'linkOne'=>[ //关联表
                'table'=>'adm_user',
                'field'=>'au_id',
                'myfield'=>'psu_opuser',
                'caption'=>'au_name',
				'captionField'=>'au_id'
            ],
			'list'=>[
                'width'=> 150,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'stype'=>'select', //搜索类型
				'searchoptions'=> "{searchOperMenu:false,sopt:['eq'], dataUrl: HOST+'/element/getAllKeyValues?elename=user&hasFirst=1&firstkey=', buildSelect: function (data){return grid.buildSelect(data, 'cop_opuser');}}",
				'formart'=> 'captions', //显示captions中的内容
            ],
		],
		'create_time'=>[
			'field'=>'psu_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', //编辑类型
            ],
		],
		'update_time'=>[
			'field'=>'psu_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', //编辑类型
            ],
		],
	],
];