<!-- 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="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-option nzLabel="已退款" nzValue="5"></nz-option>
                            <nz-option nzLabel="退款中" nzValue="6"></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="rechargeModel" nzPlaceHolder="请选择订单状态">
                            <nz-option nzLabel="电信充值" nzValue="1"></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="rechargeType" nzPlaceHolder="请选择充值类型">
                            <nz-option nzLabel="快充" nzValue="1"></nz-option>
                            <nz-option nzLabel="慢充" nzValue="2"></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]="'rechargeContent'" />
                    </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">
                        <input nz-input placeholder="请输入工会卡卡号..."  [formControlName]="'idCard'" />
                    </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]="'userPhone'" />-->
<!--                    </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">
        <nz-upload
                [nzAccept]="'.xls,.xlsx'"
                nzAction="{{WEB_SERVE_URL}}outRechargeOrder/importRechargeOrder"
                [nzHeaders]="{ authorization: 'authorization-text' }"
                (nzChange)="handleChange($event)"
                [nzShowUploadList]="false"
        >
            <button  nz-button nzType="primary" ><i nz-icon nzType="import" nzTheme="outline"></i>导入充值订单</button>
        </nz-upload>
        <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="180px">充值类型</th>
            <th nzWidth="180px">工会卡号</th>
            <th nzWidth="180px">订单号</th>
            <th nzWidth="120px">客户名称</th>
            <th nzWidth="130px">充值号码</th>
            <th nzWidth="100px">充值金额</th>
            <th nzWidth="100px">支付金额</th>
            <th nzWidth="140px">生成时间</th>
            <th nzWidth="100px" nzRight>支付方式</th>
            <th nzWidth="300px" 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.remarks}}</td>
            <td>{{data.rechargeModel | rechargePrice}}</td>
            <td>{{data.rechargeType== 1? '快充':'慢充'}}</td>
            <td>{{data.idCard}}</td>
            <td>{{data.orderNo}}</td>
            <td>{{data.userName == null ? '暂无': data.userName}}</td>
            <td>{{data.rechargeContent == null ? '暂无': data.rechargeContent}}</td>
            <td>{{data.orderPrice}}</td>
            <td>{{data.payPrice}}</td>
            <td>{{data.createTimed | date: 'yyyy-MM-dd HH:mm:ss'}}</td>
            <td nzRight>{{data.payType  | rechargePayType}}</td>
            <td nzRight>
                {{data.rechargeStatus == 1 ? '充值异常' : '正常'}}
                <span *ngIf="data.rechargeStatus === 1 && data.abnormalMsg != null">({{data.abnormalMsg}})</span>
            </td>
            <td nzRight>{{data.status | rechargeStatus}}</td>
            <td nzRight class="table-td-operation">
                <a  (click)="getDetail(data.id)">详情</a>
                <a *ngIf="data.rechargeStatus === 1" (click)="getMobileRechargeByOrderId(data.id)">再次充值</a>
                <a *ngIf="data.status === 2" (click)="postRefund(data.orderNo)">申请退款</a>
            </td>
        </tbody>
    </nz-table>
</div>

<nz-modal [(nzVisible)]="isVisible" nzTitle="订单详情" nzWidth="1200">
    <nz-descriptions 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>
<!--    <div *nzModalFooter>-->
<!--        <button nz-button nzType="default" (click)="handleCancel()">取消</button>-->
<!--        <button nz-button *ngIf="data['status'] === 2" nzType="primary" (click)="finishOrder(id)">完成充值</button>-->
<!--    </div>-->
</nz-modal>

<nz-modal [(nzVisible)]="errorStudentVisible" nzTitle="导入失败数据" (nzOnCancel)="errorStudentVisible = false" nzWidth="1200px" [nzFooter]="null">
    <nz-table #errorStudentTable [nzData]="importErrorStudentArray"  [nzScroll]="{ x: '1200px' }">
        <thead>
        <tr>
            <th nzWidth="80px">序号</th>
            <th nzWidth="150px">订单号</th>
            <th nzWidth="150px">用户昵称</th>
            <th nzWidth="150px">用户联系方式</th>
            <th nzWidth="150px">充值类型</th>
            <th nzWidth="150px">充值内容</th>
            <th nzWidth="150px">支付方式</th>
            <th nzWidth="150px">卡号</th>
            <th nzWidth="150px">订单金额</th>
            <th nzWidth="150px">应付金额</th>
            <th nzWidth="150px">订单状态</th>
            <th nzWidth="150px">支付时间</th>
            <th nzWidth="300px">原因</th>
        </tr>
        </thead>
        <tbody>
        <tr *ngFor="let data of errorStudentTable.data;let i = index">
            <td>{{ i + 1}}</td>
            <td>{{data.orderNo}}</td>
            <td>{{data.userName}}</td>
            <td>{{data.userPhone}}</td>
            <td>{{data.rechargeModelName}}</td>
            <td>{{data.rechargeContent}}</td>
            <td>{{data.payTypeName}}</td>
            <td>{{data.cardNo}}</td>
            <td>{{data.orderPrice}}</td>
            <td>{{data.payRealPrice}}</td>
            <td>{{data.statusName}}</td>
            <td>{{data.payTime}}</td>
            <td>{{data.errorMessage}}</td>
        </tr>
        </tbody>
    </nz-table>
</nz-modal>
