From 47a0f58d4334939b08a55b9356f94de23c8b1367 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 15 Jun 2022 14:56:26 +0800
Subject: [PATCH] 新增保安员导入

---
 src/views/securityGuard/securityGuard.vue |  221 +++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 206 insertions(+), 15 deletions(-)

diff --git a/src/views/securityGuard/securityGuard.vue b/src/views/securityGuard/securityGuard.vue
index 153b2f7..4f34dd4 100644
--- a/src/views/securityGuard/securityGuard.vue
+++ b/src/views/securityGuard/securityGuard.vue
@@ -155,6 +155,15 @@
               @click="handleExport"
               >导出
             </el-button>
+            <el-button
+              type="success"
+              size="small"
+              plain
+              icon="el-icon-upload2"
+              v-if="permission.securityGuard_import_admin"
+              @click="handleImport3"
+              >保安员批量导入-制证
+            </el-button>
           </template>
 
           <template slot-scope="{ type, size, row }" slot="menu">
@@ -174,13 +183,22 @@
                   >查看
                 </el-button>
                 <br v-if="permission.securityGuard_view" />
-                <el-button
+                <!-- <el-button
                   icon="el-icon-scissors"
                   :size="size"
                   :type="type"
                   v-if="permission.securityGuard_edit && row.status != 2"
                   @click="$refs.crud.rowEdit(row, index)"
                   >编辑
+                </el-button>
+                <br v-if="permission.securityGuard_edit && row.status != 2" /> -->
+                <el-button
+                  icon="el-icon-scissors"
+                  :size="size"
+                  :type="type"
+                  @click="accountUpdate(row)"
+                  v-if="permission.securityGuard_edit && row.status != 2"
+                  >账号修改
                 </el-button>
                 <br v-if="permission.securityGuard_edit && row.status != 2" />
                 <el-button
@@ -340,6 +358,26 @@
           </template>
         </avue-crud>
         <el-dialog
+          title="账号修改"
+          :visible.sync="accountVisible"
+          width="width"
+          :modal="true"
+          :modal-append-to-body="true"
+          :append-to-body="true"
+          :close-on-click-modal="false"
+          :close-on-press-escape="false"
+          :before-close="dialogBeforeClose"
+        >
+            <avue-form
+              ref="formAccount"
+              :option="optionAccount"
+              v-model="formAccount"
+              @reset-change="emptytChangeAccount"
+              @submit="submit"
+            >
+            </avue-form>
+        </el-dialog>
+        <el-dialog
           title="用户角色配置"
           append-to-body
           :visible.sync="roleBox"
@@ -424,6 +462,24 @@
           >
             <template slot="excelTemplate">
               <el-button type="primary" @click="handleTemplate1">
+                点击下载<i class="el-icon-download el-icon--right"></i>
+              </el-button>
+            </template>
+          </avue-form>
+        </el-dialog>
+        <el-dialog
+          title="保安员导入-制证"
+          append-to-body
+          :visible.sync="excelBox3"
+          width="555px"
+        >
+          <avue-form
+            :option="excelOption3"
+            v-model="excelForm3"
+            :upload-after="uploadAfter3"
+          >
+            <template slot="excelTemplate">
+              <el-button type="primary" @click="handleTemplate3">
                 点击下载<i class="el-icon-download el-icon--right"></i>
               </el-button>
             </template>
@@ -541,6 +597,7 @@
   update,
   updatePlatform,
   securitySave,
+  updateAccount,
   securitySaves,
   grant,
   resetPassword,
@@ -745,6 +802,7 @@
       certificateYear: null,
       certificateMonth: null,
       certificateFlag: false,
+      accountVisible:false,
       certificateObj: {
         realName: "",
         securitynumber: "",
@@ -754,6 +812,7 @@
       securityid: "",
       excelBox1: false,
       excelBox2: false,
+      excelBox3: false,
       isSecurity: true,
       securityCheckApplyvisible: false,
       excelForm1: {},
@@ -782,6 +841,32 @@
           }
         ]
       },
+      excelForm3: {},
+      excelOption3: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "文件上传",
+            prop: "excelFile",
+            type: "upload",
+            drag: true,
+            loadText: "文件上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data"
+            },
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/securityPaper/import-security-paper"
+          },
+          {
+            label: "模板下载",
+            prop: "excelTemplate",
+            formslot: true,
+            span: 24
+          }
+        ]
+      },
       excelForm2: {},
       excelOption2: {
         submitBtn: false,
@@ -797,8 +882,8 @@
             propsHttp: {
               res: "data"
             },
-            tip: "请上传 zip 压缩文件,照片文件名以身份证号码命名",
-            action: "/api/blade-resource/oss/endpoint/put-file-zip"
+            tip: "请上传 zip 压缩文件,照片文件名以用户编号命名",
+            action: "/api/blade-resource/oss/endpoint/put-file-zips"
           }
         ]
       },
