From 48d34b0def9f848d1b7f9ddd2cd0861341fb208d Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Sat, 04 Dec 2021 17:15:30 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_regulatory_ys

---
 src/views/securityCompany/security.vue                           |   47 
 src/views/securityGuardManagement/computents/dispatch.vue        |  267 +++
 src/views/securityGuardManagement/register copy.vue              | 1558 +++++++++++++++++++++++
 src/views/securityCompany/computents/service.vue                 |   13 
 src/views/securityGuardManagement/register.vue                   |  111 +
 src/views/licenseApproval/securityPermit.vue                     |   55 
 src/views/securityCompany/column.js                              |    7 
 src/api/licenseApproval/revoke.js                                |    2 
 src/views/securityCompany/companyDetails.vue                     |   12 
 src/views/licenseApproval/branchOffice.vue                       |  305 ++++
 src/views/qualificationExamination/registrationTrainingQuery.vue |    4 
 src/views/securityGuardManagement/computents/train.vue           |  175 ++
 src/views/securityCompany/computents/serviceS.vue                |    4 
 src/api/licenseApproval/permit.js                                |    1 
 src/views/securityCompany/computents/punish.vue                  |   82 
 src/views/management/computents/honor.vue                        |   45 
 src/views/licenseApproval/cancellationOfFiling.vue               |  263 +++
 src/views/securityCompany/regulatoryInformation.vue              |  341 ++++
 src/views/onSiteInspection/company.vue                           |   10 
 src/views/licenseApproval/securityTraining.vue                   |  252 +++
 src/api/licenseApproval/recordk.js                               |    2 
 src/views/licenseApproval/column.js                              |   85 +
 src/views/licenseApproval/securityGuard.vue                      |   57 
 src/views/securityCompany/computents/equipment.vue               |    4 
 src/views/securityGuardManagement/data.js                        |   24 
 src/views/licenseApproval/crossRegion.vue                        |  257 +++
 src/views/securityCompany/computents/staff.vue                   |    4 
 src/views/onSiteInspection/securityStaff.vue                     |   10 
 28 files changed, 3,750 insertions(+), 247 deletions(-)

