From dc9a330c08865f901f7527f98d4bcfcdf03ba93e Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 25 Nov 2024 09:35:34 +0800
Subject: [PATCH] 代码优化
---
src/views/supplies/components/box/dataContent.vue | 224 ++++++++++++++++++++++++++++++++-----------------------
1 files changed, 130 insertions(+), 94 deletions(-)
diff --git a/src/views/supplies/components/box/dataContent.vue b/src/views/supplies/components/box/dataContent.vue
index 846919a..1859838 100644
--- a/src/views/supplies/components/box/dataContent.vue
+++ b/src/views/supplies/components/box/dataContent.vue
@@ -3,7 +3,9 @@
<template #content>
<div class="content_box">
<div class="list_box">
- <span class="content_span" @click="scrollLeft">《</span>
+ <span class="content_span" @click="scrollLeft">
+ <img src="@/assets/images/left.png" alt="">
+ </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"
@@ -12,28 +14,27 @@
</p>
</div>
</el-scrollbar>
- <span class="content_span" @click="scrollRight">》</span>
+ <span class="content_span" @click="scrollRight">
+ <img src="@/assets/images/right.png" alt="">
+ </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 border 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 border empty-text="" v-else :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="数量" />
</el-table>
</div>
</div>
@@ -43,50 +44,61 @@
</template>
<script setup>
-import publicContent from "./publicContent.vue";
-import { getList } from "@/api/emergencySupplies/emergencySupplies";
+import publicContent from "./publicContent.vue"
+import { getList, getCompanyList } from "@/api/emergencySupplies/emergencySupplies"
import { getPage } from '@/api/indParkInfo'
-import { reactive, ref, onMounted } from "vue";
-import { ElScrollbar } from 'element-plus';
+import { reactive, ref, onMounted } from "vue"
+import { ElScrollbar } from 'element-plus'
-const loading = ref(false);
+const loading = ref(false)
-const tableData = ref([]);
+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);
+ getLists(formInline)
getCompanyPages()
-});
+})
-const scrollbarRef = ref(null);
+// 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 inputSlider = (number) => {
- if (scrollbarRef.value) {
- scrollbarRef.value.setScrollTop(number);
- }
-}
+const scrollbarRef = ref(null)
+
// 搜索条件
const formInline = reactive({
firmId: '',
ownership: 1,
-});
+})
function getCompanyPages(param = {}) {
- param.current = pages.page;
- param.size = pages.pageSize;
+ param.current = pages.page
+ param.size = pages.pageSize
getPage(param).then(res => {
let companyList = res.data.data.records
companyList.forEach(item => {
@@ -108,88 +120,101 @@
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 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 = {}) {
- param.current = pages.page;
- param.size = pages.pageSize;
- loading.value = true;
+ 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;
+ const data = res.data.data
+ tableData.value = data.records
+ pages.total = data.total
+ loading.value = false
})
.catch((err) => {
- loading.value = false;
- console.log(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 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;
+ const currentScrollLeft = scrollbarRef.value.wrapRef.scrollLeft
+ const step = 500 // 每次滚动的距离
+ scrollbarRef.value.wrapRef.scrollLeft = currentScrollLeft + step
}
}
</script>
@@ -218,27 +243,38 @@
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;
+ 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);
+ // background-color: rgba(117, 116, 116, 0.3);
}
.active {
- background-color: rgba(255, 255, 255, 0.3);
- color: #fff;
- border-radius: 10px;
+ // color: #409eff;
+ // border-radius: 10px;
+ box-shadow: inset 0 0 100px #2a8ef1;
}
</style>
--
Gitblit v1.9.3