
<template>
    <div>
        <van-sticky offset-top="0">
            <LHeader :text="text"></LHeader>
        </van-sticky>
        <van-sticky offset-top="1.5rem">
            <van-search
                v-model="searchValue"
                show-action
                placeholder="请输入搜索内容"
                @search="onSearch"
            >
                <template #action>
                    <div @click="onSearch">搜索</div>
                </template>
            </van-search>
        </van-sticky>
        <div class="con-list" @touchmove="showIndex = null">
            <van-cell-group
                inset
                v-for="(item, index) in messageList"
                :key="index"
                @click="touchstart(index, item)"
            >
                <van-row gutter="">
                    <van-col span="6">风险编号：</van-col>
                    <van-col span="18">{{ item.id }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">所属项目：</van-col>
                    <van-col span="18">{{ item.pId }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">隐患级别：</van-col>
                    <van-col span="18">{{ item.riskLevel | riskText }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">风险源：</van-col>
                    <van-col span="18">{{ item.riskSource }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">事故类型：</van-col>
                    <van-col span="18">{{ item.accidentType }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">管控层级：</van-col>
                    <van-col span="18">{{ item["controlLevel"] }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">主责部门：</van-col>
                    <van-col span="18">{{ item.responsibilityDept }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">主责人员：</van-col>
                    <van-col span="18">{{ item.responsibilityMember }}</van-col>
                </van-row>
                <van-row gutter="">
                    <van-col span="6">工单状态：</van-col>
                    <van-col span="18">{{ item.taskName }}</van-col>
                </van-row>
                <!-- 长按显示遮罩层 -->
                <van-overlay :show="showIndex == index">
                    <div class="wrapper" @click.stop="showIndex = null">
                        <van-button round type="primary" @click="goDetail(item)"
                            >详情</van-button
                        >
                    </div>
                </van-overlay>
            </van-cell-group>
        </div>
        <div
            style="
                width: 100%;
                text-align: center;
                font-size: 0.48rem;
                position: fixed;
                top: 30%;
            "
            v-if="messageList['length'] == 0"
        >
            暂无数据
        </div>
    </div>
</template>

<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
import { dangerReturnDel, myHDList } from "@/service/danger";

export default {
    components: {
        LHeader,
    },
    data() {
        return {
            value: "",
            text: "我的上报",
            searchValue: "",
            messageList: [],
            Loop: "", // 定时器
            showIndex: null, // 是否显示遮罩层
            active: 0,
            tabs: [
                {
                    title: "我的上报",
                    api: "/riskMain/myList",
                },
                {
                    title: "上报退回",
                    api: "/riskMain/list",
                },
            ],
        };
    },
    created() {
        this.postList();
    },
    methods: {
        postList(select = "") {
            this.$toast.loading({
                message: "加载中...",
                forbidClick: true,
                loadingType: "spinner",
                duration: 0,
            });
            let formdata = new FormData();
            formdata.append("select", select);
            postFun("/riskMain/myList", formdata)
                .then((res) => {
                    this.$toast.clear();
                    this.messageList = res.rows || [];
                })
                .catch(() => {
                    this.$toast.clear();
                    this.$toast.fail("加载失败,请稍后再试");
                });
        },

        onSearch() {
            // console.log(this.value)
            this.postList(this.value);
        },
        touchstart(index, item) {
            if (this.showIndex != null) {
                this.showIndex = null;
                return;
            }
            this.showIndex = index;
        },
        goDetail(data) {
            this.$router.push({
                // name: "insert-danger-detail",
                name: "risk-big-detail",
                params: {
                    id: data.id,
                },
            });
            this.showIndex = null;
        },
        // 提交
        goSubmit(data) {
            this.$router.push({
                name: "add-danger",
                params: {
                    status: "退回",
                    taskId: data.taskId,
                },
            });
            this.showIndex = null;
        },
        // 删除
        goDelete(data) {
            this.$toast.loading({
                message: "删除中...",
                forbidClick: true,
                loadingType: "spinner",
                duration: 0,
            });
            dangerReturnDel(`/hdreport/delete/${data.taskId}`)
                .then((res) => {
                    this.$toast.clear();
                    this.$toast.success({
                        message: "删除成功",
                        duration: 2000,
                    });
                    this.postList();
                })
                .catch(() => {
                    this.$toast.clear();
                    this.$toast.fail("删除失败,请稍后再试");
                });
            this.showIndex = null;
        },
    },
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
#app {
    font-family: "";
    color: #2c3e50;
}
.con-list {
    padding: 0;
    background-color: #f0f1f5;
    .van-cell-group--inset {
        margin: 0;
        margin-bottom: 0.26667rem;
        padding: 0.25rem;
        font-size: 0.4rem;
        position: relative;
        border-radius: 4%;
        box-shadow: 0px 0px 10px 2px #f3f3f3;
        width: 90%;
        margin: 0.4rem auto;
        .van-row {
            font-size: 0.4rem;
            line-height: 0.8rem;
            margin-bottom: 0;
        }
        .van-overlay {
            position: absolute;
            .wrapper {
                display: flex;
                align-items: center;
                justify-content: space-evenly;
                height: 100%;
            }
        }
    }
}
</style>
