liuyg
2021-11-19 0855c8cef2f2f414cf9a84285421fdcdd5bc6310
Merge branch 'master' of http://192.168.0.105:10010/r/zhba_regulatory
28 files modified
4 files added
17935 ■■■■■ changed files
package-lock.json 17247 ●●●●● patch | view | raw | blame | history
public/img/mapicon/car.png patch | view | raw | blame | history
public/img/mapicon/gun.png patch | view | raw | blame | history
public/img/mapicon/people.png patch | view | raw | blame | history
public/img/mapicon/start.png patch | view | raw | blame | history
src/api/index/index.js 8 ●●●●● patch | view | raw | blame | history
src/components/map/main.vue 7 ●●●●● patch | view | raw | blame | history
src/page/index/index.vue 4 ●●●● patch | view | raw | blame | history
src/store/modules/user.js 2 ●●● patch | view | raw | blame | history
src/styles/management.scss 2 ●●● patch | view | raw | blame | history
src/views/commandQuery/taskDistribution.vue 2 ●●● patch | view | raw | blame | history
src/views/home/index.vue 182 ●●●●● patch | view | raw | blame | history
src/views/home/indexEchart.js 2 ●●● patch | view | raw | blame | history
src/views/map/carGps.vue 2 ●●● patch | view | raw | blame | history
src/views/map/gunGps.vue 2 ●●● patch | view | raw | blame | history
src/views/map/peopleGps.vue 2 ●●● patch | view | raw | blame | history
src/views/securityCompany/companyDetails.vue 179 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/computents/service.vue 27 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/computents/staff.vue 3 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/dispatch.vue 5 ●●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicAnalysis.vue 97 ●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicTable.vue 1 ●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/operationAnalysis.vue 18 ●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/operationTable.vue 1 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatistics.vue 54 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatisticsDetail.vue 13 ●●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatisticsFwdq.vue 1 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/businessStatisticsPq.vue 5 ●●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/companyDetails.vue 1 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/securityGuardDetail.vue 13 ●●●● patch | view | raw | blame | history
src/views/statisticalQueryManagement/securityGuardStatistics.vue 51 ●●●● patch | view | raw | blame | history
vue.config.js 4 ●●●● patch | view | raw | blame | history
package-lock.json
Diff too large
public/img/mapicon/car.png
public/img/mapicon/gun.png
public/img/mapicon/people.png
public/img/mapicon/start.png
src/api/index/index.js
@@ -150,3 +150,11 @@
    method: "get"
  });
};
// 各辖区单位统计情况模块表格接口
export const getSecurityUnitInfoPage = params => {
  return request({
    url: "/api/information/getSecurityUnitInfoPage",
    method: "get",
    params: params
  });
};
src/components/map/main.vue
@@ -7,7 +7,8 @@
 * @LastEditTime: 2021-04-24 11:59:43
-->
<template>
  <div id="track_map" style="height: 100%"></div>
    <div id="track_map"
         style="height: 100%"></div>
