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/securityUnitOperation/operationTable.vue |  529 +++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 304 insertions(+), 225 deletions(-)

diff --git a/src/views/securityUnitOperation/operationTable.vue b/src/views/securityUnitOperation/operationTable.vue
index e1d1ad3..1a08ede 100644
--- a/src/views/securityUnitOperation/operationTable.vue
+++ b/src/views/securityUnitOperation/operationTable.vue
@@ -1,247 +1,326 @@
 <template>
-  <div class="operation-table">
-    <el-row>
-      <el-col>
-        <span>时间范围:</span>
-        <el-date-picker
-          v-model="value2"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-        >
-        </el-date-picker>
-        <span>类别:</span>
-        <el-select v-model="typeValue" placeholder="请选择">
-          <el-option
-            v-for="item in typeOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
-          </el-option>
-        </el-select>
-        <span>所属辖区:</span>
-        <el-select v-model="subofficeValue" placeholder="请选择">
-          <el-option
-            v-for="item in subofficeOptions"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value"
-          >
-          </el-option>
-        </el-select>
-        <span>公司名称:</span>
-        <el-input v-model="companyName"></el-input>
-        <el-button>查询</el-button>
-        <el-button>重置</el-button>
-      </el-col>
-    </el-row>
-    <el-row>
-      <el-col>
-        <div class="table">
-          <el-button @click="downExcel">下载</el-button>
-          <el-table id="table" :data="tableData" style="width: 100%">
-            <el-table-column type="index" label="序号" width="50">
-            </el-table-column>
-            <el-table-column prop="company" label="公司名称" width="180">
-            </el-table-column>
-            <el-table-column prop="subOffice" label="所属分局" width="180">
-            </el-table-column>
-            <el-table-column prop="time" label="时间"> </el-table-column>
-            <el-table-column prop="totalSec" label="总保安人数">
-            </el-table-column>
-            <el-table-column prop="normalSec" label="正常保安数">
-            </el-table-column>
-            <el-table-column prop="holderSec" label="持证保安数">
-            </el-table-column>
-            <el-table-column prop="sendSec" label="保安派遣数">
-            </el-table-column>
-            <el-table-column prop="passSec" label="过考保安数">
-            </el-table-column>
-            <el-table-column prop="unit" label="服务单位数"> </el-table-column>
-            <el-table-column prop="socialSec" label="缴纳社保保安数">
-            </el-table-column>
-            <el-table-column prop="bz" label="备注"> </el-table-column>
-          </el-table>
-          <el-pagination
-            background
-            layout="prev, pager, next"
-            :total="tableData.length"
-          >
-          </el-pagination>
-        </div>
-      </el-col>
-    </el-row>
-  </div>
+  <basic-container
+    :class="[
+      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
+      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
+    ]"
+  >
+    <avue-crud
+      class="tablesss smileTableFromSize"
+      :option="tableOption"
+      :table-loading="loading"
+      :data="tableData"
+      :page.sync="page"
+      :permission="permissionList"
+      ref="crud"
+      @search-change="searchChange"
+      @search-reset="searchReset"
+      @current-change="currentChange"
+      @size-change="sizeChange"
+      @refresh-change="refreshChange"
+    >
+    </avue-crud>
+  </basic-container>
 </template>
 <script>
