From cc1c0a396698648256c350f6f0fe2cb2f0b02c7e Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Wed, 27 Mar 2024 15:44:10 +0800
Subject: [PATCH] 许可按钮放出,备案审批按钮放出
---
src/views/statisticalQueryManagement/businessStatistics.vue | 448 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 349 insertions(+), 99 deletions(-)
diff --git a/src/views/statisticalQueryManagement/businessStatistics.vue b/src/views/statisticalQueryManagement/businessStatistics.vue
index 2b3db34..ae71a1a 100644
--- a/src/views/statisticalQueryManagement/businessStatistics.vue
+++ b/src/views/statisticalQueryManagement/businessStatistics.vue
@@ -1,58 +1,121 @@
<template>
- <basic-container>
- <avue-crud
- :option="tableOption"
- :data="tableData"
- :page.sync="tablePage"
- :permission="permissionList"
- :before-open="beforeOpen"
- @date-change="dateChange"
- @row-click="handleRowClick"
+ <div>
+ <basic-container
+ :class="[
+ 'witerFontColorInput',
+ $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
+ $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+ ]"
>
- </avue-crud>
- </basic-container>
+ <avue-crud
+ :option="tableOption"
+ :table-loading="loading"
+ :data="tableData"
+ :page.sync="page"
+ :permission="permissionList"
+ ref="crud"
+ :search.sync="search"
+ @row-update="rowUpdates"
+ @row-save="rowSave"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ @cell-click="handleRowClick"
+ class="businessStatisticsStyle tablesss"
+ >
+ <template slot="menuLeft">
+ <el-button
+ type="warning"
+ size="small"
+ plain
+ icon="el-icon-download"
+ @click="handleExportBusinessStatis"
+ >导出
+ </el-button>
+ </template>
+ </avue-crud>
+ </basic-container>
+ <el-dialog
+ class="tongji-class"
+ :title="dialogTitle"
+ width="80%"
+ append-to-body
+ :visible.sync="dialogShow"
+ v-if="dialogShow"
+ >
+ <businessStatisticsDetail
+ v-if="searchitem === 'fw'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsDetail>
+ <businessStatisticsPq
+ v-if="searchitem === 'pq'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsPq>
+ <businessStatisticsFwdq
+ v-if="searchitem === 'dq'"
+ :fwdeptId="fwdeptId"
+ ></businessStatisticsFwdq>
+ <securityGuardDetail
+ v-if="searchitem === 'zong'"
+ :fwdeptId="fwdeptId"
+ :paramCz="paramCz"
+ ></securityGuardDetail>
+ <!-- <avue-crud
+ :option="option2"
+ :data="data2"
+ :page.sync="page2"
+ @row-save="rowSave2"
+ @row-update="rowUpdate2"
+ @row-del="rowDel2"
+ :table-loading="loading2"
+ >
+ </avue-crud> -->
+ </el-dialog>
+ </div>
</template>
<script>
-import FileSaver from "file-saver";
-import XLSX from "xlsx";
import { mapGetters } from "vuex";
+import {
+ selectYw,
+ dictionaryList,
+} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
+import { lazyTrees } from "../../api/index/index";
+import businessStatisticsDetail from "./businessStatisticsDetail";
+import businessStatisticsPq from "./businessStatisticsPq";
+import businessStatisticsFwdq from "./businessStatisticsFwdq";
+import securityGuardDetail from "./securityGuardDetail";
+import Qs from "qs";
+import { getToken } from "@/util/auth";
export default {
name: "业务情况统计",
+ components: {
+ businessStatisticsDetail,
+ businessStatisticsPq,
+ businessStatisticsFwdq,
+ securityGuardDetail,
+ },
data() {
return {
- value1: "",
- value2: "",
- tableData: [
- {
- company: "江西省永安保安服务有限公司",
- subOffice: "南昌市公安局",
- customer: "76",
- num: "1124",
- },
- {
- company: "南昌市赣水保安服务有限公司",
- subOffice: "东湖分局",
- customer: "85",
- num: "1428",
- },
- {
- company: "江西中业兴达保安服务有限公司",
- subOffice: "西湖分局",
- customer: "46",
- num: "974",
- },
- ],
- tablePage: {
+ page: {
pageSize: 10,
currentPage: 1,
total: 0,
+ ...this.$store.state.control.changePageSize,
},
+ search: {},
+ query: {},
+ value1: "",
+ value2: "",
+ tableData: [],
tableOption: {
- excelBtn: true,
+ // excelBtn: true,
delBtn: false,
editBtn: false,
addBtn: false,
- selection: true,
+ selection: false,
menu: false,
// dateBtn: true,
align: "center",
@@ -63,50 +126,42 @@
searchShow: true,
searchMenuSpan: 6,
index: true,
+ indexLabel: "序号",
viewBtn: true,
dialogClickModal: false,
+ ...this.$store.state.control.clearOtherBut,
column: [
{
- label: "公司名称",
- prop: "company",
+ label: "企业名称",
+ prop: "enterpriseName",
+ search: true,
+ searchSpan: 4,
+ width: 300,
+ display: false,
+ },
+ {
+ label: "企业属性",
+ prop: "stats",
search: true,
searchSpan: 4,
display: false,
- },
-
- {
- label: "所属辖区",
- prop: "subOffice",
- searchSpan: 4,
type: "select",
props: {
- label: "label",
- value: "value",
+ label: "dictValue",
+ value: "dictKey",
},
- // cascaderItem: ["city", "area"],
- // dicUrl:subofficeOptions,
- dicData: [
- {
- value: "0",
- label: "南昌市公安局",
- },
- {
- value: "2",
- label: "东湖分局",
- },
- {
- value: "3",
- label: "西湖分局",
- },
- {
- value: "4",
- label: "青云谱分局",
- },
- {
- value: "5",
- label: "青山湖分局",
- },
- ],
+ dicData: [],
+ },
+ {
+ label: "所属辖区",
+ prop: "jurname",
+ searchSpan: 4,
+ type: "tree",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ dicData: [],
search: true,
rules: [
{
@@ -117,17 +172,62 @@
],
},
{
- label: "服务对象数量",
- prop: "customer",
+ label: "保安员人数",
+ prop: "znum",
display: false,
},
{
- label: "保安员人数",
- prop: "num",
+ label: "持证人数",
+ prop: "cznum",
display: false,
+ },
+ {
+ label: "派遣人数",
+ prop: "pqnum",
+ display: false,
+ },
+ {
+ label: "服务对象数量",
+ prop: "fwnum",
+ display: false,
+ },
+ {
+ label: "服务到期数量",
+ prop: "dqnum",
+ display: false,
+ },
+ {
+ label: "单位注册时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchRange: true,
+ searchSpan: 6,
+ searchLabelWidth: 120,
+ labelWidth: 160,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择单位注册时间",
+ trigger: "blur",
+ },
+ ],
},
],
},
+ loading: true,
+ dialogTitle: "",
+ dialogShow: false,
+ pqdialogShow: false,
+ fwdeptId: "",
+ searchitem: "",
+ paramCz: false,
};
},
computed: {
@@ -142,32 +242,182 @@
},
},
methods: {
- handleRowClick(row, event, column) {
- this.$router.push({ path: "/statisticalQueryManagement/businessStatisticsDetail" });
+ //业务情况统计信息导出
+ handleExportBusinessStatis() {
+ this.$confirm("是否导出业务情况统计信息数据?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ }).then(() => {
+ //获取查询条件
+ const { releaseTimeRange } = this.search;
+ if (releaseTimeRange) {
+ this.search["startTime"] = releaseTimeRange[0];
+ this.search["endTime"] = releaseTimeRange[1];
+ }
+ var data = {
+ jurisdiction: this.search.jurname,
+ stats: this.search.stats,
+ deptid: this.search.enterpriseName,
+ startTime: this.search.startTime,
+ endTime: this.search.endTime,
+ };
+ // console.log(data,123);
+ //序列号url形式,用&拼接
+ data = Qs.stringify(data);
+ window.open(
+ `/api/information/export-business-statis?${
+ this.website.tokenHeader
+ }=${getToken()}&` + data
+ );
+ });
},
- dateChange() {},
- // downExcel() {
- // let et = XLSX.utils.table_to_book(document.getElementById("table"));
- // let etout = XLSX.write(et, {
- // bookType: "xlsx",
- // bookSST: true,
- // type: "array"
- // });
- // try {
- // FileSaver.saveAs(
- // new Blob([etout], {
- // type: "application/octet-stream"
- // }),
- // `表.xlsx`
- // ); //导出的文件名
- // } catch (e) {
- // console.log(e, etout);
- // }
- // return etout;
- // }
+ getSubOfficeData() {
+ lazyTrees().then((res) => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach((item) => {
+ if (item.label == "所属辖区") {
+ item.dicData = res.data.data;
+ }
+ });
+ } else {
+ this.$message.error(res.msg);
+ }
+ });
+ },
+ getDictionaryList() {
+ dictionaryList().then((res) => {
+ if (res.data.code === 200) {
+ this.tableOption.column.forEach((item) => {
+ if (item.label == "企业属性") {
+ item.dicData = res.data.data;
+ }
+ });
+ }
+ });
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ this.onLoad(this.page, this.query);
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ this.onLoad(this.page, this.query);
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ params = this.search;
+ this.loading = true;
+ let param = {};
+ param["jurisdiction"] = params["jurname"] || "";
+ param["deptid"] = params["enterpriseName"] || "";
+ param["stats"] = params["stats"] || "";
+ param["current"] = page.currentPage;
+ param["size"] = page.pageSize;
+ const { releaseTimeRange } = this.query;
+ let values = {
+ ...param,
+ };
+ if (releaseTimeRange) {
+ values = {
+ ...param,
+ startTime: releaseTimeRange[0],
+ endTime: releaseTimeRange[1],
+ ...this.query,
+ };
+ values.releaseTimeRange = null;
+ }
+ selectYw(values).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.tableData = data.records;
+ this.$store.commit("setWindowSizeHeightAdd");
+ this.loading = false;
+ });
+ },
+ handleRowClick(row, column, cell, event) {
+ this.paramCz = false;
+
+ if (column.label == "服务对象数量") {
+ this.dialogTitle = "业务统计明细---服务对象清单";
+ this.searchitem = "fw";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+
+ // dispatcherUnit({
+ // deptId: row.departmentid
+ // }).then(res => {
+ // if (res.data.code === 200) {
+ // this.page = {
+ // pageSize: 10,
+ // currentPage: 1,
+ // total: res.data.data.total
+ // };
+ // this.tableData = res.data.data.records;
+ // }
+ // });
+ // this.$router.push({
+ // path:
+ // "/statisticalQueryManagement/businessStatisticsDetail?&departmentid=" +
+ // row.departmentid
+ // });
+ } else if (column.label == "保安员人数") {
+ this.dialogTitle = "业务统计明细---保安员清单";
+ this.searchitem = "zong";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+
+ // this.$router.push({
+ // path:
+ // "/statisticalQueryManagement/securityGuardDetail?departmentid=" +
+ // row.departmentid
+ // });
+ } else if (column.label == "派遣人数") {
+ this.dialogTitle = "业务统计明细---派遣人员清单";
+ this.searchitem = "pq";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else if (column.label == "服务到期数量") {
+ this.dialogTitle = "业务统计明细---服务到期公司清单";
+ this.searchitem = "dq";
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else if (column.label == "持证人数") {
+ this.dialogTitle = "业务统计明细---持证保安人员清单";
+ this.searchitem = "zong";
+ this.paramCz = true;
+ this.fwdeptId = row.departmentid;
+ this.dialogShow = true;
+ } else {
+ this.dialogShow = false;
+ }
+ },
},
- mounted() {},
+ mounted() {
+ this.getSubOfficeData();
+ this.getDictionaryList();
+ this.$store.commit("setWindowSizeHeightAdd");
+ },
};
</script>
<style lang="scss" scoped>
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(7),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(6),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(8),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(9),
+/deep/ .businessStatisticsStyle .el-table__row:hover td:nth-child(10) {
+ cursor: pointer !important;
+}
</style>
--
Gitblit v1.9.3