保安监管系统-验收版本
zhengpz
2021-12-04 cee6fc07cbcfef89a856370b23f3816575c956a9
研判分析更改页面及接口
4 files modified
274 ■■■■■ changed files
src/api/securityUnitOperation/securityUnitOperation.js 4 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 2 ●●● patch | view | raw | blame | history
src/views/securityUnitOperation/economicAnalysis.vue 177 ●●●●● patch | view | raw | blame | history
src/views/securityUnitOperation/operationAnalysis.vue 91 ●●●● patch | view | raw | blame | history
src/api/securityUnitOperation/securityUnitOperation.js
@@ -95,7 +95,7 @@
// 派遣率小于50%的公司预警信息
export const getSecurityUnitDispatcherLessPage = (params) => {
    return request({
        url: "/api/information/getSecurityUnitDispatcherLessPage?proportion=50",
        url: "/api/information/getSecurityUnitDispatcherLessPage",
        method: "get",
        params: params
    });
@@ -103,7 +103,7 @@
// 持证率小于50%的公司预警信息
export const getSecurityUnitHoldLessPage = (params) => {
    return request({
        url: "/api/information/getSecurityUnitHoldLessPage?proportion=50",
        url: "/api/information/getSecurityUnitHoldLessPage",
        method: "get",
        params: params
    });
src/views/home/index.vue
@@ -1619,7 +1619,7 @@
        current: this.gridData.current,
        size: 10,
        jurisdiction: this.value1,
        types:types
        type:types
      };
      xsbxPages(params).then(res => {
        if (res.data.code === 200) {
src/views/securityUnitOperation/economicAnalysis.vue
@@ -77,36 +77,36 @@
              style="cursor: pointer; "
              @click="showTable('sb')"
            >
              <span>社保缴纳预警(家)</span>
              <span style="margin-top: 24px;">未缴纳社保预警(人)</span>
              <span>{{ yj.sb }}</span>
              <span>社保缴纳率小于90%</span>
              <!-- <span>社保缴纳率小于90%</span> -->
            </div>
            <div
              class="box-card"
              style="cursor: pointer; "
              @click="showTable('bx')"
            >
              <span>保险缴纳预警(家)</span>
              <span style="margin-top: 24px;">未缴纳保险预警(人)</span>
              <span>{{ yj.bx }}</span>
              <span>保险缴纳率小于90%</span>
              <!-- <span>保险缴纳率小于90%</span> -->
            </div>
            <div
              class="box-card"
              style="cursor: pointer; "
              @click="showTable('fw')"
            >
              <span>服务合同预警(份)</span>
              <span>{{ yj.fw }}</span>
              <span>服务合同小于2份</span>
              <span style="margin-top: 24px;">服务合同预警(份)</span>
                <span>{{ yj.fw }}</span>
                <span style="font-size:12px;margin-top: -5px;">小于2份</span>
            </div>
            <div
              class="box-card"
              style="cursor: pointer; "
              @click="showTable('pq')"
            >
              <span>派遣预警(家)</span>
              <span style="margin-top: 24px;">未派遣预警(人)</span>
              <span>{{ yj.pq }}</span>
              <span>派遣率小于50%</span>
              <!-- <span>派遣率小于50%</span> -->
            </div>
          </div>
        </div>
@@ -143,48 +143,71 @@
      :modal-append-to-body="false"
    >
      <el-table :data="gridData.data">
        <template v-if="gridData.type === 'sb'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
        <template
          v-if="
            gridData.type === 'sb' ||
              gridData.type === 'bx' ||
              gridData.type === 'pq'
          "
        >
          <el-table-column
            label="序号"
            width="50"
            :key="gridData.type"
            type="index"
          >
          </el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="enterprisename"
            label="保安公司名称"
            prop="realName"
            label="保安姓名"
            :show-overflow-tooltip="true"
            width="300"
            width="100"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="jurisdictionName"
            label="所属辖区"
            prop="deptName"
            label="保安公司"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="znum"
            label="保安总人数"
            prop="sex"
            label="性别"
            :formatter="sexFormatter"
            :show-overflow-tooltip="true"
            width="100"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="cnum"
            label="社保缴纳人数"
            prop="cardid"
            label="身份证号"
            :show-overflow-tooltip="true"
            width="180"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="pnum"
            label="社保缴纳率"
            :formatter="kslFormatter"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <!-- <el-table-column
            :key="gridData.type"
            prop="age"
            label="备注"
            label="年龄"
            :show-overflow-tooltip="true"
          ></el-table-column> -->
            width="100"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="securitynumber"
            label="保安员证编号"
            :show-overflow-tooltip="true"
            width="150"
          ></el-table-column>
          <el-table-column
            :key="gridData.type"
            prop="phone"
            label="联系方式"
            :show-overflow-tooltip="true"
            width="150"
          ></el-table-column>
        </template>
        <template v-if="gridData.type === 'bx'">
        <!-- <template v-if="gridData.type === 'bx'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            :key="gridData.type"
@@ -218,13 +241,7 @@
            :formatter="kslFormatter"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <!-- <el-table-column
            :key="gridData.type"
            prop="sbl"
            label="备注"
            :show-overflow-tooltip="true"
          ></el-table-column> -->
        </template>
        </template> -->
        <template v-if="gridData.type === 'fw'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
@@ -258,7 +275,7 @@
            :show-overflow-tooltip="true"
          ></el-table-column> -->
        </template>
        ><template v-if="gridData.type === 'pq'">
        <!-- <template v-if="gridData.type === 'pq'">
          <el-table-column :key="gridData.type" type="index"> </el-table-column>
          <el-table-column
            :key="gridData.type"
@@ -292,13 +309,7 @@
            :formatter="kslFormatter"
            :show-overflow-tooltip="true"
          ></el-table-column>
          <!-- <el-table-column
            :key="gridData.type"
            prop="pql"
            label="备注"
            :show-overflow-tooltip="true"
          ></el-table-column> -->
        </template>
        </template> -->
      </el-table>
      <el-pagination
        @current-change="changePage"
@@ -330,6 +341,7 @@
  getSecurityUnitServerLessPage1,
  getSecurityUnitDispatcherLessPage
} from "../../api/securityUnitOperation/securityUnitOperation";
import { pageSecurity } from "../../api/statisticalQueryManagement/statisticalQueryManagement";
export default {
  data() {
    return {
@@ -407,6 +419,13 @@
    };
  },
  methods: {
    sexFormatter(row, column) {
      if (row.sex === 1) {
        return "男";
      } else if (row.sex === 2) {
        return "女";
      }
    },
    kslFormatter(row) {
      if (row.pnum && row.pnum !== "0") {
        return row.pnum + "%";
@@ -427,17 +446,20 @@
      // this.dialogloading = true;
      this.dialogTableVisible = true;
      if (type === "sb") {
        this.gridData.title = "社保缴纳预警保安公司";
        this.getSecurityUnitSoilLessPage();
        this.gridData.title = "未缴纳社保人数";
        // this.getSecurityUnitSoilLessPage();
        this.getPageSecurity("dispatch");
      } else if (type === "bx") {
        this.gridData.title = "保险缴纳预警保安公司";
        this.getSecurityUnitInsuranceLessPage();
        this.gridData.title = "未缴纳保险人数";
        // this.getSecurityUnitInsuranceLessPage();
        this.getPageSecurity("soil");
      } else if (type === "fw") {
        this.gridData.title = "服务合同预警保安公司";
        this.getSecurityUnitServerLessPage();
      } else if (type === "pq") {
        this.gridData.title = "派遣预警保安公司";
        this.getSecurityUnitDispatcherLessPage();
        this.gridData.title = "未派遣人数";
        // this.getSecurityUnitDispatcherLessPage();
        this.getPageSecurity("insurance");
      }
    },
    //点击节点
@@ -570,6 +592,42 @@
        this.loading3 = false;
      });
    },
    // 获取预警分析数据
    getPageSecurity(type) {
      let params = {
        jurisdiction: this.value1,
        deptId: this.value2,
        current: this.gridData.current,
        size: 10
      };
      if (type === "dispatch") {
        Object.assign(params, { dispatch: 1 });
      } else if (type === "soil") {
        Object.assign(params, { soil: 1 });
      } else if (type === "insurance") {
        Object.assign(params, { insurance: 1 });
      }
      pageSecurity(params).then(res => {
        if (res.data.code === 200) {
          if (type === "dispatch") {
            this.yj.sb = res.data.data.total;
            this.gridData.data = res.data.data.records;
            this.gridData.total = res.data.data.total;
          } else if (type === "soil") {
            this.yj.bx = res.data.data.total;
            this.gridData.data = res.data.data.records;
            this.gridData.total = res.data.data.total;
          } else if (type === "insurance") {
            this.yj.pq = res.data.data.total;
            this.gridData.data = res.data.data.records;
            this.gridData.total = res.data.data.total;
          }
          if (this.dialogloading) {
            this.dialogloading = false;
          }
        }
      });
    },
    getSecurityUnitSoilLessPage() {
      let params = {
        jurisdiction: this.value1,
@@ -611,7 +669,8 @@
        jurisdiction: this.value1,
        departmentid: this.value2,
        current: this.gridData.current,
        size: 10
        size: 10,
        proportion: 2
      };
      getSecurityUnitServerLessPage1(params).then(res => {
        if (res.data.code === 200) {
@@ -653,10 +712,18 @@
      this.getSocialSecurity();
      this.getQueryYearSoil();
      this.getQueryYearAn();
      this.getSecurityUnitSoilLessPage();
      this.getSecurityUnitInsuranceLessPage();
      // 获取未缴纳社保人数
      this.getPageSecurity("dispatch");
      // 获取未缴纳保险人数
      this.getPageSecurity("soil");
      // 获取未派遣人数
      this.getPageSecurity("insurance");
      // this.getSecurityUnitSoilLessPage();
      // this.getSecurityUnitInsuranceLessPage();
      this.getSecurityUnitServerLessPage();
      this.getSecurityUnitDispatcherLessPage();
      // this.getSecurityUnitDispatcherLessPage();
    }
  },
  mounted() {
src/views/securityUnitOperation/operationAnalysis.vue
@@ -64,42 +64,54 @@
        </div>
      </el-col>
      <el-col :span="10">
        <div class="rowContent first-menu">
        <div class="rowContent first-menu yujing-class">
          <div class="rowTitle">
            <img src="../../../public/img/bajgxt/yj.png" />
            <span>预警分析</span>
          </div>
          <div class="col-content" style="margin-left: 55px">
            <div
              class="box-card"
              style="margin-right: 50px;"
            >
          <div class="col-content" style="margin-left: 40px">
            <div class="box-card" style="margin-right: 25px;">
              <span>服务对象预警(家)</span>
              <span class=" cursor: pointer" @click="showTable('fw')">{{ yj.fuwu }}</span>
              <div>
              <span style=" cursor: pointer" @click="showTable('fw')">{{
                yj.fuwu
              }}</span>
              <div class="yujing_bottom">
                <span>服务对象小于</span>
                <el-input v-model="inputNum.fuwu"></el-input>
                <el-input
                  v-model="inputNum.fuwu"
                  @change="getSecurityUnitServerLessPage()"
                ></el-input>
                <span>家</span>
              </div>
            </div>
            <div
              class="box-card"
              style="margin-right: 50px; cursor: pointer"
              @click="showTable('pq')"
            >
            <div class="box-card" style="margin-right: 25px;">
              <span>派遣预警(家)</span>
              <span>{{ yj.paiqian }}</span>
              <span>派遣率小于{{ inputNum.paiqian }}%</span>
              <span style=" cursor: pointer" @click="showTable('pq')">{{
                yj.paiqian
              }}</span>
              <div class="yujing_bottom">
                <span>派遣率小于</span>
                <el-input
                  v-model="inputNum.paiqian"
                  @change="getSecurityUnitDispatcherLessPage"
                ></el-input>
                <span>%</span>
              </div>
            </div>
            <div
              class="box-card"
              style="margin-right: 50px; cursor: pointer"
              @click="showTable('cz')"
            >
            <div class="box-card" style="margin-right: 25px;">
              <span>持证上岗预警(家)</span>
              <span>{{ yj.chizheng }}</span>
              <span>持证率小于{{ inputNum.chizheng }}%</span>
              <span style=" cursor: pointer" @click="showTable('cz')">{{
                yj.chizheng
              }}</span>
              <div class="yujing_bottom">
                <span>持证率小于</span>
                <el-input
                  v-model="inputNum.chizheng"
                  @change="getSecurityUnitHoldLessPage"
                ></el-input>
                <span>%</span>
              </div>
            </div>
          </div>
        </div>
@@ -501,6 +513,7 @@
          // this.enterpriseName = this.options2[0]
          //   ? this.options2[0].enterpriseName
          //   : "";
          this.value2 = "";
          this.changeCompanys();
        }
      });
@@ -616,7 +629,8 @@
        jurisdiction: this.value1,
        departmentid: this.value2,
        current: this.gridData.current,
        size: 10
        size: 10,
        proportion: this.inputNum.fuwu
      };
      getSecurityUnitServerLessPage(params).then(res => {
        if (res.data.code === 200) {
@@ -634,7 +648,8 @@
        jurisdiction: this.value1,
        departmentid: this.value2,
        current: this.gridData.current,
        size: 10
        size: 10,
        proportion: this.inputNum.paiqian
      };
      getSecurityUnitDispatcherLessPage(params).then(res => {
        if (res.data.code === 200) {
@@ -652,7 +667,8 @@
        jurisdiction: this.value1,
        departmentid: this.value2,
        current: this.gridData.current,
        size: 10
        size: 10,
        proportion: this.inputNum.chizheng
      };
      getSecurityUnitHoldLessPage(params).then(res => {
        if (res.data.code === 200) {
@@ -702,6 +718,7 @@
      font-size: 31px;
    }
  }
  .col-content {
    margin-top: 39px !important;
  }
@@ -879,6 +896,11 @@
    span:nth-child(2) {
      color: #06ffff;
      font-size: 34px;
    }
  }
  .yujing-class {
    .box-card {
      width: 180px !important;
    }
  }
  .leftEchartTitle.qing {
@@ -1110,4 +1132,21 @@
    height: 77%;
  }
}
.yujing_bottom {
  display: inline-flex;
  // width: 100%;
  span {
    width: auto;
  }
  .el-input {
    width: 30px;
    /deep/ .el-input__inner {
      width: 30px;
      padding: 0px;
      height: 20px !important;
      line-height: 20px !important;
      text-align: center;
    }
  }
}
</style>