diff --git a/src/api/licenseApproval/permit.js b/src/api/licenseApproval/permit.js
index 41daa26..76288c0 100644
--- a/src/api/licenseApproval/permit.js
+++ b/src/api/licenseApproval/permit.js
@@ -2,6 +2,7 @@
 
 export const getList = (current, size, params) => {
   return request({
+    // url: 'http://223.82.109.183:2088/api/permit/page',
     url: '/api/permit/page',
     method: 'get',
     params: {
diff --git a/src/api/licenseApproval/recordk.js b/src/api/licenseApproval/recordk.js
index e7fe5c0..38d0d05 100644
--- a/src/api/licenseApproval/recordk.js
+++ b/src/api/licenseApproval/recordk.js
@@ -2,7 +2,7 @@
 
 export const getList = (current, size, params) => {
   return request({
-    url: '/api/recordk/list',
+    url: '/api/recordk/page',
     method: 'get',
     params: {
       ...params,
diff --git a/src/api/licenseApproval/revoke.js b/src/api/licenseApproval/revoke.js
index a268a64..bb81379 100644
--- a/src/api/licenseApproval/revoke.js
+++ b/src/api/licenseApproval/revoke.js
@@ -2,7 +2,7 @@
 
 export const getList = (current, size, params) => {
   return request({
-    url: '/api/revoke/list',
+    url: '/api/revoke/page',
     method: 'get',
     params: {
       ...params,
diff --git a/src/views/licenseApproval/branchOffice.vue b/src/views/licenseApproval/branchOffice.vue
index 05fadbc..ef13798 100644
--- a/src/views/licenseApproval/branchOffice.vue
+++ b/src/views/licenseApproval/branchOffice.vue
@@ -2,7 +2,7 @@
  * @Author: liu
  * @Date: 2021-08-26 17:00:55 
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-22 11:28:49
+ * @Last Modified time: 2021-12-04 11:52:58
  */
 
 
@@ -67,14 +67,105 @@
             >打印备案证
           </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template slot-scope="{ type, size, row }" slot="menu">
+          <el-button
+            icon="icon-zhengjian"
+            :size="size"
+            :type="type"
+            class="zhengJian-icon"
+            @click.stop="handleCredentials(row)"
+            >附件</el-button
+          >
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-if="row.stateOur == '0'"
+            @click.stop="rowDel(row)"
+            >备案审批
+          </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-if="
+              row.stateOur != '0' &&
+              !(
+                row.papprove == '1' &&
+                row.xapprove == '1' &&
+                row.sapprove == '1'
+              )
+            "
+            @click.stop="rowSee(row)"
+            >审批查询
+          </el-button>
+          <el-button
+            icon="el-icon-brush"
+            :size="size"
+            :type="type"
+            @click.stop="viewLicense(row)"
+            v-if="
+              row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
+            "
+            >打印备案证
+          </el-button>
+          <el-button
+            icon="el-icon-brush"
+            :size="size"
+            :type="type"
+            v-if="
+              row.papprove == '1' && row.xapprove == '1' && row.sapprove == '1'
+            "
+            @click.stop="viewLicensehuizhi(row)"
+            >回执打印
+          </el-button>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审批"
+              row.papprove == "1"
+                ? "通过"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.type == '2'"></i>
-            <i class="yj" v-if="row.type == '1'"></i>
-            <i class="zc" v-if="row.type == '0'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -155,6 +246,19 @@
         </div>
       </div>
     </el-dialog>
+    <el-dialog
+      title=""
+      :visible.sync="dialogVisibleccsee"
+      width="30%"
+      :modal-append-to-body="false"
+    >
+      <div class="flots">
+        <div class="f_title">
+          审批 {{ stateOur == "1" ? "通过" : stateOur == "2" ? "不通过" : "" }}
+        </div>
+        <div><span>审批意见:</span> {{ stateText }}</div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -171,11 +275,12 @@
 export default {
   data() {
     return {
+      dialogVisibleccsee: false,
       classStyle: "print", //打印样式
 
       dialogVisiblecc: false, //许可证审核抽屉
       xukezData: {},
-
+      stateText: "",
       dialogVisible: false, //许可证抽屉
       licenceData: {
         row: {},
@@ -288,30 +393,72 @@
       this.dialogVisiblecc = true;
       this.xukezData = row;
     },
-    closecc() {
-      this.xukezData.type = "0";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      console.log(this.xukezData);
-      update(this.xukezData);
-      this.textareaShenpi = "";
-      this.$message({
-        type: "success",
-        message: "审核通过!",
-      });
-    },
-    subcc() {
-      this.xukezData.type = "1";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      update(this.xukezData);
-      this.textareaShenpi = "";
-      this.$message({
-        type: "success",
-        message: "审核不通过!",
-      });
+    rowSee(row) {
+      this.dialogVisibleccsee = true;
+      this.stateOur = row.stateOur;
+      // if (this.user_name == "派") {
+      //   // 派出所审批
+      //   this.stateText = row.popinion;
+      // } else if (this.user_name == "县") {
+      //   // 分局审批
+      //   this.stateText = row.xopinion;
+      // } else if (this.user_name == "市") {
+      //   // 市局审批
+      //   this.stateText = row.sopinion;
+      // }
+      this.stateText = row.opinionOur;
+      console.log(this.dialogVisibleccsee);
     },
 
+    closecc() {
+      this.upsData("1", "0"); //通过
+    },
+    subcc() {
+      this.upsData("2", "1"); //不通过
+    },
+    upsData(state, type) {
+      let date = new Date(+new Date() + 8 * 3600 * 1000)
+        .toJSON()
+        .substr(0, 19)
+        .replace("T", " ");
+      // console.log(date);
+      // return;
+      this.dialogVisiblecc = false;
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.xukezData.ptime = date;
+        this.xukezData.papprove = state;
+        this.xukezData.popinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.xukezData.xtime = date;
+        this.xukezData.xapprove = state;
+        this.xukezData.xopinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.xukezData.stime = date;
+        this.xukezData.sapprove = state;
+        this.xukezData.sopinion = this.textareaShenpi;
+        this.xukezData.permitime = new Date(+new Date() + 8 * 3600 * 1000)
+          .toJSON()
+          .substr(0, 19)
+          .replace("T", " ");
+        this.xukezData.type = type == "0" ? "0" : "1"; // 为了保持审核系统识别
+      }
+      // console.log(this.xukezData);
+      // return;
+      update(this.xukezData).then((res) => {
+        console.log(res);
+        this.$message({
+          type: "success",
+          message: "操作成功!",
+        });
+        this.refreshChange();
+        this.textareaShenpi = "";
+      });
+    },
     viewLicense(row) {
       //查看许可证
       console.log(row, 34);
@@ -388,9 +535,93 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
+    getFenji(name) {
+      var d = {};
+      if (name == "派出所管理员") {
+        d = {
+          // papprove: 1,
+        };
+        this.user_name = "派";
+      } else if (name == "县局管理员") {
+        d = {
+          papprove: "1",
+        };
+        this.user_name = "县";
+      } else if (name == "市局管理员") {
+        d = {
+          xapprove: "1",
+        };
+        this.user_name = "市";
+      }
+      return d;
+    },
+    changeState(data) {
+      var b = data;
+      if (this.user_name == "派") {
+        // 派出所审批
+        b["stateOur"] =
+          b.papprove == "0" || b.papprove == ""
+            ? "0"
+            : b.papprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "县") {
+        // 分局审批
+        b["stateOur"] =
+          b.xapprove == "0" || b.xapprove == ""
+            ? "0"
+            : b.xapprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "市") {
+        // 市局审批
+        b["stateOur"] =
+          b.sapprove == "0" || b.sapprove == ""
+            ? "0"
+            : b.sapprove == "1"
+            ? "1"
+            : "2";
+      }
+      console.log(
+        b.papprove == "0" || b.papprove == ""
+          ? "0"
+          : b.papprove == "1"
+          ? "1"
+          : "2"
+      );
+      return b;
+    },
     onLoad(page, params = {}) {
       this.loading = true;
       params["ptype"] = 2;
+      var gonganj = "";
+      console.log(this.userInfo);
+      if (this.userInfo.role_name == "公安管理员") {
+        let test = /派出所$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "派出所管理员";
+        }
+        test = /分局|公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "县局管理员";
+        }
+        test = /市公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "市局管理员";
+        }
+      }
+      // console.log(gonganj);
+      this.userData =
+        gonganj == "派出所管理员" ? "2" : gonganj == "县局管理员" ? "1" : "0";
+      params = {
+        ...params,
+        ...this.getFenji(gonganj),
+      };
+      console.log(params, "params");
+      params["jurisdiction"] = this.userInfo.jurisdiction;
+      // params["usetype"] = this.userData;
+      // this.option.column[this.option.column.length - 2].prop = "opinionOur";
+      // return;
       getList(
         page.currentPage,
         page.pageSize,
@@ -399,6 +630,22 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        for (var k in this.data) {
+          // console.log(this.changeState(this.data[k]));
+          this.data[k] = this.changeState(this.data[k]);
+          let paichusuoyijian = this.data[k].popinion
+            ? "派出所意见:" + this.data[k].popinion + ";"
+            : "";
+          let fenjuijian = this.data[k].xopinion
+            ? "分局意见:" + this.data[k].xopinion + ";"
+            : "";
+          let shijuyijian = this.data[k].sopinion
+            ? "市局意见:" + this.data[k].sopinion + ";"
+            : "";
+          this.data[k]["opinionOur"] =
+            paichusuoyijian + fenjuijian + shijuyijian;
+        }
+        console.log(this.data);
         this.loading = false;
         this.selectionClear();
       });
diff --git a/src/views/licenseApproval/cancellationOfFiling.vue b/src/views/licenseApproval/cancellationOfFiling.vue
index 1364c08..b691e20 100644
--- a/src/views/licenseApproval/cancellationOfFiling.vue
+++ b/src/views/licenseApproval/cancellationOfFiling.vue
@@ -2,7 +2,7 @@
  * @Author: liu
  * @Date: 2021-08-26 17:00:04 
  * @Last Modified by: liu
- * @Last Modified time: 2021-10-12 13:54:42
+ * @Last Modified time: 2021-12-04 11:52:57
  */
 
 
@@ -55,18 +55,71 @@
             :size="size"
             :type="type"
             @click.stop="rowDel(row)"
-            v-if="row.type == '2'"
+            v-if="row.stateOur == '0'"
             >撤销备案审批
           </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-if="
+              row.stateOur != '0' &&
+              !(
+                row.papprove == '1' &&
+                row.xapprove == '1' &&
+                row.sapprove == '1'
+              )
+            "
+            @click.stop="rowSee(row)"
+            >审批查询
+          </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
+              row.papprove == "1"
+                ? "通过"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.type == '2'"></i>
-            <i class="yj" v-if="row.type == '1'"></i>
-            <i class="zc" v-if="row.type == '0'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -94,6 +147,20 @@
         </div>
       </div>
     </el-dialog>
+
+    <el-dialog
+      title=""
+      :visible.sync="dialogVisibleccsee"
+      width="30%"
+      :modal-append-to-body="false"
+    >
+      <div class="flots">
+        <div class="f_title">
+          审批 {{ stateOur == "1" ? "通过" : stateOur == "2" ? "不通过" : "" }}
+        </div>
+        <div><span>审批意见:</span> {{ stateText }}</div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -111,6 +178,8 @@
 export default {
   data() {
     return {
+      dialogVisibleccsee: false,
+      stateText: "",
       classStyle: "print", //打印样式
 
       dialogVisiblecc: false, //许可证审核抽屉
@@ -182,11 +251,12 @@
     },
 
     handleCredentials(row) {
+      console.log(row);
       this.$router.push({
         path: "/attachOnce/index",
         // redirect: { name: "foo" },
         // query: { row: row },
-        query: { deptid: row.cardid, type: "6" },
+        query: { deptid: row.cardid, type: "4" },
         // params: { row: row.identificationnumber },
       });
     },
@@ -227,22 +297,72 @@
       this.dialogVisiblecc = true;
       this.xukezData = row;
     },
-    closecc() {
-      this.xukezData.type = "0";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      console.log(this.xukezData);
-      update(this.xukezData);
-      this.textareaShenpi = "";
-    },
-    subcc() {
-      this.xukezData.type = "1";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      update(this.xukezData);
-      this.textareaShenpi = "";
+    rowSee(row) {
+      this.dialogVisibleccsee = true;
+      this.stateOur = row.stateOur;
+      // if (this.user_name == "派") {
+      //   // 派出所审批
+      //   this.stateText = row.popinion;
+      // } else if (this.user_name == "县") {
+      //   // 分局审批
+      //   this.stateText = row.xopinion;
+      // } else if (this.user_name == "市") {
+      //   // 市局审批
+      //   this.stateText = row.sopinion;
+      // }
+      this.stateText = row.opinionOur;
+      console.log(this.dialogVisibleccsee);
     },
 
+    closecc() {
+      this.upsData("1", "0"); //通过
+    },
+    subcc() {
+      this.upsData("2", "1"); //不通过
+    },
+    upsData(state, type) {
+      let date = new Date(+new Date() + 8 * 3600 * 1000)
+        .toJSON()
+        .substr(0, 19)
+        .replace("T", " ");
+      // console.log(date);
+      // return;
+      this.dialogVisiblecc = false;
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.xukezData.ptime = date;
+        this.xukezData.papprove = state;
+        this.xukezData.popinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.xukezData.xtime = date;
+        this.xukezData.xapprove = state;
+        this.xukezData.xopinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.xukezData.stime = date;
+        this.xukezData.sapprove = state;
+        this.xukezData.sopinion = this.textareaShenpi;
+        this.xukezData.permitime = new Date(+new Date() + 8 * 3600 * 1000)
+          .toJSON()
+          .substr(0, 19)
+          .replace("T", " ");
+        this.xukezData.type = type == "0" ? "0" : "1"; // 为了保持审核系统识别
+      }
+      // console.log(this.xukezData);
+      // return;
+      update(this.xukezData).then((res) => {
+        console.log(res);
+        this.$message({
+          type: "success",
+          message: "操作成功!",
+        });
+        this.refreshChange();
+        this.textareaShenpi = "";
+      });
+    },
     viewLicense(row) {
       //查看许可证
       this.licenceData.row = row;
@@ -316,9 +436,93 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
+    getFenji(name) {
+      var d = {};
+      if (name == "派出所管理员") {
+        d = {
+          // papprove: 1,
+        };
+        this.user_name = "派";
+      } else if (name == "县局管理员") {
+        d = {
+          papprove: "1",
+        };
+        this.user_name = "县";
+      } else if (name == "市局管理员") {
+        d = {
+          xapprove: "1",
+        };
+        this.user_name = "市";
+      }
+      return d;
+    },
+    changeState(data) {
+      var b = data;
+      if (this.user_name == "派") {
+        // 派出所审批
+        b["stateOur"] =
+          b.papprove == "0" || b.papprove == ""
+            ? "0"
+            : b.papprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "县") {
+        // 分局审批
+        b["stateOur"] =
+          b.xapprove == "0" || b.xapprove == ""
+            ? "0"
+            : b.xapprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "市") {
+        // 市局审批
+        b["stateOur"] =
+          b.sapprove == "0" || b.sapprove == ""
+            ? "0"
+            : b.sapprove == "1"
+            ? "1"
+            : "2";
+      }
+      console.log(
+        b.papprove == "0" || b.papprove == ""
+          ? "0"
+          : b.papprove == "1"
+          ? "1"
+          : "2"
+      );
+      return b;
+    },
     onLoad(page, params = {}) {
       this.loading = true;
       params["ptype"] = 4;
+      var gonganj = "";
+      console.log(this.userInfo);
+      if (this.userInfo.role_name == "公安管理员") {
+        let test = /派出所$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "派出所管理员";
+        }
+        test = /分局|公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "县局管理员";
+        }
+        test = /市公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "市局管理员";
+        }
+      }
+      // console.log(gonganj);
+      this.userData =
+        gonganj == "派出所管理员" ? "2" : gonganj == "县局管理员" ? "1" : "0";
+      params = {
+        ...params,
+        ...this.getFenji(gonganj),
+      };
+      console.log(params, "params");
+      params["jurisdiction"] = this.userInfo.jurisdiction;
+      // params["usetype"] = this.userData;
+      // this.option.column[this.option.column.length - 2].prop = "opinionOur";
+      // return;
       getList(
         page.currentPage,
         page.pageSize,
@@ -327,6 +531,21 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        for (var k in this.data) {
+          // console.log(this.changeState(this.data[k]));
+          this.data[k] = this.changeState(this.data[k]);
+          let paichusuoyijian = this.data[k].popinion
+            ? "派出所意见:" + this.data[k].popinion + ";"
+            : "";
+          let fenjuijian = this.data[k].xopinion
+            ? "分局意见:" + this.data[k].xopinion + ";"
+            : "";
+          let shijuyijian = this.data[k].sopinion
+            ? "市局意见:" + this.data[k].sopinion + ";"
+            : "";
+          this.data[k]["opinionOur"] =
+            paichusuoyijian + fenjuijian + shijuyijian;
+        }
         this.loading = false;
         this.selectionClear();
       });
diff --git a/src/views/licenseApproval/column.js b/src/views/licenseApproval/column.js
index c5215dc..b3a43a0 100644
--- a/src/views/licenseApproval/column.js
+++ b/src/views/licenseApproval/column.js
@@ -212,18 +212,33 @@
     //     value: "deptid",
     //   },
     // },
+    // {
+    //     label: "所属辖区",
+    //     prop: "jurisdiction",
+    //     type: "tree",
+    //     dicUrl: "/api/jurisdiction/lazy-trees",
+    //     props: {
+    //         label: "title",
+    //         value: "id",
+    //     },
+    //     // labelWidth: 160,
+    //     // span: 12,
+    // },
     {
         label: "所属辖区",
+        // prop: "region",
+        // labelWidth: 160,
+        // width: 110,
         prop: "jurisdiction",
         type: "tree",
-        dicUrl: "/api/jurisdiction/lazy-trees",
+        dicUrl: "/api/jurisdiction/lazy-tree",
         props: {
             label: "title",
             value: "id",
         },
-        // labelWidth: 160,
-        // span: 12,
+        // search: true,
     },
+
     {
         label: "许可类型",
         // search: true,
@@ -248,9 +263,69 @@
         format: "yyyy-MM-dd HH:mm:ss",
         valueFormat: "yyyy-MM-dd HH:mm:ss",
     },
+    // {
+    //     label: "审核状态",
+    //     prop: "type",
+    //     addDisplay: false,
+    //     type: "select",
+    //     dicData: [
+    //         {
+    //             label: "通过",
+    //             value: "0",
+    //         },
+    //         {
+    //             label: "不通过",
+    //             value: "1",
+    //         },
+    //         {
+    //             label: "待审核",
+    //             value: "2",
+    //         },
+    //     ],
+    // },
     {
-        label: "审核状态",
-        prop: "type",
+        label: "派出所审核",
+        prop: "papprove",
+        addDisplay: false,
+        type: "select",
+        dicData: [
+            {
+                label: "通过",
+                value: "0",
+            },
+            {
+                label: "不通过",
+                value: "1",
+            },
+            {
+                label: "待审核",
+                value: "2",
+            },
+        ],
+    },
+    {
+        label: "分局审核",
+        prop: "xapprove",
+        addDisplay: false,
+        type: "select",
+        dicData: [
+            {
+                label: "通过",
+                value: "0",
+            },
+            {
+                label: "不通过",
+                value: "1",
+            },
+            {
+                label: "待审核",
+                value: "2",
+            },
+        ],
+    },
+    {
+        label: "市局审核",
+        prop: "sapprove",
         addDisplay: false,
         type: "select",
         dicData: [
diff --git a/src/views/licenseApproval/crossRegion.vue b/src/views/licenseApproval/crossRegion.vue
index 0fbff1d..5edd3ff 100644
--- a/src/views/licenseApproval/crossRegion.vue
+++ b/src/views/licenseApproval/crossRegion.vue
@@ -2,7 +2,7 @@
  * @Author:liu
  * @Date: 2021-08-26 16:59:35 
  * @Last Modified by: liu
- * @Last Modified time: 2021-12-03 09:38:24
+ * @Last Modified time: 2021-12-04 11:57:49
  */
 
 
@@ -54,9 +54,24 @@
             icon="el-icon-edit"
             :size="size"
             :type="type"
+            v-if="row.stateOur == '0'"
             @click.stop="rowDel(row)"
-            v-if="row.type == '2'"
             >备案审批
+          </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-if="
+              row.stateOur != '0' &&
+              !(
+                row.papprove == '1' &&
+                row.xapprove == '1' &&
+                row.sapprove == '1'
+              )
+            "
+            @click.stop="rowSee(row)"
+            >审批查询
           </el-button>
           <el-button
             icon="el-icon-edit"
@@ -67,14 +82,52 @@
             >打印备案证
           </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
+              row.papprove == "1"
+                ? "通过"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.type == '2'"></i>
-            <i class="yj" v-if="row.type == '1'"></i>
-            <i class="zc" v-if="row.type == '1'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -94,7 +147,7 @@
           <div class="head-tid">
             编号
             <span class="fontStyle">{{
-              licenceData.row.organizationcode
+              licenceData.row.organizationcode || 557
             }}</span>
             <!-- 号 -->
           </div>
@@ -153,6 +206,20 @@
         </div>
       </div>
     </el-dialog>
+
+    <el-dialog
+      title=""
+      :visible.sync="dialogVisibleccsee"
+      width="30%"
+      :modal-append-to-body="false"
+    >
+      <div class="flots">
+        <div class="f_title">
+          审批 {{ stateOur == "1" ? "通过" : stateOur == "2" ? "不通过" : "" }}
+        </div>
+        <div><span>审批意见:</span> {{ stateText }}</div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -170,6 +237,8 @@
 export default {
   data() {
     return {
+      dialogVisibleccsee: false,
+      stateText: "",
       classStyle: "print", //打印样式
 
       dialogVisiblecc: false, //许可证审核抽屉
@@ -286,22 +355,70 @@
       this.dialogVisiblecc = true;
       this.xukezData = row;
     },
+    rowSee(row) {
+      this.dialogVisibleccsee = true;
+      this.stateOur = row.stateOur;
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.stateText = row.popinion;
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.stateText = row.xopinion;
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.stateText = row.sopinion;
+      }
+      this.stateText = row.opinionOur;
+    },
     closecc() {
-      this.xukezData.type = "0";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      console.log(this.xukezData);
-      update(this.xukezData);
-      this.textareaShenpi = "";
+      this.upsData("1", "0"); //通过
     },
     subcc() {
-      this.xukezData.type = "1";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      update(this.xukezData);
-      this.textareaShenpi = "";
+      this.upsData("2", "1"); //不通过
     },
-
+    upsData(state, type) {
+      let date = new Date(+new Date() + 8 * 3600 * 1000)
+        .toJSON()
+        .substr(0, 19)
+        .replace("T", " ");
+      // console.log(date);
+      // return;
+      this.dialogVisiblecc = false;
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.xukezData.ptime = date;
+        this.xukezData.papprove = state;
+        this.xukezData.popinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.xukezData.xtime = date;
+        this.xukezData.xapprove = state;
+        this.xukezData.xopinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.xukezData.stime = date;
+        this.xukezData.sapprove = state;
+        this.xukezData.sopinion = this.textareaShenpi;
+        this.xukezData.permitime = new Date(+new Date() + 8 * 3600 * 1000)
+          .toJSON()
+          .substr(0, 19)
+          .replace("T", " ");
+        this.xukezData.type = type == "0" ? "0" : "1"; // 为了保持审核系统识别
+      }
+      // console.log(this.xukezData);
+      // return;
+      update(this.xukezData).then((res) => {
+        console.log(res);
+        this.$message({
+          type: "success",
+          message: "操作成功!",
+        });
+        this.refreshChange();
+        this.textareaShenpi = "";
+      });
+    },
     viewLicense(row) {
       //查看许可证
       console.log(row, 34);
@@ -378,9 +495,93 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
+    getFenji(name) {
+      var d = {};
+      if (name == "派出所管理员") {
+        d = {
+          // papprove: 1,
+        };
+        this.user_name = "派";
+      } else if (name == "县局管理员") {
+        d = {
+          papprove: "1",
+        };
+        this.user_name = "县";
+      } else if (name == "市局管理员") {
+        d = {
+          xapprove: "1",
+        };
+        this.user_name = "市";
+      }
+      return d;
+    },
+    changeState(data) {
+      var b = data;
+      if (this.user_name == "派") {
+        // 派出所审批
+        b["stateOur"] =
+          b.papprove == "0" || b.papprove == ""
+            ? "0"
+            : b.papprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "县") {
+        // 分局审批
+        b["stateOur"] =
+          b.xapprove == "0" || b.xapprove == ""
+            ? "0"
+            : b.xapprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "市") {
+        // 市局审批
+        b["stateOur"] =
+          b.sapprove == "0" || b.sapprove == ""
+            ? "0"
+            : b.sapprove == "1"
+            ? "1"
+            : "2";
+      }
+      console.log(
+        b.papprove == "0" || b.papprove == ""
+          ? "0"
+          : b.papprove == "1"
+          ? "1"
+          : "2"
+      );
+      return b;
+    },
     onLoad(page, params = {}) {
       this.loading = true;
       params["ptype"] = 5;
+      var gonganj = "";
+      console.log(this.userInfo);
+      if (this.userInfo.role_name == "公安管理员") {
+        let test = /派出所$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "派出所管理员";
+        }
+        test = /分局|公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "县局管理员";
+        }
+        test = /市公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "市局管理员";
+        }
+      }
+      // console.log(gonganj);
+      this.userData =
+        gonganj == "派出所管理员" ? "2" : gonganj == "县局管理员" ? "1" : "0";
+      params = {
+        ...params,
+        ...this.getFenji(gonganj),
+      };
+      console.log(params, "params");
+      params["jurisdiction"] = this.userInfo.jurisdiction;
+      // params["usetype"] = this.userData;
+      // this.option.column[this.option.column.length - 2].prop = "opinionOur";
+      // return;
       getList(
         page.currentPage,
         page.pageSize,
@@ -389,6 +590,22 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        for (var k in this.data) {
+          // console.log(this.changeState(this.data[k]));
+          this.data[k] = this.changeState(this.data[k]);
+          let paichusuoyijian = this.data[k].popinion
+            ? "派出所意见:" + this.data[k].popinion + ";"
+            : "";
+          let fenjuijian = this.data[k].xopinion
+            ? "分局意见:" + this.data[k].xopinion + ";"
+            : "";
+          let shijuyijian = this.data[k].sopinion
+            ? "市局意见:" + this.data[k].sopinion + ";"
+            : "";
+          this.data[k]["opinionOur"] =
+            paichusuoyijian + fenjuijian + shijuyijian;
+        }
+        console.log(this.data);
         this.loading = false;
         this.selectionClear();
       });
diff --git a/src/views/licenseApproval/securityGuard.vue b/src/views/licenseApproval/securityGuard.vue
index 14c16bd..17a36ad 100644
--- a/src/views/licenseApproval/securityGuard.vue
+++ b/src/views/licenseApproval/securityGuard.vue
@@ -2,7 +2,7 @@
  * @Author: liu
  * @Date: 2021-08-26 16:57:58 
  * @Last Modified by: liu
- * @Last Modified time: 2021-12-02 17:04:32
+ * @Last Modified time: 2021-12-04 10:23:21
  */
 
 
@@ -98,18 +98,52 @@
             >回执打印
           </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.stateOur == "1"
+              row.papprove == "1"
                 ? "通过"
-                : row.stateOur == "2"
-                ? "不通过"
-                : "待审核"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.stateOur == '0'"></i>
-            <i class="yj" v-if="row.stateOur == '2'"></i>
-            <i class="zc" v-if="row.stateOur == '1'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -129,7 +163,7 @@
           <div class="head-tid">
             编号
             <span class="fontStyle">{{
-              licenceData.row.organizationcode
+              licenceData.row.organizationcode || 378
             }}</span>
             <!-- 号 -->
           </div>
@@ -407,6 +441,7 @@
         // 市局审批
         this.stateText = row.sopinion;
       }
+      this.stateText = row.opinionOur;
     },
 
     closecc() {
@@ -479,7 +514,7 @@
       // this.licenceData.chiden["注册资本"] = row.registeredcapital;
       // this.licenceData.chiden["批准文号"] = row.registrationnumber;
 
-      console.log(this.licenceData);
+      // console.log(this.licenceData);
       if (val != 1) {
         this.dialogVisible = true;
       }
diff --git a/src/views/licenseApproval/securityPermit.vue b/src/views/licenseApproval/securityPermit.vue
index fc473aa..5339435 100644
--- a/src/views/licenseApproval/securityPermit.vue
+++ b/src/views/licenseApproval/securityPermit.vue
@@ -3,7 +3,7 @@
  * @Author: liu
  * @Date: 2021-08-26 16:22:20 
  * @Last Modified by: liu
- * @Last Modified time: 2021-12-02 17:14:20
+ * @Last Modified time: 2021-12-04 10:40:46
  */
 
 <template>
@@ -84,18 +84,52 @@
             >打印许可证
           </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.stateOur == "1"
+              row.papprove == "1"
                 ? "通过"
-                : row.stateOur == "2"
-                ? "不通过"
-                : "待审核"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.stateOur == '0'"></i>
-            <i class="yj" v-if="row.stateOur == '2'"></i>
-            <i class="zc" v-if="row.stateOur == '1'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -167,7 +201,7 @@
           <div class="head-tid">
             洪公保服务
             <span class="fontStyle">{{
-              licenceData.row.organizationcode
+              licenceData.row.organizationcode || 375
             }}</span>
             号
           </div>
@@ -394,6 +428,7 @@
         // 市局审批
         this.stateText = row.sopinion;
       }
+      this.stateText = row.opinionOur;
     },
     closecc() {
       this.upsData("1", "0"); //通过
diff --git a/src/views/licenseApproval/securityTraining.vue b/src/views/licenseApproval/securityTraining.vue
index b99f79d..bc24737 100644
--- a/src/views/licenseApproval/securityTraining.vue
+++ b/src/views/licenseApproval/securityTraining.vue
@@ -2,7 +2,7 @@
  * @Author: liu
  * @Date: 2021-08-26 16:55:25 
  * @Last Modified by: liu
- * @Last Modified time: 2021-11-04 19:31:06
+ * @Last Modified time: 2021-12-04 11:57:59
  */
 
 
@@ -55,8 +55,23 @@
             :size="size"
             :type="type"
             @click.stop="rowDel(row)"
-            v-if="row.type == '2'"
+            v-if="row.stateOur == '0'"
             >许可审批
+          </el-button>
+          <el-button
+            icon="el-icon-edit"
+            :size="size"
+            :type="type"
+            v-if="
+              row.stateOur != '0' &&
+              !(
+                row.papprove == '1' &&
+                row.xapprove == '1' &&
+                row.sapprove == '1'
+              )
+            "
+            @click.stop="rowSee(row)"
+            >审批查询
           </el-button>
           <el-button
             icon="el-icon-edit"
@@ -67,14 +82,52 @@
             >打印许可证
           </el-button>
         </template>
-        <template class="tdtype" slot-scope="{ row }" slot="type">
+        <template class="tdtype" slot-scope="{ row }" slot="papprove">
           <el-tag class="dtype">
             {{
-              row.type == "0" ? "通过" : row.type == "1" ? "不通过" : "待审核"
+              row.papprove == "1"
+                ? "通过"
+                : row.papprove == "0" || row.papprove == ""
+                ? "待审核"
+                : "不通过"
             }}
-            <i class="gz" v-if="row.type == '2'"></i>
-            <i class="yj" v-if="row.type == '1'"></i>
-            <i class="zc" v-if="row.type == '0'"></i>
+            <i class="gz" v-if="row.papprove == '0' || row.papprove == ''"></i>
+            <i class="yj" v-if="row.papprove == '2'"></i>
+            <i class="zc" v-if="row.papprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="xapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "1"
+                ? "通过"
+                : row.xapprove == "0" || row.xapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.xapprove == '0' || row.xapprove == ''"></i>
+            <i class="yj" v-if="row.xapprove == '2'"></i>
+            <i class="zc" v-if="row.xapprove == '1'"></i>
+          </el-tag>
+        </template>
+        <template class="tdtype" slot-scope="{ row }" slot="sapprove">
+          <el-tag class="dtype">
+            {{
+              row.papprove == "2"
+                ? "派出所未通过"
+                : row.xapprove == "2"
+                ? "分局未通过"
+                : row.sapprove == "1"
+                ? "通过"
+                : row.sapprove == "0" || row.sapprove == ""
+                ? "待审核"
+                : "不通过"
+            }}
+            <i class="gz" v-if="row.sapprove == '0' || row.sapprove == ''"></i>
+            <i class="yj" v-if="row.sapprove == '2'"></i>
+            <i class="zc" v-if="row.sapprove == '1'"></i>
           </el-tag>
         </template>
       </avue-crud>
@@ -146,7 +199,7 @@
           <div class="head-tid">
             洪公保服务
             <span class="fontStyle">{{
-              licenceData.row.organizationcode
+              licenceData.row.organizationcode || 998
             }}</span>
             号
           </div>
@@ -206,6 +259,20 @@
         </div>
       </div>
     </el-dialog>
+
+    <el-dialog
+      title=""
+      :visible.sync="dialogVisibleccsee"
+      width="30%"
+      :modal-append-to-body="false"
+    >
+      <div class="flots">
+        <div class="f_title">
+          审批 {{ stateOur == "1" ? "通过" : stateOur == "2" ? "不通过" : "" }}
+        </div>
+        <div><span>审批意见:</span> {{ stateText }}</div>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
@@ -223,6 +290,7 @@
 export default {
   data() {
     return {
+      user_name: "",
       classStyle: "print", //打印样式
 
       dialogVisiblecc: false, //许可证审核抽屉
@@ -234,7 +302,7 @@
         chiden: {},
       },
       textareaShenpi: "",
-
+      dialogVisibleccsee: false,
       form: {},
       query: {},
       loading: true,
@@ -339,20 +407,71 @@
       this.dialogVisiblecc = true;
       this.xukezData = row;
     },
+    rowSee(row) {
+      this.dialogVisibleccsee = true;
+      this.stateOur = row.stateOur;
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.stateText = row.popinion;
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.stateText = row.xopinion;
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.stateText = row.sopinion;
+      }
+      this.stateText = row.opinionOur;
+    },
     closecc() {
-      this.xukezData.type = "0";
-      this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      console.log(this.xukezData);
-      update(this.xukezData);
-      this.textareaShenpi = "";
+      this.upsData("1", "0"); //通过
     },
     subcc() {
-      this.xukezData.type = "1";
+      this.upsData("2", "1"); //不通过
+    },
+    upsData(state, type) {
+      let date = new Date(+new Date() + 8 * 3600 * 1000)
+        .toJSON()
+        .substr(0, 19)
+        .replace("T", " ");
+      console.log(this.user_name);
+      // return;
       this.dialogVisiblecc = false;
-      this.xukezData["approve"] = this.textareaShenpi;
-      update(this.xukezData);
-      this.textareaShenpi = "";
+      console.log(this.xukezData);
+      if (this.user_name == "派") {
+        // 派出所审批
+        this.xukezData.ptime = date;
+        this.xukezData.papprove = state;
+        this.xukezData.popinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "县") {
+        // 分局审批
+        this.xukezData.xtime = date;
+        this.xukezData.xapprove = state;
+        this.xukezData.xopinion = this.textareaShenpi;
+        this.xukezData.type = type == "0" ? "2" : "1"; // 为了保持审核系统识别
+      } else if (this.user_name == "市") {
+        // 市局审批
+        this.xukezData.stime = date;
+        this.xukezData.sapprove = state;
+        this.xukezData.sopinion = this.textareaShenpi;
+        this.xukezData.permitime = new Date(+new Date() + 8 * 3600 * 1000)
+          .toJSON()
+          .substr(0, 19)
+          .replace("T", " ");
+        this.xukezData.type = type == "0" ? "0" : "1"; // 为了保持审核系统识别
+      }
+      console.log(this.xukezData);
+      // return;
+      console.log(this.xukezData);
+      update(this.xukezData).then((res) => {
+        console.log(res);
+        this.$message({
+          type: "success",
+          message: "操作成功!",
+        });
+        this.refreshChange();
+        this.textareaShenpi = "";
+      });
     },
 
     viewLicense(row) {
@@ -428,9 +547,89 @@
     refreshChange() {
       this.onLoad(this.page, this.query);
     },
+    getFenji(name) {
+      var d = {};
+      if (name == "派出所管理员") {
+        d = {
+          // papprove: 1,
+        };
+        this.user_name = "派";
+      } else if (name == "县局管理员") {
+        d = {
+          papprove: "1",
+        };
+        this.user_name = "县";
+      } else if (name == "市局管理员") {
+        d = {
+          xapprove: "1",
+        };
+        this.user_name = "市";
+      }
+      return d;
+    },
+    changeState(data) {
+      var b = {
+        ...data,
+        stateOur: "",
+      };
+      if (this.user_name == "派") {
+        // 派出所审批
+        b["stateOur"] =
+          b.papprove == "0" || b.papprove == ""
+            ? "0"
+            : b.papprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "县") {
+        // 分局审批
+        b["stateOur"] =
+          b.xapprove == "0" || b.xapprove == ""
+            ? "0"
+            : b.xapprove == "1"
+            ? "1"
+            : "2";
+      } else if (this.user_name == "市") {
+        // 市局审批
+        b["stateOur"] =
+          b.sapprove == "0" || b.sapprove == ""
+            ? "0"
+            : b.sapprove == "1"
+            ? "1"
+            : "2";
+      }
+      return b;
+    },
     onLoad(page, params = {}) {
       this.loading = true;
       params["ptype"] = 1;
+      var gonganj = "";
+      console.log(this.userInfo);
+      if (this.userInfo.role_name == "公安管理员") {
+        let test = /派出所$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "派出所管理员";
+        }
+        test = /分局|公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "县局管理员";
+        }
+        test = /市公安局$/g;
+        if (test.test(this.userInfo.list.name)) {
+          gonganj = "市局管理员";
+        }
+      }
+      // console.log(gonganj, 23);
+      this.userData =
+        gonganj == "派出所管理员" ? "2" : gonganj == "县局管理员" ? "1" : "0";
+      params = {
+        ...params,
+        ...this.getFenji(gonganj),
+      };
+      console.log(params, "params");
+      params["jurisdiction"] = this.userInfo.jurisdiction;
+      // params["usetype"] = this.userData;
+      // this.option.column[this.option.column.length - 2].prop = "opinionOur";
+      // return;
       getList(
         page.currentPage,
         page.pageSize,
@@ -439,6 +638,21 @@
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
+        for (var k in this.data) {
+          // console.log(this.changeState(this.data[k]));
+          this.data[k] = this.changeState(this.data[k]);
+          let paichusuoyijian = this.data[k].popinion
+            ? "派出所意见:" + this.data[k].popinion + ";"
+            : "";
+          let fenjuijian = this.data[k].xopinion
+            ? "分局意见:" + this.data[k].xopinion + ";"
+            : "";
+          let shijuyijian = this.data[k].sopinion
+            ? "市局意见:" + this.data[k].sopinion + ";"
+            : "";
+          this.data[k]["opinionOur"] =
+            paichusuoyijian + fenjuijian + shijuyijian;
+        }
         this.loading = false;
         this.selectionClear();
       });
diff --git a/src/views/management/computents/honor.vue b/src/views/management/computents/honor.vue
index ade3bd9..ac17f99 100644
--- a/src/views/management/computents/honor.vue
+++ b/src/views/management/computents/honor.vue
@@ -20,7 +20,7 @@
 <script>
 import { getListhonor } from "@/api/register/honor";
 export default {
-  props: ["form"],
+  props: ["form", "see"],
   data() {
     return {
       punishOption: {
@@ -28,7 +28,7 @@
         delBtn: false,
         editBtn: false,
         addBtn: false,
-        searchShowBtn: false,
+        // searchShowBtn: false,
         selection: true,
         menu: false,
 
@@ -36,7 +36,7 @@
         height: "auto",
         calcHeight: 270,
         tip: false,
-        searchShow: false,
+        // searchShow: false,
         searchMenuSpan: 4,
         // index: false,
         viewBtn: true,
@@ -50,6 +50,9 @@
             label: "保安员名称",
             prop: "name",
             span: 24,
+            search: false,
+            searchLabelWidth: 100,
+            searchSpan: 4,
             labelWidth: 110,
             disabled: true,
             rules: [
@@ -64,7 +67,10 @@
             label: "身份证号码",
             prop: "cardid",
             span: 24,
+            search: false,
+            searchSpan: 5,
             labelWidth: 110,
+            searchLabelWidth: 100,
             width: 190,
             disabled: true,
             rules: [
@@ -84,6 +90,9 @@
           {
             label: "荣誉情况",
             prop: "honor",
+            search: false,
+            searchSpan: 5,
+            searchLabelWidth: 90,
             span: 24,
             labelWidth: 110,
           },
@@ -111,10 +120,38 @@
       i: 1,
     };
   },
-  mounted() {},
+  mounted() {
+    if (this.see) {
+      this.punishOption.height = "615";
+      this.punishOption.column[0].search = true;
+      this.punishOption.column[1].search = true;
+      this.punishOption.column[3].search = true;
+    }
+  },
   methods: {
     punishOnLoad(page, params = {}) {
       this.punishLoading = true;
+      if (this.see) {
+        getListhonor(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(params, this.punishQuery)
+        ).then((res) => {
+          this.i++;
+          const data = res.data.data;
+
+          this.punishPage.total = data.total;
+          this.punishData = data.records;
+          console.log(this.punishData);
+          this.punishLoading = false;
+          this.$refs.punishCrud.refreshTable();
+          this.$refs.punishCrud.doLayout();
+          if (this.i % 2 != 0) {
+            this.punishAngin();
+          }
+        });
+        return;
+      }
       getListhonor(
         page.currentPage,
         page.pageSize,
diff --git a/src/views/onSiteInspection/company.vue b/src/views/onSiteInspection/company.vue
index 5c1f72c..810d26a 100644
--- a/src/views/onSiteInspection/company.vue
+++ b/src/views/onSiteInspection/company.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: Morpheus
  * @Date: 2021-07-07 17:30:05
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-07-10 16:06:14
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-12-04 15:23:00
  * menu-name 单位检查
  */
 <template>
@@ -42,6 +42,12 @@
 import { datasing } from "./company";
 
 export default {
+  props: ["see"],
+  mounted() {
+    if (this.see) {
+      this.option.height = "620";
+    }
+  },
   data() {
     return {
       form: {},
diff --git a/src/views/onSiteInspection/securityStaff.vue b/src/views/onSiteInspection/securityStaff.vue
index f4fba24..43b2fad 100644
--- a/src/views/onSiteInspection/securityStaff.vue
+++ b/src/views/onSiteInspection/securityStaff.vue
@@ -1,8 +1,8 @@
 /*
  * @Author: Morpheus
  * @Date: 2021-07-07 17:30:05
- * @Last Modified by: Morpheus
- * @Last Modified time: 2021-07-10 16:06:14
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-12-04 15:24:57
  * menu-name 保安员检查
  */
 <template>
@@ -41,6 +41,12 @@
 import { datasing } from "./securityStaffdata";
 
 export default {
+  props: ["see"],
+  mounted() {
+    if (this.see) {
+      this.option.height = "620";
+    }
+  },
   data() {
     return {
       form: {},
diff --git a/src/views/qualificationExamination/registrationTrainingQuery.vue b/src/views/qualificationExamination/registrationTrainingQuery.vue
index 48f9c5b..60ce997 100644
--- a/src/views/qualificationExamination/registrationTrainingQuery.vue
+++ b/src/views/qualificationExamination/registrationTrainingQuery.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-07 17:30:05
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-14 17:22:35
+ * @Last Modified time: 2021-12-03 13:25:53
  * menu-name 报名培训查询
  */
 <template>
@@ -395,7 +395,7 @@
             // }],
           },
           {
-            label: "培训时间",
+            label: "报名时间",
             prop: "trainingTime",
             type: "date",
             format: "yyyy-MM-dd",
diff --git a/src/views/securityCompany/column.js b/src/views/securityCompany/column.js
index 3616fc1..40935f9 100644
--- a/src/views/securityCompany/column.js
+++ b/src/views/securityCompany/column.js
@@ -14,7 +14,7 @@
     },
 
     {
-        label: "企业名称",
+        label: "单位名称",
         prop: "enterprisename",
         search: true,
         width: 260,
@@ -45,7 +45,7 @@
         ],
     },
     {
-        label: "法定代表人",
+        label: "法人姓名",
         labelWidth: 160,
         prop: "representative",
         width: 110,
@@ -192,6 +192,7 @@
         label: "处罚情况",
         prop: "punishreason",
         span: 24,
+        search: false,
         labelWidth: 110,
         rules: [
             {
@@ -205,6 +206,7 @@
         label: "处罚结果",
         prop: "punishresult",
         span: 24,
+        search: false,
         // type: "textarea",
         labelWidth: 110,
     },
@@ -212,6 +214,7 @@
         label: "处罚日期",
         prop: "punishtime",
         span: 24,
+        search: false,
         type: "date",
         format: "yyyy-MM-dd",
         valueFormat: "yyyy-MM-dd",
diff --git a/src/views/securityCompany/companyDetails.vue b/src/views/securityCompany/companyDetails.vue
index 407e993..fb72699 100644
--- a/src/views/securityCompany/companyDetails.vue
+++ b/src/views/securityCompany/companyDetails.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: liu
- * @Last Modified time: 2021-11-25 10:09:07
+ * @Last Modified time: 2021-12-03 13:49:36
  * menu-name 保安公司详细资料
  */
 <template>
@@ -262,6 +262,7 @@
                 @search-reset="investorSearchReset"
                 @current-change="investorCurrentChange"
                 @size-change="investorSizeChange"
+                @refresh-change="refreshChange2"
               >
               </avue-crud>
             </el-tab-pane>
@@ -280,6 +281,7 @@
                 @search-reset="manageSearchReset"
                 @current-change="manageCurrentChange"
                 @size-change="manageSizeChange"
+                @refresh-change="refreshChange1"
               >
               </avue-crud>
             </el-tab-pane>
@@ -643,7 +645,9 @@
         });
       });
     },
-
+    refreshChange2() {
+      this.investorOnLoad(this.investorPage, this.investorQuery);
+    },
     investorOnLoad(page, params = {}) {
       this.investorLoading = true;
       getInvestorList(
@@ -685,7 +689,9 @@
     investorSizeChange(pageSize) {
       this.investorPage.pageSize = pageSize;
     },
-
+    refreshChange1() {
+      this.manageOnLoad(this.managePage, this.manageQuery);
+    },
     manageOnLoad(page, params = {}) {
       this.manageLoading = true;
       getManageList(
diff --git a/src/views/securityCompany/computents/equipment.vue b/src/views/securityCompany/computents/equipment.vue
index ae6d6bc..02ab020 100644
--- a/src/views/securityCompany/computents/equipment.vue
+++ b/src/views/securityCompany/computents/equipment.vue
@@ -13,6 +13,7 @@
     @current-change="equipmentCurrentChange"
     @size-change="equipmentSizeChange"
     @on-load="equipmentOnLoad"
+    @refresh-change="refreshChange"
   >
   </avue-crud>
   <!-- @on-load="equipmentOnLoad" -->
@@ -238,6 +239,9 @@
     // this.equipmentOnLoad(this.equipmentPage);
   },
   methods: {
+    refreshChange() {
+      this.equipmentOnLoad(this.equipmentPage, this.equipmentQuery);
+    },
     equipmentOnLoad(page, params = {}) {
       this.equipmentLoading = true;
       getListequipment(
diff --git a/src/views/securityCompany/computents/punish.vue b/src/views/securityCompany/computents/punish.vue
index 6e99add..041d6db 100644
--- a/src/views/securityCompany/computents/punish.vue
+++ b/src/views/securityCompany/computents/punish.vue
@@ -1,21 +1,35 @@
 <template>
-  <avue-crud
-    class="company-box"
-    :option="punishOption"
-    :search.sync="punishSearch"
-    :table-loading="punishLoading"
-    :data="punishData"
-    ref="punishCrud"
-    :page.sync="punishPage"
-    @selection-change="punishSelectionChange"
-    @search-change="punishSearchChange"
-    @search-reset="punishSearchReset"
-    @current-change="punishCurrentChange"
-    @size-change="punishSizeChange"
-    @refresh-change="punishRefreshcCange"
-    @on-load="punishOnLoad"
-  >
-  </avue-crud>
+  <div>
+    <avue-crud
+      class="company-box"
+      :option="punishOption"
+      :search.sync="punishSearch"
+      :table-loading="punishLoading"
+      :data="punishData"
+      ref="punishCrud"
+      :page.sync="punishPage"
+      @selection-change="punishSelectionChange"
+      @search-change="punishSearchChange"
+      @search-reset="punishSearchReset"
+      @current-change="punishCurrentChange"
+      @size-change="punishSizeChange"
+      @refresh-change="punishRefreshcCange"
+      @on-load="punishOnLoad"
+    >
+      <template slot="menuLeft">
+        <el-button
+          icon="el-icon-warning"
+          @click.stop="punishOpen(row)"
+          type="danger"
+          size="small"
+          plain
+          v-if="form.see"
+          >处罚</el-button
+        >
+      </template>
+    </avue-crud>
+  </div>
+
   <!-- @on-load="punishOnLoad" -->
 </template>
 
@@ -25,13 +39,20 @@
 
 export default {
   props: ["form"],
+  watch: {
+    "form.news"() {
+      if (this.form.see) {
+        this.refreshChange();
+      }
+    },
+  },
   data() {
     return {
       punishOption: {
         // 操作栏多余按钮去除
         delBtn: false,
         editBtn: false,
-        searchShowBtn: false,
+        // searchShowBtn: false,
         addBtn: false,
         selection: true,
         border: true,
@@ -41,7 +62,7 @@
         height: "auto",
         calcHeight: 270,
         tip: false,
-        searchShow: false,
+        searchShow: true,
         searchMenuSpan: 4,
         index: false,
         viewBtn: true,
@@ -65,10 +86,31 @@
     };
   },
   mounted() {
-    // console.log(this.form, "pu");
+    console.log(this.form, "pu");
+    console.log(this.punishOption.column, "pu");
     // this.punishOnLoad(this.punishPage);
+    // setTimeout(() => {
+    var searchs = () => {
+      if (this.form.see) {
+        this.punishOption.column[1].search = true;
+        this.punishOption.column[2].search = true;
+        this.punishOption.column[3].search = true;
+      }
+    };
+    if (this.form.see) {
+      searchs();
+    }
+    // }, 500);
+    this.$refs.punishCrud.refreshTable();
+    this.$refs.punishCrud.doLayout();
   },
   methods: {
+    punishOpen() {
+      this.form.that.punish();
+    },
+    refreshChange() {
+      this.punishOnLoad(this.punishPage, this.punishQuery);
+    },
     punishOnLoad(page, params = {}) {
       this.punishLoading = true;
       // console.log(this.form.departmentid);
diff --git a/src/views/securityCompany/computents/service.vue b/src/views/securityCompany/computents/service.vue
index 12ede9e..6ca1399 100644
--- a/src/views/securityCompany/computents/service.vue
+++ b/src/views/securityCompany/computents/service.vue
@@ -13,7 +13,13 @@
     @current-change="serviceCurrentChange"
     @size-change="serviceSizeChange"
     @on-load="serviceOnLoad"
+    @refresh-change="refreshChange"
   >
+    <!--
+       refreshChange() {
+      this.serviceOnLoad(this.servicePage, this.serviceQuery);
+    }, 
+    -->
   </avue-crud>
   <!-- @on-load="serviceOnLoad" -->
 </template>
@@ -163,8 +169,8 @@
     };
   },
   mounted() {
-    console.log(this.form, "serviceData");
-    this.serviceOnLoad(this.servicePage);
+    // console.log(this.form, "serviceData");
+    // this.serviceOnLoad(this.servicePage);
   },
   methods: {
     serviceOnLoad(page, params = {}) {
@@ -186,6 +192,9 @@
         this.serviceSelectionClear();
       });
     },
+    refreshChange() {
+      this.serviceOnLoad(this.servicePage, this.serviceQuery);
+    },
     serviceSelectionClear() {
       this.serviceSelectionList = [];
       this.$refs.serviceCrud.toggleSelection();
diff --git a/src/views/securityCompany/computents/serviceS.vue b/src/views/securityCompany/computents/serviceS.vue
index 6fe1de5..ddef4ed 100644
--- a/src/views/securityCompany/computents/serviceS.vue
+++ b/src/views/securityCompany/computents/serviceS.vue
@@ -13,6 +13,7 @@
     @current-change="serviceCurrentChange"
     @size-change="serviceSizeChange"
     @on-load="serviceOnLoad"
+    @refresh-change="refreshChange"
   >
   </avue-crud>
   <!-- @on-load="serviceOnLoad" -->
@@ -107,6 +108,9 @@
     // this.serviceOnLoad(this.servicePage);
   },
   methods: {
+    refreshChange() {
+      this.serviceOnLoad(this.servicePage, this.serviceQuery);
+    },
     serviceOnLoad(page, params = {}) {
       this.serviceLoading = true;
       getListedispatcherUnit(
diff --git a/src/views/securityCompany/computents/staff.vue b/src/views/securityCompany/computents/staff.vue
index 251cc07..60cd67d 100644
--- a/src/views/securityCompany/computents/staff.vue
+++ b/src/views/securityCompany/computents/staff.vue
@@ -13,6 +13,7 @@
     @current-change="staffCurrentChange"
     @size-change="staffSizeChange"
     @on-load="staffOnLoad"
+    @refresh-change="refreshChange"
   >
     <!-- @on-load="staffOnLoad" -->
   </avue-crud>
@@ -259,6 +260,9 @@
     // this.staffOnLoad(this.staffPage);
   },
   methods: {
+    refreshChange() {
+      this.staffOnLoad(this.staffPage, this.staffQuery);
+    },
     staffOnLoad(page, params = {}) {
       this.staffLoading = true;
       getListestaff(
diff --git a/src/views/securityCompany/regulatoryInformation.vue b/src/views/securityCompany/regulatoryInformation.vue
index 7d680af..ad7cea0 100644
--- a/src/views/securityCompany/regulatoryInformation.vue
+++ b/src/views/securityCompany/regulatoryInformation.vue
@@ -2,32 +2,72 @@
  * @Author: Morpheus
  * @Date: 2021-07-07 17:30:05
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-15 19:56:58
+ * @Last Modified time: 2021-12-04 16:45:40
  * menu-name 监管信息
  */
 <template>
-  <basic-container class="regulatoryInformation">
-    <avue-crud
-      :option="option"
-      :table-loading="loading"
-      :data="data"
-      :page.sync="page"
-      :permission="permissionList"
-      v-model="form"
-      ref="crud"
-      @row-update="rowUpdates"
-      @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"
-    >
-    </avue-crud>
-  </basic-container>
+  <div>
+    <el-tabs v-model="activeName" @tab-click="handleClick" type="border-card">
+      <el-tab-pane label="保安公司日常检查" name="first">
+        <company :see="true"></company>
+      </el-tab-pane>
+      <el-tab-pane label="保安公司处罚" name="second">
+        <basic-container class="regulatoryInformation">
+          <avue-crud
+            :option="option"
+            :table-loading="loading"
+            :data="data"
+            :page.sync="page"
+            :permission="permissionList"
+            v-model="form"
+            ref="crud"
+            @row-update="rowUpdates"
+            @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"
+          >
+          </avue-crud>
+        </basic-container>
+      </el-tab-pane>
+      <!-- <el-tab-pane label="保安公司荣誉" name="third">角色管理</el-tab-pane> -->
+      <el-tab-pane label="保安员日常检查" name="fourth">
+        <securityStaff :see="true"></securityStaff>
+      </el-tab-pane>
+      <el-tab-pane label="保安员处罚" name="fifth">
+        <basic-container class="regulatoryInformation">
+          <avue-crud
+            :option="option1"
+            :table-loading="loading1"
+            :data="data1"
+            :page.sync="page1"
+            :permission="permissionList"
+            v-model="form1"
+            ref="crud1"
+            @row-update="rowUpdates1"
+            @row-save="rowSave1"
+            @row-del="rowDel1"
+            @search-change="searchChange1"
+            @search-reset="searchReset1"
+            @selection-change="selectionChange1"
+            @current-change="currentChange1"
+            @size-change="sizeChange1"
+            @refresh-change="refreshChange1"
+            @on-load="onLoad1"
+          >
+          </avue-crud>
+        </basic-container>
+      </el-tab-pane>
+      <el-tab-pane label="保安员荣誉" name="sixth">
+        <honor :see="true"></honor>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
 </template>
 
 <script>
@@ -40,7 +80,16 @@
 } from "@/api/regulatoryInformation/regulatoryInformation";
 import { mapGetters } from "vuex";
 
+import company from "../onSiteInspection/company.vue";
+import securityStaff from "../onSiteInspection/securityStaff.vue";
+import honor from "../management/computents/honor.vue";
+import { getListSecurity } from "@/api/system/user";
 export default {
+  components: {
+    company,
+    securityStaff,
+    honor,
+  },
   data() {
     var dic = [
       {
@@ -77,6 +126,7 @@
       },
     ];
     return {
+      activeName: "first",
       form: {},
       query: {},
       loading: true,
@@ -94,9 +144,8 @@
         // selection: true,
         // menu: false,
         selection: true,
-
         align: "center",
-        height: "auto",
+        height: "560",
         calcHeight: 30,
         tip: false,
         searchShow: true,
@@ -184,43 +233,106 @@
             // display: false,
           },
         ],
-        // group: [
-        //   {
-        //     label: "详细信息",
-        //     prop: "baseInfo",
-        //     icon: "el-icon-user-solid",
-        //     column: [
-        //       {
-        //         label: "公司名称",
-        //         prop: "enterprisename",
-        //         display: false,
-        //       },
-        //     ],
-        //   },
-        //   {
-        //     label: "详细信息",
-        //     prop: "detailInfo",
-        //     icon: "el-icon-s-order",
-        //     column: [],
-        //   },
-        //   {
-        //     label: "职责信息",
-        //     prop: "dutyInfo",
-        //     icon: "el-icon-s-custom",
-        //     column: [],
-        //   },
-        // ],
       },
-      data: [
-        // {
-        //   deptid: "江西众泰保安公司",
-        //   punishtype: 2,
-        //   punishreason: "非法施工",
-        //   punishresult: "没收全部非法所得财产,并罚款3W元",
-        //   punishtime: "2021-01-01",
-        //   punisnum: 110110110120,
-        // },
-      ],
+      data1: [],
+      form1: {},
+      query1: {},
+      loading1: true,
+      page1: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      selectionList1: [],
+      option1: {
+        // 操作栏多余按钮去除
+        // delBtn: false,
+        // editBtn: false,
+        addBtn: false,
+        // selection: true,
+        // menu: false,
+        selection: true,
+        align: "center",
+        height: "580",
+        calcHeight: 30,
+        tip: false,
+        menu: false,
+        searchShow: false,
+        searchMenuSpan: 6,
+        searchShowBtn: false,
+        index: true,
+        viewBtn: true,
+        dialogClickModal: false,
+
+        column: [
+          {
+            label: "姓名",
+            prop: "realName",
+            search: true,
+            searchSpan: 3,
+            width: 60,
+            searchLabelWidth: 50,
+            display: false,
+          },
+          {
+            label: "性别",
+            prop: "sex",
+            width: 55,
+            slot: true,
+            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: "phone",
+            minWidth: 95,
+            display: false,
+          },
+          {
+            label: "处罚详情",
+            prop: "holdv",
+            minWidth: 95,
+            overHidden: true,
+          },
+          {
+            label: "处罚内容",
+            prop: "holdvs",
+            minWidth: 95,
+            overHidden: true,
+          },
+          {
+            label: "处罚时间",
+            prop: "holdvtime",
+            minWidth: 95,
+            overHidden: true,
+          },
+        ],
+      },
+      data1: [],
     };
   },
   computed: {
@@ -242,6 +354,9 @@
     },
   },
   methods: {
+    handleClick(tab, event) {
+      // console.log(tab, event);
+    },
     rowSave(row, done, loading) {
       adddata(row).then(
         () => {
@@ -342,6 +457,110 @@
       });
     },
 
+    rowSave1(row, done, loading) {
+      adddata(row).then(
+        () => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+    },
+    rowUpdates1(row, index, done, loading) {
+      // console.log(42342);
+      update(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 remove(row.id);
+        })
+        .then(() => {
+          this.onLoad1(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    // beforeOpen(done, type) {
+    //   if (["edit", "view"].includes(type)) {
+    //     getDetail(this.form.id).then((res) => {
+    //       this.form = res.data.data;
+    //     });
+    //   }
+    //   done();
+    // },
+    searchReset1() {
+      this.query1 = {};
+      this.onLoad1(this.page1);
+    },
+    searchChange1(params, done) {
+      this.query1 = params;
+      this.page1.currentPage = 1;
+      this.onLoad1(this.page1, params);
+      done();
+    },
+    selectionChange1(list) {
+      this.selectionList1 = list;
+    },
+    selectionClear1() {
+      this.selectionList1 = [];
+      this.$refs.crud1.toggleSelection();
+    },
+    currentChange1(currentPage) {
+      this.page1.currentPage = currentPage;
+    },
+    sizeChange1(pageSize) {
+      this.page1.pageSize = pageSize;
+    },
+    refreshChange1() {
+      this.onLoad1(this.page1, this.query1);
+    },
+    onLoad1(page, params = {}) {
+      // this.loading = false;
+      this.loading1 = true;
+      params["hold"] = "3";
+      getListSecurity(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query1)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page1.total = data.total;
+        this.data1 = data.records;
+        for (let k in this.data1) {
+          this.data1[k]["holdvs"] = "吊销其保安证";
+        }
+        this.loading1 = false;
+        // this.selectionClear();
+      });
+    },
+
     // 行单击
     handleRowClick(row) {
       // delete (row["name"]);
diff --git a/src/views/securityCompany/security.vue b/src/views/securityCompany/security.vue
index 315ca18..049181d 100644
--- a/src/views/securityCompany/security.vue
+++ b/src/views/securityCompany/security.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-07 17:30:05
  * @Last Modified by: liu
- * @Last Modified time: 2021-09-15 16:08:12
+ * @Last Modified time: 2021-12-04 14:40:34
  * menu-name 保安服务公司查询
  */
 <template>
@@ -56,9 +56,17 @@
           :type="type"
           icon="el-icon-warning"
           class="zhengJian-icon"
-          @click.stop="punish(row)"
+          @click.stop="punishtable(row)"
           >处罚</el-button
         >
+        <!-- <el-button
+          :size="size"
+          :type="type"
+          icon="el-icon-warning"
+          class="zhengJian-icon"
+          @click.stop="punish(row)"
+          >处罚</el-button
+        > -->
       </template>
     </avue-crud>
     <el-dialog
@@ -93,6 +101,18 @@
         >
       </span> -->
     </el-dialog>
+    <el-dialog
+      title="处罚详情"
+      :visible.sync="dialogVisiblepunishtable"
+      width="85%"
+      height="80vh"
+      :before-close="handleClose"
+      :modal-append-to-body="false"
+      center
+    >
+      <punish :form="dialogVisiblepunishData" v-if="dialogVisiblepunishtable">
+      </punish>
+    </el-dialog>
   </basic-container>
 </template>
 
@@ -107,10 +127,15 @@
 } from "@/api/securityCompany/security";
 import { mapGetters } from "vuex";
 import { companyColimn, punishColimn } from "./column";
-
+import punish from "./computents/punish.vue"; //处罚信息
 export default {
+  components: {
+    punish,
+  },
   data() {
     return {
+      dialogVisiblepunishData: {},
+      dialogVisiblepunishtable: false,
       objf: {},
       optionf: {
         column: punishColimn,
@@ -221,6 +246,7 @@
           type: "success",
           message: "操作成功!",
         });
+        this.dialogVisiblepunishData.news = !this.dialogVisiblepunishData.news;
         that.objf = {
           enterprisename: "",
           punishreason: "",
@@ -248,12 +274,21 @@
       };
       done();
     },
-    punish(row) {
+    punishtable(row) {
+      this.dialogVisiblepunishData = {
+        ...row,
+        see: true,
+        that: this,
+        news: false,
+      };
+      this.dialogVisiblepunishtable = true;
+    },
+    punish() {
       //打开处罚
       // console.log(row);
       this.objf = {
-        deptid: row.departmentid,
-        enterprisename: row.enterprisename,
+        deptid: this.dialogVisiblepunishData.departmentid,
+        enterprisename: this.dialogVisiblepunishData.enterprisename,
       };
       this.dialogVisible = true;
     },
diff --git a/src/views/securityGuardManagement/computents/dispatch.vue b/src/views/securityGuardManagement/computents/dispatch.vue
new file mode 100644
index 0000000..e6e307d
--- /dev/null
+++ b/src/views/securityGuardManagement/computents/dispatch.vue
@@ -0,0 +1,267 @@
+<template>
+  <avue-crud
+    class="company-box"
+    :option="equipmentOption"
+    :search.sync="equipmentSearch"
+    :table-loading="equipmentLoading"
+    :data="equipmentData"
+    ref="equipmentCrud"
+    :page.sync="equipmentPage"
+    @on-load="equipmentOnLoad"
+    @selection-change="equipmentSelectionChange"
+    @search-change="equipmentSearchChange"
+    @search-reset="equipmentSearchReset"
+    @current-change="equipmentCurrentChange"
+    @size-change="equipmentSizeChange"
+  >
+  </avue-crud>
+</template>
+
+<script>
+import { getLisperdispatch } from "@/api/register/honor";
+export default {
+  props: ["form"],
+  data() {
+    return {
+      equipmentOption: {
+        // 操作栏多余按钮去除
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        selection: true,
+        menu: false,
+
+        align: "center",
+        height: "auto",
+        calcHeight: 270,
+        searchShowBtn: false,
+        tip: false,
+        // searchShow: false,
+        searchMenuSpan: 3,
+        index: false,
+        viewBtn: true,
+        //dialogType: 'drawer',
+        dialogClickModal: false,
+        // 操作栏宽度
+        menuWidth: 156,
+
+        column: [
+          // {
+          //   label: "id",
+          //   prop: "id",
+          //   hide: true,
+          //   editDisplay: false,
+          //   addDisplay: false,
+          // },
+          {
+            label: "姓名",
+            prop: "name",
+            // search: true,
+            searchSpan: 3,
+            rules: [
+              {
+                required: true,
+                message: "请输入姓名",
+                trigger: "blur",
+              },
+            ],
+          },
+          // {
+          //   label: "身份证号",
+          //   prop: "cardid",
+          //   // rules: [
+          //   //   {
+          //   //     required: true,
+          //   //     message: "请输入编号",
+          //   //     trigger: "blur",
+          //   //   },
+          //   // ],
+          //   // search: true,
+          // }, //上面不显示
+          {
+            label: "派遣单位",
+            prop: "dispatcherCompany",
+            search: true,
+            // rules: [
+            //   {
+            //     required: true,
+            //     message: "请输入规格",
+            //     trigger: "blur",
+            //   },
+            // ],
+            // search: true,
+          },
+          // {
+          //   label: "保安公司",
+          //   prop: "deptName",
+          //   // rules: [
+          //   //   {
+          //   //     required: true,
+          //   //     message: "请输入规格",
+          //   //     trigger: "blur",
+          //   //   },
+          //   // ],
+          //   // search: true,
+          // },
+          // {
+          //   label: "派遣人",
+          //   prop: "dispatcher",
+          //   // rules: [
+          //   //   {
+          //   //     required: true,
+          //   //     message: "请输入规格",
+          //   //     trigger: "blur",
+          //   //   },
+          //   // ],
+          //   // search: true,
+          // },
+          {
+            label: "派遣时间",
+            prop: "dispatchertime",
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            labelWidth: 120,
+            searchSpan: 4,
+            // search: true,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入时间",
+                trigger: "click",
+              },
+            ],
+            // width: 70,
+            // rules: [
+            //   {
+            //     required: true,
+            //     message: "请输入型号",
+            //     trigger: "blur",
+            //   },
+            // ],
+            // search: true,
+          },
+          {
+            label: "结束时间",
+            prop: "endTime",
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            labelWidth: 120,
+            searchSpan: 4,
+            // search: true,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入时间",
+                trigger: "click",
+              },
+            ],
+            // width: 70,
+            // rules: [
+            //   {
+            //     required: true,
+            //     message: "请输入型号",
+            //     trigger: "blur",
+            //   },
+            // ],
+            // search: true,
+          },
+          {
+            label: "派遣地址",
+            prop: "dispatcheraddress",
+            // rules: [
+            //   {
+            //     required: true,
+            //     message: "请输入组织机构",
+            //     trigger: "blur",
+            //   },
+            // ],
+            // overHidden: true,
+            // // addDisplay: true,
+            // // editDisplay: true,
+            // // viewDisplay: true,
+            // // searchSpan: 5,
+            // dicUrl:
+            //   "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+            // props: {
+            //   label: "title",
+            //   value: "id",
+            // },
+            // // search: true,
+            // type: "select",
+            // // rules: [{
+            // //     required: true,
+            // //     message: "请选择学历",
+            // //     trigger: "blur"
+            // // }],
+          },
+        ],
+      },
+      equipmentSearch: {},
+      equipmentLoading: true,
+      equipmentData: [],
+      equipmentPage: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      equipmentQuery: {},
+      equipmentSelectionList: [],
+    };
+  },
+  methods: {
+    equipmentOnLoad(page, params = {}) {
+      this.equipmentLoading = true;
+      // console.log(this.form);
+      getLisperdispatch(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.equipmentQuery),
+        this.form.id
+      ).then((res) => {
+        const data = res.data.data;
+
+        this.equipmentPage.total = data.total;
+        this.equipmentData = data.records;
+        for (var k in this.equipmentData) {
+          this.equipmentData[k]["name"] = this.form.realName;
+        }
+        console.log(this.equipmentData, " this.equipmentData");
+        this.equipmentLoading = false;
+        this.$refs.equipmentCrud.refreshTable();
+        this.$refs.equipmentCrud.doLayout();
+        this.equipmentSelectionClear();
+      });
+    },
+    equipmentSelectionClear() {
+      this.equipmentSelectionList = [];
+      this.$refs.equipmentCrud.toggleSelection();
+    },
+    equipmentSelectionChange(list) {
+      this.equipmentSelectionList = list;
+    },
+    equipmentSearchChange(params, done) {
+      this.equipmentQuery = params;
+      this.equipmentPage.currentPage = 1;
+      this.equipmentOnLoad(this.equipmentPage, params);
+      done();
+    },
+    equipmentSearchReset() {
+      this.equipmentQuery = {};
+      this.equipmentOnLoad(this.equipmentPage);
+    },
+    equipmentCurrentChange(currentPage) {
+      this.equipmentPage.currentPage = currentPage;
+    },
+    equipmentSizeChange(pageSize) {
+      this.equipmentPage.pageSize = pageSize;
+    },
+  },
+};
+</script>
+
+<style>
+</style>
\ No newline at end of file
diff --git a/src/views/securityGuardManagement/computents/train.vue b/src/views/securityGuardManagement/computents/train.vue
new file mode 100644
index 0000000..4f2d8c8
--- /dev/null
+++ b/src/views/securityGuardManagement/computents/train.vue
@@ -0,0 +1,175 @@
+<template>
+  <avue-crud
+    class="company-box"
+    :option="serviceOption"
+    :search.sync="serviceSearch"
+    :table-loading="serviceLoading"
+    :data="serviceData"
+    ref="serviceCrud"
+    :page.sync="servicePage"
+    @on-load="serviceOnLoad"
+    @selection-change="serviceSelectionChange"
+    @search-change="serviceSearchChange"
+    @search-reset="serviceSearchReset"
+    @current-change="serviceCurrentChange"
+    @size-change="serviceSizeChange"
+  >
+  </avue-crud>
+</template>
+
+<script>
+import { getLispertrain } from "@/api/register/honor";
+export default {
+  props: ["form"],
+  data() {
+    return {
+      serviceOption: {
+        // 操作栏多余按钮去除
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        searchShowBtn: false,
+        selection: true,
+        menu: false,
+
+        align: "center",
+        height: "auto",
+        calcHeight: 160,
+        tip: false,
+        searchShow: false,
+        searchMenuSpan: 4,
+        index: false,
+        viewBtn: true,
+        //dialogType: 'drawer',
+        dialogClickModal: false,
+        // 操作栏宽度
+        menuWidth: 156,
+
+        column: [
+          {
+            label: "姓名",
+            prop: "name",
+            // slot: true,
+            // display: false,
+          },
+          // {
+          //   label: "性别",
+          //   prop: "sex",
+          //   // slot: true,
+          //   // display: false,
+          //   // formatter: function (row, value) {
+          //   //   return (value = value + "%");
+          //   // },
+          // },
+          // {
+          //   label: "身份证号",
+          //   prop: "cardid",
+          //   // slot: true,
+          //   // display: false,
+          //   // formatter: function (row, value) {
+          //   //   return (value = value + "万元");
+          //   // },
+          // },
+          {
+            label: "学历证书",
+            prop: "academicUrl",
+            // slot: true,
+            // display: false,
+          },
+          {
+            label: "培训单位",
+            prop: "trainUnitName",
+            // slot: true,
+            // display: false,
+          },
+
+          {
+            label: "培训时间",
+            prop: "trainingTime",
+            // slot: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            labelWidth: 120,
+            searchSpan: 4,
+            search: true,
+            overHidden: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入时间",
+                trigger: "click",
+              },
+            ],
+          },
+          // {
+          //   label: "培训地址",
+          //   prop: "trainaddrss",
+          //   // slot: true,
+          // },
+        ],
+      },
+      serviceSearch: {},
+      serviceLoading: true,
+      serviceData: [],
+      servicePage: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      serviceQuery: {},
+      serviceSelectionList: [],
+    };
+  },
+  methods: {
+    serviceOnLoad(page, params = {}) {
+      this.serviceLoading = true;
+      getLispertrain(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.serviceQuery),
+        this.form.id
+      ).then((res) => {
+        const data = res.data.data;
+
+        this.servicePage.total = data.total;
+        this.serviceData = data.records;
+        for (var k in this.serviceData) {
+          this.serviceData[k]["name"] = this.form.realName;
+        }
+        // console.log(this.serviceData, "serviceData");
+        this.serviceLoading = false;
+        this.$refs.serviceCrud.refreshTable();
+        this.$refs.serviceCrud.doLayout();
+        this.serviceSelectionClear();
+      });
+    },
+    serviceSelectionClear() {
+      this.serviceSelectionList = [];
+      this.$refs.serviceCrud.toggleSelection();
+    },
+    serviceSelectionChange(list) {
+      this.serviceSelectionList = list;
+    },
+    serviceSearchChange(params, done) {
+      this.serviceQuery = params;
+      this.servicePage.currentPage = 1;
+      this.serviceOnLoad(this.servicePage, params);
+      done();
+    },
+    serviceSearchReset() {
+      this.serviceQuery = {};
+      this.serviceOnLoad(this.servicePage);
+    },
+    serviceCurrentChange(currentPage) {
+      this.servicePage.currentPage = currentPage;
+    },
+    serviceSizeChange(pageSize) {
+      this.servicePage.pageSize = pageSize;
+    },
+  },
+};
+</script>
+
+<style>
+</style>
\ No newline at end of file
diff --git a/src/views/securityGuardManagement/data.js b/src/views/securityGuardManagement/data.js
index ae9ea83..a24c1be 100644
--- a/src/views/securityGuardManagement/data.js
+++ b/src/views/securityGuardManagement/data.js
@@ -536,6 +536,17 @@
     display: false
 },
 {
+    label: "保安证编号",
+    prop: "securitynumber",
+    search: true,
+    searchLabelWidth: 90,
+    minWidth: 105,
+    searchSpan: 4,
+    addDisplay: false,
+    editDisplay: false,
+    // hide: true,
+},
+{
     label: "身份证号码",
     prop: "cardid",
     search: true,
@@ -544,6 +555,7 @@
     minWidth: 140,
     display: false
 },
+
 
 {
     label: "籍贯",
@@ -604,17 +616,7 @@
     hide: true,
     display: false
 },
-{
-    label: "保安证编号",
-    prop: "securitynumber",
-    search: true,
-    searchLabelWidth: 90,
-    minWidth: 105,
-    searchSpan: 4,
-    addDisplay: false,
-    editDisplay: false,
-    // hide: true,
-},
+
 {
     label: "入职时间",
     prop: "rtime",
diff --git a/src/views/securityGuardManagement/register copy.vue b/src/views/securityGuardManagement/register copy.vue
new file mode 100644
index 0000000..7788009
--- /dev/null
+++ b/src/views/securityGuardManagement/register copy.vue
@@ -0,0 +1,1558 @@
+/*
+ * @Author: Morpheus
+ * @Date: 2021-07-05 16:31:54
+ * @Last Modified by: liu
+ * @Last Modified time: 2021-12-04 16:17:51
+ * menu-name 保安员注册查询
+ */
+<template>
+  <div>
+    <el-row class="registersss">
+      <el-col :span="3">
+        <div class="box">
+          <el-scrollbar>
+            <basic-container>
+              <avue-tree
+                :option="treeOption"
+                :data="treeData"
+                @node-click="nodeClick"
+              />
+            </basic-container>
+          </el-scrollbar>
+        </div>
+      </el-col>
+      <el-col :span="21">
+        <basic-container>
+          <avue-crud
+            :option="option"
+            :search.sync="search"
+            :table-loading="loading"
+            :data="data"
+            ref="crud"
+            v-model="form"
+            :permission="permissionList"
+            @row-save="rowSave"
+            :before-open="beforeOpen"
+            :page.sync="page"
+            @search-change="searchChange"
+            @search-reset="searchReset"
+            @selection-change="selectionChange"
+            @current-change="currentChange"
+            @size-change="sizeChange"
+            @refresh-change="refreshChange"
+            @on-load="onLoad"
+          >
+            <!-- @row-click="handleRowClick" -->
+            <!-- <template slot-scope="{row}"
+                              slot="tenantName">
+                        <el-tag>{{row.tenantName}}</el-tag>
+                    </template>
+                    <template slot-scope="{row}"
+                              slot="roleName">
+                        <el-tag>{{row.roleName}}</el-tag>
+                    </template>
+                    <template slot-scope="{row}"
+                              slot="deptName">
+                        <el-tag>{{row.deptName}}</el-tag>
+                    </template> -->
+            <template slot-scope="{ row }" slot="age">
+              {{ row.age == -1 ? "" : row.age }}
+            </template>
+            <template slot-scope="{ row }" slot="sex">
+              {{
+                row.sex == -1
+                  ? ""
+                  : row.sex == 1
+                  ? "男"
+                  : row.sex == 2
+                  ? "女"
+                  : ""
+              }}
+            </template>
+            <template slot-scope="{ row }" slot="deptId">
+              <el-tag
+                class="rowClickSelf"
+                title="点击查看所属公司情况"
+                @click="rowClickSelf(row.deptId)"
+                >{{ row.$deptId }}</el-tag
+              >
+            </template>
+            <template slot-scope="{ type, size, row }" slot="menu">
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="handleRowClick(row)"
+                >详情</el-button
+              >
+              <el-button
+                icon="el-icon-finished"
+                :size="size"
+                :type="type"
+                @click.stop="trackRecord(row)"
+                >保安员现实表现
+              </el-button>
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="honor(row)"
+                >保安员荣誉录入</el-button
+              >
+              <!-- <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="paiqian(row)"
+                >保安员派遣记录</el-button
+              > -->
+              <!-- <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="bmpxcx(row)"
+                >报名培训查询</el-button
+              > -->
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold == 1"
+                :disabled="row.hold != 1"
+                :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+                @click.stop="handleViewCredentials(row)"
+                >保安员证打印</el-button
+              >
+
+              <el-button
+                icon="icon-zhengjian"
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold != 3 && row.hold != 2"
+                @click.stop="handleCredentials(row)"
+                :title="row.hold == 2 ? '暂无证件' : ''"
+                :disabled="row.hold == 2"
+                >保安员证件吊销</el-button
+              >
+
+              <el-button
+                icon="icon-zhengjian"
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold == 3"
+                @click.stop="handleCredentialssee(row)"
+                >吊销原因</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>
+      </el-col>
+    </el-row>
+    <el-dialog
+      title="保安员荣誉录入"
+      :visible.sync="dialogVisible"
+      width="60%"
+      :before-close="handleClose"
+      :modal-append-to-body="false"
+      center
+    >
+      <!-- <span>这是一段信息</span> -->
+      <avue-form
+        :option="optionf"
+        v-model="objf"
+        @submit="submitf"
+        @error="errorf"
+      >
+        <template slot-scope="{ type, size, row }" slot="menuForm">
+          <el-button
+            :size="size"
+            icon="el-icon-error"
+            :type="type"
+            @click="close(row)"
+            >关闭</el-button
+          >
+        </template>
+      </avue-form>
+      <!-- <span slot="footer" class="dialog-footer">
+        <el-button @click="dialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="dialogVisible = false"
+          >确 定</el-button
+        >
+      </span> -->
+    </el-dialog>
+
+    <div class="baoanzheng" v-if="dialogVisiblecertificates">
+      <!-- 保安员证 -->
+      <!-- <div class="baoanzheng" id="baoanzheng"> -->
+      <div class="baz-main">
+        <div class="baz-m-body" ref="baoanzheng">
+          <div class="bmb-heard">保安员证</div>
+          <div class="img">
+            <div v-if="!objVisiblecertificates.myPicture">暂无照片</div>
+            <img :src="objVisiblecertificates.myPicture" alt="" v-else />
+          </div>
+          <div class="imgs">
+            <div v-if="erweima == ''">暂无二维码</div>
+            <img :src="erweima" alt="" v-else />
+            <!-- <img src="/img/register/ewm.png" alt="" /> -->
+            <!-- logoSrc="/img/register/ewm.png" -->
+            <!-- <vue-qr :text="goToUrl" :size="200"></vue-qr> -->
+          </div>
+
+          <!-- <img src="/img/mock/card/card-1.jpg" alt="" /> -->
+          <div class="bmb-b">
+            姓名:<span class="bmb-b-s">{{
+              objVisiblecertificates.realName
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            性别:<span class="bmb-b-s">{{ objVisiblecertificates.$sex }}</span>
+          </div>
+          <div class="bmb-b">
+            编号:<span class="bmb-b-s">{{
+              objVisiblecertificates.securitynumber
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            地址:<span class="bmb-b-s">{{
+              objVisiblecertificates.address
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            身份证:<span class="bmb-b-s">{{
+              objVisiblecertificates.cardid
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            发证机关:<span class="bmb-b-s">南昌市公安局</span>
+          </div>
+          <div class="bmb-b">
+            发证日期:<span class="bmb-b-s">{{
+              objVisiblecertificates.paperTime.slice(0, 10)
+            }}</span>
+          </div>
+          <!-- <div class="bmb-b">
+              发证机关:<span class="bmb-b-s" style="margin-right: 15px"
+                >南昌市公安局</span
+              >发证日期:<span class="bmb-b-s">{{
+                obj0.createTime.slice(0, 10)
+              }}</span>
+            </div> -->
+        </div>
+        <span slot="footer" class="dialog-footer no-print PrintBut">
+          <el-button type="primary" @click="Print">打 印</el-button>
+          <el-button type="primary" @click="closePrint"> 取 消 </el-button>
+        </span>
+      </div>
+      <!-- </div> -->
+      <!-- <div class="baz-main">
+        <div class="baz-m-body" ref="baoanzheng">
+          <div class="bmb-heard">保安员证</div>
+          <div class="bmb-b">
+            姓名:<span class="bmb-b-s">{{
+              objVisiblecertificates.realName
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            性别:<span class="bmb-b-s">{{
+              objVisiblecertificates.sexName
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            编号:<span class="bmb-b-s">{{
+              objVisiblecertificates.securitynumber
+            }}</span>
+          </div>
+          <div class="bmb-b">
+            发证机关:<span class="bmb-b-s" style="margin-right: 15px"
+              >南昌市公安局</span
+            >发证日期:<span class="bmb-b-s">{{
+              objVisiblecertificates.createTime.slice(0, 10)
+            }}</span>
+          </div>
+        </div>
+        <span slot="footer" class="dialog-footer no-print PrintBut">
+          <el-button type="primary" @click="Print">打 印</el-button>
+          <el-button type="primary" @click="closePrint"> 取 消 </el-button>
+        </span>
+      </div> -->
+    </div>
+    <el-dialog
+      title="保安员现实表现"
+      append-to-body
+      :visible.sync="trackRecordVisible"
+    >
+      <avue-crud
+        :option="option2"
+        :data="data2"
+        :page.sync="page2"
+        @row-save="rowSave2"
+        @row-update="rowUpdate2"
+        @row-del="rowDel2"
+        :table-loading="loading2"
+      >
+      </avue-crud>
+    </el-dialog>
+    <el-dialog
+      title="保安员派遣记录"
+      append-to-body
+      :visible.sync="paiqianVisible"
+    >
+      <!-- <avue-crud
+        :option="option2"
+        :data="data2"
+        :page.sync="page2"
+        @row-save="rowSave2"
+        @row-update="rowUpdate2"
+        @row-del="rowDel2"
+        :table-loading="loading2"
+      >
+      </avue-crud> -->
+      <dispatch :form="paiqianData" v-if="paiqianVisible"></dispatch>
+    </el-dialog>
+    <el-dialog
+      title="报名培训查询"
+      append-to-body
+      :visible.sync="bmpxcxVisible"
+    >
+      <!-- <avue-crud
+        :option="option2"
+        :data="data2"
+        :page.sync="page2"
+        @row-save="rowSave2"
+        @row-update="rowUpdate2"
+        @row-del="rowDel2"
+        :table-loading="loading2"
+      >
+      </avue-crud> -->
+      <train :form="bmpxcxData" v-if="bmpxcxVisible"></train>
+    </el-dialog>
+    <el-dialog title="证件吊销原因" append-to-body :visible.sync="zjdxVisible">
+      <el-form :inline="true" :model="formInline" class="demo-form-inline">
+        <el-form-item label="审批人">
+          <el-input v-model="formInline.user" placeholder="审批人"></el-input>
+        </el-form-item>
+        <el-form-item label="活动区域">
+          <el-select v-model="formInline.region" placeholder="活动区域">
+            <el-option label="区域一" value="shanghai"></el-option>
+            <el-option label="区域二" value="beijing"></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item>
+          <el-button type="primary" @click="onSubmit">确认吊销</el-button>
+        </el-form-item>
+      </el-form>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import train from "./computents/train.vue"; //服务对象
+import dispatch from "./computents/dispatch.vue"; //装备管理
+import { getUser, add, updateHold } from "@/api/management/user";
+import { getListSecurity } from "@/api/system/user";
+import { getDeptLazyTree } from "@/api/Jurs/jurs";
+// import { getDeptTree, getDeptLazyTree } from "@/api/system/dept";
+import { getDeptTree } from "@/api/system/dept";
+import { getRoleTree } from "@/api/system/role";
+import { getPostList } from "@/api/system/post";
+import { mapGetters } from "vuex";
+import website from "@/config/website";
+import { getToken } from "@/util/auth";
+import { addhonor, getER } from "@/api/register/honor";
+
+import {
+  //现实表现
+  trackRecordadd,
+  trackRecordupdate,
+  trackRecordpage,
+  trackRecordremove,
+} from "@/api/performance/performance";
+import { trackRecordColumn } from "./data";
+
+export default {
+  components: {
+    dispatch,
+    train,
+  },
+  data() {
+    const validatePass = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("请输入密码"));
+      } else {
+        callback();
+      }
+    };
+    const validatePass2 = (rule, value, callback) => {
+      if (value === "") {
+        callback(new Error("请再次输入密码"));
+      } else if (value !== this.form.password) {
+        callback(new Error("两次输入密码不一致!"));
+      } else {
+        callback();
+      }
+    };
+    return {
+      //证件吊销
+      zjdxVisible: false,
+      zjdx: {},
+      zjdxData: {},
+      // 报名培训查询
+      bmpxcxData: {},
+      bmpxcxVisible: false,
+      // 派遣记录
+      paiqianData: {},
+      paiqianVisible: false,
+      //现实表现
+      securityid2: "",
+      loading2: true,
+      page2: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      query2: {},
+      data2: [],
+      option2: {
+        menu: false,
+        height: 400,
+        addBtn: false,
+        delBtn: false,
+        editBtn: false,
+        widtd: "auto",
+        calcHeight: 54,
+        border: true, //liu
+        stripe: true,
+        tip: false,
+        index: true,
+        dialogClickModal: false,
+        headerAlign: "center",
+        align: "center",
+        column: trackRecordColumn,
+      },
+      trackRecordData: [],
+      trackRecordVisible: false,
+
+      dialogVisiblecertificates: false,
+      objVisiblecertificates: {},
+      erweima: "", //二维码
+
+      objf: {},
+      optionf: {
+        column: [
+          {
+            label: "保安员名称",
+            prop: "name",
+            span: 24,
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入身份证号码",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "身份证号码",
+            prop: "cardid",
+            span: 24,
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入身份证号码",
+                trigger: "blur",
+              },
+            ],
+          },
+          {
+            label: "发证机关",
+            prop: "paperUnit",
+            span: 24,
+            labelWidth: 110,
+          },
+          {
+            label: "荣誉情况",
+            prop: "honor",
+            span: 24,
+            type: "textarea",
+            labelWidth: 110,
+          },
+          {
+            label: "获取时间",
+            prop: "honortime",
+            span: 24,
+            labelWidth: 110,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+          },
+        ],
+      },
+      dialogVisible: false,
+      form: {},
+      search: {},
+      excelBox: false,
+      initFlag: true,
+      selectionList: [],
+      query: {},
+      loading: true,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+
+      init: {
+        roleTree: [],
+        deptTree: [],
+      },
+
+      treeDeptId: "",
+      jurisdiction: "",
+      treeData: [],
+      treeOption: {
+        nodeKey: "id",
+        defaultExpandAll: true,
+        lazy: true,
+        treeLoad: function (node, resolve) {
+          const parentId = node.level === 0 ? 0 : node.data.id;
+
+          if (parentId == 0) {
+            getDeptLazyTree(parentId).then((res) => {
+              resolve(
+                res.data.data.map((item) => {
+                  return {
+                    ...item,
+                    leaf: !item.hasChildren,
+                  };
+                })
+              );
+            });
+          } else if (parentId == "1372091709474910209") {
+            getDeptLazyTree(parentId).then((res) => {
+              resolve(
+                res.data.data[0].children.map((item) => {
+                  return {
+                    ...item,
+                    leaf: !item.hasChildren,
+                  };
+                })
+              );
+            });
+          } else {
+            getDeptLazyTree(parentId).then((res) => {
+              res.data.data = [];
+              resolve(
+                res.data.data.map((item) => {
+                  return {
+                    ...item,
+                    leaf: !item.hasChildren,
+                  };
+                })
+              );
+            });
+          }
+        },
+        addBtn: false,
+        menu: false,
+        size: "small",
+        props: {
+          labelText: "标题",
+          label: "title",
+          value: "value",
+          children: "children",
+        },
+      },
+      option: {
+        // 操作栏多余按钮去除
+        delBtn: false,
+        editBtn: false,
+        addBtn: false,
+        selection: true,
+        align: "center",
+        height: "auto",
+        calcHeight: 80,
+        tip: false,
+        // 操作栏宽度
+        menuWidth: 398,
+        searchShowBtn: false,
+        searchShow: true,
+        border: true,
+        searchMenuSpan: 4,
+        index: true,
+        viewBtn: false,
+        //dialogType: 'drawer',
+        dialogClickModal: false,
+        column: [
+          {
+            label: "姓名",
+            prop: "realName",
+            search: true,
+            searchSpan: 3,
+            width: 60,
+            searchLabelWidth: 50,
+            display: false,
+          },
+          {
+            label: "所属保安公司",
+            searchLabelWidth: "110",
+            // prop: "deptName",
+            prop: "deptId",
+            type: "tree",
+            dicUrl:
+              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697",
+            props: {
+              label: "title",
+              value: "id",
+            },
+            slot: true,
+            searchSpan: 5,
+            display: false,
+            overHidden: true,
+            search: true,
+            width: 198,
+          },
+          {
+            label: "性别",
+            prop: "sex",
+            width: 55,
+            slot: true,
+            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: "avatar",
+            dataType: "string",
+            type: "img",
+          },
+          {
+            label: "指纹",
+            prop: "fingerprint",
+            dataType: "string",
+            type: "img",
+          },
+          {
+            label: "籍贯",
+            prop: "nativeplace",
+            hide: true,
+            display: false,
+          },
+          {
+            label: "民族",
+            prop: "nation",
+            hide: true,
+            width: 55,
+            display: false,
+          },
+
+          {
+            label: "出生日期",
+            prop: "birthday",
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            display: false,
+            hide: true,
+          },
+          {
+            label: "年龄",
+            prop: "age",
+            width: 55,
+            slot: true,
+            display: false,
+          },
+          {
+            label: "身高",
+            prop: "height",
+            width: 55,
+          },
+          {
+            label: "学历",
+            prop: "education",
+            display: false,
+            // hide: true,
+            search: true,
+            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: 95,
+            display: false,
+          },
+          {
+            label: "地址",
+            prop: "nativeplace",
+            minWidth: 95,
+            overHidden: true,
+          },
+          {
+            label: "健康状态",
+            prop: "healstats",
+            hide: true,
+            display: false,
+          },
+          {
+            label: "保安证编号",
+            prop: "securitynumber",
+            search: true,
+            searchLabelWidth: 90,
+            minWidth: 105,
+            searchSpan: 4,
+            addDisplay: false,
+            editDisplay: false,
+            // hide: true,
+          },
+          {
+            label: "入职时间",
+            prop: "rtime",
+            hide: true,
+            display: false,
+          },
+          // {
+          //     label: "是否派遣",
+          //     prop: "dispatch",
+          //     // hide: true,
+          //     type: 'select',
+          //     // display: false,
+          //     dicData: [
+          //         {
+          //             label: '未派遣',
+          //             value: 1
+          //         }, {
+          //             label: '已派遣',
+          //             value: 0
+          //         }
+          //     ]
+          // },
+          {
+            label: "是否派遣",
+            prop: "dispatch",
+            type: "select",
+            dicData: [
+              {
+                label: "未派遣",
+                value: "1",
+              },
+              {
+                label: "已派遣",
+                value: "0",
+              },
+            ],
+          },
+          {
+            label: "是否持证",
+            prop: "hold",
+            slot: true,
+            search: true,
+            searchSpan: 3,
+            width: 72,
+            display: false,
+            dicData: [
+              {
+                label: "是",
+                value: "1",
+              },
+              {
+                label: "否",
+                value: "2",
+              },
+              {
+                label: "已吊销",
+                value: "3",
+              },
+            ],
+            // dicUrl: "/api/blade-system/dict-biz/dictionary?code=equipage",
+            // props: {
+            //   label: "dictValue",
+            //   value: "dictKey",
+            // },
+            type: "select",
+            rules: [
+              {
+                required: true,
+                message: "请选择",
+                trigger: "blur",
+              },
+            ],
+          },
+
+          // {
+          //     label: "入职时间",
+          //     prop: "rtime",
+          //     type: "datetime",
+          //     format: "yyyy-MM-dd",
+          //     valueFormat: "yyyy-MM-dd",
+          //     searchRange: true,
+          //     searchSpan: 6,
+          //     hide: true,
+          //     addDisplay: false,
+          //     editDisplay: false,
+          //     viewDisplay: false,
+          //     search: true,
+          //     rules: [{
+          //         required: true,
+          //         message: "请输入时间",
+          //         trigger: "blur"
+          //     }]
+          // },
+          {
+            label: "在职状态",
+            prop: "status",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=workerState",
+            props: {
+              label: "dictValue",
+              value: "dictKey",
+            },
+            dataType: "number",
+            display: false,
+            hide: true,
+            searchSpan: 3,
+            width: 80,
+            search: false,
+            rules: [
+              {
+                required: true,
+                message: "请选择在职状态",
+                trigger: "blur",
+              },
+            ],
+          },
+        ],
+      },
+      data: [],
+      platformQuery: {},
+      platformSelectionList: [],
+
+      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/blade-user/import-user",
+          },
+          {
+            label: "数据覆盖",
+            prop: "isCovered",
+            type: "switch",
+            align: "center",
+            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: {
+    "form.tenantId"() {
+      if (this.form.tenantId !== "" && this.initFlag) {
+        this.initData(this.form.tenantId);
+      }
+    },
+    "excelForm.isCovered"() {
+      if (this.excelForm.isCovered !== "") {
+        try {
+          const column = this.findObject(this.excelOption.column, "excelFile");
+          column.action = `/api/blade-user/import-user?isCovered=${this.excelForm.isCovered}`;
+        } catch {}
+      }
+    },
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.user_add, false),
+        viewBtn: this.vaildData(this.permission.user_view, false),
+        delBtn: this.vaildData(this.permission.user_delete, false),
+        editBtn: this.vaildData(this.permission.user_edit, false),
+      };
+    },
+
+    ids() {
+      let ids = [];
+      this.selectionList.forEach((ele) => {
+        ids.push(ele.id);
+      });
+      return ids.join(",");
+    },
+  },
+  mounted() {
+    // 非租户模式默认加载管理组数据
+    if (!website.tenantMode) {
+      this.initData(website.tenantId);
+    }
+  },
+  methods: {
+    //现实表现↓
+    trackRecord(row) {
+      // console.log(row);
+      this.securityid2 = row.id;
+      this.getPerformancePageInfo(this.page2);
+    },
+    // 派遣
+    paiqian(row) {
+      // console.log(row);
+      this.paiqianVisible = true;
+      this.paiqianData = row;
+    },
+    //报名培训查询
+    bmpxcx(row) {
+      // console.log(row);
+      this.bmpxcxVisible = true;
+      this.bmpxcxData = row;
+    },
+
+    getPerformancePageInfo(page) {
+      var param = {
+        securityid: this.securityid2,
+      };
+      this.trackRecordVisible = true;
+      trackRecordpage(page.currentPage, page.pageSize, param).then((res2) => {
+        const data = res2.data.data;
+        this.page2.total = data.total;
+        this.data2 = data.records;
+        // console.log(this.data2, 1);
+        this.loading2 = false;
+      });
+    },
+    rowSave2(form, done, loading) {
+      form.securityid = this.securityid2;
+      trackRecordadd(form).then(
+        (res) => {
+          this.getPerformancePageInfo(this.page2);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+      // }
+    },
+    rowUpdate2(row, index, done, loading) {
+      row.securityid = this.securityid2;
+      trackRecordupdate(row).then(
+        () => {
+          this.getPerformancePageInfo(this.page2);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+    },
+    rowDel2(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return trackRecordremove(row.id);
+        })
+        .then(() => {
+          this.getPerformancePageInfo(this.page2);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    //现实表现↑
+    rowClickSelf(row) {
+      console.log(row, "baoan");
+      this.$router.push({
+        path: "/securityCompany/index",
+        query: { fromSecunityGuardId: row },
+      });
+    },
+    Print() {
+      this.$Print(this.$refs.baoanzheng);
+    },
+    closePrint() {
+      this.dialogVisiblecertificates = false;
+    },
+    close(row) {
+      this.objf = {};
+      this.dialogVisible = false;
+    },
+    submitf(form, done) {
+      console.log(form);
+      // this.$message.success(JSON.stringify(form));
+      addhonor(form).then(
+        (res) => {
+          // console.log(res);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        },
+        (error) => {
+          this.$message({
+            type: "info",
+            message: "操作失败",
+          });
+        }
+      );
+      this.objf = {};
+      this.dialogVisible = false;
+      done();
+    },
+    errorf(err) {
+      this.$message.success("请查看控制台");
+      console.log(err);
+    },
+    handleClose(done) {
+      this.objf = {};
+      done();
+    },
+    honor(row) {
+      this.objf = {};
+      //打开荣誉录入
+      this.objf = {
+        cardid: row.cardid,
+        name: row.realName,
+        honor: "",
+        honortime: "",
+      };
+      console.log(this.objf);
+      console.log(row);
+      this.dialogVisible = true;
+    },
+    nodeClick(data) {
+      //   this.treeDeptId = data.id;
+      // console.log(data, 55555);
+      if (data.title != "南昌市公安局") {
+        this.jurisdiction = data.id;
+      } else {
+        this.jurisdiction = "";
+      }
+      this.page.currentPage = 1;
+      this.onLoad(this.page);
+    },
+    initData(tenantId) {
+      getRoleTree(tenantId).then((res) => {
+        try {
+          try {
+            const column = this.findObject(this.option.group, "roleId");
+          } catch (error) {}
+          column.dicData = res.data.data;
+        } catch {}
+      });
+      getDeptTree(tenantId).then((res) => {
+        try {
+          try {
+            const column = this.findObject(this.option.group, "deptId");
+          } catch (error) {}
+          column.dicData = res.data.data;
+        } catch {}
+      });
+      getPostList(tenantId).then((res) => {
+        try {
+          try {
+            const column = this.findObject(this.option.group, "postId");
+          } catch (error) {}
+          column.dicData = res.data.data;
+        } catch {}
+      });
+    },
+
+    rowSave(row, done, loading) {
+      row.deptId = row.deptId.join(",");
+      row.roleId = row.roleId.join(",");
+      row.postId = row.postId.join(",");
+      add(row).then(
+        () => {
+          this.initFlag = false;
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+    },
+    searchReset() {
+      this.query = {};
+      this.treeDeptId = "";
+      this.onLoad(this.page);
+    },
+    searchChange(params, done) {
+      this.query = params;
+      this.page.currentPage = 1;
+      // var deptId;
+      if (params.deptId) {
+        this.query["deptId"] = params.deptId;
+      }
+      this.onLoad(this.page, params);
+      done();
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    selectionClear() {
+      this.selectionList = [];
+      this.$refs.crud.toggleSelection();
+    },
+    uploadAfter(res, done, loading, column) {
+      window.console.log(column);
+      this.excelBox = false;
+      this.refreshChange();
+      done();
+    },
+
+    handleTemplate() {
+      window.open(
+        `/api/blade-user/export-template?${
+          this.website.tokenHeader
+        }=${getToken()}`
+      );
+    },
+    beforeOpen(done, type) {
+      if (["edit", "view"].includes(type)) {
+        getUser(this.form.id).then((res) => {
+          this.form = res.data.data;
+          if (this.form.hasOwnProperty("deptId")) {
+            this.form.deptId = this.form.deptId.split(",");
+          }
+          if (this.form.hasOwnProperty("roleId")) {
+            this.form.roleId = this.form.roleId.split(",");
+          }
+          if (this.form.hasOwnProperty("postId")) {
+            this.form.postId = this.form.postId.split(",");
+          }
+        });
+      }
+      this.initFlag = true;
+      done();
+    },
+    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["jurisdiction"] = this.jurisdiction;
+      console.log(params, 1, this.query, 2);
+      getListSecurity(
+        page.currentPage,
+        page.pageSize,
+        Object.assign(params, this.query)
+      ).then((res) => {
+        const data = res.data.data;
+        this.page.total = data.total;
+        // var d = data.records;
+        // var date = new Date();
+        // var datayear = date.getFullYear();
+        // for (const key in d) {
+        //   var year = d[key].cardid.slice(6, 10);
+        //   d[key]["age"] = +datayear - +year;
+        //   // d[key].securitynumber = "赣洪202100009";
+        // }
+        this.data = data.records;
+        // console.log(this.data);
+        this.loading = false;
+        this.selectionClear();
+      });
+    },
+
+    platformSelectionClear() {
+      this.platformSelectionList = [];
+      this.$refs.platformCrud.toggleSelection();
+    },
+
+    // 行单击
+    handleRowClick(row) {
+      // delete (row["name"]);
+      var obj = row;
+      obj["name"] = "保安详细信息";
+      this.$router.push({
+        path: `/management/index`,
+        query: obj,
+      });
+
+      // var flag = false,
+      //   i = 0,
+      //   ind = null;
+
+      // this.$store.state.tags.tagList.forEach((item, index) => {
+      //   if (item.label == "保安详细信息") {
+      //     if (flag == false) {
+      //       ind = index;
+      //       flag = true;
+      //     }
+      //     i++;
+      //   }
+      // });
+      // if (i > 1) {
+      //   this.$store.state.tags.tagList.splice(ind, 1);
+      // }
+    },
+    //证件查看
+    handleViewCredentials(row) {
+      var obj = row;
+      // obj["name"] = "保安证件信息";
+      // this.$router.push({
+      //   path: `/management/idinformation`,
+      //   query: obj,
+      // });
+      this.dialogVisiblecertificates = true;
+      // // $("#certificatess").jqprint();
+      // console.log($);
+      // this.$Print("#certificatess");
+      this.objVisiblecertificates = obj;
+      console.log(this.objVisiblecertificates);
+      getER(this.objVisiblecertificates.securitynumber).then((res) => {
+        this.erweima = res.data;
+        // console.log(res.data);
+      });
+    },
+    // 证件吊销事件
+    handleCredentials(row) {
+      // console.log(row);
+      this.zjdxData = row;
+      this.zjdxVisible = true;
+      // this.$prompt("证件吊销原因", "提示", {
+      //   confirmButtonText: "确定吊销",
+      //   cancelButtonText: "取消",
+      //   inputErrorMessage: "",
+      // })
+      //   .then(({ value }) => {
+      //     // console.log(value);
+      //     updateHold(3, row.cardid, value).then((res) => {
+      //       this.$message({
+      //         type: "success",
+      //         message: "操作成功",
+      //       });
+      //       this.refreshChange();
+      //     });
+      //   })
+      //   .catch(() => {});
+    },
+    handleCredentialssee(see) {
+      var str = ` <div><span>吊销时间:</span><span>${see.holdvtime}</span></div>
+              <div><span>吊销内容:</span><span>${see.holdv}</span></div>`;
+      this.$alert(str, "吊销原因", {
+        dangerouslyUseHTMLString: true,
+      });
+    },
+  },
+};
+</script>
+
+<style lang='scss' scoped>
+.box {
+  height: 800px;
+}
+
+.el-scrollbar {
+  height: 100%;
+}
+
+.box .el-scrollbar__wrap {
+  overflow: scroll;
+}
+#certificatess {
+  width: 600px;
+  height: 300px;
+  background-color: #fff;
+  .certificates-main {
+    width: 100%;
+    height: 100%;
+    background-image: url("/img/register/bazbj.png");
+    background-size: 100% 100%;
+  }
+}
+
+.baoanzheng {
+  position: fixed;
+  top: 0;
+  left: -10%;
+  height: 0;
+  width: 120%;
+  height: 100%;
+  // background-color: rgba(0, 0, 0, 0.5);
+  background-color: #fff;
+  z-index: 9000;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+// .baz-main {
+//   position: relative;
+//   top: 15px;
+//   // width: 441px;
+//   // height: 358px;
+//   width: 491px;
+//   height: 468px;
+//   // background-color: #004ca7;
+//   background-color: #fff;
+//   display: flex;
+//   align-items: center;
+//   justify-content: center;
+//   flex-direction: column;
+// }
+// .baz-m-body {
+//   width: 461px;
+//   height: 308px;
+//   background-image: url("/img/register/bazbj.png");
+//   background-size: 100% 100%;
+//   .bmb-heard {
+//     font-size: 2rem;
+//     width: 100%;
+//     text-align: center;
+//     letter-spacing: 1rem;
+//     margin-bottom: 40px;
+//     position: relative;
+//     top: 20px;
+//   }
+//   img {
+//     width: 130px;
+//     height: 130px;
+//     border-radius: 130px;
+//     position: absolute;
+//     top: 110px;
+//     right: 60px;
+//   }
+//   .bmb-b {
+//     padding-left: 20px;
+//     box-sizing: border-box;
+//     height: 50px;
+//     margin-left: 10px;
+//     width: 100%;
+//     font-size: 1rem;
+//     font-weight: 400;
+//     .bmb-b-s {
+//       display: inline-block;
+//       width: 110px;
+//       font-size: 1.1rem;
+//       font-weight: 600;
+//     }
+//   }
+// }
+// .PrintBut {
+//   margin-top: 15px;
+// }
+// .rowClickSelf {
+//   &:hover {
+//     cursor: pointer;
+//   }
+// }
+
+// .baoanzheng {
+//   // position: fixed;
+//   position: relative;
+//   // top: 0;
+//   top: 0;
+//   // left: -10%;
+//   left: 0;
+//   // height: 0;
+//   width: 100%;
+//   height: calc(100% - 100px);
+//   // background-color: rgba(0, 0, 0, 0.5);
+//   background-color: #fff;
+//   z-index: 9000;
+//   display: flex;
+//   align-items: center;
+//   justify-content: center;
+// }
+.baz-main {
+  position: relative;
+  top: 15px;
+  // width: 441px;
+  // height: 358px;
+  width: 750px;
+  height: 550px;
+  // background-color: #004ca7;
+  background-color: #fff;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+}
+.baz-m-body {
+  width: 750px;
+  height: 550px;
+  background-image: url("/img/register/bazbj.png");
+  background-size: 100% 100%;
+  .bmb-heard {
+    font-size: 4rem;
+    width: 100%;
+    text-align: center;
+    letter-spacing: 1.4rem;
+    margin-bottom: 40px;
+    padding-left: 10px;
+    position: relative;
+    top: 20px;
+  }
+  .img {
+    width: 152px;
+    height: 205px;
+    border-radius: 10px;
+    position: absolute;
+    // border: 1px solid rgba($color: #888888, $alpha: 0.5);
+    top: 110px;
+    right: 80px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    img {
+      width: 100%;
+      height: 100%;
+    }
+  }
+  .imgs {
+    width: 110px;
+    height: 110px;
+    border-radius: 10px;
+    position: absolute;
+    // border: 1px solid rgba($color: #888888, $alpha: 0.5);
+    top: 330px;
+    right: 103px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    img {
+      width: 100%;
+      height: 100%;
+    }
+  }
+  .bmb-b {
+    padding-left: 20px;
+    box-sizing: border-box;
+    height: 2.9rem;
+    margin-left: 3rem;
+    width: 100%;
+    font-size: 1.5rem;
+    font-weight: 300;
+    .bmb-b-s {
+      display: inline-block;
+      width: 20rem;
+      font-size: 1.5rem;
+      font-weight: 300;
+    }
+  }
+}
+.PrintBut {
+  margin-top: 15px;
+}
+</style>
diff --git a/src/views/securityGuardManagement/register.vue b/src/views/securityGuardManagement/register.vue
index 2cbb7d8..0b125f4 100644
--- a/src/views/securityGuardManagement/register.vue
+++ b/src/views/securityGuardManagement/register.vue
@@ -2,7 +2,7 @@
  * @Author: Morpheus
  * @Date: 2021-07-05 16:31:54
  * @Last Modified by: liu
- * @Last Modified time: 2021-11-30 15:01:25
+ * @Last Modified time: 2021-12-04 16:26:48
  * menu-name 保安员注册查询
  */
 <template>
@@ -77,7 +77,7 @@
                 >{{ row.$deptId }}</el-tag
               >
             </template>
-            <template slot-scope="{ type, size, row }" slot="menu">
+            <!-- <template slot-scope="{ type, size, row }" slot="menu">
               <el-button
                 :size="size"
                 :type="type"
@@ -97,7 +97,7 @@
                 :size="size"
                 :type="type"
                 @click.stop="trackRecord(row)"
-                >现实表现
+                >保安员现实表现
               </el-button>
               <el-button
                 :size="size"
@@ -120,6 +120,75 @@
                 :title="row.hold == 2 ? '暂无证件' : ''"
                 :disabled="row.hold == 2"
                 >证件吊销</el-button
+              >
+
+              <el-button
+                icon="icon-zhengjian"
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold == 3"
+                @click.stop="handleCredentialssee(row)"
+                >吊销原因</el-button
+              >
+            </template> -->
+            <template slot-scope="{ type, size, row }" slot="menu">
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="handleRowClick(row)"
+                >详情</el-button
+              >
+              <el-button
+                icon="el-icon-finished"
+                :size="size"
+                :type="type"
+                @click.stop="trackRecord(row)"
+                >保安员现实表现
+              </el-button>
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="honor(row)"
+                >保安员荣誉录入</el-button
+              >
+              <!-- <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="paiqian(row)"
+                >保安员派遣记录</el-button
+              > -->
+              <!-- <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                @click.stop="bmpxcx(row)"
+                >报名培训查询</el-button
+              > -->
+              <el-button
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold == 1"
+                :disabled="row.hold != 1"
+                :title="row.hold != 1 ? '暂无证件或已吊销' : ''"
+                @click.stop="handleViewCredentials(row)"
+                >保安员证打印</el-button
+              >
+
+              <el-button
+                icon="icon-zhengjian"
+                :size="size"
+                :type="type"
+                class="zhengJian-icon"
+                v-if="row.hold != 3 && row.hold != 2"
+                @click.stop="handleCredentials(row)"
+                :title="row.hold == 2 ? '暂无证件' : ''"
+                :disabled="row.hold == 2"
+                >保安员证件吊销</el-button
               >
 
               <el-button
@@ -579,6 +648,30 @@
             display: false,
           },
           {
+            label: "保安证编号",
+            prop: "securitynumber",
+            search: true,
+            searchLabelWidth: 90,
+            minWidth: 105,
+            searchSpan: 4,
+            addDisplay: false,
+            editDisplay: false,
+            // hide: true,
+          },
+          {
+            label: "学历",
+            prop: "education",
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=educationType",
+            props: {
+              label: "dictValue",
+              value: "dictKey",
+            },
+            dataType: "number",
+            // slot: true,
+            disabled: true,
+          },
+          {
             label: "身份证号码",
             prop: "cardid",
             search: true,
@@ -674,17 +767,7 @@
             hide: true,
             display: false,
           },
-          {
-            label: "保安证编号",
-            prop: "securitynumber",
-            search: true,
-            searchLabelWidth: 90,
-            minWidth: 105,
-            searchSpan: 4,
-            addDisplay: false,
-            editDisplay: false,
-            // hide: true,
-          },
+
           {
             label: "入职时间",
             prop: "rtime",

--
Gitblit v1.9.3