From 4a18149d7ca9a0ea3ad569297f34e928c59e2025 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 21 三月 2020 20:30:08 +0800 Subject: [PATCH] 2020-03-21 --- src/tabviews/zshare/actionList/index.jsx | 179 ++++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 132 insertions(+), 47 deletions(-) diff --git a/src/tabviews/zshare/actionList/index.jsx b/src/tabviews/zshare/actionList/index.jsx index ed8ab47..942dd60 100644 --- a/src/tabviews/zshare/actionList/index.jsx +++ b/src/tabviews/zshare/actionList/index.jsx @@ -225,7 +225,61 @@ 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: '璇峰畬鍠勬墦鍗伴獙璇佷俊鎭紒', @@ -235,7 +289,7 @@ } 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) { @@ -263,34 +317,45 @@ } }) } - resolve('getTemp') + + if (btn.verify.printMode === 'custom') { + this.execCustomPrint(btn, printlist) + } else { + resolve('getTemp') + } } else { this.getprintdata(btn, data, formdata, formlist).then(result => { - result.list.forEach(item => { - let _cell = item.data - - if (_cell.TemplateID) { - templates.push(_cell.TemplateID) - } else { - _cell.TemplateID = btn.verify.Template - } - - let _count = printCount - - if (item.count && typeof(item.count) === 'number' && item.count >= 1) { - _count = item.count - } - - for (let i = 0; i < _count; i++) { - printlist.push({...formdata, ..._cell}) - } - }) + if (result.next === 'getTemp') { + result.list.forEach(item => { + let _cell = item.data + + if (_cell.TemplateID) { + templates.push(_cell.TemplateID) + } else { + _cell.TemplateID = btn.verify.Template + } + + let _count = printCount + + if (item.count && typeof(item.count) === 'number' && item.count >= 1) { + _count = item.count + } + + for (let i = 0; i < _count; i++) { + 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)) // 鍘婚噸 @@ -345,6 +410,18 @@ 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) => { @@ -411,15 +488,20 @@ let errorMsg = '' result.forEach(res => { if (res.status) { - res.data.forEach(_item => { - _list.push({data: _item, count: res.printCount}) - }) + 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}) @@ -507,13 +589,17 @@ return Api.genericInterface(_callbackparam) } else if (response.status) { - response.data.forEach(_item => { - _list.push({data: _item, count: response.printCount}) - }) + 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) } @@ -525,13 +611,17 @@ if (!response) return if (response.status) { - response.data.forEach(_item => { - _list.push({data: _item, count: response.printCount}) - }) + 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) } @@ -550,12 +640,16 @@ Api.genericInterface(param).then(res => { if (res.status) { - res.data.forEach(_item => { - _list.push({data: _item, count: res.printCount}) - }) + 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) } @@ -1353,15 +1447,6 @@ }) } 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') { -- Gitblit v1.8.0