From d8cb402b82f93279531be6babbb89400a50a178d Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 05 Nov 2021 10:40:08 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_enterprises

---
 src/views/securityGuard/securityGuard.vue |  166 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 144 insertions(+), 22 deletions(-)

diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 43a6590..b00c5e1 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -58,6 +58,16 @@
               >个人照片批量上传
             </el-button>
             <el-button
+              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"
@@ -284,7 +294,7 @@
     </el-col>
   </el-row>
 </template>
- 
+
 <script>
 import {
   getUser,
@@ -299,6 +309,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 +348,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 +516,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 +742,14 @@
                 prop: "securitynumber",
                 hide: true,
               },
+              // {
+              //   label: "发证日期",
+              //   prop: "paperTime",
+              //   hide: true,
+              //   type: "date",
+              //   format: "yyyy-MM-dd",
+              //   valueFormat: "yyyy-MM-dd",
+              // },
               {
                 label: "电子邮箱",
                 prop: "email",
@@ -734,11 +789,18 @@
               },
               {
                 label: "联系地址",
-                prop: "address",
+                prop: "address"
               },
               {
-                label: "户口所在地",
+                label: "住址",
                 prop: "registered",
+                rules: [
+                  {
+                    required: true,
+                    message: "请输入住址",
+                    trigger: "click",
+                  },
+                ],
               },
               {
                 label: "所属辖区",
@@ -1065,6 +1127,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 +1204,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 +1328,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) {
@@ -1409,7 +1519,19 @@
             ColumnDeptUpdate.dicUrl =
               "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697&jurisdiction=" +
               that.userInfo.jurisdiction;
-          } else {
+          } else if (roleAlias == "培训公司管理员") {
+              //如果是保安公司管理员
+              params["trainingUnitId"] = that.userInfo.dept_id;
+              var columnDept2 = that.findObject(that.option.column, "deptId");
+            columnDept2.dicUrl =
+              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697";
+            var ColumnDeptUpdate2 = that.findObject(
+              that.option.group,
+              "deptId"
+            );
+            ColumnDeptUpdate2.dicUrl =
+              "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697";
+          }else {
             var columnDept1 = that.findObject(that.option.column, "deptId");
             columnDept1.dicUrl =
               "/api/blade-system/dept/security_lazy-tree?parentId=1413470343230877697";
@@ -1517,7 +1639,7 @@
   },
 };
 </script>
- 
+
 <style lang="scss" scoped>
 .box {
   height: 800px;
@@ -1535,4 +1657,4 @@
     cursor: pointer;
   }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3