<template>
|
<public-content>
|
<template #content>
|
<div class="content_box">
|
<div class="list_box">
|
<span class="content_span" @click="scrollLeft">
|
<img src="@/assets/images/left.png" alt="">
|
</span>
|
<el-scrollbar ref="scrollbarRef">
|
<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">
|
<img src="@/assets/images/right.png" alt="">
|
</span>
|
</div>
|
|
<div class="page_box">
|
<div>
|
<el-table empty-text="暂无数据" border v-if="formInline.ownership == 1" :data="tableData">
|
<el-table-column prop="name" label="物资名称" />
|
<el-table-column prop="stoLoc" label="物资地址" />
|
<el-table-column prop="numUnit" label="数量" width="150" />
|
</el-table>
|
|
<el-table empty-text="暂无数据" border v-else :data="tableData">
|
<el-table-column prop="name" label="物资名称" />
|
<el-table-column prop="stoLoc" label="物资地址" />
|
<el-table-column prop="numUnit" label="数量" />
|
</el-table>
|
</div>
|
</div>
|
</div>
|
</template>
|
</public-content>
|
</template>
|
|
<script setup>
|
import { getList, getCompanyList } from "@/api/emergencySupplies/emergencySupplies"
|
import { getPage } from '@/api/indParkInfo'
|
import { reactive, ref, onMounted } from "vue"
|
import { ElScrollbar } from 'element-plus'
|
|
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 objectSpanMethod = ({ row, column, rowIndex, columnIndex }) => {
|
// if (columnIndex === 0) {
|
// if (rowIndex % 2 === 0) {
|
// return {
|
// rowspan: 2,
|
// colspan: 1
|
// }
|
// } else {
|
// return {
|
// rowspan: 0,
|
// colspan: 0
|
// }
|
// }
|
// }
|
// }
|
|
const scrollbarRef = ref(null)
|
|
|
// 搜索条件
|
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
|
getLists(formInline)
|
} else {
|
formInline.firmId = item.id
|
formInline.ownership = 2
|
getComLists(formInline)
|
}
|
}
|
|
// 表格样式
|
// const tableCellStyle = ({ row, column }) => {
|
// return { background: "#152851", color: "#fff" };
|
// };
|
|
// 表格表头样式
|
// const headerCellStyle = ({ }) => {
|
// return {
|
// background: "#152851",
|
// color: "#fff",
|
// };
|
// };
|
|
// 分页树改变
|
// 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
|
tableData.value = data.records
|
pages.total = data.total
|
loading.value = false
|
})
|
.catch((err) => {
|
loading.value = false
|
console.log(err)
|
})
|
}
|
|
|
// 查询分页数据
|
function getComLists (param = {}) {
|
param.current = pages.page
|
param.size = pages.pageSize
|
loading.value = true
|
getCompanyList(param)
|
.then((res) => {
|
const data = res.data.data
|
tableData.value = data.dataList
|
pages.total = data.total
|
loading.value = false
|
})
|
.catch((err) => {
|
loading.value = false
|
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>
|
|
|
<style lang="scss" scoped>
|
.content_box {
|
color: #fff;
|
}
|
|
.content_box .list_box {
|
display: flex;
|
text-align: center;
|
}
|
|
.scrollbar-flex-content {
|
display: flex;
|
}
|
|
.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: 10px;
|
box-shadow: inset 0 0 40px #409eff;
|
cursor: pointer;
|
}
|
|
.content_box .content_span {
|
line-height: 70px;
|
margin: 0 15px;
|
cursor: pointer;
|
|
& img {
|
// 图片上下居中
|
vertical-align: middle;
|
width: 30px;
|
height: 30px;
|
}
|
|
& img:hover {
|
box-shadow: inset 0 0 40px #fff;
|
border-radius: 10px;
|
}
|
}
|
|
.page_box .el-table {
|
width: 100%;
|
height: 680px;
|
// background-color: rgba(117, 116, 116, 0.3);
|
}
|
|
.active {
|
// color: #409eff;
|
// border-radius: 10px;
|
box-shadow: inset 0 0 100px #2a8ef1;
|
}
|
</style>
|