hooks 卫腾达例子 new

import React, { useState, useCallback, useEffect, useLayoutEffect } from 'react'
import { Checkbox, DatePicker, Tabs, Table, Select } from "antd";
import moment from 'moment';
import locale from "antd/es/date-picker/locale/zh_CN";
import Title from '../../components/Title'
import TableList from '../../components/TableList';
import CheckedList from "../../components/CheckedList";

import XLSX from 'xlsx'
import { SearchOutlined } from '@ant-design/icons';


import MyReport from './MyReport';
import VisualReport from './visual_report/VisualReport';
import VisualReportForBu from './visual_report/BuVisualReport';

import AlertUtil from "../../utils/AlertUtil";
import ApiUtils from '../../utils/ApiUtils';
import Utils from '../../utils/Utils';
import PageNav from "../navigation/PageNav";
import History from "../historical_changes/Historicalchanges";
import FileUpload from '../../components/FileUpload';
const CheckboxGroup = Checkbox.Group;
const columns = [
    { title: '指标编码', sort: 'indexCode', key: 'indexCode' },
    { title: '指标名称', sort: 'indexName', key: 'indexName' },
    { title: '指标主题', sort: 'indexTheme', key: 'indexTheme' },
    { title: '指标类型', sort: 'indexType', key: 'indexType' },
    { title: '计量单位', sort: 'unit', key: 'unit' },
    // { title: '指标口径', sort: 'caliber', key: 'caliber'},
    // { title: '规口管理部门', sort: 'centralizedManagement', key: 'centralizedManagement'},
    // { title: '统计频率', sort: 'statisticalFrequency', key: 'statisticalFrequency'},
    // { title: '统计时间', sort: 'statisticalTime', key: 'statisticalTime'},
    // { title: '数据来源', sort: 'dataSources', key: 'dataSources'},
    // { title: '指标状态', sort: 'indexState', key: 'indexState'},
    // { title: '是否PKI', sort: 'isKpi', key: 'isKpi'},
    { title: '操作历史', sort: 'viewhis', key: 'viewhis' },
    // {
    //   title: 'Action',
    //   dataIndex: '',
    //   key: 'x',
    //   render: () => <a>Delete</a>,
    //   width:'150rem'
    // },
];

const datasource = [
    {
        key: 1,
        name: 'John Brown',
        age: 32,
        address: 'New York No. 1 Lake Park',
        description: 'My name is John Brown, I am 32 years old, living in New York No. 1 Lake Park.',
    },
    {
        key: 2,
        name: 'Jim Green',
        age: 42,
        address: 'London No. 1 Lake Park',
        description: 'My name is Jim Green, I am 42 years old, living in London No. 1 Lake Park.',
    },
    {
        key: 3,
        name: 'Not Expandable',
        age: 29,
        address: 'Jiangsu No. 1 Lake Park',
        description: 'This not expandable',
    },
    {
        key: 4,
        name: 'Joe Black',
        age: 32,
        address: 'Sidney No. 1 Lake Park',
        description: 'My name is Joe Black, I am 32 years old, living in Sidney No. 1 Lake Park.',
    },
];

