if ($export) {
// $this->error('暂停使用');
@set_time_limit(0);
ini_set('memory_limit', '2000M');
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=".iconv("UTF-8", "gbk//IGNORE", "报修数据").".csv");
// 打开PHP文件句柄,php://output 表示直接输出到浏览器
$fp = fopen('php://output', 'a');
$title = array(
'申请单号',
'申请人',
'申请部门',
'申请日期',
'所在楼层',
'所在位置',
'故障描述',
'报修状态',
);
// 将中文标题转换编码,否则乱码
foreach ($title as $i => $v) {
$title[$i] = iconv('utf-8', 'gbk//IGNORE', $v);
}
// 将标题名称通过fputcsv写到文件句柄
fputcsv($fp, $title);
$result = $repairs_model->getList($dsql . $sql, $param, '*');
$floor = $this->floors;
foreach ($result as $ke => $vo) {
$repairsDetail = json_decode($vo['repairs'], true);
foreach ($repairsDetail as $kk => $vv) {
$rows = array();
$rows['danhao'] = $vo['danhao'];
$rows['add_username'] = $vo['add_username'];
$rows['add_departid'] = DepartmentModel::getFullName($vo['add_departid']);
$rows['add_time'] = date('Y-m-d', $vo['add_time']);
$rows['floor'] = $floor[$vv['floor']];
$rows['position'] = $vv['repairs_site'];
$rows['des'] = $vv['remark'];
$is_repairs = '未完成';
if( 1 == $vo['is_repairs'] ){
$is_repairs = '已完成<';
} else if( 2 == $vo['is_repairs']) {
$is_repairs = '已受理';
} else if( 3 == $vo['is_repairs']) {
$is_repairs = '配件采购中';
} else {
$is_repairs = '未标记';
}
$rows['status'] = $is_repairs;
foreach ($rows as $k => $v) {
$rows[$k] = iconv('utf-8', 'gbk//IGNORE', $v);
}
fputcsv($fp, $rows);
}
}
ob_flush();
flush();
\Yii::$app->offcnLog->add("导出保修数据");
exit;
}