getExportTitle($fields).mb_convert_encoding(',基础物料编码,基础物料名称,基础物料零售价,选中比例', 'GBK', 'UTF-8');; } //list $dataList = $this->getList('*', $filter); if (empty($dataList)) { return false; } //combine_id $combineIds = array_column($dataList, 'combine_id'); //items $error_msg = ''; $luckyItems = $combineLib->batchGetCombineItems($combineIds, $error_msg); //schema $mainColumns = $this->get_schema(); //foramt foreach ($dataList as $dataKey => $dataVal) { $combine_id = $dataVal['combine_id']; //date $dataVal['create_time'] = $dataVal['create_time'] ? date('Y-m-d H:i:s', $dataVal['create_time']) : ''; $dataVal['last_modified'] = $dataVal['last_modified'] ? date('Y-m-d H:i:s', $dataVal['last_modified']) : ''; //fields $rowInfo = array(); foreach (explode(',', $fields) as $key => $col) { if(!isset($mainColumns['columns'][$col])){ continue; } if (isset($dataVal[$col])) { $rowInfo[] = mb_convert_encoding($dataVal[$col], 'GBK', 'UTF-8'); } else { $rowInfo[] = ''; } } //关联基础物料列表 $itemList = $luckyItems[$combine_id]; if(empty($itemList)){ //data $data['content']['main'][] = implode(',', $rowInfo); continue; } //按照基础物料纬度导出数据 foreach ($itemList as $itemKey => $itemVal) { $itemInfo = $rowInfo; //material $itemInfo[] = $itemVal['material_bn']; //基础物料编码 $itemInfo[] = mb_convert_encoding($itemVal['material_name'], 'GBK', 'UTF-8'); //基础物料名称 $itemInfo[] = $itemVal['retail_price']; //基础物料零售价 $itemInfo[] = mb_convert_encoding($itemVal['ratio_str'], 'GBK', 'UTF-8'); //选中比例 //data $data['content']['main'][] = implode(',', $itemInfo); } } return $data; } }