liuyg
2021-11-19 0855c8cef2f2f414cf9a84285421fdcdd5bc6310
Merge branch 'master' of http://192.168.0.105:10010/r/zhba_regulatory
28 files modified
4 files added
19681 ■■■■■ 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 593 ●●●● 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 4 ●●●● 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 1331 ●●●● patch | view | raw | blame | history
src/views/securityCompany/computents/service.vue 29 ●●●●● patch | view | raw | blame | history
src/views/securityCompany/computents/staff.vue 5 ●●●● patch | view | raw | blame | history
src/views/securityCompany/dispatch.vue 5 ●●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicAnalysis.vue 99 ●●●● 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";
@@ -17,28 +18,28 @@
import OlMap from "ol/Map.js";
import {
  // eslint-disable-next-line no-unused-vars
  defaults as OlControlDefaults,
  defaults,
  // 全屏控件
  FullScreen,
  // 比例尺控件
  ScaleLine,
  // 缩放滚动条控件
  // eslint-disable-next-line no-unused-vars
  ZoomSlider,
  // 鼠标位置控件
  // eslint-disable-next-line no-unused-vars
  MousePosition,
  // -地图属性控件
  Attribution,
  // 鹰眼控件
  // eslint-disable-next-line no-unused-vars
  OverviewMap,
  // 缩放到范围控件
  // eslint-disable-next-line no-unused-vars
  ZoomToExtent,
  Rotate,
    // eslint-disable-next-line no-unused-vars
    defaults as OlControlDefaults,
    defaults,
    // 全屏控件
    FullScreen,
    // 比例尺控件
    ScaleLine,
    // 缩放滚动条控件
    // eslint-disable-next-line no-unused-vars
    ZoomSlider,
    // 鼠标位置控件
    // eslint-disable-next-line no-unused-vars
    MousePosition,
    // -地图属性控件
    Attribution,
    // 鹰眼控件
    // eslint-disable-next-line no-unused-vars
    OverviewMap,
    // 缩放到范围控件
    // eslint-disable-next-line no-unused-vars
    ZoomToExtent,
    Rotate,
} from "ol/control.js";
import VectorLayer from "ol/layer/Vector";
@@ -60,283 +61,283 @@
import start from "@/assets/img/start.png";
export default {
  name: "Map",
  data() {
    return {
      gunAddlayer: new VectorLayer({
        // 图标图层
        zIndex: 22,
        source: new VectorSource(),
      }),
      peopleAddlayer: new VectorLayer({
        // 图标图层
        zIndex: 22,
        source: new VectorSource(),
      }),
      carAddlayer: new VectorLayer({
        // 图标图层
        zIndex: 22,
        source: new VectorSource(),
      }),
      peopleLineAddlayer: new VectorLayer({
        // 图标图层
        zIndex: 22,
        source: new VectorSource(),
      }),
      startPoint: new VectorLayer({
        // 图标图层
        zIndex: 22,
        source: new VectorSource(),
      }),
      ol2d: null,
    };
  },
  mounted() {
    //建立地图
    this.createmap(1); //1为本地
    // this.createmap(); //空或其他是外网
    this.parentParameter();
    window.ol2d = this.ol2d;
    var view = this.ol2d.getView();
    view.setCenter([115.85883507433789, 28.708432053474827]);
    view.setZoom(13);
    this.ol2d.addLayer(this.gunAddlayer);
    this.ol2d.addLayer(this.peopleAddlayer);
    this.ol2d.addLayer(this.carAddlayer);
    this.ol2d.addLayer(this.peopleLineAddlayer);
    this.ol2d.addLayer(this.startPoint);
  },
  methods: {
    createmap(val) {
      if (val == 1) {
        // 本地开发使用;
        this.ol2d = new OlMap({
          layers: [
            new OlLayerTile({
              zIndex: 4,
              title: "影像",
              source: new XYZ({
                url: "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", // 行政区划
              }),
    name: "Map",
    data () {
        return {
            gunAddlayer: new VectorLayer({
                // 图标图层
                zIndex: 22,
                source: new VectorSource(),
            }),
            // ,
            // new OlLayerTile({
            //     zIndex: 5,
            //     title: '道路+中文注记',
            //     source: new XYZ({
            //         url: 'http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0' // 注记
            //     })
            // })
          ],
          // 注意地图控件的写法
          controls: defaults().extend([
            new FullScreen(),
            new ScaleLine(),
            new MousePosition(),
            new Rotate(),
            new Attribution(),
          ]),
          target: "track_map",
          view: new OlView({
            center: [0, 0],
            zoom: 2,
            projection: "EPSG:4326",
          }),
        });
        var projection = getProjection("EPSG:4326");
        var projectionExtent = projection.getExtent();
        var size = getWidth(projectionExtent) / 256;
        var resolutions = [];
        for (var z = 2; z < 19; ++z) {
          //计算比例尺
          resolutions[z] = size / Math.pow(2, z);
        }
      } else {
        // 正式服务器上使用
        this.ol2d = new OlMap({
          layers: [
            new OlLayerTile({
              //矢量地图
            peopleAddlayer: new VectorLayer({
                // 图标图层
                zIndex: 22,
                source: new VectorSource(),
            }),
            carAddlayer: new VectorLayer({
                // 图标图层
                zIndex: 22,
                source: new VectorSource(),
            }),
            peopleLineAddlayer: new VectorLayer({
                // 图标图层
                zIndex: 22,
                source: new VectorSource(),
            }),
            startPoint: new VectorLayer({
                // 图标图层
                zIndex: 22,
                source: new VectorSource(),
            }),
            ol2d: null,
        };
    },
    mounted () {
        //建立地图
        this.createmap(1); //1为本地
              source: new WMTS({
                url: "http://47.49.21.207:7001/PGIS_S_TileMapServer/Maps/YX",
                layer: "JX14YGJCIMGL7_L14",
                style: "default",
                matrixSet: "JX14YGJCIMGL7_L14",
                format: "image/png",
                wrapX: true,
                tileGrid: new WMTSTileGrid({
                  origin: getTopLeft(projectionExtent),
                  //resolutions: res.slice(0, 15),
                  resolutions: resolutions,
                  matrixIds: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
        this.parentParameter();
        window.ol2d = this.ol2d;
        var view = this.ol2d.getView();
        view.setCenter([115.85883507433789, 28.708432053474827]);
        view.setZoom(13);
        this.ol2d.addLayer(this.gunAddlayer);
        this.ol2d.addLayer(this.peopleAddlayer);
        this.ol2d.addLayer(this.carAddlayer);
        this.ol2d.addLayer(this.peopleLineAddlayer);
        this.ol2d.addLayer(this.startPoint);
    },
    methods: {
        createmap (val) {
            if (val == 1) {
                // 本地开发使用;
                this.ol2d = new OlMap({
                    layers: [
                        new OlLayerTile({
                            zIndex: 4,
                            title: "影像",
                            source: new XYZ({
                                url: "https://webmap-tile.sf-express.com/MapTileService/rt?fetchtype=static&x={x}&y={y}&z={z}&project=sfmap&pic_size=256&pic_type=png8&data_name=361100&data_format=merged-dat&data_type=normal", // 行政区划
                            }),
                        }),
                        // ,
                        // new OlLayerTile({
                        //     zIndex: 5,
                        //     title: '道路+中文注记',
                        //     source: new XYZ({
                        //         url: 'http://t3.tianditu.com/DataServer?T=cta_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0' // 注记
                        //     })
                        // })
                    ],
                    // 注意地图控件的写法
                    controls: defaults().extend([
                        new FullScreen(),
                        new ScaleLine(),
                        new MousePosition(),
                        new Rotate(),
                        new Attribution(),
                    ]),
                    target: "track_map",
                    view: new OlView({
                        center: [0, 0],
                        zoom: 2,
                        projection: "EPSG:4326",
                    }),
                });
            } else {
                var projection = getProjection("EPSG:4326");
                var projectionExtent = projection.getExtent();
                var size = getWidth(projectionExtent) / 256;
                var resolutions = [];
                for (var z = 2; z < 19; ++z) {
                    //计算比例尺
                    resolutions[z] = size / Math.pow(2, z);
                }
                // 正式服务器上使用
                this.ol2d = new OlMap({
                    layers: [
                        new OlLayerTile({
                            //矢量地图
                            source: new WMTS({
                                url: "http://47.49.21.207:7001/PGIS_S_TileMapServer/Maps/YX",
                                layer: "JX14YGJCIMGL7_L14",
                                style: "default",
                                matrixSet: "JX14YGJCIMGL7_L14",
                                format: "image/png",
                                wrapX: true,
                                tileGrid: new WMTSTileGrid({
                                    origin: getTopLeft(projectionExtent),
                                    //resolutions: res.slice(0, 15),
                                    resolutions: resolutions,
                                    matrixIds: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14],
                                }),
                            }),
                        }),
                    ],
                    // 注意地图控件的写法
                    controls: defaults().extend([
                        new FullScreen(),
                        new ScaleLine(),
                        // new MousePosition(),
                        new Rotate(),
                        new Attribution(),
                    ]),
                    target: "track_map",
                    view: new OlView({
                        center: [115.85883507433789, 28.708432053474827],
                        projection: projection,
                        zoom: 11,
                        maxZoom: 15,
                        minZoom: 1,
                    }),
                });
            }
        },
        addEntitys (item, icon, scale, name, type) {
            this[type].getSource().clear();
            const iconFeature = new Feature({
                geometry: new Point([Number(item.LGTD), Number(item.LTTD)]),
                name: name,
                attributes: item,
            });
            const iconStyle = new Style({
                // text: new Text({ // 字体, 未成功, 浪费许多时间
                //   font: 'Normal ' + 12 + 'px ' + 'iconfont',
                //   text: "\e645",
                //   fill: new Fill({ color: "green" }),
                // }),
                image: new Icon({
                    scale: scale,
                    opacity: 1,
                    src: icon,
                    // src: require('../../assets/Mark.png')
                }),
              }),
            }),
          ],
          // 注意地图控件的写法
          controls: defaults().extend([
            new FullScreen(),
            new ScaleLine(),
            // new MousePosition(),
            new Rotate(),
            new Attribution(),
          ]),
          target: "track_map",
          view: new OlView({
            center: [115.85883507433789, 28.708432053474827],
            projection: projection,
            zoom: 11,
            maxZoom: 15,
            minZoom: 1,
          }),
        });
      }
                // new CircleStyle({ // 普通样式
                //   radius: 6,
                //   fill: new Fill({
                //     color: 'rgba(200, 155, 155, 0.8)'
                //   }),
                //   stroke: new Stroke({
                //     color: 'black',
                //     width: 0.3,
                //   })
                // }),
            });
            iconFeature.setStyle(iconStyle);
            this[type].getSource().addFeature(iconFeature);
            this.flyTo(Number(item.LGTD), Number(item.LTTD), 13);
        },
        addLines (arr) {
            this.addEntity(arr[0][0], arr[0][1]);
            this.peopleLineAddlayer.getSource().clear();
            // 点坐标
            var lineCoords = arr; // 线里点的集合
            // 要素
            // var lineCoords = [[featureInfo.lineString[0][0],featureInfo.lineString[0][0]],[featureInfo.lineString(0),featureInfo.lineString(0)]];
            var feature_LineString = new Feature({
                geometry: new LineString(lineCoords),
            });
            feature_LineString.setStyle(
                new Style({
                    //填充色
                    fill: new Fill({
                        color: "rgba(255, 255, 255, 0.2)",
                    }),
                    //边线颜色
                    stroke: new Stroke({
                        color: "rgb(252, 94, 32)",
                        width: 5,
                    }),
                })
            );
            this.peopleLineAddlayer.getSource().addFeature(feature_LineString);
            this.flyTo(
                arr[Math.ceil(arr.length / 2)][0],
                arr[Math.ceil(arr.length / 2)][1],
                13
            );
        },
        addEntity (LGTD, LTTD) {
            this.startPoint.getSource().clear();
            const iconFeature = new Feature({
                geometry: new Point([LGTD, LTTD]),
                name: "起始点",
            });
            const iconStyle = new Style({
                // text: new Text({ // 字体, 未成功, 浪费许多时间
                //   font: 'Normal ' + 12 + 'px ' + 'iconfont',
                //   text: "\e645",
                //   fill: new Fill({ color: "green" }),
                // }),
                image: new Icon({
                    anchor: [0.5, 170], //锚点
                    anchorOrigin: "top-left", //锚点源
                    anchorXUnits: "fraction", //锚点X值单位
                    anchorYUnits: "pixels", //锚点Y值单位
                    offsetOrigin: "top-left",
                    scale: 0.2,
                    opacity: 1,
                    src: start,
                    // src: require('../../assets/Mark.png')
                }),
                // new CircleStyle({ // 普通样式
                //   radius: 6,
                //   fill: new Fill({
                //     color: 'rgba(200, 155, 155, 0.8)'
                //   }),
                //   stroke: new Stroke({
                //     color: 'black',
                //     width: 0.3,
                //   })
                // }),
            });
            iconFeature.setStyle(iconStyle);
            this.startPoint.getSource().addFeature(iconFeature);
        },
        clearLine () {
            this.peopleLineAddlayer.getSource().clear();
            this.startPoint.getSource().clear();
        },
        flyTo (lgtd, lttd, size) {
            var view = this.ol2d.getView();
            view.setCenter([lgtd, lttd]);
            view.setZoom(size);
        },
        parentParameter () {
            this.$emit("childParameter", this.ol2d);
        },
    },
    addEntitys(item, icon, scale, name, type) {
      this[type].getSource().clear();
      const iconFeature = new Feature({
        geometry: new Point([Number(item.LGTD), Number(item.LTTD)]),
        name: name,
        attributes: item,
      });
      const iconStyle = new Style({
        // text: new Text({ // 字体, 未成功, 浪费许多时间
        //   font: 'Normal ' + 12 + 'px ' + 'iconfont',
        //   text: "\e645",
        //   fill: new Fill({ color: "green" }),
        // }),
        image: new Icon({
          scale: scale,
          opacity: 1,
          src: icon,
          // src: require('../../assets/Mark.png')
        }),
        // new CircleStyle({ // 普通样式
        //   radius: 6,
        //   fill: new Fill({
        //     color: 'rgba(200, 155, 155, 0.8)'
        //   }),
        //   stroke: new Stroke({
        //     color: 'black',
        //     width: 0.3,
        //   })
        // }),
      });
      iconFeature.setStyle(iconStyle);
      this[type].getSource().addFeature(iconFeature);
      this.flyTo(Number(item.LGTD), Number(item.LTTD), 13);
    },
    addLines(arr) {
      this.addEntity(arr[0][0], arr[0][1]);
      this.peopleLineAddlayer.getSource().clear();
      // 点坐标
      var lineCoords = arr; // 线里点的集合
      // 要素
      // var lineCoords = [[featureInfo.lineString[0][0],featureInfo.lineString[0][0]],[featureInfo.lineString(0),featureInfo.lineString(0)]];
      var feature_LineString = new Feature({
        geometry: new LineString(lineCoords),
      });
      feature_LineString.setStyle(
        new Style({
          //填充色
          fill: new Fill({
            color: "rgba(255, 255, 255, 0.2)",
          }),
          //边线颜色
          stroke: new Stroke({
            color: "rgb(252, 94, 32)",
            width: 5,
          }),
        })
      );
      this.peopleLineAddlayer.getSource().addFeature(feature_LineString);
      this.flyTo(
        arr[Math.ceil(arr.length / 2)][0],
        arr[Math.ceil(arr.length / 2)][1],
        13
      );
    },
    addEntity(LGTD, LTTD) {
      this.startPoint.getSource().clear();
      const iconFeature = new Feature({
        geometry: new Point([LGTD, LTTD]),
        name: "起始点",
      });
      const iconStyle = new Style({
        // text: new Text({ // 字体, 未成功, 浪费许多时间
        //   font: 'Normal ' + 12 + 'px ' + 'iconfont',
        //   text: "\e645",
        //   fill: new Fill({ color: "green" }),
        // }),
        image: new Icon({
          anchor: [0.5, 170], //锚点
          anchorOrigin: "top-left", //锚点源
          anchorXUnits: "fraction", //锚点X值单位
          anchorYUnits: "pixels", //锚点Y值单位
          offsetOrigin: "top-left",
          scale: 0.2,
          opacity: 1,
          src: start,
          // src: require('../../assets/Mark.png')
        }),
        // new CircleStyle({ // 普通样式
        //   radius: 6,
        //   fill: new Fill({
        //     color: 'rgba(200, 155, 155, 0.8)'
        //   }),
        //   stroke: new Stroke({
        //     color: 'black',
        //     width: 0.3,
        //   })
        // }),
      });
      iconFeature.setStyle(iconStyle);
      this.startPoint.getSource().addFeature(iconFeature);
    },
    clearLine() {
      this.peopleLineAddlayer.getSource().clear();
      this.startPoint.getSource().clear();
    },
    flyTo(lgtd, lttd, size) {
      var view = this.ol2d.getView();
      view.setCenter([lgtd, lttd]);
      view.setZoom(size);
    },
    parentParameter() {
      this.$emit("childParameter", this.ol2d);
    },
  },
};
</script>
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>
@@ -395,7 +395,7 @@
                            "peopleAddlayer"
                        );
                    })
                }
            });
        },
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,120 +1,103 @@
/*
 * @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>
  <el-row class="morpheus-box">
    <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"
                label-position="right"
                size="mini"
                label-width="100px"
              >
                <el-row>
                  <el-col span="12">
                    <el-form-item label="公司名称">
                      <el-input
                        disabled="true"
                        v-model="form.enterprisename"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="法定代表人">
                      <el-input
                        disabled="true"
                        v-model="form.representative"
                        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"
                        v-model="form.address"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
    <el-row class="morpheus-box">
        <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"
                                     label-position="right"
                                     size="mini"
                                     label-width="100px">
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="公司名称">
                                            <el-input disabled="true"
                                                      v-model="form.enterprisename"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="法定代表人">
                                            <el-input disabled="true"
                                                      v-model="form.representative"
                                                      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"
                                                      v-model="form.address"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                <el-row>
                  <el-col span="12">
                    <el-form-item label="所属辖区">
                      <el-input
                        disabled="true"
                        v-model="jurisdictionSee"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="所属行业">
                      <el-input
                        disabled="true"
                        v-model="form.industry"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="所属辖区">
                                            <el-input disabled="true"
                                                      v-model="jurisdictionSee"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="所属行业">
                                            <el-input disabled="true"
                                                      v-model="form.industry"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                <el-row>
                  <el-col span="12">
                    <el-form-item label="登记机关">
                      <el-input
                        disabled="true"
                        v-model="form.registration"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="公司类型">
                      <el-input
                        disabled="true"
                        v-model="form.enterprises"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="登记机关">
                                            <el-input disabled="true"
                                                      v-model="form.registration"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="公司类型">
                                            <el-input disabled="true"
                                                      v-model="form.enterprises"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                <el-row>
                  <el-col span="24">
                    <el-form-item label="经营范围">
                      <el-input
                        type="textarea"
                        disabled="true"
                        v-model="form.business"
                        resize="none"
                        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"
                label-position="right"
                size="mini"
                label-width="100px"
              >
                <!-- <el-row>
                                <el-row>
                                    <el-col span="24">
                                        <el-form-item label="经营范围">
                                            <el-input type="textarea"
                                                      disabled="true"
                                                      v-model="form.business"
                                                      resize="none"
                                                      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"
                                     label-position="right"
                                     size="mini"
                                     label-width="100px">
                                <!-- <el-row>
                  <el-col span="12">
                    <el-form-item label="公司名称">
                      <el-input
@@ -135,30 +118,26 @@
                  </el-col>
                </el-row> -->
                <el-row>
                  <el-col span="12">
                    <el-form-item label="组织机构代码">
                      <el-input
                        disabled="true"
                        v-model="form.organizationcode"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                                <el-row>
                                    <el-col span="12">
                                        <el-form-item label="组织机构代码">
                                            <el-input disabled="true"
                                                      v-model="form.organizationcode"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                  <el-col span="12">
                    <el-form-item label="注册资金">
                      <el-input
                        disabled="true"
                        v-model="form.registeredcapital"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                                    <el-col span="12">
                                        <el-form-item label="注册资金">
                                            <el-input disabled="true"
                                                      v-model="form.registeredcapital"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                <el-row>
                  <!-- <el-col span="12">
                                <el-row>
                                    <!-- <el-col span="12">
                    <el-form-item label="实缴资金">
                      <el-input
                        disabled="true"
@@ -167,27 +146,23 @@
                      ></el-input>
                    </el-form-item>
                  </el-col> -->
                  <el-col span="12">
                    <el-form-item label="注册时间">
                      <el-input
                        disabled="true"
                        v-model="form.establishtime"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                  <el-col span="12">
                    <el-form-item label="工商注册号">
                      <el-input
                        disabled="true"
                        v-model="form.registrationnumber"
                        autocomplete="off"
                      ></el-input>
                    </el-form-item>
                  </el-col>
                </el-row>
                                    <el-col span="12">
                                        <el-form-item label="注册时间">
                                            <el-input disabled="true"
                                                      v-model="form.establishtime"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                    <el-col span="12">
                                        <el-form-item label="工商注册号">
                                            <el-input disabled="true"
                                                      v-model="form.registrationnumber"
                                                      autocomplete="off"></el-input>
                                        </el-form-item>
                                    </el-col>
                                </el-row>
                <!-- <el-row>
                                <!-- <el-row>
                  <el-col span="12">
                    <el-form-item label="工商注册号">
                      <el-input
@@ -198,111 +173,119 @@
                    </el-form-item>
                  </el-col>
                </el-row> -->
              </el-form>
            </el-tab-pane>
            <el-tab-pane label="投资人信息" name="third">
              <avue-crud
                class="company-box"
                :option="investorOption"
                :search.sync="investorSearch"
                :table-loading="investorLoading"
                :data="investorData"
                ref="investorCrud"
                :page.sync="investorPage"
                @selection-change="investorSelectionChange"
                @search-change="investorSearchChange"
                @search-reset="investorSearchReset"
                @current-change="investorCurrentChange"
                @size-change="investorSizeChange"
                @refresh-change="investorSizerefresh"
                @on-load="investorOnLoad"
              >
              </avue-crud>
            </el-tab-pane>
            <el-tab-pane label="管理人信息" name="fourth">
              <avue-crud
                class="company-box"
                :option="manageOption"
                :search.sync="manageSearch"
                :table-loading="manageLoading"
                :data="manageData"
                ref="manageCrud"
                :page.sync="managePage"
                @selection-change="manageSelectionChange"
                @search-change="manageSearchChange"
                @search-reset="manageSearchReset"
                @current-change="manageCurrentChange"
                @size-change="manageSizeChange"
                @refresh-change="manageSizerefresh"
                @on-load="manageOnLoad"
              >
              </avue-crud>
            </el-tab-pane>
            <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"
                v-if="seestaff"
                :refresh="seestaff3"
              ></service>
            </el-tab-pane>
            <!-- <el-tab-pane label="其他附件" name="eighth">
                            </el-form>
                        </el-tab-pane>
                        <el-tab-pane label="投资人信息"
                                     name="third">
                            <avue-crud class="company-box"
                                       :option="investorOption"
                                       :search.sync="investorSearch"
                                       :table-loading="investorLoading"
                                       :data="investorData"
                                       ref="investorCrud"
                                       :page.sync="investorPage"
                                       @selection-change="investorSelectionChange"
                                       @search-change="investorSearchChange"
                                       @search-reset="investorSearchReset"
                                       @current-change="investorCurrentChange"
                                       @size-change="investorSizeChange"
                                       @refresh-change="investorSizerefresh"
                                       @on-load="investorOnLoad">
                            </avue-crud>
                        </el-tab-pane>
                        <el-tab-pane label="管理人信息"
                                     name="fourth">
                            <avue-crud class="company-box"
                                       :option="manageOption"
                                       :search.sync="manageSearch"
                                       :table-loading="manageLoading"
                                       :data="manageData"
                                       ref="manageCrud"
                                       :page.sync="managePage"
                                       @selection-change="manageSelectionChange"
                                       @search-change="manageSearchChange"
                                       @search-reset="manageSearchReset"
                                       @current-change="manageCurrentChange"
                                       @size-change="manageSizeChange"
                                       @refresh-change="manageSizerefresh"
                                       @on-load="manageOnLoad">
                            </avue-crud>
                        </el-tab-pane>
                        <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"
                                     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">
              <div class="businessLicenses">
                <el-container>
                  <el-main>
                    <div class="title" v-if="businessLicenseUrl == ''">
                      未上传营业执照
                    </div>
                    <img
                      class="businessLicensess"
                      :src="businessLicenseUrl"
                      alt=""
                      v-else
                    />
                  </el-main>
                </el-container>
              </div>
            </el-tab-pane>
            <el-tab-pane label="许可证" name="tenth">
              <div class="businessLicenses">
                <el-container>
                  <el-main>
                    <div class="title" v-if="licenceUrl == ''">
                      未上传许可证
                    </div>
                    <img class="Licenses" :src="licenceUrl" alt="" v-else />
                  </el-main>
                </el-container>
              </div>
            </el-tab-pane>
          </el-tabs>
        </div>
      </el-card>
    </el-col>
  </el-row>
                        <el-tab-pane label="营业执照"
                                     name="ninth">
                            <div class="businessLicenses">
                                <el-container>
                                    <el-main>
                                        <div class="title"
                                             v-if="businessLicenseUrl == ''">
                                            未上传营业执照
                                        </div>
                                        <img class="businessLicensess"
                                             :src="businessLicenseUrl"
                                             alt=""
                                             v-else />
                                    </el-main>
                                </el-container>
                            </div>
                        </el-tab-pane>
                        <el-tab-pane label="许可证"
                                     name="tenth">
                            <div class="businessLicenses">
                                <el-container>
                                    <el-main>
                                        <div class="title"
                                             v-if="licenceUrl == ''">
                                            未上传许可证
                                        </div>
                                        <img class="Licenses"
                                             :src="licenceUrl"
                                             alt=""
                                             v-else />
                                    </el-main>
                                </el-container>
                            </div>
                        </el-tab-pane>
                    </el-tabs>
                </div>
            </el-card>
        </el-col>
    </el-row>
</template>
<script>
import {
  manifestationList,
  dispatchList,
  honorchList,
  trainList,
  examinationList,
  getInvestorList,
  getManageList,
  usejurisdiction,
    manifestationList,
    dispatchList,
    honorchList,
    trainList,
    examinationList,
    getInvestorList,
    getManageList,
} from "@/api/securityCompany/companyDetails";
import equipment from "./computents/equipment.vue"; //装备管理
import staff from "./computents/staff.vue"; //保安员信息
@@ -313,462 +296,458 @@
import { getList } from "@/api/securityCompany/security"; //保安公司
export default {
  components: {
    equipment: equipment,
    staff: staff,
    punish: punish,
    service: service,
    // enclosure: enclosure,
  },
  data() {
    var w = 160,
      s = 12;
    return {
      businessLicenseUrl: "",
      licenceUrl: "",
    components: {
        equipment: equipment,
        staff: staff,
        punish: punish,
        service: service,
        // enclosure: enclosure,
    },
    data () {
        var w = 160,
            s = 12;
        return {
            businessLicenseUrl: "",
            licenceUrl: "",
      activeName: "first",
      form: {},
      manifestationData: [],
      dispatchData: [],
      honorchData: [],
      trainData: [],
      examinationData: [],
            activeName: "first",
            form: {},
            manifestationData: [],
            dispatchData: [],
            honorchData: [],
            trainData: [],
            examinationData: [],
      investorOption: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: false,
        addBtn: false,
        menu: false,
        selection: true,
            investorOption: {
                // 操作栏多余按钮去除
                delBtn: false,
                editBtn: false,
                addBtn: false,
                menu: false,
                selection: true,
        align: "center",
        height: "auto",
        calcHeight: 270,
        tip: false,
        searchShow: false,
        searchShowBtn: false,
        searchMenuSpan: 4,
        index: false,
        viewBtn: true,
        //dialogType: 'drawer',
        dialogClickModal: false,
        // 操作栏宽度
        menuWidth: 156,
        height: 600,
        column: [
          {
            label: "id",
            prop: "id",
            hide: true,
            addDisplay: false,
            editDisplay: false,
          },
          {
            label: "股东",
            prop: "shareholder",
            searchLabelWidth: 55,
            search: true,
            labelWidth: w,
            span: s,
          },
          {
            label: "持股比例(%)",
            prop: "shareholdingratio",
            labelWidth: w,
            span: s,
          },
          //  {
          //     label: "最终受益股份",
          //     prop: "beneficial",
          // },
          {
            label: "出资金额(万元)",
            prop: "capital",
            labelWidth: w,
            span: s,
          },
          {
            label: "出资时间",
            prop: "capitaltime",
            type: "date",
            format: "yyyy-MM-dd hh:mm:ss",
            valueFormat: "timestamp",
            labelWidth: w,
            span: s,
          },
          {
            label: "身份证",
            prop: "cardid",
            labelWidth: w,
            // span: s,
            search: true,
          },
          {
            label: "联系电话",
            prop: "cell",
            labelWidth: w,
            span: s,
          },
          {
            label: "统一社会信用代码",
            prop: "creditcode",
            hide: true,
            addDisplay: false,
            editDisplay: false,
            labelWidth: w,
            span: s,
          },
        ],
      },
      investorSearch: {},
      investorLoading: true,
      investorData: [],
      investorPage: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      investorQuery: {},
      investorSelectionList: [],
                align: "center",
                height: "auto",
                calcHeight: 270,
                tip: false,
                searchShow: false,
                searchShowBtn: false,
                searchMenuSpan: 4,
                index: false,
                viewBtn: true,
                //dialogType: 'drawer',
                dialogClickModal: false,
                // 操作栏宽度
                menuWidth: 156,
                height: 600,
                column: [
                    {
                        label: "id",
                        prop: "id",
                        hide: true,
                        addDisplay: false,
                        editDisplay: false,
                    },
                    {
                        label: "股东",
                        prop: "shareholder",
                        searchLabelWidth: 55,
                        search: true,
                        labelWidth: w,
                        span: s,
                    },
                    {
                        label: "持股比例(%)",
                        prop: "shareholdingratio",
                        labelWidth: w,
                        span: s,
                    },
                    //  {
                    //     label: "最终受益股份",
                    //     prop: "beneficial",
                    // },
                    {
                        label: "出资金额(万元)",
                        prop: "capital",
                        labelWidth: w,
                        span: s,
                    },
                    {
                        label: "出资时间",
                        prop: "capitaltime",
                        type: "date",
                        format: "yyyy-MM-dd hh:mm:ss",
                        valueFormat: "timestamp",
                        labelWidth: w,
                        span: s,
                    },
                    {
                        label: "身份证",
                        prop: "cardid",
                        labelWidth: w,
                        // span: s,
                        search: true,
                    },
                    {
                        label: "联系电话",
                        prop: "cell",
                        labelWidth: w,
                        span: s,
                    },
                    {
                        label: "统一社会信用代码",
                        prop: "creditcode",
                        hide: true,
                        addDisplay: false,
                        editDisplay: false,
                        labelWidth: w,
                        span: s,
                    },
                ],
            },
            investorSearch: {},
            investorLoading: true,
            investorData: [],
            investorPage: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            investorQuery: {},
            investorSelectionList: [],
      manageOption: {
        // 操作栏多余按钮去除
        delBtn: false,
        editBtn: false,
        addBtn: false,
        selection: true,
        searchShowBtn: false,
        menu: false,
            manageOption: {
                // 操作栏多余按钮去除
                delBtn: false,
                editBtn: false,
                addBtn: false,
                selection: true,
                searchShowBtn: false,
                menu: false,
        align: "center",
        height: "auto",
        calcHeight: 270,
        tip: false,
        searchShow: false,
        searchMenuSpan: 4,
        index: false,
        viewBtn: true,
        //dialogType: 'drawer',
        dialogClickModal: false,
        // 操作栏宽度
        menuWidth: 156,
        height: 600,
        column: [
          {
            label: "管理人姓名",
            prop: "name",
            slot: true,
            display: false,
          },
          {
            label: "职务",
            prop: "post",
            slot: true,
            display: false,
          },
          {
            label: "身份证号",
            prop: "cardid",
            slot: true,
            display: false,
          },
          {
            label: "联系电话",
            prop: "cell",
            slot: true,
            display: false,
          },
        ],
      },
      manageSearch: {},
      manageLoading: true,
      manageData: [],
      managePage: {
        pageSize: 10,
        currentPage: 1,
        total: 0,
      },
      manageQuery: {},
      manageSelectionList: [],
                align: "center",
                height: "auto",
                calcHeight: 270,
                tip: false,
                searchShow: false,
                searchMenuSpan: 4,
                index: false,
                viewBtn: true,
                //dialogType: 'drawer',
                dialogClickModal: false,
                // 操作栏宽度
                menuWidth: 156,
                height: 600,
                column: [
                    {
                        label: "管理人姓名",
                        prop: "name",
                        slot: true,
                        display: false,
                    },
                    {
                        label: "职务",
                        prop: "post",
                        slot: true,
                        display: false,
                    },
                    {
                        label: "身份证号",
                        prop: "cardid",
                        slot: true,
                        display: false,
                    },
                    {
                        label: "联系电话",
                        prop: "cell",
                        slot: true,
                        display: false,
                    },
                ],
            },
            manageSearch: {},
            manageLoading: true,
            manageData: [],
            managePage: {
                pageSize: 10,
                currentPage: 1,
                total: 0,
            },
            manageQuery: {},
            manageSelectionList: [],
      forms: {}, //防串数据
      jurisdictionSee: "", //中文辖区
            forms: {}, //防串数据
            jurisdictionSee: "", //中文辖区
      seestaff: false,
      seestaff2: false,
      seestaff3: true,
    };
  },
  created() {
    var flag = false,
      i = 0,
      ind = null,
      that = this;
            seestaff: false,
            seestaff2: false,
            seestaff3: true,
        };
    },
    created () {
        var flag = false,
            i = 0,
            ind = null,
            that = this;
    this.$store.state.tags.tagList.forEach((item, index) => {
      if (
        item.label == "保安公司详细资料" ||
        item.label == "保安公司详细信息"
      ) {
        if (flag == false) {
          ind = index;
          flag = true;
        this.$store.state.tags.tagList.forEach((item, index) => {
            if (
                item.label == "保安公司详细资料" ||
                item.label == "保安公司详细信息"
            ) {
                if (flag == false) {
                    ind = index;
                    flag = true;
                }
                i++;
            }
        });
        if (i > 1) {
            this.$store.state.tags.tagList.splice(ind, 1);
        }
        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,
        if (this.$route.query.fromSecunityGuardId) {
            var page = {
                currentPage: 1,
                pageSize: 10,
            },
                params = { departmentid: this.$route.query.fromSecunityGuardId };
            getList(page.currentPage, page.pageSize, params).then((res) => {
                that.form = res.data.data.records[0];
                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;
            });
            // })
        } else {
            this.form = this.$route.query;
            this.jurisdictionSee = this.form.$jurisdiction;
            this.forms = this.$route.query;
            this.seestaff = true;
            this.getFromData({
                currentPage: 1,
                pageSize: 10,
            });
        }
    },
    methods: {
        getFromData (page, params = {}) {
            var that = this;
            params["departmentid"] = this.forms.departmentid;
            getList(page.currentPage, page.pageSize, params).then((res) => {
                that.form = res.data.data.records[0];
                this.businessLicenseUrl = res.data.data.records[0].businessLicense;
                this.licenceUrl = res.data.data.records[0].licence;
            });
        },
        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,
      });
    }
  },
  methods: {
    getFromData(page, params = {}) {
      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;
      });
    },
    // inspects(d, val) {
    //   var a = "";
    //   var doit = (d, val) => {
    //     for (let k in d) {
    //       if (d[k].key == val) {
    //         a = d[k].title;
    //         break;
    //       } else {
    //         if (d[k].hasChildren) {
    //           doit(d[k].children, val);
    //         } else {
    //         }
    //       }
    //     }
    //   };
    //   doit(d, val);
    //   // if (a == "") {
    //   //   a = val;
    //   // }
    //   return a;
    // },
    handleClick(tab) {
      if (tab.index == 2) {
        this.investorSearchReset();
      } else if (tab.index == 3) {
        this.manageSearchReset();
      } else if (tab.index == 5) {
        this.seestaff2 = !this.seestaff2;
      } else if (tab.index == 7) {
        this.seestaff3 = !this.seestaff3;
      } else {
        this.getFromData({
          currentPage: 1,
          pageSize: 10,
        });
      }
      //  else if (tab.index == 3) {
      //   this.getHonorchData();
      // } else if (tab.index == 4) {
      //   this.getTrainData();
      // } else if (tab.index == 5) {
      //   this.getExaminationData();
      // }
      //
    },
    getManifestationData() {
      manifestationList(this.forms.cardid).then((res) => {
        this.manifestationData = res.data.data.records;
        this.manifestationData.forEach((item) => {
          item.name = this.forms.realName;
          item.time = item.time.substring(0, 10);
        });
      });
    },
    getDispatchData() {
      dispatchList(this.forms.cardid).then((res) => {
        this.dispatchData = res.data.data.records;
      });
    },
    getHonorchData() {
      honorchList(this.forms.cardid).then((res) => {
        this.honorchData = res.data.data.records;
      });
    },
    getTrainData() {
      trainList(this.forms.cardid).then((res) => {
        this.trainData = res.data.data;
        // inspects(d, val) {
        //   var a = "";
        //   var doit = (d, val) => {
        //     for (let k in d) {
        //       if (d[k].key == val) {
        //         a = d[k].title;
        //         break;
        //       } else {
        //         if (d[k].hasChildren) {
        //           doit(d[k].children, val);
        //         } else {
        //         }
        //       }
        //     }
        //   };
        //   doit(d, val);
        //   // if (a == "") {
        //   //   a = val;
        //   // }
        //   return a;
        // },
        handleClick (tab) {
            if (tab.index == 2) {
                this.investorSearchReset();
            } else if (tab.index == 3) {
                this.manageSearchReset();
            } else if (tab.index == 5) {
                this.seestaff2 = !this.seestaff2;
            } else if (tab.index == 7) {
                this.seestaff3 = !this.seestaff3;
            } else {
                this.getFromData({
                    currentPage: 1,
                    pageSize: 10,
                });
            }
            //  else if (tab.index == 3) {
            //   this.getHonorchData();
            // } else if (tab.index == 4) {
            //   this.getTrainData();
            // } else if (tab.index == 5) {
            //   this.getExaminationData();
            // }
            //
        },
        getManifestationData () {
            manifestationList(this.forms.cardid).then((res) => {
                this.manifestationData = res.data.data.records;
                this.manifestationData.forEach((item) => {
                    item.name = this.forms.realName;
                    item.time = item.time.substring(0, 10);
                });
            });
        },
        getDispatchData () {
            dispatchList(this.forms.cardid).then((res) => {
                this.dispatchData = res.data.data.records;
            });
        },
        getHonorchData () {
            honorchList(this.forms.cardid).then((res) => {
                this.honorchData = res.data.data.records;
            });
        },
        getTrainData () {
            trainList(this.forms.cardid).then((res) => {
                this.trainData = res.data.data;
        this.trainData.forEach((item) => {
          if (item.sex == 1) {
            item.sex = "男";
          } else {
            item.sex = "女";
          }
        });
      });
    },
    getExaminationData() {
      examinationList(this.forms.cardid).then((res) => {
        this.examinationData = res.data.data;
                this.trainData.forEach((item) => {
                    if (item.sex == 1) {
                        item.sex = "男";
                    } else {
                        item.sex = "女";
                    }
                });
            });
        },
        getExaminationData () {
            examinationList(this.forms.cardid).then((res) => {
                this.examinationData = res.data.data;
        this.examinationData.forEach((item) => {
          if (item.stat == 1) {
            item.stat = "不通过";
          } else {
            item.stat = "通过";
          }
        });
      });
    },
    investorSizerefresh() {
      this.investorOnLoad(this.investorPage, this.investorQuery);
    },
    investorOnLoad(page, params = {}) {
      this.investorLoading = true;
      params["deptId"] = this.form.departmentid;
      getInvestorList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.investorQuery)
      ).then((res) => {
        const data = res.data.data;
                this.examinationData.forEach((item) => {
                    if (item.stat == 1) {
                        item.stat = "不通过";
                    } else {
                        item.stat = "通过";
                    }
                });
            });
        },
        investorSizerefresh () {
            this.investorOnLoad(this.investorPage, this.investorQuery);
        },
        investorOnLoad (page, params = {}) {
            this.investorLoading = true;
            params["deptId"] = this.form.departmentid;
            getInvestorList(
                page.currentPage,
                page.pageSize,
                Object.assign(params, this.investorQuery)
            ).then((res) => {
                const data = res.data.data;
        this.investorPage.total = data.total;
        this.investorData = data.records;
        this.investorLoading = false;
        this.$refs.investorCrud.refreshTable();
        this.$refs.investorCrud.doLayout();
        this.investorSelectionClear();
      });
    },
    investorSelectionClear() {
      this.investorSelectionList = [];
      this.$refs.investorCrud.toggleSelection();
    },
    investorSelectionChange(list) {
      this.investorSelectionList = list;
    },
    investorSearchChange(params, done) {
      this.investorQuery = params;
      this.investorPage.currentPage = 1;
      this.investorOnLoad(this.investorPage, params);
      done();
    },
    investorSearchReset() {
      this.investorQuery = {};
      this.investorOnLoad(this.investorPage);
    },
    investorCurrentChange(currentPage) {
      this.investorPage.currentPage = currentPage;
    },
    investorSizeChange(pageSize) {
      this.investorPage.pageSize = pageSize;
    },
    manageSizerefresh() {
      this.manageOnLoad(this.managePage, this.manageQuery);
    },
    manageOnLoad(page, params = {}) {
      this.manageLoading = true;
      params["deptId"] = this.form.departmentid;
      getManageList(
        page.currentPage,
        page.pageSize,
        Object.assign(params, this.manageQuery)
      ).then((res) => {
        const data = res.data.data;
                this.investorPage.total = data.total;
                this.investorData = data.records;
                this.investorLoading = false;
                this.$refs.investorCrud.refreshTable();
                this.$refs.investorCrud.doLayout();
                this.investorSelectionClear();
            });
        },
        investorSelectionClear () {
            this.investorSelectionList = [];
            this.$refs.investorCrud.toggleSelection();
        },
        investorSelectionChange (list) {
            this.investorSelectionList = list;
        },
        investorSearchChange (params, done) {
            this.investorQuery = params;
            this.investorPage.currentPage = 1;
            this.investorOnLoad(this.investorPage, params);
            done();
        },
        investorSearchReset () {
            this.investorQuery = {};
            this.investorOnLoad(this.investorPage);
        },
        investorCurrentChange (currentPage) {
            this.investorPage.currentPage = currentPage;
        },
        investorSizeChange (pageSize) {
            this.investorPage.pageSize = pageSize;
        },
        manageSizerefresh () {
            this.manageOnLoad(this.managePage, this.manageQuery);
        },
        manageOnLoad (page, params = {}) {
            this.manageLoading = true;
            params["deptId"] = this.form.departmentid;
            getManageList(
                page.currentPage,
                page.pageSize,
                Object.assign(params, this.manageQuery)
            ).then((res) => {
                const data = res.data.data;
        this.managePage.total = data.total;
        this.manageData = data.records;
        this.manageLoading = false;
                this.managePage.total = data.total;
                this.manageData = data.records;
                this.manageLoading = false;
        this.$refs.manageCrud.refreshTable();
        this.$refs.manageCrud.doLayout();
                this.$refs.manageCrud.refreshTable();
                this.$refs.manageCrud.doLayout();
        this.manageSelectionClear();
      });
                this.manageSelectionClear();
            });
        },
        manageSelectionClear () {
            this.manageSelectionList = [];
            this.$refs.manageCrud.toggleSelection();
        },
        manageSelectionChange (list) {
            this.manageSelectionList = list;
        },
        manageSearchChange (params, done) {
            this.manageQuery = params;
            this.managePage.currentPage = 1;
            this.manageOnLoad(this.managePage, params);
            done();
        },
        manageSearchReset () {
            this.manageQuery = {};
            this.manageOnLoad(this.managePage);
        },
        manageCurrentChange (currentPage) {
            this.managePage.currentPage = currentPage;
        },
        manageSizeChange (pageSize) {
            this.managePage.pageSize = pageSize;
        },
    },
    manageSelectionClear() {
      this.manageSelectionList = [];
      this.$refs.manageCrud.toggleSelection();
    },
    manageSelectionChange(list) {
      this.manageSelectionList = list;
    },
    manageSearchChange(params, done) {
      this.manageQuery = params;
      this.managePage.currentPage = 1;
      this.manageOnLoad(this.managePage, params);
      done();
    },
    manageSearchReset() {
      this.manageQuery = {};
      this.manageOnLoad(this.managePage);
    },
    manageCurrentChange(currentPage) {
      this.managePage.currentPage = currentPage;
    },
    manageSizeChange(pageSize) {
      this.managePage.pageSize = pageSize;
    },
  },
};
</script>
<style lang="scss" scoped>
.businessLicenses {
  padding-top: 15px;
  background-color: transparent;
    padding-top: 15px;
    background-color: transparent;
}
.el-main {
  background-color: transparent;
  color: #333;
  text-align: center;
  // position: relative;
  // right: 5%;
    background-color: transparent;
    color: #333;
    text-align: center;
    // position: relative;
    // right: 5%;
}
.businessLicensess {
  height: 680px;
  width: 450px;
    height: 680px;
    width: 450px;
}
.Licenses {
  height: 680px;
  width: 1048px;
    height: 680px;
    width: 1048px;
}
.title {
  color: #fff;
    color: #fff;
}
</style>
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();
@@ -392,4 +367,4 @@
</script>
<style>
</style>
</style>
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();
@@ -285,4 +282,4 @@
</script>
<style>
</style>
</style>
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">
              <span>社保缴纳总额(元)</span>
              <span>{{ socialSecurity.money }}</span>
              <span>较上月增加{{ socialSecurity.addMoney }}元</span>
              <template v-if="socialSecurity.money / 10000 > 1">
                <span>社保缴纳总额(万元)</span>
                <span>{{ (socialSecurity.money / 10000).toFixed(0) }}</span>
              </template>
              <template v-else>
                <span>社保缴纳总额(元)</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,