-import FileSaver from "file-saver";
-import XLSX from "xlsx";
+import { selectTb } from "../../api/securityUnitOperation/securityUnitOperation";
+import { lazyTreeJu, lazyTrees } from "../../api/index/index";
 export default {
   name: "公司运营情况智能分析详情表",
   data() {
     return {
-      pickerOptions: {
-        shortcuts: [
-          {
-            text: "最近一周",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近一个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
-              picker.$emit("pick", [start, end]);
-            }
-          },
-          {
-            text: "最近三个月",
-            onClick(picker) {
-              const end = new Date();
-              const start = new Date();
-              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
-              picker.$emit("pick", [start, end]);
-            }
-          }
-        ]
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+        ...this.$store.state.control.changePageSize,
       },
+      query: {},
       value1: "",
       value2: "",
       tableData: [
-        {
-          company: "江西省永安保安服务有限公司",
-          subOffice: "南昌市公安局",
-          time: "2020年7月",
-          totalSec: "1200",
-          normalSec: "1150",
-          holderSec: "1160",
-          sendSec: "1000",
-          passSec: "1180",
-          unit: "50",
-          socialSec: "1180",
-          bz: ""
-        },
-        {
-          company: "南昌市赣水保安服务有限公司",
-          subOffice: "东湖分局",
-          time: "2020年7月",
-          totalSec: "1200",
-          normalSec: "1150",
-          holderSec: "1160",
-          sendSec: "1000",
-          passSec: "1180",
-          unit: "50",
-          socialSec: "1180",
-          bz: ""
-        },
-        {
-          company: "江西中业兴达保安服务有限公司",
-          subOffice: "西湖分局",
-          time: "2020年7月",
-          totalSec: "1200",
-          normalSec: "1150",
-          holderSec: "1160",
-          sendSec: "1000",
-          passSec: "1180",
-          unit: "50",
-          socialSec: "1180",
-          bz: ""
-        }
+        // {
+        //   company: "江西省永安保安服务有限公司",
+        //   subOffice: "南昌市公安局",
+        //   time: "2020-07-21",
+        //   totalSec: "1200",
+        //   normalSec: "1150",
+        //   holderSec: "1160",
+        //   sendSec: "1000",
+        //   passSec: "1180",
+        //   unit: "52",
+        //   socialSec: "1160",
+        //   bz: ""
+        // },
+        // {
+        //   company: "南昌市赣水保安服务有限公司",
+        //   subOffice: "东湖分局",
+        //   time: "2021-06-11",
+        //   totalSec: "1360",
+        //   normalSec: "1250",
+        //   holderSec: "1258",
+        //   sendSec: "1210",
+        //   passSec: "1180",
+        //   unit: "48",
+        //   socialSec: "1200",
+        //   bz: ""
+        // },
+        // {
+        //   company: "江西中业兴达保安服务有限公司",
+        //   subOffice: "西湖分局",
+        //   time: "2020-01-21",
+        //   totalSec: "1269",
+        //   normalSec: "1250",
+        //   holderSec: "1042",
+        //   sendSec: "1040",
+        //   passSec: "1180",
+        //   unit: "41",
+        //   socialSec: "1025",
+        //   bz: ""
+        // }
       ],
+      tableOption: {
+        excelBtn: true,
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        selection: true,
+        menu: false,
+        // dateBtn: true,
+        align: "center",
+        height: "auto",
+        calcHeight: 30,
+        tip: false,
+        searchShowBtn: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        index: true,
+        indexLabel: "#",
+        viewBtn: true,
+        dialogClickModal: false,
+        ...this.$store.state.control.clearOtherBut,
+        column: [
+          // {
+          //   label: "类别",
+          //   hide: true,
+          //   prop: "",
+          //   search: true,
+          //   searchSpan: 4,
+          //   display: true,
+          //   type: "select",
+          //   props: {
+          //     label: "label",
+          //     value: "value"
+          //   },
+          //   // cascaderItem: ["city", "area"],
+          //   // dicUrl:subofficeOptions,
+          //   dicData: [
+          //     {
+          //       value: "0",
+          //       label: "全部"
+          //     },
+          //     {
+          //       value: "1",
+          //       label: "总保安人数"
+          //     },
+          //     {
+          //       value: "2",
+          //       label: "正常保安数"
+          //     },
+          //     {
+          //       value: "3",
+          //       label: "持证保安数"
+          //     },
+          //     {
+          //       value: "4",
+          //       label: "保安派遣数"
+          //     },
+          //     {
+          //       value: "5",
+          //       label: "过考保安数"
+          //     },
+          //     {
+          //       value: "6",
+          //       label: "服务单位数"
+          //     },
+          //     {
+          //       value: "7",
+          //       label: "缴纳社保保安数"
+          //     }
+          //   ],
+          //   rules: [
+          //     {
+          //       required: true,
+          //       message: "请选择类别",
+          //       trigger: "blur"
+          //     }
+          //   ]
+          // },
+          {
+            label: "公司名称",
+            prop: "enterpriseName",
+            search: true,
+            searchSpan: 4,
+            width: 300,
+            display: false,
+          },
+          {
+            label: "所属辖区",
+            prop: "jurisdiction",
+            searchSpan: 4,
+            // cascaderItem: ["city", "area"],
+            // dicUrl: "/api/information/lazyTreeJu",
+            // dicMethod:'post',
+            props: {
+              label: "title",
+              value: "id",
+            },
+            dicData: [],
+            search: true,
+            // overHidden: true,
+            type: "tree",
+            rules: [
+              {
+                required: true,
+                message: "请选择所属辖区",
+                trigger: "blur",
+              },
+            ],
+          },
+          // {
+          //   label: "时间",
+          //   prop: "time",
+          //   type: "date",
+          //   format: "yyyy-MM-dd hh:mm:ss",
+          //   valueFormat: "yyyy-MM-dd hh:mm:ss",
+          //   searchSpan: 6,
+          //   searchRange: true,
+          //   search: true,
+          //   display: false
+          // },
+
+          {
+            label: "总保安人数",
+            prop: "znum",
+            display: false,
+          },
+          {
+            label: "正常保安数",
+            prop: "zcnum",
+            display: false,
+          },
+          {
+            label: "持证保安数",
+            prop: "cznum",
+            display: false,
+          },
+          {
+            label: "保安派遣数",
+            prop: "pcnum",
+            display: false,
+          },
+          // {
+          //   label: "过考保安数",
+          //   prop: "passSec",
+          //   display: false
+          // },
+          {
+            label: "服务单位数",
+            prop: "ghnum",
+            display: false,
+          },
+          {
+            label: "缴纳社保保安数",
+            prop: "sbnum",
+            display: false,
+          },
+          {
+            label: "备注",
+            prop: "bz",
+            display: false,
+          },
+        ],
+      },
       typeValue: "0",
-      typeOptions: [
-        {
-          value: "0",
-          label: "全部"
-        },
-        {
-          value: "1",
-          label: "总保安人数"
-        },
-        {
-          value: "2",
-          label: "正常保安数"
-        },
-        {
-          value: "3",
-          label: "持证保安数"
-        },
-        {
-          value: "4",
-          label: "保安派遣数"
-        },
-        {
-          value: "5",
-          label: "过考保安数"
-        },
-        {
-          value: "6",
-          label: "服务单位数"
-        },
-        {
-          value: "7",
-          label: "缴纳社保保安数"
-        }
-      ],
-      subofficeValue: "0",
-      subofficeOptions: [
-        {
-          value: "0",
-          label: "南昌市公安局"
-        },
-        {
-          value: "2",
-          label: "东湖分局"
-        },
-        {
-          value: "3",
-          label: "西湖分局"
-        },
-        {
-          value: "4",
-          label: "青云谱分局"
-        },
-        {
-          value: "5",
-          label: "青山湖分局"
-        }
-      ],
-      companyName: ""
+      companyName: "",
+      subOfficeData: [],
+      subOfficeValue: "",
+      loading: true,
     };
   },
   methods: {
-    downExcel() {
-      let et = XLSX.utils.table_to_book(document.getElementById("table"));
-      let etout = XLSX.write(et, {
-        bookType: "xlsx",
-        bookSST: true,
-        type: "array"
+    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 = {}) {
+      this.loading = true;
+      let param = {};
+      param["jurisdiction"] = params["jurisdiction"] || "";
+      param["enterpriseName"] = params["enterpriseName"] || "";
+      param["current"] = page.currentPage;
+      param["size"] = page.pageSize;
+      selectTb(param).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        this.tableData = data.records;
+        this.$store.commit("setWindowSizeHeightAdd");
+        this.loading = false;
       });
-      try {
-        FileSaver.saveAs(
-          new Blob([etout], {
-            type: "application/octet-stream"
-          }),
-          `表.xlsx`
-        ); //导出的文件名
-      } catch (e) {
-        console.log(e, 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);
+        }
+      });
+    },
+    getLocationParams() {
+      let url = window.location.href;
+      let urlArr = url.split("?")[1].split("&");
+      var object = new Object();
+      for (var i = 0; i < urlArr.length; i++) {
+        let mm = urlArr[i].split("=");
+        object[decodeURIComponent(mm[0])] = decodeURIComponent(mm[1]);
       }
-      return etout;
-    }
+      let jurisdiction = object["jurisdiction1"] || "";
+      let enterpriseName = object["enterpriseName"] || "";
+      this.query = {
+        jurisdiction: jurisdiction,
+        enterpriseName: enterpriseName,
+      };
+      this.onLoad(this.page, this.query);
+    },
   },
-  mounted() {}
+  mounted() {
+    this.getLocationParams();
+    this.getSubOfficeData();
+    this.$store.commit("setWindowSizeHeightAdd");
+  },
 };
 </script>
 <style lang="scss" scoped>

--
Gitblit v1.9.3