<template> <div class="app-container"> <div class="iframeMsg">{{ iframeMsg }}</div> <div> <iframe name="iframeMap2" scrolling="no" width="100%" height="450" frameBorder="no" src="static/eye/eye.html" style="z-index: -1;"/> </div> </div> </template> <script> import { saveIris } from '@/api/person' export default { name: 'AddIrisOld', data() { return { irisForm: { personId: '', idCardNo: '', image_zy0: '', image_yy0: '', image_zy1: '', image_yy1: '' }, iframeMsg: '', type: '' // 跳转类型 } }, mounted() { // 接收iframe的传值 window['vueDefined'] = (receiveParams) => { this.receiveParamsFromHtml(receiveParams) } this.resetForm() if (this.$route.query.personId) { this.irisForm.personId = this.$route.query.personId } if (this.$route.query.idCardNo) { this.irisForm.idCardNo = this.$route.query.idCardNo } if (this.$route.query.type) { this.type = this.$route.query.type } // console.log(this.irisForm) }, activated() { // 接收iframe的传值 window['vueDefined'] = (receiveParams) => { this.receiveParamsFromHtml(receiveParams) } this.resetForm() if (this.$route.query.personId) { this.irisForm.personId = this.$route.query.personId } if (this.$route.query.idCardNo) { this.irisForm.idCardNo = this.$route.query.idCardNo } if (this.$route.query.type) { this.type = this.$route.query.type } // console.log(this.irisForm) }, methods: { beforeRouteLeave(to, from, next) { window.frames['iframeMap'].closeDev() next() }, resetForm() { this.irisForm = { personId: '', idCardNo: '', image_zy0: '', image_yy0: '', image_zy1: '', image_yy1: '' } }, // 接收iframe传来的消息 receiveParamsFromHtml(res) { if (res === 'saveIrisData') { this.saveIrisData() } else { this.iframeMsg = res } }, // 保存虹膜数据 saveIrisData() { if (!this.irisForm.personId || !this.irisForm.idCardNo) { this.$message.error('人员信息为空,请退回重试') return } this.irisForm.image_zy0 = window.frames['iframeMap'].image0 this.irisForm.image_zy1 = window.frames['iframeMap'].image1 this.irisForm.image_yy0 = window.frames['iframeMap'].image2 this.irisForm.image_yy1 = window.frames['iframeMap'].image3 saveIris(this.irisForm).then(response => { if (response.code === 200) { this.$message.success('保存虹膜成功') this.resetForm() if (this.type === 'visitor') { this.$router.push({ path: '/visitor' }) } else { this.$router.push({ path: '/staff' }) } } }) } } } </script> <style scoped> .iframeMsg{ height: 50px; text-align: center; margin-top: 5px; } </style>