<template>
    <div class="ele-body">
        <a-card style="width: 100%" :bordered="false">
            <template #title>
                <a-space>
                    <a-upload
                        :before-upload="importFileInnerCity"
                        :showUploadList="false"
                        accept=".xls,.xlsx,.csv"
                        ref="otherInnerLakeUpload"
                        v-show="false"
                        id="otherInnerLakeUpload"
                    >
                        <a-button>城市内湖导入</a-button>
                    </a-upload>
                    <a-upload
                        :before-upload="importFileWuxiang"
                        :showUploadList="false"
                        accept=".xls,.xlsx,.csv"
                        ref="wuxaingInnerLakeUpload"
                        v-show="false"
                        id="wuxaingInnerLakeUpload"
                    >
                        <a-button>五象湖导入</a-button>
                    </a-upload>
                    <a-dropdown>
                        <template #overlay>
                            <a-menu @click="handleMenuClick">
                                <a-menu-item key="wuxaingInnerLakeUpload">
                                    五象湖
                                </a-menu-item>
                                <a-menu-item key="otherInnerLakeUpload">
                                    其他内湖
                                </a-menu-item>
                            </a-menu>
                        </template>
                        <a-button>
                            城市内湖导入
                            <DownOutlined/>
                        </a-button>
                    </a-dropdown>
                    <a-upload
                        :before-upload="importFileSpecial"
                        :showUploadList="false"
                        accept=".xls,.xlsx,.csv"
                    >
                        <a-button>专项湖库导入</a-button>
                    </a-upload>
                </a-space>
            </template>
            <a-tabs v-model:activeKey="activeKey">
                <a-tab-pane tab="城市内湖" key="water">
                    <water-bill ref="water"></water-bill>
                </a-tab-pane>
                <a-tab-pane tab="专项湖库" key="special">
                    <special-bill ref="special"></special-bill>
                </a-tab-pane>
            </a-tabs>
        </a-card>
    </div>
</template>

<script>
// import XLSX from "xlsx";
// import utils from "./utils";
import {Modal} from "ant-design-vue";
import WaterBill from "./water-bill.vue";
import SpecialBill from "./special-bill.vue";
// import {saveLakeBill} from "@/api/ecology/lake";
// import {saveLakeBill as saveSpecialLake} from "@/api/ecology/special-lake";
import {importCityOther,importCppointCity,importSpecial} from "@/api/ecology/water/lake/import";

