From 041eb290228146c7fcfea0c266c03bbe3105eb05 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 14 Nov 2024 18:15:00 +0800
Subject: [PATCH] Merge branch 'main' of http://139.196.74.78:10010/r/zhyq/bigScreen

---
 src/views/supplies/components/box/dataContent.vue |  241 +++++++++++++++++++++++++++--------------------
 1 files changed, 139 insertions(+), 102 deletions(-)

diff --git a/src/views/supplies/components/box/dataContent.vue b/src/views/supplies/components/box/dataContent.vue
index 5ac17b0..f88b53f 100644
--- a/src/views/supplies/components/box/dataContent.vue
+++ b/src/views/supplies/components/box/dataContent.vue
@@ -1,53 +1,40 @@
-<!--
- * @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-column fixed prop="stoLoc" label="物资地址" />
-              <el-table-column prop="numUnit" label="数量" width="100" />
+            <el-table empty-text="" v-if="formInline.ownership == 1" :data="tableData">
+              <el-table-column prop="name" label="物资名称" />
+              <el-table-column prop="personInCha" label="负责人" width="150" />
+              <el-table-column prop="personInChaPhone" label="负责人电话" width="250" />
+              <el-table-column prop="stoLoc" label="物资地址" />
+              <el-table-column prop="numUnit" label="数量" width="150" />
             </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 empty-text="" v-else :data="tableData">
+              <!-- <el-table-column prop="firmName" label="企业名称" /> -->
+              <el-table-column prop="name" label="物资名称" />
+              <!-- <el-table-column prop="personInCha" label="负责人" /> -->
+              <!-- <el-table-column prop="personInChaPhone" label="负责人电话" /> -->
+              <el-table-column prop="stoLoc" label="物资地址" />
+              <el-table-column prop="num" label="数量" />
             </el-table>
           </div>
         </div>
-
       </div>
     </template>
   </public-content>
@@ -55,9 +42,10 @@
 
 <script setup>
 import publicContent from "./publicContent.vue";
-import { getList } from "@/api/emergencySupplies/emergencySupplies";
+import { getList, getCompanyList } 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);
 
@@ -80,11 +68,31 @@
   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;
@@ -109,53 +117,48 @@
   if (item.id == 1) {
     formInline.firmId = ''
     formInline.ownership = 1
+    getLists(formInline);
   } else {
     formInline.firmId = item.id
     formInline.ownership = 2
+    getComLists(formInline)
   }
-  getLists(formInline);
 }
+
 // 表格样式
-const tableCellStyle = ({ row, column }) => {
-  return { background: "#152851", color: "#fff" };
-};
+// 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 headerCellStyle = ({ }) => {
+//   return {
+//     background: "#152851",
+//     color: "#fff",
+//   };
 // };
 
 // 分页树改变
-const handleSizeChange = (val) => {
-  pages.pageSize = val;
-  getLists(formInline);
-}
+// const handleSizeChange = (val) => {
+//   pages.pageSize = val;
+//   getLists(formInline);
+// }
+
 // 分页改变
-const handleCurrentChange = (val) => {
-  pages.page = 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);
-}
+// const clearBtn = () => {
+//   formInline.name = ''
+//   formInline.ownership = ''
+//   pages.page = 1
+//   pages.pageSize = 1000
+//   pages.total = 0
+//   getLists(formInline);
+// }
 
 // 查询分页数据
 function getLists(param = {}) {
@@ -165,13 +168,6 @@
   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;
@@ -181,6 +177,43 @@
       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>
 
 
@@ -189,41 +222,45 @@
   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;
-  background-color: rgba(117, 116, 116, 0.3);
+  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>

--
Gitblit v1.9.3