| | |
| | | formdata[_data.key] = _data.value |
| | | }) |
| | | |
| | | if (!btn.verify || !btn.verify.Template || !btn.verify.linkUrl) { |
| | | // btn.verify.printFunc = ` |
| | | // let _data = data[0] |
| | | // _data = JSON.parse(_data) |
| | | |
| | | // let socket = new WebSocket(_data.wsaddr) |
| | | |
| | | // // 打开Socket |
| | | // socket.onopen = () => { |
| | | // notification.success({ |
| | | // top: 92, |
| | | // message: '打印请求已发出。', |
| | | // duration: 2 |
| | | // }) |
| | | // socket.send(JSON.stringify(_data.data)) |
| | | // } |
| | | // // 监听消息 |
| | | // socket.onmessage = (event) => { |
| | | // let data = '' |
| | | |
| | | // if (event.data) { |
| | | // try { |
| | | // data = JSON.parse(event.data) |
| | | // } catch { |
| | | // notification.warning({ |
| | | // top: 92, |
| | | // message: event.data, |
| | | // duration: 10 |
| | | // }) |
| | | // data = '' |
| | | // } |
| | | // } |
| | | |
| | | // if (data && data.message && !data.status) { |
| | | // notification.warning({ |
| | | // top: 92, |
| | | // message: data.message, |
| | | // duration: 10 |
| | | // }) |
| | | // } |
| | | // } |
| | | |
| | | // socket.onerror = () => { |
| | | // notification.warning({ |
| | | // top: 92, |
| | | // message: '无法连接到:' + _data.wsaddr, |
| | | // duration: 10 |
| | | // }) |
| | | // } |
| | | // ` |
| | | |
| | | if ( |
| | | !btn.verify || |
| | | (btn.verify.printMode === 'normal' && (!btn.verify.Template || !btn.verify.linkUrl)) || |
| | | (btn.verify.printMode === 'custom' && !btn.verify.printFunc) |
| | | ) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '请完善打印验证信息!', |
| | |
| | | } |
| | | |
| | | let printlist = [] |
| | | let templates = [btn.verify.Template] |
| | | let templates = [btn.verify.Template || ''] |
| | | let printCount = 1 |
| | | |
| | | if (formdata.printCount && typeof(formdata.printCount) === 'number' && formdata.printCount >= 1) { |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | if (btn.verify.printMode === 'custom') { |
| | | this.execCustomPrint(btn, printlist) |
| | | } else { |
| | | resolve('getTemp') |
| | | } |
| | | } else { |
| | | this.getprintdata(btn, data, formdata, formlist).then(result => { |
| | | if (result.next === 'getTemp') { |
| | | result.list.forEach(item => { |
| | | let _cell = item.data |
| | | |
| | |
| | | printlist.push({...formdata, ..._cell}) |
| | | } |
| | | }) |
| | | } else if (result.next === 'customPrint') { |
| | | this.execCustomPrint(btn, result.list) |
| | | } |
| | | |
| | | resolve(result.next) |
| | | }) |
| | | } |
| | | }).then(res => { |
| | | // 获取打印模板 getTemp |
| | | if (!res) return |
| | | if (res !== 'getTemp') return false |
| | | |
| | | templates = Array.from(new Set(templates)) // 去重 |
| | | |
| | |
| | | this.execError(errorMsg, btn) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | execCustomPrint = (btn, printdata) => { |
| | | this.setState({loadingUuid: ''}) |
| | | |
| | | try { |
| | | // eslint-disable-next-line |
| | | let func = new Function('data', 'notification', btn.verify.printFunc) // 最后一个参数当函数体来执行,前面的参数当成函数体的参数。 |
| | | func(printdata, notification) |
| | | } catch (e) { |
| | | console.warn(e) |
| | | } |
| | | } |
| | | |
| | | getprintdata = (btn, data, formdata, formlist) => { |
| | |
| | | let errorMsg = '' |
| | | result.forEach(res => { |
| | | if (res.status) { |
| | | if (btn.verify.printMode === 'custom') { |
| | | // _list.push(res.data) |
| | | _list.push('{"status": true,"message": "","ErrCode": "","ErrMesg": "", "wsaddr": "ws://127.0.0.1:13529","wstype": "local/server","data": [{"cmd": "print","requestID": "202003091036391803ACEAAE08DF7454599AEA243D8959F","version": "1.0","task": {"taskID": "202003091036391803ACEAAE08DF7454599AEA243D8959F","preview": false,"printer": "Microsoft Print To PDF", "documents": [{"documentID": "05512003090002A243D8959F","contents": [{"data": {"Bill": "05512003090002","ReturnProduct": ""},"templateURL": "http://css.positecgroup.com/template/warespaceprint01/2020010810525789956968_U000000001.srt","ectype": "jdpop"}]}]}} ]}') |
| | | } else { |
| | | res.data.forEach(_item => { |
| | | _list.push({data: _item, count: res.printCount}) |
| | | }) |
| | | } |
| | | } else { |
| | | errorMsg = res |
| | | } |
| | | }) |
| | | if (!errorMsg) { |
| | | resolve({next: 'getTemp', list: _list}) |
| | | resolve({next: btn.verify.printMode === 'custom' ? 'customPrint' : 'getTemp', list: _list}) |
| | | } else { |
| | | this.execError(errorMsg, btn) |
| | | resolve({next: false, list: _list}) |
| | |
| | | |
| | | return Api.genericInterface(_callbackparam) |
| | | } else if (response.status) { |
| | | if (btn.verify.printMode === 'custom') { |
| | | _list.push(response.data) |
| | | } else { |
| | | response.data.forEach(_item => { |
| | | _list.push({data: _item, count: response.printCount}) |
| | | }) |
| | | } |
| | | |
| | | // 一次请求成功,进行下一项请求 |
| | | if (params.length === 0) { |
| | | _resolve({next: 'getTemp', list: _list}) |
| | | _resolve({next: btn.verify.printMode === 'custom' ? 'customPrint' : 'getTemp', list: _list}) |
| | | } else { |
| | | this.printOuterLoopRequest(params, btn, _list, _resolve) |
| | | } |
| | |
| | | if (!response) return |
| | | |
| | | if (response.status) { |
| | | if (btn.verify.printMode === 'custom') { |
| | | _list.push(response.data) |
| | | } else { |
| | | response.data.forEach(_item => { |
| | | _list.push({data: _item, count: response.printCount}) |
| | | }) |
| | | } |
| | | |
| | | // 一次请求成功,进行下一项请求 |
| | | if (params.length === 0) { |
| | | _resolve({next: 'getTemp', list: _list}) |
| | | _resolve({next: btn.verify.printMode === 'custom' ? 'customPrint' : 'getTemp', list: _list}) |
| | | } else { |
| | | this.printOuterLoopRequest(params, btn, _list, _resolve) |
| | | } |
| | |
| | | |
| | | Api.genericInterface(param).then(res => { |
| | | if (res.status) { |
| | | if (btn.verify.printMode === 'custom') { |
| | | _list.push(res.data) |
| | | } else { |
| | | res.data.forEach(_item => { |
| | | _list.push({data: _item, count: res.printCount}) |
| | | }) |
| | | } |
| | | |
| | | if (params.length === 0) { |
| | | _resolve({next: 'getTemp', list: _list}) |
| | | _resolve({next: btn.verify.printMode === 'custom' ? 'customPrint' : 'getTemp', list: _list}) |
| | | } else { |
| | | this.printInnerLoopRequest(params, btn, _list, _resolve) |
| | | } |
| | |
| | | }) |
| | | } else if (res && res.ErrCode === '-1') { // 完成后不提示 |
| | | |
| | | // } else if (res.Relogin === 'true') { // 切换用户功能 |
| | | // sessionStorage.setItem('avatar', res.icon || '') |
| | | // sessionStorage.setItem('UserID', res.UserID) |
| | | // sessionStorage.setItem('SessionUid', Utils.getuuid()) |
| | | // sessionStorage.setItem('LoginUID', res.LoginUID) |
| | | // sessionStorage.setItem('User_Name', res.UserName) |
| | | |
| | | // window.location.reload() |
| | | // return |
| | | } |
| | | |
| | | if (btn.OpenType === 'pop' && btn.setting && btn.setting.finish !== 'unclose') { |