@@ -945,6 +1030,52 @@
           }
         ]
       },
+      optionAccount: {
+        height: "auto",
+        calcHeight: 30,
+        dialogWidth: 1000,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        stripe: true,
+        viewBtn: false,
+        addBtn: false,
+        editBtn: false,
+        selection: true,
+        excelBtn: false,
+        menuWidth: 230,
+        dialogClickModal: false,
+        column: [
+          {
+            label: "原账号",
+            prop: "oldAccount",
+            labelWidth: 110,
+            disabled: true,
+            rules: [
+              {
+                required: true,
+                message: "请输入原账号",
+                trigger: "blur"
+              }
+            ]
+          },
+          {
+            label: "新账号",
+            prop: "account",
+            labelWidth: 110,
+            rules: [
+              {
+                required: true,
+                message: "请输入新账号",
+                trigger: "blur"
+              }
+            ]
+          }
+        ]
+      },
+      formAccount: {},
       formSecurityCheckApply: {},
       option: {
         searchIndex: 6, //收缩展示数量
@@ -1715,6 +1846,36 @@
     // this.olondSFZ(); //检查身份证设备是否存在
   },
   methods: {
+    //账号修改
+    accountUpdate(row){
+      this.formAccount = {
+        id: row.id,
+        oldAccount: row.account,
+        account:"",
+      }
+      this.accountVisible = true;
+
+    },
+    //账号修改提交
+    submit(row, done, loading) {
+      var that = this;
+      updateAccount(row).then(
+        () => {
+          that.$refs.formAccount.resetFields();
+          that.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          that.accountVisible = false;
+          that.onLoad(that.page);
+          done();
+        },
+        error => {
+          window.console.log(error);
+          done();
+        }
+      );
+    },
     checkDom(name, fn) {
       //  声明定时器
       let that = this;
@@ -1743,6 +1904,7 @@
       //  首次执行
       checkDom();
     },
+    
     openccc() {
       console.log(this.zhiwenImg);
       // console.log(this.zhiwenChart);
@@ -1921,6 +2083,15 @@
     handleImport1() {
       this.excelBox1 = true;
     },
+    handleImport3() {
+      this.excelBox3 = true;
+    },
+    uploadAfter3(res, done, loading, column) {
+      window.console.log(column);
+      this.excelBox3 = false;
+      this.refreshChange();
+      done();
+    },
     uploadAfter1(res, done, loading, column) {
       window.console.log(column);
       this.excelBox1 = false;
@@ -1944,6 +2115,13 @@
           this.website.tokenHeader
         }=${getToken()}`
       );
+    },
+    handleTemplate3() {
+        window.open(
+          `/api/securityPaper/export-template-security-paper?${
+            this.website.tokenHeader
+          }=${getToken()}`
+        );
     },
     handleImport2() {
       this.excelBox2 = true;
@@ -2299,22 +2477,28 @@
           // console.log(res.data,111111111111111111);
           this.initFlag = false;
           if (res.data.code == 200) {
-            this.$alert("账号为姓名,密码为身份证后六位", "温馨提示", {
-              confirmButtonText: "确定",
-              callback: action => {
-                this.$message({
-                  type: "success",
-                  message: `操作成功`
-                });
-                this.onLoad(this.page);
-                done();
-              }
+            // this.$alert("新增成功,密码为身份证后六位", "温馨提示", {
+            //   confirmButtonText: "确定",
+            //   callback: action => {
+            //     this.$message({
+            //       type: "success",
+            //       message: `操作成功`
+            //     });
+            //     this.onLoad(this.page);
+            //     done();
+            //   }
+            // });
+            this.$message({
+              type: "success",
+              message: `操作成功`
             });
+            this.onLoad(this.page);
+            done();
           }
           //保安员证编号不匹配的情况
           if (res.data.code == 201) {
             this.$alert(
-              "用户新增成功!账号为姓名,密码为身份证后六位!注:当前保安证编号不匹配,请核实!",
+              "用户新增成功!,密码为身份证后六位!注:当前保安证编号不匹配,请核实!",
               "温馨提示",
               {
                 confirmButtonText: "确定",
@@ -2786,7 +2970,6 @@
     },
     //排序
     sortChange(value) {
-      // console.log(value, 51151515);
       if (value.order == "ascending") {
         this.sort = "asc";
       }
@@ -2871,6 +3054,14 @@
               "/api/blade-system/dept/security_lazy-tree?jurisdiction=" +
               that.userInfo.jurisdiction;
 
+            //导入action 修改
+            const importColumn = that.findObject(
+              that.excelOption1.column,
+              "excelFile"
+            );
+            importColumn.action =
+              "/api/blade-user/import-security?deptId=" + this.deptIds;
+
             //审查状态查询开启
             // var columnExaminationType = that.findObject(
             //   that.option.column,

--
Gitblit v1.9.3