liuyg
2021-09-16 22bbdc4cf63f0c82cafd445bc475e2128fcd43c3
Merge branch 'master' of http://192.168.0.105:10010/r/zhba_regulatory
4 files modified
277 ■■■■ changed files
src/views/home/index.vue 181 ●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicAnalysis.vue 37 ●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/operationAnalysis.vue 55 ●●●● patch | view | raw | blame | history
vue.config.js 4 ●●●● patch | view | raw | blame | history
src/views/home/index.vue
@@ -235,30 +235,16 @@
          <div class="title-pane1">
            <img src="../../../public/img/bajgxt/icon2.png" />
            <span>保安员预警统计</span>
            <!-- <el-select v-model="value1" @change="companyWarning">
              <el-option
                v-for="item in options1"
                :key="item.id"
                :label="item.title"
                :value="item.value"
              ></el-option>
            </el-select> -->
            <el-select
              ref="treeForm1"
              v-model="node1.title"
              placeholder="请选择"
            >
              <el-option style="height: auto" :value="node1">
                <el-tree
                  :data="options1"
            <avue-input-tree
                  default-expand-all
                  node-key="id"
                  @node-click="handleNodeClick1"
              v-model="value1"
              placeholder="请选择内容"
              type="tree"
              :dic="options1"
                  :props="props"
                >
                </el-tree>
              </el-option>
            </el-select>
              @change="handleNodeClick1"
            ></avue-input-tree>
          </div>
          <div class="right-content" v-loading="right1loading">
            <span
@@ -308,19 +294,8 @@
          <div class="title-pane1">
            <img src="../../../public/img/bajgxt/icon2.png" />
            <span>保安公司预警统计</span>
            <!-- <el-select
              v-model="value2"
              placeholder="请选择"
              @change="peoWarning"
            >
              <el-option
                v-for="item in options2"
                :key="item.id"
                :label="item.title"
                :value="item.value"
              ></el-option>
            </el-select> -->
            <el-select
              ref="treeForm2"
              v-model="node2.title"
              placeholder="请选择"
@@ -335,7 +310,16 @@
                >
                </el-tree>
              </el-option>
            </el-select>
            </el-select> -->
            <avue-input-tree
              default-expand-all
              v-model="value2"
              placeholder="请选择内容"
              type="tree"
              :dic="options2"
              :props="props"
              @change="handleNodeClick2"
            ></avue-input-tree>
          </div>
          <div class="right-content" v-loading="right2loading">
            <div class="rightData rightData1" @click="shoeDialog('wg')">
@@ -699,7 +683,7 @@
  selectJy,
  selectWg,
  punishList,
  lazyTrees,
  lazyTrees
} from "../../api/index/index";
import car from "@/assets/img/car.png";
@@ -728,7 +712,7 @@
        materialNum: 0,
        punishNum: 0,
        wgNum: 0,
        ymwsNum: 0,
        ymwsNum: 0
      },
      carNum: 0,
      peoNum: 0,
@@ -738,7 +722,7 @@
        left1Echart: null,
        left2Echart: null,
        mapEchart: null,
        right3Echart: null,
        right3Echart: null
      },
      left1loading: true,
      left2loading: true,
@@ -755,7 +739,7 @@
        wz: 0,
        kqy: 0,
        nan: 0,
        nv: 0,
        nv: 0
      },
      left2EchartType: 0,
      poorPerformanceType: 3,
