From ca7d0ea3eb0b491eba3baa46863a96e447570772 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Thu, 16 Sep 2021 10:34:46 +0800
Subject: [PATCH] 保安公司智能分析
---
src/views/securityAnalysis/child/certificate.vue | 210 ++++
src/views/securityAnalysis/child/situation.vue | 206 ++++
public/img/table.png | 0
src/views/securityAnalysis/child/socialSecurity.vue | 584 ++++++++++++
src/views/securityAnalysis/child/dispatch.vue | 363 +++++++
src/views/securityAnalysis/child/examination.vue | 123 ++
src/views/securityAnalysis/index.vue | 245 +++++
src/api/securityAnalysis/securityAnalysis.js | 13
src/styles/element-ui.scss | 5
src/views/securityAnalysis/child/assignment.vue | 995 +++++++++++++++++++++
10 files changed, 2,738 insertions(+), 6 deletions(-)
diff --git a/public/img/table.png b/public/img/table.png
new file mode 100644
index 0000000..80311bd
--- /dev/null
+++ b/public/img/table.png
Binary files differ
diff --git a/src/api/securityAnalysis/securityAnalysis.js b/src/api/securityAnalysis/securityAnalysis.js
index 7f05a3e..8ef8444 100644
--- a/src/api/securityAnalysis/securityAnalysis.js
+++ b/src/api/securityAnalysis/securityAnalysis.js
@@ -68,4 +68,17 @@
jurisdiction: jurisdiction,
}
})
+}
+
+export const getinformationstatisticsXX = (current, size, params) => { //保安员考试情况统计 详细信息 只需要公司的deptid
+ return request({
+ url: '/api/examScore/score-page',
+ // url: 'http://192.168.0.109:81/information/selectExtype',
+ method: 'get',
+ params: {
+ ...params,
+ current,
+ size,
+ }
+ })
}
\ No newline at end of file
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
index 5c6d4bc..95235b1 100644
--- a/src/styles/element-ui.scss
+++ b/src/styles/element-ui.scss
@@ -294,3 +294,8 @@
.avue-empty__desc {
color: #fff !important;
}
+
+.certificateTJ .avue-form__menu--center {
+ // 统计图持证表格按钮过长
+ width: 320px !important;
+}
diff --git a/src/views/securityAnalysis/child/assignment.vue b/src/views/securityAnalysis/child/assignment.vue
new file mode 100644
index 0000000..7c72a76
--- /dev/null
+++ b/src/views/securityAnalysis/child/assignment.vue
@@ -0,0 +1,995 @@
+<template>
+ <basic-container>
+ <div class="dispatchChildoperable">
+ <avue-crud
+ :option="option1"
+ :data="data1"
+ :page.sync="page1"
+ ref="crudrec1"
+ v-model="form1"
+ :table-loading="loading1"
+ :before-open="beforeOpen"
+ @row-save="rowSave1"
+ @search-change="searchChange1"
+ @search-reset="searchReset1"
+ @row-update="rowUpdate1"
+ @row-del="rowDel1"
+ @selection-change="selectionChange1"
+ @refresh-change="refreshChange1"
+ >
+ <template slot-scope="{ type, row }" slot="menu">
+ <el-button
+ icon="el-icon-check"
+ size="small"
+ :type="type"
+ @click="openClick(row, page2)"
+ >派遣轨迹</el-button
+ >
+ </template>
+ </avue-crud>
+ </div>
+ <el-dialog
+ title="提示"
+ :visible.sync="dialogVisible"
+ width="80%"
+ top="10vh"
+ append-to-body
+ >
+ <avue-crud
+ :option="option2"
+ :data="data2"
+ :page.sync="page2"
+ ref="crudrec2"
+ v-model="form2"
+ :table-loading="loading2"
+ @selection-change="selectionChange2"
+ @search-change="searchChange2"
+ @row-save="rowSave2"
+ @search-reset="searchReset2"
+ @row-update="rowUpdate2"
+ @row-del="rowDel2"
+ @refresh-change="refreshChange2"
+ >
+ <!-- :before-open="beforeOpen"
+ -->
+ <!-- <template slot-scope="{ type, row }" slot="menu">
+ <el-button
+ icon="el-icon-check"
+ size="small"
+ :type="type"
+ @click="openClick(row)"
+ >派遣轨迹</el-button
+ >
+ </template> -->
+ </avue-crud>
+ </el-dialog>
+ </basic-container>
+</template>
+
+<script>
+import {
+ getdata1,
+ adddata1,
+ update1,
+ remove1,
+ getDispatcherUnitByDeptId,
+ overDispatcher,
+} from "@/api/dispatch/dispatch";
+import { update, getListByDeptId } from "@/api/system/user";
+import { mapState } from "vuex";
+
+export default {
+ props: ["card"],
+ data() {
+ return {
+ dialogVisible: false,
+ dialogId: "",
+ dialogData: [],
+
+ deptCategory: "",
+ deptId: "",
+
+ loading1: true, //派遣记录
+ selectionList1: [],
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ form1: {},
+ query1: {},
+ data1: [],
+ option1: {
+ // card: true,
+ tip: false,
+ index: true,
+ // menu: false,
+ searchSize: "mini",
+ searchMenuSpan: 8,
+ height: 450,
+ cellBtn: false,
+ delBtnText: "结束派遣",
+ editBtnText: "更改派遣",
+ addTitle: "记录添加",
+ addBtnText: "记录添加",
+ // addBtn: false,
+ menuWidth: 256,
+ align: "center",
+ selection: true,
+ column: [
+ // },
+ {
+ label: "派遣单位",
+ prop: "dispatcherCompany",
+ // addDisplay: false,
+ // editDisplay: false,
+ // search: true,
+ // labelWidth: 120,
+ // searchSpan: 4,
+ minWidth: 210,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: "保安公司",
+ prop: "deptId",
+ search: true,
+ labelWidth: 120,
+ type: "tree",
+ searchSpan: 4,
+ cascaderItem: ["userIds"],
+ props: {
+ label: "title",
+ value: "id",
+ },
+ width: 180,
+ dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
+ rules: [
+ {
+ required: true,
+ message: "请输入保安公司",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "派遣单位",
+ prop: "dispatcherUnitId",
+ labelWidth: 120,
+ searchLabelWidth: 80,
+ // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ hide: true,
+ searchSpan: 4,
+ search: true,
+ overHidden: true,
+ type: "tree",
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣单位",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安员",
+ prop: "userIds",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ searchSpan: 3,
+ search: true,
+ hide: true,
+ props: {
+ label: "realName",
+ value: "id",
+ },
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安员",
+ prop: "securityName",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ // hide: true,
+ // props: {
+ // label: "realName",
+ // value: "id",
+ // },
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+
+ {
+ label: "身份证",
+ prop: "idCardNo",
+ labelWidth: 120,
+ overHidden: true,
+ addDisplay: false,
+ editDisplay: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入身份证",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ // {
+ // label: "派遣人",
+ // prop: "dispatcher",
+ // // search: true,
+ // // searchSpan: 4,
+ // // overHidden: true
+ // },
+ {
+ label: "派遣地址",
+ prop: "dispatcheraddress",
+ labelWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣地址",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "开始时间",
+ prop: "dispatchertime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ searchSpan: 5,
+ // search: true,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣时间",
+ trigger: "click",
+ },
+ ],
+ // overHidden: true
+ },
+ {
+ label: "结束时间",
+ prop: "endTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入结束时间",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "派遣时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchValue: [this.getStartTime(), this.getEndTime()],
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ ],
+ },
+ loading2: true, //单个人派遣记录
+ vals: [],
+ selectionList2: [],
+ page2: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ form2: {},
+ query2: {},
+ data2: [],
+ option2: {
+ // card: true,
+ tip: false,
+ index: true,
+ // menu: false,
+ searchSize: "mini",
+ searchMenuSpan: 8,
+ height: 450,
+ cellBtn: false,
+ delBtnText: "结束派遣",
+ editBtnText: "更改派遣",
+ addTitle: "记录添加",
+ addBtnText: "记录添加",
+ // addBtn: false,
+ menuWidth: 256,
+ align: "center",
+ selection: true,
+ column: [
+ // },
+ {
+ label: "派遣单位",
+ prop: "dispatcherCompany",
+ // addDisplay: false,
+ // editDisplay: false,
+ // search: true,
+ // labelWidth: 120,
+ // searchSpan: 4,
+ minWidth: 210,
+ addDisplay: false,
+ editDisplay: false,
+ },
+ {
+ label: "保安公司",
+ prop: "deptId",
+ search: true,
+ labelWidth: 120,
+ type: "tree",
+ searchSpan: 4,
+ cascaderItem: ["userIds"],
+ props: {
+ label: "title",
+ value: "id",
+ },
+ width: 180,
+ dicUrl: `/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697`,
+ rules: [
+ {
+ required: true,
+ message: "请输入保安公司",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "派遣单位",
+ prop: "dispatcherUnitId",
+ labelWidth: 120,
+ searchLabelWidth: 80,
+ // dicUrl: "/api/dispatcherUnit/page-tree?deptId={{key}}",
+ props: {
+ label: "name",
+ value: "id",
+ },
+ hide: true,
+ searchSpan: 4,
+ search: true,
+ overHidden: true,
+ type: "tree",
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣单位",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安员",
+ prop: "userIds",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ searchSpan: 3,
+ // search: true,
+ hide: true,
+ props: {
+ label: "realName",
+ value: "id",
+ },
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicUrl: `/api/blade-user/page-security-units?status=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "保安员",
+ prop: "securityName",
+ type: "tree",
+ width: 70,
+ labelWidth: 120,
+ addDisplay: false,
+ editDisplay: false,
+ // hide: true,
+ // props: {
+ // label: "realName",
+ // value: "id",
+ // },
+ // dicUrl: `/api/blade-user/page-security-units?dispatch=1&deptId={{key}}`,
+ dicData: [],
+ rules: [
+ {
+ required: true,
+ message: "请选择保安",
+ trigger: "blur",
+ },
+ ],
+ },
+
+ {
+ label: "身份证",
+ prop: "idCardNo",
+ labelWidth: 120,
+ overHidden: true,
+ addDisplay: false,
+ editDisplay: false,
+ rules: [
+ {
+ required: true,
+ message: "请输入身份证",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ // {
+ // label: "派遣人",
+ // prop: "dispatcher",
+ // // search: true,
+ // // searchSpan: 4,
+ // // overHidden: true
+ // },
+ {
+ label: "派遣地址",
+ prop: "dispatcheraddress",
+ labelWidth: 120,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣地址",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "开始时间",
+ prop: "dispatchertime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ searchSpan: 5,
+ // search: true,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入派遣时间",
+ trigger: "click",
+ },
+ ],
+ // overHidden: true
+ },
+ {
+ label: "结束时间",
+ prop: "endTime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ labelWidth: 120,
+ overHidden: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入结束时间",
+ trigger: "click",
+ },
+ ],
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "派遣时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchValue: [this.getStartTime(), this.getEndTime()],
+ searchRange: true,
+ searchSpan: 5,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ ],
+ },
+ };
+ },
+ created() {
+ if (this.userInfo.role_name == "保安公司管理员") {
+ console.log("保安公司管理员登入");
+ const deptColumn = this.findObject(this.option1.column, "deptId");
+ deptColumn.search = false;
+ } else {
+ const deptColumn = this.findObject(
+ this.option1.column,
+ "dispatcherUnitId"
+ );
+ deptColumn.search = false;
+ }
+ },
+ computed: {
+ // },
+ ids1() {
+ let ids1 = [];
+ this.selectionList1.forEach((ele) => {
+ ids1.push(ele.id);
+ });
+ return ids1.join(",");
+ },
+ ...mapState({
+ userInfo: (state) => state.user.userInfo,
+ }),
+ deps() {
+ return this.form.deptId;
+ },
+ },
+
+ methods: {
+ openClick(val, page, params = {}) {
+ this.vals = val;
+ this.dialogVisible = true;
+ params["userIds"] = val.userIds;
+ //默认查询已派遣的,派遣结束,未派遣的不显示
+ params["dispatch"] = 0;
+ var values;
+ const { releaseTimeRange } = this.query1;
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.query,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.query,
+ };
+ }
+
+ if (this.userInfo.role_name == "保安公司管理员") {
+ // const deptColumn = this.findObject(this.option1.column, "deptId");
+ // deptColumn.disabled = true;
+ // // deptColumn.search = false; //会报错
+ // deptColumn.value = this.userInfo.dept_id;
+ this.option2.column[1].search = false;
+ this.option2.column[1].value = this.userInfo.dept_id;
+ this.option2.column[1].disabled = true;
+ // this.option2.column[3].disabled = true;
+ this.option2.column[3].value = val.userIds;
+ this.initData(2, 2);
+ } else {
+ this.option2.column[1].search = true;
+ // deptColumn.disabled = false;
+ this.initData(1, 2);
+ }
+ getdata1(
+ page.currentPage,
+ page.pageSize,
+ // Object.assign(params, this.query2)
+ values
+ ).then((res) => {
+ const data = res.data.data;
+ this.page2.total = data.total;
+ this.data2 = data.records;
+ this.loading2 = false;
+ // // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
+ // // console.log(this.form, 111111);
+ });
+ // console.log(val);
+ },
+ refreshChange2() {
+ // console.log(4534)
+ this.openClick(this.vals, this.page2, this.query2);
+ },
+ searchChange2(params, done) {
+ this.query2 = params;
+ this.page2.currentPage = 1;
+ this.refreshChange2();
+ done();
+ },
+ rowSave2(form, done, loading) {
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
+
+ adddata1(form).then(
+ (res) => {
+ this.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ // }
+ },
+ searchReset2() {
+ this.query2 = {};
+ this.refreshChange2();
+ },
+ rowUpdate2(row, index, done, loading) {
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
+ update1(row).then(
+ () => {
+ this.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel2(row) {
+ this.$confirm("确定结束当前派遣?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ console.log(row);
+ return overDispatcher(row);
+ })
+ .then(() => {
+ this.refreshChange2();
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+
+ handleChangeTABS(column) {
+ this.typeTABS = column;
+ if (column.prop == "tab1") {
+ this.loading1 = false;
+ // this.onLoad(this.page);
+ } else if (column.prop == "tab2") {
+ // this.loading = false;
+ console.log(document.getElementsByClassName("el-card__body")[0]);
+ this.onLoad1(this.page1); //第二个表格不会自动执行
+ }
+ // this.$message.success(JSON.stringify(column));
+ },
+
+ //派遣记录
+ sizeChange1(val) {
+ this.page1.currentPage = 1;
+ this.page1.pageSize = val;
+ // this.getData();
+ this.onLoad1(this.page1, this.query1);
+ },
+ currentChange1(val) {
+ this.page1.currentPage = val;
+ // this.getData();
+ this.onLoad1(this.page1, this.query1);
+ },
+ rowSave1(form, done, loading) {
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
+
+ adddata1(form).then(
+ (res) => {
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ // }
+ },
+ searchChange1(params, done) {
+ this.query1 = params;
+ this.page1.currentPage = 1;
+ this.onLoad1(this.page1, params);
+ done();
+ },
+ searchReset1() {
+ this.query = {};
+ this.onLoad1(this.page1);
+ },
+ rowUpdate1(row, index, done, loading) {
+ // if(this.userInfo.role_name=="保安公司管理员"){
+ // const userColumn = this.findObject(this.option1.column, "userIds");
+ // userColumn.dicUrl = "/api/blade-user/page-security-units?deptId="+this.userInfo.dept_id;
+ // }
+ update1(row).then(
+ () => {
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ window.console.log(error);
+ loading();
+ }
+ );
+ },
+ rowDel1(row) {
+ this.$confirm("确定结束当前派遣?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return overDispatcher(row);
+ })
+ .then(() => {
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ selectionChange1(list) {
+ this.selectionList1 = list;
+ // console.log(this.selectionList1.length);
+ },
+ handleDelete1() {
+ console.log(this.selectionList1);
+ if (this.selectionList1.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove1(this.ids1);
+ })
+ .then(() => {
+ this.onLoad1(this.page1);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crudrec1.toggleSelection();
+ });
+ },
+ refreshChange1() {
+ // console.log(4534)
+ this.onLoad1(this.page1, this.query1);
+ },
+
+ // beforeOpen(done, type) {
+ // var that = this;
+ // if (["add", "edit", "view"].includes(type)) {
+ // if (this.userInfo.role_name == "保安公司管理员") {
+ // getListByDeptId(that.userInfo.dept_id).then((res) => {
+ // const userColumn = that.findObject(this.option1.column, "userIds");
+ // userColumn.dicData = res.data.data;
+ // });
+ // }
+ // }
+ // this.initFlag = true;
+ // done();
+ // },
+
+ getStartTime() {
+ if (
+ this.$route.query.startTime != undefined &&
+ this.$route.query.startTime != null &&
+ this.$route.query.startTime != ""
+ ) {
+ return this.$route.query.startTime;
+ }
+ return "";
+ },
+ getEndTime() {
+ if (
+ this.$route.query.endTime != undefined &&
+ this.$route.query.endTime != null &&
+ this.$route.query.endTime != ""
+ ) {
+ return this.$route.query.endTime;
+ }
+ return "";
+ },
+ //
+ onLoad1(page, params = {}) {
+ this.loading1 = true;
+ var values;
+ //默认查询已派遣的,派遣结束,未派遣的不显示
+ params["dispatch"] = 0;
+ if (this.card.jurisdiction == 1372091709474910209) {
+ this.card.jurisdiction = "";
+ }
+ const { releaseTimeRange } = this.query1;
+ if (releaseTimeRange) {
+ values = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ ...this.query,
+ ...this.card,
+ };
+ values.releaseTimeRange = null;
+ } else {
+ values = {
+ ...params,
+ ...this.query,
+ ...this.card,
+ };
+ }
+
+ if (this.userInfo.role_name == "保安公司管理员") {
+ const deptColumn = this.findObject(this.option1.column, "deptId");
+ deptColumn.disabled = true;
+ // deptColumn.search = false; //会报错
+ deptColumn.value = this.userInfo.dept_id;
+ this.initData(2);
+ } else {
+ this.initData(1);
+ }
+
+ getdata1(
+ page.currentPage,
+ page.pageSize,
+ // Object.assign(params, this.query)
+ values
+ ).then((res) => {
+ const data = res.data.data;
+ this.page1.total = data.total;
+ this.data1 = data.records;
+ this.loading1 = false;
+ // this.$nextTick(() => this.$refs.crudrec1.dicInit("cascader"));
+ // console.log(this.form, 111111);
+ });
+ },
+ initData(type, d = 1) {
+ var that = this;
+ if (type == 1) {
+ getDispatcherUnitByDeptId(null).then((res) => {
+ const dispatcherUnitIdColumn = that.findObject(
+ this["option" + d].column,
+ "dispatcherUnitId"
+ );
+ // console.log(res.data.data, 111);
+ dispatcherUnitIdColumn.dicData = res.data.data;
+ });
+ }
+ if (type == 2) {
+ getDispatcherUnitByDeptId(that.userInfo.dept_id).then((res) => {
+ const dispatcherUnitIdColumn = that.findObject(
+ this["option" + d].column,
+ "dispatcherUnitId"
+ );
+ dispatcherUnitIdColumn.dicData = res.data.data;
+ });
+ getListByDeptId(that.userInfo.dept_id, 1).then((res) => {
+ const userIdsColumn = that.findObject(
+ this["option" + d].column,
+ "userIds"
+ );
+ userIdsColumn.dicData = res.data.data;
+ });
+ }
+ },
+ },
+ // watch: {
+ // // "form.deptId"() {
+ // // this.initData();
+ // // }
+ // deps(){
+ // console.log(this.deps,5646646)
+ // }
+ // },
+ mounted() {
+ this.onLoad1(this.page1, this.query1);
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.dispatch {
+ width: 100%;
+ height: 100%;
+ // border: 1px solid #000;
+ box-sizing: border-box;
+}
+.el-collapse-item {
+ padding-top: 15px !important;
+}
+</style>
diff --git a/src/views/securityAnalysis/child/certificate.vue b/src/views/securityAnalysis/child/certificate.vue
new file mode 100644
index 0000000..6d21504
--- /dev/null
+++ b/src/views/securityAnalysis/child/certificate.vue
@@ -0,0 +1,210 @@
+<template>
+ <div class="certificateTJ">
+ <avue-crud
+ :option="option1"
+ :data="data1"
+ :page.sync="page1"
+ :table-loading="loading1"
+ @on-load="getPractitionersPageInfo(page1)"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @refresh-change="refreshChange"
+ >
+ </avue-crud>
+ </div>
+</template>
+
+<script>
+import { getList } from "@/api/securityGuard/securityGuard"; // 保安员
+export default {
+ props: ["card"],
+ data() {
+ return {
+ securityid1: "",
+ ExperienceVisible: false,
+ loading1: true,
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query1: {},
+ data1: [],
+ option1: {
+ addBtn: false,
+ searchShowBtn: false,
+ columnBtn: false,
+ // refreshBtn: false,
+ // card: true,
+ menu: false,
+ height: 450,
+ widtd: "auto",
+ // calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ // tip: false,
+ index: true,
+ // dialogClickModal: false,
+ // headerAlign: "center",
+ align: "center",
+ column: [
+ {
+ label: "姓名",
+ prop: "realName",
+ disabled: true,
+ searchLabelWidth: "50",
+ width: 80,
+ overHidden: true,
+ searchSpan: 3,
+ search: true,
+ },
+ {
+ label: "所属保安公司",
+ searchLabelWidth: "110",
+ // prop: "deptName",
+ prop: "deptId",
+ type: "tree",
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ // hide: true,
+ // slot: true,
+ searchSpan: 5,
+ display: false,
+ search: true,
+ minWidth: 220,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ width: 55,
+ type: "select",
+ dicData: [
+ {
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ ],
+ display: false,
+ },
+ {
+ label: "身份证号码",
+ prop: "cardid",
+ search: true,
+ searchLabelWidth: 90,
+ searchSpan: 5,
+ minWidth: 140,
+ display: false,
+ },
+ {
+ label: "学历",
+ prop: "education",
+ display: false,
+ width: 90,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ type: "select",
+ // hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择学历",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ minWidth: 100,
+ display: false,
+ },
+ {
+ label: "是否持证",
+ prop: "hold",
+ search: true,
+ disabled: false,
+ type: "select",
+ searchSpan: 4,
+ // searchValue: "1",
+ dicData: [
+ {
+ label: "持证",
+ value: "1",
+ },
+ {
+ label: "未持证",
+ value: "2",
+ },
+ {
+ label: "已吊销",
+ value: "3",
+ },
+ ],
+ },
+ {
+ label: "发证时间",
+ prop: "paperTime",
+ disabled: true,
+ },
+ ],
+ },
+ };
+ },
+ methods: {
+ getPractitionersPageInfo(page, params = {}) {
+ if (this.card.jurisdiction == 1372091709474910209) {
+ this.card.jurisdiction = "";
+ }
+ // if (params.hold == undefined) {
+ // params.hold = 1;
+ // }
+ params = {
+ ...params,
+ ...this.query1,
+ status: 1,
+ ...this.card,
+ };
+ getList(page.currentPage, page.pageSize, params).then((res) => {
+ // console.log(res.data.data.records);
+ const data = res.data.data;
+ this.data1 = data.records;
+ this.page1.total = data.total;
+ this.loading1 = false;
+ });
+ },
+ refreshChange() {
+ this.getPractitionersPageInfo(this.page1, this.query1);
+ },
+ searchChange(params, done) {
+ this.query1 = params;
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ done();
+ },
+ searchReset() {
+ this.query1 = {};
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ // console.log(212);
+ },
+ },
+};
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/securityAnalysis/child/dispatch.vue b/src/views/securityAnalysis/child/dispatch.vue
new file mode 100644
index 0000000..1dc10e9
--- /dev/null
+++ b/src/views/securityAnalysis/child/dispatch.vue
@@ -0,0 +1,363 @@
+<template>
+ <div class="certificateTJ">
+ <avue-crud
+ :option="option1"
+ :data="data1"
+ :page.sync="page1"
+ :table-loading="loading1"
+ @on-load="getPractitionersPageInfo(page1)"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @refresh-change="refreshChange"
+ >
+ </avue-crud>
+ </div>
+</template>
+
+<script>
+import { getdata } from "@/api/dispatch/dispatch";
+export default {
+ props: ["card"],
+ data() {
+ var jurisdiction =
+ this.card.jurisdiction == "1372091709474910209"
+ ? "1372091709474910209"
+ : this.card.jurisdiction;
+ return {
+ securityid1: "",
+ ExperienceVisible: false,
+ loading1: true,
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query1: {},
+ data1: [],
+ option1: {
+ addBtn: false,
+ searchShowBtn: false,
+ columnBtn: false,
+ // refreshBtn: false,
+ // card: true,
+ menu: false,
+ height: 450,
+ widtd: "auto",
+ // calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ // tip: false,
+ index: true,
+ // dialogClickModal: false,
+ // headerAlign: "center",
+ align: "center",
+ column: [
+ //派遣服务公司登记
+ {
+ label: "派遣单位名称",
+ prop: "name",
+ search: true,
+ searchLabelWidth: 110,
+ overHidden: true,
+ searchSpan: 4,
+ width: 210,
+ // span: 12,
+ labelWidth: 118,
+ },
+ {
+ label: "派遣单位地址",
+ prop: "address",
+ search: false,
+ searchLabelWidth: 110,
+ overHidden: true,
+ searchSpan: 4,
+ width: 210,
+ // span: 12,
+ labelWidth: 118,
+ },
+ {
+ label: "保安公司",
+ prop: "deptName",
+ type: "tree",
+ overHidden: true,
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ // hide: true,
+ // hide: !website.tenantMode,
+ // addDisplay: website.tenantMode,
+ // editDisplay: website.tenantMode,
+ // viewDisplay: website.tenantMode,
+ rules: [
+ {
+ required: true,
+ message: "请选择保安公司",
+ trigger: "click",
+ },
+ ],
+ labelWidth: 118,
+ width: 230,
+ searchLabelWidth: 80,
+ search: true,
+ searchSpan: 4,
+ // editDisplay: false,
+ // addDisplay: false,
+ // hide: true,
+ // span: 11,
+ },
+ //备用 不删 ↑针对没有depid的公司名字转换
+ // {
+ // label: "保安公司",
+ // prop: "deptId",
+ // type: "tree",
+ // overHidden: true,
+ // dicUrl:
+ // "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
+ // jurisdiction,
+ // props: {
+ // label: "title",
+ // value: "id",
+ // },
+ // // hide: true,
+ // // hide: !website.tenantMode,
+ // // addDisplay: website.tenantMode,
+ // // editDisplay: website.tenantMode,
+ // // viewDisplay: website.tenantMode,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择保安公司",
+ // trigger: "click",
+ // },
+ // ],
+ // labelWidth: 118,
+ // width: 230,
+ // searchLabelWidth: 80,
+ // search: true,
+ // searchSpan: 4,
+ // // editDisplay: false,
+ // // addDisplay: false,
+ // // hide: true,
+ // // span: 11,
+ // },
+ {
+ label: "保安服务类型",
+ prop: "serveType",
+ // search: true,
+ searchLabelWidth: 110,
+ searchSpan: 4,
+ overHidden: true,
+ // span: 12,
+ labelWidth: 118,
+ },
+ {
+ label: "合同生效时间",
+ prop: "releaseTimeRange",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ searchValue: [this.getStartTime(), this.getEndTime()],
+ searchRange: true,
+ searchSpan: 5,
+ searchLabelWidth: 110,
+ hide: true,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ search: true,
+ rules: [
+ {
+ required: true,
+ message: "请输入时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ // {
+ // label: " 派遣人数",
+ // prop: "num",
+ // labelWidth: 118,
+ // },
+ {
+ label: "合同开始时间",
+ prop: "startTime",
+ labelWidth: 118,
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: "合同结束时间",
+ prop: "endTime",
+ labelWidth: 118,
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ // search: true,
+ // searchSpan: 4,
+ // overHidden: true
+ },
+ {
+ label: " 负责人",
+ prop: "linkman",
+ labelWidth: 118,
+ },
+ {
+ label: "负责人联系方式",
+ prop: "phone",
+ labelWidth: 118,
+ width: 110,
+ },
+ {
+ label: "所属辖区",
+ prop: "jurisdiction",
+ hide: true,
+ searchLabelWidth: 80,
+ search: true,
+ searchSpan: 4,
+ overHidden: true,
+ labelWidth: 118,
+ type: "tree",
+ dicUrl: "/api/jurisdiction/lazy-tree",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ checkStrictly: true,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择所属辖区",
+ trigger: "click",
+ },
+ ],
+ },
+ {
+ label: "所属辖区",
+ prop: "jurisdictionName",
+ // multiple: true,
+ searchLabelWidth: 80,
+ addDisplay: false,
+ editDisplay: false,
+ viewDisplay: false,
+ overHidden: true,
+ labelWidth: 118,
+ type: "tree",
+ dicUrl: "/api/jurisdiction/lazy-tree",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ checkStrictly: true,
+ slot: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择所属辖区",
+ trigger: "click",
+ },
+ ],
+ },
+ ],
+ },
+ };
+ },
+ methods: {
+ getStartTime() {
+ if (
+ this.$route.query.startTime != undefined &&
+ this.$route.query.startTime != null &&
+ this.$route.query.startTime != ""
+ ) {
+ return this.$route.query.startTime;
+ }
+ return "";
+ },
+ getEndTime() {
+ if (
+ this.$route.query.endTime != undefined &&
+ this.$route.query.endTime != null &&
+ this.$route.query.endTime != ""
+ ) {
+ return this.$route.query.endTime;
+ }
+ return "";
+ },
+ getPractitionersPageInfo(page, params = {}) {
+ // this.card.jurisdiction = "130";
+ // this.card.this.card = "1425365571343515649";
+ // if (params.hold == undefined) {
+ // params.hold = 1;
+ // }
+ if (this.card.jurisdiction != "" || this.card.jurisdiction != undefined) {
+ if (this.query1.deptId != "" || this.query1.deptId != undefined) {
+ this.card.deptId = this.query1.deptId;
+ }
+ this.option1.column[2].search = true;
+ } else {
+ this.option1.column[2].search = false;
+ }
+ if (this.card.jurisdiction == 1372091709474910209) {
+ this.card.jurisdiction = "";
+ }
+ // console.log(this.query1);
+ const releaseTimeRange = this.query1.releaseTimeRange;
+ if (releaseTimeRange) {
+ params = {
+ ...params,
+ beginTime: releaseTimeRange[0],
+ overTime: releaseTimeRange[1],
+ status: 1,
+ ...this.query1,
+ ...this.card,
+ };
+ // values.releaseTimeRange = null;
+ } else {
+ params = {
+ ...params,
+ ...this.query1,
+ status: 1,
+ ...this.card,
+ };
+ }
+ console.log(params);
+ getdata(page.currentPage, page.pageSize, params).then((res) => {
+ // console.log(res.data.data.records);
+ const data = res.data.data;
+ this.data1 = data.records;
+ this.page1.total = data.total;
+ this.loading1 = false;
+ });
+ },
+ refreshChange() {
+ this.getPractitionersPageInfo(this.page1, this.query1);
+ },
+ searchChange(params, done) {
+ if (params.deptName) {
+ params.deptId = params.deptName;
+ }
+ delete params.deptName;
+ this.query1 = params;
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ done();
+ },
+ searchReset() {
+ this.query1 = {};
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ // console.log(212);
+ },
+ },
+};
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/securityAnalysis/child/examination.vue b/src/views/securityAnalysis/child/examination.vue
new file mode 100644
index 0000000..2c33342
--- /dev/null
+++ b/src/views/securityAnalysis/child/examination.vue
@@ -0,0 +1,123 @@
+<template>
+ <div class="certificateTJ">
+ <avue-crud
+ :option="option1"
+ :data="data1"
+ :page.sync="page1"
+ :table-loading="loading1"
+ @on-load="getPractitionersPageInfo(page1)"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @refresh-change="refreshChange"
+ >
+ </avue-crud>
+ </div>
+</template>
+
+<script>
+import {
+ getinformationstatisticsXX, //保安员考试情况详情统计
+} from "@/api/securityAnalysis/securityAnalysis";
+export default {
+ props: ["card"],
+ data() {
+ return {
+ securityid1: "",
+ ExperienceVisible: false,
+ loading1: true,
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query1: {},
+ data1: [],
+ option1: {
+ addBtn: false,
+ searchShowBtn: false,
+ columnBtn: false,
+ // refreshBtn: false,
+ // card: true,
+ menu: false,
+ height: 450,
+ widtd: "auto",
+ // calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ // tip: false,
+ index: true,
+ // dialogClickModal: false,
+ // headerAlign: "center",
+ align: "center",
+ column: [
+ {
+ label: "姓名",
+ prop: "securityName",
+ disabled: true,
+ search: true,
+ },
+ {
+ label: "考试场次",
+ prop: "examName",
+ disabled: true,
+ },
+ {
+ label: "考试时间",
+ prop: "examTime",
+ disabled: true,
+ },
+ {
+ label: "考试分数",
+ prop: "allGrade",
+ disabled: true,
+ },
+ ],
+ },
+ };
+ },
+ methods: {
+ getPractitionersPageInfo(page, params = {}) {
+ // this.data1 = this.czdata;
+ // console.log(page);
+ params = {
+ ...params,
+ ...this.card,
+ };
+ getinformationstatisticsXX(page.currentPage, page.pageSize, params).then(
+ (res) => {
+ // console.log(res.data.data.records);
+ const data = res.data.data;
+ this.data1 = data.records;
+ this.page1.total = data.total;
+ this.loading1 = false;
+ }
+ );
+ },
+ refreshChange() {
+ this.getPractitionersPageInfo(this.page1);
+ },
+ searchChange(params, done) {
+ if (params.czname == undefined) {
+ this.data1 = this.czdata;
+ done();
+ return;
+ }
+ var text = new RegExp(params.czname, "g"),
+ d = [];
+ for (let k in this.czdata) {
+ if (text.test(this.czdata[k].czname)) {
+ d.push(this.czdata[k]);
+ }
+ }
+ this.data1 = d;
+ done();
+ },
+ searchReset(done) {
+ this.data1 = this.czdata;
+ },
+ },
+};
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/securityAnalysis/child/situation.vue b/src/views/securityAnalysis/child/situation.vue
new file mode 100644
index 0000000..90af1cb
--- /dev/null
+++ b/src/views/securityAnalysis/child/situation.vue
@@ -0,0 +1,206 @@
+<template>
+ <div class="certificateTJ">
+ <avue-crud
+ :option="option1"
+ :data="data1"
+ :page.sync="page1"
+ :table-loading="loading1"
+ @on-load="getPractitionersPageInfo(page1)"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @refresh-change="refreshChange"
+ >
+ </avue-crud>
+ </div>
+</template>
+
+<script>
+import { getList } from "@/api/securityGuard/securityGuard"; // 保安员
+export default {
+ props: ["card"],
+ data() {
+ return {
+ securityid1: "",
+ ExperienceVisible: false,
+ loading1: true,
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query1: {},
+ data1: [],
+ option1: {
+ addBtn: false,
+ searchShowBtn: false,
+ columnBtn: false,
+ // refreshBtn: false,
+ // card: true,
+ menu: false,
+ height: 450,
+ widtd: "auto",
+ // calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ // tip: false,
+ index: true,
+ // dialogClickModal: false,
+ // headerAlign: "center",
+ align: "center",
+ column: [
+ {
+ label: "姓名",
+ prop: "realName",
+ disabled: true,
+ searchLabelWidth: "50",
+ width: 80,
+ overHidden: true,
+ searchSpan: 3,
+ search: true,
+ },
+ {
+ label: "所属保安公司",
+ searchLabelWidth: "110",
+ // prop: "deptName",
+ prop: "deptId",
+ type: "tree",
+ dicUrl:
+ "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+ props: {
+ label: "title",
+ value: "id",
+ },
+ // hide: true,
+ // slot: true,
+ searchSpan: 4,
+ display: false,
+ search: true,
+ minWidth: 220,
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ width: 55,
+ type: "select",
+ dicData: [
+ {
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ ],
+ display: false,
+ },
+ {
+ label: "身份证号码",
+ prop: "cardid",
+ search: true,
+ searchLabelWidth: 90,
+ searchSpan: 4,
+ minWidth: 140,
+ display: false,
+ },
+ {
+ label: "学历",
+ prop: "education",
+ display: false,
+ width: 90,
+ dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
+ props: {
+ label: "dictValue",
+ value: "dictKey",
+ },
+ type: "select",
+ // hide: true,
+ rules: [
+ {
+ required: true,
+ message: "请选择学历",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "联系电话",
+ prop: "phone",
+ minWidth: 100,
+ display: false,
+ },
+ {
+ label: "审查状态",
+ prop: "examinationType",
+ search: true,
+ disabled: false,
+ type: "select",
+ searchSpan: 3,
+ // searchValue: "1",
+ dicData: [
+ {
+ label: "正常",
+ value: "0",
+ },
+ {
+ label: "异常",
+ value: "1",
+ },
+ ],
+ },
+ {
+ label: "审查明细",
+ prop: "examinationMx",
+ disabled: true,
+ },
+ ],
+ },
+ };
+ },
+ methods: {
+ getPractitionersPageInfo(page, params = {}) {
+ if (this.card.jurisdiction == 1372091709474910209) {
+ this.card.jurisdiction = "";
+ }
+ // if (params.hold == undefined) {
+ // params.hold = 1;
+ // }
+ params = {
+ ...params,
+ ...this.query1,
+ status: 1,
+ ...this.card,
+ };
+ getList(page.currentPage, page.pageSize, params).then((res) => {
+ // console.log(res.data.data.records);
+ const data = res.data.data;
+ this.data1 = data.records;
+ this.page1.total = data.total;
+ this.loading1 = false;
+ });
+ },
+ refreshChange() {
+ this.getPractitionersPageInfo(this.page1, this.query1);
+ },
+ searchChange(params, done) {
+ this.query1 = params;
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ done();
+ },
+ searchReset() {
+ this.query1 = {};
+ this.page1.currentPage = 1;
+ this.refreshChange();
+ // console.log(212);
+ },
+ },
+};
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/securityAnalysis/child/socialSecurity.vue b/src/views/securityAnalysis/child/socialSecurity.vue
new file mode 100644
index 0000000..20a398b
--- /dev/null
+++ b/src/views/securityAnalysis/child/socialSecurity.vue
@@ -0,0 +1,584 @@
+<template>
+ <basic-container>
+ <avue-crud
+ :option="option"
+ :table-loading="loading"
+ :data="data"
+ :page.sync="page"
+ :permission="permissionList"
+ :before-open="beforeOpen"
+ v-model="form"
+ ref="crud"
+ @row-update="rowUpdate"
+ @row-save="rowSave"
+ @row-del="rowDel"
+ @search-change="searchChange"
+ @search-reset="searchReset"
+ @selection-change="selectionChange"
+ @current-change="currentChange"
+ @size-change="sizeChange"
+ @refresh-change="refreshChange"
+ @on-load="onLoad"
+ >
+ <template slot="menuLeft">
+ <el-button
+ type="danger"
+ size="small"
+ icon="el-icon-delete"
+ plain
+ v-if="seess"
+ @click="handleDelete"
+ >删 除
+ <!-- v-if="permission.social_delete" -->
+ </el-button>
+ <el-button
+ type="success"
+ size="small"
+ plain
+ icon="el-icon-upload2"
+ v-if="seess"
+ @click="handleImport"
+ >批量导入
+ </el-button>
+ </template>
+ </avue-crud>
+ <el-dialog
+ title="用户数据导入"
+ append-to-body
+ :visible.sync="excelBox"
+ width="555px"
+ >
+ <avue-form
+ :option="excelOption"
+ v-model="excelForm"
+ :upload-after="uploadAfter"
+ >
+ <template slot="excelTemplate">
+ <el-button type="primary" @click="handleTemplate">
+ 点击下载<i class="el-icon-download el-icon--right"></i>
+ </el-button>
+ </template>
+ </avue-form>
+ </el-dialog>
+ </basic-container>
+</template>
+
+<script>
+import {
+ getuseList,
+ getList,
+ getDetail,
+ add,
+ update,
+ remove,
+} from "@/api/social/social";
+import { mapGetters } from "vuex";
+import { getToken } from "@/util/auth";
+export default {
+ props: ["card"],
+ data() {
+ var card = this.card;
+ var deptid,
+ sees = true,
+ baoan = "namb",
+ baoanSearch = {
+ type: "tree",
+ change: (res) => {
+ this.changes(res);
+ },
+ },
+ jurisdiction;
+ if (this.card.jurisdiction == "") {
+ // deptid = this.userInfo
+ // console.log(this.$store.getters.userInfo.dept_id);
+ jurisdiction = "";
+ deptid = card.deptid;
+ } else {
+ jurisdiction = card.jurisdiction;
+ baoan = "realname";
+ (baoanSearch = {}), (deptid = "");
+ sees = false;
+ }
+ return {
+ seess: sees,
+ deptid: deptid,
+ jurisdiction: jurisdiction,
+
+ form: { cardid: "" },
+
+ query: {},
+ loading: true,
+ excelBox: false,
+ page: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ selectionList: [],
+ option: {
+ height: "auto",
+ calcHeight: 30,
+ tip: false,
+ searchShow: true,
+ align: "center",
+ searchMenuSpan: 6,
+ border: true,
+ index: true,
+ height: 430,
+ addBtn: sees,
+ viewBtn: true,
+ menu: false,
+ selection: true,
+ dialogClickModal: false,
+ column: [
+ {
+ label: "姓名",
+ prop: baoan,
+
+ width: 65,
+ labelWidth: 110,
+ dicUrl: "/api/blade-user/page-security-unit?deptId=" + deptid,
+ props: {
+ label: "realName",
+ value: "id",
+ },
+ search: true,
+ searchLabelWidth: 45,
+ searchSpan: 4,
+ ...baoanSearch,
+ rules: [
+ {
+ required: true,
+ message: "请输入姓名",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "性别",
+ prop: "sex",
+ width: 55,
+ type: "select",
+ dicData: [
+ {
+ label: "男",
+ value: 1,
+ },
+ {
+ label: "女",
+ value: 2,
+ },
+ {
+ label: "未知",
+ value: 3,
+ },
+ ],
+ labelWidth: 110,
+ addDisabled: true,
+ editDisabled: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入性别",
+ // trigger: "blur",
+ // },
+ // ],
+ },
+ {
+ label: "民族",
+ prop: "nation",
+ addDisabled: true,
+ editDisabled: true,
+ width: 55,
+ labelWidth: 110,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入民族",
+ // trigger: "blur",
+ // },
+ // ],
+ },
+ // {
+ // label: "出生日期",
+ // labelWidth: 110,
+ // width: 90,
+ // // addDisabled: true,
+ // // editDisabled: true,
+ // prop: "birthday",
+ // type: "date",
+ // format: "yyyy-MM-dd",
+ // valueFormat: "yyyy-MM-dd",
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入出生日期",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "联系电话",
+ prop: "telephone",
+ labelWidth: 110,
+ addDisabled: true,
+ editDisabled: true,
+ width: 98,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入联系电话",
+ // trigger: "blur",
+ // },
+ // ],
+ },
+ {
+ label: "身份证号",
+ prop: "cardid",
+ labelWidth: 110,
+ addDisabled: true,
+ editDisabled: true,
+ width: 150,
+ rules: [
+ {
+ required: true,
+ message: "请输入身份证号",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "户籍所在地址",
+ prop: "residence",
+ labelWidth: 110,
+ overHidden: true,
+ addDisabled: true,
+ editDisabled: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入户籍所在地址",
+ // trigger: "blur",
+ // },
+ // ],
+ },
+ // {
+ // label: "居住地址 ",
+ // prop: "address",
+ // overHidden: true,
+ // addDisabled: true,
+ // editDisabled: true,
+ // labelWidth: 110,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入居住地址 ",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ // {
+ // label: "户籍性质",
+ // prop: "nature",
+ // // addDisabled: true,
+ // // editDisabled: true,
+ // labelWidth: 110,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请输入户籍性质",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "个人缴费额",
+ prop: "amount",
+ labelWidth: 110,
+ rules: [
+ {
+ required: true,
+ message: "请输入个人缴费额",
+ trigger: "blur",
+ },
+ ],
+ },
+ {
+ label: "参保时间",
+ labelWidth: 110,
+ width: 90,
+ prop: "insuredtime",
+ type: "date",
+ format: "yyyy-MM-dd",
+ valueFormat: "yyyy-MM-dd",
+ rules: [
+ {
+ required: true,
+ message: "请输入参保时间",
+ trigger: "blur",
+ },
+ ],
+ },
+ // {
+ // label: "所属机构",
+ // labelWidth: 110,
+ // prop: "deptid",
+ // addDisplay: false,
+ // type: "select",
+ // dicUrl: "/api/blade-system/dept/selectIn",
+ // props: {
+ // label: "deptname",
+ // value: "deptid",
+ // },
+ // },
+ ],
+ },
+ data: [],
+ excelForm: {},
+ excelOption: {
+ submitBtn: false,
+ emptyBtn: false,
+ column: [
+ {
+ label: "模板上传",
+ prop: "excelFile",
+ type: "upload",
+ drag: true,
+ loadText: "模板上传中,请稍等",
+ span: 24,
+ propsHttp: {
+ res: "data",
+ },
+ tip: "请上传 .xls,.xlsx 标准格式文件",
+ action: "/api/social/import-user?deptid=" + deptid,
+ },
+ // {
+ // label: "数据覆盖",
+ // prop: "isCovered",
+ // type: "switch",
+ // align: "center",
+ // hide: true,
+ // width: 80,
+ // dicData: [
+ // {
+ // label: "否",
+ // value: 0,
+ // },
+ // {
+ // label: "是",
+ // value: 1,
+ // },
+ // ],
+ // value: 0,
+ // slot: true,
+ // rules: [
+ // {
+ // required: true,
+ // message: "请选择是否覆盖",
+ // trigger: "blur",
+ // },
+ // ],
+ // },
+ {
+ label: "模板下载",
+ prop: "excelTemplate",
+ formslot: true,
+ span: 24,
+ },
+ ],
+ },
+ };
+ },
+ watch: {
+ "excelForm.isCovered"() {
+ console.log(123123);
+ if (this.excelForm.isCovered !== "") {
+ const column = this.findObject(this.excelOption.column, "excelFile");
+ column.action =
+ `/api/social/import-user?isCovered=${this.excelForm.isCovered}` +
+ "&deptid=" +
+ // this.userInfo.dept_id;
+ this.deptid;
+ }
+ },
+ },
+ computed: {
+ ...mapGetters(["permission", "userInfo"]),
+ permissionList() {
+ return {
+ addBtn: this.vaildData(this.permission.social_add, true),
+ viewBtn: this.vaildData(this.permission.social_view, false),
+ delBtn: this.vaildData(this.permission.social_delete, false),
+ editBtn: this.vaildData(this.permission.social_edit, false),
+ };
+ },
+ ids() {
+ let ids = [];
+ this.selectionList.forEach((ele) => {
+ ids.push(ele.id);
+ });
+ return ids.join(",");
+ },
+ },
+ methods: {
+ changes(val) {
+ if (val.value != "") {
+ getuseList(val.value).then((res) => {
+ // console.log(res);
+ var d = res.data.data;
+ this.form.cardid = d.cardid;
+ this.form.telephone = d.phone;
+ this.form.residence = d.nativeplace;
+ this.form.address = d.address;
+ this.form.sex = d.sex;
+ this.form.nation = d.nation;
+ this.form.birthday = d.birthday;
+ });
+ }
+ },
+ rowSave(row, done, loading) {
+ console.log(row);
+ row.deptid = this.deptid;
+ // return;
+ add(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ loading();
+ window.console.log(error);
+ }
+ );
+ },
+ rowUpdate(row, index, done, loading) {
+ console.log(row);
+ // return;
+ row.deptid = this.deptid;
+ update(row).then(
+ () => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ done();
+ },
+ (error) => {
+ loading();
+ console.log(error);
+ }
+ );
+ },
+ rowDel(row) {
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ });
+ },
+ handleTemplate() {
+ window.open(
+ `/api/social/export-template?${this.website.tokenHeader}=${getToken()}`
+ );
+ },
+ uploadAfter(res, done, loading, column) {
+ window.console.log(column);
+ this.excelBox = false;
+ this.refreshChange();
+ done();
+ },
+ handleImport() {
+ this.excelBox = true;
+ },
+ handleDelete() {
+ if (this.selectionList.length === 0) {
+ this.$message.warning("请选择至少一条数据");
+ return;
+ }
+ this.$confirm("确定将选择数据删除?", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(this.ids);
+ })
+ .then(() => {
+ this.onLoad(this.page);
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ });
+ this.$refs.crud.toggleSelection();
+ });
+ },
+ beforeOpen(done, type) {
+ if (["edit", "view"].includes(type)) {
+ getDetail(this.form.id).then((res) => {
+ this.form = res.data.data;
+ });
+ }
+ done();
+ },
+ searchReset() {
+ this.query = {};
+ this.onLoad(this.page);
+ },
+ searchChange(params, done) {
+ this.query = params;
+ this.page.currentPage = 1;
+ this.onLoad(this.page, params);
+ done();
+ },
+ selectionChange(list) {
+ this.selectionList = list;
+ },
+ selectionClear() {
+ this.selectionList = [];
+ this.$refs.crud.toggleSelection();
+ },
+ currentChange(currentPage) {
+ this.page.currentPage = currentPage;
+ },
+ sizeChange(pageSize) {
+ this.page.pageSize = pageSize;
+ },
+ refreshChange() {
+ this.onLoad(this.page, this.query);
+ },
+ onLoad(page, params = {}) {
+ this.loading = true;
+ params["deptid"] = this.deptid;
+ getList(
+ page.currentPage,
+ page.pageSize,
+ Object.assign(params, this.query)
+ ).then((res) => {
+ const data = res.data.data;
+ this.page.total = data.total;
+ this.data = data.records;
+ this.loading = false;
+ this.selectionClear();
+ });
+ },
+ },
+};
+</script>
+
+<style>
+</style>
diff --git a/src/views/securityAnalysis/index.vue b/src/views/securityAnalysis/index.vue
index ad71495..4e3ad01 100644
--- a/src/views/securityAnalysis/index.vue
+++ b/src/views/securityAnalysis/index.vue
@@ -2,7 +2,23 @@
<div class="securityAnalysis">
<!-- securityAnalysis -->
<div class="securityAnalysisleft">
- <div class="examine" ref="ech1">
+ <!-- <div class="examines"> -->
+ <!-- <div class="examine" ref="ech1"></div> -->
+ <!-- <div class="examine1"> -->
+ <!-- <div>审查时间:</div>
+ <div>审查时间:</div>
+ <div>问题保安员人数:</div>
+ <div>问题保安员人数:</div>
+ <div>问题保安员比例:</div>
+ <div>问题保安员比例:</div> -->
+ <!-- <div v-for="(item, index) in examine1" :key="index">
+ {{ item.title }}<br />{{ item.value }}
+ </div>
+ </div> -->
+ <!-- 保安员审查情况统计
+ <div>饼图</div> -->
+ <!-- </div> -->
+ <div class="examines" ref="ech1">
<!-- 保安员审查情况统计
<div>饼图</div> -->
</div>
@@ -10,6 +26,7 @@
<!-- 保安员持证情况统计
<div>饼图</div> -->
</div>
+ <!-- <div class="czbut"></div> -->
</div>
<div class="securityAnalysiscenter">
<div class="examination" ref="ech3">
@@ -31,6 +48,53 @@
<div>饼图</div> -->
</div>
</div>
+ <div>
+ <el-dialog
+ width="90%"
+ :title="titles"
+ append-to-body
+ :visible.sync="dialogVisible"
+ top="9vh"
+ >
+ <situation
+ :card="{ deptid: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 1"
+ >
+ <!-- 保安员审查情况统计 -->
+ </situation>
+
+ <certificate
+ :card="{ deptid: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 2"
+ >
+ <!-- 保安员持证情况统计 -->
+ </certificate>
+ <examination
+ :card="{ deptid: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 3"
+ >
+ <!-- 保安员考试情况统计 -->
+ </examination>
+ <dispatch
+ :card="{ deptId: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 4"
+ >
+ <!-- 派遣服务单位 注意deptId I为大写 -->
+ </dispatch>
+ <assignment
+ :card="{ deptid: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 5"
+ >
+ <!-- 保安派遣情况 -->
+ </assignment>
+ <socialSecurity
+ :card="{ deptid: deptid, jurisdiction: jurisdiction }"
+ v-if="sees == 6"
+ >
+ <!-- 社保缴纳情况 -->
+ </socialSecurity>
+ </el-dialog>
+ </div>
</div>
</template>
@@ -40,12 +104,26 @@
getinformationselectHold, //保安员持证
getinformationselectDis, //派遣服务单位
getinformationstatistics, //保安员考试情况统计
- getinformationselectDisp, //保安派遣数量
+ getinformationselectDisp, //保安派遣情况
getinformationselectSoil, //社保缴纳情况统计
} from "@/api/securityAnalysis/securityAnalysis";
import { mapState } from "vuex";
import { getRoleDetail } from "@/api/system/role";
+import certificate from "./child/certificate.vue";
+import examination from "./child/examination.vue";
+import situation from "./child/situation.vue";
+import dispatch from "./child/dispatch.vue";
+import assignment from "./child/assignment.vue";
+import socialSecurity from "./child/socialSecurity.vue";
export default {
+ components: {
+ certificate,
+ examination,
+ situation,
+ dispatch,
+ assignment,
+ socialSecurity,
+ },
data() {
return {
EC1: "", //保安员审查情况统计 // 饼图
@@ -56,6 +134,14 @@
EC6: "", //社保缴纳情况统计 // 饼图
deptid: "",
jurisdiction: "",
+
+ examine1: [],
+
+ dialogVisible: false,
+ titles: "",
+
+ // czdata: [],
+ sees: "",
};
},
computed: {
@@ -75,6 +161,28 @@
ids2.push(ele.id);
});
return ids2.join(",");
+ },
+ },
+ watch: {
+ dialogVisible() {
+ if (this.dialogVisible == false && this.sees == "1") {
+ this.getEC1();
+ }
+ if (this.dialogVisible == false && this.sees == "2") {
+ this.getEC2();
+ }
+ if (this.dialogVisible == false && this.sees == "3") {
+ this.getEC3();
+ }
+ if (this.dialogVisible == false && this.sees == "4") {
+ this.getEC4();
+ }
+ if (this.dialogVisible == false && this.sees == "5") {
+ this.getEC5();
+ }
+ if (this.dialogVisible == false && this.sees == "6") {
+ this.getEC6();
+ }
},
},
methods: {
@@ -121,6 +229,42 @@
// console.log(d, ok, no);
return d;
},
+ getTime() {
+ var data = new Date();
+ var time = data.toLocaleString().slice(0, 9);
+ return time;
+ },
+ GetPercent(num, total) {
+ num = parseFloat(num);
+ total = parseFloat(total);
+ if (isNaN(num) || isNaN(total)) {
+ return "-";
+ }
+ return total <= 0
+ ? "0%"
+ : Math.round((num / total) * 10000) / 100.0 + "%";
+ },
+ gettoolbox(title, titles, id) {
+ var that = this;
+ return {
+ show: true,
+ itemSize: 25,
+ top: 20,
+ right: 20,
+ feature: {
+ myTool1: {
+ show: true,
+ title: title,
+ icon: "image://img/table.png",
+ onclick: function () {
+ that.dialogVisible = true;
+ that.sees = id;
+ that.titles = titles;
+ },
+ },
+ },
+ };
+ },
getEC1() {
var that = this;
getinformationselectExtype(this.deptid, this.jurisdiction)
@@ -135,6 +279,21 @@
});
},
setEC1(d) {
+ // console.log(d, 1);
+ this.examine1 = [
+ {
+ title: "审查时间:",
+ value: this.getTime(),
+ },
+ {
+ title: "问题保安员人数:",
+ value: d[1].value + "人",
+ },
+ {
+ title: "问题保安员比例:",
+ value: this.GetPercent(+d[1].value, +d[0].value + +d[1].value),
+ },
+ ];
var option, data;
// if (d) {
data = d;
@@ -164,6 +323,13 @@
x: "center",
y: "90%",
},
+ toolbox: this.gettoolbox("审查情况查询", "保安员审查情况明细", 1),
+ // grid: {
+ // // left: "3%",
+ // right: "5%",
+ // // bottom: "3%",
+ // // containLabel: true,
+ // },
series: [
{
// name: "访问来源",
@@ -209,8 +375,50 @@
getinformationselectHold(this.deptid, this.jurisdiction)
.then((res) => {
var a = res.data.data;
+ // console.log(a, "持证");
var b = that.changedata(a, "cz", "wcz", "持证", "未持证");
that.setEC2(b);
+ // var datas = [];
+ // for (var k in a) {
+ // let b = "";
+ // let c = [];
+ // if (a[k].cz >= 1) {
+ // b = {
+ // czname: a[k].czname.split(","),
+ // czptime: a[k].czptime.split(","),
+ // };
+ // // datas.push(a[k]);
+ // // console.log(b, 123);
+ // if (b.czname.length > 1) {
+ // for (var n in b.czname) {
+ // c.push({
+ // czname: b.czname[n],
+ // czptime: b.czptime[n] == 0 ? "" : b.czptime[n],
+ // tpye: "持证",
+ // });
+ // }
+ // } else {
+ // c = [
+ // {
+ // czname: b.czname[0],
+ // czptime: b.czptime[0] == 0 ? "" : b.czptime[0],
+ // tpye: "持证",
+ // },
+ // ];
+ // }
+ // // console.log(c, 132456);
+ // datas.push(...c);
+ // }
+ // if (a[k].wcz >= 1) {
+ // b = {
+ // wczname: a[k].wczname.split(","),
+ // wczptime: a[k].wczptime.split(","),
+ // };
+ // console.log(b, 123);
+ // }
+ // }
+ // // that.czdata = [...datas, ...datas];
+ // that.czdata = datas;
})
.catch((res) => {
var b = that.changedata([], "cz", "wcz", "持证", "未持证");
@@ -219,6 +427,8 @@
},
setEC2(data) {
var option;
+ var that = this;
+ // console.log(data, "持证");
option = {
title: {
text: "保安员持证情况统计",
@@ -235,6 +445,7 @@
x: "center",
y: "83%",
},
+ toolbox: this.gettoolbox("持证情况查询", "保安员持证情况明细", 2),
series: [
{
// name: "访问来源",
@@ -271,7 +482,7 @@
var that = this;
getinformationstatistics(this.deptid, this.jurisdiction).then((res) => {
var a = res.data.data;
- console.log(a, 22222222222222222222);
+ // console.log(a, 22222222222222222222);
// var a = res.data.data,
// s = [],
// l = [];
@@ -288,7 +499,8 @@
setEC3(s, l) {
var xd = [],
sd = [],
- ld = [];
+ ld = [],
+ that = this;
for (var i = 0; i < 100; i++) {
xd.push(i + "分");
}
@@ -318,6 +530,7 @@
formatter:
"<span>实操成绩</span>({b0}) : {c0}<span>人</span><br /><span>理论成绩</span>({b1}) : {c1}<span>人</span>",
},
+ toolbox: this.gettoolbox("考试情况查询", "保安员考试情况明细", 3),
legend: {
data: ["实操成绩", "理论成绩"],
},
@@ -421,7 +634,7 @@
}
}
}
- console.log(d, "派遣服务单位");
+ // console.log(d, "派遣服务单位");
// console.log(a, 123456);
// for (var k in a) {
@@ -460,6 +673,7 @@
data: xxd,
// data: xd,
},
+ toolbox: this.gettoolbox("派遣单位查询", "派遣服务单位明细", 4),
yAxis: {
type: "value",
},
@@ -504,6 +718,7 @@
tooltip: {
trigger: "item",
},
+ toolbox: this.gettoolbox("派遣情况查询", "保安员派遣情况明细", 5),
legend: {
// orient: "vertical",
// left: "left",
@@ -572,6 +787,7 @@
tooltip: {
trigger: "item",
},
+ toolbox: this.gettoolbox("社保缴纳查询", "保安员社保缴纳明细", 6),
legend: {
// orient: "vertical",
// left: "left",
@@ -678,7 +894,7 @@
.securityAnalysiscenter {
width: 40% !important;
}
- .examine,
+ .examines,
.certificate,
.examination,
.dispatchUnit,
@@ -690,6 +906,23 @@
box-sizing: border-box;
background-color: #fff;
}
+ // .examines {
+ // width: 100%;
+ // height: 49%;
+ // display: flex;
+ // align-items: center;
+ // background-color: #fff;
+ // }
+ // .examine {
+ // width: 100%;
+ // height: 100%;
+ // }
+ // .examine1 {
+ // width: 200px;
+ // div {
+ // margin-bottom: 10px;
+ // }
+ // }
// .securityAnalysisleft {
// width: $widths;
// }
--
Gitblit v1.9.3