From c4e67a8942e514b65ab41bb19781d50576c15725 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Fri, 24 Sep 2021 19:56:52 +0800
Subject: [PATCH] 用户

---
 src/views/securityGuard/securityGuardDetail.vue |  347 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 324 insertions(+), 23 deletions(-)

diff --git a/src/views/securityGuard/securityGuardDetail.vue b/src/views/securityGuard/securityGuardDetail.vue
index a606a3e..57f952b 100644
--- a/src/views/securityGuard/securityGuardDetail.vue
+++ b/src/views/securityGuard/securityGuardDetail.vue
@@ -10,7 +10,12 @@
         :data="data1"
         :page.sync="page1"
         :table-loading="loading1"
-        @refresh-change="refreshChange1"
+        @row-save="rowSave1"
+        @row-update="rowUpdate1"
+        @row-del="rowDel1"
+        @current-change="CurrentChange1"
+        @refresh-change="refreshchange1"
+        @size-change="SizeChange1"
       >
       </avue-crud>
     </span>
@@ -23,9 +28,71 @@
         @row-update="rowUpdate2"
         @row-del="rowDel2"
         :table-loading="loading2"
-        @refresh-change="refreshChange2"
+        @current-change="CurrentChange2"
+        @size-change="SizeChange2"
+        @refresh-change="refreshchange2"
       >
       </avue-crud>
+    </span>
+    <span v-else-if="typeTABS.prop === 'tab4'">
+      <!-- 保安员证 -->
+      <div class="baoanzheng" id="baoanzheng" v-if="hold == 1">
+        <div class="baz-main">
+          <div class="baz-m-body" ref="baoanzheng">
+            <div class="bmb-heard">保安员证</div>
+            <div class="img">
+              <div v-if="!obj0.avatar">暂无照片</div>
+              <img :src="obj0.avatar" 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">{{ obj0.realName }}</span>
+            </div>
+            <div class="bmb-b">
+              性别:<span class="bmb-b-s">{{ obj0.$sex }}</span>
+            </div>
+            <div class="bmb-b">
+              编号:<span class="bmb-b-s">{{ obj0.securitynumber }}</span>
+            </div>
+            <div class="bmb-b">
+              发证机关:<span class="bmb-b-s">南昌市公安局</span>
+            </div>
+            <div class="bmb-b">
+              发证日期:<span class="bmb-b-s">{{
+                obj0.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 v-else style="width: 100%; text-align: center; padding-top: 20px">
+        无保安证
+      </div>
+    </span>
+    <span v-else-if="typeTABS.prop === 'tab5'">
+      <securityCertificate :data="obj0" v-if="hold == 1"></securityCertificate>
+      <div v-else style="width: 100%; text-align: center; padding-top: 20px">
+        无保安证书
+      </div>
     </span>
   </div>
 </template> 
@@ -36,23 +103,39 @@
   practitionersColumn,
   trackRecordColumn,
 } from "./data";
-import { getUserPractitionersInfo } from "@/api/system/user";
+import {
+  addExperience,
+  updateExperience,
+  getExperienceDetail,
+  experienceRemove,
+  getExperienceList,
+} from "@/api/experience/experience";
+
 import {
   getPerformanceInfo,
   add,
   update,
-  page,
+  getpage,
   remove,
+  getER,
 } from "@/api/performance/performance";
+
+// import vueQr from "vue-qr";
+import securityCertificate from "./securityCertificate.vue";
+
 export default {
+  components: {
+    securityCertificate: securityCertificate,
+  },
   data() {
     return {
       typeTABS: {}, //标签页
+      row: {}, //数据
       optionTABS: {
         column: [
           {
             // icon: "el-icon-info",
-            label: "保安员入职登记基本信息",
+            label: "保安员基本信息",
             prop: "tab1",
           },
           {
@@ -64,6 +147,16 @@
             // icon: "el-icon-info",
             label: "现实表现记录",
             prop: "tab3",
+          },
+          {
+            // icon: "el-icon-info",
+            label: "保安员证",
+            prop: "tab4",
+          },
+          {
+            // icon: "el-icon-info",
+            label: "保安员证书",
+            prop: "tab5",
           },
         ],
       },
@@ -97,12 +190,12 @@
         total: 0,
       },
       query1: {},
+      query2: {},
       data1: [],
       data2: [],
       option1: {
         card: true,
-        menu: false,
-        addBtn: false,
+        menu: true,
         height: "auto",
         widtd: "auto",
         calcHeight: 54,
@@ -130,8 +223,13 @@
         align: "center",
         column: trackRecordColumn,
       },
+      erweima: "",
+      hold: "",
     };
   },
+  // components: {
+  //   vueQr,
+  // },
   computed: {
     ids1() {
       let ids1 = [];
@@ -140,42 +238,69 @@
       });
       return ids1.join(",");
     },
