diff --git a/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue new file mode 100644 index 0000000..fbb48cb --- /dev/null +++ b/packages/screen/src/views/ServiceStationManagePage/detailDrawer.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/packages/screen/src/views/ServiceStationManagePage/index.js b/packages/screen/src/views/ServiceStationManagePage/index.js index 62b0adf..1142d98 100644 --- a/packages/screen/src/views/ServiceStationManagePage/index.js +++ b/packages/screen/src/views/ServiceStationManagePage/index.js @@ -1,6 +1,7 @@ import { h, ref, onMounted, reactive, watch, toRaw, nextTick } from "vue"; import { request } from "@/utils/request"; -import { useRoute } from 'vue-router' +import { useRoute, useRouter } from 'vue-router' +import DetailDrawer from "./detailDrawer.vue"; const tableData = ref([]); // 表格数据 const filterData = reactive({ @@ -77,129 +78,159 @@ const getTableData = async (filterData) => { } }; - -const columns = [ - { - prop: "mc", - label: "服务站名称", - }, - { - prop: "sbsl", - label: "设备数量", - render: (row) => () => - h( - ElButton, - { - link: true, - type: "primary", - onClick: () => handleClickSb(row), - }, - () => row.sbsl - ), - }, - { - prop: "wzsl", - label: "物资数量", - render: (row) => () => - h( - ElButton, - { - link: true, - type: "primary", - onClick: () => handleClickWz(row), - }, - () => row.wzsl - ), - }, - { - prop: "rysl", - label: "人员数量", - }, - { - prop: "qxmc", - label: "区县名称", - }, - { - label: "操作", - fixed: "right", - width: 150, - render: (row) => () => - h("div", { class: "action-btns" }, [ - h( - ElButton, - { - type: "primary", - link: true, - onClick: async () => { - - }, - }, - () => "详情" - ), - h( - ElButton, - { - type: "success", - link: true, - style: "margin-left: 10px;", - onClick: async () => { - - }, - }, - () => "编辑" - ), - h( - ElButton, - { - type: "danger", - link: true, - style: "margin-left: 10px;", - onClick: async () => { - try { - await ElMessageBox.confirm("确定要删除该站点吗?", "删除确认", { - confirmButtonText: "确定", - cancelButtonText: "取消", - type: "warning", - }); - const res = await request({ - url: `/snow-ops-platform/yhz/delete`, - method: "POST", - data: { - id: row.id, - }, - }); - if (res.code === "00000") { - ElMessage.success("删除成功"); - getTableData(); - } - } catch (error) { - if (error instanceof Error) { - ElMessage.error(error.message || "删除失败"); - } - } - }, - }, - () => "删除" - ), - ]), - }, -]; -const router = useRoute(); -const handleClickSb = (row) => { - router.push({ - path: `/yhzsb/${encodeURIComponent(JSON.stringify(row))}`, - }); +// 获取养护站详情 +const getYhzDetail = async (row) => { + try { + console.log('row',toRaw(row)); + const res = await request({ + url: `/snow-ops-platform/yhz/getById?id=${row.id}`, + method: "GET", + }); + if (res.code === "00000") { + if (drawerType.value === "detail"){ + drawer.title = '详情' + drawer.props = { + basicData: res.data, + }; + drawer.onCancel = () => { + drawerType.value = ''; + drawerVisible.value = false; + }; + drawer.onConfirm = () => { + drawerType.value = ''; + drawerVisible.value = false; + }; + drawer.content = DetailDrawer; + drawerVisible.value = true; + } + } + } catch (error) { + + } }; -const handleClickWz = (row) => { - router.push({ - path: `/yhzwz/${encodeURIComponent(JSON.stringify(row))}`, - }); -}; - - - export default () => { + const router = useRouter(); + const handleClickSb = (row) => { + router.push({ + path: `/yhzsb/${encodeURIComponent(JSON.stringify(row))}`, + }); + }; + const handleClickWz = (row) => { + router.push({ + path: `/yhzwz/${encodeURIComponent(JSON.stringify(row))}`, + }); + }; + + const columns = [ + { + prop: "mc", + label: "服务站名称", + }, + { + prop: "sbsl", + label: "设备数量", + render: (row) => () => + h( + ElButton, + { + link: true, + type: "primary", + onClick: () => handleClickSb(row), + }, + () => row.sbsl + ), + }, + { + prop: "wzsl", + label: "物资数量", + render: (row) => () => + h( + ElButton, + { + link: true, + type: "primary", + onClick: () => handleClickWz(row), + }, + () => row.wzsl + ), + }, + { + prop: "rysl", + label: "人员数量", + }, + { + prop: "qxmc", + label: "区县名称", + }, + { + label: "操作", + fixed: "right", + width: 150, + render: (row) => () => + h("div", { class: "action-btns" }, [ + h( + ElButton, + { + type: "primary", + link: true, + onClick: async () => { + drawerType.value = "detail"; + await getYhzDetail(row); + }, + }, + () => "详情" + ), + h( + ElButton, + { + type: "success", + link: true, + style: "margin-left: 10px;", + onClick: async () => { + + }, + }, + () => "编辑" + ), + h( + ElButton, + { + type: "danger", + link: true, + style: "margin-left: 10px;", + onClick: async () => { + try { + await ElMessageBox.confirm("确定要删除该站点吗?", "删除确认", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }); + const res = await request({ + url: `/snow-ops-platform/yhz/delete`, + method: "POST", + data: { + id: row.id, + }, + }); + if (res.code === "00000") { + ElMessage.success("删除成功"); + getTableData(); + } + } catch (error) { + if (error instanceof Error) { + ElMessage.error(error.message || "删除失败"); + } + } + }, + }, + () => "删除" + ), + ]), + }, + ]; + + // 监听过滤条件变化 watch( @@ -213,12 +244,15 @@ export default () => { onMounted(async () => { await getTableData() }); + return { tableData, filterData, zdlxOptions, pagination, columns, + handleClickSb, + handleClickWz, modelVisible, model,