liuyg
2022-02-16 19e0b728e8cd41f9ddcd62eea6c15ebf769d9977
+解决和冲突合并,加上适应1366*768分辨率
18 files modified
1868 ■■■■■ changed files
src/store/modules/control.js 2 ●●● patch | view | raw | blame | history
src/styles/smallSize.scss 2 ●●● patch | view | raw | blame | history
src/views/commandQuery/taskDistribution.vue 122 ●●●● patch | view | raw | blame | history
src/views/licenseApproval/branchOffice.vue 28 ●●●●● patch | view | raw | blame | history
src/views/licenseApproval/cancellationOfFiling.vue 28 ●●●●● patch | view | raw | blame | history
src/views/licenseApproval/crossRegion.vue 28 ●●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityGuard.vue 28 ●●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityPermit.vue 28 ●●●●● patch | view | raw | blame | history
src/views/licenseApproval/securityTraining.vue 27 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/qualificationExamination.vue 462 ●●●●● patch | view | raw | blame | history
src/views/qualificationExamination/signQualificationExamination.vue 211 ●●●● patch | view | raw | blame | history
src/views/securityCompany/column.js 608 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/confess.vue 41 ●●●● patch | view | raw | blame | history
src/views/securityCompany/securityCrossRegion.vue 29 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatistics.vue 80 ●●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/securityGuardStatistics.vue 129 ●●●● patch | view | raw | blame | history
src/views/system/topmenu.vue 14 ●●●●● patch | view | raw | blame | history
vue.config.js 1 ●●●● patch | view | raw | blame | history
src/store/modules/control.js
@@ -93,7 +93,7 @@
      // Open.style.top = -(butsheight + 4) + "px";
      // 添加事件
      if (Open) {
        Open.style.top = (state.screenSize ? 125 : 140) + "px";
        Open.style.top = (state.screenSize ? 85 : 100) + "px";
        Open.onclick = function (e) {
          // changedom(e.srcElement.innerText);
          //固定高度
src/styles/smallSize.scss
@@ -20,7 +20,7 @@
  z-index: 100;
  .el-button.el-button--text.el-button--small {
    position: fixed;
    top: 140px;
    top: 100px;
    right: 40px;
  }
}
src/views/commandQuery/taskDistribution.vue
@@ -16,9 +16,6 @@
      :permission="permissionList"
      v-model="form"
      ref="crud"
      @row-update="rowUpdates"
      @row-save="rowSave"
      @row-del="rowDel"
      @search-change="searchChange"
      @search-reset="searchReset"
      @selection-change="selectionChange"
@@ -96,8 +93,6 @@
import {
  getDirectiveLiveLocationVoList,
  getDirectiveLocusInfoList,
  getNewPeople,
  getNewTark,
} from "@/api/map/people";
import peoplePng from "@/assets/img/people.png";
@@ -179,7 +174,6 @@
            search: true,
            searchLabelWidth: 90,
            searchSpan: 4,
            width: 100,
            //     hide: true,
            //     editDisplay: false,
            //     addDisplay: false
@@ -248,56 +242,6 @@
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    rowSave(row, done, loading) {
      adddata(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowUpdates(row, index, done, loading) {
      // console.log(42342);
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    // beforeOpen(done, type) {
    //   if (["edit", "view"].includes(type)) {
    //     getDetail(this.form.id).then((res) => {
@@ -345,8 +289,8 @@
        this.data = data.records;
        // for (var k in this.data) {
        //   this.data[k]["url"] = "https://avuejs.com/images/logo-bg.jpg";
        this.$store.commit("setWindowSizeHeightAdd");
        // }
        this.$store.commit("setWindowSizeHeightAdd");
        // console.log(this.data, "getLisperetaskDistribution");
        this.loading = false;
        // this.selectionClear();
@@ -404,16 +348,13 @@
        type: 1,
        userIds: row.receiveDirectiveIds,
      }).then((result) => {
        getNewPeople().then((res) => {
          if (JSON.stringify(res.data) != "{}") {
            var arr = res.data.sort(function (a, b) {
              return a["date"] < b["date"] ? 1 : -1;
            });
        var res = result.data.data;
        if (JSON.stringify(res) != "[]") {
          res.forEach((data) => {
            this.$refs.locationForm.addEntitys(
              {
                LGTD: arr[0].gis_jd,
                LTTD: arr[0].gis_wd,
                LGTD: data.longitude,
                LTTD: data.latitude,
                name: "人员位置",
              },
              peoplePng,
@@ -421,25 +362,8 @@
              "peoplelayer",
              "peopleAddlayer"
            );
          }
        });
        // var res = result.data.data;
        // if (JSON.stringify(res) != "[]") {
        //     res.forEach((data)=>{
        //         this.$refs.locationForm.addEntitys(
        //             {
        //                 LGTD: data.longitude,
        //                 LTTD: data.latitude,
        //                 name: "人员位置",
        //             },
        //             peoplePng,
        //             0.5,
        //             "peoplelayer",
        //             "peopleAddlayer"
        //         );
        //     })
        // }
          });
        }
      });
    },
@@ -492,34 +416,20 @@
        startTime: start,
        endTime: end,
      }).then((res) => {
        getNewTark().then((res) => {
          if (JSON.stringify(res.data.track) != "{}") {
            if (res.data.track.length > 1) {
        var result = res.data.data;
        if (JSON.stringify(res) != "[]") {
          result.forEach((item) => {
            if (item.length > 1) {
              let arr = [];
              res.data.track.forEach((item) => {
                arr.push([Number(item.gis_jd), Number(item.gis_wd)]);
              item.forEach((data) => {
                arr.push([Number(data.longitude), Number(data.latitude)]);
              });
              this.$refs.tarckForm.addLines(arr);
            }
          }
        });
        // var result = res.data.data;
        // if (JSON.stringify(res) != "[]") {
        //     result.forEach((item) => {
        //         if (item.length > 1) {
        //             let arr = [];
        //             item.forEach((data) => {
        //                 arr.push([Number(data.longitude), Number(data.latitude)]);
        //             });
        //             this.$refs.tarckForm.addLines(arr);
        //         }
        //     })
        // }
          });
        }
      });
    },
src/views/licenseApproval/branchOffice.vue
@@ -1,15 +1,17 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 17:00:55
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 14:10:12
 */
/* * @Author: liu * @Date: 2021-08-26 17:00:55 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 14:10:12 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -193,6 +195,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -213,6 +216,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -236,9 +240,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    // console.log(this.userInfo.dept_id);
  },
  methods: {
    Print() {
      this.$Print(this.$refs.licence);
@@ -402,6 +407,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/licenseApproval/cancellationOfFiling.vue
@@ -1,15 +1,17 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 17:00:04
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 15:25:02
 */
/* * @Author: liu * @Date: 2021-08-26 17:00:04 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 15:25:02 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -132,6 +134,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -152,6 +155,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -175,9 +179,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    //     console.log(this.userInfo.dept_id);
  },
  methods: {
    Print() {
      this.$Print(this.$refs.licence);
@@ -329,6 +334,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/licenseApproval/crossRegion.vue
@@ -1,15 +1,17 @@
/*
 * @Author:liu
 * @Date: 2021-08-26 16:59:35
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-04 19:36:56
 */
/* * @Author:liu * @Date: 2021-08-26 16:59:35 * @Last Modified by: liu * @Last
Modified time: 2021-11-04 19:36:56 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -191,6 +193,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -211,6 +214,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -234,9 +238,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    //     console.log(this.userInfo.dept_id);
  },
  methods: {
    Print() {
      this.$Print(this.$refs.licence);
@@ -391,6 +396,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/licenseApproval/securityGuard.vue
@@ -1,15 +1,17 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:57:58
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 14:16:49
 */
/* * @Author: liu * @Date: 2021-08-26 16:57:58 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 14:16:49 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -280,6 +282,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -300,6 +303,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -328,9 +332,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    //     console.log(this.userInfo.dept_id);
  },
  methods: {
    Printhuizhi() {
      this.$Print(this.$refs.licencehuizhi);
@@ -590,6 +595,7 @@
          // console.log(this.changeState(this.data[k]));
          this.data[k] = this.changeState(this.data[k]);
        }
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/licenseApproval/securityPermit.vue
@@ -1,15 +1,17 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:22:20
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 15:01:09
 */
/* * @Author: liu * @Date: 2021-08-26 16:22:20 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 15:01:09 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -244,6 +246,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -264,6 +267,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -287,9 +291,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    //     console.log(this.userInfo.dept_id);
  },
  methods: {
    Print() {
      this.$Print(this.$refs.licence);
@@ -442,6 +447,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
src/views/licenseApproval/securityTraining.vue
@@ -1,15 +1,17 @@
/*
 * @Author: liu
 * @Date: 2021-08-26 16:55:25
 * @Last Modified by: liu
 * @Last Modified time: 2021-11-05 15:01:20
 */
/* * @Author: liu * @Date: 2021-08-26 16:55:25 * @Last Modified by: liu * @Last
Modified time: 2021-11-05 15:01:20 */
<template>
  <div>
    <basic-container class="permit">
    <basic-container
      :class="[
        'permit',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
    >
      <avue-crud
        class="tablesss"
        :option="option"
        :table-loading="loading"
        :data="data"
@@ -244,6 +246,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      option: {
@@ -264,6 +267,7 @@
        viewBtn: true,
        selection: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: column,
      },
      data: [],
@@ -287,9 +291,10 @@
      return ids.join(",");
    },
  },
  // mounted() {
  //     console.log(this.userInfo.dept_id);
  // },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
    //     console.log(this.userInfo.dept_id);
  },
  methods: {
    Print() {
      this.$Print(this.$refs.licence);
src/views/qualificationExamination/qualificationExamination.vue
@@ -17,6 +17,7 @@
      :permission="permissionList"
      v-model="form"
      ref="crud"
      :search.sync="search"
      @row-update="rowUpdates"
      @row-save="rowSave"
      @row-del="rowDel"
@@ -40,28 +41,46 @@
          >导出
        </el-button>
      </template>
      <template slot-scope="{ type, size, row }" slot="menu">
        <el-button
          :type="type"
          :size="size"
          icon="el-icon-edit"
          :disabled="row.examinationType != 1"
          @click="handleAuditDesc(row)"
          >审查异常备注
        </el-button>
      </template>
    </avue-crud>
    <el-dialog
      title="审查异常备注"
      append-to-body
      :visible.sync="dialogAudit"
      width="900px"
      @close="closeDialog"
    >
      <avue-form
        ref="formAudit"
        v-model="audit"
        :option="optionAuditDesc"
        @reset-change="emptytChange"
        @submit="submitAudit"
      ></avue-form>
    </el-dialog>
  </basic-container>
</template>
<script>
// import {
//   getList,
//   getDetail,
//   adddata,
//   update,
//   remove,
// } from "@/api/regulatoryInformation/regulatoryInformation";
import { mapGetters } from "vuex";
import { datasing } from "./dataqualificationExamination";
// import { getList } from "@/api/qualificationExamination/qualificationExamination";
import { getListSecurity } from "@/api/system/user";
import { getListSecurity, updateUser } from "@/api/system/user";
import Qs from "qs";
import { getToken } from "@/util/auth";
export default {
  data() {
    return {
      sort: {},
      search: {},
      form: {},
      query: {},
      loading: true,
@@ -71,6 +90,35 @@
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      id: "",
      batchAudit: {},
      dialogAudit: false,
      optionAuditDesc: {
        height: "auto",
        filterBtn: true,
        calcHeight: 30,
        dialogWidth: 950,
        tip: false,
        searchShow: true,
        searchMenuSpan: 6,
        border: true, //liu
        index: true,
        stripe: true,
        viewBtn: true,
        selection: false,
        excelBtn: false,
        menuWidth: 380,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "审核明细",
            span: 24,
            type: "textarea",
            prop: "emails",
          },
        ],
      },
      selectionList: [],
      option: {
        // 操作栏多余按钮去除
@@ -78,10 +126,9 @@
        editBtn: false,
        addBtn: false,
        selection: true,
        menu: false,
        menu: true,
        menuWidth: 150,
        searchShowBtn: false,
        align: "center",
        height: "auto",
        calcHeight: 30,
@@ -92,23 +139,20 @@
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "保安姓名",
            prop: "realName",
            search: true,
            width: 82,
            searchSpan: 4,
            //     hide: true,
            //     editDisplay: false,
            //     addDisplay: false
          },
          {
            label: "保安公司",
            label: "企业名称",
            prop: "deptName",
            minWidth: 160,
            minWidth: 110,
            overHidden: true,
            search: true,
            searchSpan: 5,
          },
          {
            label: "性别",
@@ -138,7 +182,6 @@
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            searchValue: [this.getStartTime(), this.getEndTime()],
            searchRange: true,
            searchSpan: 6,
            searchLabelWidth: 80,
@@ -155,52 +198,16 @@
              },
            ],
          },
          // {
          //   label: "性别",
          //   prop: "sexName",
          //   width: 56,
          //   // type: "select",
          //   // labelWidth: 120,
          //   // // display: false,
          //   // dicData: dic,
          //   // // props: {
          //   // //   label: "label",
          //   // //   value: "value",
          //   // // },
          //   // searchSpan: 5,
          //   // search: true,
          //   // width: 120,
          // },
          {
            label: "身份证号",
            prop: "cardid",
            width: 165,
            // type: "select",
            // labelWidth: 120,
            // // display: false,
            // dicData: dic,
            // // props: {
            // //   label: "label",
            // //   value: "value",
            // // },
            width: 139,
            searchSpan: 4,
            search: true,
            // width: 120,
          },
          // {
          //   label: "保安员证",
          //   prop: "certificate",
          //   // labelWidth: 120,
          //   // display: false,
          // },
          {
            label: "年龄",
            prop: "age",
            width: 65,
            // display: false,
            // labelWidth: 120,
            // width: 200,
          },
          {
            label: "出生日期",
@@ -208,9 +215,6 @@
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // display: false,
            // labelWidth: 120,
            // width: 200,
          },
          {
            label: "保安员证编号",
@@ -222,26 +226,17 @@
          {
            label: "联系方式",
            prop: "phone",
            // display: false,
            // labelWidth: 120,
            // width: 200,
          },
          // {
          //   label: "所属角色",
          //   prop: "roleName",
          //   // display: false,
          //   overHidden: true,
          //   // width: 200,
          //   // labelWidth: 120,
          //   // overHidden: true,
          // },
          {
            label: "审查状态",
            prop: "examinationType",
            // overHidden: true,
            sortable: true,
            type: "select",
            dicData: [
              {
                label: "全部",
                value: "2",
              },
              {
                label: "正常",
                value: "0",
@@ -251,94 +246,38 @@
                value: "1",
              },
            ],
            // type: "date",
            // format: "yyyy-MM-dd",
            // valueFormat: "yyyy-MM-dd",
            // mock: {
            //   type: "datetime",
            //   labelWidth: 120,
            //   format: "yyyy-MM-dd",
            // },
            search: true,
            searchSpan: 4,
            // // display: false,
            // width: 180,
          },
          {
            label: "审查明细",
            prop: "examinationMx",
            sortable: true,
            // labelWidth: 120,
            // display: false,
            overHidden: true,
          },
          // {
          //   label: "审查结果",
          //   prop: "results",
          //   // labelWidth: 120,
          //   // display: false,
          // },
          {
            label: "审查时间",
            prop: "reviewTime",
            // labelWidth: 120,
            // display: false,
            hide: true,
            prop: "auditTime",
            // hide: true,
          },
          // {
          //   label: "是否在职",
          //   prop: "status",
          //   // labelWidth: 120,
          //   // display: false,
          // },
          {
            label: "审查异常备注",
            prop: "emails",
          },
        ],
        // group: [
        //   {
        //     label: "详细信息",
        //     prop: "baseInfo",
        //     icon: "el-icon-user-solid",
        //     column: [
        //       {
        //         label: "公司名称",
        //         prop: "enterprisename",
        //         display: false,
        //       },
        //     ],
        //   },
        //   {
        //     label: "详细信息",
        //     prop: "detailInfo",
        //     icon: "el-icon-s-order",
        //     column: [],
        //   },
        //   {
        //     label: "职责信息",
        //     prop: "dutyInfo",
        //     icon: "el-icon-s-custom",
        //     column: [],
        //   },
        // ],
      },
      data: [
        // {
        //   deptid: "江西众泰保安公司",
        //   punishtype: 2,
        //   punishreason: "非法施工",
        //   punishresult: "没收全部非法所得财产,并罚款3W元",
        //   punishtime: "2021-01-01",
        //   punisnum: 110110110120,
        // },
      ],
      data: [],
    };
  },
  computed: {
    ...mapGetters(["permission", "userInfo"]),
    permissionList() {
      return {
        addBtn: this.vaildData(this.permission.post_add, false),
        viewBtn: this.vaildData(this.permission.post_view, false),
        delBtn: this.vaildData(this.permission.post_delete, false),
        editBtn: this.vaildData(this.permission.post_edit, false),
        addBtn: this.vaildData(null, false),
        viewBtn: this.vaildData(null, false),
        delBtn: this.vaildData(null, false),
        editBtn: this.vaildData(null, false),
      };
    },
    ids() {
@@ -349,143 +288,85 @@
      return ids.join(",");
    },
  },
  created() {
    this.search["examinationType"] = "1";
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    //证书批量审核
    handleAuditDesc(row) {
      console.log(row, 123);
      this.id = row.id;
      this.dialogAudit = true;
    },
    //审查异常备注提交
    submitAudit(row, done, loading) {
      var that = this;
      const data = {
        id: this.id,
        emails: row.emails,
      };
      //提交申请
      updateUser(data).then(
        () => {
          this.onLoad(this.page);
          that.$refs.formAudit.resetFields();
          that.dialogAudit = false;
          this.$message({
            type: "success",
            message: "操作成功",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    //导出
    handleExport() {
      this.$confirm("是否导出审查信息?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          //获取查询条件
          // console.log(this.userInfo, 456);
          // console.log(this.query, 456);
          // return;
          var data = {
            cardid: this.query.cardid,
            realName: this.query.realName,
            securitynumber: this.query.securitynumber,
            status: this.query.status,
            endTime: this.query.endTime,
            startTime: this.query.startTime,
            jurisdiction: this.userInfo.jurisdiction,
          };
          //导出
          // if (
          //   this.userInfo.role_name == "保安公司管理员" ||
          //   this.userInfo.role_name == "保安"
          // ) {
          //   //如果是保安公司管理员
          //   data["deptId"] = this.userInfo.dept_id;
          // }
          // if (this.userInfo.role_name == "培训公司管理员") {
          //   //如果是培训公司管理员
          //   data["trainUnitId"] = this.userInfo.dept_id;
          // }
          // data["examType"] = 2;
          //序列号url形式,用&拼接
          data = Qs.stringify(data);
          window.open(`/api/blade-user/export-security?` + data);
        })
        .catch((action) => {
          // this.$message({
          //   type: 'info',
          //   message: action === 'cancel'
          //     ? '放弃保存并离开页面'
          //     : '停留在当前页面'
          // })
        });
    },
    getStartTime() {
      if (
        this.$route.query.startTime != undefined &&
        this.$route.query.startTime != null &&
        this.$route.query.startTime != ""
      ) {
        return this.$route.query.startTime;
      }
      return "";
    },
    getEndTime() {
      if (
        this.$route.query.endTime != undefined &&
        this.$route.query.endTime != null &&
        this.$route.query.endTime != ""
      ) {
        return this.$route.query.endTime;
      }
      return "";
    },
    rowSave(row, done, loading) {
      adddata(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
      }).then(() => {
        //获取查询条件
        const { releaseTimeRange } = this.search;
        if (releaseTimeRange) {
          this.search["startTime"] = releaseTimeRange[0];
          this.search["endTime"] = releaseTimeRange[1];
        }
      );
        var data = {
          cardid: this.search.cardid,
          realName: this.search.realName,
          securitynumber: this.search.securitynumber,
          endTime: this.search.endTime,
          deptName: this.search.deptName,
          startTime: this.search.startTime,
          examinationType: this.search.examinationType,
          jurisdiction: this.userInfo.jurisdiction,
        };
        data["status"] = 1;
        //序列号url形式,用&拼接
        data = Qs.stringify(data);
        window.open(
          `/api/blade-user/export-security?${
            this.website.tokenHeader
          }=${getToken()}&` + data
        );
      });
    },
    rowUpdates(row, index, done, loading) {
      // console.log(42342);
      update(row).then(
        () => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
          done();
        },
        (error) => {
          window.console.log(error);
          loading();
        }
      );
    },
    rowDel(row) {
      this.$confirm("确定将选择数据删除?", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning",
      })
        .then(() => {
          return remove(row.id);
        })
        .then(() => {
          this.onLoad(this.page);
          this.$message({
            type: "success",
            message: "操作成功!",
          });
        });
    },
    // beforeOpen(done, type) {
    //   if (["edit", "view"].includes(type)) {
    //     getDetail(this.form.id).then((res) => {
    //       this.form = res.data.data;
    //     });
    //   }
    //   done();
    // },
    searchReset() {
      this.query = {};
      this.onLoad(this.page);
    },
    searchChange(params, done) {
      params["startTime"] = params.releaseTimeRange[0];
      params["endTime"] = params.releaseTimeRange[1];
      // params["startTime"] = params.releaseTimeRange[0];
      // params["endTime"] = params.releaseTimeRange[1];
      this.query = params;
      this.page.currentPage = 1;
      this.onLoad(this.page, params);
@@ -520,14 +401,27 @@
      this.onLoad(this.page, this.sort);
    },
    onLoad(page, params = {}) {
      // this.loading = false;
      params = this.search;
      params = Object.assign(params, this.sort);
      this.loading = true;
      // this.loading = true;
      params["status"] = 1;
      let values = {
        ...params,
      };
      const { releaseTimeRange } = this.search;
      if (releaseTimeRange) {
        values = {
          ...params,
          startTime: releaseTimeRange[0],
          endTime: releaseTimeRange[1],
          ...this.query,
        };
        values.releaseTimeRange = null;
      }
      getListSecurity(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
        Object.assign(values, this.query)
      ).then((res) => {
        const data = res.data.data;
        this.page.total = data.total;
@@ -550,47 +444,13 @@
          d[k]["age"] = this.getyears() - sfz;
        }
        this.data = d;
        this.$store.commit("setWindowSizeHeightAdd");
        // this.data = data.records;
        // console.log(this.data);
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        // this.selectionClear();
      });
    },
    // onLoad(page, params = {}) {
    //   // this.loading = false;
    //   this.loading = true;
    //   //   getListJSON().then((res) => {
    //   //   axios
    //   //     .get(
    //   //       "../../api/qualificationExamination/signQualificationExamination.json"
    //   //     )
    //   //     .then((res) => {
    //   // page.currentPage,
    //   // page.pageSize,
    //   // Object.assign(params, this.query)
    //   if (datasing) {
    //     var res = datasing;
    //     console.log(res, "signQualificationExamination");
    //     const data = res.data;
    //     // this.page.total = data.total;
    //     var d = data.records;
    //     for (var k in d) {
    //       d[k].examination_mx = "正常";
    //       d[k].examination_type = "正常";
    //       d[k]["carid"] = "370111198807051124";
    //       d[k]["certificate"] = "拥有";
    //       d[k]["reviewTime"] = "2021-02-21";
    //       d[k]["results"] = "通过";
    //       d[k]["onjob"] = "是";
    //     }
    //     this.data = d;
    //     this.loading = false;
    //   }
    //   // this.selectionClear();
    //   // });
    // },
    // 行单击
    handleRowClick(row) {
      // delete (row["name"]);
src/views/qualificationExamination/signQualificationExamination.vue
@@ -1,5 +1,5 @@
/* * @Author: Morpheus * @Date: 2021-07-07 17:30:05 * @Last Modified by:
Morpheus * @Last Modified time: 2021-07-10 16:06:14 * menu-name 监管信息 */
Morpheus * @Last Modified time: 2021-07-10 16:06:14 * menu-name 考试监管信息 */
<template>
  <basic-container
    :class="[
@@ -13,6 +13,7 @@
      :table-loading="loading"
      :data="data"
      :page.sync="page"
      :search.sync="search"
      :permission="permissionList"
      v-model="form"
      ref="crud"
@@ -32,10 +33,7 @@
</template>
<script>
import {
  getList,
  getListJSON,
} from "@/api/qualificationExamination/signQualificationExamination";
import { getTrainList } from "@/api/qualificationExamination/signQualificationExamination";
import { mapGetters } from "vuex";
export default {
@@ -43,6 +41,7 @@
    return {
      form: {},
      query: {},
      search: {},
      loading: true,
      page: {
        pageSize: 10,
@@ -69,32 +68,48 @@
        viewBtn: true,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        searchIndex: 5, //收缩展示数量
        column: [
          {
            label: "保安姓名",
            prop: "realName",
            width: 85,
            search: true,
            searchSpan: 3,
            width: 90,
          },
          {
            label: "保安公司",
            label: "性别",
            prop: "sex",
            width: 60,
            dicData: [
              {
                label: "男",
                value: 1,
              },
              {
                label: "女",
                value: 2,
              },
            ],
          },
          {
            label: "身份证号",
            prop: "idCardNo",
            search: true,
            searchSpan: 4,
            width: 140,
          },
          {
            label: "企业名称",
            prop: "deptName",
            overHidden: true,
            search: true,
            searchSpan: 4,
            // display: false,
            // labelWidth: 120,
            // width: 200,
          },
          // {
          //   label: "准考证号",
          //   prop: "userId",
          //   overHidden: true,
          // },
          {
            label: "报名时间",
            prop: "applyTime",
            prop: "trainingTime",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
@@ -106,43 +121,108 @@
            // search: true,
            searchSpan: 4,
            // display: false,·
            width: 120,
            width: 110,
          },
          // {
          //   label: "考试时间",
          //   prop: "applyTime",
          //   type: "date",
          //   format: "yyyy-MM-dd",
          //   valueFormat: "yyyy-MM-dd",
          //   mock: {
          //     type: "datetime",
          //     labelWidth: 120,
          //     format: "yyyy-MM-dd",
          //   },
          //   // search: true,
          //   searchSpan: 4,
          //   // display: false,
          //   width: 180,
          // },
          // {
          //   label: "证件类型",
          //   prop: "certificatetype",
          //   // labelWidth: 120,
          //   // display: false,
          // },
          //   {
          //     label: "保安员证",
          //     prop: "certificate",
          //     // labelWidth: 120,
          //     // display: false,
          //   },
          {
            label: "考试名称",
            prop: "trainExamName",
            searchSpan: 5,
            overHidden: true,
            search: true,
          },
          {
            label: "培训学校名称",
            searchLabelWidth: 110,
            searchSpan: 5,
            prop: "trainUnitName",
            overHidden: true,
            search: true,
          },
          {
            label: "考试时间",
            prop: "trainExamTime",
            type: "date",
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // mock: {
            //   type: "datetime",
            //   labelWidth: 120,
            //   format: "yyyy-MM-dd",
            // },
            // search: true,
            // searchSpan: 4,
            // display: false,
            width: 110,
          },
          {
            label: "考试时间",
            prop: "examTime",
            type: "date",
            hide: true,
            format: "yyyy-MM-dd",
            valueFormat: "yyyy-MM-dd",
            // mock: {
            //   type: "datetime",
            //   labelWidth: 120,
            //   format: "yyyy-MM-dd",
            // },
            search: true,
            searchSpan: 4,
            // display: false,
            width: 150,
          },
          {
            label: "考试申请审核状态",
            prop: "auditStatus",
            searchLabelWidth: 140,
            type: "select",
            width: 100,
            search: true,
            searchSpan: 4,
            dicData: [
              {
                label: "全部",
                value: 0,
              },
              {
                label: "待审核",
                value: 3,
              },
              {
                label: "审核通过",
                value: 1,
              },
              {
                label: "审核不通过",
                value: 2,
              },
              {
                label: "未提交审核",
                value: 4,
              },
            ],
          },
          {
            label: "审查状态",
            prop: "examinationType",
            // // display: false,
            // width: 200,
            // labelWidth: 120,
            // overHidden: true,
            type: "select",
            width: 80,
            search: true,
            searchSpan: 3,
            dicData: [
              {
                label: "全部",
                value: "2",
              },
              {
                label: "正常",
                value: "0",
              },
              {
                label: "异常",
                value: "1",
              },
            ],
          },
          {
            label: "审查明细",
@@ -151,6 +231,13 @@
            // width: 200,
            // labelWidth: 120,
            // overHidden: true,
          },
          {
            label: "审查时间",
            prop: "auditTime",
            type: "date",
            format: "yyyy-MM-dd HH:mm:ss",
            valueFormat: "yyyy-MM-dd HH:mm:ss",
          },
          // {
          //   label: "审查结果",
@@ -217,6 +304,9 @@
      });
      return ids.join(",");
    },
  },
  created() {
    this.search["auditStatus"] = 3;
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
@@ -308,8 +398,11 @@
    },
    onLoad(page, params = {}) {
      // this.loading = false;
      params = this.search;
      this.loading = true;
      getList(
      //已提交考试审核
      // params['auditStatus'] = 3;
      getTrainList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.query)
@@ -318,14 +411,24 @@
        this.page.total = data.total;
        var d = data.records;
        for (var k in d) {
          if (d[k].examinationType == 1) {
          if (
            d[k].examinationType == "0" ||
            d[k].examinationType == "" ||
            d[k].examinationType == null
          ) {
            d[k].examinationType = "正常";
          } else if (d[k].examinationType == 2) {
          } else if (d[k].examinationType == "1") {
            d[k].examinationType = "异常";
          }
          if (d[k].sex == -1) {
            d[k].sex = "";
          }
          if (d[k].auditStatus == -1) {
            d[k].auditStatus = "";
          }
        }
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.data = data.records;
        this.loading = false;
        // this.selectionClear();
      });
src/views/securityCompany/column.js
@@ -1,3 +1,178 @@
//保安公司详情基本信息列
export var basecolumn = [{
    label: "",
    labelWidth: 20,
    type: 'title',
    prop: "title",
    span: 24,
    styles: {
      fontSize: '24px'
    }
  },
  {
    label: "企业名称",
    prop: "enterprisename",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入企业名称",
      trigger: "blur",
    }, ],
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    // multiple: true,
    //父节点不能选
    parent: false,
    type: "tree",
    dicUrl: "/api//jurisdiction/lazy-trees",
    props: {
      label: "title",
      value: "id",
    },
    span: 12,
    labelWidth: 145,
    width: 110,
    overHidden: true,
    disabled: true,
    rules: [{
      required: true,
      message: "请选择所属辖区",
      trigger: "click",
    }, ],
  },
  {
    label: "法定代表人",
    prop: "representative",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入法定代表人",
      trigger: "blur",
    }, ],
  }, {
    label: "法定代表人电话",
    prop: "representativecell",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入法定代表人电话",
      trigger: "blur",
    }, ],
  },
  {
    label: "联系人",
    prop: "contacts",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入联系人",
      trigger: "blur",
    }, ],
  }, {
    label: "联系电话",
    prop: "contactscell",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入联系电话",
      trigger: "blur",
    }, ],
  },
  {
    label: "企业属性",
    prop: "stats",
    type: "tree",
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请输入企业属性",
      trigger: "blur",
    }, ],
  },
  {
    label: "注册地址",
    prop: "address",
    span: 12,
    labelWidth: 145,
    disabled: true,
    // search: true,
    rules: [{
      required: true,
      message: "请输入注册地址",
      trigger: "blur",
    }, ],
  },
  {
    label: "办公地址",
    prop: "industry",
    span: 12,
    labelWidth: 145,
    disabled: true,
    rules: [{
      required: true,
      message: "请选择办公地址",
      trigger: "blur",
    }, ],
  },
  {
    label: "服务区域",
    labelWidth: 145,
    prop: "fregion",
    display: false,
    rules: [{
      required: true,
      message: "请输入服务区域",
      trigger: "blur",
    }, ],
  },
  {
    label: "服务时间",
    labelWidth: 145,
    prop: "ftime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    display: false,
    rules: [{
      required: true,
      message: "请选择服务时间",
      trigger: "blur",
    }, ],
  },
  {
    label: "登记机关",
    prop: "registration",
    // span: 11,
    labelWidth: 145,
    disabled: true,
    span: 12,
    rules: [{
      required: true,
      message: "请输入登记机关",
      trigger: "blur",
    }, ],
  },
]
export var companyColimn = [{
    label: "统一社会信用代码",
    prop: "creditcode",
@@ -14,10 +189,9 @@
    label: "企业名称",
    prop: "enterprisename",
    search: true,
    minWidth: 150,
    width: 260,
    searchSpan: 4,
    labelWidth: 160,
    // width: 130,
    overHidden: true
  },
@@ -32,7 +206,6 @@
      label: "dictValue",
      value: "dictKey"
    },
    width: 130,
    rules: [{
      required: true,
      message: "请选择企业类型",
@@ -40,29 +213,54 @@
    }, ],
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    labelWidth: 160,
    // width: 110,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id",
    },
    // search: true,
    overHidden: true
  },
  {
    label: "所属辖区",
    prop: "jurisdictionName",
    hide: true,
    overHidden: true
  },
  {
    label: "法定代表人",
    labelWidth: 160,
    prop: "representative",
    minWidth: 65,
    search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "法定代表人电话",
    labelWidth: 160,
    prop: "representativecell",
    width: 120,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "联系人",
    prop: "contacts",
    labelWidth: 160,
    hide: true,
  }, {
    label: "联系电话",
    prop: "contactscell",
    labelWidth: 160,
    hide: true,
  },
  {
    label: "保安人数",
    labelWidth: 160,
    prop: "znum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
@@ -71,7 +269,6 @@
    label: "派遣人数",
    labelWidth: 160,
    prop: "pnum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
@@ -80,7 +277,6 @@
    label: "持证人数",
    labelWidth: 160,
    prop: "cnum",
    width: 73,
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
@@ -89,7 +285,6 @@
    label: "注册时间",
    prop: "establishtime",
    labelWidth: 160,
    width: 90,
    overHidden: true,
    type: "date",
    format: "yyyy-MM-dd",
@@ -102,19 +297,8 @@
    hide: true,
    labelWidth: 160,
    // search: true,
    width: 80,
  },
  {
    label: "联系人",
    prop: "contacts",
    labelWidth: 160,
    width: 75,
  }, {
    label: "联系电话",
    prop: "contactscell",
    labelWidth: 160,
    width: 110,
  },
  {
    label: "注册地址",
@@ -132,20 +316,7 @@
    // width: 110,
    overHidden: true
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    labelWidth: 160,
    // width: 110,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id",
    },
    // search: true,
    overHidden: true
  },
  {
    label: "登记机关",
    prop: "registration",
@@ -164,4 +335,365 @@
    // search: true,
    // width: 88,
  },
  {
    label: "服务区域",
    labelWidth: 110,
    prop: "fregion",
    hide: true,
  },
  {
    label: "服务时间",
    labelWidth: 110,
    prop: "ftime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    hide: true,
  },
]
export var confessColumn = [{
    label: "统一社会信用代码",
    prop: "creditcode",
    width: 140,
    hide: true,
    labelWidth: 160,
    // hide: true,
    // editDisplay: false,
    // addDisplay: false
  },
  {
    label: "企业名称",
    prop: "enterprisename",
    search: true,
    width: 260,
    searchSpan: 4,
    labelWidth: 160,
    overHidden: true
  },
  {
    label: "企业类型",
    prop: "stats",
    type: "tree",
    hide: true,
    labelWidth: 160,
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    rules: [{
      required: true,
      message: "请选择企业类型",
      trigger: "click",
    }, ],
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    labelWidth: 160,
    // width: 110,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id",
    },
    // search: true,
    overHidden: true
  },
  {
    label: "法定代表人",
    labelWidth: 160,
    prop: "representative",
    search: true,
    searchLabelWidth: 100
  },
  {
    label: "法定代表人电话",
    labelWidth: 160,
    prop: "representativecell",
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "联系人",
    prop: "contacts",
    labelWidth: 160,
    hide: true,
  }, {
    label: "联系电话",
    prop: "contactscell",
    labelWidth: 160,
    hide: true,
  },
  {
    label: "保安人数",
    labelWidth: 160,
    prop: "znum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "派遣人数",
    labelWidth: 160,
    prop: "pnum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "持证人数",
    labelWidth: 160,
    prop: "cnum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "注册时间",
    prop: "establishtime",
    labelWidth: 160,
    overHidden: true,
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "timestamp",
  },
  {
    label: "注册资本",
    prop: "registeredcapital",
    hide: true,
    labelWidth: 160,
    // search: true,
  },
  {
    label: "注册地址",
    prop: "address",
    labelWidth: 160,
    // search: true,
    hide: true,
  },
  {
    label: "经营范围",
    prop: "business",
    // search: true,
    labelWidth: 160,
    hide: true,
    // width: 110,
    overHidden: true
  },
  {
    label: "登记机关",
    prop: "registration",
    // search: true,
    labelWidth: 160,
    // width: 88,
    overHidden: true,
    hide: true,
  },
  {
    label: "所属行业",
    prop: "industry",
    labelWidth: 160,
    hide: true,
    // search: true,
    // width: 88,
  },
  {
    label: "服务区域",
    labelWidth: 110,
    prop: "fregion",
    hide: true,
  },
  {
    label: "服务时间",
    labelWidth: 110,
    prop: "ftime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    hide: true,
  },
]
export var crossColumn = [{
    label: "统一社会信用代码",
    prop: "creditcode",
    width: 140,
    hide: true,
    labelWidth: 160,
    // hide: true,
    // editDisplay: false,
    // addDisplay: false
  },
  {
    label: "企业名称",
    prop: "enterprisename",
    search: true,
    width: 260,
    searchSpan: 4,
    labelWidth: 160,
    overHidden: true
  },
  {
    label: "企业类型",
    prop: "stats",
    type: "tree",
    hide: true,
    labelWidth: 160,
    dicUrl: "/api/blade-system/dict-biz/dictionary?code=stats",
    props: {
      label: "dictValue",
      value: "dictKey"
    },
    rules: [{
      required: true,
      message: "请选择企业类型",
      trigger: "click",
    }, ],
  },
  {
    label: "所属辖区",
    prop: "jurisdiction",
    labelWidth: 160,
    // width: 110,
    type: "tree",
    dicUrl: "/api/jurisdiction/lazy-tree",
    props: {
      label: "title",
      value: "id",
    },
    // search: true,
    overHidden: true
  },
  {
    label: "法定代表人",
    labelWidth: 160,
    prop: "representative",
    search: true,
    searchLabelWidth: 100
  },
  {
    label: "法定代表人电话",
    labelWidth: 160,
    prop: "representativecell",
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "联系人",
    prop: "contacts",
    labelWidth: 160,
    hide: true,
  }, {
    label: "联系电话",
    prop: "contactscell",
    labelWidth: 160,
    hide: true,
  },
  {
    label: "保安人数",
    labelWidth: 160,
    prop: "znum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "派遣人数",
    labelWidth: 160,
    prop: "pnum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "持证人数",
    labelWidth: 160,
    prop: "cnum",
    // search: true,
    searchSpan: 4,
    searchLabelWidth: 100
  },
  {
    label: "注册时间",
    prop: "establishtime",
    labelWidth: 160,
    overHidden: true,
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "timestamp",
  },
  {
    label: "注册资本",
    prop: "registeredcapital",
    hide: true,
    labelWidth: 160,
    // search: true,
  },
  {
    label: "注册地址",
    prop: "address",
    labelWidth: 160,
    // search: true,
    hide: true,
  },
  {
    label: "经营范围",
    prop: "business",
    // search: true,
    labelWidth: 160,
    hide: true,
    // width: 110,
    overHidden: true
  },
  {
    label: "登记机关",
    prop: "registration",
    // search: true,
    labelWidth: 160,
    // width: 88,
    overHidden: true,
    hide: true,
  },
  {
    label: "所属行业",
    prop: "industry",
    labelWidth: 160,
    hide: true,
    // search: true,
    // width: 88,
  },
  {
    label: "服务区域",
    labelWidth: 110,
    prop: "fregion",
    hide: true,
  },
  {
    label: "服务时间",
    labelWidth: 110,
    prop: "ftime",
    type: "date",
    format: "yyyy-MM-dd",
    valueFormat: "yyyy-MM-dd",
    hide: true,
  },
]
src/views/securityCompany/confess.vue
@@ -100,7 +100,7 @@
  savePunish,
} from "@/api/securityCompany/security";
import { mapGetters } from "vuex";
import { companyColimn } from "./column";
import { confessColumn } from "./column";
export default {
  data() {
@@ -192,14 +192,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 175,
        menuWidth: 210,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        column: confessColumn,
        group: [
          {
            label: "详细信息",
@@ -247,6 +247,33 @@
      });
      return ids.join(",");
    },
  },
  created() {
    //列控制
    const representativecolumn = this.findObject(
      this.option.column,
      "representative"
    );
    const representativecellcolumn = this.findObject(
      this.option.column,
      "representativecell"
    );
    //法人及电话,办公地址不可见
    representativecolumn.hide = true;
    representativecolumn.search = false;
    representativecellcolumn.hide = true;
    const contactscolumn = this.findObject(this.option.column, "contacts");
    const contactscellcolumn = this.findObject(
      this.option.column,
      "contactscell"
    );
    const ftimecolumn = this.findObject(this.option.column, "ftime");
    const fregioncolumn = this.findObject(this.option.column, "fregion");
    ftimecolumn.hide = false;
    fregioncolumn.hide = false;
    contactscolumn.hide = false;
    contactscellcolumn.hide = false;
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
@@ -408,8 +435,8 @@
        this.page.total = data.total;
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
    },
