Vue+PHP后台实现导出Excel表格,要有自定义(选择字段)和筛选功能

要求:订单管理导出excel表格要有自定义(选择字段)和筛选功能。

PHP代码

/**
     * @title 订单Excel内容生成
     * @description 订单Excel内容生成
     * @author 
     * @url /order/order/get_Excel
     * @method *
     * @param name:token require:1 default: desc:token
     * @list    id:id    out_trade_no:订单编号    product_id:产品id    price:价格    is_coupon:是否使用优惠券    coupon_id:优惠券id    pay_price:实际支付价格    is_pay:是否支付    pay_time:支付时间    pay_type:支付类型    pay_status:订单状态    order_status:订单状态    create_time:创建时间    user_id:用户id    title:订单标题    order_type:订单类型    contacts:联系人    phone:手机号    email:邮箱    remark:备注    travel_start:出行开始日期    travel_end:出行结束日期    success_time:完成时间    product_type:产品类型
     * @return error_id:1-10-01-0006 校验失败
     */
    public function get_Excel()
    {
        $message = input();
        $data = array();
        /*dump($message[0]['header']);
        exit();*/
        foreach ($message[0]['header'] as $k => $v) {
            $data['key'][] = $k;
            $data['value'][] = $v;
        }
        $field = implode(',',$data['key']);
        /*dump($field);
                exit();*/
        $where = array();
        foreach ($message[1]['data'] as $key => $value) {
            if ($key == 'limit' || $key == 'page') {
                unset($value);
                continue;
            }
            if ($value === 0) {
                continue;
            }
            /*if (empty($value)) {
                unset($value);
            }*/
            if ($key == 'create_time' || $key == 'pay_time' || $key == 'travel_start' || $key == 'travel_end') {
                if (!empty($value[0]) && !empty($value[1])) {
                    $start = strtotime($value[0]);
                    $end = strtotime($value[1]);
                    unset($value);
                    $where[] = [$key, '>=', $start];
                    $where[] = [$key, '<=', $end];
                }
            }
            if ($key =='id'||$key =='out_trade_no'||$key =='phone'||$key =='coupon_id'||$key =='is_pay'||$key =='pay_type'||$key =='pay_status'||$key =='order_status'||$key=='is_coupon'||$key=='product_type'){
                $where[] = [$key, '=', $value];
            }
        }



        $data['list'] = Db::name('order')
            ->where($where)
            ->withAttr('pay_time', function 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值