Files
xzlz_JczWeb/src/views/backOfficeSystem/peopleManag/crossStation/index.vue
2025-12-30 09:50:02 +08:00

264 lines
6.8 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div>
<div class="titleBox">
<PageTitle title="过站汇总管理"> </PageTitle>
</div>
<!-- 表格 -->
<div ref="searchBox">
<Search :searchArr="searchConfiger" @submit="onSearch" />
</div>
<div class="top_box">
<div class="item_box">
<div>过站总人数{{ totalObj.gzryNum }}</div>
<div class="fl_box">
<div>入林人数{{ totalObj.rlclNum }}</div>
<div>出林人数{{ totalObj.clryNum }}</div>
</div>
</div>
<div class="item_box">
<div>过站总车数{{ totalObj.gzclNum }}</div>
<div class="fl_box">
<div>入林车数{{ totalObj.rlclNum }}</div>
<div>出林车数{{ totalObj.clclNum }}</div>
</div>
</div>
<div class="item_box">
<div>过站物品数{{ totalObj.gzwpNum }}</div>
<div class="fl_box">
<div>入林物品数{{ totalObj.rlwpNum }}</div>
<div>出林物品数{{ totalObj.clwpNum }}</div>
</div>
</div>
</div>
<div class="tabBox">
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth"
@columnInfo="columnInfo">
</MyTable>
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
...pageData.pageConfiger,
total: pageData.total
}"></Pages>
</div>
</div>
<Gjrxloder v-model="showGjry" :chooseShow="false" :searchData="dialogSearch" />
<Gjclloder v-model="showGjcl" :chooseShow="false" :searchData="dialogSearch" />
<Gjwploder v-model="showGjwp" :chooseShow="false" :searchData="dialogSearch" />
</template>
<script setup>
import { qcckGet, qcckPost } from "@/api/qcckApi.js";
import PageTitle from "@/components/aboutTable/PageTitle.vue";
import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue";
import Search from "@/components/aboutTable/Search.vue";
import Gjrxloder from "@/components/loder/gjrxloder.vue";
import Gjclloder from "@/components/loder/gjclloder.vue";
import Gjwploder from "@/components/loder/gjwploder.vue";
import { isAuth } from "@/utils/tools.js";
import { ElMessage } from "element-plus";
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_BZ_WPLX } = proxy.$dict("D_BZ_WPLX");
const searchConfiger = ref([
{
showType: "datetimerange",
prop: "time",
placeholder: "请选择时间",
label: "时间"
}
]);
const totalObj = ref({});
const showGjry = ref(false);
const showGjcl = ref(false);
const showGjwp = ref(false);
const detailDiloag = ref();
const dialogSearch = ref({});
const pageData = reactive({
tableData: [], //表格数据
keyCount: 0,
tableConfiger: {
rowHieght: 61,
showSelectType: "null",
loading: false,
haveControls: false
},
total: 0,
pageConfiger: {
pageSize: 20,
pageCurrent: 1
}, //分页
controlsWidth: 250, //操作栏宽度
tableColumn: [
{
label: "检查站名称",
prop: "kkMc",
showOverflowTooltip: true
},
{ label: "过站总人数", prop: "gzryNum", showOverflowTooltip: true },
{ label: "入林人数", prop: "rlclNum", showOverflowTooltip: true },
{ label: "出林人数", prop: "clryNum", showOverflowTooltip: true },
{
label: "过站总车辆",
prop: "gzclNum",
showOverflowTooltip: true
},
{
label: "入林车辆",
prop: "rlclNum",
showOverflowTooltip: true
},
{
label: "出林车辆",
prop: "clclNum",
showOverflowTooltip: true
},
{
label: "过站物品数",
prop: "gzwpNum",
showOverflowTooltip: true
},
{
label: "入林物品数",
prop: "rlwpNum",
showOverflowTooltip: true
},
{
label: "出林物品数",
prop: "clwpNum",
showOverflowTooltip: true
}
]
});
const Auth = ref(true);
onMounted(() => {
tabHeightFn();
});
//查询条件
const queryCondition = ref({});
// 统计
const getjczgetXfllTj = () => {
qcckGet(queryCondition.value, "/mosty-jcz/jczGjrytx/getGjrytxhzTj").then(
(res) => {
console.log(res, "res");
totalObj.value = res;
}
);
};
const getjczgetXfllList = () => {
qcckGet(queryCondition.value, "/mosty-jcz/jczGjrytx/getGjrytxhzlb")
.then((res) => {
pageData.tableData = res.records;
pageData.total = res.total;
})
.finally(() => {
pageData.tableConfiger.loading = false;
});
};
getjczgetXfllTj();
getjczgetXfllList();
// 搜索
const onSearch = (val) => {
if (val.time) {
queryCondition.value.kssj = val.time[0];
queryCondition.value.jssj = val.time[1];
} else {
queryCondition.value.kssj = "";
queryCondition.value.jssj = "";
}
getjczgetXfllTj();
getjczgetXfllList();
};
const columnInfo = (val) => {
// 过站类型01 入林 02 出林) 01 入林 02 出林
dialogSearch.value.kkId = val.row.kkId;
switch (val.column.property) {
case "gzryNum":
dialogSearch.value.gzlx = "";
showGjry.value = true;
break;
case "rlclNum":
dialogSearch.value.gzlx = "01";
showGjry.value = true;
break;
case "clryNum":
dialogSearch.value.gzlx = "02";
showGjry.value = true;
break;
case "gzclNum":
dialogSearch.value.gzlx = "";
showGjcl.value = true;
break;
case "rlclNum":
dialogSearch.value.gzlx = "01";
showGjcl.value = true;
break;
case "clclNum":
dialogSearch.value.gzlx = "02";
showGjcl.value = true;
break;
case "gzwpNum":
dialogSearch.value.gzlx = "";
showGjwp.value = true;
break;
case "rlwpNum":
dialogSearch.value.gzlx = "01";
showGjwp.value = true;
break;
case "clwpNum":
dialogSearch.value.gzlx = "02";
showGjwp.value = true;
break;
}
};
const changeNo = (val) => {
pageData.pageConfiger.pageCurrent = val;
};
const changeSize = (val) => {
pageData.pageConfiger.pageSize = val;
};
// 新增
const addEdit = (type, row) => {
detailDiloag.value.init(type, row);
};
const searchBox = ref(null);
// 表格高度计算
const tabHeightFn = () => {
pageData.tableHeight =
window.innerHeight - searchBox.value.offsetHeight - 280;
window.onresize = function () {
tabHeightFn();
};
};
</script>
<style lang="scss" scoped>
.el-loading-mask {
background: rgba(0, 0, 0, 0.5) !important;
}
.top_box {
display: flex;
justify-content: space-around;
color: #000;
margin-bottom: 10px;
.item_box {
text-align: center;
width: 22%;
font-size: 20px;
}
.fl_box {
display: flex;
font-size: 16px;
justify-content: space-between;
}
}
</style>