| | |
| | | <!-- |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-13 14:54:26 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-13 15:00:55 |
| | | * @FilePath: \forest-fire\src\views\statistics\components\box\dataContent.vue |
| | | * @Description: |
| | | * |
| | | * Copyright (c) 2023 by ${git_name_email}, All Rights Reserved. |
| | | --> |
| | | |
| | | |
| | | <template> |
| | | <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> |
| | | <span class="content_span" @click="scrollLeft">《</span> |
| | | <el-scrollbar ref="scrollbarRef" @scroll="scroll"> |
| | | <div class="scrollbar-flex-content"> |
| | | <p v-for="(item, index) in tilteList" @click="handleClick(item, index)" :key="index" |
| | | class="scrollbar-demo-item" :class="{ active: index === currentIndex }"> |
| | | {{ item.label }} |
| | | </p> |
| | | </div> |
| | | </el-scrollbar> |
| | | <span class="content_span" @click="scrollRight">》</span> |
| | | </div> |
| | | |
| | | <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 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> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | </public-content> |
| | |
| | | import publicContent from "./publicContent.vue"; |
| | | import { getList } from "@/api/emergencySupplies/emergencySupplies"; |
| | | import { getPage } from '@/api/indParkInfo' |
| | | import { reactive } from "vue"; |
| | | import { reactive, ref, onMounted } from "vue"; |
| | | import { ElScrollbar } from 'element-plus'; |
| | | |
| | | const loading = ref(false); |
| | | |
| | |
| | | getCompanyPages() |
| | | }); |
| | | |
| | | const scrollbarRef = ref(null); |
| | | |
| | | const inputSlider = (number) => { |
| | | if (scrollbarRef.value) { |
| | | scrollbarRef.value.setScrollTop(number); |
| | | } |
| | | } |
| | | |
| | | // 搜索条件 |
| | | const formInline = reactive({ |
| | | firmId: '', |
| | | ownership: 1, |
| | | }); |
| | | |
| | | function getCompanyPages(param = {}) { |
| | | param.current = pages.page; |
| | | param.size = pages.pageSize; |
| | |
| | | } |
| | | getLists(formInline); |
| | | } |
| | | |
| | | // 表格样式 |
| | | const tableCellStyle = ({ row, column }) => { |
| | | return { background: "#152851", color: "#fff" }; |
| | | }; |
| | | |
| | | // 表格表头样式 |
| | | const headerCellStyle = ({ }) => { |
| | | return { |
| | |
| | | }; |
| | | }; |
| | | |
| | | |
| | | // 提交查询 |
| | | // 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 = '' |
| | |
| | | console.log(err); |
| | | }); |
| | | } |
| | | |
| | | // 滚动到左边 |
| | | const scrollLeft = () => { |
| | | if (scrollbarRef.value) { |
| | | const currentScrollLeft = scrollbarRef.value.wrapRef.scrollLeft; |
| | | const step = 500; // 每次滚动的距离 |
| | | scrollbarRef.value.wrapRef.scrollLeft = currentScrollLeft - step; |
| | | } |
| | | } |
| | | |
| | | // 滚动到右边 |
| | | const scrollRight = () => { |
| | | if (scrollbarRef.value) { |
| | | const currentScrollLeft = scrollbarRef.value.wrapRef.scrollLeft; |
| | | const step = 500; // 每次滚动的距离 |
| | | scrollbarRef.value.wrapRef.scrollLeft = currentScrollLeft + step; |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | |
| | |
| | | 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 { |
| | | .content_box .list_box { |
| | | display: flex; |
| | | /* 使用 Flexbox 布局 */ |
| | | padding: 0; |
| | | margin: 0; |
| | | list-style: none; |
| | | text-align: center; |
| | | } |
| | | |
| | | .list_box li { |
| | | padding: 10px; |
| | | margin-right: 10px; |
| | | cursor: pointer; |
| | | .scrollbar-flex-content { |
| | | display: flex; |
| | | } |
| | | |
| | | .list_box li.active { |
| | | .scrollbar-demo-item { |
| | | flex-shrink: 0; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | height: 50px; |
| | | margin: 10px; |
| | | padding: 0 5px; |
| | | text-align: center; |
| | | border-radius: 4px; |
| | | // background: var(--el-color-danger-light-9); |
| | | background-color: rgba(117, 116, 116, 0.3); |
| | | color: white; |
| | | // color: var(--el-color-danger); |
| | | // color: #000; |
| | | } |
| | | |
| | | .content_box .content_span { |
| | | line-height: 70px; |
| | | margin: 0 15px; |
| | | } |
| | | |
| | | .page_box .el-table { |
| | | width: 100%; |
| | | height: 700px; |
| | | height: 680px; |
| | | background-color: rgba(117, 116, 116, 0.3); |
| | | } |
| | | |
| | | .active { |
| | | background-color: #fff; |
| | | color: #000; |
| | | background-color: rgba(255, 255, 255, 0.3); |
| | | color: #fff; |
| | | border-radius: 10px; |
| | | } |
| | | </style> |