保安服务企业管理项目备份
zhongrj
2024-05-24 f2a74b0b28b74dc29be85ec8e6328bdd262f84b9
src/views/securityGuard/securityGuardDetail.vue
@@ -1,36 +1,19 @@
<template>
    <div class="dispatch">
        <avue-tabs :option="optionTABS"
                   @change="handleChangeTABS"></avue-tabs>
        <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>
            <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 :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 :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'">
@@ -58,7 +41,7 @@
              编号:<span class="bmb-b-s">{{ obj0.securitynumber }}</span>
            </div>
            <div class="bmb-b">
              发证机关:<span class="bmb-b-s">南昌市公安局</span>
              发证机关:<span class="bmb-b-s">晋城市公安局</span>
            </div>
            <div class="bmb-b">
              发证日期:<span class="bmb-b-s">{{
@@ -71,18 +54,14 @@
          </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">
            <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">
            <securityCertificate :data="obj0" v-if="hold == 1 || hold == 3"></securityCertificate>
            <div v-else style="width: 100%; text-align: center; padding-top: 20px">
                无保安员证
            </div>
        </span>
@@ -94,13 +73,13 @@
    securityBaseInfoColumn,
    practitionersColumn,
    trackRecordColumn,
} from "./data";
} from "./data"
import {
    addExperience,
    updateExperience,
    experienceRemove,
    getExperienceList,
} from "@/api/experience/experience";
} from "@/api/experience/experience"
import {
    add,
@@ -108,16 +87,20 @@
    getpage,
    remove,
    getER,
} from "@/api/performance/performance";
} 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 securityCertificate from "./securityCertificate.vue"
import baoanz from "./baoanz.vue"
import bAForm from '@/components/bAForm/main'
export default {
    components: {
        securityCertificate: securityCertificate,
        baoanz,
        bAForm
    },
    data () {
        return {
@@ -161,13 +144,7 @@
            obj0: {
                title: "我是头部标题",
            },
            option0: {
                emptyBtn: false,
                submitBtn: false,
                labelWidth: "110",
                gutter: 30,
                column: securityBaseInfoColumn,
            },
            obj1: {},
            loading1: true,
            loading2: true,
            selectionList1: [],
@@ -217,18 +194,18 @@
            },
            erweima: "",
            hold: "",
        };
        }
    },
    // components: {
    //   vueQr,
    // },
    computed: {
        ids1 () {
            let ids1 = [];
            let ids1 = []
            this.selectionList1.forEach((ele) => {
                ids1.push(ele.id);
            });
            return ids1.join(",");
                ids1.push(ele.id)
            })
            return ids1.join(",")
        },
        // goToUrl() {
        //   var url =
@@ -239,82 +216,82 @@
    },
    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)";
            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;
            this.typeTABS = column
            if (column.prop == "tab1") {
                this.loading1 = false;
                this.loading1 = false
            } else if (column.prop == "tab2") {
                //查询当前保安员的从业记录信息
                this.getPractitionersPageInfo(this.page1);
                this.loading1 = false;
                this.getPractitionersPageInfo(this.page1)
                this.loading1 = false
            } else if (column.prop == "tab3") {
                //查询当前保安员的现实表现记录
                this.getPerformancePageInfo(this.page2);
                this.loading2 = false;
                this.getPerformancePageInfo(this.page2)
                this.loading2 = false
            } else if (column.prop == "tab4") {
                getER(this.obj0.securitynumber).then((res) => {
                    this.erweima = res.data;
                    this.erweima = res.data
                    // console.log(res.data);
                });
                })
            }
        },
        refreshchange1 () {
            this.getPractitionersPageInfo(this.page1, this.query1);
            this.getPractitionersPageInfo(this.page1, this.query1)
        },
        //查询当前保安员的从业记录信息
        getPractitionersPageInfo (page, param = {}) {
            param["securityid"] = this.id;
            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;
            });
                const data = res1.data.data
                this.page1.total = data.total
                this.data1 = data.records
                this.loading1 = false
            })
        },
        refreshchange2 () {
            this.getPerformancePageInfo(this.page2, this.query2);
            this.getPerformancePageInfo(this.page2, this.query2)
        },
        //查询当前保安员的现实表现记录信息
        getPerformancePageInfo (page, param = {}) {
            //获取现实表现信息
            param["securityid"] = this.id;
            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;
            });
                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();
            this.page1.currentPage = currentPage
            this.refreshchange1()
        },
        SizeChange1 (pageSize) {
            this.page1.pageSize = pageSize;
            this.refreshchange1();
            this.page1.pageSize = pageSize
            this.refreshchange1()
        },
        CurrentChange2 (currentPage) {
            this.page2.currentPage = currentPage;
            this.refreshchange2();
            this.page2.currentPage = currentPage
            this.refreshchange2()
        },
        SizeChange2 (pageSize) {
            this.page2.pageSize = pageSize;
            this.refreshchange2();
            this.page2.pageSize = pageSize
            this.refreshchange2()
        },
        // refreshChange1() {
        //   this.getPractitionersPageInfo();