export default function ReportManagement(props: any) {

    useEffect(() => {
        localStorageUpdated()
        GetReportInit();
        getBU()
        search_click(null)
        props.history.location.state&&props.history.location.state.option&&setOpenStates(props.history.location.state.option)
    }, []);

    const localStorageUpdated = () => {
        var _this = localStorage.getItem("localstorage-status")
        _this == "false" ? setFontColor("#302F2C") : setFontColor('rgb(244 76 76)')
        window.addEventListener("setItemEvent", (e: any) => {
            if (e.key == 'localstorage-status') {
                var _this = localStorage.getItem("localstorage-status")
                console.log(e.newValue)
                e.newValue == "false" ? setFontColor("#302F2C") : setFontColor('rgb(244 76 76)')
            }
        });
    }
    /* --- 数据 ----*/
    const [rendreport, setRendreport] = useState<any>(0);
    const [tabledata, setTabledata] = useState<any>([]);
    const [tablecolumns, setTablecolumns] = useState<any>(columns)
    const [condtiontime, setCondtiontime] = useState<any>({ stime: '', etime: '' });
    const [tasktype, setTasktype] = useState<any>({
        核保: false, 理赔: false, 保全: false, 通用: false,
    });
    const [CollectList, setCollectList] = useState<any>()
    const [extract, setExtract] = useState<any>({
        "rid": "",
        "reportCode": "",
        reportModule: null,
        "reportStatus": "",
        "reportName": "",
        "reportTheme": "",
        "reportPurpose": "",
        "keyIndicators": "",
        "reportRange": "",
        "presentationDimension": "",
        "reportType": "",
        "centralizedManagement": "",
        "userDepartment": "",
        "usageFrequency": "",
        "originalReport": "",
        "userId": "",
        starttime: '',
        endtime: '',
        SSO: null,
        BU: null,
        CITY: null,
    });
    const [checkedList, setCheckedList] = useState<any>({
        SSO: ["S-SSO", "N-SSO"],
        BU: [],
        CITY: [],
    })
    const [viewHistory, setViewHistory] = useState<any>({
        tunon: false,
        rootId: ''
    });
    //search 的条件
    const [queryCondtion, setQueryCondtion] = useState<any>(
        {
            rid: "",
            reportCode: "",
            reportModule: "",
            reportStatus: "",
            reportName: "",
            reportTheme: "",
            reportPurpose: "",
            keyIndicators: "",
            reportRange: "",
            presentationDimension: "",
            reportType: null,
            centralizedManagement: null,
            userDepartment: null,
            usageFrequency: "",
            originalReport: "",
            userId: "",
            sso: '',
            bu: '',
            city: ''
        }
    );
    //信息和修改的载体
    const [editCondtion, setEditCondtion] = useState<any>(
        {
            rid: "",
            reportCode: "",
            reportModule: "",
            reportStatus: "",
            reportName: "",
            reportTheme: "",
            reportPurpose: "",
            keyIndicators: "",
            reportRange: "",
            presentationDimension: "",
            reportType: null,
            centralizedManagement: null,
            userDepartment: null,
            usageFrequency: null,
            originalReport: "",
            userId: "",
            belongingDepartment: "",
            sso: '',
            bu: '',
            city: ''
        }
    );
    const [quotaConfig, setQuotaConfig] = useState<any>();
    const [authlist, setAuthlist] = useState<any>()
    const [open, setOpen] = useState<any>(props.history.location.state ? true : false)
    const [openStates, setOpenStates] = useState<any>("UNI")
    const [xFontColor, setFontColor] = useState<any>("#000")

    const { Option } = Select;
    const { TabPane } = Tabs;
    const { RangePicker } = DatePicker;
    //多选框状态
    const [checked, setChecked] = useState<any>({
        reportModule: false,
        centralizedManagement: false,
        userDepartment: false,
        edit_userDepartment: false,
        usageFrequency: false,
        extract_reportModule: false,
        extract_SSO: false,
        extract_BU: false,
        extract_CITY: false

    })
    // 复选框下拉框初始化数据
    const GetReportInit = () => {
        ApiUtils.ReportInit().then((res: any) => {
            if (res && res.code == 0) {
                setQuotaConfig(res.data.data)
            } else {
                AlertUtil.warningMsg(res.msg)
            }
        })
    }

    //BU
    const getBU = () => {
        ApiUtils.getBuByOrg().then((res: any) => {

            res && setCheckedList({
                ...checkedList,
                BU: res.data,

            })
        })

        console.log(checkedList)

    }
    //CITY
    const getCITY = (data: any) => {
        let jsonDate = data != null ? data.join(',') : ''
        ApiUtils.getCityByBu(jsonDate).then((res: any) => {
            res && setCheckedList({
                ...checkedList,
                CITY: res.data,


            })
        })



    }

    /* --- 方法----*/
    const table_rowclick = (rowitem: any) => {
        // console.log(rowitem,e,"sso2-quota")
        // if(!e.target.matches('span')){
        setRendreport(1)

        if (rowitem != '') {

            setEditCondtion({
                rid: rowitem.rid,
                reportCode: rowitem.reportCode,
                reportModule: rowitem.reportModule,
                reportName: rowitem.reportName,
                reportStatus: rowitem.reportStatus,
                reportPurpose: rowitem.reportPurpose,
                keyIndicators: rowitem.keyIndicators,
                reportRange: rowitem.reportRange,
                presentationDimension: rowitem.presentationDimension,
                reportType: rowitem.reportType,
                caliber: rowitem.caliber,
                centralizedManagement: rowitem.centralizedManagement,
                userDepartment: rowitem.userDepartment ? rowitem.userDepartment.split(',') : rowitem.userDepartment,
                usageFrequency: rowitem.usageFrequency ? rowitem.usageFrequency.split('/') : rowitem.usageFrequency,
                originalReport: rowitem.originalReport,
                userId: rowitem.userId,
                belongingDepartment: rowitem.belongingDepartment
            })
        }
    }

    const RowDoubleClick = (record: any) => {
        table_rowclick(record)
    }

    const TableRowClick = () => {
        let RowElement: any = document.getElementsByClassName('table_container')
        if (RowElement.length) {
            console.log(RowElement[0].children, "sso2-rep")
        }
    }

    const search_click = async (type: any) => {
        let search_condtion: any
        if (type === 'page') {
            //页面条件
            search_condtion = {
                reportCode: queryCondtion.reportCode,
                reportName: queryCondtion.reportName,
                reportTheme: queryCondtion.indexTheme,
                centralizedManagement: queryCondtion.centralizedManagement != null ? queryCondtion.centralizedManagement.join(',') : '',
                userDepartment: queryCondtion.userDepartment != null ? queryCondtion.userDepartment.join(',') : '',
                // reportModule: Object.entries(tasktype).filter((el: any) => el[1] == true).map((el: any) => el[0]).join(','),
                reportModule: queryCondtion.reportModule  ? queryCondtion.reportModule.join(',') : '',
                userId: ApiUtils.userInfo.userId
            }
        } else {
            search_condtion = {
                reportCode: '',
                reportName: '',
                reportTheme: '',
                centralizedManagement: '',
                userDepartment: '',
                reportModule: '',
                userId: ApiUtils.userInfo.userId
            }
        }

        // if (type == "4") {
        //     await ApiUtils.CollectList(ApiUtils.userInfo.userId).then((res: any) => {
        //         if (res && res.code == 0) {
        //             setCollectList(res.data)
        //         }
        //     })
        // }

            await ApiUtils.GetReportList(search_condtion).then((res: any) => {
                if (res && res.code == 0) {
                    // console.log(res,"sso2-quota")
                    //format thead
                    let arr: any = []
                    let column: any
                    let attributeName: any
                    let columnrow = {
                        "reportCode": queryCondtion.reportCode,
                        "reportName": queryCondtion.reportName,
                        // "indexTheme": queryCondtion.reportName,
                        "reportPurpose": queryCondtion.reportPurpose,
                        "reportModule": queryCondtion.reportModule,
                        "reportStatus": queryCondtion.reportStatus,
                        "reportType": queryCondtion.reportType,
                        "centralizedManagement": queryCondtion.centralizedManagement,
                    }

                    Object.keys(columnrow).map((el: any) => {
                        // console.log(el,"sso2-dic")
                        switch (el) {
                            case 'reportCode':
                                attributeName = '报表编码'
                                break;
                            case 'reportName':
                                attributeName = '报表名称'
                                break;
                            case 'reportModule':
                                attributeName = '任务类型'
                                break;
                            case 'reportStatus':
                                attributeName = '报表状态'
                                break;
                            case 'reportPurpose':
                                attributeName = '报表用途概述'
                                break;
                            case 'keyIndicators':
                                attributeName = '所含关键指标'
                                break;
                            case 'reportRange':
                                attributeName = '报表范围框定条件'
                                break;
                            case 'presentationDimension':
                                attributeName = '报表数据列示维度'
                                break;
                            case 'reportType':
                                attributeName = '报表类型'
                                break;
                            // case 'caliber':
                            //     attributeName='报表口径'
                            //     break;
                            case 'centralizedManagement':
                                attributeName = '归口管理部门'
                                break
                            case 'userDepartment':
                                attributeName = '报表使用部门'
                                break
                            case 'usageFrequency':
                                attributeName = '报表使用频率'
                                break
                            case 'originalReport':
                                attributeName = '原报表名称'
                                break
                            case 'userId':
                                attributeName = '用户id'
                                break
                            case 'belongingDepartment':
                                attributeName = '报表所在系统'
                                break
                        }


                        if (attributeName == '报表名称' || attributeName == '报表用途概述') {
                            arr.push({
                                "title": attributeName,
                                "sort": el,
                                "width": "250",
                                "align": "center"
                            })
                        } else if(attributeName=="报表编码"){
                            arr.push({
                                "title": attributeName,
                                "sort": el,
                                "width": "156",
                                "align": "center"
                            })
                        }else{
                            arr.push({
                                "title": attributeName,
                                "sort": el,
                                "width": "100",
                                "align": "center"
                            })
                        }
                    })
                    setTablecolumns([...arr, { title: '操作', sort: 'viewhis', "width": "250", key: 'viewhis' },])
                    setTabledata(res.data.map((item: any) => {
                        item = {
                            "reportCode": item.reportCode,
                            "rid": item.rid,
                            // "taskType": queryCondtion.taskType,
                            "reportName": item.reportName,
                            // "indexCategory": queryCondtion.indexCategory,
                            // "indexSubclass": queryCondtion.indexSubclass,
                            "indexTheme": item.reportName,
                            // "indexDefinition": queryCondtion.indexDefinition,
                            // "formula": queryCondtion.formula,
                            "reportPurpose": item.reportPurpose,
                            "reportModule": item.reportModule,
                            "reportStatus": item.reportStatus,
                            "keyIndicators": item.keyIndicators,
                            "reportRange": item.reportRange,
                            "presentationDimension": item.presentationDimension,
                            "reportType": item.reportType,
                            "centralizedManagement": item.centralizedManagement,
                            "userDepartment": item.userDepartment,
                            "usageFrequency": item.usageFrequency,
                            "originalReport": item.originalReport,
                            "userId": item.userId,
                            belongingDepartment: item.belongingDepartment,
                            "viewhis": [<a title='查看操作历史' key={'history' + item.rid} onClick={() => setViewHistory({ tunon: true, rootId: item.rid })}>操作历史</a>, <a key={'extract' + item.rid} title='抽取' onClick={() => extractRow(item)}>抽取</a>, <a title='报表修改' key={'modfly' + item.rid} onClick={() => modfly(item)}>修改</a>]
                        }
                        return item
                    }))
                }
            })
        }

    const search_tasktype = (type: any, value: any, e: any) => {
        console.log(type, value, e.target, "sso2-dic")
        setTasktype({
            ...tasktype,
            [type]: value
        })
    }

    const clear_click = () => {
        setQueryCondtion({
            "rid": null,
            "reportCode": '',
            "reportModule": null,
            "reportStatus": null,
            "reportName": '',
            "reportTheme": null,
            "reportPurpose": null,
            "keyIndicators": null,
            "reportRange": null,
            "presentationDimension": null,
            "reportType": null,
            "centralizedManagement": null,
            "userDepartment": null,
            "usageFrequency": null,
            "originalReport": null,
            "userId": null,
        })
        setTasktype({
            核保: false, 理赔: false, 保全: false, 通用: false,
        })

    }

    const clear_extract = () => {
        setExtract({
            "rid": null,
            "reportCode": null,
            "reportModule": '',
            "reportStatus": null,
            "reportName": null,
            "reportTheme": null,
            "reportPurpose": null,
            "keyIndicators": null,
            "reportRange": null,
            "presentationDimension": null,
            "reportType": null,
            "centralizedManagement": null,
            "userDepartment": null,
            "usageFrequency": null,
            "originalReport": null,
            "userId": null,
            model: '',
            starttime: null,
            endtime: null,
            SSO: null,
            BU: null,
            CITY: null,
        })
        setCondtiontime({ ...condtiontime, stime: '', etime: '' })
        // setCheckedList({ SSO: [], BU: [], CITY: [] })
    }

    const checkbox_click = (quota: any, value: any) => {
        setEditCondtion({
            ...editCondtion,
            [quota]: value,
        })
    }
    const checkbox_click_select = (value: any, quota: any) => {

        setEditCondtion({
            ...editCondtion,
            [quota]: value,
        })
    }
    const checkbox_click_search = (quota: any, value: any) => {
        setQueryCondtion({
            ...queryCondtion,
            [quota]: value,
        })
    }

    //时间组件触发函数
    const EnddisabledDate = (current: any) => {

        return current && current < moment(`${JSON.stringify(condtiontime.stime)}}`, 'YYYY-MM-DD')
    }
    const StartdisabledDate = (current: any) => {

        return current && current > moment(`${JSON.stringify(condtiontime.etime)}}`, 'YYYY-MM-DD')
    }
    const cstime = (value: any, dateString: any) => {
        setCondtiontime({ ...condtiontime, stime: dateString })
        console.log(dateString, condtiontime, "sso2-report")
    }
    const cetime = (value: any, dateString: any) => {
        setCondtiontime({ ...condtiontime, etime: dateString })
        console.log(dateString, condtiontime, "sso2-report")
    }

    const modfily_comit = async () => {

        let reqlist = {
            "rid": editCondtion.rid,
            "reportCode": editCondtion.reportCode ? editCondtion.reportCode : (AlertUtil.errorMsg('编码不能为空'), null),
            "reportModule": editCondtion.reportModule,//
            "reportStatus": editCondtion.reportStatus ? editCondtion.reportStatus : (AlertUtil.errorMsg('报表状态不能为空'), null),
            "reportName": editCondtion.reportName ? editCondtion.reportName : (AlertUtil.errorMsg('报表名称不能为空'), null),
            "reportTheme": editCondtion.reportTheme,
            "reportPurpose": !editCondtion.reportPurpose ? (AlertUtil.errorMsg('报表用途概述不能为空')) : editCondtion.reportPurpose.length > 60 ? (AlertUtil.errorMsg('报表用途概述长度超过“60个字符!”'), null) : editCondtion.reportPurpose,
            "keyIndicators": editCondtion.keyIndicators ? editCondtion.keyIndicators : (AlertUtil.errorMsg('所含关键指标不能为空'), null),
            "reportRange": editCondtion.reportRange ? editCondtion.reportRange : (AlertUtil.errorMsg('报表范围框定条件不能为空'), null),
            "presentationDimension": editCondtion.presentationDimension,
            "reportType": editCondtion.reportType ? editCondtion.reportType : (AlertUtil.errorMsg('报表类型不能为空'), null),
            "centralizedManagement": editCondtion.centralizedManagement ? editCondtion.centralizedManagement : (AlertUtil.errorMsg('归口管理部门不能为空'), null),
            "userDepartment": editCondtion.userDepartment != null ? editCondtion.userDepartment.join(',') : (AlertUtil.errorMsg('报表使用部门不能为空'), null),
            "usageFrequency": editCondtion.usageFrequency != null ? editCondtion.usageFrequency.join(',') : (AlertUtil.errorMsg('报表使用频率不能为空'), null),
            "originalReport": editCondtion.originalReport,
            "userId": ApiUtils.userInfo.userId,
            belongingDepartment: !editCondtion.belongingDepartment ? (AlertUtil.errorMsg('报表所在系统不能为空')) : editCondtion.belongingDepartment.length > 100 ? (AlertUtil.errorMsg('报表所在系统长度超过“100个字符!”'), null) : editCondtion.belongingDepartment,
            sso: '',
            bu: '',
            city: ''
        }
        if (!reqlist.reportCode || !reqlist.reportName || !reqlist.centralizedManagement || !reqlist.reportType || !reqlist.reportStatus || !reqlist.userDepartment || !reqlist.usageFrequency || !reqlist.belongingDepartment || !reqlist.reportPurpose || !reqlist.keyIndicators || !reqlist.reportRange) {
            return
        }
        await ApiUtils.UpdateReport(reqlist).then((res: any) => {
            if (res && res.code == 0) {
                AlertUtil.showMsg('修改成功!')
            } else {
                AlertUtil.warningMsg(res.msg)
            }
        })


        search_click(null)

        setRendreport(2)
    }

    const modfly = (rowitem: any) => {
        console.log(rowitem)
        ApiUtils.isPurview("F1501") ? setRendreport(2) : AlertUtil.errorMsg('您没报表修改权限!')
        if (rowitem != '') {
            setEditCondtion({


                rid: rowitem.rid,
                reportCode: rowitem.reportCode,
                reportModule: rowitem.reportModule,
                reportStatus: rowitem.reportStatus,
                reportName: rowitem.reportName,
                reportPurpose: rowitem.reportPurpose,
                keyIndicators: rowitem.keyIndicators,
                reportRange: rowitem.reportRange,
                presentationDimension: rowitem.presentationDimension,
                reportType: rowitem.reportType,
                centralizedManagement: rowitem.centralizedManagement,
                userDepartment: rowitem.userDepartment ? rowitem.userDepartment.split('/') : rowitem.userDepartment,
                usageFrequency: rowitem.usageFrequency ? rowitem.usageFrequency.split('/') : rowitem.usageFrequency,
                originalReport: rowitem.originalReport,
                userId: ApiUtils.userInfo.userId,
                belongingDepartment: rowitem.belongingDepartment
            })
        }


    }

    const scribeReport = () => {
        let userid = ApiUtils.userInfo.userId
        ApiUtils.CollectReport(editCondtion.rid, ApiUtils.userInfo.userId).then((res: any) => {
            if (res && res.code == 0) {
                AlertUtil.showMsg('收藏成功!')
            } else {
                AlertUtil.showMsg(res.msg)
            }
        })

        ApiUtils.CollectList(ApiUtils.userInfo.userId).then((res: any) => {
            if (res && res.code == 0) {
                setCollectList(res.data)
            }
        })

        search_click(null)

    }

    const Extract = (item: any) => {

    }



    const BuildReport = () => {
        let reqlist = {
            reportCode: extract.reportCode,
            reportModule: extract.reportModule ? extract.reportModule.join(',') : '',
            frequency: extract.frequency,
            startDate: condtiontime.stime,
            endDate: condtiontime.etime,
            zoneflg: extract.SSO ? extract.SSO.join(',') : '',
            model: extract.model,
            bu: extract.BU ? extract.BU.join(',') : '',
            city: extract.CITY ? extract.CITY.join(',') : '',
            name: extract.name
            // frequency    适用频率        false
            // startDate    起始时间        false
            // endDate    终止时间        false
            // zoneflg    SSO        false
            // model    任务类型        false
            // bu
            // city
        }
        if (reqlist.startDate == '') {
            AlertUtil.showMsg('请先选择起始日期!')
        } else if (reqlist.endDate == '') {
            AlertUtil.showMsg('请先选择终止日期!')
        } else if (reqlist.model == '') {
            AlertUtil.showMsg('请先选择任务类型!')
        }
        // else if (reqlist.zoneflg == '') {
        //     AlertUtil.showMsg('请先选择SS0!')
        // } else if (reqlist.bu == '') {
        //     AlertUtil.showMsg('请先选择BU!')
        // } else if (reqlist.city == '') {
        //     AlertUtil.showMsg('请先选择CITY!')
        // } 
        else {
            ApiUtils.ExtractReport(reqlist)
        }
    }

    //Excel导出
    const onExportExcel = (file: any) => {

        let workbook: any = {
            SheetNames: [],
            Sheets: {}
        };

        if (tabledata != undefined && tabledata.length) {
            let ws = XLSX.utils.json_to_sheet([...tabledata]);
            let wb = XLSX.utils.book_new()
            XLSX.utils.book_append_sheet(wb, ws, '指标查询') // 工作簿名称
            XLSX.writeFile(wb, '.\指标查询.xlsx') // 保存的文件名
        } else {
            AlertUtil.errorMsg('当前无表格数据!')
        }

        // ApiUtils.downloadFile(`/index/manage/getTemplate`, null, '参数导入模板.xlsx')

    }

    const extractRow = (itemrow: any) => {
        let authlist = ApiUtils.userInfo
        let coecode = ['002', '00200', '00201', '00202', '003', '004', '005', '006', '00600', '0060000', '00602', '0060200']
        console.log(authlist, "sso2-report")
        // if (authlist.orgCategory == 'CHO' || coecode.includes(authlist.orgCode) && itemrow.userDepartment.includes('SSO' || 'BU') || authlist.orgCategory == 'BU') {
        setRendreport(3)
        setExtract({


            "reportCode": itemrow.reportCode,
            "reportModule":itemrow.reportModule? itemrow.reportModule.split(','):null,
            "frequency": itemrow.usageFrequency,
            "startDate": condtiontime.stime,
            "endDate": condtiontime.etime,
            SSO: null,
            "model": itemrow.reportType,
            BU: null,
            CITY: null,
            name: itemrow.reportName
        })
        // }
        // else {
        //     AlertUtil.errorMsg('您无权抽取该报表!')
        // }
    }

    const render_report = () => {
        // if (ApiUtils.isPurview("F1500") && rendreport == 1 || ApiUtils.isPurview("F1501") && rendreport == 2){
        if (rendreport == 1 || rendreport == 2) {
            return <div className='base_report'>
                <div className='report_basic'>
                    <div className='lab_sp'>
                        <div className='search_resul_rectangle'></div>
                        <span>报表基本信息</span>
                    </div>
                    <div className="close" onClick={() => setRendreport(0)}>
                        <span></span>
                        <img src={(window.rootUrl + "/images/deletebtn.svg")} alt="" />
                    </div>
                    <div className='report_basic_line1'>
                        <div >
                            <span>编码</span>
                            {
                                rendreport == 1 &&
                                <input className="disable" value={editCondtion.reportCode} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <input className="disable" type="text" value={editCondtion.reportCode} onChange={(e: any) => checkbox_click('reportCode', e.target.value)} disabled />
                            }
                        </div>
                        <div >
                            <span>报表名称</span>
                            {
                                rendreport == 1 &&
                                <Select defaultValue={editCondtion.reportName} className="disable" allowClear disabled>
                                    {quotaConfig.reportName.map((item: any, index: any) => {
                                        return <Option key={`reportName${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                            }
                            {
                                rendreport == 2 &&
                                <Select defaultValue={editCondtion.reportName} style={{ background: '#f8f8f8' }} onChange={(e: any) => checkbox_click_select(e, 'reportName')} allowClear >
                                    {quotaConfig.reportName.map((item: any, index: any) => {
                                        return <Option key={`reportName${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                                // <input type="text" value={editCondtion.reportName} onChange={(e: any) => checkbox_click('reportName', e.target.value)} />
                            }
                        </div>
                        {/* <div >
                            <span>报表主题</span>
                            {
                                rendreport == 1 &&
                                <input type="text" style={{ background: '#f8f8f8' }} value={editCondtion.reportName} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <input type="text" value={editCondtion.reportName} onChange={(e: any) => checkbox_click('reportName', e.target.value)} />
                            }

                        </div> */}
                        <div >
                            <span>报表状态</span>
                            {
                                rendreport == 1 &&
                                <Select defaultValue={editCondtion.reportStatus} className="disable" allowClear disabled>
                                    {quotaConfig.reportStatus.map((item: any, index: any) => {
                                        return <Option key={`reportStatus${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                            }
                            {
                                rendreport == 2 &&
                                <Select defaultValue={editCondtion.reportStatus} style={{ background: '#f8f8f8' }} onChange={(e: any) => checkbox_click_select(e, 'reportStatus')} allowClear>
                                    {quotaConfig.reportStatus.map((item: any, index: any) => {
                                        return <Option key={`reportStatus${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                            }
                        </div>
                    </div>
                    <div className='report_basic_line2'>
                        <div >
                            <span>报表类型</span>
                            {
                                rendreport == 1 &&
                                <Select defaultValue={editCondtion.reportType} className="disable" allowClear disabled>
                                    {quotaConfig.reportType.map((item: any, index: any) => {
                                        return <Option key={`reportType${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                                // <input type="text" style={{ background: '#f8f8f8' }} value={editCondtion.reportType} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <Select defaultValue={editCondtion.reportType} style={{ background: '#f8f8f8' }} onChange={(e: any) => checkbox_click_select(e, 'reportType')} allowClear>
                                    {quotaConfig.reportType.map((item: any, index: any) => {
                                        return <Option key={`reportType${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                                // <input type="text" value={editCondtion.reportType} onChange={(e: any) => checkbox_click('reportType', e.target.value)} />
                            }

                        </div>
                        <div >
                            <span>归口管理部门</span>
                            {
                                rendreport == 1 &&
                                <Select defaultValue={editCondtion.centralizedManagement} className="disable" disabled allowClear>
                                    {quotaConfig.centralizedManagement.map((item: any, index: any) => {
                                        return <Option key={`centralizedManagement${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                                // <input type="text" style={{ background: '#f8f8f8' }} value={editCondtion.centralizedManagement} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <Select defaultValue={editCondtion.centralizedManagement} style={{ background: '#f8f8f8' }} onChange={(e: any) => checkbox_click_select(e, 'centralizedManagement')} allowClear>
                                    {quotaConfig.centralizedManagement.map((item: any, index: any) => {
                                        return <Option key={`centralizedManagement${index}`} value={item}>{item}</Option>

                                    })}
                                </Select>
                                // <input type="text" value={editCondtion.centralizedManagement} onChange={(e: any) => checkbox_click('centralizedManagement', e.target.value)} />
                            }

                        </div>
                        <div>
                            <span>报表使用部门:</span>
                            {
                                rendreport == 1 &&
                                <div className='DivInput disable'>
                                    {
                                        editCondtion.userDepartment ? (editCondtion.userDepartment.length <= 2 ? editCondtion.userDepartment.map((value: React.ReactNode, index: string | number | undefined) => {
                                            return <p key={index}>{value}</p>
                                        }) :
                                            <Title data={editCondtion.userDepartment} shu={2} />

                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                    }
                                    <SearchOutlined className='svg' />
                                </div>
                            }
                            {
                                rendreport == 2 &&
                                <div className='DivInput'>
                                    {
                                        editCondtion.userDepartment ? (editCondtion.userDepartment.length <= 2 ? editCondtion.userDepartment.map((value: React.ReactNode, index: string | number | undefined) => {
                                            return <p key={index}>{value}</p>
                                        }) :
                                            <Title data={editCondtion.userDepartment} shu={2} />

                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                    }
                                    <SearchOutlined className='svg' onClick={() => checkcall('edit_userDepartment')} />
                                </div>
                            }


                        </div>

                    </div>
                    <div className='report_basic_line3'>
                        <div >
                            <span>统计频率</span>
                            {
                                rendreport == 1 &&
                                <div className='DivInput disable'>
                                    {
                                        editCondtion.usageFrequency ? (editCondtion.usageFrequency.length <= 2 ? editCondtion.usageFrequency.map((value: React.ReactNode, index: string | number | undefined) => {
                                            return <p key={index}>{value}</p>
                                        }) :
                                            <Title data={editCondtion.usageFrequency} shu={2} />

                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                    }
                                    <SearchOutlined className='svg' />
                                </div>
                            }
                            {
                                rendreport == 2 &&
                                <div className='DivInput'>
                                    {
                                        editCondtion.usageFrequency ? (editCondtion.usageFrequency.length <= 2 ? editCondtion.usageFrequency.map((value: React.ReactNode, index: string | number | undefined) => {
                                            return <p key={index}>{value}</p>
                                        }) :
                                            <Title data={editCondtion.usageFrequency} shu={2} />

                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                    }
                                    <SearchOutlined className='svg' onClick={() => checkcall('usageFrequency')} />
                                </div>
                            }

                        </div>
                        <div >
                            <span>报表所在系统</span>
                            {
                                rendreport == 1 &&
                                <input type="text" className="disable" value={editCondtion.belongingDepartment} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <input type="text" value={editCondtion.belongingDepartment} onChange={(e: any) => checkbox_click('belongingDepartment', e.target.value)} />
                            }
                        </div>
                        <div></div>

                    </div>
                    <div className='report_basic_line4'>
                        <div >
                            <span>报表用途概述</span>
                            {
                                rendreport == 1 &&
                                <textarea className="disable" value={editCondtion.reportPurpose} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <textarea value={editCondtion.reportPurpose} onChange={(e: any) => checkbox_click('reportPurpose', e.target.value)} />
                            }

                        </div>
                        <div >
                            <span>报表范围框定条件</span>
                            {
                                rendreport == 1 &&
                                <textarea className="disable" value={editCondtion.reportRange} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <textarea className='disable' style={{ background: '#f8f8f8' }} value={editCondtion.reportRange} disabled onChange={(e: any) => checkbox_click('reportRange', e.target.value)} />
                            }
                        </div>
                    </div>

                    <div className='report_basic_line6'>
                        <div >
                            <span>所含关键指标</span>
                            {
                                rendreport == 1 &&
                                <textarea className="disable" value={editCondtion.keyIndicators} disabled />
                            }
                            {
                                rendreport == 2 &&
                                <textarea className='disable' style={{ background: '#f8f8f8' }} value={editCondtion.keyIndicators} onChange={(e: any) => checkbox_click('keyIndicators', e.target.value)} disabled />
                            }

                        </div>


                    </div>

                    {
                        rendreport == 1 &&
                        <div className='cancel'>
                            <button className='btn_white hoverBorder2' onClick={() => { setRendreport(0) }} >取消</button>
                            <button className={CollectList != null && CollectList.filter((el: any) => el.rid == editCondtion.rid).length > 0 ? 'btn_white disable btn_return' : 'btn_white hoverBorder2  btn_return'} onClick={() => CollectList != null && CollectList.filter((el: any) => el.rid == editCondtion.rid).length > 0 ? null : scribeReport()} >收藏</button>
                            <button style={{ marginLeft: "15rem" }} className='btn_return btn_white  hoverBorder2' onClick={() => { ApiUtils.isPurview("F1501") ? setRendreport(2) : AlertUtil.errorMsg('您没报表修改权限!') }}>修改</button>

                        </div>
                    }
                    {
                        rendreport == 2 &&
                        <div className='cancel'>
                            <button className='btn_white hoverBorder2' onClick={() => { setRendreport(0) }} >取消</button>
                            <button className={CollectList != null && CollectList.filter((el: any) => el.rid == editCondtion.rid).length > 0 ? 'btn_white disable btn_return' : 'btn_white hoverBorder2  btn_return'} onClick={() => CollectList != null && CollectList.filter((el: any) => el.rid == editCondtion.rid).length > 0 ? null : scribeReport()} >收藏</button>
                            <button style={{ marginLeft: "15rem" }} className='btn_return btn_red  hoverBorder2' onClick={modfily_comit}>提交</button>

                        </div>
                    }
                    <div style={{ clear: 'both' }}></div>
                </div>
            </div>
        }
    }


    //多选框点击弹出

    const checkcall = (val: any) => {
        setChecked({
            ...checked,
            [val]: true
        })
    }

    const reportModule_callback = (val: any, list: any, chk: any) => {
        console.log(list)
        setChecked({
            ...checked,
            reportModule: val
        })
        setQueryCondtion({
            ...queryCondtion,
            reportModule: list ? list : null
        })
    }
    const extract_reportModule_callback = (val: any, list: any, chk: any) => {
        console.log(list)
        setChecked({
            ...checked,
            extract_reportModule: val
        })
        setQueryCondtion({
            ...extract,
            reportModule: list ? list : null
        })
    }
    const extract_SSO_callback = (val: any, list: any, chk: any) => {
        console.log(list)
        setChecked({
            ...checked,
            extract_SSO: val
        })
        setExtract({
            ...extract,
            SSO: list ? list : null
        })
    }
    const extract_BU_callback = (val: any, list: any, chk: any) => {
        let BU_list: any = [];
        setChecked({
            ...checked,
            extract_BU: val
        })
        if (list) {
            checkedList.BU.forEach((item: any) => {
                list.forEach((i: any) => {
                    if (i == item.ORG_NAME) {
                        BU_list.push(item.ORG_ENGNAME)
                    }
                })
            })
            getCITY(BU_list)

            setExtract({
                ...extract,
                BU: list
            })
        }

    }
    const extract_CITY_callback = (val: any, list: any, chk: any) => {
        let CITY_list: any = [];
        setChecked({
            ...checked,
            extract_CITY: val
        })
        list ? setExtract({
            ...extract,
            CITY: list
        }) : setExtract({
            ...extract
        })


    }
    const centralizedManagement_callback = (val: any, list: any, chk: any) => {
        setChecked({
            ...checked,
            centralizedManagement: val
        })
        setQueryCondtion({
            ...queryCondtion,
            centralizedManagement: list ? list : null
        })
    }
    const userDepartment_callback = (val: any, list: any, chk: any) => {
        setChecked({
            ...checked,
            userDepartment: val
        })
        setQueryCondtion({
            ...queryCondtion,
            userDepartment: list ? list : null
        })
    }
    const edit_userDepartment_callback = (val: any, list: any, chk: any) => {
        setChecked({
            ...checked,
            edit_userDepartment: val
        })
        list ? setEditCondtion({
            ...editCondtion,
            userDepartment: list
        }) : setEditCondtion({
            ...editCondtion
        })
    }
    const usageFrequency_callback = (val: any, list: any, chk: any) => {
        setChecked({
            ...checked,
            usageFrequency: val
        })
        list ? setEditCondtion({
            ...editCondtion,
            usageFrequency: list
        }) : setEditCondtion({
            ...editCondtion
        })
    }
    const header = () => {
        console.log(openStates)
    }
    return (
        // <div style={{height: 'calc(100vh - 72rem)'}}>
        <div style={{ width: '100%', height: 'calc(100vh - 72rem)', display: 'flex', flexDirection: 'column' }}>

            <PageNav {...props} />
            <div className='report_management'>

                <div style={{
                    display: open ? "flex" : "none",
                    zIndex: 1000,
                    position: "absolute",
                    right: '22rem',
                    top: "0",
                    alignContent: 'center'
                }}>
                    {
                        ApiUtils.isPurview('F2101') ?
                            <span style={{ color: openStates == 'UNI' ? xFontColor : "#D6D8DA", marginRight: "15rem" }}
                                onClick={() => setOpenStates('UNI')}>核保 </span>
                            : ""
                    }
                    {
                        (ApiUtils.isPurview('F2101') && ApiUtils.isPurview('F2103')) ?
                            <span style={{ marginRight: "15rem" }}>| </span>
                            : ""
                    }
                    {
                        ApiUtils.isPurview('F2103') ?
                            <span style={{ color: openStates == 'CLM' ? xFontColor : "#D6D8DA", marginRight: "15rem" }}
                                onClick={() => setOpenStates('CLM')}> 理赔 </span>
                            : ""
                    }
                    {
                        ((ApiUtils.isPurview('F2103') && ApiUtils.isPurview('F2102')) || (ApiUtils.isPurview('F2101') && ApiUtils.isPurview('F2102'))) ?
                            <span style={{ marginRight: "15rem" }}>| </span>
                            : ""
                    }
                    {
                        ApiUtils.isPurview('F2102') ?
                            <span style={{ color: openStates == 'POS' ? xFontColor : "#D6D8DA", marginRight: "15rem" }}
                                onClick={() => setOpenStates('POS')}> 保全</span>
                            : ""
                    }

                </div>
                <Tabs className='tabs' defaultActiveKey={props.history.location.state ? (props.history.location.state.keys) : "1"} centered={true} onChange={(e: any) => {
                    if (e == 1) {
                        search_click(null)
                    }
                }}>
                    <TabPane
                        tab={
                            <div onClick={() => { setOpen(false) }}>
                                <span className='tabs_triangle'></span>
                                <span >格式报表管理</span>
                            </div>
                        }
                        key="1"
                        style={{ position: "relative" }}
                    // locale={locale}
                    >
                        <div className='page_big'>
                            <div className='search_condtion'>
                                <div className='sp_lab'>
                                    <div className='search_resul_rectangle'></div>
                                    <span>查询条件</span>
                                </div>
                                <div className='search_condtion_top'>
                                    <div>
                                        <span>编码:</span>
                                        <input type="text" value={queryCondtion.reportCode} onChange={(e: any) => checkbox_click_search('reportCode', e.target.value)} />
                                    </div>
                                    <div>
                                        <span>报表名称:</span>
                                        <input type="text" value={queryCondtion.reportName || ''} onChange={(e: any) => checkbox_click_search('reportName', e.target.value)} />
                                    </div>
                                    <div>
                                        <span>任务类型:</span>
                                        <div className='DivInput'>
                                            {
                                                queryCondtion.reportModule ? (queryCondtion.reportModule.length <= 2 ? queryCondtion.reportModule.map((value: React.ReactNode, index: string | number | undefined) => {
                                                    return <p key={index}>{value}</p>
                                                }) :
                                                    <Title data={queryCondtion.reportModule} shu={2} />

                                                ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                            }
                                            <SearchOutlined className='svg' onClick={() => checkcall('reportModule')} />
                                        </div>
                                    </div>
                                    <div>
                                        <span>归口管理部门:</span>
                                        <div className='DivInput'>
                                            {
                                                queryCondtion.centralizedManagement ? (queryCondtion.centralizedManagement.length <= 2 ? queryCondtion.centralizedManagement.map((value: React.ReactNode, index: string | number | undefined) => {
                                                    return <p key={index}>{value}</p>
                                                }) :
                                                    <Title data={queryCondtion.centralizedManagement} shu={2} />

                                                ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                            }
                                            <SearchOutlined className='svg' onClick={() => checkcall('centralizedManagement')} />
                                        </div>
                                    </div>
                                    <div>
                                        <span>报表使用部门:</span>
                                        <div className='DivInput'>
                                            {
                                                queryCondtion.userDepartment ? (queryCondtion.userDepartment.length <= 2 ? queryCondtion.userDepartment.map((value: React.ReactNode, index: string | number | undefined) => {
                                                    return <p key={index}>{value}</p>
                                                }) :
                                                    <Title data={queryCondtion.userDepartment} shu={2} />

                                                ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                            }
                                            <SearchOutlined className='svg' onClick={() => checkcall('userDepartment')} />
                                        </div>

                                    </div>
                                    <div></div>
                                </div>

                                <div className='search_condtion_btn'>
                                    <button className='btn_white hoverBorder2' onClick={clear_click}>清空</button>
                                    <button className='btn_red btn_return hoverBorder2' onClick={() => search_click('page')} >查询</button>
                                </div>
                            </div>
                            <div id="hisHead">
                                {
                                    viewHistory.tunon && <History rootIdData={viewHistory.rootId} guan={() => setViewHistory({ ...viewHistory, tunon: !viewHistory.tunon })} getHistoricalList={viewHistory.tunon}></History>
                                }
                            </div>
                            <div className='search_resul'>

                                <div className='search_resul_table'>
                                    {
                                        // tabledata != undefined && tablecolumns != undefined ?
                                        <TableList flag={true} theadList={tablecolumns} tbodyList={tabledata} isBig={false} isCheckBox={false} changesTHlist={Extract} getWorkteamId={RowDoubleClick} title="查询结果" />
                                        // :null
                                    }
                                </div>
                                {
                                    ApiUtils.isPurview("F1502") &&
                                    <div className='search_resul_btn'>
                                        <div className="itableList_inData btn_icon btn_back  hoverBorder2" onClick={onExportExcel}>
                                            <i className="bg_imgIcon_daochu" />
                                            <span>导出</span>
                                            {/* <FileUpload uploadType={"DictionaryQuota"} /> */}
                                        </div>
                                    </div>
                                }
                            </div>

                            {
                                rendreport == 3 &&
                                <div className='condtion_extract'>
                                    <div className='condtion_select'>
                                        <div className="close" onClick={() => setRendreport(0)}>
                                            <span></span>
                                            <img src={(window.rootUrl + "/images/deletebtn.svg")} alt="" />
                                        </div>
                                        <div className='sp_lab'>
                                            <div className='search_resul_rectangle'></div>
                                            <span>条件框定</span>
                                        </div>
                                        <div className='condtion_select_line1'>
                                            <div>
                                                <span>起始日期:</span>
                                                <DatePicker format="YYYY-MM-DD" value={condtiontime.stime ? moment(condtiontime.stime, 'YYYY-MM-DD') : null} disabledDate={StartdisabledDate} onChange={cstime} />
                                            </div>
                                            <div>
                                                <span>终止日期:</span>
                                                <DatePicker format="YYYY-MM-DD" value={condtiontime.etime ? moment(condtiontime.etime, 'YYYY-MM-DD') : null} disabledDate={EnddisabledDate} onChange={cetime} />
                                            </div>
                                            <div style={{ width: "350rem" }}>
                                                <span>任务类型:</span>
                                                <div className='DivInput'>
                                                    {
                                                        extract.reportModule ? (extract.reportModule.length <= 2 ? extract.reportModule.map((value: React.ReactNode, index: string | number | undefined) => {
                                                            return <p key={index}>{value}</p>
                                                        }) :
                                                            <Title data={extract.reportModule} shu={2} />

                                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                                    }
                                                    <SearchOutlined className='svg' onClick={() => checkcall('extract_reportModule')} />
                                                </div>

                                            </div>

                                        </div>
                                        <div className='condtion_select_line2'>
                                            <div>
                                                <span>SSO:</span>
                                                <div className='DivInput'>
                                                    {
                                                        extract.SSO ? (extract.SSO.length <= 2 ? extract.SSO.map((value: React.ReactNode, index: string | number | undefined) => {
                                                            return <p key={index}>{value}</p>
                                                        }) :
                                                            <Title data={extract.SSO} shu={2} />

                                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                                    }
                                                    <SearchOutlined className='svg' onClick={() => checkcall('extract_SSO')} />
                                                </div>
                                                {/* <CheckboxGroup value={checkedList.SSO} onChange={(e: any) => { GenerateReport('SSO', e) }}>
                                                    <Checkbox value={"S-SSO"}>S-SSO</Checkbox>
                                                    <Checkbox value={"N-SSO"}>N-SSO</Checkbox>
                                                </CheckboxGroup> */}

                                            </div>
                                            <div>
                                                <span>BU:</span>
                                                <div className='DivInput'>
                                                    {
                                                        extract.BU ? (extract.BU.length <= 2 ? extract.BU.map((value: React.ReactNode, index: string | number | undefined) => {
                                                            return <p key={index}>{value}</p>
                                                        }) :
                                                            <Title data={extract.BU} shu={2} />

                                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                                    }
                                                    <SearchOutlined className='svg' onClick={() => checkcall('extract_BU')} />
                                                </div>
                                                {/* <CheckboxGroup value={checkedList.BU} onChange={(e: any) => { GenerateReport('BU', e) }}>
                                                    <Checkbox value={"上海BU"}>上海BU</Checkbox>
                                                    <Checkbox value={"北京BU"}>北京BU</Checkbox>
                                                </CheckboxGroup> */}
                                            </div>
                                            <div>
                                                <span>CITY:</span>
                                                <div className='DivInput'>
                                                    {
                                                        extract.CITY ? (extract.CITY.length <= 2 ? extract.CITY.map((value: React.ReactNode, index: string | number | undefined) => {
                                                            return <p key={index}>{value}</p>
                                                        }) :
                                                            <Title data={extract.CITY} shu={2} />

                                                        ) : <span style={{ color: "#b2b2b2" }}>请选择</span>
                                                    }
                                                    <SearchOutlined className='svg' onClick={() => checkcall('extract_CITY')} />
                                                </div>
                                                {/* <CheckboxGroup value={checkedList.CITY} onChange={(e: any) => { GenerateReport('CITY', e) }}>
                                                    <Checkbox value={"上海"}>上海</Checkbox>
                                                    <Checkbox value={"北京"}>北京</Checkbox>
                                                    <Checkbox value={"广州"}>广州</Checkbox>
                                                </CheckboxGroup> */}

                                            </div>
                                        </div>
                                        <div className='condtion_select_btn'>
                                            <button className='btn_white hoverBorder2' onClick={() => clear_extract()}>清空</button>
                                            <button className='btn_red btn_return hoverBorder2' onClick={BuildReport}>生成</button>
                                        </div>
                                    </div>
                                </div>

                            }
                        </div>
                        <div>
                            {
                                render_report()
                            }
                        </div>
                    </TabPane>

                    {/* <TabPane
                        tab={
                            <div>
                                <span className='tabs_triangle'></span>
                                <span >自定义报表</span>
                            </div>
                        }
                        key="2"
                        style={{ position: "relative" }}
                        // locale={locale}
                    >
                        <ReportCustom />                        
                    </TabPane>

                    <TabPane
                        tab={
                            // <div style={{height: 'calc(100vh - 15rem)',overflow: 'auto'}}>
                            <div>
                                <span className='tabs_triangle'></span>
                                <span >报表订阅</span>
                            </div>
                        }                
                        key="3"
                        style={{ position: "relative" }}
                        // locale={locale}
                    >
                        <ReportSubscribe />                        
                    </TabPane> */}

                    <TabPane
                        tab={
                            <div onClick={() => { setOpen(false) }}>
                                <span className='tabs_triangle'></span>
                                <span >我的报表</span>
                            </div>
                        }
                        key="4"
                        style={{ position: "relative" }}
                    // locale={locale}
                    >
                        <MyReport CollectList={CollectList} />
                    </TabPane>

                    <TabPane
                        tab={
                            <div onClick={() => { setOpen(true) }}>
                                <span className='tabs_triangle'></span>
                                <span>可视化报表</span>
                            </div>
                        }
                        key="5" style={{ position: "relative" }}>
                        <VisualReport openStates={openStates} xFontColor={xFontColor} />
                    </TabPane>

                    <TabPane
                        tab={
                            <div onClick={() => { setOpen(true) }}>
                                <span className='tabs_triangle'></span>
                                <span>BU可视化报表</span>
                            </div>
                        }
                        key="6" style={{ position: "relative" }}>
                        <VisualReportForBu openStates={openStates} xFontColor={xFontColor} />
                    </TabPane>

                </Tabs>
            </div>
            {/* 引入所有的多选框弹出框 */}
            {
                checked.reportModule && <CheckedList title="选择任务类型" data={quotaConfig.reportModule.map((item: any) => item = { code: item, title: item })} titlelist={queryCondtion.reportModule} flag={7} callBack={reportModule_callback} />
            }
            {
                checked.extract_reportModule && <CheckedList title="选择任务类型" data={quotaConfig.reportModule.map((item: any) => item = { code: item, title: item })} titlelist={extract.reportModule} flag={7} callBack={extract_reportModule_callback} />
            }
            {
                checked.centralizedManagement && <CheckedList title="选择归口管理部门" data={quotaConfig.centralizedManagement.map((item: any) => item = { code: item, title: item })} titlelist={queryCondtion.centralizedManagement} flag={7} callBack={centralizedManagement_callback} />
            }
            {
                checked.userDepartment && <CheckedList title="选择报表使用部门" data={quotaConfig.userDepartment.map((item: any) => item = { code: item, title: item })} titlelist={queryCondtion.userDepartment} flag={7} callBack={userDepartment_callback} />
            }
            {
                checked.edit_userDepartment && <CheckedList title="选择报表使用部门" data={quotaConfig.userDepartment.map((item: any) => item = { code: item, title: item })} titlelist={editCondtion.userDepartment} flag={7} callBack={edit_userDepartment_callback} />
            }
            {
                checked.usageFrequency && <CheckedList title="选择统计频率" data={quotaConfig.usageFrequency.map((item: any) => item = { code: item, title: item })} titlelist={editCondtion.usageFrequency} flag={7} callBack={usageFrequency_callback} />
            }
            {
                checked.extract_SSO && <CheckedList title="选择SSO" data={checkedList.SSO.map((item: any) => item = { code: item, title: item })} titlelist={extract.SSO} flag={7} callBack={extract_SSO_callback} />
            }{
                checked.extract_BU && <CheckedList title="选择BU" data={checkedList.BU.map((item: any) => item = { code: item.ORG_NAME, title: item.ORG_NAME })} titlelist={extract.BU} flag={7} callBack={extract_BU_callback} />
            }{
                checked.extract_CITY && <CheckedList title="选择CITY" data={checkedList.CITY.map((item: any) => item = { code: item.CITYNAME, title: item.CITYNAME })} titlelist={extract.CITY} flag={7} callBack={extract_CITY_callback} />
            }
        </div>
    )
}

 

posted @ 2022-04-11 11:06  德姆哥  阅读(25)  评论(0编辑  收藏  举报