From 89373e11db1c27a4b1ac94f27c1a7d58a24a5737 Mon Sep 17 00:00:00 2001 From: liuxinxin Date: Mon, 26 Aug 2019 20:07:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=90=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/impls/ClientManagerImpl.java | 1 + src/main/ui/static/boot/indexMainApp.js | 17 +- .../ui/static/css/img/loading_contract.gif | Bin 0 -> 94544 bytes .../jSignature/jSignature.CompressorBase30.js | 234 -------- .../jSignature/jSignature.CompressorSVG.js | 519 ------------------ .../lib/jSignature/jSignature.UndoButton.js | 165 ------ src/main/ui/static/payment/partner/partner.js | 58 +- .../templates/compliance_files_advice.html | 2 +- .../partner/templates/confirmForSubmit.html | 24 + .../templates/contract_for_compliance.html | 67 ++- 10 files changed, 115 insertions(+), 972 deletions(-) create mode 100644 src/main/ui/static/css/img/loading_contract.gif delete mode 100644 src/main/ui/static/lib/jSignature/jSignature.CompressorBase30.js delete mode 100644 src/main/ui/static/lib/jSignature/jSignature.CompressorSVG.js delete mode 100644 src/main/ui/static/lib/jSignature/jSignature.UndoButton.js create mode 100644 src/main/ui/static/payment/partner/templates/confirmForSubmit.html diff --git a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java index 999dcdca6..87eb61b42 100644 --- a/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java +++ b/src/main/java/au/com/royalpay/payment/manage/merchants/core/impls/ClientManagerImpl.java @@ -3275,6 +3275,7 @@ public class ClientManagerImpl implements ClientManager, ManagerTodoNoticeProvid updateSysClientFilesForWaitCompliance(manager, clientId, CLIENT_ID_FILE, filesInfo.getFile_id_info(), fileResult); } catch (Exception e) { logger.error("上传合规文件失败", e); + throw new BadRequestException("合同制作出现问题:" + e.getMessage()); } // boolean clientSource = client.getIntValue("source") == 4 ? true : false; // if (filesInfo.getAuthStatus() == 1 && clientSource) { diff --git a/src/main/ui/static/boot/indexMainApp.js b/src/main/ui/static/boot/indexMainApp.js index 33f2d2b6e..252bf4eb6 100644 --- a/src/main/ui/static/boot/indexMainApp.js +++ b/src/main/ui/static/boot/indexMainApp.js @@ -48,10 +48,13 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo $uibModal.open({ templateUrl: '/static/payment/partner/templates/compliance_files_advice.html', size: 'lg', - // controller: 'partnerFilesCtrl' - // resolve: { - // client_refuse_reason: ['121','212'] - // } + controller: 'partnerFilesCtrl', + resolve: { + file: ['$http', function ($http) { + return $http.get('/client/partner_info/compliance/clientViewFiles'); + }] + } + }) }; @@ -474,8 +477,8 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo }) } }]); - app.controller('partnerFilesCtrl', ['$scope', '$http', '$sce', 'client_refuse_reason', function ($scope, $http, $sce, client_refuse_reason) { - $scope.client_refuse_reason = angular.copy(client_refuse_reason); + app.controller('partnerFilesCtrl', ['$scope', '$http', '$sce', 'file', function ($scope, $http, $sce, file) { + $scope.file = angular.copy(file); }]); app.factory('myLoginLogView', ['$uibModal', function ($uibModal) { return { @@ -642,4 +645,4 @@ define(['angular', 'angularSanitize', 'angularAnimate', 'angularMessages', 'uiRo ngModelOptions: {} }); return app; -}); \ No newline at end of file +}); diff --git a/src/main/ui/static/css/img/loading_contract.gif b/src/main/ui/static/css/img/loading_contract.gif new file mode 100644 index 0000000000000000000000000000000000000000..768db2d0b844c545ae6dd37f1531b87993b80a7e GIT binary patch literal 94544 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�CW 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