@@ -324,75 +301,75 @@
        // },
        rowSave2 (form, done, loading) {
            form.securityid = this.id;
            form.securityid = this.id
            add(form).then(
                (res) => {
                    this.getPerformancePageInfo(this.page2);
                    this.getPerformancePageInfo(this.page2)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                    })
                    done()
                },
                (error) => {
                    window.console.log(error);
                    loading();
                    window.console.log(error)
                    loading()
                }
            );
            )
            // }
        },
        //从业记录新增
        rowSave1 (form, done, loading) {
            form.securityid = this.id;
            form.securityid = this.id
            addExperience(form).then(
                (res) => {
                    this.getPractitionersPageInfo(this.page1);
                    this.getPractitionersPageInfo(this.page1)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                    })
                    done()
                },
                (error) => {
                    window.console.log(error);
                    loading();
                    window.console.log(error)
                    loading()
                }
            );
            )
            // }
        },
        rowUpdate2 (row, index, done, loading) {
            row.securityid = this.id;
            row.securityid = this.id
            update(row).then(
                () => {
                    this.getPerformancePageInfo(this.page2);
                    this.getPerformancePageInfo(this.page2)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                    })
                    done()
                },
                (error) => {
                    window.console.log(error);
                    loading();
                    window.console.log(error)
                    loading()
                }
            );
            )
        },
        rowUpdate1 (row, index, done, loading) {
            row.securityid = this.id;
            row.securityid = this.id
            updateExperience(row).then(
                () => {
                    this.getPractitionersPageInfo(this.page1);
                    this.getPractitionersPageInfo(this.page1)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                    done();
                    })
                    done()
                },
                (error) => {
                    window.console.log(error);
                    loading();
                    window.console.log(error)
                    loading()
                }
            );
            )
        },
        rowDel2 (row) {
            this.$confirm("确定将选择数据删除?", {
@@ -401,15 +378,15 @@
                type: "warning",
            })
                .then(() => {
                    return remove(row.id);
                    return remove(row.id)
                })
                .then(() => {
                    this.getPerformancePageInfo(this.page2);
                    this.getPerformancePageInfo(this.page2)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                });
                    })
                })
        },
        rowDel1 (row) {
            this.$confirm("确定将选择数据删除?", {
@@ -418,70 +395,120 @@
                type: "warning",
            })
                .then(() => {
                    return experienceRemove(row.id);
                    return experienceRemove(row.id)
                })
                .then(() => {
                    this.getPractitionersPageInfo(this.page1);
                    this.getPractitionersPageInfo(this.page1)
                    this.$message({
                        type: "success",
                        message: "操作成功!",
                    });
                });
                    })
                })
        },
    },
    mounted () {
        this.typeTABS = this.optionTABS.column[0];
        var data = JSON.parse(this.$route.query.row);
        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 = data
            // var row = this.$route.query.row;
            for (var k in row) {
                this.obj0[k] = row[k];
                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;
            console.log(this.obj0);
            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;
            ind = null
        this.$store.state.tags.tagList.forEach((item, index) => {
            if (item.label == "保安员详情") {
                if (flag == false) {
                    ind = index;
                    flag = true;
                    ind = index
                    flag = true
                }
                i++;
                i++
            }
        });
        })
        if (i > 1) {
            this.$store.state.tags.tagList.splice(ind, 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;
    .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;
// }
.baoanzheng {
    // position: fixed;
@@ -500,6 +527,7 @@
    align-items: center;
    justify-content: center;
}
.baz-main {
    position: relative;
    top: 15px;
@@ -514,11 +542,13 @@
    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%;
@@ -529,6 +559,7 @@
        position: relative;
        top: 20px;
    }
    .img {
        width: 358px;
        height: 441px;
@@ -540,11 +571,13 @@
        display: flex;
        align-items: center;
        justify-content: center;
        img {
            width: 100%;
            height: 100%;
        }
    }
    .imgs {
        width: 110px;
        height: 110px;
@@ -556,11 +589,13 @@
        display: flex;
        align-items: center;
        justify-content: center;
        img {
            width: 100%;
            height: 100%;
        }
    }
    .bmb-b {
        padding-left: 20px;
        box-sizing: border-box;
@@ -569,6 +604,7 @@
        width: 100%;
        font-size: 2rem;
        font-weight: 300;
        .bmb-b-s {
            display: inline-block;
            width: 20rem;
@@ -577,6 +613,7 @@
        }
    }
}
.PrintBut {
    margin-top: 15px;
}