<?php
/**
 * 元数据
 */
$elename = substr(basename(__FILE__),0,-4);
return [
    //POWER
    'pwcode'=>'B500',
    //元数据名称
    'elename'=>$elename,
    //元数据标题
	'cn_name' => "产品日志", 
	'en_name' => lg("产品日志"), 
	//
	'table' => "change_log",  
	'key' => "cl_id", //主键字段
	'order' => "cl_id desc", //默认排序
	'caption' => "cl_name", //主要显示字段
	'urlFields'=>['cl_type'],
    'url'=>[
		'js'=>          HOST.'/static/js/element/'.$elename.'.js',
        'list'=> \mvc::$cfg['path']['site'].'/element/list?elename='.$elename.(\mvc::$req['p_id']?'&rules=cl_type:pro;cl_dataid:'.\mvc::$req['p_id']:''),
        // 'editCell'=> \mvc::$cfg['path']['site'].'/element/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'].'/element/edit?elename='.$elename,
        // 'delete'=> \mvc::$cfg['path']['site'].'/element/delete?elename='.$elename,
        // 'deleteRows'=> \mvc::$cfg['path']['site'].'/element/deleteRows?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'=>[
		'cl_id'=>[
			'field'=>'cl_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
            ]
		],
		
        'cl_dataid'=>[
			'field'=>'cl_dataid',
			'cn_name'=>'物料编码', //字段描述
			'en_name'=>lg('物料编码'), 
            'linkOne'=>[ //关联表
                'table'=>'pro',
                'field'=>'p_id',
                'myfield'=>'cl_dataid',
                'captionField'=>'p_innum',
                '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.cl_dataid'=>'p_id'];

                    }
                ],
                'order'=>[
                    'function'=>function(&$join,&$joinWhere,&$group,&$objList,$db){
                        if(!isset($this->join['[>]pro(p)'])){
                            $join['[>]pro(p)'] = ['e.cl_dataid'=>'p_id'];
                        }
                        return 'p.p_innum';
                    }
                ]
            ],
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>\mvc::$req['p_id']?false:true, //是否在列表中显示
            'list'=>[
                'width'=> 90,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'number', //编辑类型
            ],
		],
		'cl_act'=>[
			'field'=>'cl_act',
			'cn_name'=>'变更类型', //字段描述
			'en_name'=>lg('变更类型'),
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 60,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'select',  //编辑类型,text,checkbox
				'items'=> '"":"",add:"新增",edit:"编辑",del:"删除",oth:"其它"',
			],
		],
		'cl_change'=>[
			'field'=>'cl_change',
			'cn_name'=>'变更历史', //字段描述
			'en_name'=>lg('变更历史'), 
			'type'=>'varchar',
			'key'=>false, //是否为主键
			'unique'=>false, //是否唯一
			'islist'=>true, //是否在列表中显示
            'list'=>[
                'width'=> 400,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
				'formart'=> <<<EOF
					function (cellvalue, options, rowObject) {
						console.log(cellvalue,options, rowObject);debugger;
						if(rowObject.cl_act=='edit' && cellvalue){
							var arr = JSON.parse(cellvalue);
							var html = '';
							for (let key in arr) {
								var itemArr = arr[key];
							
								if(itemArr.length>0){
									for (let kk in itemArr) {
										var item = itemArr[kk];
										html += item.name+'：'+item.old+' <span class="green">变更为</span> '+item.new+"<br />";
									}
								}
								console.log(arr[key]);debugger;
							}
							return html;
						}else{
							return cellvalue;
						}

					}
				EOF,
			],
			'formartSearch'=> function(&$field,&$op,&$data){
				$field = 'RAW #1';
				$data =  raw("JSON_SEARCH(cl_change,'one','%{$data}%')  IS NOT NULL");
			}
		],

		'cl_opuser'=>[
			'field'=>'cl_opuser',
			'cn_name'=>'操作人', //字段描述
			'en_name'=>lg('Operator'),
			'islist'=>true, //是否在列表中显示
			'isview'=>false, //是否在详情视图中显示
            'list'=>[
                'width'=> 80,
                'hidden'=>false, //是否在列表中默认隐藏
    			'search'=>true, //是否参入查询
    			'editable'=>false, //是否编辑
    			'order'=>true, //是否参入排序
    			'edittype'=>'text', //编辑类型
            ],
		],
		'cl_create_time'=>[
			'field'=>'cl_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', //编辑类型
            ],
		],
	],
];