From 60f61da97dd643d3f808fba14cf7d136a8b5f11b Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 05 Nov 2021 17:27:21 +0800
Subject: [PATCH] +许可审批修改

---
 src/views/securityGuard/securityGuard.vue |  136 ++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 120 insertions(+), 16 deletions(-)

diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 43a6590..26a1a35 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -58,6 +58,17 @@
               >个人照片批量上传
             </el-button>
             <el-button
+              style="display:none"
+              type="primary"
+              size="small"
+              plain
+              v-if="permission.securityGuard_security_apply"
+              icon="el-icon-s-promotion"
+              @click="handleSecurityApply"
+              >制证申请
+            </el-button>
+            
+            <el-button
               type="danger"
               style="display: none"
               size="small"
@@ -299,6 +310,7 @@
   getUserPractitionersInfo,
   saveOrUpdateUserPractitionersInfo,
 } from "@/api/system/user";
+import {securityApply} from '@/api/accreditationRecords/accreditationRecords'
 import { getList } from "@/api/securityGuard/securityGuard";
 import { getDeptLazyTree } from "@/api/system/dept";
 import { getRoleTree, getRoleDetail } from "@/api/system/role";
@@ -337,26 +349,54 @@
     // };
     var date = new Date();
     let year = date.getFullYear(),
-      oldyear;
+      mouth = date.getMonth() + 1,
+      day = date.getDate(),
+      oldy,
+      oldm,
+      oldd,
+      ok = false;
 
     const validatePassCardid = (rule, value, callback) => {
+      // console.log(oldy, oldm, oldd, year - oldy, mouth, day);
       var test =
         /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
       if (!test.test(value)) {
         callback(new Error("请输入正确身份证号码"));
       } else {
         //加入校验18岁到60岁的
-        oldyear = +value.slice(6, 10);
-        if (year - oldyear < 18 || year - oldyear > 60) {
+        oldy = +value.slice(6, 10);
+        oldm = +value.slice(10, 12);
+        oldd = +value.slice(12, 14);
+        ok =
+          year - oldy < 18 || year - oldy > 60
+            ? false
+            : year - oldy == 18
+            ? mouth < oldm
+              ? false
+              : mouth > oldm
+              ? true
+              : day < oldd
+              ? false
+              : true
+            : year - oldy == 60
+            ? mouth < oldm
+              ? true
+              : mouth > oldm
+              ? false
+              : day <= oldd
+              ? false
+              : true
+            : true;
+        if (ok) {
+          callback();
+        } else {
           // callback(new Error("根据国家要求,需在18岁至60岁"));
           callback(new Error("年龄不符"));
-        } else {
-          callback();
         }
       }
     };
     const validatePassPhone = (rule, value, callback) => {
-      var test = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$/g;
+      var test = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$/g;
       if (!test.test(value)) {
         callback(new Error("请输入正确手机号码"));
       } else {
@@ -477,12 +517,20 @@
           children: "children",
         },
       },
+      choiceList: [],
       option: {
         height: "auto",
         calcHeight: 80,
-        tip: false,
+        tip: true,
         searchShow: true,
-
+        reserveSelection:true,
+        selectable: (row) => {
+          if (row.hold!=="1") {
+            return false;
+          } else {
+            return true;
+          }
+        },
         indexWidth: 55,
         searchMenuSpan: 6,
         stripe: true,
@@ -695,6 +743,14 @@
                 prop: "securitynumber",
                 hide: true,
               },
+              // {
+              //   label: "发证日期",
+              //   prop: "paperTime",
+              //   hide: true,
+              //   type: "date",
+              //   format: "yyyy-MM-dd",
+              //   valueFormat: "yyyy-MM-dd",
+              // },
               {
                 label: "电子邮箱",
                 prop: "email",
@@ -1065,6 +1121,42 @@
         this.onLoad(this.page);
       });
     },
+    //制证申请
+    handleSecurityApply(){
+      if (this.choiceList.length === 0) {
+        this.$message.warning("请勾选至少一位持证保安员");
+        return;
+      }
+        this.$confirm("共选择制证申请人数"+this.choiceList.length+"人,确定申请制证?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          let cho = this.choiceList;
+          console.log(this.choiceList,14521);
+          let str = "";
+          for (let k in cho) {
+            str += cho[k].id;
+            if (k != cho.length - 1) {
+              str += ",";
+            }
+          }
+          console.log(str,1132);
+          const data = {
+            ids:str,
+            createUser:this.userInfo.user_id
+          }
+          return securityApply(data);
+        })
+        .then(() => {
+          // this.$refs.crud.toggleSelection();
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
     rowSave(row, done, loading) {
       if (row.deptId) {
         row.deptId = row.deptId;
@@ -1106,15 +1198,21 @@
           sex: row.sex,
         },
       };
+
       securitySave(userMap).then(
         () => {
           this.initFlag = false;
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!",
+          this.$alert("账号为身份证号码,密码为身份证后六位", "温馨提示", {
+            confirmButtonText: "确定",
+            callback: (action) => {
+              this.$message({
+                type: "success",
+                message: `操作成功`,
+              });
+              this.onLoad(this.page);
+              done();
+            },
           });
-          done();
         },
         (error) => {
           window.console.log(error);
@@ -1224,11 +1322,17 @@
       done();
     },
     selectionChange(list) {
-      this.selectionList = list;
+      // this.selectionList = list;
+      this.choiceList = [];
+      for (let k in list) {
+        this.choiceList.push({
+          id: list[k].id,
+        });
+      }
     },
     selectionClear() {
-      this.selectionList = [];
-      this.$refs.crud.toggleSelection();
+      // this.selectionList = [];
+      // this.$refs.crud.toggleSelection();
     },
     handleDelete() {
       if (this.selectionList.length === 0) {

--
Gitblit v1.9.3