+    // goToUrl() {
+    //   var url =
+    //     "http://s16s652780.51mypc.cn/securityInfo/securityInfo.html?securityNumber=" +
+    //     this.obj0.securitynumber;
+    //   return url;
+    // },
   },
   methods: {
+    Print() {
+      var printDom = document.getElementById("baoanzheng");
+      printDom.style.position = "fixed";
+      printDom.style.left = "-10%";
+      printDom.style.width = "120%";
+      printDom.style.height = "100%";
+      this.$Print(this.$refs.baoanzheng);
+      printDom.style.position = "relative";
+      printDom.style.left = "0";
+      printDom.style.width = "100%";
+      printDom.style.height = "calc(100% - 100px)";
+    },
     handleChangeTABS(column) {
       this.typeTABS = column;
       if (column.prop == "tab1") {
         this.loading1 = false;
       } else if (column.prop == "tab2") {
         //查询当前保安员的从业记录信息
-        this.getPractitionersPageInfo();
+        this.getPractitionersPageInfo(this.page1);
         this.loading1 = false;
       } else if (column.prop == "tab3") {
         //查询当前保安员的现实表现记录
-        this.getPerformancePageInfo();
+        this.getPerformancePageInfo(this.page2);
         this.loading2 = false;
+      } else if (column.prop == "tab4") {
+        getER(this.obj0.securitynumber).then((res) => {
+          this.erweima = res.data;
+          // console.log(res.data);
+        });
       }
     },
+    refreshchange1() {
+      this.getPractitionersPageInfo(this.page1, this.query1);
+    },
     //查询当前保安员的从业记录信息
-    getPractitionersPageInfo() {
-      var that = this;
+    getPractitionersPageInfo(page, param = {}) {
+      param["securityid"] = this.id;
       //获取用户从业信息
-      console.log(this.id, "cid");
-      getUserPractitionersInfo(this.id).then((res1) => {
-        that.data1 = res1.data.data;
+      // console.log(this.id, "cid");
+
+      getExperienceList(page.currentPage, page.pageSize, param).then((res1) => {
+        const data = res1.data.data;
+        this.page1.total = data.total;
+        this.data1 = data.records;
+        this.loading1 = false;
       });
     },
+    refreshchange2() {
+      this.getPerformancePageInfo(this.page2, this.query2);
+    },
     //查询当前保安员的现实表现记录信息
-    getPerformancePageInfo() {
+    getPerformancePageInfo(page, param = {}) {
       //获取现实表现信息
-      // getPerformanceInfo(this.id).then((res) => {
-      //   that.data2 = res1.data.data;
-      //   console.log(that.data2, 1);
-      // });
-      var param = {
-        securityid: this.id,
-      };
-      page(this.current, this.size, param).then((res2) => {
+      param["securityid"] = this.id;
+      getpage(page.currentPage, page.pageSize, param).then((res2) => {
         const data = res2.data.data;
         this.page2.total = data.total;
         this.data2 = data.records;
@@ -183,11 +308,53 @@
         this.loading2 = false;
       });
     },
+    CurrentChange1(currentPage) {
+      this.page1.currentPage = currentPage;
+      this.refreshchange1();
+    },
+    SizeChange1(pageSize) {
+      this.page1.pageSize = pageSize;
+      this.refreshchange1();
+    },
+    CurrentChange2(currentPage) {
+      this.page2.currentPage = currentPage;
+      this.refreshchange2();
+    },
+    SizeChange2(pageSize) {
+      this.page2.pageSize = pageSize;
+      this.refreshchange2();
+    },
+    // refreshChange1() {
+    //   this.getPractitionersPageInfo();
+    // },
+    // refreshChange2() {
+    //   this.getPerformancePageInfo();
+    // },
+
     rowSave2(form, done, loading) {
       form.securityid = this.id;
       add(form).then(
         (res) => {
           this.getPerformancePageInfo(this.page2);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+      // }
+    },
+    //从业记录新增
+    rowSave1(form, done, loading) {
+      form.securityid = this.id;
+      addExperience(form).then(
+        (res) => {
+          this.getPractitionersPageInfo(this.page1);
           this.$message({
             type: "success",
             message: "操作成功!",
@@ -218,6 +385,23 @@
         }
       );
     },
+    rowUpdate1(row, index, done, loading) {
+      row.securityid = this.id;
+      updateExperience(row).then(
+        () => {
+          this.getPractitionersPageInfo(this.page1);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+          done();
+        },
+        (error) => {
+          window.console.log(error);
+          loading();
+        }
+      );
+    },
     rowDel2(row) {
       this.$confirm("确定将选择数据删除?", {
         confirmButtonText: "确定",
@@ -229,6 +413,23 @@
         })
         .then(() => {
           this.getPerformancePageInfo(this.page2);
+          this.$message({
+            type: "success",
+            message: "操作成功!",
+          });
+        });
+    },
+    rowDel1(row) {
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          return experienceRemove(row.id);
+        })
+        .then(() => {
+          this.getPractitionersPageInfo(this.page1);
           this.$message({
             type: "success",
             message: "操作成功!",
@@ -251,6 +452,8 @@
       this.name = row.name;
       this.dispatcherCompany = row.dispatcherCompany;
       this.id = row.id;
+      this.hold = row.hold;
+      console.log(this.obj0);
     }
 
     var flag = false,
@@ -287,4 +490,102 @@
 // .el-tag--light {
 //   padding: 0 !important;
 // }
+
+.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: 3.9rem;
+    margin-left: 3rem;
+    width: 100%;
+    font-size: 2rem;
+    font-weight: 300;
+    .bmb-b-s {
+      display: inline-block;
+      width: 20rem;
+      font-size: 2rem;
+      font-weight: 300;
+    }
+  }
+}
+.PrintBut {
+  margin-top: 15px;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3