| | |
| | | </div> |
| | | </div> |
| | | <div class="table_list"> |
| | | <div style="margin-bottom: 10px"> |
| | | <div style="margin-bottom: 10px; display: flex; gap: 10px"> |
| | | <el-button type="primary" @click="openForm('add')">新增方案</el-button> |
| | | <el-button |
| | | type="danger" |
| | | @click="handleBatchDelete" |
| | | :disabled="selectedRows.length === 0" |
| | | > |
| | | 批量删除 |
| | | </el-button> |
| | | </div> |
| | | <PIMTable |
| | | rowKey="id" |
| | |
| | | :tableData="tableData" |
| | | :page="page" |
| | | :tableLoading="tableLoading" |
| | | @pagination="pagination" |
| | | :total="page.total" |
| | | :isSelection="true" |
| | | @selection-change="handleSelectionChange" |
| | | @pagination="pagination" |
| | | /> |
| | | </div> |
| | | <form-dia ref="formDiaRef" @close="handleQuery" /> |
| | |
| | | |
| | | <script setup> |
| | | import { onMounted, ref, reactive, toRefs, getCurrentInstance, nextTick } from "vue"; |
| | | import { ElMessageBox, ElMessage } from "element-plus"; |
| | | import FormDia from "./components/formDia.vue"; |
| | | import PIMTable from "@/components/PIMTable/PIMTable.vue"; |
| | | import { socialSecurityListPage } from "@/api/personnelManagement/socialSecuritySet.js"; |
| | | import { |
| | | socialSecurityListPage, |
| | | socialSecurityDelete, |
| | | } from "@/api/personnelManagement/socialSecuritySet.js"; |
| | | |
| | | const data = reactive({ |
| | | searchForm: { |
| | |
| | | |
| | | const tableColumn = ref([ |
| | | { label: "主题", prop: "title", minWidth: 120 }, |
| | | { label: "保险类型", prop: "insuranceTypeName", width: 120 }, |
| | | { label: "使用范围", prop: "scopeName", width: 120 }, |
| | | { label: "保险类型", prop: "insuranceTypes", width: 120 }, |
| | | { label: "使用范围", prop: "deptNames", width: 120 }, |
| | | { label: "备注", prop: "remark", minWidth: 120 }, |
| | | { label: "创建时间", prop: "createTime", width: 160 }, |
| | | { label: "创建人", prop: "createBy", width: 100 }, |
| | | { label: "创建人", prop: "createUserName", width: 100 }, |
| | | { |
| | | dataType: "action", |
| | | label: "操作", |
| | | align: "center", |
| | | fixed: "right", |
| | | width: 120, |
| | | width: 180, |
| | | operation: [ |
| | | { |
| | | name: "编辑", |
| | | type: "text", |
| | | clickFun: (row) => openForm("edit", row), |
| | | }, |
| | | { |
| | | name: "详情", |
| | | type: "text", |
| | | clickFun: (row) => openForm("detail", row), |
| | | }, |
| | | { |
| | | name: "删除", |
| | | type: "text", |
| | | style: { |
| | | color: "#F56C6C", |
| | | }, |
| | | clickFun: (row) => handleDelete(row), |
| | | }, |
| | | ], |
| | | }, |
| | |
| | | |
| | | const tableData = ref([]); |
| | | const tableLoading = ref(false); |
| | | const selectedRows = ref([]); |
| | | const page = reactive({ |
| | | current: 1, |
| | | size: 10, |
| | |
| | | }); |
| | | }; |
| | | |
| | | const handleSelectionChange = (selection) => { |
| | | selectedRows.value = selection; |
| | | }; |
| | | |
| | | const openForm = (type, row) => { |
| | | nextTick(() => { |
| | | formDiaRef.value?.openDialog(type, row); |
| | | }); |
| | | }; |
| | | |
| | | // 删除方案,逻辑与其它页面保持一致(确认弹窗 + 调用删除接口 + 刷新列表) |
| | | const handleDelete = (row) => { |
| | | ElMessageBox.confirm( |
| | | `确认删除方案"${row.title}"吗?`, |
| | | "删除确认", |
| | | { |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | socialSecurityDelete([row.id]) |
| | | .then(() => { |
| | | ElMessage.success("删除成功"); |
| | | getList(); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.error("删除失败"); |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.info("已取消删除"); |
| | | }); |
| | | }; |
| | | |
| | | // 批量删除 |
| | | const handleBatchDelete = () => { |
| | | if (!selectedRows.value.length) return; |
| | | ElMessageBox.confirm( |
| | | `确定要删除选中的 ${selectedRows.value.length} 条方案吗?`, |
| | | "批量删除确认", |
| | | { |
| | | confirmButtonText: "确认", |
| | | cancelButtonText: "取消", |
| | | type: "warning", |
| | | } |
| | | ) |
| | | .then(() => { |
| | | const ids = selectedRows.value.map((item) => item.id); |
| | | socialSecurityDelete(ids) |
| | | .then(() => { |
| | | ElMessage.success("删除成功"); |
| | | getList(); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.error("删除失败"); |
| | | }); |
| | | }) |
| | | .catch(() => { |
| | | ElMessage.info("已取消删除"); |
| | | }); |
| | | }; |
| | | |
| | | onMounted(() => { |
| | | getList(); |
| | | }); |