| | |
| | | * |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | --> |
| | | <script setup> |
| | | import publicContent from './publicContent.vue' |
| | | </script> |
| | | |
| | | |
| | | <template> |
| | | <public-content> |
| | | <template #content> |
| | | <div> |
| | | <public-content> |
| | | <template #content> |
| | | <div class="content_box"> |
| | | <div class="list_box"> |
| | | <ul> |
| | | <li v-for="( item, index ) in tilteList " :key="index" :class="[currentIndex === index ? 'active' : '']" |
| | | @click="handleClick(item, index)"> |
| | | {{ item.label }} |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | </public-content> |
| | | <div class="page_box"> |
| | | <div> |
| | | <el-table v-if="formInline.ownership == 1" :data="tableData" style="width: 100%" |
| | | :header-cell-style="headerCellStyle" :cell-style="tableCellStyle"> |
| | | |
| | | <el-table-column fixed prop="name" label="物资名称" /> |
| | | <el-table-column fixed prop="personInCha" label="负责人" /> |
| | | <el-table-column fixed prop="personInChaPhone" label="负责人电话" /> |
| | | <el-table-column fixed prop="stoLoc" label="物资地址" /> |
| | | <el-table-column prop="numUnit" label="数量" width="100" /> |
| | | </el-table> |
| | | |
| | | <el-table v-else :data="tableData" style="width: 100%" :header-cell-style="headerCellStyle" |
| | | :cell-style="tableCellStyle"> |
| | | |
| | | <el-table-column fixed prop="firmName" label="企业名称" /> |
| | | <el-table-column fixed prop="name" label="物资名称" /> |
| | | <el-table-column fixed prop="personInCha" label="负责人" /> |
| | | <el-table-column fixed prop="personInChaPhone" label="负责人电话" /> |
| | | <el-table-column fixed prop="stoLoc" label="物资地址" /> |
| | | <el-table-column prop="numUnit" label="数量" width="100" /> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | </public-content> |
| | | </template> |
| | | |
| | | <style lang="scss" scoped></style> |
| | | <script setup> |
| | | import publicContent from "./publicContent.vue"; |
| | | import { getList } from "@/api/emergencySupplies/emergencySupplies"; |
| | | import { getPage } from '@/api/indParkInfo' |
| | | import { reactive } from "vue"; |
| | | |
| | | const loading = ref(false); |
| | | |
| | | const tableData = ref([]); |
| | | const pages = { |
| | | page: 1, |
| | | pageSize: 1000, |
| | | total: 0, |
| | | }; |
| | | |
| | | let currentIndex = ref(0) |
| | | |
| | | // 园区 企业 |
| | | const tilteList = ref([ |
| | | { label: "吉水化工园区", value: "0", id: "1" } |
| | | ]); |
| | | |
| | | onMounted(() => { |
| | | getLists(formInline); |
| | | getCompanyPages() |
| | | }); |
| | | |
| | | // 搜索条件 |
| | | const formInline = reactive({ |
| | | firmId: '', |
| | | ownership: 1, |
| | | }); |
| | | function getCompanyPages(param = {}) { |
| | | param.current = pages.page; |
| | | param.size = pages.pageSize; |
| | | getPage(param).then(res => { |
| | | let companyList = res.data.data.records |
| | | companyList.forEach(item => { |
| | | tilteList.value.push({ |
| | | label: item.name, |
| | | value: item.id, |
| | | id: item.id |
| | | }) |
| | | }) |
| | | }).catch(err => { |
| | | }) |
| | | } |
| | | |
| | | function handleClick(item, index) { |
| | | currentIndex.value = index |
| | | pages.page = 1 |
| | | pages.pageSize = 1000 |
| | | pages.total = 0 |
| | | if (item.id == 1) { |
| | | formInline.firmId = '' |
| | | formInline.ownership = 1 |
| | | } else { |
| | | formInline.firmId = item.id |
| | | formInline.ownership = 2 |
| | | } |
| | | getLists(formInline); |
| | | } |
| | | // 表格样式 |
| | | const tableCellStyle = ({ row, column }) => { |
| | | return { background: "#152851", color: "#fff" }; |
| | | }; |
| | | // 表格表头样式 |
| | | const headerCellStyle = ({ }) => { |
| | | return { |
| | | background: "#152851", |
| | | color: "#fff", |
| | | }; |
| | | }; |
| | | |
| | | |
| | | // 提交查询 |
| | | // const onSubmit = () => { |
| | | // pages.page = 1 |
| | | // pages.pageSize = 13 |
| | | // pages.total = 0 |
| | | // console.log("submit!"); |
| | | // getLists(formInline); |
| | | // }; |
| | | |
| | | // 分页树改变 |
| | | const handleSizeChange = (val) => { |
| | | pages.pageSize = val; |
| | | getLists(formInline); |
| | | } |
| | | // 分页改变 |
| | | const handleCurrentChange = (val) => { |
| | | pages.page = val; |
| | | getLists(formInline); |
| | | } |
| | | // 重置条件 |
| | | const clearBtn = () => { |
| | | formInline.name = '' |
| | | formInline.ownership = '' |
| | | pages.page = 1 |
| | | pages.pageSize = 1000 |
| | | pages.total = 0 |
| | | getLists(formInline); |
| | | } |
| | | |
| | | // 查询分页数据 |
| | | function getLists(param = {}) { |
| | | param.current = pages.page; |
| | | param.size = pages.pageSize; |
| | | loading.value = true; |
| | | getList(param) |
| | | .then((res) => { |
| | | const data = res.data.data; |
| | | data.records.forEach((element) => { |
| | | if (element.ownership == -1) { |
| | | element.ownership = "园区"; |
| | | } else { |
| | | element.ownership = "企业"; |
| | | } |
| | | }); |
| | | tableData.value = data.records; |
| | | pages.total = data.total; |
| | | loading.value = false; |
| | | }) |
| | | .catch((err) => { |
| | | loading.value = false; |
| | | console.log(err); |
| | | }); |
| | | } |
| | | </script> |
| | | |
| | | |
| | | <style lang="scss" scoped> |
| | | .content_box { |
| | | color: #fff; |
| | | } |
| | | |
| | | .list_box { |
| | | overflow-x: auto; |
| | | white-space: nowrap; |
| | | // scrollbar-width: thin; |
| | | scrollbar-color: rgba(255, 255, 255, 0.3) transparent; |
| | | } |
| | | |
| | | .list_box ul { |
| | | display: flex; |
| | | /* 使用 Flexbox 布局 */ |
| | | padding: 0; |
| | | margin: 0; |
| | | list-style: none; |
| | | } |
| | | |
| | | .list_box li { |
| | | padding: 10px; |
| | | margin-right: 10px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .list_box li.active { |
| | | background-color: rgba(117, 116, 116, 0.3); |
| | | color: white; |
| | | } |
| | | |
| | | .page_box .el-table { |
| | | width: 100%; |
| | | height: 700px; |
| | | background-color: rgba(117, 116, 116, 0.3); |
| | | } |
| | | |
| | | .active { |
| | | background-color: #fff; |
| | | color: #000; |
| | | border-radius: 10px; |
| | | } |
| | | </style> |