From b8440d9a6b1671cdf0c8f06cdaba2f80a8dac1e6 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Wed, 13 Nov 2024 14:17:15 +0800
Subject: [PATCH] 退出图标按钮修复
---
src/views/supplies/components/box/dataContent.vue | 261 ++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 240 insertions(+), 21 deletions(-)
diff --git a/src/views/supplies/components/box/dataContent.vue b/src/views/supplies/components/box/dataContent.vue
index 7152a88..846919a 100644
--- a/src/views/supplies/components/box/dataContent.vue
+++ b/src/views/supplies/components/box/dataContent.vue
@@ -1,25 +1,244 @@
-<!--
- * @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.
--->
-<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">
+ <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>
- </template>
- </public-content>
+ </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-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>
\ No newline at end of file
+<script setup>
+import publicContent from "./publicContent.vue";
+import { getList } 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 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;
+ 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 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);
+ });
+}
+
+// 滚动到左边
+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: 4px;
+ // background: var(--el-color-danger-light-9);
+ background-color: rgba(117, 116, 116, 0.3);
+ // color: var(--el-color-danger);
+ // color: #000;
+}
+
+.content_box .content_span {
+ line-height: 70px;
+ margin: 0 15px;
+}
+
+.page_box .el-table {
+ width: 100%;
+ height: 680px;
+ background-color: rgba(117, 116, 116, 0.3);
+}
+
+.active {
+ background-color: rgba(255, 255, 255, 0.3);
+ color: #fff;
+ border-radius: 10px;
+}
+</style>
--
Gitblit v1.9.3