</template>
<script>
import "ol/ol.css";
@@ -94,7 +95,6 @@
  mounted() {
    //建立地图
    this.createmap(1); //1为本地
    // this.createmap(); //空或其他是外网
    this.parentParameter();
@@ -149,6 +149,8 @@
            projection: "EPSG:4326",
          }),
        });
            } else {
        var projection = getProjection("EPSG:4326");
        var projectionExtent = projection.getExtent();
        var size = getWidth(projectionExtent) / 256;
@@ -157,7 +159,6 @@
          //计算比例尺
          resolutions[z] = size / Math.pow(2, z);
        }
      } else {
        // 正式服务器上使用
        this.ol2d = new OlMap({
          layers: [
src/page/index/index.vue
@@ -11,12 +11,12 @@
      </div>
      <div class="avue-main">
        <!-- 顶部标签卡 -->
        <tags/>
        <!-- <tags/> -->
        <transition name="fade-scale">
          <search class="avue-view" v-show="isSearch"></search>
        </transition>
        <!-- 主体视图层 -->
        <div style="height:100%;overflow-y:auto;overflow-x:hidden;" id="avue-view" v-show="!isSearch">
        <div style="height:100%;overflow-y:auto;overflow-x:hidden; margin-top: 10px;" id="avue-view" v-show="!isSearch">
          <keep-alive>
            <router-view class="avue-view" v-if="$route.meta.keepAlive"/>
          </keep-alive>
src/store/modules/user.js
@@ -239,7 +239,7 @@
    },
    SET_USER_INFO: (state, userInfo) => {
      if (validatenull(userInfo.avatar)) {
        userInfo.avatar = "/img/bg/img-logo.png";
        userInfo.avatar = "http://47.49.36.190:9000/zhba/upload/picture/mrtx.png\n";
      }
      state.userInfo = userInfo;
      setStore({ name: 'userInfo', content: state.userInfo })
src/styles/management.scss
@@ -2,7 +2,7 @@
#avue-view {
  &>.morpheus-box {
    position: absolute;
    top: 40px;
    top: 0;
    left: 0px;
    right: 0px;
    bottom: 0px;
src/views/commandQuery/taskDistribution.vue
@@ -2,7 +2,7 @@
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-08-12 21:00:27
 * @Last Modified time: 2021-11-17 09:21:36
 * menu-name 监管信息
 */
<template>
src/views/home/index.vue
@@ -20,7 +20,7 @@
          </div>
          <div class="leftEchartTitle leftEchartTitle2">
            <div class="block1"></div>
            <span>保安培训公司</span>
            <span>保安培训学校</span>
            <span>{{ leftData.px }}</span>
            <span>个</span>
          </div>
@@ -239,7 +239,7 @@
            <avue-input-tree
              default-expand-all
              v-model="value1"
              placeholder="请选择内容"
              placeholder="南昌市公安局"
              type="tree"
              :dic="options1"
              :props="props"
@@ -391,7 +391,13 @@
    >
      <el-table :data="gridData.data">
        <template v-if="gridData.type === 'zg'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="realName"
@@ -463,7 +469,13 @@
          ></el-table-column>
        </template>
        <template v-if="gridData.type === 'wg'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterpriseName"
@@ -490,7 +502,8 @@
            label="持证率"
            :show-overflow-tooltip="true"
            width="150"
          ></el-table-column>
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="sbnum"
@@ -507,7 +520,13 @@
          ></el-table-column>
        </template>
        <template v-if="gridData.type === 'jy'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterpriseName"
@@ -558,7 +577,13 @@
          ></el-table-column>
        </template>
        <template v-if="gridData.type === 'ym'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterpriseName"
@@ -593,7 +618,13 @@
          >gridData
        </template>
        <template v-if="gridData.type === 'jg'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterpriseName"
@@ -628,6 +659,34 @@
            label="处罚时间"
            :show-overflow-tooltip="true"
            width="100"
          ></el-table-column>
        </template>
        <template v-if="gridData.type === 'ywdx_gs'">
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterprisename"
            label="保安公司名称"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="stats"
            label="保安公司类型"
            :formatter="companyFormatter"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="jurisdictionName"
            label="所属辖区"
            :show-overflow-tooltip="true"
          ></el-table-column>
        </template>
      </el-table>
@@ -683,7 +742,8 @@
  selectJy,
  selectWg,
  punishList,
  lazyTrees
  lazyTrees,
  getSecurityUnitInfoPage
} from "../../api/index/index";
import car from "@/assets/img/car.png";
@@ -767,7 +827,8 @@
      //   value: "departmentid"
      // },
      node1: {}, //选中的记录
      node2: {}
      node2: {},
      params: null
    };
  },
  computed: {
@@ -823,7 +884,39 @@
        return "责令停业";
      }
    },
    shoeDialog1(type) {
      this.gridData.data = [];
      this.gridData.total = 0;
      this.gridData.current = 1;
      this.gridData.type = type;
      this.showDialogTable(type);
    },
    showDialogTable(type) {
      let param = this.params;
      this.dialogTableVisible = true;
      this.dialogloading = true;
      if (type === "ywdx_gs") {
        this.gridData.title = param.name + "保安公司统计";
        if (param.name) {
          let arr = this.options1[0].children.filter(
            a => a.title === param.name
          );
          if (arr[0] && arr[0].id) {
            getSecurityUnitInfoPage({
              jurisdiction: arr[0].id,
              current: this.gridData.current,
              size: 10
            }).then(res => {
              if (res.data.code === 200) {
                this.gridData.data = res.data.data.records;
                this.gridData.total = res.data.data.total;
              }
              this.dialogloading = false;
            });
          }
        }
      }
    },
    // 左侧表的接口返回数据
    initEchart() {
      securityTotal().then(res => {
@@ -835,6 +928,10 @@
            );
          }
          this.echarts.left1Echart.setOption(optionJs.left1Data(securityData));
          this.echarts.left1Echart.on("click", params => {
            this.params = params;
            this.shoeDialog1("ywdx_gs");
          });
        } else {
          this.$message.error(res.msg);
        }
@@ -1031,56 +1128,6 @@
      });
    },
    initMap() {
      this.map = new Map({
        target: "map",
        layers: [
          // new Tile({
          //   source: new OSM()
          // })
          new Tile({
            zIndex: 4,
            title: "影像",
            source: new XYZ({
              url:
                "http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 行政区划
            })
          }),
          new Tile({
            zIndex: 5,
            title: "道路+中文注记",
            source: new XYZ({
              url:
                "http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0" // 注记
            })
          })
        ],
        view: new View({
          projection: "EPSG:4326",
          center: [115.892151, 28.676493],
          zoom: 10
        })
      });
      this.carVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource()
      });
      this.peoVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource()
      });
      this.gunVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource()
      });
      this.map.addLayer(this.carVectorLayer);
      this.map.addLayer(this.peoVectorLayer);
      this.map.addLayer(this.gunVectorLayer);
      this.getTableData(0);
    },
    // 获取辖区列表
    getOfficeData() {
      lazyTrees().then(res => {
@@ -1111,7 +1158,8 @@
        this.gridData.title = "资格异常人员清单";
        this.getQualificationPages(1);
      } else if (type === "wg") {
        this.gridData.title = "违规经营公司清单(持证人数低于50%、缴纳社保人数低于50%)";
        this.gridData.title =
          "违规经营公司清单(持证人数低于50%、缴纳社保人数低于50%)";
        this.getWgTable();
      } else if (type === "jy") {
        this.gridData.title = "经营不善公司清单(服务对象数量为0)";
@@ -1129,13 +1177,13 @@
        let czl = 0;
        if (Number(item.cznum) !== 0 && Number(item.znum) !== 0) {
          czl =
            ((Number(item.cznum) / Number(item.znum)) * 100).toFixed(4) + "%";
            ((Number(item.cznum) / Number(item.znum)) * 100).toFixed(2) + "%";
        }
        item["czl"] = czl;
        let sbl = 0;
        if (Number(item.sbnum) !== 0 && Number(item.znum) !== 0) {
          czl =
            ((Number(item.sbnum) / Number(item.znum)) * 100).toFixed(4) + "%";
            ((Number(item.sbnum) / Number(item.znum)) * 100).toFixed(2) + "%";
        }
        item["sbl"] = sbl;
      });
@@ -1147,13 +1195,13 @@
        let pql = 0;
        if (Number(item.painum) !== 0 && Number(item.znum) !== 0) {
          pql =
            ((Number(item.painum) / Number(item.znum)) * 100).toFixed(4) + "%";
            ((Number(item.painum) / Number(item.znum)) * 100).toFixed(2) + "%";
        }
        item["pql"] = pql;
        let pjpqrs = 0;
        if (Number(item.painum) !== 0 && Number(item.fwnum) !== 0) {
          pjpqrs =
            ((Number(item.painum) / Number(item.fwnum)) * 100).toFixed(4) + "%";
            ((Number(item.painum) / Number(item.fwnum)) * 100).toFixed(2) + "%";
        }
        item["pjpqrs"] = pjpqrs;
      });
