<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->

<!--条件搜索-->
<div class="inner-content">
    <form nz-form [formGroup]="searchForm" (ngSubmit)="getRequest(true , searchForm.value)">
        <div nz-row>

            <div nz-col nzSpan="8">
                <nz-form-item>
                    <nz-form-label [nzSpan]="6">订单状态</nz-form-label>
                    <nz-form-control [nzSpan]="16">
                        <nz-select nzShowSearch nzAllowClear formControlName="status" nzPlaceHolder="请选择订单状态">
                            <nz-option nzLabel="退款驳回" nzValue="0"></nz-option>
                            <nz-option nzLabel="退款通过" nzValue="2"></nz-option>
                            <nz-option nzLabel="退款中" nzValue="3"></nz-option>
                        </nz-select>
                    </nz-form-control>
                </nz-form-item>
            </div>

            <div nz-col nzSpan="8">
                <nz-form-item>
                    <nz-form-label [nzSpan]="6">支付方式</nz-form-label>
                    <nz-form-control [nzSpan]="16">
                        <nz-select nzShowSearch nzAllowClear formControlName="payType" nzPlaceHolder="支付方式">
                            <nz-option nzLabel="微信" nzValue="1"></nz-option>
                            <nz-option nzLabel="工会卡" nzValue="2"></nz-option>
                            <nz-option nzLabel="积分" nzValue="3"></nz-option>
                            <nz-option nzLabel="银联" nzValue="4"></nz-option>
                        </nz-select>
                    </nz-form-control>
                </nz-form-item>
            </div>

            <div nz-col nzSpan="8">
                <nz-form-item>
                    <nz-form-label [nzSpan]="6">订单号</nz-form-label>
                    <nz-form-control [nzSpan]="16">
                        <input nz-input placeholder="请输入订单号..."  [formControlName]="'orderNo'" />
                    </nz-form-control>
                </nz-form-item>
            </div>
            <div nz-col nzSpan="8">
                <nz-form-item>
                    <nz-form-label [nzSpan]="6">支付时间</nz-form-label>
                    <nz-form-control [nzSpan]="16">
                        <nz-range-picker [nzShowTime]="{ nzFormat: 'HH:mm' }" formControlName="payTime"></nz-range-picker>
                    </nz-form-control>
                </nz-form-item>
            </div>
            <!--            <div nz-col nzSpan="8">-->
            <!--                <nz-form-item>-->
            <!--                    <nz-form-label [nzSpan]="6">创建时间</nz-form-label>-->
            <!--                    <nz-form-control [nzSpan]="16">-->
            <!--                        <nz-range-picker [nzShowTime]="{ nzFormat: 'HH:mm' }" formControlName="createTime"></nz-range-picker>-->
            <!--                    </nz-form-control>-->
            <!--                </nz-form-item>-->
            <!--            </div>-->

        </div>
        <div nz-row>
            <div nz-col nzSpan="24" class="search-button">
                <button nz-button nzType="primary"><i nz-icon nzType="search" nzTheme="outline"></i>搜索</button>
                <button nz-button nzType="default" (click)="resetForm()"><i nz-icon nzType="reload"
                                                                            nzTheme="outline"></i>重置
                </button>
            </div>
        </div>
    </form>
</div>

