From f2a74b0b28b74dc29be85ec8e6328bdd262f84b9 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Fri, 24 May 2024 14:35:58 +0800
Subject: [PATCH] 地址配置修改
---
src/views/securityGuard/securityGuardDetail.vue | 880 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 610 insertions(+), 270 deletions(-)
diff --git a/src/views/securityGuard/securityGuardDetail.vue b/src/views/securityGuard/securityGuardDetail.vue
index 398bdaa..d9ee7b4 100644
--- a/src/views/securityGuard/securityGuardDetail.vue
+++ b/src/views/securityGuard/securityGuardDetail.vue
@@ -1,280 +1,620 @@
<template>
- <div class="dispatch">
- <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs>
- <span v-if="typeTABS.prop === 'tab1'">
- <avue-form ref="form" v-model="obj0" :option="option0"> </avue-form>
- </span>
- <span v-else-if="typeTABS.prop === 'tab2'">
- <avue-crud
- :option="option1"
- :data="data1"
- :page.sync="page1"
- :table-loading="loading1"
- @refresh-change="refreshChange1"
- >
- </avue-crud>
- </span>
- <span v-else-if="typeTABS.prop === 'tab3'">
- <avue-crud
- :option="option2"
- :data="data2"
- :page.sync="page2"
- @row-save="rowSave2"
- @row-update="rowUpdate2"
- @row-del="rowDel2"
- :table-loading="loading2"
- @refresh-change="refreshChange2"
- >
- </avue-crud>
- </span>
- </div>
-</template>
+ <div class="dispatch">
+ <avue-tabs :option="optionTABS" @change="handleChangeTABS"></avue-tabs>
+ <span v-if="typeTABS.prop === 'tab1'">
+ <bAForm :form="obj1"></bAForm>
+ </span>
+ <span v-else-if="typeTABS.prop === 'tab2'">
+ <avue-crud :option="option1" :data="data1" :page.sync="page1" :table-loading="loading1" @row-save="rowSave1"
+ @row-update="rowUpdate1" @row-del="rowDel1" @current-change="CurrentChange1"
+ @refresh-change="refreshchange1" @size-change="SizeChange1">
+ </avue-crud>
+ </span>
+ <span v-else-if="typeTABS.prop === 'tab3'">
+ <avue-crud :option="option2" :data="data2" :page.sync="page2" @row-save="rowSave2" @row-update="rowUpdate2"
+ @row-del="rowDel2" :table-loading="loading2" @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 />
+ </div>
+
+ <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>
+ <span slot="footer" class="dialog-footer no-print PrintBut">
+ <el-button type="primary" @click="Print">打 印</el-button>
+ </span>
+ </div>
+ </div> -->
+ <baoanz :data="obj0" v-if="hold == 1 || hold == 3"></baoanz>
+ <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 || hold == 3"></securityCertificate>
+ <div v-else style="width: 100%; text-align: center; padding-top: 20px">
+ 无保安员证
+ </div>
+ </span>
+ </div>
+</template>
<script>
import {
- securityBaseInfoColumn,
- practitionersColumn,
- trackRecordColumn,
-} from "./data";
-import { getUserPractitionersInfo } from "@/api/system/user";
-import { add, update, page, remove } from "@/api/performance/performance";
-export default {
- data() {
- return {
- typeTABS: {}, //标签页
- optionTABS: {
- column: [
- {
- // icon: "el-icon-info",
- label: "保安员入职登记基本信息",
- prop: "tab1",
- },
- {
- // icon: "el-icon-info",
- label: "从业记录",
- prop: "tab2",
- },
- {
- // icon: "el-icon-info",
- label: "现实表现记录",
- prop: "tab3",
- },
- ],
- },
- current: 1,
- size: 10,
- cardid: "",
- name: "",
- dispatcherCompany: "",
- id: "",
- obj0: {
- title: "我是头部标题",
- },
- option0: {
- emptyBtn: false,
- submitBtn: false,
- labelWidth: "110",
- gutter: 30,
- column: securityBaseInfoColumn,
- },
- loading1: true,
- loading2: true,
- selectionList1: [],
- page1: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- page2: {
- pageSize: 10,
- currentPage: 1,
- total: 0,
- },
- query1: {},
- data1: [],
- data2: [],
- option1: {
- card: true,
- menu: false,
- addBtn: false,
- height: "auto",
- widtd: "auto",
- calcHeight: 54,
- border: false,
- stripe: true,
- tip: false,
- index: true,
- dialogClickModal: false,
- headerAlign: "center",
- align: "center",
- column: practitionersColumn,
- },
- option2: {
- card: true,
- menu: true,
- height: "auto",
- widtd: "auto",
- calcHeight: 54,
- border: false,
- stripe: true,
- tip: false,
- index: true,
- dialogClickModal: false,
- headerAlign: "center",
- align: "center",
- column: trackRecordColumn,
- },
- };
- },
- computed: {
- ids1() {
- let ids1 = [];
- this.selectionList1.forEach((ele) => {
- ids1.push(ele.id);
- });
- return ids1.join(",");
- },
- },
- methods: {
- handleChangeTABS(column) {
- this.typeTABS = column;
- if (column.prop == "tab1") {
- this.loading1 = false;
- } else if (column.prop == "tab2") {
- //查询当前保安员的从业记录信息
- this.getPractitionersPageInfo();
- this.loading1 = false;
- } else if (column.prop == "tab3") {
- //查询当前保安员的现实表现记录
- this.getPerformancePageInfo();
- this.loading2 = false;
- }
- },
- //查询当前保安员的从业记录信息
- getPractitionersPageInfo() {
- var that = this;
- //获取用户从业信息
- console.log(this.cardid, "cid");
- getUserPractitionersInfo(this.cardid).then((res1) => {
- that.data1 = res1.data.data;
- });
- },
- //查询当前保安员的现实表现记录信息
- getPerformancePageInfo() {
- //获取现实表现信息
- var param = {
- cardid: this.cardid,
- };
- page(this.current, this.size, 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.cardid = this.cardid;
- add(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.cardid = this.cardid;
- update(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 remove(row.id);
- })
- .then(() => {
- this.getPerformancePageInfo(this.page2);
- this.$message({
- type: "success",
- message: "操作成功!",
- });
- });
- },
- },
- mounted() {
- this.typeTABS = this.optionTABS.column[0];
- var data = JSON.parse(this.$route.query.row);
- // console.log(data);
- if (data) {
- var row = data;
- // var row = this.$route.query.row;
- for (var k in row) {
- this.obj0[k] = row[k];
- }
- this.obj0.title = "";
- this.cardid = row.id;
- this.name = row.name;
- this.dispatcherCompany = row.dispatcherCompany;
- this.id = row.id;
- }
+ securityBaseInfoColumn,
+ practitionersColumn,
+ trackRecordColumn,
+} from "./data"
+import {
+ addExperience,
+ updateExperience,
+ experienceRemove,
+ getExperienceList,
+} from "@/api/experience/experience"
- 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;
+import {
+ add,
+ update,
+ getpage,
+ remove,
+ getER,
+} from "@/api/performance/performance"
+
+import { getUser, getUserPractitionersInfo } from "@/api/system/user"
+
+// import vueQr from "vue-qr";
+import securityCertificate from "./securityCertificate.vue"
+import baoanz from "./baoanz.vue"
+import bAForm from '@/components/bAForm/main'
+
+export default {
+ components: {
+ securityCertificate: securityCertificate,
+ baoanz,
+ bAForm
+ },
+ data () {
+ return {
+ typeTABS: {}, //标签页
+ row: {}, //数据
+ optionTABS: {
+ column: [
+ {
+ // icon: "el-icon-info",
+ label: "保安员基本信息",
+ prop: "tab1",
+ },
+ {
+ // icon: "el-icon-info",
+ label: "从业记录",
+ prop: "tab2",
+ },
+ {
+ // icon: "el-icon-info",
+ label: "现实表现记录",
+ prop: "tab3",
+ },
+ {
+ // icon: "el-icon-info",
+ label: "上岗证",
+ prop: "tab4",
+ },
+ {
+ // icon: "el-icon-info",
+ label: "保安员证",
+ prop: "tab5",
+ },
+ ],
+ },
+ current: 1,
+ size: 10,
+ cardid: "",
+ name: "",
+ dispatcherCompany: "",
+ id: "",
+ obj0: {
+ title: "我是头部标题",
+ },
+ obj1: {},
+ loading1: true,
+ loading2: true,
+ selectionList1: [],
+ page1: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ page2: {
+ pageSize: 10,
+ currentPage: 1,
+ total: 0,
+ },
+ query1: {},
+ query2: {},
+ data1: [],
+ data2: [],
+ option1: {
+ card: true,
+ menu: true,
+ height: "auto",
+ widtd: "auto",
+ calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ tip: false,
+ index: true,
+ dialogClickModal: false,
+ headerAlign: "center",
+ align: "center",
+ column: practitionersColumn,
+ },
+ option2: {
+ card: true,
+ menu: true,
+ height: "auto",
+ widtd: "auto",
+ calcHeight: 54,
+ border: true, //liu
+ stripe: true,
+ tip: false,
+ index: true,
+ dialogClickModal: false,
+ headerAlign: "center",
+ align: "center",
+ column: trackRecordColumn,
+ },
+ erweima: "",
+ hold: "",
}
- i++;
- }
- });
- if (i > 1) {
- this.$store.state.tags.tagList.splice(ind, 1);
- }
- },
-};
+ },
+ // components: {
+ // vueQr,
+ // },
+ computed: {
+ ids1 () {
+ let ids1 = []
+ this.selectionList1.forEach((ele) => {
+ ids1.push(ele.id)
+ })
+ 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.page1)
+ this.loading1 = false
+ } else if (column.prop == "tab3") {
+ //查询当前保安员的现实表现记录
+ 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 (page, param = {}) {
+ param["securityid"] = this.id
+ //获取用户从业信息
+ // 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 (page, param = {}) {
+ //获取现实表现信息
+ 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
+ console.log(this.data2, 1)
+ 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: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ // }
+ },
+ rowUpdate2 (row, index, done, loading) {
+ row.securityid = this.id
+ update(row).then(
+ () => {
+ this.getPerformancePageInfo(this.page2)
+ this.$message({
+ type: "success",
+ message: "操作成功!",
+ })
+ done()
+ },
+ (error) => {
+ window.console.log(error)
+ loading()
+ }
+ )
+ },
+ 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: "确定",
+ cancelButtonText: "取消",
+ type: "warning",
+ })
+ .then(() => {
+ return remove(row.id)
+ })
+ .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: "操作成功!",
+ })
+ })
+ },
+ },
+ mounted () {
+ this.typeTABS = this.optionTABS.column[0]
+ var data = JSON.parse(this.$route.query.row)
+ getUser(data.id).then(res => {
+ let form = res.data.data
+ var d = {
+ education1: res.data.data.education
+ }
+ form = {
+ ...form,
+ ...d
+ }
+ if (form.userDetail) {
+ form.userDetailId = form.userDetail.id
+ form.marriageStatus = form.userDetail.marriageStatus == -1 ? '' : form.userDetail.marriageStatus
+ form.signLevel = form.userDetail.signLevel == -1 ? '' : form.userDetail.signLevel
+ form.permanentResidenceAddress = form.userDetail.permanentResidenceAddress
+ form.dwellAddress = form.userDetail.dwellAddress
+ form.memberOfFamily = form.userDetail.memberOfFamily
+ form.educationExperience = form.userDetail.educationExperience
+ form.workExperience = form.userDetail.workExperience
+ form.healthCertificateUrl = form.userDetail.healthCertificateUrl
+ form.noCriminalRecordProveUrl = form.userDetail.noCriminalRecordProveUrl
+ form.acceptancePoliceUnit = form.userDetail.acceptancePoliceUnit
+ form.acceptancePerson = form.userDetail.acceptancePerson
+ form.acceptanceTime = form.userDetail.acceptanceTime
+ form.unitName = form.userDetail.unitName
+ }
+ // this.from["education1"] = res.data.data.education;
+ if (form.hasOwnProperty("deptId")) {
+ form.deptId = form.deptId
+ }
+ if (form.hasOwnProperty("roleId")) {
+ form.roleId = form.roleId.split(",")
+ }
+ // if (form.hasOwnProperty("postId")) {
+ // form.postId = form.postId.split(",");
+ // }
+ var userInfo = res.data.data
+ //获取用户从业信息
+ getUserPractitionersInfo(data.id).then(res1 => {
+ form.UserPractitionersInfo = res1.data.data
+ })
+ this.obj1 = form
+ })
+ // console.log(data);
+ if (data) {
+ var row = data
+ // var row = this.$route.query.row;
+ for (var k in row) {
+ this.obj0[k] = row[k]
+ }
+ this.obj0.title = ""
+ this.cardid = row.id
+ this.name = row.name
+ this.dispatcherCompany = row.dispatcherCompany
+ this.id = row.id
+ this.hold = row.hold
+ let year = row.cardid.slice(6, 10)
+ let mouth = row.cardid.slice(10, 12)
+ let day = row.cardid.slice(12, 14)
+ this.obj0.birthdayData = year + '-' + mouth + '-' + day
+ console.log(this.obj0)
+
+ }
+
+ 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)
+ }
+ },
+}
</script>
-<style lang="scss">
+<style lang="scss" scoped>
.dispatch {
- width: 100%;
- height: 100%;
- // border: 1px solid #000;
- box-sizing: border-box;
+ width: 100%;
+ height: 100%;
+ // border: 1px solid #000;
+ box-sizing: border-box;
+
+ .a-f-box {
+ display: block;
+ width: 1100px;
+ margin: 0 auto;
+ padding: 0 20px;
+ background: #fff;
+ position: relative;
+
+
+ }
}
-// .el-card__body {
-// padding-bottom: 5px !important;
-// }
-// .avue-crud__tip,
-// .el-tag,
-// .el-tag--light {
-// padding: 0 !important;
-// }
-</style>
\ No newline at end of file
+
+.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/bazbj1.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: 358px;
+ height: 441px;
+ 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>
--
Gitblit v1.9.3