LR|>i_e3W#xh9a*PKdicZ)S?rN5{} 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 literal 0 HcmV?d00001 diff --git a/src/main/ui/static/lib/jSignature/jSignature.CompressorBase30.js b/src/main/ui/static/lib/jSignature/jSignature.CompressorBase30.js deleted file mode 100644 index e8aecc1a0..000000000 --- a/src/main/ui/static/lib/jSignature/jSignature.CompressorBase30.js +++ /dev/null @@ -1,234 +0,0 @@ -/** @preserve -jSignature v2 jSignature's custom "base30" format export and import plugins. - -*/ -/** -Copyright (c) 2011 Willow Systems Corp http://willow-systems.com -MIT License -*/ - -;(function(){ - - var chunkSeparator = '_' - , charmap = {} // {'1':'g','2':'h','3':'i','4':'j','5':'k','6':'l','7':'m','8':'n','9':'o','a':'p','b':'q','c':'r','d':'s','e':'t','f':'u','0':'v'} - , charmap_reverse = {} // will be filled by 'uncompress*" function - // need to split below for IE7 (possibly others), which does not understand string[position] it seems (returns undefined) - , allchars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX'.split('') - , bitness = allchars.length / 2 - , minus = 'Z' - , plus = 'Y' - - for(var i = bitness-1; i > -1; i--){ - charmap[allchars[i]] = allchars[i+bitness] - charmap_reverse[allchars[i+bitness]] = allchars[i] - } - var remapTailChars = function(number){ - // for any given number as string, returning string with trailing chars remapped something like so: - // '345' -> '3de' - var chars = number.split('') - , l = chars.length - // we are skipping first char. standard hex number char = delimiter - for (var i = 1; i < l; i++ ){ - chars[i] = charmap[chars[i]] - } - return chars.join('') - } - , compressstrokeleg = function(data){ - // we convert half-stroke (only 'x' series or only 'y' series of numbers) - // data is like this: - // [517,516,514,513,513,513,514,516,519,524,529,537,541,543,544,544,539,536] - // that is converted into this: - // "5agm12100p1235584210m53" - // each number in the chain is converted such: - // - find diff from previous number - // - first significant digit is kept as digit char. digit char = start of new number. - // - consecutive numbers are mapped to letters, where 1 to 9 are A to I, 0 is O - // Sign changes are denoted by "P" - plus, "M" for minus. - var answer = [] - , lastwhole = 0 - , last = 0 - , lastpolarity = 1 - , l = data.length - , nwhole, n, absn - - for(var i = 0; i < l; i++){ - // we start with whole coordinates for each point - // coords are converted into series of vectors: - // [512, 514, 520] - // [512, +2, +6] - nwhole = Math.round(data[i]) - n = nwhole - lastwhole - lastwhole = nwhole - - // inserting sign change when needed. - if (n < 0 && lastpolarity > 0) { - lastpolarity = -1 - answer.push(minus) - } - else if (n > 0 && lastpolarity < 0) { - lastpolarity = 1 - answer.push(plus) - } - - // since we have dealt with sign. let's absolute the value. - absn = Math.abs(n) - // adding number to list We convert these to Hex before storing on the string. - if (absn >= bitness) { - answer.push(remapTailChars(absn.toString(bitness))) - } else { - answer.push(absn.toString(bitness)) - } - } - return answer.join('') - } - , uncompressstrokeleg = function(datastring){ - // we convert half-stroke (only 'x' series or only 'y' series of numbers) - // datastring like this: - // "5agm12100p1235584210m53" - // is converted into this: - // [517,516,514,513,513,513,514,516,519,524,529,537,541,543,544,544,539,536] - // each number in the chain is converted such: - // - digit char = start of new whole number. Alpha chars except "p","m" are numbers in hiding. - // These consecutive digist expressed as alphas mapped back to digit char. - // resurrected number is the diff between this point and prior coord. - // - running polaritiy is attached to the number. - // - we undiff (signed number + prior coord) the number. - // - if char 'm','p', flip running polarity - var answer = [] - , chars = datastring.split('') - , l = chars.length - , ch - , polarity = 1 - , partial = [] - , preprewhole = 0 - , prewhole - for(var i = 0; i < l; i++){ - ch = chars[i] - if (ch in charmap || ch === minus || ch === plus){ - // this is new number - start of a new whole number. - // before we can deal with it, we need to flush out what we already - // parsed out from string, but keep in limbo, waiting for this sign - // that prior number is done. - // we deal with 3 numbers here: - // 1. start of this number - a diff from previous number to - // whole, new number, which we cannot do anything with cause - // we don't know its ending yet. - // 2. number that we now realize have just finished parsing = prewhole - // 3. number we keep around that came before prewhole = preprewhole - - if (partial.length !== 0) { - // yep, we have some number parts in there. - prewhole = parseInt( partial.join(''), bitness) * polarity + preprewhole - answer.push( prewhole ) - preprewhole = prewhole - } - - if (ch === minus){ - polarity = -1 - partial = [] - } else if (ch === plus){ - polarity = 1 - partial = [] - } else { - // now, let's start collecting parts for the new number: - partial = [ch] - } - } else /* alphas replacing digits */ { - // more parts for the new number - partial.push(charmap_reverse[ch]) - } - } - // we always will have something stuck in partial - // because we don't have closing delimiter - answer.push( parseInt( partial.join(''), bitness ) * polarity + preprewhole ) - - return answer - } - , compressstrokes = function(data){ - var answer = [] - , l = data.length - , stroke - for(var i = 0; i < l; i++){ - stroke = data[i] - answer.push(compressstrokeleg(stroke.x)) - answer.push(compressstrokeleg(stroke.y)) - } - return answer.join(chunkSeparator) - } - , uncompressstrokes = function(datastring){ - var data = [] - , chunks = datastring.split(chunkSeparator) - , l = chunks.length / 2 - for (var i = 0; i < l; i++){ - data.push({ - 'x':uncompressstrokeleg(chunks[i*2]) - , 'y':uncompressstrokeleg(chunks[i*2+1]) - }) - } - return data - } - , acceptedformat = 'image/jsignature;base30' - , pluginCompressor = function(data){ - return [acceptedformat , compressstrokes(data)] - } - , pluginDecompressor = function(data, formattype, importcallable){ - if (typeof data !== 'string') return - if (data.substring(0, acceptedformat.length).toLowerCase() === acceptedformat) { - data = data.substring(acceptedformat.length + 1) // chopping off "," there - } - importcallable( uncompressstrokes(data) ) - } - , Initializer = function($){ - var mothership = $.fn['jSignature'] - mothership( - 'addPlugin' - ,'export' - ,'base30' // alias - ,pluginCompressor - ) - mothership( - 'addPlugin' - ,'export' - ,acceptedformat // full name - ,pluginCompressor - ) - mothership( - 'addPlugin' - ,'import' - ,'base30' // alias - ,pluginDecompressor - ) - mothership( - 'addPlugin' - ,'import' - ,acceptedformat // full name - ,pluginDecompressor - ) - } - - -// //Because plugins are minified together with jSignature, multiple defines per (minified) file blow up and dont make sense -// //Need to revisit this later. - -// if ( typeof define === "function" && define.amd != null) { -// // AMD-loader compatible resource declaration -// // you need to call this one with jQuery as argument. -// define(function(){return Initializer} ) -// } else { - // global-polluting outcome. - if(this.jQuery == null) {throw new Error("We need jQuery for some of the functionality. jQuery is not detected. Failing to initialize...")} - Initializer(this.jQuery) -// } - - if (this.jSignatureDebug) { - this.jSignatureDebug['base30'] = { - 'remapTailChars':remapTailChars - , 'compressstrokeleg':compressstrokeleg - , 'uncompressstrokeleg':uncompressstrokeleg - , 'compressstrokes':compressstrokes - , 'uncompressstrokes':uncompressstrokes - , 'charmap': charmap - } - } - -}).call(typeof window !== 'undefined'? window : this); \ No newline at end of file diff --git a/src/main/ui/static/lib/jSignature/jSignature.CompressorSVG.js b/src/main/ui/static/lib/jSignature/jSignature.CompressorSVG.js deleted file mode 100644 index be88a0fc5..000000000 --- a/src/main/ui/static/lib/jSignature/jSignature.CompressorSVG.js +++ /dev/null @@ -1,519 +0,0 @@ -/** @license -jSignature v2 SVG export plugin. - -*/ -/** -Copyright (c) 2012 Willow Systems Corp http://willow-systems.com -MIT License -*/ - -;(function(){ - 'use strict' - -/** @preserve -Simplify.js BSD -(c) 2012, Vladimir Agafonkin -mourner.github.com/simplify-js - -*/ - ;(function(a,b){function c(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d}function d(a,b,c){var d=b.x,e=b.y,f=c.x-d,g=c.y-e,h;if(f!==0||g!==0)h=((a.x-d)*f+(a.y-e)*g)/(f*f+g*g),h>1?(d=c.x,e=c.y):h>0&&(d+=f*h,e+=g*h);return f=a.x-d,g=a.y-e,f*f+g*g}function e(a,b){var d,e=a.length,f,g=a[0],h=[g];for(d=1;db&&(h.push(f),g=f);return g!==f&&h.push(f),h}function f(a,c){var e=a.length,f=typeof Uint8Array!=b+""?Uint8Array:Array,g=new f(e),h=0,i=e-1,j,k,l,m,n=[],o=[],p=[];g[h]=g[i]=1;while(i){k=0;for(j=h+1;jk&&(m=j,k=l);k>c&&(g[m]=1,n.push(h),o.push(m),n.push(m),o.push(i)),h=n.pop(),i=o.pop()}for(j=0;jB - - // Again, we can only derive curve between points positionInStroke-1 and positionInStroke - // Thus, since we can only draw a line if we know one point ahead of it, we need to shift our focus one point ahead. - positionInStroke += 1 - // Let's hope the code that calls us knows we do that and does not call us with positionInStroke = index of last point. - - var Cpoint = new Point(stroke.x[positionInStroke-1], stroke.y[positionInStroke-1]) - , Dpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke]) - , CDvector = Cpoint.getVectorToPoint(Dpoint) - // Again, we have a chance here to draw only PREVIOUS line segment - BC - - // So, let's start with BC curve. - // if there is only 2 points in stroke array (C, D), we don't have "history" long enough to have point B, let alone point A. - // so positionInStroke should start with 2, ie - // we are here when there are at least 3 points in stroke array. - var Bpoint = new Point(stroke.x[positionInStroke-2], stroke.y[positionInStroke-2]) - , BCvector = Bpoint.getVectorToPoint(Cpoint) - , ABvector - , rounding = 2 - - if ( BCvector.getLength() > lineCurveThreshold ){ - // Yey! Pretty curves, here we come! - if(positionInStroke > 2) { - ABvector = (new Point(stroke.x[positionInStroke-3], stroke.y[positionInStroke-3])).getVectorToPoint(Bpoint) - } else { - ABvector = new Vector(0,0) - } - var minlenfraction = 0.05 - , maxlen = BCvector.getLength() * 0.35 - , ABCangle = BCvector.angleTo(ABvector.reverse()) - , BCDangle = CDvector.angleTo(BCvector.reverse()) - , BtoCP1vector = new Vector(ABvector.x + BCvector.x, ABvector.y + BCvector.y).resizeTo( - Math.max(minlenfraction, ABCangle) * maxlen - ) - , CtoCP2vector = (new Vector(BCvector.x + CDvector.x, BCvector.y + CDvector.y)).reverse().resizeTo( - Math.max(minlenfraction, BCDangle) * maxlen - ) - , BtoCP2vector = new Vector(BCvector.x + CtoCP2vector.x, BCvector.y + CtoCP2vector.y) - - // returing curve for BC segment - // all coords are vectors against Bpoint - return [ - 'c' // bezier curve - , round( BtoCP1vector.x, rounding ) - , round( BtoCP1vector.y, rounding ) - , round( BtoCP2vector.x, rounding ) - , round( BtoCP2vector.y, rounding ) - , round( BCvector.x, rounding ) - , round( BCvector.y, rounding ) - ] - } else { - return [ - 'l' // line - , round( BCvector.x, rounding ) - , round( BCvector.y, rounding ) - ] - } - } - - function lastSegmentToCurve(stroke, lineCurveThreshold){ - 'use strict' - // Here we tidy up things left unfinished - - // What's left unfinished there is the curve between the last points - // in the stroke - // We can also be called when there is only one point in the stroke (meaning, the - // stroke was just a dot), in which case there is nothing for us to do. - - // So for "this curve" to be calc'ed we need 3 points - // A, B, C - // and 2 lines: - // pre-line (from points A to B), - // this line (from points B to C) - // Well, actually, we don't need to *know* the point A, just the vector A->B - // so, we really need points B, C and AB vector. - var positionInStroke = stroke.x.length - 1 - - // there must be at least 2 points in the stroke.for us to work. Hope calling code checks for that. - var Cpoint = new Point(stroke.x[positionInStroke], stroke.y[positionInStroke]) - , Bpoint = new Point(stroke.x[positionInStroke-1], stroke.y[positionInStroke-1]) - , BCvector = Bpoint.getVectorToPoint(Cpoint) - , rounding = 2 - - if (positionInStroke > 1 && BCvector.getLength() > lineCurveThreshold){ - // we have at least 3 elems in stroke - var ABvector = (new Point(stroke.x[positionInStroke-2], stroke.y[positionInStroke-2])).getVectorToPoint(Bpoint) - , ABCangle = BCvector.angleTo(ABvector.reverse()) - , minlenfraction = 0.05 - , maxlen = BCvector.getLength() * 0.35 - , BtoCP1vector = new Vector(ABvector.x + BCvector.x, ABvector.y + BCvector.y).resizeTo( - Math.max(minlenfraction, ABCangle) * maxlen - ) - - return [ - 'c' // bezier curve - , round( BtoCP1vector.x, rounding ) - , round( BtoCP1vector.y, rounding ) - , round( BCvector.x, rounding ) // CP2 is same as Cpoint - , round( BCvector.y, rounding ) // CP2 is same as Cpoint - , round( BCvector.x, rounding ) - , round( BCvector.y, rounding ) - ] - } else { - // Since there is no AB leg, there is no curve to draw. This is just line - return [ - 'l' // simple line - , round( BCvector.x, rounding ) - , round( BCvector.y, rounding ) - ] - } - } - - function addstroke(stroke, shiftx, shifty){ - 'use strict' - // we combine strokes data into string like this: - // 'M 53 7 l 1 2 c 3 4 -5 -6 5 -6' - // see SVG documentation for Path element's 'd' argument. - var lines = [ - 'M' // move to - , round( (stroke.x[0] - shiftx), 2) - , round( (stroke.y[0] - shifty), 2) - ] - // processing all points but first and last. - , i = 1 // index zero item in there is STARTING point. we already extracted it. - , l = stroke.x.length - 1 // this is a trick. We are leaving last point coordinates for separate processing. - , lineCurveThreshold = 1 - - for(; i < l; i++){ - lines.push.apply(lines, segmentToCurve(stroke, i, lineCurveThreshold)) - } - if (l > 0 /* effectively more than 1, since we "-1" above */){ - lines.push.apply(lines, lastSegmentToCurve(stroke, i, lineCurveThreshold)) - } else if (l === 0){ - // meaning we only have ONE point in the stroke (and otherwise refer to the stroke as "dot") - lines.push.apply(lines, ['l' , 1, 1]) - } - return lines.join(' ') - } - - function simplifystroke(stroke){ - var d = [] - , newstroke = {'x':[], 'y':[]} - , i, l - - for (i = 0, l = stroke.x.length; i < l; i++){ - d.push({'x':stroke.x[i], 'y':stroke.y[i]}) - } - d = simplify(d, 0.7, true) - for (i = 0, l = d.length; i < l; i++){ - newstroke.x.push(d[i].x) - newstroke.y.push(d[i].y) - } - return newstroke - } - - // generate SVG style from settings - function styleFromSettings(settings){ - var styles = []; - var meta = [ - // ["style attr", "key in settings", "default value"] - ["fill", undefined, "none"], - ["stroke", "color", "#000000"], - ["stroke-width", "lineWidth", 2], - ["stroke-linecap", undefined, "round"], - ["stroke-linejoin", undefined, "round"] - ]; - for (var i = meta.length - 1; i >= 0; i--){ - var attr = meta[i][0] - , key = meta[i][1] - , defaultVal = meta[i][2]; - styles.push(attr + '="' + (key in settings && settings[key] ? settings[key] : defaultVal) + '"'); - } - return styles.join(' '); - } - - function compressstrokes(data, settings){ - 'use strict' - var answer = [ - '' - , '' - ] - , i , l = data.length - , stroke - , xlimits = [] - , ylimits = [] - , sizex = 0 - , sizey = 0 - , shiftx = 0 - , shifty = 0 - , minx, maxx, miny, maxy, padding = 1 - , simplifieddata = [] - - if(l !== 0){ - for(i = 0; i < l; i++){ - stroke = simplifystroke( data[i] ) - simplifieddata.push(stroke) - xlimits = xlimits.concat(stroke.x) - ylimits = ylimits.concat(stroke.y) - } - - minx = Math.min.apply(null, xlimits) - padding - maxx = Math.max.apply(null, xlimits) + padding - miny = Math.min.apply(null, ylimits) - padding - maxy = Math.max.apply(null, ylimits) + padding - shiftx = minx < 0? 0 : minx - shifty = miny < 0? 0 : miny - sizex = maxx - minx - sizey = maxy - miny - } - - answer.push( - '' - ) - - // // This is a nice idea: use style declaration on top, and mark the lines with 'class="f"' - // // thus saving space in svg... - // // alas, many SVG renderers don't understand "class" and render the strokes in default "fill = black, no stroke" style. Ugh!!! - // // TODO: Rewrite ImageMagic / GraphicsMagic, InkScape, http://svg.codeplex.com/ to support style + class. until then, we hardcode the stroke style within the path. - // answer.push( - // '' - // ) - - // // This set is accompaniment to "simple line renderer" - compressstroke - // answer.push( - // '' - // ) - // for(i = 0; i < l; i++){ - // stroke = data[i] - // // This one is accompaniment to "simple line renderer" - // answer.push('') - // } - - for(i = 0, l = simplifieddata.length; i < l; i++){ - stroke = simplifieddata[i] - answer.push('') - } - answer.push('') - return answer.join('') - } - - if (typeof btoa !== 'function') - { - var btoa = function(data) { -/** @preserve -base64 encoder -MIT, GPL -http://phpjs.org/functions/base64_encode -+ original by: Tyler Akins (http://rumkin.com) -+ improved by: Bayron Guevara -+ improved by: Thunder.m -+ improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) -+ bugfixed by: Pellentesque Malesuada -+ improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) -+ improved by: Rafal Kukawski (http://kukawski.pl) - -*/ - var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" - , b64a = b64.split('') - , o1, o2, o3, h1, h2, h3, h4, bits, i = 0, - ac = 0, - enc = "", - tmp_arr = []; - - do { // pack three octets into four hexets - o1 = data.charCodeAt(i++); - o2 = data.charCodeAt(i++); - o3 = data.charCodeAt(i++); - - bits = o1 << 16 | o2 << 8 | o3; - - h1 = bits >> 18 & 0x3f; - h2 = bits >> 12 & 0x3f; - h3 = bits >> 6 & 0x3f; - h4 = bits & 0x3f; - - // use hexets to index into b64, and append result to encoded string - tmp_arr[ac++] = b64a[h1] + b64a[h2] + b64a[h3] + b64a[h4]; - } while (i < data.length); - - enc = tmp_arr.join(''); - var r = data.length % 3; - return (r ? enc.slice(0, r - 3) : enc) + '==='.slice(r || 3); - - // end of base64 encoder MIT, GPL - } - } - - var unencodedmime = 'image/svg+xml' - function getUnencodedSVG(data, settings){ - return [unencodedmime , compressstrokes(data, settings)]; - } - - var base64encodedmime = 'image/svg+xml;base64' - function getBase64encodedSVG(data, settings){ - - return [base64encodedmime , btoa( compressstrokes(data, settings) )]; - } - - function Initializer($){ - var mothership = $.fn['jSignature'] - mothership( - 'addPlugin' - ,'export' - ,'svg' // alias - ,getUnencodedSVG - ) - mothership( - 'addPlugin' - ,'export' - ,unencodedmime // full name - ,getUnencodedSVG - ) - mothership( - 'addPlugin' - ,'export' - ,'svgbase64' // alias - ,getBase64encodedSVG - ) - mothership( - 'addPlugin' - ,'export' - ,base64encodedmime // full name - ,getBase64encodedSVG - ) - } - - // //Because plugins are minified together with jSignature, multiple defines per (minified) file blow up and dont make sense - // //Need to revisit this later. - - if(typeof $ === 'undefined') {throw new Error("We need jQuery for some of the functionality. jQuery is not detected. Failing to initialize...")} - Initializer($) - -})(); \ No newline at end of file diff --git a/src/main/ui/static/lib/jSignature/jSignature.UndoButton.js b/src/main/ui/static/lib/jSignature/jSignature.UndoButton.js deleted file mode 100644 index 21b9a2339..000000000 --- a/src/main/ui/static/lib/jSignature/jSignature.UndoButton.js +++ /dev/null @@ -1,165 +0,0 @@ -/** @license -jSignature v2 jSignature's Undo Button and undo functionality plugin - -*/ -/** -Copyright (c) 2011 Willow Systems Corp http://willow-systems.com -MIT License -*/ - -;(function(){ - - var apinamespace = 'jSignature' - - function attachHandlers(buttonRenderer, apinamespace, extensionName) { - var $undoButton = buttonRenderer.call(this) - - ;(function(jSignatureInstance, $undoButton, apinamespace) { - jSignatureInstance.events.subscribe( - apinamespace + '.change' - , function(){ - if (jSignatureInstance.dataEngine.data.length) { - $undoButton.show() - } else { - $undoButton.hide() - } - } - ) - })( this, $undoButton, apinamespace ) - - ;(function(jSignatureInstance, $undoButton, apinamespace) { - - var eventName = apinamespace + '.undo' - - $undoButton.bind('click', function(){ - jSignatureInstance.events.publish(eventName) - }) - - // This one creates new "undo" event listener to jSignature instance - // It handles the actual undo-ing. - jSignatureInstance.events.subscribe( - eventName - , function(){ - var data = jSignatureInstance.dataEngine.data - if (data.length) { - data.pop() - jSignatureInstance.resetCanvas(data) - } - } - ) - })( - this - , $undoButton - , this.events.topics.hasOwnProperty( apinamespace + '.undo' ) ? - // oops, seems some other plugin or code has already claimed "jSignature.undo" event - // we will use this extension's name for event name prefix - extensionName : - // Great! we will use 'jSignature' for event name prefix. - apinamespace - ) - } - - function ExtensionInitializer(extensionName){ - // we are called very early in instance's life. - // right after the settings are resolved and - // jSignatureInstance.events is created - // and right before first ("jSignature.initializing") event is called. - // You don't really need to manupilate - // jSignatureInstance directly, just attach - // a bunch of events to jSignatureInstance.events - // (look at the source of jSignatureClass to see when these fire) - // and your special pieces of code will attach by themselves. - - // this function runs every time a new instance is set up. - // this means every var you create will live only for one instance - // unless you attach it to something outside, like "window." - // and pick it up later from there. - - // when globalEvents' events fire, 'this' is globalEvents object - // when jSignatureInstance's events fire, 'this' is jSignatureInstance - - // Here, - // this = is new jSignatureClass's instance. - - // The way you COULD approch setting this up is: - // if you have multistep set up, attach event to "jSignature.initializing" - // that attaches other events to be fired further lower the init stream. - // Or, if you know for sure you rely on only one jSignatureInstance's event, - // just attach to it directly - - var apinamespace = 'jSignature' - - this.events.subscribe( - // name of the event - apinamespace + '.attachingEventHandlers' - // event handlers, can pass args too, but in majority of cases, - // 'this' which is jSignatureClass object instance pointer is enough to get by. - , function(){ - - // hooking up "undo" button to lower edge of Canvas. - // but only when options passed to jSignature('init', options) - // contain "undoButton":renderingFunction pair. - // or "undoButton":true (in which case default, internal rendering fn is used) - if (this.settings[extensionName]) { - var oursettings = this.settings[extensionName] - if (typeof oursettings !== 'function') { - // we make it a function. - - // we allow people to override the button rendering code, - // but when developler is OK with default look (and just passes "truthy" value) - // this defines default look for the button: - // centered against canvas, hanging on its lower side. - oursettings = function(){ - // this === jSignatureInstance - var undoButtonSytle = 'position:absolute;display:none;margin:0 !important;top:auto' - , $undoButton = $('') - .appendTo(this.$controlbarLower) - - // this centers the button against the canvas. - var buttonWidth = $undoButton.width() - $undoButton.css( - 'left' - , Math.round(( this.canvas.width - buttonWidth ) / 2) - ) - // IE 7 grows the button. Correcting for that. - if ( buttonWidth !== $undoButton.width() ) { - $undoButton.width(buttonWidth) - } - - return $undoButton - } - } - - attachHandlers.call( - this - , oursettings - , apinamespace - , extensionName - ) - } - } - ) - } - - var ExtensionAttacher = function(){ - $.fn[apinamespace]( - 'addPlugin' - ,'instance' // type of plugin - ,'UndoButton' // extension name - ,ExtensionInitializer - ) - } - - -// //Because plugins are minified together with jSignature, multiple defines per (minified) file blow up and dont make sense -// //Need to revisit this later. - -// if ( typeof define === "function" && define.amd != null) { -// // AMD-loader compatible resource declaration -// // you need to call this one with jQuery as argument. -// define(function(){return Initializer} ) -// } else { - ExtensionAttacher() -// } - -})(); \ No newline at end of file diff --git a/src/main/ui/static/payment/partner/partner.js b/src/main/ui/static/payment/partner/partner.js index 229322bea..5d0db3660 100644 --- a/src/main/ui/static/payment/partner/partner.js +++ b/src/main/ui/static/payment/partner/partner.js @@ -1027,7 +1027,7 @@ define(['angular', 'decimal', 'uiRouter', 'ngBootSwitch', 'ngFileUpload', 'uiBoo }]); - app.controller('aggregateFileCtrl', ['$scope', '$http', '$rootScope', 'commonDialog', '$state', 'Upload', function ($scope, $http, $rootScope, commonDialog, $state, Upload) { + app.controller('aggregateFileCtrl', ['$scope', '$http', '$rootScope', 'commonDialog', '$state','$uibModal', 'Upload', function ($scope, $http, $rootScope, commonDialog, $state,$uibModal, Upload) { $scope.signInfo = {}; $scope.aggregateFile = function () { @@ -1051,39 +1051,64 @@ define(['angular', 'decimal', 'uiRouter', 'ngBootSwitch', 'ngFileUpload', 'uiBoo $scope.submitContract = function () { - $scope.goBottom(); - $scope.confirmForSubmit(); + $uibModal.open({ + backdrop:false, + templateUrl: '/static/payment/partner/templates/confirmForSubmit.html', + controller:'submitContractCtrl', + size: 'md', + }).result.then(function (result) { + if(result) + { + $scope.uploadSign(); + } + }) }; - $scope.confirmForSubmit = function () { - var Confirm = confirm("确认提交合同吗?") - if (Confirm) { - $scope.uploadSign(); - } - }; $scope.uploadSign = function () { var sign = $('#img1').attr('src'); + $scope.signInfo.fullName = document.getElementById("full_name").valueOf(); + if ($scope.signInfo.fullName != null && $scope.signInfo.fullName != "" && sign != null && sign != "") { + document.getElementById("waiting").src="static/css/img/loading_contract.gif" + $scope.gray(); var signFile = dataURLtoFile(sign, $scope.signInfo.fullName); $scope.logoProgress = {value: 0}; Upload.upload({ url: '/client/partner_info/clientCompliance/' + $scope.aggregateFileInfo.client_moniker +'/commit_aggregate_file', data: {file: signFile} }).then(function (resp) { + document.getElementById("waiting").src = ''; + document.getElementById('loading').style.display="none"; + document.getElementById('tip').style.display="none"; delete $scope.logoProgress; $state.go('basic.compliance_to_perfect'); window.open(resp.data.file_value,'_blank'); }, function (resp) { delete $scope.logoProgress; + document.getElementById("waiting").src = ''; + document.getElementById('loading').style.display="none"; + document.getElementById('tip').style.display="none"; commonDialog.alert({title: 'Commit Aggregate File Fail', content: resp.data.message, type: 'error'}) }, function (evt) { $scope.logoProgress.value = parseInt(100 * evt.loaded / evt.total); }) } else { - commonDialog.alert({title: 'Commit Fail', content: '请确认是否签名和已输入全名', type: 'error'}) + commonDialog.alert({title: 'Commit Fail', content: '请确认是否签名和已输入全名', type: 'error'}); } }; + $scope.gray=function(){ + $("#loading").css({ + "position":"absolute",    //绝对位置 + "display":"block",    //让对象成为块级元素 + + "background-color":"gray",  //背景灰色 + "z-index":"9999",  //最上层显示 + "opacity":"0.5"  //背景透明度 + }); + document.getElementById('tip').style.display=""; + } + function dataURLtoFile(dataurl, filename) {//将base64转换为文件 var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n); @@ -1756,5 +1781,16 @@ define(['angular', 'decimal', 'uiRouter', 'ngBootSwitch', 'ngFileUpload', 'uiBoo }]); - return app; + + + + app.controller('submitContractCtrl', ['$scope', '$http', function ($scope, $http) { + $scope.choice= false; + $scope.chooseYes = function () { + $scope.choice= true; + $scope.$close($scope.choice); + }; + }]); + + return app; }); diff --git a/src/main/ui/static/payment/partner/templates/compliance_files_advice.html b/src/main/ui/static/payment/partner/templates/compliance_files_advice.html index 70722c00c..839277d96 100644 --- a/src/main/ui/static/payment/partner/templates/compliance_files_advice.html +++ b/src/main/ui/static/payment/partner/templates/compliance_files_advice.html @@ -1,5 +1,5 @@