import React, { Component } from 'react'; import 'antd-mobile/dist/antd-mobile.less'; import styles from './index.less'; import router from 'umi/router'; import html2canvas from 'html2canvas'; import { Toast } from 'antd-mobile'; class GeneReport extends Component { constructor(props) { super(props); this.state = { flag: false, imgUri: null, geneDom: '' }; } componentWillMount = () => {}; componentDidMount = () => { }; componentWillUnmount = () => {}; setGene = (geneCode) => { let gene = geneCode gene = gene.split('X##').join('244') gene = gene.split('Y##').join('255') gene = gene.split('###').join('369') return gene } setOpactiy = (n) => { if(n == 0){ return 1 }else{ return '.'+(10-n) } } open = () => { Toast.loading('生成中', 0); const certificate = document.getElementById('certificate'); const newCanvas = document.createElement('canvas'); const domWidth = parseInt(window.getComputedStyle(certificate).width); const domHeight = parseInt(window.getComputedStyle(certificate).height); newCanvas.width = domWidth; newCanvas.height = domHeight; newCanvas.style.width = domWidth + 'px'; newCanvas.style.height = domHeight + 'px'; const _this = this; html2canvas(certificate, { canvas: newCanvas, scale: 1, x: 0, y: 0, scrollX: 0, scrollY: 0, }).then(canvas => { const imgUri = canvas.toDataURL('image/png'); _this.setState({ imgUri, flag: true, }); Toast.hide(); }); }; closed = () => { this.setState({ flag: false, }); }; serLevel = (data, n) => { if(data){ let riskGroupList = data.riskGroupList let number = 0 for(let i=0;i { if(process.env.NODE_ENV == 'production'){ window.location.href = 'http://gene-tree.chongaibao.com/mobile/diseaseList?samplingCode='+samplingCode }else{ window.location.href = 'http://gene-tree.uat.chongaibao.com/mobile/diseaseList?samplingCode='+samplingCode } } render() { const data = this.props.ckuCertificate; const { flag, imgUri } = this.state; let geneCode = data.geneCode || '' var geneDom = '' if(geneCode != ''){ let colorList = ['188, 159, 233','29, 207, 238', '127, 144, 254', '218, 140, 67', '127, 223, 114', '205, 91, 190', '109, 201, 217', '234, 85, 89', '34, 144, 140', '239, 217, 119', '177, 82, 87', '74, 183, 144', '86, 101, 155', '202, 47, 28', '35, 193, 43', '161, 80, 206', '39, 145, 255', '34, 221, 129', '0, 237, 255', '128, 188, 0', '40, 155, 192', '243, 122, 73', '181, 82, 77', '111, 74, 246', '53, 179, 200', '64, 117, 187'] let n = 0 let num = 26 let gene gene = geneCode.split('X##').join('244') gene = geneCode.split('Y##').join('255') gene = geneCode.split('###').join('369') gene = gene.split('') for (let i = 0; i < num; i++) { geneDom += '

' for (let j = 0; j < 6; j++) { n += 1 let t = gene[n]; if (isNaN(t)) { t = j + 2 } let opacity = this.setOpactiy(t) geneDom+="" } geneDom += '

' } } return (
{data.id ? (
样本编号:{data.samplingCode}
{data.nameEn}
{data.gender == '1' ? '公 Male' : '母 Female'}
{data.pedigreeCertifiedCode}
{data.birthdate}
{data.identificationFlag}
{data.dogOwner}
{ data.geneticDisease &&
共检测{data.geneticDisease.count}项
} { data.geneticDisease == '' ?
等待数据报告上传中...
:
高风险
{this.serLevel(data.geneticDisease, 3)}项目
低风险
{this.serLevel(data.geneticDisease, 1)}项目
无风险
{this.serLevel(data.geneticDisease, 0)}项目
}
{/* 不合格 */} {data.parenthoodType == 5 && } {/* 合格 */} {data.parenthoodType == 4 && } {/* 未鉴定 */} {data.parenthoodType == 1 && }
{data.issueDate}
{data.dnaCode}
下载基因报告
@宠爱王国提供技术支持
) : null}
样本编号:{data.samplingCode}
{data.nameEn}
{data.gender == '1' ? '公 Male' : '母 Female'}
{data.pedigreeCertifiedCode}
{data.birthdate}
{data.identificationFlag}
{data.dogOwner}
{ data.geneticDisease &&
共检测{data.geneticDisease.count}项
} { data.geneticDisease == '' ?
等待数据报告上传中...
:
高风险
{this.serLevel(data.geneticDisease, 3)}项目
低风险
{this.serLevel(data.geneticDisease, 1)}项目
无风险
{this.serLevel(data.geneticDisease, 0)}项目
}
{/* 不合格 */} {data.parenthoodType == 5 && } {/* 合格 */} {data.parenthoodType == 4 && } {/* 未鉴定 */} {data.parenthoodType == 1 && }
{data.issueDate}
{data.dnaCode}
{ geneDom != '' &&
}
{ geneDom == '' ? {data.dnaCode}  : } {data.createDate} 
{flag ? (
血统证书 长按上方图片保存基因报告
) : null}
); } } export default GeneReport;