@@ -1201,6 +1249,8 @@
        );
      } else if (this.gridData.type === "jg") {
        this.getPunishList(page);
      } else if (this.gridData.type === "ywdx_gs") {
        this.showDialogTable(this.gridData.type);
      }
    },
    getQualificationPages(page) {
src/views/home/indexEchart.js
@@ -103,7 +103,7 @@
        data: data1
      },
      {
        name: "保安培训公司",
        name: "保安培训学校",
        type: "bar",
        stack: "total",
        emphasis: {
src/views/map/carGps.vue
@@ -2,7 +2,7 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-09-03 16:20:17
 * @Last Modified time: 2021-11-17 09:20:19
 * menu-name 押运人员定位
 */
<template>
src/views/map/gunGps.vue
@@ -2,7 +2,7 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-23 11:20:51
 * @Last Modified time: 2021-11-17 09:21:20
 * menu-name 押运人员定位
 */
<template>
src/views/map/peopleGps.vue
@@ -2,7 +2,7 @@
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-07-23 14:54:47
 * @Last Modified time: 2021-11-17 09:21:25
 * menu-name 押运人员定位
 */
<template>
src/views/securityCompany/companyDetails.vue
@@ -1,8 +1,8 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-05 16:31:54
 * @Last Modified by: liu
 * @Last Modified time: 2021-10-21 16:56:42
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-09 19:38:27
 * menu-name 保安公司详细资料
 */
<template>
@@ -10,42 +10,36 @@
    <el-col :span="24">
      <el-card>
        <div class="card-body">
          <el-tabs v-model="activeName" @tab-click="handleClick">
            <el-tab-pane label="基本信息" name="first">
              <el-form
                :model="form"
                    <el-tabs v-model="activeName"
                             @tab-click="handleClick">
                        <el-tab-pane label="基本信息"
                                     name="first">
                            <el-form :model="form"
                label-position="right"
                size="mini"
                label-width="100px"
              >
                                     label-width="100px">
                <el-row>
                  <el-col span="12">
                    <el-form-item label="公司名称">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.enterprisename"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="法定代表人">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.representative"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                <el-row>
                  <el-col span="24">
                    <el-form-item label="注册地址">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.address"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
@@ -53,20 +47,16 @@
                <el-row>
                  <el-col span="12">
                    <el-form-item label="所属辖区">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="jurisdictionSee"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="所属行业">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.industry"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
@@ -74,20 +64,16 @@
                <el-row>
                  <el-col span="12">
                    <el-form-item label="登记机关">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.registration"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="公司类型">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.enterprises"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
@@ -95,25 +81,22 @@
                <el-row>
                  <el-col span="24">
                    <el-form-item label="经营范围">
                      <el-input
                        type="textarea"
                                            <el-input type="textarea"
                        disabled="true"
                        v-model="form.business"
                        resize="none"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
              </el-form>
            </el-tab-pane>
            <el-tab-pane label="工商信息" name="second">
              <el-form
                :model="form"
                        <el-tab-pane label="工商信息"
                                     name="second">
                            <el-form :model="form"
                label-position="right"
                size="mini"
                label-width="100px"
              >
                                     label-width="100px">
                <!-- <el-row>
                  <el-col span="12">
                    <el-form-item label="公司名称">
@@ -138,21 +121,17 @@
                <el-row>
                  <el-col span="12">
                    <el-form-item label="组织机构代码">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.organizationcode"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="注册资金">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.registeredcapital"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
@@ -169,20 +148,16 @@
                  </el-col> -->
                  <el-col span="12">
                    <el-form-item label="注册时间">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.establishtime"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="工商注册号">
                      <el-input
                        disabled="true"
                                            <el-input disabled="true"
                        v-model="form.registrationnumber"
                        autocomplete="off"
                      ></el-input>
                                                      autocomplete="off"></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
@@ -200,9 +175,9 @@
                </el-row> -->
              </el-form>
            </el-tab-pane>
            <el-tab-pane label="投资人信息" name="third">
              <avue-crud
                class="company-box"
                        <el-tab-pane label="投资人信息"
                                     name="third">
                            <avue-crud class="company-box"
                :option="investorOption"
                :search.sync="investorSearch"
                :table-loading="investorLoading"
@@ -215,13 +190,12 @@
                @current-change="investorCurrentChange"
                @size-change="investorSizeChange"
                @refresh-change="investorSizerefresh"
                @on-load="investorOnLoad"
              >
                                       @on-load="investorOnLoad">
              </avue-crud>
            </el-tab-pane>
            <el-tab-pane label="管理人信息" name="fourth">
              <avue-crud
                class="company-box"
                        <el-tab-pane label="管理人信息"
                                     name="fourth">
                            <avue-crud class="company-box"
                :option="manageOption"
                :search.sync="manageSearch"
                :table-loading="manageLoading"
@@ -234,54 +208,64 @@
                @current-change="manageCurrentChange"
                @size-change="manageSizeChange"
                @refresh-change="manageSizerefresh"
                @on-load="manageOnLoad"
              >
                                       @on-load="manageOnLoad">
              </avue-crud>
            </el-tab-pane>
            <el-tab-pane label="装备信息" name="fifth">
              <equipment :forms="forms" v-if="seestaff"></equipment>
                        <el-tab-pane label="装备信息"
                                     name="fifth">
                            <equipment :forms="forms"
                                       v-if="seestaff"></equipment>
            </el-tab-pane>
            <el-tab-pane label="保安员信息" name="sixth">
              <staff :forms="forms" v-if="seestaff" :doit="seestaff2"></staff>
            </el-tab-pane>
            <el-tab-pane label="处罚信息" name="seventh">
              <punish :forms="forms" v-if="seestaff"></punish>
            </el-tab-pane>
            <el-tab-pane label="服务对象" name="eighth">
              <service
                :form="forms"
                        <el-tab-pane label="保安员信息"
                                     name="sixth">
                            <staff :forms="forms"
                v-if="seestaff"
                :refresh="seestaff3"
              ></service>
                                   :doit="seestaff2"></staff>
                        </el-tab-pane>
                        <el-tab-pane label="处罚信息"
                                     name="seventh">
                            <punish :forms="forms"
                                    v-if="seestaff"></punish>
                        </el-tab-pane>
                        <el-tab-pane label="服务对象"
                                     name="eighth">
                            <service :form="forms"
                                     v-if="seestaff"
                                     :refresh="seestaff3"></service>
            </el-tab-pane>
            <!-- <el-tab-pane label="其他附件" name="eighth">
              <enclosure :form="form"></enclosure>
            </el-tab-pane> -->
            <el-tab-pane label="营业执照" name="ninth">
                        <el-tab-pane label="营业执照"
                                     name="ninth">
              <div class="businessLicenses">
                <el-container>
                  <el-main>
                    <div class="title" v-if="businessLicenseUrl == ''">
                                        <div class="title"
                                             v-if="businessLicenseUrl == ''">
                      未上传营业执照
                    </div>
                    <img
                      class="businessLicensess"
                                        <img class="businessLicensess"
                      :src="businessLicenseUrl"
                      alt=""
                      v-else
                    />
                                             v-else />
                  </el-main>
                </el-container>
              </div>
            </el-tab-pane>
            <el-tab-pane label="许可证" name="tenth">
                        <el-tab-pane label="许可证"
                                     name="tenth">
              <div class="businessLicenses">
                <el-container>
                  <el-main>
                    <div class="title" v-if="licenceUrl == ''">
                                        <div class="title"
                                             v-if="licenceUrl == ''">
                      未上传许可证
                    </div>
                    <img class="Licenses" :src="licenceUrl" alt="" v-else />
                                        <img class="Licenses"
                                             :src="licenceUrl"
                                             alt=""
                                             v-else />
                  </el-main>
                </el-container>
              </div>
@@ -302,7 +286,6 @@
  examinationList,
  getInvestorList,
  getManageList,
  usejurisdiction,
} from "@/api/securityCompany/companyDetails";
import equipment from "./computents/equipment.vue"; //装备管理
import staff from "./computents/staff.vue"; //保安员信息
@@ -519,11 +502,12 @@
        i++;
      }
    });
    if (i > 1) {
      this.$store.state.tags.tagList.splice(ind, 1);
    }
    if (this.$route.query.fromSecunityGuardId) {
      // console.log(this.$route.query.fromSecunityGuardId, "fromSecunityGuardId");
      var page = {
          currentPage: 1,
          pageSize: 10,
@@ -531,22 +515,18 @@
        params = { departmentid: this.$route.query.fromSecunityGuardId };
      getList(page.currentPage, page.pageSize, params).then((res) => {
        that.form = res.data.data.records[0];
        // console.log(that.form, "that.form1");
        this.jurisdictionSee = this.form.jurisdictionName;
        that.forms = res.data.data.records[0];
        that.seestaff = true;
        that.businessLicenseUrl = res.data.data.records[0].businessLicense;
        that.licenceUrl = res.data.data.records[0].licence;
        // console.log(that.form, "this.forms1");
      });
      // })
    } else {
      this.form = this.$route.query;
      // console.log(that.form, "that.form2");
      this.jurisdictionSee = this.form.$jurisdiction;
      this.forms = this.$route.query;
      this.seestaff = true;
      // console.log(this.forms, "this.forms2");
      this.getFromData({
        currentPage: 1,
        pageSize: 10,
@@ -558,7 +538,6 @@
      var that = this;
      params["departmentid"] = this.forms.departmentid;
      getList(page.currentPage, page.pageSize, params).then((res) => {
        // console.log(res.data.data.records[0], "多次获取该单位信息");
        that.form = res.data.data.records[0];
        this.businessLicenseUrl = res.data.data.records[0].businessLicense;
        this.licenceUrl = res.data.data.records[0].licence;
src/views/securityCompany/computents/service.vue
@@ -135,28 +135,7 @@
          // },
          {
            label: "所属辖区",
            prop: "jurisdiction",
            // hide: true,
            searchLabelWidth: 80,
            // search: true,
            searchSpan: 4,
            overHidden: true,
            labelWidth: 138,
            type: "tree",
            dicUrl: "/api/jurisdiction/lazy-tree",
            props: {
              label: "title",
              value: "id",
            },
            checkStrictly: true,
            slot: true,
            rules: [
              {
                required: true,
                message: "请选择所属辖区",
                trigger: "click",
              },
            ],
            prop: "dispatcherUnitName",
          },
          // {
          //   label: "所属辖区",
@@ -301,7 +280,6 @@
  },
  created() {
    var that = this;
    // console.log(this.form);
    this.departmentids = {
      deptId: this.form.departmentid,
    };
@@ -341,13 +319,11 @@
      this.serviceOnLoad(this.servicePage, this.serviceQuery);
    },
    serviceOnLoad(page, params = {}) {
      // console.log(this.form.departmentid, "serviceData");
      this.serviceLoading = true;
      params = {
        ...params,
        ...this.departmentids,
      };
      // console.log(params);
      getdatas(
        page.currentPage,
        page.pageSize,
@@ -357,7 +333,6 @@
        this.servicePage.total = data.total;
        this.serviceData = data.records;
        // console.log(this.serviceData, "this.serviceData");
        this.serviceLoading = false;
        this.$refs.serviceCrud.refreshTable();
        this.$refs.serviceCrud.doLayout();
src/views/securityCompany/computents/staff.vue
@@ -234,7 +234,6 @@
      // if (this.i != 2) {
      this.staffLoading = true;
      // }
      // console.log(this.forms.departmentid, "staff");
      getListestaff(
        page.currentPage,
        page.pageSize,
@@ -244,12 +243,10 @@
        const data = res.data.data;
        this.staffPage.total = data.total;
        this.staffData = data.records;
        // console.log(this.staffData, "staffData");
        this.staffLoading = false;
        this.staffSelectionClear();
        // if (this.i == 1) {
        //   console.log(this.i, "iiiiiiii");
        //   this.i++;
        //   // setTimeout((res) => {
        //   this.equipmentSizerefresh();
src/views/securityCompany/dispatch.vue
@@ -1,8 +1,8 @@
/*
 * @Author: Morpheus
 * @Date: 2021-07-07 17:30:05
 * @Last Modified by: liu
 * @Last Modified time: 2021-09-18 09:14:26
 * @Last Modified by: Morpheus
 * @Last Modified time: 2021-11-09 20:48:40
 * menu-name 派遣公司查询
 */
<template>
@@ -260,7 +260,6 @@
        const data = res.data.data;
        this.page.total = data.total;
        this.data = data.records;
        // console.log(this.data, "dis");
        this.loading = false;
        this.selectionClear();
      });
src/views/securityUnitOperation/economicAnalysis.vue
@@ -76,9 +76,20 @@
              <span>较上月增加{{ socialSecurity.addNum }}人</span>
            </div>
            <div class="box-card">
              <template v-if="socialSecurity.money / 10000 > 1">
                <span>社保缴纳总额(万元)</span>
                <span>{{ (socialSecurity.money / 10000).toFixed(0) }}</span>
              </template>
              <template v-else>
              <span>社保缴纳总额(元)</span>
              <span>{{ socialSecurity.money }}</span>
              <span>较上月增加{{ socialSecurity.addMoney }}元</span>
                <span>{{ Number(socialSecurity.money).toFixed(0) }}</span>
              </template>
              <span
                >较上月增加{{
                  Number(socialSecurity.addMoney).toFixed(0)
                }}元</span
              >
            </div>
            <div class="box-card">
              <span>公司派遣人数</span>
@@ -130,7 +141,7 @@
  queryYearSoil,
  queryYearAn,
  queryYearPz,
  queryYearKh,
  queryYearKh
} from "../../api/securityUnitOperation/securityUnitOperation";
export default {
  data() {
@@ -141,28 +152,28 @@
      options0: [
        {
          value: "2012",
          label: "2012年",
          label: "2012年"
        },
        {
          value: "2011",
          label: "2011年",
          label: "2011年"
        },
        {
          value: "2010",
          label: "2010年",
          label: "2010年"
        },
        {
          value: "2009",
          label: "2009年",
          label: "2009年"
        },
        {
          value: "2008",
          label: "2008年",
          label: "2008年"
        },
        {
          value: "2007",
          label: "2007年",
        },
          label: "2007年"
        }
      ],
      options1: [],
      options2: [],
@@ -174,7 +185,7 @@
        paiQ: 0,
        addPaiQ: 0,
        sheBPerson: 0,
        addSheBPerson: 0,
        addSheBPerson: 0
      },
      loading1: true,
      loading2: true,
@@ -183,14 +194,14 @@
      props: {
        children: "children",
        label: "title",
        value: "id",
        value: "id"
      },
      props2: {
        children: "children",
        label: "enterpriseName",
        value: "departmentid",
        value: "departmentid"
      },
      node: {}, //选中的记录
      node: {} //选中的记录
    };
  },
  methods: {
@@ -207,14 +218,14 @@
          "&enterpriseName=" +
          this.enterpriseName +
          "&jurisdiction1=" +
          this.value1,
          this.value1
      });
    },
    getFenju() {
      this.options1 = [];
      this.value1 = "";
      this.node = {};
      lazyTrees().then((res) => {
      lazyTrees().then(res => {
        if (res.data.code === 200) {
          this.options1 = res.data.data;
          this.value1 = this.options1[0] ? this.options1[0].id : "";
@@ -229,9 +240,9 @@
      this.loading2 = true;
      let params = {
        jurisdiction: this.value1,
        deptid: this.value2,
        deptid: this.value2
      };
      selectPCount(params).then((res) => {
      selectPCount(params).then(res => {
        if (res.data.code === 200) {
          let middleEchart2 = echarts.init(
            document.getElementById("middleEchart2")
@@ -244,7 +255,7 @@
      });
    },
    getCompanys() {
      getCompanys({ jurisdiction: this.value1 }).then((res) => {
      getCompanys({ jurisdiction: this.value1 }).then(res => {
        if (res.data.code === 200) {
          this.options2 = res.data.data;
          // this.value2 = this.options2[0] ? this.options2[0].departmentid : "";
@@ -255,32 +266,26 @@
    getSocialSecurity() {
      let params = {
        jurisdiction: this.value1,
        deptid: this.value2,
        deptid: this.value2
      };
      selectTo(params).then((res) => {
      selectTo(params).then(res => {
        if (res.data.code === 200) {
          let data = res.data.data[0];
          this.socialSecurity.num = data.znum;
          this.socialSecurity.addNum = data.thismouth - data.lastmonth;
          this.socialSecurity.money = data.tamountnum;
          this.socialSecurity.addMoney = data.thisamount - data.lastamount;
          this.socialSecurity.addNum = data.thismouth;
          this.socialSecurity.money = data.tamountnum.toFixed(0);
          this.socialSecurity.addMoney = data.thisamount.toFixed(0);
          this.socialSecurity.paiQ = data.userpcnum;
          this.socialSecurity.addPaiQ =
            data.userpcthismouth - data.userpclastmouth;
          this.socialSecurity.addPaiQ = data.userpcthismouth;
          this.socialSecurity.sheBPerson =
            data.usernum && (data.znum / data.userthismouth) * 100
              ? ((data.thismouth / data.userthismouth) * 100).toFixed(2) + "%"
            data.usernum && (data.znum / data.usernum) * 100
              ? ((data.znum / data.usernum) * 100).toFixed(2) + "%"
              : 0;
          this.socialSecurity.addSheBPerson =
            data.userthismouth &&
            data.userlastmouth &&
            (data.thismouth / data.userthismouth) * 100 &&
            (data.lastmonth / data.userlastmouth) * 100 &&
            (data.thismouth / data.userthismouth) * 100 -
              (data.lastmonth / data.userlastmouth) * 100
            data.thismouth && data.lastmonth && data.thismouth - data.lastmonth
              ? (
                  (data.thismouth / data.userthismouth) * 100 -
                  (data.lastmonth / data.userlastmouth) * 100
                  ((data.thismouth - data.lastmonth) / data.lastmonth) *
                  100
                ).toFixed(2) + "%"
              : 0;
        } else {
@@ -292,11 +297,11 @@
      this.loading1 = true;
      let params = {
        jurisdiction: this.value1,
        deptid: this.value2,
        deptid: this.value2
      };
      queryYearSoil(params).then((res) => {
      queryYearSoil(params).then(res => {
        if (res.data.code === 200) {
          queryYearPz(params).then((res1) => {
          queryYearPz(params).then(res1 => {
            if (res1.data.code === 200) {
              let middleEchart1 = echarts.init(
                document.getElementById("middleEchart1")
@@ -316,9 +321,9 @@
      this.loading3 = true;
      let params = {
        jurisdiction: this.value1,
        deptid: this.value2,
        deptid: this.value2
      };
      queryYearKh(params).then((res) => {
      queryYearKh(params).then(res => {
        if (res.data.code === 200) {
          let bottomEchart = echarts.init(
            document.getElementById("bottomEchart")
@@ -331,7 +336,7 @@
      });
    },
    changeCompanys() {
      this.options2.forEach((item) => {
      this.options2.forEach(item => {
        if (item.departmentid === this.value2) {
          this.enterpriseName = item.enterpriseName;
        }
@@ -340,11 +345,11 @@
      this.getSocialSecurity();
      this.getQueryYearSoil();
      this.getQueryYearAn();
    },
    }
  },
  mounted() {
    this.getFenju();
  },
  }
};
</script>
<style lang="scss" scoped>
@@ -463,7 +468,7 @@
  }
  .select1 {
    position: absolute;
    right: 302px;
    right: 360px;
  }
  .select2 {
    position: absolute;
@@ -474,7 +479,7 @@
    right: 0px;
  }
  /deep/ .el-input__inner {
    width: 120px;
    width: 180px;
  }
}
.col-content {
src/views/securityUnitOperation/economicTable.vue
@@ -84,6 +84,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
src/views/securityUnitOperation/operationAnalysis.vue
@@ -301,19 +301,19 @@
          let data = res.data.data[0];
          this.card = {
            baoanTotal: data.baoan.num,
            addbaoanTotal: data.baoan.thisnum - data.baoan.lastnum,
            zcBaoan: data.zcbaoan.thisnum,
            addzcBaoan: data.zcbaoan.thisnum - data.zcbaoan.lastnum,
            addbaoanTotal: data.baoan.thisnum,
            zcBaoan: data.zcbaoan.num,
            addzcBaoan: data.zcbaoan.thisnum,
            czBaoan: data.czbaoan.num,
            addczBaoan: data.czbaoan.thisnum - data.czbaoan.lastnum,
            addczBaoan: data.czbaoan.thisnum,
            gkBaoan: 0,
            addgkBaoan: 0,
            kh: data.kh.num,
            addkh: data.kh.thisnum - data.kh.lastnum,
            addkh: data.kh.thisnum,
            sheb: data.sheb.num,
            addsheb: data.sheb.thisnum - data.sheb.lastnum,
            addsheb: data.sheb.thisnum,
            baoanPq: data.paiq.num,
            addbaoanPq: data.paiq.thisnum - data.paiq.lastnum,
            addbaoanPq: data.paiq.thisnum,
          };
        }
      });
@@ -741,7 +741,7 @@
  }
  .select1 {
    position: absolute;
    right: 302px;
    right: 360px;
  }
  .select2 {
    position: absolute;
@@ -752,7 +752,7 @@
    right: 0px;
  }
  /deep/ .el-input__inner {
    width: 120px;
    width: 180px;
  }
}
.col-content {
src/views/securityUnitOperation/operationTable.vue
@@ -89,6 +89,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
src/views/statisticalQueryManagement/businessStatistics.vue
@@ -110,11 +110,11 @@
        // }
      ],
      tableOption: {
        // excelBtn: true,
        excelBtn: true,
        delBtn: false,
        editBtn: false,
        addBtn: false,
        selection: true,
        selection: false,
        menu: false,
        // dateBtn: true,
        align: "center",
@@ -125,32 +125,11 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
          {
            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",
              },
            ],
          },
          {
            label: "公司名称",
            prop: "enterpriseName",
@@ -215,6 +194,29 @@
            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",
              },
            ],
          },
        ],
      },
@@ -361,7 +363,7 @@
        this.dialogShow = true;
      } else if (column.label == "持证人数") {
        this.dialogTitle = "业务统计明细---持证保安人员清单";
        this.searchitem = "dq";
        this.searchitem = "zong";
        this.paramCz = true;
        this.fwdeptId = row.departmentid;
        this.dialogShow = true;
src/views/statisticalQueryManagement/businessStatisticsDetail.vue
@@ -24,7 +24,8 @@
import {
  selectDis,
  selectFw,
  fwList
  fwList,
  dispatcherUnit
} from "../../api/statisticalQueryManagement/statisticalQueryManagement";
import { lazyTreeJu, lazyTrees } from "../../api/index/index";
export default {
@@ -93,6 +94,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
@@ -149,7 +151,7 @@
          {
            label: "保安公司名称",
            width: 300,
            prop: "tenantName",
            prop: "deptName",
            display: false
          },
          {
@@ -163,8 +165,8 @@
            display: false
          },
          {
            label: "保安员姓名",
            prop: "realName",
            label: "保安员人数",
            prop: "num",
            display: false
          },
          // {
@@ -284,7 +286,8 @@
      param["current"] = page.currentPage;
      param["size"] = page.pageSize;
      param["name"] = params["name"] || "";
      fwList(param).then(res => {
      dispatcherUnit(param).then(res => {
        const data = res.data.data;
        this.page.total = data.total;
        this.tableData = data.records;
src/views/statisticalQueryManagement/businessStatisticsFwdq.vue
@@ -64,6 +64,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
src/views/statisticalQueryManagement/businessStatisticsPq.vue
@@ -64,6 +64,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
@@ -99,13 +100,13 @@
          {
            label: "保安公司名称",
            prop: "dispatcherCompany",
            prop: "deptName",
            width: 300,
            display: false
          },
          {
            label: "服务单位名称",
            prop: "deptName",
            prop: "dispatcherCompany",
            width: 300,
            props: {
              label: "name",
src/views/statisticalQueryManagement/companyDetails.vue
@@ -89,6 +89,7 @@
        searchShow: true,
        searchMenuSpan: 10,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
src/views/statisticalQueryManagement/securityGuardDetail.vue
@@ -89,6 +89,7 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        viewBtn: true,
        dialogClickModal: false,
        column: [
@@ -224,15 +225,15 @@
            dicData: [
              {
                label: "是",
                value: "0"
              },
              {
                label: "否",
                value: "1"
              },
              {
                label: "已吊销",
                label: "否",
                value: "2"
              },
              {
                label: "已吊销",
                value: "3"
              }
            ],
            slot: true,
@@ -287,7 +288,7 @@
      param["status"] = params["status"] || "";
      param["deptId"] = this.fwdeptId;
      if (this.paramCz) {
        param["hold"] = "0";
        param["hold"] = '1';
      } else {
        param["hold"] = params["hold"] || "";
      }
src/views/statisticalQueryManagement/securityGuardStatistics.vue
@@ -106,7 +106,7 @@
      tableOption: {
        align: "center",
        viewBtn: true,
        // excelBtn: true,
        excelBtn: true,
        delBtn: false,
        editBtn: false,
        addBtn: false,
@@ -121,31 +121,9 @@
        searchShow: true,
        searchMenuSpan: 6,
        index: true,
        indexLabel:'序号',
        dialogClickModal: false,
        column: [
          {
            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",
              },
            ],
          },
          {
            label: "公司名称",
            prop: "deptname",
@@ -208,6 +186,29 @@
                trigger: "blur"
              }
            ]
          },
          {
            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",
              },
            ],
          },
          {
            label: "保安员总数",
@@ -368,7 +369,7 @@
    handleRowClick(row, column, cell, event) {
      if (column.label == "保安员总数") {
        this.dialogTitle = "保安员明细";
        this.fwdeptId = row.dept_id;
        this.fwdeptId = row.departmentid;
        this.dialogShow = true;
      } else {
        this.dialogShow = false;
vue.config.js
@@ -32,8 +32,8 @@
                // target: 'http://2h3f861221.wicp.vip:58646',
                // 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://192.168.0.110:82',
                target: 'http://s16s652780.51mypc.cn/api',
                // 服务器使用
                // target: 'http://localhost:82',
                ws: true,