<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">
                <!-- 新增以及修改数据的表单组件 -->
                <FormContactUnits
                    @closeDialog="closeDialog"
                    :editParams="editParams"
                />
            </template>
        </DialogModel>
    </div>
</template>

<script>
import { formLabel, columnsList, dialogConfig } from './config'
import { commonMixin } from '../mixins/common'
import FormContactUnits from './components/form-contact-units.vue'
export default {
    name: 'ContactUnits',
    mixins: [commonMixin], // 混入公共方法和数据
    components: { FormContactUnits },
    data() {
        return {
            formLabel,
            columnsList,
            dialogConfig,
            // 新建时弹框标题
            addDialogTitle: '新建往来单位',
            // 修改时弹框标题
            editDialogTitle: '修改往来单位',
        }
    },
}
</script>
