import React, { Component } from 'react'
import { Card, Space, Typography } from 'antd'
import { api } from 'common/api'
import moment from 'moment'

const { Title, Text, Link } = Typography

export default class inspection extends Component {
    state = {
        status: {},
    }

    async componentDidMount() {
        const { data: status } = await api.inspectionOrgRegisterStatus()
        this.setState({ status })
    }

    render() {
        const { status } = this.state

        const { beginDate, endDate, inspectionOrg } = status

        if (inspectionOrg === null)
            // 未登记
            return (
                <Card bordered={false}>
                    <Space direction="vertical">
                        <Title level={4} className="text-danger">
                            您的机构资质尚未于市住建管理部门备案
                        </Title>
                        <Text>
                            提交备案资料时间：{moment(beginDate).format('MM月DD日')}至
                            {moment(endDate).format('MM月DD日')}，
                            <Link
                                onClick={() =>
                                    window.openContentWindowByMenuName('inspection_org_register')
                                }
                            >
                                前往登记
                            </Link>
                        </Text>
                    </Space>
                </Card>
            )
        else if (inspectionOrg) {
            if (inspectionOrg.status === 0) {
                if (inspectionOrg.updateStatus === 1) {
                    // 登记审核中
                    return (
                        <Card bordered={false}>
                            <Title level={4} className="text-warning">
                                备案登记审核中…
                            </Title>
                        </Card>
                    )
                } else if (inspectionOrg.updateStatus === -1) {
                    // 登记退回
                    return (
                        <Card bordered={false}>
                            <Space direction="vertical">
                                <Title level={4} className="text-danger">
                                    备案登记未通过
                                </Title>
                                <Text>未通过理由：{inspectionOrg.remark}</Text>
                                <Text>
                                    <Link
                                        onClick={() =>
                                            window.openContentWindowByMenuName(
                                                'inspection_org_register'
                                            )
                                        }
                                    >
                                        前往登记
                                    </Link>
                                </Text>
                            </Space>
                        </Card>
                    )
                }
            } else if (inspectionOrg.status === 1) {
                if (inspectionOrg.updateStatus === 2 || inspectionOrg.updateStatus === -2) {
                    // 已登记, 可修改
                    return (
                        <Card bordered={false}>
                            <Title level={4} className="text-success">
                                您的机构资质已通过了市住建管理部门审核
                            </Title>
                            <Text>
                                如有信息变更，您可以
                                <Link
                                    onClick={() =>
                                        window.openContentWindowByMenuName(
                                            'inspection_org_register',
                                            { action: 'edit' }
                                        )
                                    }
                                >
                                    修改备案信息
                                </Link>
                            </Text>
                        </Card>
                    )
                } else if (inspectionOrg.updateStatus === 1) {
                    // 修改审核中
                    return (
                        <Card bordered={false}>
                            <Title level={4} className="text-warning">
                                修改备案信息审核中…
                            </Title>
                        </Card>
                    )
                } else if (inspectionOrg.updateStatus === -1) {
                    // 修改审核退回
                    return (
                        <Card bordered={false}>
                            <Space direction="vertical">
                                <Title level={4} className="text-danger">
                                    修改备案信息未通过
                                </Title>
                                <Text>未通过理由：{inspectionOrg.remark}</Text>
                                <Text>
                                    您可以
                                    <Link
                                        onClick={() =>
                                            window.openContentWindowByMenuName(
                                                'inspection_org_register',
                                                { action: 'edit' }
                                            )
                                        }
                                    >
                                        继续修改
                                    </Link>
                                    或<Link className="text-danger">放弃修改</Link>
                                </Text>
                            </Space>
                        </Card>
                    )
                }
            }
        }

        return <></>
    }
}