@@ -765,44 +749,45 @@
        total: 0,
        current: 1,
        type: "zg",
        title: "资格异常人员清单",
        title: "资格异常人员清单"
      },
      dialogTable: {
        wgTable: [],
        jyTable: [],
        ymTable: [],
        ymTable: []
      },
      props: {
        children: "children",
        label: "title",
        value: "id",
        value: "id"
      },
      // props2: {
      //   children: "children",
      //   label: "enterpriseName",
      //   value: "departmentid"
      // },
      node1: {}, //选中的记录
      node2: {},
      node2: {}
    };
  },
  computed: {
    text() {
      return {
        id: this.number,
        val: this.textArr[this.number],
        val: this.textArr[this.number]
      };
    },
    }
  },
  methods: {
    //点击节点
    handleNodeClick1(data) {
      this.node1 = data;
      this.value1 = data.id;
      this.$refs.treeForm1.blur();
      this.value1 = data;
      this.right1loading = true;
      this.getPoorPerformance(3);
    },
    //点击节点
    handleNodeClick2(data) {
      this.node2 = data;
      this.value2 = data.id;
      this.$refs.treeForm2.blur();
      this.value2 = data;
      this.peoWarning();
    },
    sexFormatter(row, column) {
@@ -841,7 +826,7 @@
    // 左侧表的接口返回数据
    initEchart() {
      securityTotal().then((res) => {
      securityTotal().then(res => {
        if (res.data.code == 200) {
          let securityData = res.data.data;
          if (!this.echarts.left1Echart) {
@@ -855,10 +840,10 @@
        }
        this.left1loading = false;
      });
      seCountI({ jurisdiction: "", deptid: "" }).then((res) => {
      seCountI({ jurisdiction: "", deptid: "" }).then(res => {
        if (res.data.code == 200) {
          let data = res.data.data;
          data.forEach((item) => {
          data.forEach(item => {
            if (item.stats === "0") {
              this.leftData.zz = item.num;
            }
@@ -879,7 +864,7 @@
          this.$message.error(res.msg);
        }
      });
      selectFj().then((res) => {
      selectFj().then(res => {
        // debugger;
        if (res.data.code === 200) {
          if (!this.echarts.right3Echart) {
@@ -904,7 +889,7 @@
        this.echarts.left2Echart.clear();
      }
      if (type === 0) {
        holderNum().then((res) => {
        holderNum().then(res => {
          if (res.data.code === 200) {
            let data = res.data.data;
            this.echarts.left2Echart = echarts.init(
@@ -917,7 +902,7 @@
          this.left2loading = false;
        });
      } else {
        seCountUg({ jurisdiction: "", deptid: "" }).then((res) => {
        seCountUg({ jurisdiction: "", deptid: "" }).then(res => {
          if (res.data.code === 200) {
            this.echarts.left2Echart = echarts.init(
              document.getElementById("left2Echart")
@@ -951,7 +936,7 @@
      this.middleloading = false;
      this.textArr = [];
      if (type === 2) {
        this.tableData.forEach((item) => {
        this.tableData.forEach(item => {
          let obj =
            "押运车辆车牌号" +
            item.carNum +
@@ -966,7 +951,7 @@
          this.textArr.push(obj);
        });
      } else if (type === 1) {
        this.tableData.forEach((item) => {
        this.tableData.forEach(item => {
          let obj =
            "押运人员" +
            item.name +
@@ -979,7 +964,7 @@
          this.textArr.push(obj);
        });
      } else if (type === 3) {
        this.tableData.forEach((item) => {
        this.tableData.forEach(item => {
          let obj =
            "枪支编号" +
            item.number +
@@ -1000,21 +985,21 @@
      let middleData = {
        1: {
          table: [],
          geoData: [],
          geoData: []
        },
        2: {
          table: [],
          geoData: [],
          geoData: []
        },
        3: {
          table: [],
          geoData: [],
        },
          geoData: []
        }
      };
      getLiveLocationVoList({ type: type }).then((res) => {
      getLiveLocationVoList({ type: type }).then(res => {
        if (res.data.code === 200) {
          let allData = res.data.data;
          allData.forEach((m) => {
          allData.forEach(m => {
            let obj = {
              location: m.location,
              name: m.name,
@@ -1022,7 +1007,7 @@
              linkman: m.linkman,
              company: m.company,
              tel: m.tel,
              carNum: m.carNum,
              carNum: m.carNum
            };
            // let geoObj = {
@@ -1031,7 +1016,7 @@
            // };
            middleData[m.type]["geoData"].push([
              Number(m.longitude),
              Number(m.latitude),
              Number(m.latitude)
            ]);
            middleData[m.type]["table"].push(obj);
          });
@@ -1057,36 +1042,38 @@
            zIndex: 4,
            title: "影像",
            source: new XYZ({
              url: "http://t3.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0", // 行政区划
            }),
              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", // 注记
            }),
          }),
              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,
        }),
          zoom: 10
        })
      });
      this.carVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource(),
        source: new VectorSource()
      });
      this.peoVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource(),
        source: new VectorSource()
      });
      this.gunVectorLayer = new VectorLayer({
        zIndex: 99,
        source: new VectorSource(),
        source: new VectorSource()
      });
      this.map.addLayer(this.carVectorLayer);
      this.map.addLayer(this.peoVectorLayer);
@@ -1096,7 +1083,7 @@
    },
    // 获取辖区列表
    getOfficeData() {
      lazyTrees().then((res) => {
      lazyTrees().then(res => {
        if (res.data.code === 200) {
          this.options1 = res.data.data;
          this.options2 = res.data.data;
@@ -1138,7 +1125,7 @@
      }
    },
    getWgTable() {
      this.dialogTable.wgTable.forEach((item) => {
      this.dialogTable.wgTable.forEach(item => {
        let czl = 0;
        if (Number(item.cznum) !== 0 && Number(item.znum) !== 0) {
          czl =
@@ -1156,7 +1143,7 @@
      this.gridData.total = this.dialogTable.wgTable.length;
    },
    getJyTable() {
      this.dialogTable.jyTable.forEach((item) => {
      this.dialogTable.jyTable.forEach(item => {
        let pql = 0;
        if (Number(item.painum) !== 0 && Number(item.znum) !== 0) {
          pql =
@@ -1184,9 +1171,9 @@
      let params = {
        current: this.gridData.current,
        size: 10,
        jurisdiction: this.value2,
        jurisdiction: this.value2
      };
      punishList(params).then((res) => {
      punishList(params).then(res => {
        if (res.data.code === 200) {
          this.gridData.data = res.data.data.records;
          this.gridData.total = res.data.data.total;
@@ -1224,9 +1211,9 @@
        current: this.gridData.current,
        size: 10,
        examinationType: 1,
        jurisdiction: this.value1,
        jurisdiction: this.value1
      };
      qualificationPages(params).then((res) => {
      qualificationPages(params).then(res => {
        if (res.data.code === 200) {
          this.gridData.data = res.data.data.records;
          this.gridData.total = res.data.data.total;
@@ -1247,9 +1234,9 @@
      let params = {
        current: this.gridData.current,
        size: 10,
        jurisdiction: this.value2,
        jurisdiction: this.value2
      };
      punishList(params).then((res) => {
      punishList(params).then(res => {
        if (res.data.code === 200) {
          this.gridData.data = res.data.data.records;
          this.gridData.total = res.data.data.total;
@@ -1260,7 +1247,7 @@
    },
    // 经营不善
    getMaterial() {
      selectJy({ jurisdiction: this.value2 }).then((res) => {
      selectJy({ jurisdiction: this.value2 }).then(res => {
        if (res.data.code === 200) {
          this.rightData.materialNum = res.data.data.count;
          this.dialogTable.jyTable = res.data.data.List;
@@ -1272,7 +1259,7 @@
    },
    // 有名无实
    getselectYs() {
      selectYs({ jurisdiction: this.value2 }).then((res) => {
      selectYs({ jurisdiction: this.value2 }).then(res => {
        if (res.data.code === 200) {
          this.rightData.ymwsNum = res.data.data.count;
          this.dialogTable.ymTable = res.data.data.List;
@@ -1284,7 +1271,7 @@
    },
    // 违规经营
    getselectWg() {
      selectWg({ jurisdiction: this.value2 }).then((res) => {
      selectWg({ jurisdiction: this.value2 }).then(res => {
        if (res.data.code === 200) {
          this.rightData.wgNum = res.data.data.count;
          this.dialogTable.wgTable = res.data.data.list;
@@ -1314,8 +1301,8 @@
      // this.rightData.qualification = 45;
      selectBx({
        jurisdiction: this.value1,
        type: this.poorPerformanceType,
      }).then((res) => {
        type: this.poorPerformanceType
      }).then(res => {
        if (res.data.code === 200) {
          this.rightData.poorPerformance = res.data.data[0].count;
        } else {
@@ -1325,8 +1312,8 @@
      });
      selectExtype({
        jurisdiction: this.value1,
        type: this.poorPerformanceType,
      }).then((res) => {
        type: this.poorPerformanceType
      }).then(res => {
        if (res.data.code === 200) {
          this.rightData.qualification = res.data.data[0].count;
        } else {
@@ -1365,7 +1352,7 @@
      // this.$router.push({ path: "/register/index" });
      // this.$router.push({ path: "/securityGuardManagement/register" });
      this.$router.push({ path: website.fistPage.value });
    },
    }
  },
  mounted() {
    this.initEchart();
@@ -1376,7 +1363,7 @@
    this.getTableData(0);
    // this.initMapEchart();
    this.getOfficeData();
  },
  }
};
</script>
@@ -1390,7 +1377,7 @@
  @import "./index_1600_900.scss";
}
// 适配分辨率1920*1080
@media screen and (min-width: 1601px) and (max-width: 1920px) {
@media screen and (min-width: 1601px) {
  @import "./index.scss";
}
src/views/securityUnitOperation/economicAnalysis.vue
@@ -15,7 +15,7 @@
              >
              </el-option>
            </el-select> -->
            <el-select
            <!-- <el-select
              class="select1"
              ref="treeForm"
              v-model="node.title"
@@ -31,8 +31,28 @@
                >
                </el-tree>
              </el-option>
            </el-select>
            <el-select
            </el-select> -->
            <avue-input-tree
              class="select1"
              default-expand-all
              v-model="value1"
              placeholder="请选择内容"
              type="tree"
              :dic="options1"
              :props="props"
              @change="handleNodeClick"
            ></avue-input-tree>
            <avue-input-tree
              class="select2"
              default-expand-all
              v-model="value2"
              placeholder="请选择公司"
              type="tree"
              :dic="options2"
              :props="props2"
              @change="changeCompanys"
            ></avue-input-tree>
            <!-- <el-select
              class="select2"
              v-model="value2"
              placeholder="请选择"
@@ -45,7 +65,7 @@
                :value="item.departmentid"
              >
              </el-option>
            </el-select>
            </el-select> -->
            <el-button @click="toEconomicTable">进入数据统计表</el-button>
          </div>
@@ -165,15 +185,18 @@
        label: "title",
        value: "id"
      },
      props2: {
        children: "children",
        label: "enterpriseName",
        value: "departmentid"
      },
      node: {} //选中的记录
    };
  },
  methods: {
    //点击节点
    handleNodeClick(data) {
      this.node = data;
      this.value1 = data.id;
      this.$refs.treeForm.blur();
      this.value1 = data;
      this.getCompanys();
    },
    toEconomicTable() {
src/views/securityUnitOperation/operationAnalysis.vue
@@ -6,33 +6,27 @@
          <div class="rowTitle">
            <img src="../../../public/img/bajgxt/u1618.png" />
            <span>数据概览</span>
            <!-- <el-select class="select0" v-model="value0" placeholder="请选择">
              <el-option
                v-for="item in options0"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              ></el-option>
            </el-select> -->
            <el-select
            <avue-input-tree
              class="select1"
              ref="treeForm"
              v-model="node.title"
              placeholder="请选择"
            >
              <el-option style="height: auto;" :value="node">
                <el-tree
                  :data="options1"
                  default-expand-all
                  node-key="id"
                  @node-click="handleNodeClick"
              v-model="value1"
              placeholder="请选择内容"
              type="tree"
              :dic="options1"
                  :props="props"
                >
                </el-tree>
              </el-option>
            </el-select>
            <el-select
              @change="handleNodeClick"
            ></avue-input-tree>
            <avue-input-tree
              class="select2"
              default-expand-all
              v-model="value2"
              placeholder="请选择公司"
              type="tree"
              :dic="options2"
              :props="props2"
              @change="changeCompanys"
            ></avue-input-tree>
            <!-- <el-select
              class="select2"
              v-model="value2"
              placeholder="请选择"
@@ -44,7 +38,7 @@
                :label="item.enterpriseName"
                :value="item.departmentid"
              ></el-option>
            </el-select>
            </el-select> -->
            <el-button @click="toOperationTable">进入数据统计表</el-button>
          </div>
@@ -219,15 +213,18 @@
        label: "title",
        value: "id"
      },
      props2: {
        children: "children",
        label: "enterpriseName",
        value: "departmentid"
      },
      node: {} //选中的记录
    };
  },
  methods: {
    //点击节点
    handleNodeClick(data) {
      this.node = data;
      this.value1 = data.id;
      this.$refs.treeForm.blur();
    handleNodeClick(id) {
      this.value1 = id;
      this.getCompanys();
    },
    setAgeEchart() {
vue.config.js
@@ -30,12 +30,12 @@
                // target: 'http://192.168.0.109:1',
                //远程演示服务地址,可用于直接启动项目
                // target: 'http://2h3f861221.wicp.vip:58646',
                // target: 'http://s16s652780.51mypc.cn/api',
                target: 'http://s16s652780.51mypc.cn/api',
                // target: 'http://192.168.0.114:82',
                // target: 'http://192.168.0.108:82',
                // target: 'http://s16s652780.51mypc.cn/api',
                // 服务器使用
                target: 'http://localhost:82',
                // target: 'http://localhost:82',
                ws: true,
                pathRewrite: {
                    '^/api': '/'