<template>
    <div>
        <div v-if="!DialogDetail">
            <div class="pt-8 border-b-solid-lighter-1">
                <div class="height-30 flex-row align-items-center justify-content-between mb-24">
                    <div class="f18 color-text-primary">筛选</div>
                </div>
                <el-collapse-transition>
                    <el-row :gutter="56">
                        <el-col :span="6">
                            <div class="flex-row-center align-items-center height-40 mb-24">
                                <span class="tabs__search-criteria-title flex-shrink-0 pr-16">案件包名称</span>
                                <el-input v-model.trim="queryParam.pkgName"
                                            clearable placeholder="请输入案件包名称"
                                            @keydown.enter.native="handleSearch">
                                </el-input>
                            </div>
                        </el-col>
                        <el-col :span="5">
                            <div class="flex-row-center align-items-center height-40 mb-24">
                                <span class="tabs__search-criteria-title flex-shrink-0 pr-16">案件编号</span>
                                <el-input v-model.trim="queryParam.caseNo"
                                            clearable placeholder="请输入案件编号"
                                            @keydown.enter.native="handleSearch">
                                </el-input>
                            </div>
                        </el-col>
                        <el-col :span="9">
                            <div class="justify-content-start  align-items-center height-40 mb-24">
                                <span class="tabs__search-criteria-title flex-shrink-0 pr-16">操作时间</span>
                                <el-date-picker
                                        v-model="queryDate"
                                        type="daterange"
                                        clearable
                                        range-separator="至"
                                        start-placeholder="开始日期"
                                        end-placeholder="结束日期"
                                        @change="handleChangeDate">
                                </el-date-picker>
                            </div>
                        </el-col>
                        <el-col :span="4">
                            <div class="flex-row align-items-center justify-content-end">
                                <el-button @click="hanldeReset">重置</el-button>
                                <el-button type="primary" @click="handleSearch">搜索</el-button>
                            </div>
                        </el-col>
                    </el-row>
                </el-collapse-transition>
            </div>
            <!-- table -->
            <div class="pt-8">
                <div class="height-56 flex-row align-items-center justify-content-between">
                    <div class="f18 color-text-primary">追踪列表</div>
                    <div class="flex-row">
                        
                    </div>
                </div>
                
                <div class="case-table">
                    <el-table :data="tableData" height="340" >
                        <el-table-column type="index" label="序号" width="55"></el-table-column>
                        <!-- <el-table-column type="selection" width="55" ></el-table-column> -->
                        <el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="caseNo" label="案件编号" width="200" show-overflow-tooltip ></el-table-column>
                        <el-table-column label="短信模板" show-overflow-tooltip >
                            <template slot-scope="scope">
                                <span >{{ scope.row.templateId.desc != undefined ?scope.row.templateId.desc :'' }}</span>
                            </template>
                        </el-table-column>
                        <el-table-column prop="sendObjectType" label="短信接收对象" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="countInit" label="记录数量" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="countOk" label="发送成功" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="countFail" label="发送失败" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="countPending" label="获取回执中" show-overflow-tooltip ></el-table-column>
                        <el-table-column prop="createByName" label="操作人" show-overflow-tooltip ></el-table-column>
                        <el-table-column label="操作时间" show-overflow-tooltip >
                            <template slot-scope="scope">
                                <span >{{ scope.row.createAt | formaDate("yyyy-MM-dd hh:mm:ss") }}</span>
                            </template>
                        </el-table-column>
                        
                        <el-table-column  label="操作" width="120">
                            <template slot-scope="scope">
                                <div class="flex-row align-items-center">
                                    <el-button size="mini" @click="handleDetail(scope)">明细</el-button>
                                    <!-- <el-button size="mini" @click="handleAgain(scope)">重试</el-button>
                                    <el-button size="mini" @click="handleDelete(scope)">取消</el-button> -->
                                </div>
                            </template>
                        </el-table-column>
                    </el-table>
                </div>
                
                <div class="text-center pt-16">
                    <el-pagination
                        @size-change="getList"
                        @current-change="getList"
                        :current-page="queryParam.current"
                        :page-size="queryParam.size"
                        layout="total, prev, pager, next, jumper"
                        :total="total">
                    </el-pagination>
                </div>
            </div>
        </div>
        <!-- 短信发送追踪 -->
        <smsDialogDetail v-else :DialogDetail.sync="DialogDetail" />
    </div>
    
</template>
<script>
import api from "@/services/eventTracingApi";
    export default {
        components: {
            smsDialogDetail: () => import('../dtraceDetail/smsDialogDetail.vue'),//短信发送追踪明细
        },
        props: {
            eventTraDialog: {
                type: Object,
                default: () => {
                    return {}
                },
            },
        },
        data() {
            return {
                DialogDetail:null,
                queryDate: '',
                queryParam:{
                    pkgName:'',
                    caseNo:'',
                    beginTime:'',
                    endTime:'',
                    current:1,
                    size:10


                },
                tableData:[],
                total:0,
            };
        },
        mounted () {
            this.initializeQuery()
            this.getList(1)
        },
        methods: {
            initializeQuery(){
                this.queryParam.caseNo = this.eventTraDialog.caseNo
            },
            handleChangeDate() {
                this.activeUsage = ''
                if(this.queryDate === null) {
                    this.queryParam.beginTime = ''
                    this.queryParam.endTime = ''
                    this.queryDate = ''
                }else {
                    this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
                    this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
                }
            },
            // 重置
            hanldeReset() {
                for (let key in this.queryParam) {
                this.queryParam[key] = ''
                }
                this.queryParam.current = 1
                this.queryParam.size = 10
                this.activeUsage = ''
                this.queryDate = ''
                this.initializeQuery()
            },
            handleSearch() {
                this.queryParam.size = 10;
                this.queryParam.current = 1;
                this.getList(1)
            },
            // 列表数据
            getList(val){
                this.queryParam.startTime = this.queryParam.beginTime
                // this.queryParam.planEnd = this.queryParam.endTime
                this.queryParam.current = val
                api.posttrace_sms(this.queryParam).then(res => {
                    if (!res.code) {
                        this.tableData = res.records;
                        this.total = res.total;
                    }
                })
            },
            handleDetail(scope){
                this.DialogDetail = scope.row
            }
        }
    };
</script>
<style scoped lang="scss">
.dialog-content{
    padding: 16px 24px;
    max-height:500px
}
.department-wrap{
    padding: 16px 24px;
    max-height: 250px;
    .department-wrap-list{
        margin-bottom:32px;
    }
    .department-wrap-list:last-child{
        margin-bottom:0;
    }
}
.min-height350{min-height: 350px;}
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
</style>