<!-- start 面包屑 -->
<app-breadcrumb></app-breadcrumb>
<!-- end 面包屑 -->
<!--条件搜索-->

<nz-spin [nzSpinning]="loadingObject.spinning" nzTip="{{loadingObject.msg}}">
    <div class="inner-content">
        <form nz-form [formGroup]="searchForm" (ngSubmit)="search(searchForm.value)">
            <div nz-row>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">交易单号</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <input nz-input formControlName="orderNo" />
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">客户电话</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <input nz-input formControlName="memPhone" />
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">卡券名称</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <input nz-input formControlName="couponName" />
                        </nz-form-control>
                    </nz-form-item>
                </div>
            </div>

            <div nz-row *ngIf="isCollapse">
                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">支付卡号</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <input nz-input formControlName="couponName" />
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">支付方式</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <nz-select nzAllowClear formControlName="payType">
                                <nz-option nzValue="1" nzLabel="支付宝"></nz-option>
                                <nz-option nzValue="2" nzLabel="微信"></nz-option>
                                <nz-option nzValue="3" nzLabel="积分抵扣"></nz-option>
                                <nz-option nzValue="4" nzLabel="汇联通工会卡"></nz-option>
                                <nz-option nzValue="5" nzLabel="银联"></nz-option>
                                <nz-option nzValue="6" nzLabel="银联分期"></nz-option>
                                <nz-option nzValue="7" nzLabel="嗨森逛油卡"></nz-option>
                            </nz-select>
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">订单状态</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <nz-select nzAllowClear formControlName="status">
                                <nz-option nzValue="1" nzLabel="待支付"></nz-option>
                                <nz-option nzValue="2" nzLabel="已支付"></nz-option>
                                <nz-option nzValue="3" nzLabel="已完成"></nz-option>
                                <nz-option nzValue="4" nzLabel="已退款"></nz-option>
                                <nz-option nzValue="5" nzLabel="已取消"></nz-option>
                            </nz-select>
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">创建时间</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <nz-range-picker [nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" formControlName="createTime"></nz-range-picker>
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">支付时间</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <nz-range-picker [nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" formControlName="payTime"></nz-range-picker>
                        </nz-form-control>
                    </nz-form-item>
                </div>

                <div nz-col nzSpan="8">
                    <nz-form-item>
                        <nz-form-label [nzSpan]="8">完成时间</nz-form-label>
                        <nz-form-control [nzSpan]="14">
                            <nz-range-picker [nzShowTime]="{ nzFormat: 'yyyy-MM-dd HH:mm:ss' }" formControlName="finishTime"></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>
                    <a class="collapse" (click)="toggleCollapse()">更多条件<i nz-icon [nzType]="!isCollapse ? 'down' : 'up'"></i></a>
                </div>
            </div>
        </form>
    </div>

    <div class="inner-content">
        <span>共计 {{dataObject.total?dataObject.total:0}} 条数据</span>
        <div class="operating-button">
            <button nz-button nzType="primary" class="right-btn" (click)="exportExcel()" ><i nz-icon nzType="export" nzTheme="outline"></i>导出Excel</button>
        </div>

        <!--数组表格 -->
        <nz-table #basicTable
                  nzShowPagination
                  nzShowSizeChanger
                  nzBordered
                  [nzData]="dataObject.list"
                  [nzTotal]="dataObject.total"
                  [nzFrontPagination]="false"
                  [nzLoading]="tableLoading"
                  [nzPageIndex]="whereObject.pageNum"
                  (nzPageIndexChange)="requestData($event)"
                  (nzPageSizeChange)="pageSizeChang($event)"
                  [nzPageSizeOptions]="[10,20,50,100]"
                  [nzScroll]="{ x: '1100px'}">
            <thead>
            <tr>
                <th nzWidth="200px">交易单号</th>
                <th nzWidth="120px">客户电话</th>
                <th nzWidth="200px">卡券名称</th>
                <th nzWidth="100px">卡券面值</th>
                <th nzWidth="100px">订单总额</th>
                <th nzWidth="100px">总优惠</th>
                <th nzWidth="110px">优惠券优惠</th>
                <th nzWidth="100px">产品优惠</th>
                <th nzWidth="100px">应付金额</th>
                <th nzWidth="100px">积分抵扣</th>
                <th nzWidth="100px">实付金额</th>
                <th nzWidth="100px">支付方式</th>
                <th nzWidth="140px">支付卡号</th>
                <th nzWidth="100px">订单状态</th>
                <th nzWidth="180px">创建时间</th>
                <th nzWidth="180px">支付时间</th>
                <th nzWidth="180px">完成时间</th>
                <th nzWidth="110px" nzRight="0px">操作</th>
            </tr>
            </thead>
            <tbody>
            <tr *ngFor="let data of basicTable.data;let i = index">
                <td>{{data.orderNo}}</td>
                <td>{{data.memPhone}}</td>
                <td>{{data.couponName}}</td>
                <td>￥{{data.couponPrice}}</td>
                <td>￥{{data.totalPrice}}</td>
                <td>￥{{data.totalDeductionPrice}}</td>
                <td>￥{{data.deductionCouponPrice}}</td>
                <td>￥{{data.deductionProductPrice}}</td>
                <td>￥{{data.payablePrice}}</td>
                <td>￥{{data.payGold / 100}}</td>
                <td>￥{{data.payPrice}}</td>
                <td>{{data.payType}}</td>
                <td>{{data.memCardNo}}</td>
                <td>{{data.orderStatus}}</td>
                <td>{{data.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
                <td>{{data.payTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
                <td>{{data.finishTime | date : 'yyyy-MM-dd HH:mm:ss'}}</td>
                <td nzRight="0px" class="table-td-operation">
                    <a nz-dropdown [nzDropdownMenu]="menu"> 操作列表 <i nz-icon nzType="down"></i> </a>
                    <nz-dropdown-menu #menu="nzDropdownMenu">
                        <ul nz-menu nzSelectable>
                            <li nz-menu-item (click)="showOrderDetail(data.orderNo)"><a>详情</a></li>
                        </ul>
                    </nz-dropdown-menu>
                </td>
            </tr>
            </tbody>
        </nz-table>
    </div>
</nz-spin>


<nz-modal [(nzVisible)]="orderDetailModal" nzTitle="交易详情" (nzOnCancel)="closeOrderDetail()" [nzFooter]="null"
          nzWidth="1000px" [nzBodyStyle]=" { padding: '5px 5px 30px 5px'}">
    <nz-spin [nzSpinning]="orderDetailModalLoading">
        <nz-tabset [nzTabPosition]="'top'" [nzType]="'card'" class="order-oil-tab">
            <nz-tab nzTitle="交易信息">
                <nz-descriptions nzBordered [nzColumn]="2" [nzSize]="'middle'">
                    <nz-descriptions-item nzTitle="交易订单号">{{orderDetailObject.tradeOrder.orderNo}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="第三方交易号">{{orderDetailObject.tradeOrder.paySerialNo!=null?orderDetailObject.tradeOrder.paySerialNo:'无'}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="客户手机号">{{orderDetailObject.tradeOrder.memPhone}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="交易状态">{{orderDetailObject.tradeOrder.orderStatus | orderStatus}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="支付方式">{{orderDetailObject.tradeOrder.payType | orderPayType}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="支付卡号" *ngIf="orderDetailObject.tradeOrder.payType == 4 || orderDetailObject.tradeOrder.payType == 7">
                        {{orderDetailObject.tradeOrder.memCardNo}}
                    </nz-descriptions-item>
                    <nz-descriptions-item nzTitle="优惠券">{{orderDetailObject.tradeOrder.memDiscountName?orderDetailObject.tradeOrder.memDiscountName:'无'}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="返利">{{orderDetailObject.tradeOrder.whetherRebate?'是':'否'}}</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="备注">{{orderDetailObject.tradeOrder.remarks}}</nz-descriptions-item>
                </nz-descriptions>

                <nz-divider nzText="支付信息"></nz-divider>
                <nz-descriptions nzBordered [nzColumn]="3" [nzSize]="'middle'">
                    <nz-descriptions-item nzTitle="交易总额" >{{orderDetailObject.tradeOrder.totalPrice}} 元</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="优惠信息" nzSpan="2">
                        <span nz-typography>总优惠： {{orderDetailObject.tradeOrder.totalDeductionPrice}} 元</span><br>
                        <span nz-typography>加油优惠： {{orderDetailObject.tradeOrder.deductionProductPrice}} 元</span><br>
                        <span nz-typography>优惠券优惠： {{orderDetailObject.tradeOrder.deductionCouponPrice}} 元</span><br>
                    </nz-descriptions-item>
                    <nz-descriptions-item nzTitle="应付金额" >{{orderDetailObject.tradeOrder.payablePrice}} 元</nz-descriptions-item>
                    <nz-descriptions-item nzTitle="积分抵扣" >{{orderDetailObject.tradeOrder.payGold / 100}} 元 </nz-descriptions-item>
                    <nz-descriptions-item nzTitle="实付金额" >
                        {{orderDetailObject.tradeOrder.payRealPrice!=null?orderDetailObject.tradeOrder.payRealPrice+' 元':'未支付'}}
                    </nz-descriptions-item>
                </nz-descriptions>

            </nz-tab>
            <nz-tab nzTitle="交易时间">
                <nz-card>
                    <nz-timeline>
                        <nz-timeline-item *ngIf="orderDetailObject.tradeOrder.createTime != null">
                            <p>创建时间：{{orderDetailObject.tradeOrder.createTime | date : 'yyyy-MM-dd HH:mm:ss'}}</p>
                            <p>备注：{{orderDetailObject.tradeOrder.remarks?orderDetailObject.tradeOrder.remarks:'无'}}</p>
                        </nz-timeline-item>
                        <nz-timeline-item *ngIf="orderDetailObject.tradeOrder.cancelTime != null">
                            <p>取消时间：{{orderDetailObject.tradeOrder.cancelTime | date : 'yyyy-MM-dd HH:mm:ss'}}</p>
                            <p>备注：{{orderDetailObject.tradeOrder.cancelRemarks?orderDetailObject.tradeOrder.cancelRemarks:'无'}}</p>
                        </nz-timeline-item>
                        <nz-timeline-item *ngIf="orderDetailObject.tradeOrder.payTime != null">支付时间：{{orderDetailObject.tradeOrder.payTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
                        <nz-timeline-item *ngIf="orderDetailObject.tradeOrder.finishTime != null">完成时间：{{orderDetailObject.tradeOrder.finishTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
                        <nz-timeline-item *ngIf="orderDetailObject.tradeOrder.refundTime != null">退款时间：{{orderDetailObject.tradeOrder.refundTime | date : 'yyyy-MM-dd HH:mm:ss'}}</nz-timeline-item>
                    </nz-timeline>
                </nz-card>
            </nz-tab>
            <nz-tab nzTitle="产品信息">
                <nz-table #childOrder [nzData]="orderDetailObject.tradeOrder.highChildOrderList" [nzHideOnSinglePage]="true">
                    <thead>
                    <tr>
                        <th nzWidth="60px">产品类型</th>
                        <th nzWidth="150px">产品名称</th>
                        <th nzWidth="80px">产品规格</th>
                        <th nzWidth="20px">数量</th>
                        <th nzWidth="20px">单价</th>
                        <th nzWidth="20px">总价</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr *ngFor="let data of childOrder.data">
                        <td>{{ data.goodsType | orderChildGoodsType}}</td>
                        <td>
                            {{ data.goodsName }}
                            <nz-tag *ngIf="data.giveawayType == 1" [nzColor]="'magenta'">赠品</nz-tag>
                        </td>
                        <td>{{ data.goodsSpecName }}</td>
                        <td>{{ data.saleCount }}</td>
                        <td>{{ data.goodsActualPrice }} 元</td>
                        <td>{{ data.totalActualPrice }} 元</td>
                    </tr>
                    </tbody>
                </nz-table>
            </nz-tab>
        </nz-tabset>
    </nz-spin>
</nz-modal>