@@ -419,10 +446,10 @@
      // delete (row["name"]);
      var obj = row;
      obj["name"] = "保安公司详细信息";
      // console.log(obj, "obj");
      var data = JSON.stringify(obj);
      this.$router.push({
        path: `/securityCompany/index`,
        query: obj,
        query: { data: data },
      });
    },
  },
src/views/securityCompany/securityCrossRegion.vue
@@ -100,7 +100,7 @@
  savePunish,
} from "@/api/securityCompany/security";
import { mapGetters } from "vuex";
import { companyColimn } from "./column";
import { crossColumn } from "./column";
export default {
  data() {
@@ -192,14 +192,14 @@
        calcHeight: 30,
        tip: false,
        searchShow: true,
        menuWidth: 175,
        menuWidth: 210,
        searchMenuSpan: 6,
        index: true,
        viewBtn: true,
        dialogClickModal: false,
        column: companyColimn,
        ...this.$store.state.control.clearOtherBut,
        column: crossColumn,
        group: [
          {
            label: "详细信息",
@@ -247,6 +247,20 @@
      });
      return ids.join(",");
    },
  },
  created() {
    //列控制
    const representativecolumn = this.findObject(
      this.option.column,
      "representative"
    );
    const representativecellcolumn = this.findObject(
      this.option.column,
      "representativecell"
    );
    //法人及电话,办公地址不可见
    representativecolumn.label = "分公司负责人";
    representativecellcolumn.label = "分公司负责人电话";
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
@@ -408,21 +422,20 @@
        this.page.total = data.total;
        this.data = data.records;
        // console.log(this.data);
        this.loading = false;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
    },
    // 行单击
    handleRowClick(row) {
      // delete (row["name"]);
      var obj = row;
      obj["name"] = "保安公司详细信息";
      // console.log(obj, "obj");
      var data = JSON.stringify(obj);
      this.$router.push({
        path: `/securityCompany/index`,
        query: obj,
        query: { data: data },
      });
    },
  },
