<template>
    <BasicTable @register="registerTable" @edit-change="onEditChange">
        <template #action="{ record }">
            <TableAction :actions="getTableAction(record)" />
        </template>
        <template #tableTitle>
            <a-button type="primary" preIcon="ant-design:plus-outlined" @click="handleCreate"> 新增计划</a-button>
        </template>
    </BasicTable>
    <div style="display: flex; justify-content: center; align-items: center; height: 100px;">
        <el-button type="primary" @click="onSubmit">修改</el-button>
        <el-button @click="handlecancle">取消</el-button>

        <!-- <el-button>取消</el-button> -->
    </div>
</template>
<script lang="ts" name="addPage" setup>
import { ref, defineProps, onMounted } from 'vue'
import { moduleDetailColumns } from './projectPlanModule.data';
import { queryPlanModuleDetailPage, savePlanModuleDatail } from './projectPlanModule.api'
import { ActionItem, BasicTable, TableAction, EditRecordRow } from '/@/components/Table';
import { useListPage } from '/@/hooks/system/useListPage';
import { downloadFile } from "../../../api/common/api"
let dataTo = defineProps(["moduleId"])
let emit = defineEmits(["close"])

onMounted(async () => {
    setShowPagination(false)//不显示分页
    console.log("moduleId.value=record.moduleId", dataTo.moduleId)
    if (dataTo.moduleId) {
        let param: any = {
            projectid: dataTo.moduleId
        }
        // let res = await queryProjectInfoById(param)
        //刷新表格
    } else {
        let tableData = await getDataSource();

    }
    console.log("dataTo.moduleId", dataTo.moduleId)
})

function getTableAction(record): ActionItem[] {
    return [
        {
            label: '删除',
            ifShow: true,
            onClick: handleRemoveDetail.bind(null, record),
        }
    ];
}


//项目资料table
const { tableContext } = useListPage({
    tableProps: {
        size: 'small',//紧凑型表格
        title: '项目计划模板详情',
        api: queryPlanModuleDetailPage,
        columns: moduleDetailColumns,
        useSearchForm: false,
        showTableSetting: true,
        actionColumn: {
            width: 120,
            fixed: "right",
        },
        beforeFetch(params) {
            params.moduleId = dataTo.moduleId
        },
    },
});
const [registerTable, { getDataSource, setTableData, setShowPagination }] = tableContext;


function handleDetailpage(record) {
    console.log("我这一行的数据是", record)
    let param = {
        path: record.documentPath,
        fileName: record.documentName
    }
    //
    console.log("我这一行的数据是", param)

    downloadFile("/huzhouProject/downloadfile", record.documentName, param)
}
async function handleCreate() {
    //await setShowPagination(false);
    let tableData = await getDataSource();
    tableData.push({ taskName: "aaa" })
    setTableData(tableData)
}
function onEditChange({ column, value, record }) {
    // 本例
    if (column.dataIndex === 'id') {
        record.editValueRefs.name4.value = `${value}`;
    }
    console.log(column, value, record);
}
function handlecancle() {
    emit("close")
}
async function onSubmit() {
    let tableData = await getDataSource();
    console.log("dddddddddddd", tableData)
    let param = {
        moduleId: dataTo.moduleId,
        tableData: tableData,
    }
    tableData.forEach(item => {
        item.moduleId = dataTo.moduleId
    })
    await savePlanModuleDatail(tableData)
    emit("close")
}
async function handleRemoveDetail(record){
    let tableData = await getDataSource();

}
</script>
<style></style>
  