import { Notification } from 'element-ui' var plugin = null // 放在外面,解决销毁不掉的问题 export default { state: { // 返回的图片地址 doctorSignImg: '', // 主刀医生图片 index: 0, // 控制usb弹框提示执行次数 plugin: null, type: 1, // 1 验光师 2 配戴者 3 监护人 // 签名按钮是否显示 optomFlag: true, wearerFlag: true, guardianFlag: true, readFlag: true, lensFlag: true, wearerOrGuardianFlag: true, // 返回的图片地址 doctorSign: '', patientSign: '', guardianSign: '', readerSign: '', lensSign: '', wearerOrGuardianSign: '', doctorSignDate: '', wearerOrGuardianSignDate: '', }, getters: { doctorSignImg: state => state.doctorSignImg, optomFlag: state => state.optomFlag, wearerFlag: state => state.wearerFlag, guardianFlag: state => state.guardianFlag, readFlag: state => state.readFlag, lensFlag: state => state.lensFlag, wearerOrGuardianFlag: state => state.wearerOrGuardianFlag, doctorSign: state => state.doctorSign, patientSign: state => state.patientSign, guardianSign: state => state.guardianSign, readerSign: state => state.readerSign, lensSign: state => state.lensSign, wearerOrGuardianSign: state => state.wearerOrGuardianSign, doctorSignDate: state => state.doctorSignDate, wearerOrGuardianSignDate: state => state.wearerOrGuardianSignDate }, mutations: { // 销毁签字笔 destroyPlugin(state) { console.log(plugin) if (plugin) { console.log('--------3333-------') plugin.DestroyPlugin() } }, initPlugin(state) { state.index++ // console.log(state.index) if (plugin) { console.log('--------3333-------') plugin.DestroyPlugin() } plugin = new PluginNSV() plugin.InitPlugin((item) => { if (item === 1) { // set pen size plugin.setPenSizeRange(1, 5, null) // set pen color plugin.setPenColor(0, 0, 0, null) plugin.setDisplayMapMode(1, 0, 0, null) this.commit('checkDevice') console.log('succeeded') } else { console.log('fails') } }) /* confirm event*/ plugin.onConfirm = () => { this.commit('saveSignToBase64') this.commit('endSign') plugin.mouseControl(false, null) } // /*clear event*/ plugin.onClear = () => { this.commit('clearSign') } /* cancel event*/ plugin.onCancel = () => { this.commit('endSign') } // 监听插件连接服务的状态 plugin.onStateChange = (item) => {} // if (state.index === 1) { // 设备是否连接--use是否插上 plugin.onDevNotifyEvent = (item) => { if (item === 1) { Notification.success({ title: '成功', message: '签字笔已插入', showClose: false, duration: 800 }) } else { Notification.error({ title: '提示', message: '签字笔已拔出', showClose: false, duration: 800 }) } // } } }, checkDevice(state) { if (plugin) { plugin.isConnected((item, args) => { if (item) { var ret = parseInt(args[0]) if (ret === 1) { // Notification.success({ // title: 'Info', // message: '设备已连接', // showClose: false // }) } else { // Notification.success({ // title: 'Info', // message: '设备未连接', // showClose: false // }) } } else { alert('isConnected error,description:' + args[0]) } }) } }, beginSign(state) { console.log(plugin) if (plugin) { plugin.beginSign((item, args) => {}) } // document.getElementById('img_sign_result').src = ''; }, clearSign(state, val) { if (plugin) { plugin.clearSign((item, args) => {}) } // Reset the image. state.doctorSignImg = '' }, endSign(state) { if (plugin) { /* plugin.endSign(null);*/ plugin.endSign((item, args) => {}) } }, saveSignToBase64(state) { console.log('base64') if (plugin) { // Get the plugin's signature image data. plugin.saveSignToBase64(/* 615, 272*/0, 0, (item, args) => { if (item) { // console.log(args) const img_base64_data = args[0] // console.log(img_base64_data) const img_base64 = 'data:image/png;base64,' + img_base64_data state.doctorSignImg = img_base64 } else { // debugPrint("saveSignToBase64 error,description:" + args[0]); } }) } }, saveImageToBase64(state) { if (plugin) { var format = 1 /* 0-jpg,1-png,2-gif,3-bmp*/ var w = 580; var h = 240 var quality = 100 plugin.saveImageToBase64(format, w, h, quality, (item, args) => { if (item) { var img_base64_data = args[0] console.log(img_base64_data) // Show the signature image. var img_base64 = 'data:image/png;base64,' + img_base64_data state.doctorSignImg = img_base64 } }) } }, saveSignToFile(state) { if (plugin) { var path = 'D:\sign.png' var w = 240; var h = 120 plugin.saveSignToFile(path, w, h, (item, args) => { if (item) { alert('saveSignToFile OK') } else { alert('saveSignToFile error,description:' + args[0]) } }) } }, doctorSignImg(state, val) { state.doctorSignImg = val }, optomFlag(state, val) { state.optomFlag = val }, wearerFlag(state, val) { state.wearerFlag = val }, guardianFlag(state, val) { state.guardianFlag = val }, readFlag(state, val) { state.readFlag = val }, lensFlag(state, val) { state.lensFlag = val }, wearerOrGuardianFlag(state, val) { state.wearerOrGuardianFlag = val }, doctorSign(state, val) { state.doctorSign = val }, patientSign(state, val) { state.patientSign = val }, guardianSign(state, val) { state.guardianSign = val }, readerSign(state, val) { state.readerSign = val }, lensSign(state, val) { state.lensSign = val }, wearerOrGuardianSign(state, val) { state.wearerOrGuardianSign = val }, doctorSignDate(state, val) { state.doctorSignDate = val }, wearerOrGuardianSignDate(state, val) { state.wearerOrGuardianSignDate = val }, } }