export default {
    name: "LakeCollectIndex",
    components: {
        WaterBill,
        SpecialBill
    },
    data() {
        return {
            activeKey: "water",
        };
    },
    methods: {
        handleMenuClick(e) {
            document.getElementById(e.key).click()
        },
        /* 导入本地excel文件 */
        importFileInnerCity(file) {
            const hide = this.$message.loading("导入中..", 0);
            const formData = new FormData();
            formData.append('file', file);
                importCityOther(formData).then(res=>{
                    console.log(res)
                    if(!res.data.code){
                        Modal.success({  title:res.data.msg, });
                    }else{
                        Modal.error({  title:res.data.msg || '文件导入失败', });
                    }
                     
                    hide()
                }).catch(err=>{
                    console.log(err)
                    Modal.error({  title:err.data.msg || '文件导入失败', });
                    hide()
                })

            // let reader = new FileReader();
            // reader.onload = (e) => {
            //     try {
            //         let data = new Uint8Array(e.target.result);
            //         let workbook = XLSX.read(data, {
            //             type: "array",
            //         });
            //         //0.昼间数据 1.夜间数据 2.其他信息
            //         let sheetNames = workbook.SheetNames;
            //         // 解析成二维数组
            //         let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
            //             header: 1,
            //         });

            //         const reportDate = aoa[2][0].replace(/[^\d]+/g, "-");

            //         const lakeList = aoa.filter(
            //             (item) => {
            //                 return item.length >= 24 && item[0] && !item[0].includes("点位名称");
            //             }
            //         );


            //         // 解析成对象数组
            //         const billName = file.name;
            //         const billData = utils.toInnerCityLakeObjData(lakeList, reportDate);
            //         if (!billData || billData.length == 0) {
            //             hide()
            //             Modal.error({
            //                 title: "导入失败",
            //                 content: "找不到数据",
            //             });
            //             return;
            //         }
            //         const tasks = [];
            //         if (billData.length > 0) {
            //             tasks.push(
            //                 saveLakeBill({
            //                     reportTime: new Date(reportDate).getTime(),
            //                     billName: billName,
            //                     regionLevel: "市级",
            //                     lakeLibraryInnerCityList: billData,
            //                 })
            //             );
            //         }


            //         // 上传到服务器

            //         Promise.all(tasks)
            //             .then((res) => {
            //                 if (res[0].data.code == 0) {
            //                     Modal.success({
            //                         title: "导入成功",
            //                         content: `成功导入${billData.length}条数据`,
            //                     });
            //                     this.$refs.water && this.$refs.water.reload();
            //                 } else {
            //                     Modal.error({
            //                         title: "导入失败",
            //                         content: "数据上传出错",
            //                     });
            //                 }

            //             })
            //             .catch(() => {
            //                 Modal.error({
            //                     title: "导入失败",
            //                     content: "数据上传出错",
            //                 });
            //             })
            //             .finally(() => {
            //                 hide();
            //             });
            //     } catch (error) {
            //         hide();
            //         Modal.error({
            //             title: "导入失败",
            //             content: error.message,
            //         });
            //     }
            //     // console.log(billData);
            // };
            // reader.readAsArrayBuffer(file);

            return false;
        },
        importFileWuxiang(file) {
            const hide = this.$message.loading("导入中..", 0);

          const formData = new FormData();
            formData.append('file', file);
            importCppointCity(formData).then(res=>{
                console.log(res)
                 if(!res.data.code){
                        Modal.success({  title:res.data.msg, });
                    }else{
                        Modal.error({  title:res.data.msg || '文件导入失败', });
                    }
                hide()
            }).catch(err=>{
                    console.log(err)
                    Modal.error({  title:err.data.msg || '文件导入失败', });
                    hide()
                })


            // let reader = new FileReader();
            // reader.onload = (e) => {
            //     try {
            //         let data = new Uint8Array(e.target.result);
            //         let workbook = XLSX.read(data, {
            //             type: "array",
            //         });
            //         let sheetNames = workbook.SheetNames;
            //         // 解析成二维数组
            //         let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
            //             header: 1,
            //         });
            //         const lakeList = aoa.filter(
            //             (item) => {
            //                 return item.length >= 24 && item[0] && !item[0].includes("点位名称");
            //             }
            //         );
            //         // 解析成对象数组
            //         const billName = file.name;
            //         const billData = utils.toWuxiangLakeObjData(lakeList);
            //         if (!billData || billData.length == 0) {
            //             hide()
            //             Modal.error({
            //                 title: "导入失败",
            //                 content: "找不到数据",
            //             });
            //             return;
            //         }
            //         const tasks = [];
            //         if (billData.length > 0) {
            //             tasks.push(
            //                 saveLakeBill({
            //                     billName: billName,
            //                     lakeLibraryInnerCityList: billData,
            //                 })
            //             );
            //         }


            //         // 上传到服务器

            //         Promise.all(tasks)
            //             .then((res) => {
            //                 if (res[0].data.code == 0) {
            //                     Modal.success({
            //                         title: "导入成功",
            //                         content: `成功导入${billData.length}条数据`,
            //                     });
            //                     this.$refs.water && this.$refs.water.reload();
            //                 } else {
            //                     Modal.error({
            //                         title: "导入失败",
            //                         content: "数据上传出错",
            //                     });
            //                 }

            //             })
            //             .catch(() => {
            //                 Modal.error({
            //                     title: "导入失败",
            //                     content: "数据上传出错",
            //                 });
            //             })
            //             .finally(() => {
            //                 hide();
            //             });
            //     } catch (error) {
            //         hide();
            //         Modal.error({
            //             title: "导入失败",
            //             content: error.message,
            //         });
            //     }
            //     // console.log(billData);
            // };
            // reader.readAsArrayBuffer(file);

            return false;
        },
        importFileSpecial(file) {
            const hide = this.$message.loading("导入中..", 0);
            const formData = new FormData();
            formData.append('file', file);
                importSpecial(formData).then(res=>{
                    console.log(res)
                     if(!res.data.code){
                        Modal.success({  title:res.data.msg, });
                    }else{
                        Modal.error({  title:res.data.msg || '文件导入失败', });
                    }
                    hide()
                }).catch(err=>{
                    console.log(err)
                    Modal.error({  title:err.data.msg || '文件导入失败', });
                    hide()
                })

            // let reader = new FileReader();
            // reader.onload = (e) => {
            //     try {
            //         let data = new Uint8Array(e.target.result);
            //         let workbook = XLSX.read(data, {
            //             type: "array",
            //         });
            //         let sheetNames = workbook.SheetNames;
            //         // 解析成二维数组
            //         let aoa = XLSX.utils.sheet_to_json(workbook.Sheets[sheetNames[0]], {
            //             header: 1,
            //         });
            //         const lakeList = aoa.filter(
            //             (item) => {
            //                 return item.length >= 24 && item[1] && !item[1].includes("测站名称");
            //             }
            //         );
            //         // 解析成对象数组
            //         const billName = file.name;
            //         const billData = utils.toSpecialLakeData(lakeList);
            //         if (!billData || billData.length == 0) {
            //             hide()
            //             Modal.error({
            //                 title: "导入失败",
            //                 content: "找不到数据",
            //             });
            //             return;
            //         }
            //         const tasks = [];
            //         if (billData.length > 0) {
            //             tasks.push(
            //                 saveSpecialLake({
            //                     billName: billName,
            //                     lakeLibrarySpecialList: billData,
            //                 })
            //             );
            //         }


            //         // 上传到服务器

            //         Promise.all(tasks)
            //             .then((res) => {
            //                 if (res[0].data.code == 0) {
            //                     Modal.success({
            //                         title: "导入成功",
            //                         content: `成功导入${billData.length}条数据`,
            //                     });
            //                     this.$refs.special && this.$refs.special.reload();
            //                 } else {
            //                     Modal.error({
            //                         title: "导入失败",
            //                         content: "数据上传出错",
            //                     });
            //                 }

            //             })
            //             .catch(() => {
            //                 Modal.error({
            //                     title: "导入失败",
            //                     content: "数据上传出错",
            //                 });
            //             })
            //             .finally(() => {
            //                 hide();
            //             });
            //     } catch (error) {
            //         hide();
            //         Modal.error({
            //             title: "导入失败",
            //             content: error.message,
            //         });
            //     }
            //     // console.log(billData);
            // };
            // reader.readAsArrayBuffer(file);

            return false;
        },

    },
};
</script>

<style scoped lang="less">
</style>
