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 DnaXt extends Component {
constructor(props) {
super(props);
this.state = {
flag: false,
imgUri: null,
geneDom: ''
};
}
componentWillMount = () => {};
componentDidMount = () => {
let geneCode = this.props.ckuCertificate.geneCode || ''
if(geneCode == '')return
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 width = 32
let gene
let geneDom = ''
gene = this.setGene(geneCode)
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 += '
'
}
this.setState({
geneDom: geneDom
})
};
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,
});
};
render() {
const data = this.props.ckuCertificate;
const { flag, imgUri, geneDom } = this.state;
return (
{data.pedigreeCertified ? (
{data.kennelEnName ?
{data.kennelEnName}
: null}
{data.dogName ?
{data.dogName}
: null}
{data.dogBreedDesc} {data.dogBreed} / {data.dogGender} {data.dogGenderDesc}
DNA亲子比对合格
{data.dogMemberName ? (
犬主人
{data.dogMemberName}
{data.secondDogOwner ? ` / ${data.secondDogOwner}` : null}
) : null}
{data.breeder ? (
繁殖人
{data.breeder}
{data.secondBreeder ? ` / ${data.secondBreeder}` : null}
) : null}
{data.kennleName ? (
出生犬舍
{data.kennleName}
) : null}
{data.color ? (
毛色(中文)
{data.color} {data.colorDesc}
) : null}
{data.dogBirthday ? (
出生日期
{data.dogBirthday}
) : null}
{data.dogGrade ? (
犬只等级
{data.dogGrade}
) : null}
{data.identification ? (
身份鉴别号码
{data.identification}
) : null}
{data.pedigreeCertified ? (
血统证书号码
{data.pedigreeCertified}
) : null}
签发日期{data.createDate}
会长签字
查看实体版证书
{/*
{
router.push('/ckuh5/description?certificateType=dnaXt');
}}
>
血统证书说明
*/}
@宠爱王国提供技术支持
) : null}
{data.businessBan === '1' ? (
})
) : null}
{data.changeBan === '1' ? (
})
) : null}
{data.paperDogName}
{data.dogBreedDesc}
{data.dogBirthday}
{data.pedigreeCertifiedEn}
{data.puppyBirthNum ? (
{data.puppyBirthNum.split(',')[0]}
{data.puppyBirthNum.split(',')[1]}
) : (
)}
{data.dogBreed}
{data.identification}
{data.pedigreeCertified}
{data.puppyRegisterNum ? (
{data.puppyRegisterNum.split(',')[0]}
{data.puppyRegisterNum.split(',')[1]}
) : (
)}
{data.dogGender}
{data.color}
{data.breeder}
{data.breederEn ? '【' + data.breederEn + '】' : ''}
{data.secondBreeder
? [
,
data.secondBreeder,
data.secondBreederEn ? '【' + data.secondBreederEn + '】' : '',
]
: null}
{data.dogMemberName}
{data.dogMemberNameEn ? '【' + data.dogMemberNameEn + '】' : ''}
{data.dog1.showGrade}
{data.dog1.dogName}
{data.dog1.pedigreeCertified}
{data.dog1.color}
{data.dog1.createDate}
{data.dog2.showGrade}
{data.dog2.dogName}
{data.dog2.pedigreeCertified}
{data.dog2.color}
{data.dog2.createDate}
{data.dog3.showGrade}
{data.dog3.dogName}
{data.dog3.pedigreeCertified}
{data.dog3.color}
{data.dog3.createDate}
{data.dog4.showGrade}
{data.dog4.dogName}
{data.dog4.pedigreeCertified}
{data.dog4.color}
{data.dog4.createDate}
{data.dog5.showGrade}
{data.dog5.dogName}
{data.dog5.pedigreeCertified}
{data.dog5.color}
{data.dog5.createDate}
{data.dog6.showGrade}
{data.dog6.dogName}
{data.dog6.pedigreeCertified}
{data.dog6.color}
{data.dog6.createDate}
{data.dog7.showGrade}
{data.dog7.dogName}
{data.dog7.pedigreeCertified}
{data.dog7.color}
{data.dog7.createDate}
{data.dog8.showGrade}
{data.dog8.dogName}
{data.dog8.pedigreeCertified}
{data.dog8.color}
{data.dog8.createDate}
{data.dog9.showGrade}
{data.dog9.dogName}
{data.dog9.pedigreeCertified}
{data.dog9.color}
{data.dog9.createDate}
{data.dog10.showGrade}
{data.dog10.dogName}
{data.dog10.pedigreeCertified}
{data.dog10.color}
{data.dog10.createDate}
{data.dog11.showGrade}
{data.dog11.dogName}
{data.dog11.pedigreeCertified}
{data.dog11.color}
{data.dog11.createDate}
{data.dog12.showGrade}
{data.dog12.dogName}
{data.dog12.pedigreeCertified}
{data.dog12.color}
{data.dog12.createDate}
{data.dog13.showGrade}
{data.dog13.dogName}
{data.dog13.pedigreeCertified}
{data.dog13.color}
{data.dog13.createDate}
{data.dog14.showGrade}
{data.dog14.dogName}
{data.dog14.pedigreeCertified}
{data.dog14.color}
{data.dog14.createDate}
{
geneDom != '' &&
}
{
geneDom == '' ? {data.dnaCode} :
}
{data.createDate}
{flag ? (
长按上方图片保存证书
) : null}
);
}
}
export default DnaXt;