<template>
    <!-- 工程管理页面 -->
    <div class="app-container">
        <!-- 表格 -->
        <TableModel :formLabel="formLabel" :columnsList="columnsList">
            <template slot="btn" slot-scope="{ queryParams }">
                <el-button type="primary" @click="handleAddData()"
                    >新建</el-button
                >
                <el-button @click="handleImportData()">导入</el-button>
                <el-button @click="handleExportData(queryParams)"
                    >导出</el-button
                >
            </template>
            <template slot="handle" slot-scope="{ data }">
                <el-button
                    type="primary"
                    size="mini"
                    @click="handleEditData(data)"
                    >编辑</el-button
                >
                <el-button
                    type="danger"
                    size="mini"
                    @click="handleDeleteData(data)"
                    >删除</el-button
                >
            </template>
        </TableModel>

        <!-- 新增以及修改时的弹框 -->
        <DialogModel
            :dialogConfig="dialogConfig"
            @closeDialogOuter="closeDialogOuter"
        >
            <template slot="outerContent">
                <!-- 新增以及修改数据的表单组件 -->
                <FormProject
                    :editParams="editParams"
                    @closeDialog="closeDialog"
                />
            </template>
        </DialogModel>
    </div>
</template>

<script>
import { formLabel, columnsList, dialogConfig } from './config'
import { commonMixin } from '../mixins/common'
import FormProject from './components/form-project'
export default {
    name: 'ProjectManage',
    mixins: [commonMixin], // 混入公共方法和数据
    components: {
        FormProject,
    },
    data() {
        return {
            // 搜索区表单配置项
            formLabel,
            // 列表区配置项
            columnsList,
            // 弹框区配置项
            dialogConfig,
            // 新建时弹框标题
            addDialogTitle: '新建工程',
            // 修改时弹框标题
            editDialogTitle: '修改工程',
        }
    },
}
</script>