src/views/statisticalQueryManagement/businessStatistics.vue
@@ -2,6 +2,7 @@
  <div>
    <basic-container
      :class="[
        'witerFontColorInput',
        $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
        $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
      ]"
@@ -13,6 +14,7 @@
        :page.sync="page"
        :permission="permissionList"
        ref="crud"
        :search.sync="search"
        @row-update="rowUpdates"
        @row-save="rowSave"
        @search-change="searchChange"
@@ -24,11 +26,22 @@
        @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"
@@ -64,18 +77,18 @@
  </div>
</template>
<script>
import FileSaver from "file-saver";
import XLSX from "xlsx";
import { mapGetters } from "vuex";
import {
  selectYw,
  dictionaryList,
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
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: {
@@ -92,31 +105,13 @@
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      search: {},
      query: {},
      value1: "",
      value2: "",
      tableData: [
        // {
        //   company: "江西省永安保安服务有限公司",
        //   subOffice: "南昌市公安局",
        //   customer: "76",
        //   num: "1124"
        // },
        // {
        //   company: "南昌市赣水保安服务有限公司",
        //   subOffice: "东湖分局",
        //   customer: "85",
        //   num: "1428"
        // },
        // {
        //   company: "江西中业兴达保安服务有限公司",
        //   subOffice: "西湖分局",
        //   customer: "46",
        //   num: "974"
        // }
      ],
      tableData: [],
      tableOption: {
        excelBtn: true,
        // excelBtn: true,
        delBtn: false,
        editBtn: false,
        addBtn: false,
@@ -137,7 +132,7 @@
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "公司名称",
            label: "企业名称",
            prop: "enterpriseName",
            search: true,
            searchSpan: 4,
@@ -145,7 +140,7 @@
            display: false,
          },
          {
            label: "单位类型",
            label: "企业属性",
            prop: "stats",
            search: true,
            searchSpan: 4,
@@ -247,6 +242,36 @@
    },
  },
  methods: {
    //业务情况统计信息导出
    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
        );
      });
    },
    getSubOfficeData() {
      lazyTrees().then((res) => {
        if (res.data.code === 200) {
@@ -264,7 +289,7 @@
      dictionaryList().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach((item) => {
            if (item.label == "单位类型") {
            if (item.label == "企业属性") {
              item.dicData = res.data.data;
            }
          });
@@ -293,6 +318,7 @@
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      params = this.search;
      this.loading = true;
      let param = {};
      param["jurisdiction"] = params["jurname"] || "";
src/views/statisticalQueryManagement/securityGuardStatistics.vue
@@ -14,6 +14,7 @@
        :page.sync="page"
        :permission="permissionList"
        ref="crud"
        :search.sync="search"
        @search-change="searchChange"
        @search-reset="searchReset"
        @current-change="currentChange"
@@ -23,6 +24,16 @@
        @cell-click="handleRowClick"
        class="rowClick tablesss"
      >
        <template slot="menuLeft">
          <el-button
            type="warning"
            size="small"
            plain
            icon="el-icon-download"
            @click="handleExportSecurityStatisInfo"
            >导出
          </el-button>
        </template>
      </avue-crud>
    </basic-container>
    <el-dialog
@@ -33,22 +44,10 @@
      v-if="dialogShow"
    >
      <companyDetails :fwdeptId="fwdeptId"></companyDetails>
      <!-- <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 {
  selectLi,
@@ -56,6 +55,8 @@
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
import companyDetails from "./companyDetails";
import Qs from "qs";
import { getToken } from "@/util/auth";
export default {
  name: "业务情况统计",
  components: {
@@ -69,6 +70,7 @@
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      search: {},
      query: {},
      value1: "",
      value2: "",
@@ -113,7 +115,7 @@
      tableOption: {
        align: "center",
        viewBtn: true,
        excelBtn: true,
        // excelBtn: true,
        delBtn: false,
        editBtn: false,
        addBtn: false,
@@ -128,26 +130,24 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel: "序号",
        indexLabel: "#",
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "公司名称",
            label: "企业名称",
            prop: "deptname",
            search: true,
            searchSpan: 4,
            minWidth: 210,
            overHidden: true,
            width: 280,
            display: false,
          },
          {
            label: "单位类型",
            label: "企业属性",
            prop: "stats",
            search: true,
            searchSpan: 4,
            display: false,
            width: 110,
            type: "select",
            props: {
              label: "dictValue",
@@ -158,38 +158,13 @@
          {
            label: "所属辖区",
            prop: "jurname",
            width: 110,
            searchSpan: 4,
            overHidden: true,
            type: "tree",
            props: {
              label: "title",
              value: "value",
            },
            // dicUrl: "/api/information/lazyTreeJu",
            // dicMethod:'post',
            dicData: [
              // {
              //   value: "0",
              //   label: "南昌市公安局"
              // },
              // {
              //   value: "2",
              //   label: "东湖分局"
              // },
              // {
              //   value: "3",
              //   label: "西湖分局"
              // },
              // {
              //   value: "4",
              //   label: "青云谱分局"
              // },
              // {
              //   value: "5",
              //   label: "青山湖分局"
              // }
            ],
            dicData: [],
            search: true,
            rules: [
              {
@@ -234,43 +209,38 @@
          },
          {
            label: "未派遣人数",
            prop: "wpaiqnum",
            prop: "wpqnum",
            display: false,
          },
          {
            label: "派遣人数",
            prop: "paiqnum",
            prop: "pqnum",
            display: false,
          },
          {
            label: "已采集照片人数",
            prop: "ycaijzpnum",
            prop: "ycjzpnum",
            display: false,
          },
          {
            label: "未采集照片人数",
            prop: "wcaijnum",
            prop: "wcjzpnum",
            display: false,
          },
          {
            label: "已采集指纹人数",
            prop: "ycaijzwnum",
            prop: "ycjzwnum",
            display: false,
          },
          {
            label: "资格审查异常人数",
            width: 150,
            prop: "yicnum",
            prop: "scycnum",
            display: false,
          },
          // {
          //   label: "过考保安人数",
          //   prop: "pass",
          //   display: false,
          // },
          {
            label: "缴纳社保人数",
            prop: "sbnum",
            prop: "jnsbnum",
            display: false,
          },
        ],
@@ -293,6 +263,36 @@
    },
  },
  methods: {
    //保安员统计信息导出
    handleExportSecurityStatisInfo() {
      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.deptname,
          startTime: this.search.startTime,
          endTime: this.search.endTime,
        };
        // console.log(data,123);
        //序列号url形式,用&拼接
        data = Qs.stringify(data);
        window.open(
          `/api/information/export-security-statis-info?${
            this.website.tokenHeader
          }=${getToken()}&` + data
        );
      });
    },
    getSubOfficeData() {
      lazyTrees().then((res) => {
        if (res.data.code === 200) {
@@ -307,21 +307,11 @@
        }
      });
    },
    // searchChildren(data) {
    //   data.forEach(item => {
    //     if(item.hasChildren)(
    //     )
    //     else {
    //       this.searchChildren()
    //     }
    //   });
    // },
    getDictionaryList() {
      dictionaryList().then((res) => {
        if (res.data.code === 200) {
          this.tableOption.column.forEach((item) => {
            if (item.label == "单位类型") {
            if (item.label == "企业属性") {
              item.dicData = res.data.data;
            }
          });
@@ -351,6 +341,7 @@
      this.onLoad(this.page, this.query);
    },
    onLoad(page, params = {}) {
      params = this.search;
      this.loading = true;
      let param = {};
      param["jurisdiction"] = params["jurname"] || "";
@@ -375,7 +366,6 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
      });
    },
@@ -395,7 +385,6 @@
  mounted() {
    this.getSubOfficeData();
    this.getDictionaryList();
    this.$store.commit("setWindowSizeHeightAdd");
  },
};
</script>
src/views/system/topmenu.vue
@@ -1,6 +1,12 @@
<template>
  <basic-container>
  <basic-container
    :class="[
      $store.state.control.screenSize == 1366 ? 'smallSize' : 'normalSize',
      $store.state.control.windowWidth >= 1024 ? 'tooRowSearch1' : '',
    ]"
  >
    <avue-crud
      class="tablesss"
      :option="option"
      :table-loading="loading"
      :data="data"
@@ -106,6 +112,7 @@
        pageSize: 10,
        currentPage: 1,
        total: 0,
        ...this.$store.state.control.changePageSize,
      },
      selectionList: [],
      menuGrantList: [],
@@ -123,6 +130,7 @@
        selection: true,
        dialogWidth: 900,
        dialogClickModal: false,
        ...this.$store.state.control.clearOtherBut,
        column: [
          {
            label: "菜单名",
@@ -204,6 +212,9 @@
      });
      return ids;
    },
  },
  mounted() {
    this.$store.commit("setWindowSizeHeightAdd");
  },
  methods: {
    submit() {
@@ -356,6 +367,7 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        this.$store.commit("setWindowSizeHeightAdd");
        this.loading = false;
        this.selectionClear();
      });
vue.config.js
@@ -35,6 +35,7 @@
        // target: 'http://192.168.0.114:82',
        // target: 'http://192.168.0.108:82',
        // target: 'http://192.168.0.110:82',
        // target: 'http://s16s652780.51mypc.cn/api',
        // 服务器使用
        target: 'http://localhost:82',
        ws: true,