certificates.js.map 27 KB

1
  1. {"version":3,"sources":["uni-app:///main.js","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?f80f","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?31bc","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?49c9","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?6200","uni-app:///pages/form/certificates.vue","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?ada5","webpack:////Users/wanglili/Documents/liuniu/jxred/pages/form/certificates.vue?fb22"],"names":["createPage","Page"],"mappings":";;;;;;;;;;kDAAA;AACA;AACA,yG;AACAA,UAAU,CAACC,qBAAD,CAAV,C;;;;;;;;;;;;;ACHA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAyH;AACzH;AACgE;AACL;AACc;;;AAGzE;AACgN;AAChN,gBAAgB,iNAAU;AAC1B,EAAE,kFAAM;AACR,EAAE,uFAAM;AACR,EAAE,gGAAe;AACjB;AACA;AACA;AACA;AACA;AACA,EAAE,2FAAU;AACZ;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACRA;AAAA;AAAA;AAAA;AAA00B,CAAgB,0yBAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;ACc91B;;AAEA;;;;;AAKA;;;AAGA,+C;;;;AAIA;AACA;AACA,gBADA;AAEA,wBAFA,EADA;;AAKA,MALA,kBAKA;AACA;AACA,gBADA;AAEA,cAFA,EAEA;AACA,YAHA;AAIA,qBAJA;AAKA,cALA;AAMA;AACA,cAPA;AAQA,eARA;AASA,cATA;AAUA,cAVA;AAWA;AACA,iBAZA;AAaA,iBAbA;AAcA,qBAdA;AAeA,sBAfA;AAgBA,aAhBA;AAiBA,0BAjBA;AAkBA,kBAlBA;AAmBA,mBAnBA,EAmBA;AACA,eApBA;AAqBA,cArBA,EAqBA;AACA,mBAtBA;AAuBA,mBAvBA;AAwBA,aAxBA;AAyBA,aAzBA;AA0BA,sBA1BA;AA2BA,aA3BA;;AA6BA,GAnCA;AAoCA,QApCA,kBAoCA,MApCA,EAoCA;AACA;AACA;AACA;AACA;;AAEA,GA1CA;AA2CA,SA3CA,qBA2CA;AACA;AACA,iBADA;AAEA,QAFA,CAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gCADA,EACA;AACA,2BAFA,EAEA;AACA,4BAHA,EAGA;AACA,8BAJA,EAIA;AACA,8BALA,EAKA;AACA,kDANA,EAMA;AACA,kCAPA,CAOA;AAPA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YADA,CACA,eADA;AAEA,YAFA,CAEA;AACA,kBADA,EAFA;;AAKA;AACA;AACA;AACA;AACA,OATA;;AAWA,UAXA;AAYA;AACA;AACA,YADA,CACA,aADA;AAEA,YAFA,CAEA;AACA,kBADA,EAFA;;AAKA;AACA;AACA;AACA;AACA,OATA;;AAWA,UAXA;AAYA,qDA/DA,CA+DA;AACA,iDAhEA,CAgEA;AACA;AACA;AACA;;AAEA,0CArEA,CAqEA;AACA,mDAtEA,CAsEA;AACA,kCAvEA,CAuEA;AACA;AACA;AACA;AACA,mCA3EA,CA2EA;AACA,2BA5EA,CA4EA;AACA,qDA7EA,CA6EA;AACA,yCA9EA,CA8EA;AACA,yCA/EA,CA+EA;AACA,2DAhFA,CAgFA;AACA,yEAjFA,CAiFA;AACA,oCAlFA,CAkFA;AACA,wBAnFA,CAmFA;AACA,yEApFA,CAoFA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mCAxHA,CAwHA;AACA;AACA,2CA1HA,CA0HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cADA;AAEA,cAFA;AAGA,8BAHA;AAIA,+BAJA;AAKA,kCALA;AAMA,mCANA;AAOA,gCAPA;AAQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAhBA;;AAkBA,OAnBA;AAoBA,KArJA;;AAuJA,GAnMA;;AAqMA,QArMA,oBAqMA;AACA;AACA;AACA,GAxMA;AAyMA;AACA,uDADA,CAzMA;;AA4MA;AACA,kDADA;AAEA;AACA,cAHA,wBAGA;AACA;AACA;AACA,+HADA,EACA;AACA,2CAFA;AAGA,oBAHA;AAIA,uBAJA;;AAMA;AACA;AACA,KAbA;AAcA,YAdA,sBAcA;AACA,mBADA,GACA,MADA;AAEA;AACA;AACA,qBADA,GACA,gBADA;AAEA;AACA;AACA;AACA;AACA;AAFA,mBAGA,IAHA,CAGA;AACA;AACA;AACA;AACA;AACA;AACA,iBATA,EAPA;;AAkBA,KAhCA;AAiCA,UAjCA,oBAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBADA;AAEA,wBAFA;AAGA,0BAHA;AAIA,qBAJA;AAKA,iBALA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BADA;AAEA,8BAFA;AAGA,+BAHA;AAIA,iCAJA;AAKA,sBALA;AAMA,qBANA;AAOA,iBAPA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SAJA,EAIA,IAJA;AAKA,OAVA,EAUA,KAVA,CAUA;AACA;AACA;AACA;AACA,qCADA;;AAGA,SAJA,EAIA,IAJA;AAKA,OAjBA,EAiBA;;AAEA,KA3GA;AA4GA,cA5GA,sBA4GA,SA5GA,EA4GA,GA5GA,EA4GA;AACA;AACA;AACA,sCAFA;AAGA;AACA,8BADA,EACA;AACA,yBAFA,EAEA;AACA,0BAHA,EAGA;AACA,4BAJA,EAIA;AACA,4BALA,EAKA;AACA,gDANA,EAMA;AACA,gCAPA,CAOA;AAPA,OAHA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAnIA,GA5MA,E;;;;;;;;;;;;;AC5BA;AAAA;AAAA;AAAA;AAAmgD,CAAgB,o4CAAG,EAAC,C;;;;;;;;;;;ACAvhD;AACA,OAAO,KAAU,EAAE,kBAKd","file":"pages/form/certificates.js","sourcesContent":["import 'uni-pages';\nimport Vue from 'vue'\nimport Page from './pages/form/certificates.vue'\ncreatePage(Page)","import { render, staticRenderFns, recyclableRender, components } from \"./certificates.vue?vue&type=template&id=6b8bae7e&\"\nvar renderjs\nimport script from \"./certificates.vue?vue&type=script&lang=js&\"\nexport * from \"./certificates.vue?vue&type=script&lang=js&\"\nimport style0 from \"./certificates.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"pages/form/certificates.vue\"\nexport default component.exports","export * from \"-!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--16-0!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=template&id=6b8bae7e&\"","var components\nvar render = function() {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n}\nvar recyclableRender = false\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns, recyclableRender, components }","import mod from \"-!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib/index.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--12-1!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=script&lang=js&\"","<template>\n\t<view class=\"content\">\n\t\t<view class=\"team\" v-if=\"!is_over\">\n\t\t\t<empty></empty>\n\t\t</view>\n\t\t<view class=\"certificates\" v-if='is_over'>\n\t\t\t\n\t\t\t<canvas v-if=\"showcanvas\" id=\"qrShareBox\" canvas-id=\"qrShareBox\" class=\"tki-qrcode-canvas\" />\n\t\t\t<image class=\"imgbox\" v-else :src=\"img\" mode=\" aspectFill\"></image>\n\t\t</view>\n\n\t</view>\n</template>\n<script>\nimport { get_training, sign_training, detail_training} from '@/api/train.js';\nimport jyfParser from \"@/components/jyf-parser/jyf-parser\";\nimport {\n\t\tweixindata,\n\t\tweixinlocation\n\t} from '@/utils/wxAuthorized.js';\n\t\timport empty from '@/components/empty';\n\timport {\n\t\tuserinfo\n\t} from '@/api/user.js';\n\timport {\n\t\tmapState,\n\t\tmapMutations\n\t} from 'vuex';\nexport default {\n\tcomponents: {\n\t\tempty,\n\t jyfParser\n\t },\n\tdata() {\n\t\treturn {\n\t\t\tis_over:1,\n\t\t\ttype:'',//0是个人报名,1是团体报名\n\t\t\tid:'',\n\t\t\tdescription:'',\n\t\t\tlist:'',\n\t\t\t//个人\n\t\t\tname:'',\n\t\t\tphone:'',\n\t\t\taddr:'',\n\t\t\twork:'',\n\t\t\t//团队\n\t\t\tcompany:'',\n\t\t\taddress:'',\n\t\t\tcompanyName:'',\n\t\t\tcompanyphone:'',\n\t\t\tnum:'',\n\t\t\tpeople:'武汉市江夏区红十字会',\n\t\t\tsignDate:'',\n\t\t\tloading: true, //是否载入图片中\n\t\t\tsize: 180,\n\t\t\tratio: 1, //页面比例用于计算\n\t\t\tcanHeight: '',\n\t\t\tcanWeidth: '',\n\t\t\turl:'',\n\t\t\timg:'',\n\t\t\tshowcanvas:true,\n\t\t\tuid:''\n\t\t};\n\t},\n\tonLoad(option) {\n\t\tthis.type = option.type;\n\t\tthis.id = option.id;\n\t\tthis.IndexShare();\n\t\tthis.loadData();\n\t\t\n\t},\n\tonReady() {\n\t\tdetail_training({\n\t\t\tid:this.id,\n\t\t}).then(({data}) => {\n\t\t\tconsole.log(999,data)\n\t\t\tthis.name = data.name\n\t\t\tthis.signDate = data.add_time\n\t\t\tthis.is_over = data.is_over\n\t\tconsole.log(3,data.add_time)\n\t\tlet obj = this;\n\t\tlet name = obj.name\n\t\tlet signDate = obj.signDate\n\t\n\t\tfunction getRecTime(timestamp, fmt) {\n\t\t\tlet d = new Date(timestamp * 1000)\n\t\t\t\t// f = fmt || 'yyyy/MM/dd', \n\t\t\tlet\tf = fmt || 'yyyy.MM.dd'\n\t\t\tlet\to = {\n\t\t\t\t\t'M+': d.getMonth() + 1, //月份 \n\t\t\t\t\t'd+': d.getDate(), //日 \n\t\t\t\t\t'h+': d.getHours(), //小时 \n\t\t\t\t\t'm+': d.getMinutes(), //分 \n\t\t\t\t\t's+': d.getSeconds(), //秒 \n\t\t\t\t\t'q+': Math.floor((d.getMonth() + 3) / 3), //季度 \n\t\t\t\t\t'S': d.getMilliseconds() //毫秒 \n\t\t\t\t};\n\t\t\tif (/(y+)/.test(f)) {\n\t\t\t\tf = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));\n\t\t\t}\n\t\t\tfor (let k in o) {\n\t\t\t\tif (new RegExp('(' + k + ')').test(f)) {\n\t\t\t\t\tf = f.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn f;\n\t\t\tconsole.log(f)\n\t\t}\n\t\tlet m = getRecTime(signDate)\n\t\tlet query = uni.createSelectorQuery();\n\t\t// this.loadData();\n\t\t// 获取页面比例\n\t\tquery\n\t\t\t.select('.certificates')\n\t\t\t.fields({\n\t\t\t\t\tsize: true\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\tconsole.log('获取页面比例',e)\n\t\t\t\t\t// 保存比例\n\t\t\t\t\tthis.ratio = e.width / 750;\n\t\t\t\t}\n\t\t\t)\n\t\t\t.exec();\n\t\t// 获取画布宽高信息\n\t\tquery\n\t\t\t.select('#qrShareBox')\n\t\t\t.fields({\n\t\t\t\t\tsize: true\n\t\t\t\t},\n\t\t\t\te => {\n\t\t\t\t\tconsole.log('获取画布宽高信息',e)\n\t\t\t\t\tobj.canHeight = e.height;\n\t\t\t\t\tobj.canWeidth = e.width;\n\t\t\t\t}\n\t\t\t)\n\t\t\t.exec();\n\t\tlet ctxBg = '/index/static/img/graduation.png'; //画布背景\n\t\tlet src = '/index/static/icon/erweima.png' // 二维码\n\t\tlet context = uni.createCanvasContext('qrShareBox');\n\t\t// 插入背景图片\n\t\tcontext.drawImage(ctxBg, 0, 0, obj.canWeidth, obj.canHeight);\n\t\t\n\t\tconst codeSize = obj.size * obj.ratio; //计算二维码大小\n\t\tconst codeX = ((750 - obj.size) * obj.ratio) / 2; //二维码所在x轴位置\n\t\tconst codeY = 999 * obj.ratio; //二维码所在y轴位置\n\t\t// console.log('二维码大小',codeSize)\n\t\t// console.log('二维码所在x轴位置',codeX)\n\t\t// console.log('二维码所在y轴位置',codeY)\n\t\tconst codeBoxColor = '#FFFFFF'; //包裹框颜色\n\t\tconst codeBoxWidht = 0; //包裹边框宽度\n\t\tconst codeBoxSize = (codeBoxWidht / 2) * obj.ratio; //计算二维码白色包裹框大小\n\t\tconst codeBoxX = codeX - codeBoxSize; //包裹框初始X轴\n\t\tconst codeBoxY = codeY - codeBoxSize; //包裹框初始Y轴\n\t\tconst codeBoxEnd = codeSize + codeBoxWidht * obj.ratio; //计算包裹框大小\n\t\tconst fontTop = codeY + codeBoxEnd + (codeBoxWidht + 20) * obj.ratio; //文字距离上边距高度\n\t\tconst fontSize = 24 * obj.ratio; //文字大小\n\t\tconst fontText = ''; //文字内容\n\t\tconst fontLeft = (codeSize - fontSize * fontText.length) / 2 + codeX; //文字左侧距离\n\t\t// // 插入文字\n\t\tcontext.setFontSize(32 * obj.ratio)\n\t\t// 画横线\n\t\tcontext.moveTo(90 * obj.ratio, 586 * obj.ratio)\n\t\tcontext.lineTo(250 * obj.ratio, 586 * obj.ratio)\n\t\tcontext.stroke();\n\t\t\n\t\tcontext.fillText(name, 110 * obj.ratio, 574 * obj.ratio)\n\t\tcontext.fillText('先生/女士', 260 * obj.ratio, 580 * obj.ratio)\n\t\t\n\t\tcontext.setFontSize(31 * obj.ratio)\n\t\t\n\t\tcontext.fillText('您已完成武汉市江夏区红十字会普及培训', 105 * obj.ratio, 670 * obj.ratio)\n\t\tcontext.fillText('的全部课程,特发此证。', 105 * obj.ratio, 720 * obj.ratio)\n\t\tcontext.setFontSize(22 * obj.ratio)\n\t\tcontext.fillText('签发人:', 100 * obj.ratio, 800 * obj.ratio)\n\t\tcontext.fillText('Siger:', 100 * obj.ratio, 830 * obj.ratio)\n\t\t// 画横线\n\t\tcontext.moveTo(180 * obj.ratio, 830 * obj.ratio)\n\t\tcontext.lineTo(460 * obj.ratio, 830 * obj.ratio)\n\t\tcontext.stroke()\n\t\tcontext.fillText('签发日期:', 100 * obj.ratio, 880 * obj.ratio)\n\t\tcontext.fillText('Issuer Date:', 100 * obj.ratio, 910 * obj.ratio)\n\t\tcontext.setFontSize(26 * obj.ratio)\n\t\tcontext.fillText(m, 275 * obj.ratio, 908 * obj.ratio)\n\t\tcontext.fillText('武汉市江夏区红十字会', 200 * obj.ratio, 820 * obj.ratio)\n\t\t// 画横线\n\t\tcontext.moveTo(230 * obj.ratio, 915 * obj.ratio)\n\t\tcontext.lineTo(460 * obj.ratio, 915 * obj.ratio)\n\t\tcontext.stroke()\n\t\t// context.setFontSize(fontSize);\n\t\t// context.fillText(fontText, fontLeft, fontTop);\n\t\t\n\t\t// 插入边框\n\t\tcontext.beginPath();\n\t\tcontext.setLineJoin('round'); //边框类型\n\t\tcontext.setLineWidth(codeBoxWidht * obj.ratio);\n\t\tcontext.setStrokeStyle(codeBoxColor); //设置包裹框颜色\n\t\tcontext.strokeRect(codeBoxX, codeBoxY, codeBoxEnd, codeBoxEnd);\n\t\tcontext.stroke();\n\t\t// 插入二维码\n\t\tcontext.drawImage(src, codeX, codeY, codeSize, codeSize);\n\t\tcontext.draw(false,(e) => {\n\t\t\tuni.canvasToTempFilePath({\n\t\t\t x: 0,\n\t\t\t y: 0,\n\t\t\t width: obj.canWeidth,\n\t\t\t height: obj.canHeight,\n\t\t\t destWidth: obj.canWeidth,\n\t\t\t destHeight: obj.canHeight,\n\t\t\t canvasId: 'qrShareBox',\n\t\t\t success: function(res) {\n\t\t\t\t\t// uni.showModal({\n\t\t\t\t\t// \ttitle:'zhi1'\n\t\t\t\t\t// })\n\t\t\t // 在H5平台下,tempFilePath 为 base64\n\t\t\t\t\t// console.log(res.tempFilePath)\n\t\t\t\t\tobj.showcanvas = false;\n\t\t\t\t\tobj.img = res.tempFilePath\n\t\t\t } \n\t\t\t})\n\t\t})\n\t\t\t})\n\t\n\t},\n\n\tonShow() {\n\t\tthis.uid = this.userInfo.uid;\n\t\tconsole.log('this.uid',this.uid)\n\t},\n\tcomputed: {\n\t\t...mapState('user', ['hasLogin', 'userInfo'])\n\t},\n\tmethods: {\n\t\t...mapMutations('user', ['setUserInfo']),\n\t\t// 分享\n\t\tIndexShare() {\n\t\t\tlet obj = this;\n\t\t\tlet item = {\n\t\t\t\tlink: 'http://jxred.igxys.com/index/#/pages/train/sign?type=' + obj.type + '&id=' + obj.id + '&uid=' + obj.userInfo.uid,// 分享链接\n\t\t\t\timgUrl: '/index/static/img/002.png',\n\t\t\t\tdesc: '结业证书',\n\t\t\t\ttitle: '江夏红十字会',\n\t\t\t};\n\t\t\tconsole.log('分享加',item)\n\t\t\tweixindata(item);\n\t\t},\n\t\tasync loadData() {\n\t\t\tlet obj = this;\n\t\t\tconsole.log('当前is_over',obj.is_over)\n\t\t\tif( obj.is_over == 1 ) {\n\t\t\t\tlet uid = obj.userInfo.uid\n\t\t\t\tconsole.log(9090,uid)\n\t\t\t}\n\t\t\tget_training({\n\t\t\t\tid:obj.id,\n\t\t\t\t// uid:uid\n\t\t\t}).then(({ data }) => {\n\t\t\t\tobj.list = data;\n\t\t\t\tconsole.log(9988,data)\n\t\t\t\tif(obj.list.content != null){\n\t\t\t\t\tobj.description = obj.list.content.replace(/<img/g,\"<img style='max-width:100%;height:auto;'\");\n\t\t\t\t}\n\t\t\t});\n\t\t\n\t\t},\t\t\n\t\tsubmit(){\n\t\t\tlet obj = this;\n\t\t\tlet data = {};\n\t\t\tif(obj.type==0){\n\t\t\t\tif(!obj.name){\n\t\t\t\t\tobj.$api.msg('请填写姓名!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.phone){\n\t\t\t\t\tobj.$api.msg('请输入联系方式!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.addr){\n\t\t\t\t\tobj.$api.msg('请输入联系方式!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata={\n\t\t\t\t\tname:obj.name,\n\t\t\t\t\twork:obj.addr,\n\t\t\t\t\tphone:obj.phone,\n\t\t\t\t\ttid:obj.id,\n\t\t\t\t\ttype:0\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(obj.type==1){\n\t\t\t\tif(!obj.company){\n\t\t\t\t\tobj.$api.msg('请填写企业名称!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.address){\n\t\t\t\t\tobj.$api.msg('请填写企业地址!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.companyName){\n\t\t\t\t\tobj.$api.msg('请填写负责人姓名!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.companyphone){\n\t\t\t\t\tobj.$api.msg('请输入联系方式!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif(!obj.num){\n\t\t\t\t\tobj.$api.msg('请输入参加培训人数!');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tdata={\n\t\t\t\t\tcompany:obj.company,\n\t\t\t\t\taddress:obj.address,\n\t\t\t\t\tname:obj.companyName,\n\t\t\t\t\tphone:obj.companyphone,\n\t\t\t\t\tnum:obj.num,\n\t\t\t\t\ttid:obj.id,\n\t\t\t\t\ttype:1\n\t\t\t\t}\n\t\t\t}\n\t\t\tsign_training(data).then(function(e) {\n\t\t\t\tconsole.log(data.type)\n\t\t\t\tlet type = data.type\n\t\t\t\tuni.setStorageSync('type', type)\n\t\t\t\tobj.$api.msg(e.msg);\n\t\t\t\tsetTimeout(function(){ \n\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\turl:'/pages/train/index'\n\t\t\t\t\t})\n\t\t\t\t}, 1000);\n\t\t\t}).catch(e => {\n\t\t\t\tobj.$api.msg(e.message);\n\t\t\t\tsetTimeout(function(){\n\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\turl:'/pages/train/index'\n\t\t\t\t\t})\n\t\t\t\t}, 1000);\n\t\t\t});;\n\t\t\t\n\t\t},\n\t\tgetRecTime(timestamp, fmt) {\n\t\t\tlet d = new Date(timestamp * 1000),\n\t\t\t\t// f = fmt || 'yyyy/MM/dd', \n\t\t\t\tf = fmt || 'yyyy.MM.dd hh:mm:ss',\n\t\t\t\to = {\n\t\t\t\t\t'M+': d.getMonth() + 1, //月份 \n\t\t\t\t\t'd+': d.getDate(), //日 \n\t\t\t\t\t'h+': d.getHours(), //小时 \n\t\t\t\t\t'm+': d.getMinutes(), //分 \n\t\t\t\t\t's+': d.getSeconds(), //秒 \n\t\t\t\t\t'q+': Math.floor((d.getMonth() + 3) / 3), //季度 \n\t\t\t\t\t'S': d.getMilliseconds() //毫秒 \n\t\t\t\t};\n\t\t\tif (/(y+)/.test(f)) {\n\t\t\t\tf = f.replace(RegExp.$1, (d.getFullYear() + '').substr(4 - RegExp.$1.length));\n\t\t\t}\n\t\t\tfor (let k in o) {\n\t\t\t\tif (new RegExp('(' + k + ')').test(f)) {\n\t\t\t\t\tf = f.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)));\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn f;\n\t\t\tconsole.log(f)\n\t\t},\n\t}\n};\n</script>\n\n<style lang=\"scss\">\npage {\n\tbackground: #FFFFFF;\n\twidth: 100%;\n\theight: 100%;\n\t.content {\n\t\theight: 100%;\n\t}\n}\n.box{\n\tpadding: 0rpx 25rpx;\n\twidth: 100%;\n}\n.top-image{\n\twidth: 100%;\n\theight: 300rpx;\n}\n.top-title{\n\twidth: 100%;\n\ttext-align: center;\n\tpadding: 25rpx 0rpx;\n\tfont-size: 34rpx;\n\tborder-bottom:1rpx dashed #B5B5B5;\n}\n.canten{\n\ttext-align: center !important;\n}\n.addr{\n\tcolor: #222222;\n\tfont-size: 28rpx;\n\tpadding: 25rpx 35rpx;\n}\n.text-box{\n\tpadding: 25rpx 25rpx;\n\tpadding-bottom: 0rpx !important;\n}\n.text{\n\tcolor: #222222;\n\tfont-size: 28rpx;\n\tpadding-bottom: 15rpx;\n}\n.weixin-icon{\n\twidth: 100%;\n\ttext-align: center;\n\tpadding-top: 45rpx;\n\timage{\n\t\twidth: 248rpx;\n\t\theight: 248rpx;\n\t}\n}\n.tip{\n\tcolor: #222222;\n\tfont-size: 28rpx;\n\twidth: 100%;\n\ttext-align: center;\n\tpadding-bottom: 50rpx;\n}\n.sign-tip{\n\tpadding: 25rpx 0rpx;\n\ttext-align: center;\n\tcolor: #222222;\n\tfont-size: 28rpx;\n}\n.form-box{\n\tpadding: 0rpx 35rpx;\n\t.label{\n\t\tfont-size: 34rpx;\n\t\tpadding: 25rpx 0rpx;\n\t\ttext{\n\t\t\tcolor: #E62129;\n\t\t\tpadding-left: 5rpx;\n\t\t}\n\t}\n\tinput{\n\t\tfont-size: 28rpx;\n\t\tcolor: #222222;\n\t\tborder: 2rpx solid #979797;\n\t\tpadding: 0rpx 15rpx;\n\t\tborder-radius: 15rpx;\n\t\theight: 80rpx;\n\t}\n}\n.submit{\n\twidth: 70%;\n\tmargin: 0rpx auto;\n\tmargin-top: 80rpx;\n\tmargin-bottom: 80rpx;\n\tpadding: 25rpx 0;\n\ttext-align: center;\n\tbackground-color: #E62129;\n\tcolor: #FFFFFF;\n\tfont-size: 32rpx;\n\tborder-radius: 10rpx;\n}\n.grey{\n\tbackground-color: #9B9B9B !important;\n}\n.certificates{\n\t// padding: 24rpx;\n\twidth: 100%;\n\theight: 100vh;\n\n}\r\n\r\n\t\t.tki-qrcode-canvas {\r\n\t\t\t// width: 700rpx;\r\n\t\t\t// height: 1245rpx;\r\n\t\t\twidth: 750rpx;\n\t\t\t// padding: 32rpx;\r\n\t\t\theight: 1350rpx;\r\n\t\t\tmargin: 0 auto;\r\n\t\t}\n\t.bgimg{\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\timage{\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t}\n\t}\n\t.box-mian{\n\t\t\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tposition: absolute;\n\t\t\tpadding:380rpx 94rpx 200rpx 94rpx;\n\t\t\tcolor: #333;\n\t\t\tleft: 0;\n\t\t\ttop: 0;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: center;\n\t\t\t// align-items: center;\n\t\t\t.name{\n\t\t\t\tdisplay: flex;\n\t\t\t\tfont-size: 32rpx;\n\t\t\t\t.name-left{\n\t\t\t\t\ttext-align: center;\n\t\t\t\t\t// padding: 0 24rpx;\n\t\t\t\t\twidth: 150rpx;\n\t\t\t\t\tborder-bottom: 2rpx solid #333;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.info{\n\t\t\t\tmargin-top: 68rpx;\n\t\t\t\ttext-indent: 64rpx;\n\t\t\t\tline-height: 58rpx;\n\t\t\t}\n\t\t\t.signName{\n\t\t\t\tmargin-top: 32rpx;\n\t\t\t\tdisplay: flex;\n\t\t\t\t.signName-left{\n\t\t\t\t\tline-height: 34rpx;\n\t\t\t\t\t.signName-1{\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t.signName-2{\n\t\t\t\t\t\tfont-size: 28rpx;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.signName-right{\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\t// width: 100%;\n\t\t\t\t\tpadding: 0 12rpx;\n\t\t\t\t\tmargin-left: 12rpx;\n\t\t\t\t\t\n\t\t\t\t\t// width: 288rpx;\n\t\t\t\t\tborder-bottom: 2rpx solid #333;\n\t\t\t\t\t// margin-bottom: 12rpx;\n\t\t\t\t\t.list-input {\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\tpadding: 0 12rpx;\n\t\t\t\t\t\theight: 70rpx;\n\t\t\t\t\t\tfont-size: 32rpx;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t.signDate{\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.signDate{\n\t\t\t\tmargin-top: 22rpx;\n\t\t\t\tdisplay: flex;\n\t\t\t\t.signName-left{\n\t\t\t\t\tline-height: 34rpx;\n\t\t\t\t\t.signName-1{\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t.signName-2{\n\t\t\t\t\t\tfont-size: 28rpx;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.signName-right{\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-left: 12rpx;\n\t\t\t\t\tmargin-left: 12rpx;\n\t\t\t\t\twidth: 288rpx;\n\t\t\t\t\tborder-bottom: 2rpx solid #333;\n\t\t\t\t\t.list-input {\n\t\t\t\t\t\theight: 70rpx;\n\t\t\t\t\t\tfont-size: 32rpx;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t// margin-bottom: 12rpx;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// background-color: pink;\n\t\t\n\t}\n\t.imgbox{\n\t\theight: 1350rpx;\n\t\twidth:750rpx;\n\t}\n</style>\n","import mod from \"-!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-2!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-3!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-4!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader/index.js??ref--8-oneOf-1-5!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/index.js??vue-loader-options!../../../../../../../Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./certificates.vue?vue&type=style&index=0&lang=scss&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1620377072655\n var cssReload = require(\"/Applications/HBuilderX.app/Contents/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}