<div class="inner-content">
    <span>共计 {{total}} 条数据</span>
    <div class="operating-button">
        <button nz-button nzType="primary" class="right-btn" (click)="downloadTemplate(searchForm.value)" ><i nz-icon nzType="download" nzTheme="outline"></i>导出订单</button>
    </div>
    <nz-table
            class="table"
            #ajaxTable
            nzShowSizeChanger
            [nzFrontPagination]="false"
            [nzData]="requestData"
            [nzLoading]="loading"
            [nzTotal]="total"
            [(nzPageIndex)]="pageNum"
            [(nzPageSize)]="pageSize"
            [nzScroll]="{ x: '1200px' }"
            (nzPageIndexChange)="getRequest(false , searchForm.value)"
            (nzPageSizeChange)="getRequest(false , searchForm.value)">
        <thead nzSingleSort>
        <tr>
            <th nzWidth="80px">编号</th>
            <th nzWidth="180px">退款来源</th>
            <th nzWidth="180px">订单号</th>
            <th nzWidth="100px">退款金额</th>
            <th nzWidth="120px">提交人</th>
            <th nzWidth="140px">创建时间</th>
            <th nzWidth="100px" nzRight>支付方式</th>
            <th nzWidth="100px" nzRight>状态</th>
            <th nzWidth="200px" nzRight>操作</th>
        </tr>
        </thead>
        <tbody>
        <tr *ngFor="let data of ajaxTable.data; let i = index">
            <td>{{i+1}}</td>
            <td>{{data.refundSource  | refundSource}}</td>
            <td>{{data.sourceOrderNo}}</td>
            <td>{{data.refundPrice}}</td>
            <td>{{data.createdUserName == null ? '暂无': data.createdUserName}}</td>
            <td>{{data.createdTime | date: 'yyyy-MM-dd HH:mm:ss'}}</td>
            <td nzRight>{{data.payType  | rechargePayType}}</td>
            <td nzRight>{{data.status | refundStatus}}</td>
            <td nzRight class="table-td-operation">
                <a  (click)="getDetail(data.ext1 , data.refundSource)">详情</a>
                <nz-divider *ngIf="data['status'] === 0" nzType="vertical"></nz-divider>
                <a (click)="orderToRefund(data.ext1 , data.refundSource)" *ngIf="data['status'] === 0">通过</a>
                <nz-divider *ngIf="data['status'] === 0" nzType="vertical"></nz-divider>
                <a (click)="getRefundReject(data.id)"  *ngIf="data['status'] === 0">驳回</a>
            </td>
        </tbody>
    </nz-table>
</div>

<nz-modal [(nzVisible)]="isVisible" nzTitle="订单详情" nzWidth="1200"   (nzOnCancel)="handleCancel()" (nzOnOk)="handleCancel()">
    <nz-descriptions *ngIf="refundSource === 1" nzBordered [nzColumn]="{ xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 }">
        <nz-descriptions-item nzTitle="订单名称">{{data['remarks']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="订单类型">{{data['rechargeModel'] | rechargePrice}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="订单号">{{data['orderNo']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="客户名称">{{data['userName'] == null ? '暂无': data['userName']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="充值号码">{{data['rechargeContent'] == null ? '暂无': data['rechargeContent']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="卡号" *ngIf="data['rechargeModel'] === 3 ">{{data['idCard']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="充值姓名" *ngIf="data['rechargeModel'] === 3 ">{{data['rechargeName']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="充值金额">{{data['orderPrice']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="支付金额">{{data['payPrice']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="退款金额" *ngIf="data['refundFee'] != null">{{data['refundFee']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="生成时间">{{data['createTimed'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item *ngIf="data['cancelTime'] != null" nzTitle="取消时间">{{data['cancelTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item *ngIf="data['finishTime'] != null" nzTitle="完成时间">{{data['finishTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item *ngIf="data['payTime'] != null" nzTitle="支付时间">{{data['payTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item *ngIf="data['refundTime'] != null" nzTitle="退款时间">{{data['refundTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="状态">{{data['status'] | rechargeStatus}}</nz-descriptions-item>
    </nz-descriptions>

    <nz-descriptions *ngIf="refundSource === 2" nzBordered [nzColumn]="{ xxl: 4, xl: 3, lg: 3, md: 3, sm: 2, xs: 1 }">
        <nz-descriptions-item nzTitle="商品名称">{{data['highChildOrderList'][0]['goodsName']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="支付类型">{{data['payType'] | paytype}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="支付金额">{{data['payPrice']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="客户名称">{{data['memName']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="客户电话">{{data['memPhone']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="订单号">{{data['orderNo']}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="创建时间">{{data['createTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="支付时间">{{data['payTime'] | date: 'yyyy-MM-dd HH:mm:ss'}}</nz-descriptions-item>
        <nz-descriptions-item nzTitle="订单状态">{{data['orderStatus'] | orderCouponStatus}}</nz-descriptions-item>
    </nz-descriptions>
</nz-modal>

