<template>
    <div>
        <el-form :inline="true" :model="query" class="query-form" size="mini">
            <el-row>
                <el-form-item class="query-form-item">
                    <el-input v-model="filterQuery.orderId" placeholder="记录ID"></el-input>
                </el-form-item>

<!--                <el-form-item class="query-form-item">-->
                <!--                    <el-select v-model="filterQuery.status" placeholder="处理状态">-->
                <!--                        <el-option label="全部" value=""></el-option>-->
                <!--                        <el-option label="等待下载" value="1"></el-option>-->
                <!--                        <el-option label="已下载" value="2"></el-option>-->
                <!--                    </el-select>-->
                <!--                </el-form-item>-->
                <el-form-item>
                    <el-button-group style="display:flex;">
                        <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
                        <el-button type="primary" icon="search" @click="getList">查询</el-button>
                    </el-button-group>

                </el-form-item>
            </el-row>
        </el-form>

        <el-table
            v-loading="loading"
            :data="list"
            style="width: 100%"
        >
            <el-table-column label="序号" type="index"></el-table-column>
            <el-table-column
                label="记录Id"
                prop="id"
                show-overflow-tooltip
            ></el-table-column>

            <el-table-column
                label="状态"
                prop="status"
                show-overflow-tooltip
            >
                <template slot-scope="scope">
                    <el-tag
                        :type="statusFilterType(scope.row.status)"
                    >{{ status[scope.row.status] }}
                    </el-tag
                    >
                </template>
            </el-table-column>


            <el-table-column
                label="类型"
                prop="status"
                show-overflow-tooltip
            >
                <template slot-scope="scope">
                    <el-tag
                        :type="statusFilterType(scope.row.status)"
                    >{{ type[scope.row.status] }}
                    </el-tag
                    >
                </template>
            </el-table-column>

            <el-table-column
                label="更新日期"
                prop="updateTime"
                show-overflow-tooltip
            ></el-table-column>
            <el-table-column label="操作" fixed="right" width="160">
                <template slot-scope="scope">
                    <!--                    <el-button-->
                    <!--                        type="text"-->
                    <!--                        size="small"-->
                    <!--                        @click.native.stop="handleDetailClick(scope.row)"-->
                    <!--                    >详情-->
                    <!--                    </el-button-->
                    <!--                    >-->
                    <el-button
                        type="text"
                        size="small"
                        @click.native.stop="deleteDialog(scope.row)"
                    >删除
                    </el-button
                    >
                </template>
            </el-table-column>
        </el-table>
        <el-pagination
            :page-size="filterQuery.limit"
            @current-change="handleCurrentChange"
            layout="prev, pager, next"
            :total="total"
        ></el-pagination>
    </div>
</template>

<script>
import {deleteLog, filterStatusList} from "../../api/sync/spBasicStatus";

export default {
    data() {
        return {
            filterQuery: {
                orderId: null,
                status: null,
                page: 1,
                limit: 20,
            },
            checked: false,
            list: [],
            total: 0,
            currentRow: null,
            status: {
                1: "等待下载",
                2: "已下载",
            },
            type: {
                1: "耗材字典",
                2: "仓库字典",
                3: "往来单位",
            },
        };
    },

    methods: {
        onReset() {
            this.$router.push({
                path: "",
            });
            this.filterQuery = {
                orderId: null,
                status: null,
                page: 1,
                limit: 20,
            };
            this.getList();
        },
        getList() {
            this.loading = true;
            filterStatusList(this.filterQuery)
                .then((response) => {
                    this.loading = false;
                    this.list = response.data.list || [];
                    this.total = response.data.total || 0;
                })
                .catch(() => {
                    this.loading = false;
                    this.list = [];
                    this.total = 0;
                });
        },
        handleCurrentChange(val) {
            this.filterQuery.page = val;
            this.getList();
        },
        deleteDialog(row) {
            this.$confirm("此操作将删除该记录, 是否继续?", "提示", {
                confirmButtonText: "确定",
                cancelButtonText: "取消",
                type: "warning",
            })
                .then(() => {
                    let dQuery = {
                        orderId: row.orderId,
                    };
                    deleteLog(dQuery)
                        .then((response) => {
                            this.loading = false;
                            if (response.code == 20000) {
                                this.$message.success("删除成功");
                            } else {
                                this.$message.error(response.message);
                            }
                            this.getList();
                        })
                        .catch(() => {
                            this.loading = false;
                        });
                })
                .catch(() => {
                });
        },
        statusFilterType(status) {
            const statusMap = {
                1: "warning",
                2: "success",
            };
            return statusMap[status];
        },
    },
    mounted() {
    },
    components: {},
    created() {
        this.getList();
    },
};
</script>
<style>
.itemTag {
    float: left;
    text-align: left;
    margin-top: 10px;
    width: 100px;
}

.text {
    font-size: 13px;
    font-family: "Microsoft YaHei";
}

.el-row {
    display: flex;
    flex-wrap: wrap;

}

.el-col {
    border-radius: 4px;
    flex-wrap: wrap;
}
</style>
